FA-62791 / Tax bracket computation / Open access
The phased-out credit becomes negative · case 01
High earners claiming the credit see an additional tax.
ROOT CAUSE
The credit after phase-out is not floored at zero.
VERIFIED REPAIR
Floor the credit at zero after the phase-out.
Unsuccessful approach: Flooring the pre-phase-out amount does not stop the phase-out from driving it negative.
Case contract
solve(earned, agi, children, mfj, invest): stipulated earned-income credit, whole dollars. Investment income above 11600 disqualifies (0). Parameters by min(children, 3): phase-in rate %, max credit, phase-out rate %, phase-out start (0: 7.65, 600, 7.65, 9800; 1: 34, 3995, 15.98, 21560; 2: 40, 6604, 21.06, 21560; 3+: 45, 7430, 21.06, 21560); joint filers add 6920 to the start. Credit = min(rate_in*earned, max) reduced by rate_out*(max(earned, agi) - start) when positive, floored at 0. Return integer cents half-up.
Why this case matters
Tax computations hinge on which slice, threshold, ordering and rounding rule applies at each step; a misplaced boundary silently misstates liabilities.
1 / The failure
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
from fractions import Fraction
N = 1
observations = []
def solve(earned, agi, children, mfj, invest):
def prog(x, br):
tax, lower = Fraction(0), 0
for upper, rate in br:
top = x if upper is None else min(x, upper)
if top > lower: tax += (top - lower) * Fraction(rate) / 100
if upper is None or x <= upper: break
lower = upper
return tax
def cents(v):
v = v * 100
return int(v + Fraction(1, 2)) if v >= 0 else -int(-v + Fraction(1, 2))
P = {0: ['7.65', 7840, 600, '7.65', 9800], 1: ['34', 11750, 3995, '15.98', 21560], 2: ['40', 16510, 6604, '21.06', 21560], 3: ['45', 16510, 7430, '21.06', 21560]}
if invest > 11600: return 0
rin, cap, mx, rout, start = P[min(children, 3)]
if mfj: start += 6920
credit = min(Fraction(rin) * earned / 100, Fraction(mx))
income = max(earned, agi)
if income > start: credit -= Fraction(rout) * (income - start) / 100
return cents(credit)
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = [[('regression credit-floor 1', (60000, 60000, 1, False, 0), 0),
('regression credit-floor 2', (10000, 30000, 0, False, 11600), 0),
('control: plateau', (10000, 10000, 1, False, 0), 340000),
('control: phase-out two children', (30000, 30000, 2, False, 0), 482654),
('control: agi drives phase-out', (12000, 30000, 1, False, 0), 264629),
('control: investment limit', (20000, 20000, 1, False, 11601), 0)],
[('regression credit-floor 1', (0, 30000, 4, False, 0), 0),
('regression credit-floor 2', (5000, 71254, 2, True, 0), 0),
('control: investment limit', (20000, 20000, 1, False, 11601), 0),
('control: no children', (5000, 5000, 0, False, 0), 38250), ('control: joint', (30000, 30000, 2, True, 0), 628389),
('control: four children', (15000, 15000, 4, False, 0), 675000)],
[('regression credit-floor 1', (10000, 26004, 0, False, 0), 0),
('regression credit-floor 2', (0, 30000, 1, True, 0), 0),
('control: four children', (15000, 15000, 4, False, 0), 675000),
('control: phased to zero', (60000, 60000, 1, False, 0), 0),
('control: investment at limit', (15000, 15000, 3, True, 11600), 675000),
('control: plateau', (10000, 10000, 1, False, 0), 340000)],
[('regression credit-floor 1', (40000, 0, 0, False, 0), 0),
('regression credit-floor 2', (31037, 58565, 4, False, 0), 0),
('control: plateau', (10000, 10000, 1, False, 0), 340000),
('control: phase-out two children', (30000, 30000, 2, False, 0), 482654),
('control: agi drives phase-out', (12000, 30000, 1, False, 0), 264629),
('control: investment limit', (20000, 20000, 1, False, 11601), 0)],
[('regression credit-floor 1', (40000, 10000, 0, True, 11600), 0),
('regression credit-floor 2', (16510, 30000, 0, True, 11600), 0),
('control: investment limit', (20000, 20000, 1, False, 11601), 0),
('control: no children', (5000, 5000, 0, False, 0), 38250), ('control: joint', (30000, 30000, 2, True, 0), 628389),
('control: four children', (15000, 15000, 4, False, 0), 675000)]]
for label, args, expected in cases[N - 1]:
check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| regression credit-floor 1 | -214771 | 0 | Failed |
| regression credit-floor 2 | -94530 | 0 | Failed |
| control: plateau | 340000 | 340000 | Passed |
| control: phase-out two children | 482654 | 482654 | Passed |
| control: agi drives phase-out | 264629 | 264629 | Passed |
| control: investment limit | 0 | 0 | Passed |
SHA-256 / 2b45b77ee691284db7e2fdcf8939484250d7d1e84888291bde0a8868ff3af091
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
from fractions import Fraction
N = 1
observations = []
def solve(earned, agi, children, mfj, invest):
def prog(x, br):
tax, lower = Fraction(0), 0
for upper, rate in br:
top = x if upper is None else min(x, upper)
if top > lower: tax += (top - lower) * Fraction(rate) / 100
if upper is None or x <= upper: break
lower = upper
return tax
def cents(v):
v = v * 100
return int(v + Fraction(1, 2)) if v >= 0 else -int(-v + Fraction(1, 2))
P = {0: ['7.65', 7840, 600, '7.65', 9800], 1: ['34', 11750, 3995, '15.98', 21560], 2: ['40', 16510, 6604, '21.06', 21560], 3: ['45', 16510, 7430, '21.06', 21560]}
if invest > 11600: return 0
rin, cap, mx, rout, start = P[min(children, 3)]
if mfj: start += 6920
credit = max(0, min(Fraction(rin) * earned / 100, Fraction(mx)))
income = max(earned, agi)
if income > start: credit -= Fraction(rout) * (income - start) / 100
return cents(credit)
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = [[('regression credit-floor 1', (60000, 60000, 1, False, 0), 0),
('regression credit-floor 2', (10000, 30000, 0, False, 11600), 0),
('control: plateau', (10000, 10000, 1, False, 0), 340000),
('control: phase-out two children', (30000, 30000, 2, False, 0), 482654),
('control: agi drives phase-out', (12000, 30000, 1, False, 0), 264629),
('control: investment limit', (20000, 20000, 1, False, 11601), 0)],
[('regression credit-floor 1', (0, 30000, 4, False, 0), 0),
('regression credit-floor 2', (5000, 71254, 2, True, 0), 0),
('control: investment limit', (20000, 20000, 1, False, 11601), 0),
('control: no children', (5000, 5000, 0, False, 0), 38250), ('control: joint', (30000, 30000, 2, True, 0), 628389),
('control: four children', (15000, 15000, 4, False, 0), 675000)],
[('regression credit-floor 1', (10000, 26004, 0, False, 0), 0),
('regression credit-floor 2', (0, 30000, 1, True, 0), 0),
('control: four children', (15000, 15000, 4, False, 0), 675000),
('control: phased to zero', (60000, 60000, 1, False, 0), 0),
('control: investment at limit', (15000, 15000, 3, True, 11600), 675000),
('control: plateau', (10000, 10000, 1, False, 0), 340000)],
[('regression credit-floor 1', (40000, 0, 0, False, 0), 0),
('regression credit-floor 2', (31037, 58565, 4, False, 0), 0),
('control: plateau', (10000, 10000, 1, False, 0), 340000),
('control: phase-out two children', (30000, 30000, 2, False, 0), 482654),
('control: agi drives phase-out', (12000, 30000, 1, False, 0), 264629),
('control: investment limit', (20000, 20000, 1, False, 11601), 0)],
[('regression credit-floor 1', (40000, 10000, 0, True, 11600), 0),
('regression credit-floor 2', (16510, 30000, 0, True, 11600), 0),
('control: investment limit', (20000, 20000, 1, False, 11601), 0),
('control: no children', (5000, 5000, 0, False, 0), 38250), ('control: joint', (30000, 30000, 2, True, 0), 628389),
('control: four children', (15000, 15000, 4, False, 0), 675000)]]
for label, args, expected in cases[N - 1]:
check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| regression credit-floor 1 | -214771 | 0 | Failed |
| regression credit-floor 2 | -94530 | 0 | Failed |
| control: plateau | 340000 | 340000 | Passed |
| control: phase-out two children | 482654 | 482654 | Passed |
| control: agi drives phase-out | 264629 | 264629 | Passed |
| control: investment limit | 0 | 0 | Passed |
SHA-256 / c1698239a6929e14ea88eb7bbed54e2e6232c11a7d18f08694f134faa2a2ef1c
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
from fractions import Fraction
N = 1
observations = []
def solve(earned, agi, children, mfj, invest):
def prog(x, br):
tax, lower = Fraction(0), 0
for upper, rate in br:
top = x if upper is None else min(x, upper)
if top > lower: tax += (top - lower) * Fraction(rate) / 100
if upper is None or x <= upper: break
lower = upper
return tax
def cents(v):
v = v * 100
return int(v + Fraction(1, 2)) if v >= 0 else -int(-v + Fraction(1, 2))
P = {0: ['7.65', 7840, 600, '7.65', 9800], 1: ['34', 11750, 3995, '15.98', 21560], 2: ['40', 16510, 6604, '21.06', 21560], 3: ['45', 16510, 7430, '21.06', 21560]}
if invest > 11600: return 0
rin, cap, mx, rout, start = P[min(children, 3)]
if mfj: start += 6920
credit = min(Fraction(rin) * earned / 100, Fraction(mx))
income = max(earned, agi)
if income > start: credit -= Fraction(rout) * (income - start) / 100
return cents(max(0, credit))
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = [[('regression credit-floor 1', (60000, 60000, 1, False, 0), 0),
('regression credit-floor 2', (10000, 30000, 0, False, 11600), 0),
('control: plateau', (10000, 10000, 1, False, 0), 340000),
('control: phase-out two children', (30000, 30000, 2, False, 0), 482654),
('control: agi drives phase-out', (12000, 30000, 1, False, 0), 264629),
('control: investment limit', (20000, 20000, 1, False, 11601), 0)],
[('regression credit-floor 1', (0, 30000, 4, False, 0), 0),
('regression credit-floor 2', (5000, 71254, 2, True, 0), 0),
('control: investment limit', (20000, 20000, 1, False, 11601), 0),
('control: no children', (5000, 5000, 0, False, 0), 38250), ('control: joint', (30000, 30000, 2, True, 0), 628389),
('control: four children', (15000, 15000, 4, False, 0), 675000)],
[('regression credit-floor 1', (10000, 26004, 0, False, 0), 0),
('regression credit-floor 2', (0, 30000, 1, True, 0), 0),
('control: four children', (15000, 15000, 4, False, 0), 675000),
('control: phased to zero', (60000, 60000, 1, False, 0), 0),
('control: investment at limit', (15000, 15000, 3, True, 11600), 675000),
('control: plateau', (10000, 10000, 1, False, 0), 340000)],
[('regression credit-floor 1', (40000, 0, 0, False, 0), 0),
('regression credit-floor 2', (31037, 58565, 4, False, 0), 0),
('control: plateau', (10000, 10000, 1, False, 0), 340000),
('control: phase-out two children', (30000, 30000, 2, False, 0), 482654),
('control: agi drives phase-out', (12000, 30000, 1, False, 0), 264629),
('control: investment limit', (20000, 20000, 1, False, 11601), 0)],
[('regression credit-floor 1', (40000, 10000, 0, True, 11600), 0),
('regression credit-floor 2', (16510, 30000, 0, True, 11600), 0),
('control: investment limit', (20000, 20000, 1, False, 11601), 0),
('control: no children', (5000, 5000, 0, False, 0), 38250), ('control: joint', (30000, 30000, 2, True, 0), 628389),
('control: four children', (15000, 15000, 4, False, 0), 675000)]]
for label, args, expected in cases[N - 1]:
check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| regression credit-floor 1 | 0 | 0 | Passed |
| regression credit-floor 2 | 0 | 0 | Passed |
| control: plateau | 340000 | 340000 | Passed |
| control: phase-out two children | 482654 | 482654 | Passed |
| control: agi drives phase-out | 264629 | 264629 | Passed |
| control: investment limit | 0 | 0 | Passed |
SHA-256 / 4f12e306d9a035bd127a2e864a5a7b4adbf69a0c72dec4a096f23212bfcac7a7
Verification & scope
A deterministic, bounded teaching model with a stipulated toy contract; it makes no claim of conformance to any real regulation, standard, or institution's rules. This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.
Observations recorded using Python 3.12.14 at 2026-09-29T14:47:08.029745+00:00.
Case digest / 4f5df94106911b07e0017aa499353160b3ff21889708f50acb767e1e0bfdd7ff