  Stabilizer codes are the most widely studied class of quantum
error-correcting codes and form the basis of most proposals for a
fault-tolerant quantum computer. A stabilizer code is defined by a set of
parity-check operators, which are measured in order to infer information about
errors that may have occurred. In typical settings, measuring these operators
is itself a noisy process and the noise strength scales with the number of
qubits involved in a given parity check, or its weight. Hastings proposed a
method for reducing the weights of the parity checks of a stabilizer code,
though it has previously only been studied in the asymptotic regime. Here, we
instead focus on the regime of small-to-medium size codes suitable for quantum
computing hardware. We provide both a fully explicit description of Hastings's
method and propose a substantially simplified weight reduction method that is
applicable to the class of quantum product codes. Our simplified method allows
us to reduce the check weights of hypergraph and lifted product codes to at
most six, while preserving the number of logical qubits and at least retaining
(in fact often increasing) the code distance. The price we pay is an increase
in the number of physical qubits by a constant factor, but we find that our
method is much more efficient than Hastings's method in this regard. We
benchmark the performance of our codes in a photonic quantum computing
architecture based on GKP qubits and passive linear optics, finding that our
weight reduction method substantially improves code performance.
