{"abstract":"Converting from continuous compounding understates the effective rate.","category":"Bond day-count conventions","checks":8,"contract":"Inputs a nominal rate, from/to day-count year basis (360 or 365), from/to compounding frequency (0 = continuous). First rescale the nominal rate by to_basis/from_basis, then convert compounding through the effective annual rate: EAR = (1+r/m)^m - 1 or e^r - 1; target nominal = m*((1+EAR)^(1/m)-1) or ln(1+EAR). Return rounded to 10 decimals.","evaluation_group":"w2-bond_day_count_conventions-rate-basis-conversion","failed_approach":"Approximating with daily compounding still differs from continuous compounding.","family":"w2-bond_day_count_conventions-rate-basis-conversion-continuous-source","id":"FA-61286","implementations":{"attempt":{"sha256":"43942f7d41056f9ab8fc20ab64e1fc7fa7b5bf342162c640e83fcb7843e08b1c","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(rate, from_basis, to_basis, from_comp, to_comp):\n    def ear(r, m):\n        return (1 + r / 365) ** 365 - 1 if m == 0 else (1 + r / m) ** m - 1\n    def nominal(e, m):\n        return math.log(1 + e) if m == 0 else m * ((1 + e) ** (1 / m) - 1)\n    scaled = rate * to_basis / from_basis\n    return round(nominal(ear(scaled, from_comp), to_comp), 10)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression continuous source 1', [0.001, 360, 360, 0, 4], 0.001000125], ['regression continuous source 2', [0.08, 360, 365, 0, 2], 0.0827783261], ['partial repair probe 1', [0.0475, 365, 360, 0, 1], 0.0479640848], ['partial repair probe 2', [0.15, 365, 365, 0, 0], 0.15], ['boundary control 1', [0.05, 360, 360, 2, 2], 0.05], ['boundary control 2', [0.05, 360, 365, 1, 1], 0.0506944444], ['normal control 1', [0.0125, 360, 360, 1, 2], 0.0124611797], ['normal control 2', [0.0475, 365, 360, 4, 0], 0.0465770814]], [['regression continuous source 1', [0.001, 365, 360, 0, 4], 0.000986423], ['regression continuous source 2', [0.001, 360, 360, 0, 2], 0.00100025], ['partial repair probe 1', [0.0125, 360, 365, 0, 4], 0.0126937099], ['partial repair probe 2', [0.15, 365, 360, 0, 12], 0.148860956], ['boundary control 1', [0.05, 360, 360, 2, 2], 0.05], ['boundary control 2', [0.05, 360, 365, 1, 1], 0.0506944444], ['normal control 1', [0.08, 360, 365, 4, 1], 0.0836117618], ['normal control 2', [0.08, 360, 360, 1, 0], 0.0769610411]], [['regression continuous source 1', [0.08, 365, 365, 0, 2], 0.0816215484], ['regression continuous source 2', [0.0125, 365, 360, 0, 12], 0.0123351026], ['partial repair probe 1', [0.08, 360, 365, 0, 12], 0.0813858553], ['partial repair probe 2', [0.03, 365, 365, 0, 2], 0.0302261292], ['boundary control 1', [0.05, 360, 365, 1, 1], 0.0506944444], ['boundary control 2', [0.05, 360, 360, 2, 2], 0.05], ['normal control 1', [0.15, 360, 365, 12, 1], 0.1631451552], ['normal control 2', [0.001, 360, 360, 4, 0], 0.000999875]], [['regression continuous source 1', [0.001, 360, 360, 0, 0], 0.001], ['regression continuous source 2', [0.03, 360, 360, 0, 2], 0.0302261292], ['partial repair probe 1', [0.15, 365, 360, 0, 0], 0.1479452055], ['partial repair probe 2', [0.03, 365, 360, 0, 1], 0.0300311465], ['boundary control 1', [0.05, 360, 360, 2, 2], 0.05], ['boundary control 2', [0.05, 360, 365, 1, 1], 0.0506944444], ['normal control 1', [0.15, 360, 360, 4, 0], 0.1472558925], ['normal control 2', [0.08, 365, 360, 4, 1], 0.0812696608]], [['regression continuous source 1', [0.0125, 365, 365, 0, 4], 0.0125195516], ['regression continuous source 2', [0.001, 360, 360, 0, 2], 0.00100025], ['partial repair probe 1', [0.08, 360, 365, 0, 0], 0.0811111111], ['partial repair probe 2', [0.03, 365, 365, 0, 0], 0.03], ['boundary control 1', [0.05, 360, 365, 1, 1], 0.0506944444], ['boundary control 2', [0.05, 360, 360, 2, 2], 0.05], ['normal control 1', [0.08, 360, 360, 2, 12], 0.0786983632], ['normal control 2', [0.0125, 360, 365, 4, 1], 0.0127339711]]]\nfor label, args, expected in fixtures[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":"269767dc339acbfc25d6eb3a3bd506d85cdf7212c599f1e0134a4a92fd4a7b51","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(rate, from_basis, to_basis, from_comp, to_comp):\n    def ear(r, m):\n        return r if m == 0 else (1 + r / m) ** m - 1\n    def nominal(e, m):\n        return math.log(1 + e) if m == 0 else m * ((1 + e) ** (1 / m) - 1)\n    scaled = rate * to_basis / from_basis\n    return round(nominal(ear(scaled, from_comp), to_comp), 10)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression continuous source 1', [0.001, 360, 360, 0, 4], 0.001000125], ['regression continuous source 2', [0.08, 360, 365, 0, 2], 0.0827783261], ['partial repair probe 1', [0.0475, 365, 360, 0, 1], 0.0479640848], ['partial repair probe 2', [0.15, 365, 365, 0, 0], 0.15], ['boundary control 1', [0.05, 360, 360, 2, 2], 0.05], ['boundary control 2', [0.05, 360, 365, 1, 1], 0.0506944444], ['normal control 1', [0.0125, 360, 360, 1, 2], 0.0124611797], ['normal control 2', [0.0475, 365, 360, 4, 0], 0.0465770814]], [['regression continuous source 1', [0.001, 365, 360, 0, 4], 0.000986423], ['regression continuous source 2', [0.001, 360, 360, 0, 2], 0.00100025], ['partial repair probe 1', [0.0125, 360, 365, 0, 4], 0.0126937099], ['partial repair probe 2', [0.15, 365, 360, 0, 12], 0.148860956], ['boundary control 1', [0.05, 360, 360, 2, 2], 0.05], ['boundary control 2', [0.05, 360, 365, 1, 1], 0.0506944444], ['normal control 1', [0.08, 360, 365, 4, 1], 0.0836117618], ['normal control 2', [0.08, 360, 360, 1, 0], 0.0769610411]], [['regression continuous source 1', [0.08, 365, 365, 0, 2], 0.0816215484], ['regression continuous source 2', [0.0125, 365, 360, 0, 12], 0.0123351026], ['partial repair probe 1', [0.08, 360, 365, 0, 12], 0.0813858553], ['partial repair probe 2', [0.03, 365, 365, 0, 2], 0.0302261292], ['boundary control 1', [0.05, 360, 365, 1, 1], 0.0506944444], ['boundary control 2', [0.05, 360, 360, 2, 2], 0.05], ['normal control 1', [0.15, 360, 365, 12, 1], 0.1631451552], ['normal control 2', [0.001, 360, 360, 4, 0], 0.000999875]], [['regression continuous source 1', [0.001, 360, 360, 0, 0], 0.001], ['regression continuous source 2', [0.03, 360, 360, 0, 2], 0.0302261292], ['partial repair probe 1', [0.15, 365, 360, 0, 0], 0.1479452055], ['partial repair probe 2', [0.03, 365, 360, 0, 1], 0.0300311465], ['boundary control 1', [0.05, 360, 360, 2, 2], 0.05], ['boundary control 2', [0.05, 360, 365, 1, 1], 0.0506944444], ['normal control 1', [0.15, 360, 360, 4, 0], 0.1472558925], ['normal control 2', [0.08, 365, 360, 4, 1], 0.0812696608]], [['regression continuous source 1', [0.0125, 365, 365, 0, 4], 0.0125195516], ['regression continuous source 2', [0.001, 360, 360, 0, 2], 0.00100025], ['partial repair probe 1', [0.08, 360, 365, 0, 0], 0.0811111111], ['partial repair probe 2', [0.03, 365, 365, 0, 0], 0.03], ['boundary control 1', [0.05, 360, 365, 1, 1], 0.0506944444], ['boundary control 2', [0.05, 360, 360, 2, 2], 0.05], ['normal control 1', [0.08, 360, 360, 2, 12], 0.0786983632], ['normal control 2', [0.0125, 360, 365, 4, 1], 0.0127339711]]]\nfor label, args, expected in fixtures[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":"5126dc44ea3f9614c6c415d9dc2bf6652e95c819a13e700027dd11fbaf083edf","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(rate, from_basis, to_basis, from_comp, to_comp):\n    def ear(r, m):\n        return math.exp(r) - 1 if m == 0 else (1 + r / m) ** m - 1\n    def nominal(e, m):\n        return math.log(1 + e) if m == 0 else m * ((1 + e) ** (1 / m) - 1)\n    scaled = rate * to_basis / from_basis\n    return round(nominal(ear(scaled, from_comp), to_comp), 10)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression continuous source 1', [0.001, 360, 360, 0, 4], 0.001000125], ['regression continuous source 2', [0.08, 360, 365, 0, 2], 0.0827783261], ['partial repair probe 1', [0.0475, 365, 360, 0, 1], 0.0479640848], ['partial repair probe 2', [0.15, 365, 365, 0, 0], 0.15], ['boundary control 1', [0.05, 360, 360, 2, 2], 0.05], ['boundary control 2', [0.05, 360, 365, 1, 1], 0.0506944444], ['normal control 1', [0.0125, 360, 360, 1, 2], 0.0124611797], ['normal control 2', [0.0475, 365, 360, 4, 0], 0.0465770814]], [['regression continuous source 1', [0.001, 365, 360, 0, 4], 0.000986423], ['regression continuous source 2', [0.001, 360, 360, 0, 2], 0.00100025], ['partial repair probe 1', [0.0125, 360, 365, 0, 4], 0.0126937099], ['partial repair probe 2', [0.15, 365, 360, 0, 12], 0.148860956], ['boundary control 1', [0.05, 360, 360, 2, 2], 0.05], ['boundary control 2', [0.05, 360, 365, 1, 1], 0.0506944444], ['normal control 1', [0.08, 360, 365, 4, 1], 0.0836117618], ['normal control 2', [0.08, 360, 360, 1, 0], 0.0769610411]], [['regression continuous source 1', [0.08, 365, 365, 0, 2], 0.0816215484], ['regression continuous source 2', [0.0125, 365, 360, 0, 12], 0.0123351026], ['partial repair probe 1', [0.08, 360, 365, 0, 12], 0.0813858553], ['partial repair probe 2', [0.03, 365, 365, 0, 2], 0.0302261292], ['boundary control 1', [0.05, 360, 365, 1, 1], 0.0506944444], ['boundary control 2', [0.05, 360, 360, 2, 2], 0.05], ['normal control 1', [0.15, 360, 365, 12, 1], 0.1631451552], ['normal control 2', [0.001, 360, 360, 4, 0], 0.000999875]], [['regression continuous source 1', [0.001, 360, 360, 0, 0], 0.001], ['regression continuous source 2', [0.03, 360, 360, 0, 2], 0.0302261292], ['partial repair probe 1', [0.15, 365, 360, 0, 0], 0.1479452055], ['partial repair probe 2', [0.03, 365, 360, 0, 1], 0.0300311465], ['boundary control 1', [0.05, 360, 360, 2, 2], 0.05], ['boundary control 2', [0.05, 360, 365, 1, 1], 0.0506944444], ['normal control 1', [0.15, 360, 360, 4, 0], 0.1472558925], ['normal control 2', [0.08, 365, 360, 4, 1], 0.0812696608]], [['regression continuous source 1', [0.0125, 365, 365, 0, 4], 0.0125195516], ['regression continuous source 2', [0.001, 360, 360, 0, 2], 0.00100025], ['partial repair probe 1', [0.08, 360, 365, 0, 0], 0.0811111111], ['partial repair probe 2', [0.03, 365, 365, 0, 0], 0.03], ['boundary control 1', [0.05, 360, 365, 1, 1], 0.0506944444], ['boundary control 2', [0.05, 360, 360, 2, 2], 0.05], ['normal control 1', [0.08, 360, 360, 2, 12], 0.0786983632], ['normal control 2', [0.0125, 360, 365, 4, 1], 0.0127339711]]]\nfor label, args, expected in fixtures[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 toy contract stated explicitly in the contract field; no claim of conformance to any published convention text. 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-bond_day_count_conventions-rate-basis-conversion-continuous-source","generated_at":"2026-09-29T14:46:53.817053+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Bond accrual and pricing systems depend on exact day-count arithmetic; a single-day error changes settlement cash.","repair":"Use e^r - 1 for a continuously compounded source.","root_cause":"The forward conversion returns r itself for m = 0.","sha256":"e38369fd51032c6fa195a1b9b2c6aa561d998d35c49969288d5bd1fa20ddd5da","title":"Rate conversion across day-count basis and compounding: a continuous source rate is treated as annual effective · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":39.112,"exit_code":1,"observations":[{"actual":0.0010001236,"check":"regression continuous source 1","expected":0.001000125,"passed":false},{"actual":0.0827689422,"check":"regression continuous source 2","expected":0.0827783261,"passed":false},{"actual":0.0479609342,"check":"partial repair probe 1","expected":0.0479640848,"passed":false},{"actual":0.1499691865,"check":"partial repair probe 2","expected":0.15,"passed":false},{"actual":0.05,"check":"boundary control 1","expected":0.05,"passed":true},{"actual":0.0506944444,"check":"boundary control 2","expected":0.0506944444,"passed":true},{"actual":0.0124611797,"check":"normal control 1","expected":0.0124611797,"passed":true},{"actual":0.0465770814,"check":"normal control 2","expected":0.0465770814,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression continuous source 1\", \"actual\": 0.0010001236, \"expected\": 0.001000125, \"passed\": false}, {\"check\": \"regression continuous source 2\", \"actual\": 0.0827689422, \"expected\": 0.0827783261, \"passed\": false}, {\"check\": \"partial repair probe 1\", \"actual\": 0.0479609342, \"expected\": 0.0479640848, \"passed\": false}, {\"check\": \"partial repair probe 2\", \"actual\": 0.1499691865, \"expected\": 0.15, \"passed\": false}, {\"check\": \"boundary control 1\", \"actual\": 0.05, \"expected\": 0.05, \"passed\": true}, {\"check\": \"boundary control 2\", \"actual\": 0.0506944444, \"expected\": 0.0506944444, \"passed\": true}, {\"check\": \"normal control 1\", \"actual\": 0.0124611797, \"expected\": 0.0124611797, \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": 0.0465770814, \"expected\": 0.0465770814, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":41.157,"exit_code":1,"observations":[{"actual":0.0009996252,"check":"regression continuous source 1","expected":0.001000125,"passed":false},{"actual":0.0795298614,"check":"regression continuous source 2","expected":0.0827783261,"passed":false},{"actual":0.0468493151,"check":"partial repair probe 1","expected":0.0479640848,"passed":false},{"actual":0.1397619424,"check":"partial repair probe 2","expected":0.15,"passed":false},{"actual":0.05,"check":"boundary control 1","expected":0.05,"passed":true},{"actual":0.0506944444,"check":"boundary control 2","expected":0.0506944444,"passed":true},{"actual":0.0124611797,"check":"normal control 1","expected":0.0124611797,"passed":true},{"actual":0.0465770814,"check":"normal control 2","expected":0.0465770814,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression continuous source 1\", \"actual\": 0.0009996252, \"expected\": 0.001000125, \"passed\": false}, {\"check\": \"regression continuous source 2\", \"actual\": 0.0795298614, \"expected\": 0.0827783261, \"passed\": false}, {\"check\": \"partial repair probe 1\", \"actual\": 0.0468493151, \"expected\": 0.0479640848, \"passed\": false}, {\"check\": \"partial repair probe 2\", \"actual\": 0.1397619424, \"expected\": 0.15, \"passed\": false}, {\"check\": \"boundary control 1\", \"actual\": 0.05, \"expected\": 0.05, \"passed\": true}, {\"check\": \"boundary control 2\", \"actual\": 0.0506944444, \"expected\": 0.0506944444, \"passed\": true}, {\"check\": \"normal control 1\", \"actual\": 0.0124611797, \"expected\": 0.0124611797, \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": 0.0465770814, \"expected\": 0.0465770814, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":39.774,"exit_code":0,"observations":[{"actual":0.001000125,"check":"regression continuous source 1","expected":0.001000125,"passed":true},{"actual":0.0827783261,"check":"regression continuous source 2","expected":0.0827783261,"passed":true},{"actual":0.0479640848,"check":"partial repair probe 1","expected":0.0479640848,"passed":true},{"actual":0.15,"check":"partial repair probe 2","expected":0.15,"passed":true},{"actual":0.05,"check":"boundary control 1","expected":0.05,"passed":true},{"actual":0.0506944444,"check":"boundary control 2","expected":0.0506944444,"passed":true},{"actual":0.0124611797,"check":"normal control 1","expected":0.0124611797,"passed":true},{"actual":0.0465770814,"check":"normal control 2","expected":0.0465770814,"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression continuous source 1\", \"actual\": 0.001000125, \"expected\": 0.001000125, \"passed\": true}, {\"check\": \"regression continuous source 2\", \"actual\": 0.0827783261, \"expected\": 0.0827783261, \"passed\": true}, {\"check\": \"partial repair probe 1\", \"actual\": 0.0479640848, \"expected\": 0.0479640848, \"passed\": true}, {\"check\": \"partial repair probe 2\", \"actual\": 0.15, \"expected\": 0.15, \"passed\": true}, {\"check\": \"boundary control 1\", \"actual\": 0.05, \"expected\": 0.05, \"passed\": true}, {\"check\": \"boundary control 2\", \"actual\": 0.0506944444, \"expected\": 0.0506944444, \"passed\": true}, {\"check\": \"normal control 1\", \"actual\": 0.0124611797, \"expected\": 0.0124611797, \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": 0.0465770814, \"expected\": 0.0465770814, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}