{"abstract":"Each company in a group gets the full small-profits limit.","category":"Tax bracket computation","checks":8,"contract":"solve(profits, dividends, associates, days): stipulated small-profits relief. Limits L = 50000 and U = 250000 are divided by (associates + 1) and prorated by days/365 (exact fractions). Augmented profits A = profits + dividends decide the band: A <= L taxes profits N at 19%; A >= U at 25%; otherwise tax = 25% of N minus 3/200 * (U - A) * N / A. Return integer cents rounded half-up.","evaluation_group":"w2-tax_bracket_computation-marginal-relief-band","failed_approach":"Dividing only the upper limit still gives each company the full lower limit.","family":"w2-tax_bracket_computation-marginal-relief-band-associated-divisor","id":"FA-62581","implementations":{"attempt":{"sha256":"b128311d818476c08250450e4b3eb47c283fc7dd9e0bc50807359f24b59d0854","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(profits, dividends, associates, days):\n    def prog(x, br):\n        tax, lower = Fraction(0), 0\n        for upper, rate in br:\n            top = x if upper is None else min(x, upper)\n            if top > lower: tax += (top - lower) * Fraction(rate) / 100\n            if upper is None or x <= upper: break\n            lower = upper\n        return tax\n    def cents(v):\n        v = v * 100\n        return int(v + Fraction(1, 2)) if v >= 0 else -int(-v + Fraction(1, 2))\n    \n    div = associates + 1\n    L = Fraction(50000 * days, 365)\n    U = Fraction(250000 * days, 365 * div)\n    A = profits + dividends\n    N = Fraction(profits)\n    if A <= L: tax = N * 19 / 100\n    elif A >= U: tax = N * 25 / 100\n    else: tax = N * 25 / 100 - Fraction(3, 200) * (U - A) * N / A\n    return cents(tax)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = [[('regression associated-divisor 1', (60000, 0, 1, 365), 1402500),\n  ('regression associated-divisor 2', (70000, 5000, 2, 200), 1750000),\n  ('partial repair guard 1', (30000, 0, 1, 365), 607500), ('partial repair guard 2', (30000, 0, 4, 300), 733356),\n  ('control: small profits', (40000, 0, 0, 365), 760000), ('control: relief zone', (100000, 0, 0, 365), 2275000),\n  ('control: main rate', (300000, 0, 0, 365), 7500000), ('control: with dividends', (100000, 25000, 0, 365), 2350000)],\n [('regression associated-divisor 1', (100000, 5000, 1, 365), 2471429),\n  ('regression associated-divisor 2', (100000, 0, 4, 300), 2500000),\n  ('partial repair guard 1', (30000, 0, 2, 365), 670000), ('partial repair guard 2', (50000, 0, 4, 365), 1250000),\n  ('control: associated company', (60000, 0, 1, 365), 1402500),\n  ('control: with dividends', (100000, 25000, 0, 365), 2350000), ('control: short period', (30000, 0, 0, 181), 609041),\n  ('control: two associates short', (70000, 5000, 2, 200), 1750000)],\n [('regression associated-divisor 1', (180000, 25000, 2, 300), 4500000),\n  ('regression associated-divisor 2', (180000, 0, 4, 365), 4500000),\n  ('partial repair guard 1', (50000, 0, 1, 365), 1137500), ('partial repair guard 2', (50000, 0, 2, 365), 1200000),\n  ('control: two associates short', (70000, 5000, 2, 200), 1750000),\n  ('control: dividends push to main rate', (200000, 60000, 0, 365), 5000000),\n  ('control: small profits', (40000, 0, 0, 365), 760000), ('control: relief zone', (100000, 0, 0, 365), 2275000)],\n [('regression associated-divisor 1', (30000, 25000, 4, 365), 750000),\n  ('regression associated-divisor 2', (50000, 0, 2, 181), 1250000),\n  ('partial repair guard 1', (30000, 0, 2, 300), 692260), ('partial repair guard 2', (30000, 5000, 1, 365), 634286),\n  ('control: relief zone', (100000, 0, 0, 365), 2275000), ('control: main rate', (300000, 0, 0, 365), 7500000),\n  ('control: associated company', (60000, 0, 1, 365), 1402500),\n  ('control: with dividends', (100000, 25000, 0, 365), 2350000)],\n [('regression associated-divisor 1', (50000, 0, 2, 90), 1250000),\n  ('regression associated-divisor 2', (50000, 0, 1, 300), 1170890),\n  ('partial repair guard 1', (30000, 0, 1, 365), 607500), ('partial repair guard 2', (30000, 0, 4, 300), 733356),\n  ('control: with dividends', (100000, 25000, 0, 365), 2350000), ('control: short period', (30000, 0, 0, 181), 609041),\n  ('control: two associates short', (70000, 5000, 2, 200), 1750000),\n  ('control: dividends push to main rate', (200000, 60000, 0, 365), 5000000)]]\nfor label, args, expected in cases[N - 1]:\n    check(label, solve(*args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"47c3ea2009a96c3d78d1aa3eb135973bac2f158d5a6244ce78a9bbae834c93fe","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(profits, dividends, associates, days):\n    def prog(x, br):\n        tax, lower = Fraction(0), 0\n        for upper, rate in br:\n            top = x if upper is None else min(x, upper)\n            if top > lower: tax += (top - lower) * Fraction(rate) / 100\n            if upper is None or x <= upper: break\n            lower = upper\n        return tax\n    def cents(v):\n        v = v * 100\n        return int(v + Fraction(1, 2)) if v >= 0 else -int(-v + Fraction(1, 2))\n    \n    div = 1\n    L = Fraction(50000 * days, 365 * div)\n    U = Fraction(250000 * days, 365 * div)\n    A = profits + dividends\n    N = Fraction(profits)\n    if A <= L: tax = N * 19 / 100\n    elif A >= U: tax = N * 25 / 100\n    else: tax = N * 25 / 100 - Fraction(3, 200) * (U - A) * N / A\n    return cents(tax)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = [[('regression associated-divisor 1', (60000, 0, 1, 365), 1402500),\n  ('regression associated-divisor 2', (70000, 5000, 2, 200), 1750000),\n  ('partial repair guard 1', (30000, 0, 1, 365), 607500), ('partial repair guard 2', (30000, 0, 4, 300), 733356),\n  ('control: small profits', (40000, 0, 0, 365), 760000), ('control: relief zone', (100000, 0, 0, 365), 2275000),\n  ('control: main rate', (300000, 0, 0, 365), 7500000), ('control: with dividends', (100000, 25000, 0, 365), 2350000)],\n [('regression associated-divisor 1', (100000, 5000, 1, 365), 2471429),\n  ('regression associated-divisor 2', (100000, 0, 4, 300), 2500000),\n  ('partial repair guard 1', (30000, 0, 2, 365), 670000), ('partial repair guard 2', (50000, 0, 4, 365), 1250000),\n  ('control: associated company', (60000, 0, 1, 365), 1402500),\n  ('control: with dividends', (100000, 25000, 0, 365), 2350000), ('control: short period', (30000, 0, 0, 181), 609041),\n  ('control: two associates short', (70000, 5000, 2, 200), 1750000)],\n [('regression associated-divisor 1', (180000, 25000, 2, 300), 4500000),\n  ('regression associated-divisor 2', (180000, 0, 4, 365), 4500000),\n  ('partial repair guard 1', (50000, 0, 1, 365), 1137500), ('partial repair guard 2', (50000, 0, 2, 365), 1200000),\n  ('control: two associates short', (70000, 5000, 2, 200), 1750000),\n  ('control: dividends push to main rate', (200000, 60000, 0, 365), 5000000),\n  ('control: small profits', (40000, 0, 0, 365), 760000), ('control: relief zone', (100000, 0, 0, 365), 2275000)],\n [('regression associated-divisor 1', (30000, 25000, 4, 365), 750000),\n  ('regression associated-divisor 2', (50000, 0, 2, 181), 1250000),\n  ('partial repair guard 1', (30000, 0, 2, 300), 692260), ('partial repair guard 2', (30000, 5000, 1, 365), 634286),\n  ('control: relief zone', (100000, 0, 0, 365), 2275000), ('control: main rate', (300000, 0, 0, 365), 7500000),\n  ('control: associated company', (60000, 0, 1, 365), 1402500),\n  ('control: with dividends', (100000, 25000, 0, 365), 2350000)],\n [('regression associated-divisor 1', (50000, 0, 2, 90), 1250000),\n  ('regression associated-divisor 2', (50000, 0, 1, 300), 1170890),\n  ('partial repair guard 1', (30000, 0, 1, 365), 607500), ('partial repair guard 2', (30000, 0, 4, 300), 733356),\n  ('control: with dividends', (100000, 25000, 0, 365), 2350000), ('control: short period', (30000, 0, 0, 181), 609041),\n  ('control: two associates short', (70000, 5000, 2, 200), 1750000),\n  ('control: dividends push to main rate', (200000, 60000, 0, 365), 5000000)]]\nfor label, args, expected in cases[N - 1]:\n    check(label, solve(*args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"fixed":{"sha256":"e5f57f933b2fc52fd8a228f8bf5d6819126a1639229caab4c1a591b3ad049446","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(profits, dividends, associates, days):\n    def prog(x, br):\n        tax, lower = Fraction(0), 0\n        for upper, rate in br:\n            top = x if upper is None else min(x, upper)\n            if top > lower: tax += (top - lower) * Fraction(rate) / 100\n            if upper is None or x <= upper: break\n            lower = upper\n        return tax\n    def cents(v):\n        v = v * 100\n        return int(v + Fraction(1, 2)) if v >= 0 else -int(-v + Fraction(1, 2))\n    \n    div = associates + 1\n    L = Fraction(50000 * days, 365 * div)\n    U = Fraction(250000 * days, 365 * div)\n    A = profits + dividends\n    N = Fraction(profits)\n    if A <= L: tax = N * 19 / 100\n    elif A >= U: tax = N * 25 / 100\n    else: tax = N * 25 / 100 - Fraction(3, 200) * (U - A) * N / A\n    return cents(tax)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = [[('regression associated-divisor 1', (60000, 0, 1, 365), 1402500),\n  ('regression associated-divisor 2', (70000, 5000, 2, 200), 1750000),\n  ('partial repair guard 1', (30000, 0, 1, 365), 607500), ('partial repair guard 2', (30000, 0, 4, 300), 733356),\n  ('control: small profits', (40000, 0, 0, 365), 760000), ('control: relief zone', (100000, 0, 0, 365), 2275000),\n  ('control: main rate', (300000, 0, 0, 365), 7500000), ('control: with dividends', (100000, 25000, 0, 365), 2350000)],\n [('regression associated-divisor 1', (100000, 5000, 1, 365), 2471429),\n  ('regression associated-divisor 2', (100000, 0, 4, 300), 2500000),\n  ('partial repair guard 1', (30000, 0, 2, 365), 670000), ('partial repair guard 2', (50000, 0, 4, 365), 1250000),\n  ('control: associated company', (60000, 0, 1, 365), 1402500),\n  ('control: with dividends', (100000, 25000, 0, 365), 2350000), ('control: short period', (30000, 0, 0, 181), 609041),\n  ('control: two associates short', (70000, 5000, 2, 200), 1750000)],\n [('regression associated-divisor 1', (180000, 25000, 2, 300), 4500000),\n  ('regression associated-divisor 2', (180000, 0, 4, 365), 4500000),\n  ('partial repair guard 1', (50000, 0, 1, 365), 1137500), ('partial repair guard 2', (50000, 0, 2, 365), 1200000),\n  ('control: two associates short', (70000, 5000, 2, 200), 1750000),\n  ('control: dividends push to main rate', (200000, 60000, 0, 365), 5000000),\n  ('control: small profits', (40000, 0, 0, 365), 760000), ('control: relief zone', (100000, 0, 0, 365), 2275000)],\n [('regression associated-divisor 1', (30000, 25000, 4, 365), 750000),\n  ('regression associated-divisor 2', (50000, 0, 2, 181), 1250000),\n  ('partial repair guard 1', (30000, 0, 2, 300), 692260), ('partial repair guard 2', (30000, 5000, 1, 365), 634286),\n  ('control: relief zone', (100000, 0, 0, 365), 2275000), ('control: main rate', (300000, 0, 0, 365), 7500000),\n  ('control: associated company', (60000, 0, 1, 365), 1402500),\n  ('control: with dividends', (100000, 25000, 0, 365), 2350000)],\n [('regression associated-divisor 1', (50000, 0, 2, 90), 1250000),\n  ('regression associated-divisor 2', (50000, 0, 1, 300), 1170890),\n  ('partial repair guard 1', (30000, 0, 1, 365), 607500), ('partial repair guard 2', (30000, 0, 4, 300), 733356),\n  ('control: with dividends', (100000, 25000, 0, 365), 2350000), ('control: short period', (30000, 0, 0, 181), 609041),\n  ('control: two associates short', (70000, 5000, 2, 200), 1750000),\n  ('control: dividends push to main rate', (200000, 60000, 0, 365), 5000000)]]\nfor label, args, expected in cases[N - 1]:\n    check(label, solve(*args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":"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.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"w2-tax_bracket_computation-marginal-relief-band-associated-divisor","generated_at":"2026-09-29T14:47:05.972977+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Tax computations hinge on which slice, threshold, ordering and rounding rule applies at each step; a misplaced boundary silently misstates liabilities.","repair":"Divide both limits by the number of associated companies plus one.","root_cause":"The limits are not divided by associates + 1.","sha256":"cddb9606bb00bf3409eb4b59a78996a0e4ac46f69c8a649bc1894bf5b2e596ab","title":"Associated companies do not share the limits · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":43.339,"exit_code":1,"observations":[{"actual":1402500,"check":"regression associated-divisor 1","expected":1402500,"passed":true},{"actual":1750000,"check":"regression associated-divisor 2","expected":1750000,"passed":true},{"actual":570000,"check":"partial repair guard 1","expected":607500,"passed":false},{"actual":570000,"check":"partial repair guard 2","expected":733356,"passed":false},{"actual":760000,"check":"control: small profits","expected":760000,"passed":true},{"actual":2275000,"check":"control: relief zone","expected":2275000,"passed":true},{"actual":7500000,"check":"control: main rate","expected":7500000,"passed":true},{"actual":2350000,"check":"control: with dividends","expected":2350000,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression associated-divisor 1\", \"actual\": 1402500, \"expected\": 1402500, \"passed\": true}, {\"check\": \"regression associated-divisor 2\", \"actual\": 1750000, \"expected\": 1750000, \"passed\": true}, {\"check\": \"partial repair guard 1\", \"actual\": 570000, \"expected\": 607500, \"passed\": false}, {\"check\": \"partial repair guard 2\", \"actual\": 570000, \"expected\": 733356, \"passed\": false}, {\"check\": \"control: small profits\", \"actual\": 760000, \"expected\": 760000, \"passed\": true}, {\"check\": \"control: relief zone\", \"actual\": 2275000, \"expected\": 2275000, \"passed\": true}, {\"check\": \"control: main rate\", \"actual\": 7500000, \"expected\": 7500000, \"passed\": true}, {\"check\": \"control: with dividends\", \"actual\": 2350000, \"expected\": 2350000, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":42.949,"exit_code":1,"observations":[{"actual":1215000,"check":"regression associated-divisor 1","expected":1402500,"passed":false},{"actual":1663219,"check":"regression associated-divisor 2","expected":1750000,"passed":false},{"actual":570000,"check":"partial repair guard 1","expected":607500,"passed":false},{"actual":570000,"check":"partial repair guard 2","expected":733356,"passed":false},{"actual":760000,"check":"control: small profits","expected":760000,"passed":true},{"actual":2275000,"check":"control: relief zone","expected":2275000,"passed":true},{"actual":7500000,"check":"control: main rate","expected":7500000,"passed":true},{"actual":2350000,"check":"control: with dividends","expected":2350000,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression associated-divisor 1\", \"actual\": 1215000, \"expected\": 1402500, \"passed\": false}, {\"check\": \"regression associated-divisor 2\", \"actual\": 1663219, \"expected\": 1750000, \"passed\": false}, {\"check\": \"partial repair guard 1\", \"actual\": 570000, \"expected\": 607500, \"passed\": false}, {\"check\": \"partial repair guard 2\", \"actual\": 570000, \"expected\": 733356, \"passed\": false}, {\"check\": \"control: small profits\", \"actual\": 760000, \"expected\": 760000, \"passed\": true}, {\"check\": \"control: relief zone\", \"actual\": 2275000, \"expected\": 2275000, \"passed\": true}, {\"check\": \"control: main rate\", \"actual\": 7500000, \"expected\": 7500000, \"passed\": true}, {\"check\": \"control: with dividends\", \"actual\": 2350000, \"expected\": 2350000, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":44.669,"exit_code":0,"observations":[{"actual":1402500,"check":"regression associated-divisor 1","expected":1402500,"passed":true},{"actual":1750000,"check":"regression associated-divisor 2","expected":1750000,"passed":true},{"actual":607500,"check":"partial repair guard 1","expected":607500,"passed":true},{"actual":733356,"check":"partial repair guard 2","expected":733356,"passed":true},{"actual":760000,"check":"control: small profits","expected":760000,"passed":true},{"actual":2275000,"check":"control: relief zone","expected":2275000,"passed":true},{"actual":7500000,"check":"control: main rate","expected":7500000,"passed":true},{"actual":2350000,"check":"control: with dividends","expected":2350000,"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression associated-divisor 1\", \"actual\": 1402500, \"expected\": 1402500, \"passed\": true}, {\"check\": \"regression associated-divisor 2\", \"actual\": 1750000, \"expected\": 1750000, \"passed\": true}, {\"check\": \"partial repair guard 1\", \"actual\": 607500, \"expected\": 607500, \"passed\": true}, {\"check\": \"partial repair guard 2\", \"actual\": 733356, \"expected\": 733356, \"passed\": true}, {\"check\": \"control: small profits\", \"actual\": 760000, \"expected\": 760000, \"passed\": true}, {\"check\": \"control: relief zone\", \"actual\": 2275000, \"expected\": 2275000, \"passed\": true}, {\"check\": \"control: main rate\", \"actual\": 7500000, \"expected\": 7500000, \"passed\": true}, {\"check\": \"control: with dividends\", \"actual\": 2350000, \"expected\": 2350000, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}