  We reduce the extra qubits needed for two fault-tolerant quantum computing
protocols: error correction, specifically syndrome bit measurement, and cat
state preparation. For distance-three fault-tolerant syndrome extraction, we
show an exponential reduction in qubit overhead over the previous best
protocol. For a weight-$w$ stabilizer, we demonstrate that stabilizer
measurement tolerating one fault needs at most $\lceil \log_2 w \rceil + 1$
ancilla qubits. If qubits reset quickly, four ancillas suffice. We also study
the preparation of entangled cat states, and prove that the overhead for
distance-three fault tolerance is logarithmic in the cat state size. These
results apply both to near-term experiments with a few qubits, and to the
general study of the asymptotic resource requirements of syndrome measurement
and state preparation.
  With $a$ flag qubits, previous methods use $O(a)$ flag patterns to identify
faults. In order to use the same flag qubits more efficiently, we show how to
use nearly all $2^a$ possible flag patterns, by constructing maximal-length
paths through the $a$-dimensional hypercube.
