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
Bilinear mapping uses K = fs · case 01
The digital cutoff lands at about half the intended frequency.
Bilinear mapping uses K = fs · case 02
The digital cutoff lands at about half the intended frequency.
Bilinear mapping uses K = fs · case 03
The digital cutoff lands at about half the intended frequency.
Bilinear mapping uses K = fs · case 04
The digital cutoff lands at about half the intended frequency.
Bilinear mapping uses K = fs · case 05
The digital cutoff lands at about half the intended frequency.
Bilinear mapping flips the pole coefficient · case 01
The pole is mirrored to the other side of the z-plane, turning a lowpass into a resonance near Nyquist.
Bilinear mapping flips the pole coefficient · case 02
The pole is mirrored to the other side of the z-plane, turning a lowpass into a resonance near Nyquist.
Bilinear mapping flips the pole coefficient · case 03
The pole is mirrored to the other side of the z-plane, turning a lowpass into a resonance near Nyquist.
Bilinear mapping flips the pole coefficient · case 04
The pole is mirrored to the other side of the z-plane, turning a lowpass into a resonance near Nyquist.
Bilinear mapping flips the pole coefficient · case 05
The pole is mirrored to the other side of the z-plane, turning a lowpass into a resonance near Nyquist.
Bilinear highpass places its zero at Nyquist · case 01
The "highpass" blocks high frequencies and passes DC.
Bilinear highpass places its zero at Nyquist · case 02
The "highpass" blocks high frequencies and passes DC.
Bilinear highpass places its zero at Nyquist · case 03
The "highpass" blocks high frequencies and passes DC.
Bilinear highpass places its zero at Nyquist · case 04
The "highpass" blocks high frequencies and passes DC.
Bilinear highpass places its zero at Nyquist · case 05
The "highpass" blocks high frequencies and passes DC.
Bilinear lowpass numerator divided by K only · case 01
The DC gain is (K + wc)/K instead of 1.
Bilinear lowpass numerator divided by K only · case 02
The DC gain is (K + wc)/K instead of 1.
Bilinear lowpass numerator divided by K only · case 03
The DC gain is (K + wc)/K instead of 1.
Bilinear lowpass numerator divided by K only · case 04
The DC gain is (K + wc)/K instead of 1.
Bilinear lowpass numerator divided by K only · case 05
The DC gain is (K + wc)/K instead of 1.
Goertzel power adds the cross term · case 01
Bin powers are wildly high for bins whose states have the same sign.
Goertzel power adds the cross term · case 02
Bin powers are wildly high for bins whose states have the same sign.
Goertzel power adds the cross term · case 03
Bin powers are wildly high for bins whose states have the same sign.
Goertzel power adds the cross term · case 04
Bin powers are wildly high for bins whose states have the same sign.
Goertzel power adds the cross term · case 05
Bin powers are wildly high for bins whose states have the same sign.
Goertzel shifts s1 into s2 after overwriting it · case 01
Both states always hold the newest value and the recursion becomes first order.
Goertzel shifts s1 into s2 after overwriting it · case 02
Both states always hold the newest value and the recursion becomes first order.
Goertzel shifts s1 into s2 after overwriting it · case 03
Both states always hold the newest value and the recursion becomes first order.
Goertzel shifts s1 into s2 after overwriting it · case 04
Both states always hold the newest value and the recursion becomes first order.
Goertzel shifts s1 into s2 after overwriting it · case 05
Both states always hold the newest value and the recursion becomes first order.
Goertzel uses cos(w) as the resonator coefficient · case 01
The resonator is tuned to the wrong frequency and DC input does not accumulate linearly.
Goertzel uses cos(w) as the resonator coefficient · case 02
The resonator is tuned to the wrong frequency and DC input does not accumulate linearly.
Goertzel uses cos(w) as the resonator coefficient · case 03
The resonator is tuned to the wrong frequency and DC input does not accumulate linearly.
Goertzel uses cos(w) as the resonator coefficient · case 04
The resonator is tuned to the wrong frequency and DC input does not accumulate linearly.
Goertzel uses cos(w) as the resonator coefficient · case 05
The resonator is tuned to the wrong frequency and DC input does not accumulate linearly.
Goertzel normalizes the bin by N - 1 · case 01
Tones exactly on bin k leak and the reported power is too low.
Goertzel normalizes the bin by N - 1 · case 02
Tones exactly on bin k leak and the reported power is too low.
Goertzel normalizes the bin by N - 1 · case 03
Tones exactly on bin k leak and the reported power is too low.
Goertzel normalizes the bin by N - 1 · case 04
Tones exactly on bin k leak and the reported power is too low.
Goertzel normalizes the bin by N - 1 · case 05
Tones exactly on bin k leak and the reported power is too low.
Feedback comb stores the input in its delay line · case 01
The impulse response has a single echo instead of a decaying train.
Feedback comb stores the input in its delay line · case 02
The impulse response has a single echo instead of a decaying train.
Feedback comb stores the input in its delay line · case 03
The impulse response has a single echo instead of a decaying train.
Feedback comb stores the input in its delay line · case 04
The impulse response has a single echo instead of a decaying train.
Feedback comb stores the input in its delay line · case 05
The impulse response has a single echo instead of a decaying train.
Feedback comb reads the most recently written slot · case 01
Echoes arrive after one sample regardless of D.
Feedback comb reads the most recently written slot · case 02
Echoes arrive after one sample regardless of D.
Feedback comb reads the most recently written slot · case 03
Echoes arrive after one sample regardless of D.
Feedback comb reads the most recently written slot · case 04
Echoes arrive after one sample regardless of D.
Feedback comb reads the most recently written slot · case 05
Echoes arrive after one sample regardless of D.
Feedback comb accepts unit feedback gain · case 01
g = 1 is accepted, giving a non-decaying (marginally stable) resonator instead of "unstable".
Feedback comb accepts unit feedback gain · case 02
g = 1 is accepted, giving a non-decaying (marginally stable) resonator instead of "unstable".
Feedback comb accepts unit feedback gain · case 03
g = 1 is accepted, giving a non-decaying (marginally stable) resonator instead of "unstable".
Feedback comb accepts unit feedback gain · case 04
g = 1 is accepted, giving a non-decaying (marginally stable) resonator instead of "unstable".
Feedback comb accepts unit feedback gain · case 05
g = 1 is accepted, giving a non-decaying (marginally stable) resonator instead of "unstable".
DC blocker starts from a zero previous input · case 01
A constant input produces a decaying spike equal to the offset at start-up.
DC blocker starts from a zero previous input · case 02
A constant input produces a decaying spike equal to the offset at start-up.
DC blocker starts from a zero previous input · case 03
A constant input produces a decaying spike equal to the offset at start-up.
DC blocker starts from a zero previous input · case 04
A constant input produces a decaying spike equal to the offset at start-up.
DC blocker starts from a zero previous input · case 05
A constant input produces a decaying spike equal to the offset at start-up.
DC blocker subtracts the feedback term · case 01
The pole sits at -R, producing an alternating tail instead of a slow decay.
DC blocker subtracts the feedback term · case 02
The pole sits at -R, producing an alternating tail instead of a slow decay.
DC blocker subtracts the feedback term · case 03
The pole sits at -R, producing an alternating tail instead of a slow decay.
DC blocker subtracts the feedback term · case 04
The pole sits at -R, producing an alternating tail instead of a slow decay.
DC blocker subtracts the feedback term · case 05
The pole sits at -R, producing an alternating tail instead of a slow decay.
DC blocker never updates its output history · case 01
The feedback path is dead and the blocker becomes a plain first difference.
DC blocker never updates its output history · case 02
The feedback path is dead and the blocker becomes a plain first difference.
DC blocker never updates its output history · case 03
The feedback path is dead and the blocker becomes a plain first difference.
DC blocker never updates its output history · case 04
The feedback path is dead and the blocker becomes a plain first difference.
DC blocker never updates its output history · case 05
The feedback path is dead and the blocker becomes a plain first difference.
Impulse truncation counts quiet samples cumulatively · case 01
A response that dips below eps, rebounds and dips again is truncated while still ringing.
Impulse truncation counts quiet samples cumulatively · case 02
A response that dips below eps, rebounds and dips again is truncated while still ringing.
Impulse truncation counts quiet samples cumulatively · case 03
A response that dips below eps, rebounds and dips again is truncated while still ringing.
Impulse truncation counts quiet samples cumulatively · case 04
A response that dips below eps, rebounds and dips again is truncated while still ringing.
Impulse truncation counts quiet samples cumulatively · case 05
A response that dips below eps, rebounds and dips again is truncated while still ringing.
Impulse truncation treats any negative sample as quiet · case 01
An alternating response is cut at its first large negative sample.
Impulse truncation treats any negative sample as quiet · case 02
An alternating response is cut at its first large negative sample.
Impulse truncation treats any negative sample as quiet · case 03
An alternating response is cut at its first large negative sample.
Impulse truncation treats any negative sample as quiet · case 04
An alternating response is cut at its first large negative sample.
Impulse truncation treats any negative sample as quiet · case 05
An alternating response is cut at its first large negative sample.
Impulse truncation stops inside the numerator span · case 01
A numerator with internal zeros such as [1, 0, 0, 1] is truncated before its last tap takes effect.
Impulse truncation stops inside the numerator span · case 02
A numerator with internal zeros such as [1, 0, 0, 1] is truncated before its last tap takes effect.
Impulse truncation stops inside the numerator span · case 03
A numerator with internal zeros such as [1, 0, 0, 1] is truncated before its last tap takes effect.
Impulse truncation stops inside the numerator span · case 04
A numerator with internal zeros such as [1, 0, 0, 1] is truncated before its last tap takes effect.
Impulse truncation stops inside the numerator span · case 05
A numerator with internal zeros such as [1, 0, 0, 1] is truncated before its last tap takes effect.
Impulse truncation normalizes the denominator before the numerator · case 01
With a0 = 2 the numerator is never scaled and the response is twice too large.
Impulse truncation normalizes the denominator before the numerator · case 02
With a0 = 2 the numerator is never scaled and the response is twice too large.
Impulse truncation normalizes the denominator before the numerator · case 03
With a0 = 2 the numerator is never scaled and the response is twice too large.
Impulse truncation normalizes the denominator before the numerator · case 04
With a0 = 2 the numerator is never scaled and the response is twice too large.
Impulse truncation normalizes the denominator before the numerator · case 05
With a0 = 2 the numerator is never scaled and the response is twice too large.
Q15 FIR shifts each product before accumulating · case 01
Many small products each truncate to zero or -1, biasing the output.
Q15 FIR shifts each product before accumulating · case 02
Many small products each truncate to zero or -1, biasing the output.
Q15 FIR shifts each product before accumulating · case 03
Many small products each truncate to zero or -1, biasing the output.
Q15 FIR shifts each product before accumulating · case 04
Many small products each truncate to zero or -1, biasing the output.
Q15 FIR shifts each product before accumulating · case 05
Many small products each truncate to zero or -1, biasing the output.
Q15 FIR clips negative overflow without counting it · case 01
A negative full-scale burst reports zero saturations.
Q15 FIR clips negative overflow without counting it · case 02
A negative full-scale burst reports zero saturations.
Q15 FIR clips negative overflow without counting it · case 03
A negative full-scale burst reports zero saturations.
Q15 FIR clips negative overflow without counting it · case 04
A negative full-scale burst reports zero saturations.
Q15 FIR clips negative overflow without counting it · case 05
A negative full-scale burst reports zero saturations.
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 ↗