Understand the failure.
Verify the repair.
Small, reproducible software failures. The broken implementation, the fix that didn’t work, and the one that passed—preserved together.
Explore the cases ↓How results are verified ↗WHAT THE ARCHIVE CONTAINS
100840 executable cases. 20168 are open.
Every case records the implementation that fails, the fix that did not work, and the repair that passed its checks—with recorded outputs and source hashes. This release adds 100840 cases across 20168 failure mechanisms and 254 domains.
The open tier gives you the failure and the unsuccessful fix for one case in every mechanism. The remaining 80672 cases, 5 variants per mechanism, are member-only: the verified repair, its recorded checks, and the full fixture suite are held in the member archive. Read the methodology ↗
A RECORD OF WHAT WENT WRONG
Browse the archive / 100840
Register expansion accepts index equal to register size · case 01
h q[2] on a two-qubit register maps to the first qubit of the next register (or a phantom qubit).
Register expansion accepts index equal to register size · case 02
h q[2] on a two-qubit register maps to the first qubit of the next register (or a phantom qubit).
Register expansion accepts index equal to register size · case 03
h q[2] on a two-qubit register maps to the first qubit of the next register (or a phantom qubit).
Register expansion accepts index equal to register size · case 04
h q[2] on a two-qubit register maps to the first qubit of the next register (or a phantom qubit).
Register expansion accepts index equal to register size · case 05
h q[2] on a two-qubit register maps to the first qubit of the next register (or a phantom qubit).
Register expansion truncates mismatched measure broadcasts · case 01
measure q -> c with three qubits and two clbits silently drops the last qubit.
Register expansion truncates mismatched measure broadcasts · case 02
measure q -> c with three qubits and two clbits silently drops the last qubit.
Register expansion truncates mismatched measure broadcasts · case 03
measure q -> c with three qubits and two clbits silently drops the last qubit.
Register expansion truncates mismatched measure broadcasts · case 04
measure q -> c with three qubits and two clbits silently drops the last qubit.
Register expansion truncates mismatched measure broadcasts · case 05
measure q -> c with three qubits and two clbits silently drops the last qubit.
Register expansion resolves measure targets among quantum registers · case 01
measure q[0] -> c[0] reports "unknown-register" for the creg c.
Register expansion resolves measure targets among quantum registers · case 02
measure q[0] -> c[0] reports "unknown-register" for the creg c.
Register expansion resolves measure targets among quantum registers · case 03
measure q[0] -> c[0] reports "unknown-register" for the creg c.
Register expansion resolves measure targets among quantum registers · case 04
measure q[0] -> c[0] reports "unknown-register" for the creg c.
Register expansion resolves measure targets among quantum registers · case 05
measure q[0] -> c[0] reports "unknown-register" for the creg c.
Register expansion takes broadcast width from the first operand · case 01
cx q[0],r with a three-qubit r emits one CNOT instead of three.
Register expansion takes broadcast width from the first operand · case 02
cx q[0],r with a three-qubit r emits one CNOT instead of three.
Register expansion takes broadcast width from the first operand · case 03
cx q[0],r with a three-qubit r emits one CNOT instead of three.
Register expansion takes broadcast width from the first operand · case 04
cx q[0],r with a three-qubit r emits one CNOT instead of three.
Register expansion takes broadcast width from the first operand · case 05
cx q[0],r with a three-qubit r emits one CNOT instead of three.
T-count charges identity rotations as Clifford gates · case 01
rz(0) and rz(2pi) each add one Clifford.
T-count charges identity rotations as Clifford gates · case 02
rz(0) and rz(2pi) each add one Clifford.
T-count charges identity rotations as Clifford gates · case 03
rz(0) and rz(2pi) each add one Clifford.
T-count charges identity rotations as Clifford gates · case 04
rz(0) and rz(2pi) each add one Clifford.
T-count charges identity rotations as Clifford gates · case 05
rz(0) and rz(2pi) each add one Clifford.
T-count tests the quarter-turn class before the half-turn class · case 01
rz(pi/2), an S gate, is counted as a T gate.
T-count tests the quarter-turn class before the half-turn class · case 02
rz(pi/2), an S gate, is counted as a T gate.
T-count tests the quarter-turn class before the half-turn class · case 03
rz(pi/2), an S gate, is counted as a T gate.
T-count tests the quarter-turn class before the half-turn class · case 04
rz(pi/2), an S gate, is counted as a T gate.
T-count tests the quarter-turn class before the half-turn class · case 05
rz(pi/2), an S gate, is counted as a T gate.
T-count does not recognize T-dagger · case 01
A circuit containing tdg is rejected as ["unknown-gate", i].
T-count does not recognize T-dagger · case 02
A circuit containing tdg is rejected as ["unknown-gate", i].
T-count does not recognize T-dagger · case 03
A circuit containing tdg is rejected as ["unknown-gate", i].
T-count does not recognize T-dagger · case 04
A circuit containing tdg is rejected as ["unknown-gate", i].
T-count does not recognize T-dagger · case 05
A circuit containing tdg is rejected as ["unknown-gate", i].
T-count classifies rotation angles without reducing modulo 2 · case 01
rz(4pi) counts as a Clifford gate instead of being skipped.
T-count classifies rotation angles without reducing modulo 2 · case 02
rz(4pi) counts as a Clifford gate instead of being skipped.
T-count classifies rotation angles without reducing modulo 2 · case 03
rz(4pi) counts as a Clifford gate instead of being skipped.
T-count classifies rotation angles without reducing modulo 2 · case 04
rz(4pi) counts as a Clifford gate instead of being skipped.
T-count classifies rotation angles without reducing modulo 2 · case 05
rz(4pi) counts as a Clifford gate instead of being skipped.
Streaming FIR clears its delay line at every block · case 01
Outputs at the start of each block ignore samples from the previous block, producing edge glitches.
Streaming FIR clears its delay line at every block · case 02
Outputs at the start of each block ignore samples from the previous block, producing edge glitches.
Streaming FIR clears its delay line at every block · case 03
Outputs at the start of each block ignore samples from the previous block, producing edge glitches.
Streaming FIR clears its delay line at every block · case 04
Outputs at the start of each block ignore samples from the previous block, producing edge glitches.
Streaming FIR clears its delay line at every block · case 05
Outputs at the start of each block ignore samples from the previous block, producing edge glitches.
Streaming FIR shifts the old history instead of the new sample · case 01
Every output equals taps[0] times the current sample; past samples never enter the delay line.
Streaming FIR shifts the old history instead of the new sample · case 02
Every output equals taps[0] times the current sample; past samples never enter the delay line.
Streaming FIR shifts the old history instead of the new sample · case 03
Every output equals taps[0] times the current sample; past samples never enter the delay line.
Streaming FIR shifts the old history instead of the new sample · case 04
Every output equals taps[0] times the current sample; past samples never enter the delay line.
Streaming FIR shifts the old history instead of the new sample · case 05
Every output equals taps[0] times the current sample; past samples never enter the delay line.
Streaming FIR correlates instead of convolving · case 01
An asymmetric impulse response comes out time-reversed.
Streaming FIR correlates instead of convolving · case 02
An asymmetric impulse response comes out time-reversed.
Streaming FIR correlates instead of convolving · case 03
An asymmetric impulse response comes out time-reversed.
Streaming FIR correlates instead of convolving · case 04
An asymmetric impulse response comes out time-reversed.
Streaming FIR correlates instead of convolving · case 05
An asymmetric impulse response comes out time-reversed.
Biquad adds the feedback terms · case 01
A filter specified with a1 = -1/2 (a decaying pole at +1/2) produces an alternating impulse response.
Biquad adds the feedback terms · case 02
A filter specified with a1 = -1/2 (a decaying pole at +1/2) produces an alternating impulse response.
Biquad adds the feedback terms · case 03
A filter specified with a1 = -1/2 (a decaying pole at +1/2) produces an alternating impulse response.
Biquad adds the feedback terms · case 04
A filter specified with a1 = -1/2 (a decaying pole at +1/2) produces an alternating impulse response.
Biquad adds the feedback terms · case 05
A filter specified with a1 = -1/2 (a decaying pole at +1/2) produces an alternating impulse response.
Biquad overwrites x[n-1] before moving it to x[n-2] · case 01
The x[n-2] tap always equals x[n-1], so b2 acts on the wrong sample.
Biquad overwrites x[n-1] before moving it to x[n-2] · case 02
The x[n-2] tap always equals x[n-1], so b2 acts on the wrong sample.
Biquad overwrites x[n-1] before moving it to x[n-2] · case 03
The x[n-2] tap always equals x[n-1], so b2 acts on the wrong sample.
Biquad overwrites x[n-1] before moving it to x[n-2] · case 04
The x[n-2] tap always equals x[n-1], so b2 acts on the wrong sample.
Biquad overwrites x[n-1] before moving it to x[n-2] · case 05
The x[n-2] tap always equals x[n-1], so b2 acts on the wrong sample.
Biquad normalizes feedforward but not feedback by a0 · case 01
With a0 = 2 the poles are twice as strong as specified and the filter can blow up.
Biquad normalizes feedforward but not feedback by a0 · case 02
With a0 = 2 the poles are twice as strong as specified and the filter can blow up.
Biquad normalizes feedforward but not feedback by a0 · case 03
With a0 = 2 the poles are twice as strong as specified and the filter can blow up.
Biquad normalizes feedforward but not feedback by a0 · case 04
With a0 = 2 the poles are twice as strong as specified and the filter can blow up.
Biquad normalizes feedforward but not feedback by a0 · case 05
With a0 = 2 the poles are twice as strong as specified and the filter can blow up.
Biquad stores the new output in y[n-2] · case 01
A pure second-order feedback filter never feels its a2 term correctly and the impulse response rings at the wrong rate.
Biquad stores the new output in y[n-2] · case 02
A pure second-order feedback filter never feels its a2 term correctly and the impulse response rings at the wrong rate.
Biquad stores the new output in y[n-2] · case 03
A pure second-order feedback filter never feels its a2 term correctly and the impulse response rings at the wrong rate.
Biquad stores the new output in y[n-2] · case 04
A pure second-order feedback filter never feels its a2 term correctly and the impulse response rings at the wrong rate.
Biquad stores the new output in y[n-2] · case 05
A pure second-order feedback filter never feels its a2 term correctly and the impulse response rings at the wrong rate.
Transposed DF-II updates s2 before s1 consumes it · case 01
The impulse response loses its two-sample memory: s1 uses the freshly computed s2 from the same sample.
Transposed DF-II updates s2 before s1 consumes it · case 02
The impulse response loses its two-sample memory: s1 uses the freshly computed s2 from the same sample.
Transposed DF-II updates s2 before s1 consumes it · case 03
The impulse response loses its two-sample memory: s1 uses the freshly computed s2 from the same sample.
Transposed DF-II updates s2 before s1 consumes it · case 04
The impulse response loses its two-sample memory: s1 uses the freshly computed s2 from the same sample.
Transposed DF-II updates s2 before s1 consumes it · case 05
The impulse response loses its two-sample memory: s1 uses the freshly computed s2 from the same sample.
Transposed DF-II reads the output from the second state · case 01
The first output sample skips b1 contributions and the response is delayed by a sample.
Transposed DF-II reads the output from the second state · case 02
The first output sample skips b1 contributions and the response is delayed by a sample.
Transposed DF-II reads the output from the second state · case 03
The first output sample skips b1 contributions and the response is delayed by a sample.
Transposed DF-II reads the output from the second state · case 04
The first output sample skips b1 contributions and the response is delayed by a sample.
Transposed DF-II reads the output from the second state · case 05
The first output sample skips b1 contributions and the response is delayed by a sample.
Transposed DF-II adds a2 feedback in the second state · case 01
Second-order feedback has the wrong sign, e.g. a stable resonance diverges.
Transposed DF-II adds a2 feedback in the second state · case 02
Second-order feedback has the wrong sign, e.g. a stable resonance diverges.
Transposed DF-II adds a2 feedback in the second state · case 03
Second-order feedback has the wrong sign, e.g. a stable resonance diverges.
Transposed DF-II adds a2 feedback in the second state · case 04
Second-order feedback has the wrong sign, e.g. a stable resonance diverges.
Transposed DF-II adds a2 feedback in the second state · case 05
Second-order feedback has the wrong sign, e.g. a stable resonance diverges.
Steady-state priming forgets the b0 feedthrough in s1 · case 01
A primed lowpass fed a constant still shows a transient on its first sample.
Steady-state priming forgets the b0 feedthrough in s1 · case 02
A primed lowpass fed a constant still shows a transient on its first sample.
Steady-state priming forgets the b0 feedthrough in s1 · case 03
A primed lowpass fed a constant still shows a transient on its first sample.
Steady-state priming forgets the b0 feedthrough in s1 · case 04
A primed lowpass fed a constant still shows a transient on its first sample.
Steady-state priming forgets the b0 feedthrough in s1 · case 05
A primed lowpass fed a constant still shows a transient on its first sample.
Steady-state priming omits the leading 1 of the denominator · case 01
Primed outputs start at the wrong level and then settle, a visible start-up step.
Steady-state priming omits the leading 1 of the denominator · case 02
Primed outputs start at the wrong level and then settle, a visible start-up step.
Steady-state priming omits the leading 1 of the denominator · case 03
Primed outputs start at the wrong level and then settle, a visible start-up step.
Steady-state priming omits the leading 1 of the denominator · case 04
Primed outputs start at the wrong level and then settle, a visible start-up step.
Steady-state priming omits the leading 1 of the denominator · case 05
Primed outputs start at the wrong level and then settle, a visible start-up step.
INSPECTABLE BY DESIGN
Every result has a runnable source.
Runnable implementations with recorded outputs, source hashes, and explicit contracts. Related variants share a failure mechanism and belong together in evaluation splits.
Read the methodology ↗