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
Zero numerator or denominator accepted · case 01
"5/0" raises a division error and "0/1" is priced at 1.00.
Zero numerator or denominator accepted · case 02
"5/0" raises a division error and "0/1" is priced at 1.00.
Zero numerator or denominator accepted · case 03
"5/0" raises a division error and "0/1" is priced at 1.00.
Zero numerator or denominator accepted · case 04
"5/0" raises a division error and "0/1" is priced at 1.00.
Zero numerator or denominator accepted · case 05
"5/0" raises a division error and "0/1" is priced at 1.00.
Fractional-to-decimal conversion rounds half-cents down · case 01
"1/8" is shown as 1.12 instead of 1.13.
Fractional-to-decimal conversion rounds half-cents down · case 02
"1/8" is shown as 1.12 instead of 1.13.
Fractional-to-decimal conversion rounds half-cents down · case 03
"1/8" is shown as 1.12 instead of 1.13.
Fractional-to-decimal conversion rounds half-cents down · case 04
"1/8" is shown as 1.12 instead of 1.13.
Fractional-to-decimal conversion rounds half-cents down · case 05
"1/8" is shown as 1.12 instead of 1.13.
Bookmaker margin reported as the overround · case 01
The margin column repeats the overround (4.71 instead of 4.50 for 1.91/1.91).
Bookmaker margin reported as the overround · case 02
The margin column repeats the overround (4.71 instead of 4.50 for 1.91/1.91).
Bookmaker margin reported as the overround · case 03
The margin column repeats the overround (4.71 instead of 4.50 for 1.91/1.91).
Bookmaker margin reported as the overround · case 04
The margin column repeats the overround (4.71 instead of 4.50 for 1.91/1.91).
Bookmaker margin reported as the overround · case 05
The margin column repeats the overround (4.71 instead of 4.50 for 1.91/1.91).
Fair prices shortened instead of lengthened · case 01
No-vig prices come out shorter than the quoted prices.
Fair prices shortened instead of lengthened · case 02
No-vig prices come out shorter than the quoted prices.
Fair prices shortened instead of lengthened · case 03
No-vig prices come out shorter than the quoted prices.
Fair prices shortened instead of lengthened · case 04
No-vig prices come out shorter than the quoted prices.
Fair prices shortened instead of lengthened · case 05
No-vig prices come out shorter than the quoted prices.
Implied probabilities taken from display-rounded prices · case 01
Book totals drift because prices are rounded to one decimal before inverting.
Implied probabilities taken from display-rounded prices · case 02
Book totals drift because prices are rounded to one decimal before inverting.
Implied probabilities taken from display-rounded prices · case 03
Book totals drift because prices are rounded to one decimal before inverting.
Implied probabilities taken from display-rounded prices · case 04
Book totals drift because prices are rounded to one decimal before inverting.
Implied probabilities taken from display-rounded prices · case 05
Book totals drift because prices are rounded to one decimal before inverting.
Negative overround formatted with floor-division digits · case 01
An under-round book shows "-1.99" style garbage instead of "-0.01".
Negative overround formatted with floor-division digits · case 02
An under-round book shows "-1.99" style garbage instead of "-0.01".
Negative overround formatted with floor-division digits · case 03
An under-round book shows "-1.99" style garbage instead of "-0.01".
Negative overround formatted with floor-division digits · case 04
An under-round book shows "-1.99" style garbage instead of "-0.01".
Negative overround formatted with floor-division digits · case 05
An under-round book shows "-1.99" style garbage instead of "-0.01".
Additive method subtracts the whole overround from every outcome · case 01
Additive fair probabilities sum to well below one.
Additive method subtracts the whole overround from every outcome · case 02
Additive fair probabilities sum to well below one.
Additive method subtracts the whole overround from every outcome · case 03
Additive fair probabilities sum to well below one.
Additive method subtracts the whole overround from every outcome · case 04
Additive fair probabilities sum to well below one.
Additive method subtracts the whole overround from every outcome · case 05
Additive fair probabilities sum to well below one.
Power-method bisection moves the wrong bracket end · case 01
The power exponent converges to 1 or 10 and the fair probabilities do not sum to one.
Power-method bisection moves the wrong bracket end · case 02
The power exponent converges to 1 or 10 and the fair probabilities do not sum to one.
Power-method bisection moves the wrong bracket end · case 03
The power exponent converges to 1 or 10 and the fair probabilities do not sum to one.
Power-method bisection moves the wrong bracket end · case 04
The power exponent converges to 1 or 10 and the fair probabilities do not sum to one.
Power-method bisection moves the wrong bracket end · case 05
The power exponent converges to 1 or 10 and the fair probabilities do not sum to one.
Power-method bisection stops too early · case 01
Power-method fair probabilities are off in the third or fourth decimal.
Power-method bisection stops too early · case 02
Power-method fair probabilities are off in the third or fourth decimal.
Power-method bisection stops too early · case 03
Power-method fair probabilities are off in the third or fourth decimal.
Power-method bisection stops too early · case 04
Power-method fair probabilities are off in the third or fourth decimal.
Power-method bisection stops too early · case 05
Power-method fair probabilities are off in the third or fourth decimal.
Negative additive probabilities returned or clamped · case 01
A heavy longshot receives a negative or zero fair probability.
Negative additive probabilities returned or clamped · case 02
A heavy longshot receives a negative or zero fair probability.
Negative additive probabilities returned or clamped · case 03
A heavy longshot receives a negative or zero fair probability.
Negative additive probabilities returned or clamped · case 04
A heavy longshot receives a negative or zero fair probability.
Negative additive probabilities returned or clamped · case 05
A heavy longshot receives a negative or zero fair probability.
Malay evens shown as -1.00 · case 01
A 2.00 decimal price is shown as -1.00 in Malay format.
Malay evens shown as -1.00 · case 02
A 2.00 decimal price is shown as -1.00 in Malay format.
Malay evens shown as -1.00 · case 03
A 2.00 decimal price is shown as -1.00 in Malay format.
Malay evens shown as -1.00 · case 04
A 2.00 decimal price is shown as -1.00 in Malay format.
Malay evens shown as -1.00 · case 05
A 2.00 decimal price is shown as -1.00 in Malay format.
Negative Malay price computed as negated profit · case 01
A 2.25 price shows -1.25 instead of -0.80 in Malay format.
Negative Malay price computed as negated profit · case 02
A 2.25 price shows -1.25 instead of -0.80 in Malay format.
Negative Malay price computed as negated profit · case 03
A 2.25 price shows -1.25 instead of -0.80 in Malay format.
Negative Malay price computed as negated profit · case 04
A 2.25 price shows -1.25 instead of -0.80 in Malay format.
Negative Malay price computed as negated profit · case 05
A 2.25 price shows -1.25 instead of -0.80 in Malay format.
Negative Asian prices rounded toward positive infinity · case 01
A -0.125 Malay price shows "-1.88" or "-0.12" instead of "-0.13".
Negative Asian prices rounded toward positive infinity · case 02
A -0.125 Malay price shows "-1.88" or "-0.12" instead of "-0.13".
Negative Asian prices rounded toward positive infinity · case 03
A -0.125 Malay price shows "-1.88" or "-0.12" instead of "-0.13".
Negative Asian prices rounded toward positive infinity · case 04
A -0.125 Malay price shows "-1.88" or "-0.12" instead of "-0.13".
Negative Asian prices rounded toward positive infinity · case 05
A -0.125 Malay price shows "-1.88" or "-0.12" instead of "-0.13".
Pushed leg treated as a loser or a winner · case 01
A parlay with a pushed leg pays nothing, or pays as if the push had won.
Pushed leg treated as a loser or a winner · case 02
A parlay with a pushed leg pays nothing, or pays as if the push had won.
Pushed leg treated as a loser or a winner · case 03
A parlay with a pushed leg pays nothing, or pays as if the push had won.
Pushed leg treated as a loser or a winner · case 04
A parlay with a pushed leg pays nothing, or pays as if the push had won.
Pushed leg treated as a loser or a winner · case 05
A parlay with a pushed leg pays nothing, or pays as if the push had won.
Half-win leg settled as a full win or as half the price · case 01
Parlays with a half-won Asian leg are over- or under-paid.
Half-win leg settled as a full win or as half the price · case 02
Parlays with a half-won Asian leg are over- or under-paid.
Half-win leg settled as a full win or as half the price · case 03
Parlays with a half-won Asian leg are over- or under-paid.
Half-win leg settled as a full win or as half the price · case 04
Parlays with a half-won Asian leg are over- or under-paid.
Half-win leg settled as a full win or as half the price · case 05
Parlays with a half-won Asian leg are over- or under-paid.
Half-lose leg settled as a loss or a push · case 01
A half-lost Asian leg kills the parlay, or is ignored.
Half-lose leg settled as a loss or a push · case 02
A half-lost Asian leg kills the parlay, or is ignored.
Half-lose leg settled as a loss or a push · case 03
A half-lost Asian leg kills the parlay, or is ignored.
Half-lose leg settled as a loss or a push · case 04
A half-lost Asian leg kills the parlay, or is ignored.
Half-lose leg settled as a loss or a push · case 05
A half-lost Asian leg kills the parlay, or is ignored.
Parlay payout rounded up or to nearest cent · case 01
Fractional-cent payouts are rounded up, overpaying the customer.
Parlay payout rounded up or to nearest cent · case 02
Fractional-cent payouts are rounded up, overpaying the customer.
Parlay payout rounded up or to nearest cent · case 03
Fractional-cent payouts are rounded up, overpaying the customer.
Parlay payout rounded up or to nearest cent · case 04
Fractional-cent payouts are rounded up, overpaying the customer.
Parlay payout rounded up or to nearest cent · case 05
Fractional-cent payouts are rounded up, overpaying the customer.
Place terms applied to the decimal price · case 01
Placed each-way bets return a fraction of the stake instead of stake plus place winnings.
Place terms applied to the decimal price · case 02
Placed each-way bets return a fraction of the stake instead of stake plus place winnings.
Place terms applied to the decimal price · case 03
Placed each-way bets return a fraction of the stake instead of stake plus place winnings.
Place terms applied to the decimal price · case 04
Placed each-way bets return a fraction of the stake instead of stake plus place winnings.
Place terms applied to the decimal price · case 05
Placed each-way bets return a fraction of the stake instead of stake plus place winnings.
Dead heat for first ignored or applied to profit only · case 01
A dead-heated winner is paid as a solo winner.
Dead heat for first ignored or applied to profit only · case 02
A dead-heated winner is paid as a solo winner.
Dead heat for first ignored or applied to profit only · case 03
A dead-heated winner is paid as a solo winner.
Dead heat for first ignored or applied to profit only · case 04
A dead-heated winner is paid as a solo winner.
Dead heat for first ignored or applied to profit only · case 05
A dead-heated winner is paid as a solo winner.
Place dead-heat reduction ignores how many places remain · case 01
Runners dead-heating for a place fully inside the places are cut, or those straddling the last place are not.
Place dead-heat reduction ignores how many places remain · case 02
Runners dead-heating for a place fully inside the places are cut, or those straddling the last place are not.
Place dead-heat reduction ignores how many places remain · case 03
Runners dead-heating for a place fully inside the places are cut, or those straddling the last place are not.
Place dead-heat reduction ignores how many places remain · case 04
Runners dead-heating for a place fully inside the places are cut, or those straddling the last place are not.
Place dead-heat reduction ignores how many places remain · case 05
Runners dead-heating for a place fully inside the places are cut, or those straddling the last place are not.
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 ↗