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
Marginal treats near-zero norm with exact equality · case 01
A register whose amplitudes are about 1e-8 is normalized into a confident distribution instead of reporting "zero-state".
Marginal treats near-zero norm with exact equality · case 02
A register whose amplitudes are about 1e-8 is normalized into a confident distribution instead of reporting "zero-state".
Marginal treats near-zero norm with exact equality · case 03
A register whose amplitudes are about 1e-8 is normalized into a confident distribution instead of reporting "zero-state".
Marginal treats near-zero norm with exact equality · case 04
A register whose amplitudes are about 1e-8 is normalized into a confident distribution instead of reporting "zero-state".
Marginal treats near-zero norm with exact equality · case 05
A register whose amplitudes are about 1e-8 is normalized into a confident distribution instead of reporting "zero-state".
Collapse outcome test drops parentheses around the bit extraction · case 01
Projecting qubit 1 onto outcome 1 reports "impossible" even when that qubit is certainly excited.
Collapse outcome test drops parentheses around the bit extraction · case 02
Projecting qubit 1 onto outcome 1 reports "impossible" even when that qubit is certainly excited.
Collapse outcome test drops parentheses around the bit extraction · case 03
Projecting qubit 1 onto outcome 1 reports "impossible" even when that qubit is certainly excited.
Collapse outcome test drops parentheses around the bit extraction · case 04
Projecting qubit 1 onto outcome 1 reports "impossible" even when that qubit is certainly excited.
Collapse outcome test drops parentheses around the bit extraction · case 05
Projecting qubit 1 onto outcome 1 reports "impossible" even when that qubit is certainly excited.
Collapse renormalizes by probability instead of its square root · case 01
After measuring |+> the post-measurement amplitude is 1.414 instead of 1.0.
Collapse renormalizes by probability instead of its square root · case 02
After measuring |+> the post-measurement amplitude is 1.414 instead of 1.0.
Collapse renormalizes by probability instead of its square root · case 03
After measuring |+> the post-measurement amplitude is 1.414 instead of 1.0.
Collapse renormalizes by probability instead of its square root · case 04
After measuring |+> the post-measurement amplitude is 1.414 instead of 1.0.
Collapse renormalizes by probability instead of its square root · case 05
After measuring |+> the post-measurement amplitude is 1.414 instead of 1.0.
Collapse reports unnormalized branch mass as probability · case 01
An input 2|00> + 2|11> reports probability 4 for outcome 0 of qubit 1.
Collapse reports unnormalized branch mass as probability · case 02
An input 2|00> + 2|11> reports probability 4 for outcome 0 of qubit 1.
Collapse reports unnormalized branch mass as probability · case 03
An input 2|00> + 2|11> reports probability 4 for outcome 0 of qubit 1.
Collapse reports unnormalized branch mass as probability · case 04
An input 2|00> + 2|11> reports probability 4 for outcome 0 of qubit 1.
Collapse reports unnormalized branch mass as probability · case 05
An input 2|00> + 2|11> reports probability 4 for outcome 0 of qubit 1.
Collapse judges impossibility on absolute rather than relative mass · case 01
A valid state stored with amplitudes around 1e-7 is reported as "impossible" although the outcome has probability 0.64.
Collapse judges impossibility on absolute rather than relative mass · case 02
A valid state stored with amplitudes around 1e-7 is reported as "impossible" although the outcome has probability 0.64.
Collapse judges impossibility on absolute rather than relative mass · case 03
A valid state stored with amplitudes around 1e-7 is reported as "impossible" although the outcome has probability 0.64.
Collapse judges impossibility on absolute rather than relative mass · case 04
A valid state stored with amplitudes around 1e-7 is reported as "impossible" although the outcome has probability 0.64.
Collapse judges impossibility on absolute rather than relative mass · case 05
A valid state stored with amplitudes around 1e-7 is reported as "impossible" although the outcome has probability 0.64.
Collapse keeps amplitudes of the unobserved branch · case 01
After observing 0 on |+> the returned state still has a 0.707 amplitude on |1>.
Collapse keeps amplitudes of the unobserved branch · case 02
After observing 0 on |+> the returned state still has a 0.707 amplitude on |1>.
Collapse keeps amplitudes of the unobserved branch · case 03
After observing 0 on |+> the returned state still has a 0.707 amplitude on |1>.
Collapse keeps amplitudes of the unobserved branch · case 04
After observing 0 on |+> the returned state still has a 0.707 amplitude on |1>.
Collapse keeps amplitudes of the unobserved branch · case 05
After observing 0 on |+> the returned state still has a 0.707 amplitude on |1>.
Pauli expectation maps the leftmost character to qubit 0 · case 01
<ZI> on |01> (qubit 0 excited) evaluates to -1 instead of +1.
Pauli expectation maps the leftmost character to qubit 0 · case 02
<ZI> on |01> (qubit 0 excited) evaluates to -1 instead of +1.
Pauli expectation maps the leftmost character to qubit 0 · case 03
<ZI> on |01> (qubit 0 excited) evaluates to -1 instead of +1.
Pauli expectation maps the leftmost character to qubit 0 · case 04
<ZI> on |01> (qubit 0 excited) evaluates to -1 instead of +1.
Pauli expectation maps the leftmost character to qubit 0 · case 05
<ZI> on |01> (qubit 0 excited) evaluates to -1 instead of +1.
Pauli expectation uses the conjugate Y phases · case 01
<Y> on the |+i> eigenstate evaluates to -1 instead of +1.
Pauli expectation uses the conjugate Y phases · case 02
<Y> on the |+i> eigenstate evaluates to -1 instead of +1.
Pauli expectation uses the conjugate Y phases · case 03
<Y> on the |+i> eigenstate evaluates to -1 instead of +1.
Pauli expectation uses the conjugate Y phases · case 04
<Y> on the |+i> eigenstate evaluates to -1 instead of +1.
Pauli expectation uses the conjugate Y phases · case 05
<Y> on the |+i> eigenstate evaluates to -1 instead of +1.
Pauli expectation omits complex conjugation of the bra · case 01
Complex states return expectations that differ from <psi|P|psi>, e.g. <X> on |+i> is nonzero.
Pauli expectation omits complex conjugation of the bra · case 02
Complex states return expectations that differ from <psi|P|psi>, e.g. <X> on |+i> is nonzero.
Pauli expectation omits complex conjugation of the bra · case 03
Complex states return expectations that differ from <psi|P|psi>, e.g. <X> on |+i> is nonzero.
Pauli expectation omits complex conjugation of the bra · case 04
Complex states return expectations that differ from <psi|P|psi>, e.g. <X> on |+i> is nonzero.
Pauli expectation omits complex conjugation of the bra · case 05
Complex states return expectations that differ from <psi|P|psi>, e.g. <X> on |+i> is nonzero.
Pauli expectation ignores the state norm · case 01
For 3|0> + 4|1>, <Z> is reported as -7 instead of -0.28.
Pauli expectation ignores the state norm · case 02
For 3|0> + 4|1>, <Z> is reported as -7 instead of -0.28.
Pauli expectation ignores the state norm · case 03
For 3|0> + 4|1>, <Z> is reported as -7 instead of -0.28.
Pauli expectation ignores the state norm · case 04
For 3|0> + 4|1>, <Z> is reported as -7 instead of -0.28.
Pauli expectation ignores the state norm · case 05
For 3|0> + 4|1>, <Z> is reported as -7 instead of -0.28.
Pauli expectation accepts strings shorter than the register · case 01
A one-character string on a two-qubit state returns a number instead of "length-mismatch".
Pauli expectation accepts strings shorter than the register · case 02
A one-character string on a two-qubit state returns a number instead of "length-mismatch".
Pauli expectation accepts strings shorter than the register · case 03
A one-character string on a two-qubit state returns a number instead of "length-mismatch".
Pauli expectation accepts strings shorter than the register · case 04
A one-character string on a two-qubit state returns a number instead of "length-mismatch".
Pauli expectation accepts strings shorter than the register · case 05
A one-character string on a two-qubit state returns a number instead of "length-mismatch".
Pauli expectation silently accepts lowercase letters as identity · case 01
The string "z" is evaluated as identity (+1) instead of being rejected as "bad-pauli".
Pauli expectation silently accepts lowercase letters as identity · case 02
The string "z" is evaluated as identity (+1) instead of being rejected as "bad-pauli".
Pauli expectation silently accepts lowercase letters as identity · case 03
The string "z" is evaluated as identity (+1) instead of being rejected as "bad-pauli".
Pauli expectation silently accepts lowercase letters as identity · case 04
The string "z" is evaluated as identity (+1) instead of being rejected as "bad-pauli".
Pauli expectation silently accepts lowercase letters as identity · case 05
The string "z" is evaluated as identity (+1) instead of being rejected as "bad-pauli".
Pauli product table gives XZ a +i phase · case 01
X*Z is reported as +iY instead of -iY, so commutation-derived signs are wrong.
Pauli product table gives XZ a +i phase · case 02
X*Z is reported as +iY instead of -iY, so commutation-derived signs are wrong.
Pauli product table gives XZ a +i phase · case 03
X*Z is reported as +iY instead of -iY, so commutation-derived signs are wrong.
Pauli product table gives XZ a +i phase · case 04
X*Z is reported as +iY instead of -iY, so commutation-derived signs are wrong.
Pauli product table gives XZ a +i phase · case 05
X*Z is reported as +iY instead of -iY, so commutation-derived signs are wrong.
Pauli product multiplies phase exponents · case 01
The product of iX and iZ is reported with phase exponent 1 instead of 2 plus the XZ contribution.
Pauli product multiplies phase exponents · case 02
The product of iX and iZ is reported with phase exponent 1 instead of 2 plus the XZ contribution.
Pauli product multiplies phase exponents · case 03
The product of iX and iZ is reported with phase exponent 1 instead of 2 plus the XZ contribution.
Pauli product multiplies phase exponents · case 04
The product of iX and iZ is reported with phase exponent 1 instead of 2 plus the XZ contribution.
Pauli product multiplies phase exponents · case 05
The product of iX and iZ is reported with phase exponent 1 instead of 2 plus the XZ contribution.
Pauli product keeps the letter when multiplying equal Paulis · case 01
Y*Y is reported as Y instead of the identity.
Pauli product keeps the letter when multiplying equal Paulis · case 02
Y*Y is reported as Y instead of the identity.
Pauli product keeps the letter when multiplying equal Paulis · case 03
Y*Y is reported as Y instead of the identity.
Pauli product keeps the letter when multiplying equal Paulis · case 04
Y*Y is reported as Y instead of the identity.
Pauli product keeps the letter when multiplying equal Paulis · case 05
Y*Y is reported as Y instead of the identity.
Pauli product multiplies the operands in reverse order · case 01
X*Y is reported as -iZ, the value of Y*X.
Pauli product multiplies the operands in reverse order · case 02
X*Y is reported as -iZ, the value of Y*X.
Pauli product multiplies the operands in reverse order · case 03
X*Y is reported as -iZ, the value of Y*X.
Pauli product multiplies the operands in reverse order · case 04
X*Y is reported as -iZ, the value of Y*X.
Pauli product multiplies the operands in reverse order · case 05
X*Y is reported as -iZ, the value of Y*X.
Pauli product reduces the phase with a single subtraction · case 01
Inputs with negative phase powers or several anticommuting positions return phase exponents outside 0..3.
Pauli product reduces the phase with a single subtraction · case 02
Inputs with negative phase powers or several anticommuting positions return phase exponents outside 0..3.
Pauli product reduces the phase with a single subtraction · case 03
Inputs with negative phase powers or several anticommuting positions return phase exponents outside 0..3.
Pauli product reduces the phase with a single subtraction · case 04
Inputs with negative phase powers or several anticommuting positions return phase exponents outside 0..3.
Pauli product reduces the phase with a single subtraction · case 05
Inputs with negative phase powers or several anticommuting positions return phase exponents outside 0..3.
Tableau Hadamard skips the Y sign flip · case 01
H S H on |0> reports stabilizer +Y instead of -Y.
Tableau Hadamard skips the Y sign flip · case 02
H S H on |0> reports stabilizer +Y instead of -Y.
Tableau Hadamard skips the Y sign flip · case 03
H S H on |0> reports stabilizer +Y instead of -Y.
Tableau Hadamard skips the Y sign flip · case 04
H S H on |0> reports stabilizer +Y instead of -Y.
Tableau Hadamard skips the Y sign flip · case 05
H S H on |0> reports stabilizer +Y instead of -Y.
Tableau S gate updates z before computing the sign · case 01
H followed by S on |0> reports the stabilizer -Y instead of +Y.
Tableau S gate updates z before computing the sign · case 02
H followed by S on |0> reports the stabilizer -Y instead of +Y.
Tableau S gate updates z before computing the sign · case 03
H followed by S on |0> reports the stabilizer -Y instead of +Y.
Tableau S gate updates z before computing the sign · case 04
H followed by S on |0> reports the stabilizer -Y instead of +Y.
Tableau S gate updates z before computing the sign · case 05
H followed by S on |0> reports the stabilizer -Y instead of +Y.
Tableau CNOT sign rule drops the constant term · case 01
The CNOT sign update fires for generators such as X_c Z_t that should keep their sign, and misses X_c Y_t style cases.
Tableau CNOT sign rule drops the constant term · case 02
The CNOT sign update fires for generators such as X_c Z_t that should keep their sign, and misses X_c Y_t style cases.
Tableau CNOT sign rule drops the constant term · case 03
The CNOT sign update fires for generators such as X_c Z_t that should keep their sign, and misses X_c Y_t style cases.
Tableau CNOT sign rule drops the constant term · case 04
The CNOT sign update fires for generators such as X_c Z_t that should keep their sign, and misses X_c Y_t style cases.
Tableau CNOT sign rule drops the constant term · case 05
The CNOT sign update fires for generators such as X_c Z_t that should keep their sign, and misses X_c Y_t style cases.
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 ↗