{"abstract":"Large counters change by several ticks after a float conversion, or fractional source units disappear before multiplication.","category":"Integer arithmetic","checks":8,"contract":"For integer ticks, positive integer source_rate, and nonnegative integer target_rate, return floor(ticks * target_rate / source_rate) exactly. Invalid rates return None. Python arbitrary-size integers are part of this model.","evaluation_group":"model-c697df1efd49d7ce","failed_approach":"Dividing first avoids a large intermediate product but discards source-unit remainders that contribute whole target ticks.","family":"num-exact-rational-rescale","id":"FA-331","implementations":{"attempt":{"sha256":"54d86fef68f79d155c9ae463a42a1159d293a66f24b494c9a7e0e1c4c1333b4a","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(ticks, source_rate, target_rate):\n    if source_rate <= 0 or target_rate < 0:\n        return None\n    return (ticks // source_rate) * target_rate\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('large identity conversion keeps low bits', solve(2 ** 60 + N, 1, 1), 2 ** 60 + N)\ncheck('subunit source amount becomes whole target ticks', solve(N, N + 1, 2 * (N + 1)), 2 * N)\ncheck('negative fractional result floors downward', solve(-1, N + 1, N), -1)\ncheck('exact integral rescaling', solve(3 * N, 3, 7), 7 * N)\ncheck('zero tick count', solve(0, N, 3), 0)\ncheck('zero target rate', solve(2 ** 60 + N, N, 0), 0)\ncheck('zero source rate rejected', solve(N, 0, 1), None)\ncheck('negative target rate rejected', solve(N, 1, -1), None)\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":"dd28042b2574affdc39a2e078c175335acdba799aacfa44feb555eb07e89c7fc","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(ticks, source_rate, target_rate):\n    if source_rate <= 0 or target_rate < 0:\n        return None\n    return int(ticks / source_rate * target_rate)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('large identity conversion keeps low bits', solve(2 ** 60 + N, 1, 1), 2 ** 60 + N)\ncheck('subunit source amount becomes whole target ticks', solve(N, N + 1, 2 * (N + 1)), 2 * N)\ncheck('negative fractional result floors downward', solve(-1, N + 1, N), -1)\ncheck('exact integral rescaling', solve(3 * N, 3, 7), 7 * N)\ncheck('zero tick count', solve(0, N, 3), 0)\ncheck('zero target rate', solve(2 ** 60 + N, N, 0), 0)\ncheck('zero source rate rejected', solve(N, 0, 1), None)\ncheck('negative target rate rejected', solve(N, 1, -1), None)\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":"7f45b22f6196f3ba9c8581699ba2a493e0ca0b0eb4910b7e7d98edd698a2fb7d","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(ticks, source_rate, target_rate):\n    if source_rate <= 0 or target_rate < 0:\n        return None\n    return (ticks * target_rate) // source_rate\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('large identity conversion keeps low bits', solve(2 ** 60 + N, 1, 1), 2 ** 60 + N)\ncheck('subunit source amount becomes whole target ticks', solve(N, N + 1, 2 * (N + 1)), 2 * N)\ncheck('negative fractional result floors downward', solve(-1, N + 1, N), -1)\ncheck('exact integral rescaling', solve(3 * N, 3, 7), 7 * N)\ncheck('zero tick count', solve(0, N, 3), 0)\ncheck('zero target rate', solve(2 ** 60 + N, N, 0), 0)\ncheck('zero source rate rejected', solve(N, 0, 1), None)\ncheck('negative target rate rejected', solve(N, 1, -1), None)\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":" 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":"num-exact-rational-rescale","generated_at":"2026-09-29T14:36:52.106401+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Audio, video, and instrumentation timelines are often expressed as integer ticks at different rates. Both float conversion and premature integer division can break rescaling invariants.","repair":"Multiply the integer tick count by the target rate before exact floor division by the source rate.","root_cause":"The scale conversion rounds an intermediate value rather than performing one exact rational conversion at the end.","sha256":"7814161f639941fe2a05a31a2bc5ed21192b18a4e912890cc8b0f0e027cfe297","title":"Rescaling integer ticks loses precision in an intermediate step · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":38.066,"exit_code":1,"observations":[{"actual":1152921504606846977,"check":"large identity conversion keeps low bits","expected":1152921504606846977,"passed":true},{"actual":0,"check":"subunit source amount becomes whole target ticks","expected":2,"passed":false},{"actual":-1,"check":"negative fractional result floors downward","expected":-1,"passed":true},{"actual":7,"check":"exact integral rescaling","expected":7,"passed":true},{"actual":0,"check":"zero tick count","expected":0,"passed":true},{"actual":0,"check":"zero target rate","expected":0,"passed":true},{"actual":null,"check":"zero source rate rejected","expected":null,"passed":true},{"actual":null,"check":"negative target rate rejected","expected":null,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"large identity conversion keeps low bits\", \"actual\": 1152921504606846977, \"expected\": 1152921504606846977, \"passed\": true}, {\"check\": \"subunit source amount becomes whole target ticks\", \"actual\": 0, \"expected\": 2, \"passed\": false}, {\"check\": \"negative fractional result floors downward\", \"actual\": -1, \"expected\": -1, \"passed\": true}, {\"check\": \"exact integral rescaling\", \"actual\": 7, \"expected\": 7, \"passed\": true}, {\"check\": \"zero tick count\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"zero target rate\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"zero source rate rejected\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"negative target rate rejected\", \"actual\": null, \"expected\": null, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":34.433,"exit_code":1,"observations":[{"actual":1152921504606846976,"check":"large identity conversion keeps low bits","expected":1152921504606846977,"passed":false},{"actual":2,"check":"subunit source amount becomes whole target ticks","expected":2,"passed":true},{"actual":0,"check":"negative fractional result floors downward","expected":-1,"passed":false},{"actual":7,"check":"exact integral rescaling","expected":7,"passed":true},{"actual":0,"check":"zero tick count","expected":0,"passed":true},{"actual":0,"check":"zero target rate","expected":0,"passed":true},{"actual":null,"check":"zero source rate rejected","expected":null,"passed":true},{"actual":null,"check":"negative target rate rejected","expected":null,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"large identity conversion keeps low bits\", \"actual\": 1152921504606846976, \"expected\": 1152921504606846977, \"passed\": false}, {\"check\": \"subunit source amount becomes whole target ticks\", \"actual\": 2, \"expected\": 2, \"passed\": true}, {\"check\": \"negative fractional result floors downward\", \"actual\": 0, \"expected\": -1, \"passed\": false}, {\"check\": \"exact integral rescaling\", \"actual\": 7, \"expected\": 7, \"passed\": true}, {\"check\": \"zero tick count\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"zero target rate\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"zero source rate rejected\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"negative target rate rejected\", \"actual\": null, \"expected\": null, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":35.869,"exit_code":0,"observations":[{"actual":1152921504606846977,"check":"large identity conversion keeps low bits","expected":1152921504606846977,"passed":true},{"actual":2,"check":"subunit source amount becomes whole target ticks","expected":2,"passed":true},{"actual":-1,"check":"negative fractional result floors downward","expected":-1,"passed":true},{"actual":7,"check":"exact integral rescaling","expected":7,"passed":true},{"actual":0,"check":"zero tick count","expected":0,"passed":true},{"actual":0,"check":"zero target rate","expected":0,"passed":true},{"actual":null,"check":"zero source rate rejected","expected":null,"passed":true},{"actual":null,"check":"negative target rate rejected","expected":null,"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"large identity conversion keeps low bits\", \"actual\": 1152921504606846977, \"expected\": 1152921504606846977, \"passed\": true}, {\"check\": \"subunit source amount becomes whole target ticks\", \"actual\": 2, \"expected\": 2, \"passed\": true}, {\"check\": \"negative fractional result floors downward\", \"actual\": -1, \"expected\": -1, \"passed\": true}, {\"check\": \"exact integral rescaling\", \"actual\": 7, \"expected\": 7, \"passed\": true}, {\"check\": \"zero tick count\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"zero target rate\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"zero source rate rejected\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"negative target rate rejected\", \"actual\": null, \"expected\": null, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}