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
Windowed sinc ignores the cutoff in the sinc argument · case 01
All cutoffs yield the same (full-band) impulse shape.
Windowed sinc ignores the cutoff in the sinc argument · case 02
All cutoffs yield the same (full-band) impulse shape.
Windowed sinc ignores the cutoff in the sinc argument · case 03
All cutoffs yield the same (full-band) impulse shape.
Windowed sinc ignores the cutoff in the sinc argument · case 04
All cutoffs yield the same (full-band) impulse shape.
Windowed sinc ignores the cutoff in the sinc argument · case 05
All cutoffs yield the same (full-band) impulse shape.
Windowed sinc uses an N-periodic window · case 01
Window end points are not zero-tapered symmetrically; the filter is slightly asymmetric.
Windowed sinc uses an N-periodic window · case 02
Window end points are not zero-tapered symmetrically; the filter is slightly asymmetric.
Windowed sinc uses an N-periodic window · case 03
Window end points are not zero-tapered symmetrically; the filter is slightly asymmetric.
Windowed sinc uses an N-periodic window · case 04
Window end points are not zero-tapered symmetrically; the filter is slightly asymmetric.
Windowed sinc uses an N-periodic window · case 05
Window end points are not zero-tapered symmetrically; the filter is slightly asymmetric.
Windowed sinc normalizes the peak tap to one · case 01
The DC gain is far above unity for long filters.
Windowed sinc normalizes the peak tap to one · case 02
The DC gain is far above unity for long filters.
Windowed sinc normalizes the peak tap to one · case 03
The DC gain is far above unity for long filters.
Windowed sinc normalizes the peak tap to one · case 04
The DC gain is far above unity for long filters.
Windowed sinc normalizes the peak tap to one · case 05
The DC gain is far above unity for long filters.
Frequency response treats Nyquist-relative input as sample-rate-relative · case 01
f = 1/2 (half Nyquist) is evaluated at Nyquist.
Frequency response treats Nyquist-relative input as sample-rate-relative · case 02
f = 1/2 (half Nyquist) is evaluated at Nyquist.
Frequency response treats Nyquist-relative input as sample-rate-relative · case 03
f = 1/2 (half Nyquist) is evaluated at Nyquist.
Frequency response treats Nyquist-relative input as sample-rate-relative · case 04
f = 1/2 (half Nyquist) is evaluated at Nyquist.
Frequency response treats Nyquist-relative input as sample-rate-relative · case 05
f = 1/2 (half Nyquist) is evaluated at Nyquist.
Frequency response reports magnitude with the power decibel factor · case 01
A gain of 2 is reported as 3.01 dB instead of 6.02 dB.
Frequency response reports magnitude with the power decibel factor · case 02
A gain of 2 is reported as 3.01 dB instead of 6.02 dB.
Frequency response reports magnitude with the power decibel factor · case 03
A gain of 2 is reported as 3.01 dB instead of 6.02 dB.
Frequency response reports magnitude with the power decibel factor · case 04
A gain of 2 is reported as 3.01 dB instead of 6.02 dB.
Frequency response reports magnitude with the power decibel factor · case 05
A gain of 2 is reported as 3.01 dB instead of 6.02 dB.
Frequency response evaluates z^-k as e^{+jwk} · case 01
Magnitudes are right but every phase has the opposite sign; a pure delay shows phase lead.
Frequency response evaluates z^-k as e^{+jwk} · case 02
Magnitudes are right but every phase has the opposite sign; a pure delay shows phase lead.
Frequency response evaluates z^-k as e^{+jwk} · case 03
Magnitudes are right but every phase has the opposite sign; a pure delay shows phase lead.
Frequency response evaluates z^-k as e^{+jwk} · case 04
Magnitudes are right but every phase has the opposite sign; a pure delay shows phase lead.
Frequency response evaluates z^-k as e^{+jwk} · case 05
Magnitudes are right but every phase has the opposite sign; a pure delay shows phase lead.
Frequency response only reports exact zeros · case 01
A notch that evaluates to 1e-16 due to rounding is reported as about -320 dB with a random phase.
Frequency response only reports exact zeros · case 02
A notch that evaluates to 1e-16 due to rounding is reported as about -320 dB with a random phase.
Frequency response only reports exact zeros · case 03
A notch that evaluates to 1e-16 due to rounding is reported as about -320 dB with a random phase.
Frequency response only reports exact zeros · case 04
A notch that evaluates to 1e-16 due to rounding is reported as about -320 dB with a random phase.
Frequency response only reports exact zeros · case 05
A notch that evaluates to 1e-16 due to rounding is reported as about -320 dB with a random phase.
Polyphase decimator feeds branch p with samples ahead in time · case 01
The output uses future samples x[mD + p], a non-causal and wrongly aligned result.
Polyphase decimator feeds branch p with samples ahead in time · case 02
The output uses future samples x[mD + p], a non-causal and wrongly aligned result.
Polyphase decimator feeds branch p with samples ahead in time · case 03
The output uses future samples x[mD + p], a non-causal and wrongly aligned result.
Polyphase decimator feeds branch p with samples ahead in time · case 04
The output uses future samples x[mD + p], a non-causal and wrongly aligned result.
Polyphase decimator feeds branch p with samples ahead in time · case 05
The output uses future samples x[mD + p], a non-causal and wrongly aligned result.
Polyphase decimator splits the filter into contiguous blocks · case 01
Long filters produce outputs that do not match filter-then-downsample.
Polyphase decimator splits the filter into contiguous blocks · case 02
Long filters produce outputs that do not match filter-then-downsample.
Polyphase decimator splits the filter into contiguous blocks · case 03
Long filters produce outputs that do not match filter-then-downsample.
Polyphase decimator splits the filter into contiguous blocks · case 04
Long filters produce outputs that do not match filter-then-downsample.
Polyphase decimator splits the filter into contiguous blocks · case 05
Long filters produce outputs that do not match filter-then-downsample.
Polyphase decimator drops the last partial output · case 01
For a length not divisible by D the final output sample is missing.
Polyphase decimator drops the last partial output · case 02
For a length not divisible by D the final output sample is missing.
Polyphase decimator drops the last partial output · case 03
For a length not divisible by D the final output sample is missing.
Polyphase decimator drops the last partial output · case 04
For a length not divisible by D the final output sample is missing.
Polyphase decimator drops the last partial output · case 05
For a length not divisible by D the final output sample is missing.
Polyphase decimator reads negative indices from the end of the signal · case 01
Early outputs pick up samples from the tail of the buffer.
Polyphase decimator reads negative indices from the end of the signal · case 02
Early outputs pick up samples from the tail of the buffer.
Polyphase decimator reads negative indices from the end of the signal · case 03
Early outputs pick up samples from the tail of the buffer.
Polyphase decimator reads negative indices from the end of the signal · case 04
Early outputs pick up samples from the tail of the buffer.
Polyphase decimator reads negative indices from the end of the signal · case 05
Early outputs pick up samples from the tail of the buffer.
Polyphase interpolator omits the L gain · case 01
The interpolated signal is L times too quiet because zero-stuffing removed energy.
Polyphase interpolator omits the L gain · case 02
The interpolated signal is L times too quiet because zero-stuffing removed energy.
Polyphase interpolator omits the L gain · case 03
The interpolated signal is L times too quiet because zero-stuffing removed energy.
Polyphase interpolator omits the L gain · case 04
The interpolated signal is L times too quiet because zero-stuffing removed energy.
Polyphase interpolator omits the L gain · case 05
The interpolated signal is L times too quiet because zero-stuffing removed energy.
Polyphase interpolator reads wrapped input history · case 01
The first outputs include contributions from the last input samples.
Polyphase interpolator reads wrapped input history · case 02
The first outputs include contributions from the last input samples.
Polyphase interpolator reads wrapped input history · case 03
The first outputs include contributions from the last input samples.
Polyphase interpolator reads wrapped input history · case 04
The first outputs include contributions from the last input samples.
Polyphase interpolator reads wrapped input history · case 05
The first outputs include contributions from the last input samples.
Polyphase interpolator drops trailing taps of shorter phases · case 01
When the filter length is not a multiple of L the last taps are never applied.
Polyphase interpolator drops trailing taps of shorter phases · case 02
When the filter length is not a multiple of L the last taps are never applied.
Polyphase interpolator drops trailing taps of shorter phases · case 03
When the filter length is not a multiple of L the last taps are never applied.
Polyphase interpolator drops trailing taps of shorter phases · case 04
When the filter length is not a multiple of L the last taps are never applied.
Polyphase interpolator drops trailing taps of shorter phases · case 05
When the filter length is not a multiple of L the last taps are never applied.
Stability test omits the offending reflection coefficient · case 01
An unstable first-order denominator reports an empty reflection list, hiding which stage failed.
Stability test omits the offending reflection coefficient · case 02
An unstable first-order denominator reports an empty reflection list, hiding which stage failed.
Stability test omits the offending reflection coefficient · case 03
An unstable first-order denominator reports an empty reflection list, hiding which stage failed.
Stability test omits the offending reflection coefficient · case 04
An unstable first-order denominator reports an empty reflection list, hiding which stage failed.
Stability test omits the offending reflection coefficient · case 05
An unstable first-order denominator reports an empty reflection list, hiding which stage failed.
Stability step-down pairs coefficients with themselves · case 01
Higher-order denominators get wrong reflection coefficients after the first step.
Stability step-down pairs coefficients with themselves · case 02
Higher-order denominators get wrong reflection coefficients after the first step.
Stability step-down pairs coefficients with themselves · case 03
Higher-order denominators get wrong reflection coefficients after the first step.
Stability step-down pairs coefficients with themselves · case 04
Higher-order denominators get wrong reflection coefficients after the first step.
Stability step-down pairs coefficients with themselves · case 05
Higher-order denominators get wrong reflection coefficients after the first step.
Stability step-down divides by 1 - k · case 01
Reflection coefficients after the first step are mis-scaled and stability verdicts flip.
Stability step-down divides by 1 - k · case 02
Reflection coefficients after the first step are mis-scaled and stability verdicts flip.
Stability step-down divides by 1 - k · case 03
Reflection coefficients after the first step are mis-scaled and stability verdicts flip.
Stability step-down divides by 1 - k · case 04
Reflection coefficients after the first step are mis-scaled and stability verdicts flip.
Stability step-down divides by 1 - k · case 05
Reflection coefficients after the first step are mis-scaled and stability verdicts flip.
Stability test skips normalization by a0 · case 01
A denominator with a0 = 2 reports reflection coefficients twice too large and false instability.
Stability test skips normalization by a0 · case 02
A denominator with a0 = 2 reports reflection coefficients twice too large and false instability.
Stability test skips normalization by a0 · case 03
A denominator with a0 = 2 reports reflection coefficients twice too large and false instability.
Stability test skips normalization by a0 · case 04
A denominator with a0 = 2 reports reflection coefficients twice too large and false instability.
Stability test skips normalization by a0 · case 05
A denominator with a0 = 2 reports reflection coefficients twice too large and false instability.
Stability test reports reflection coefficients for zero-padded orders · case 01
A padded denominator [1, 1/2, 0] reports an extra reflection coefficient 0.
Stability test reports reflection coefficients for zero-padded orders · case 02
A padded denominator [1, 1/2, 0] reports an extra reflection coefficient 0.
Stability test reports reflection coefficients for zero-padded orders · case 03
A padded denominator [1, 1/2, 0] reports an extra reflection coefficient 0.
Stability test reports reflection coefficients for zero-padded orders · case 04
A padded denominator [1, 1/2, 0] reports an extra reflection coefficient 0.
Stability test reports reflection coefficients for zero-padded orders · case 05
A padded denominator [1, 1/2, 0] reports an extra reflection coefficient 0.
Coefficient quantizer rounds ties to even · case 01
0.125 at two fractional bits quantizes to code 0 instead of 1 (half away from zero).
Coefficient quantizer rounds ties to even · case 02
0.125 at two fractional bits quantizes to code 0 instead of 1 (half away from zero).
Coefficient quantizer rounds ties to even · case 03
0.125 at two fractional bits quantizes to code 0 instead of 1 (half away from zero).
Coefficient quantizer rounds ties to even · case 04
0.125 at two fractional bits quantizes to code 0 instead of 1 (half away from zero).
Coefficient quantizer rounds ties to even · case 05
0.125 at two fractional bits quantizes to code 0 instead of 1 (half away from zero).
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 ↗