{"abstract":"rz(4pi) counts as a Clifford gate instead of being skipped.","category":"Quantum circuit simulation","checks":7,"contract":"Input a gate list. t and tdg count one T each; h, s, sdg, x, y, z, cx, cz, swap count one Clifford; ccx costs 7 T and 8 Clifford; [\"rz\", q, a] with a in units of pi reduced mod 2 is skipped if 0, Clifford if a multiple of 1/2, one T if an odd multiple of 1/4, else [\"unsupported\", index]; other names give [\"unknown-gate\", index]. Return {\"t_count\", \"clifford_count\"}.","contract_signature":"x","evaluation_group":"w2-quantum_circuit_simulation-t-count-estimator","failed_approach":"The attempted repair reduces modulo 1, which turns rz(pi) into the identity and drops a Z gate.","family":"w2-quantum_circuit_simulation-t-count-estimator-angle-periodicity-reduction","id":"FA-91336","implementations":{"attempt":{"sha256":"2f459d1e5e8023a7065c0a049391f6744fbe3ba622464c0d3b9ab27f58d57791","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(x):\n    t = cliff = 0\n    for idx, op in enumerate(x):\n        name = op[0]\n        if name in ('t', 'tdg'):\n            t += 1\n        elif name in ('h', 's', 'sdg', 'x', 'y', 'z', 'cx', 'cz', 'swap'):\n            cliff += 1\n        elif name == 'ccx':\n            t += 7\n            cliff += 8\n        elif name == 'rz':\n            a = Fraction(op[2]) % 1\n            if a == 0:\n                continue\n            if (a * 2).denominator == 1:\n                cliff += 1\n            elif (a * 4).denominator == 1:\n                t += 1\n            else:\n                return ['unsupported', idx]\n        else:\n            return ['unknown-gate', idx]\n    return {'t_count': t, 'clifford_count': cliff}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression: rz two pi', [['rz', 0, '2']], {'t_count': 0, 'clifford_count': 0}], ['regression: rz four pi', [['rz', 0, '4']], {'t_count': 0, 'clifford_count': 0}], ['repair check: rz pi is Z', [['rz', 0, '1']], {'t_count': 0, 'clifford_count': 1}], ['control: rz zero', [['rz', 0, '0']], {'t_count': 0, 'clifford_count': 0}], ['control: rz half pi is S', [['rz', 0, '1/2']], {'t_count': 0, 'clifford_count': 1}], ['control: rz quarter pi', [['rz', 0, '1/4']], {'t_count': 1, 'clifford_count': 0}], ['control: tdg', [['tdg', 0]], {'t_count': 1, 'clifford_count': 0}]], [['regression: random t-count 1', [['rz', 0, '-2'], ['ccx', 0, 1, 2], ['rz', 0, '1'], ['rz', 0, '1'], ['rz', 0, '0'], ['x', 0]], {'t_count': 7, 'clifford_count': 11}], ['regression: random t-count 16', [['rz', 0, '3/4'], ['rz', 0, '-1'], ['tdg', 0], ['sdg', 0], ['rz', 0, '-2'], ['rz', 0, '3/2'], ['sdg', 0]], {'t_count': 2, 'clifford_count': 4}], ['repair check: random t-count 5', [['ccx', 0, 1, 2], ['rz', 0, '1'], ['rz', 0, '5/4'], ['tdg', 0]], {'t_count': 9, 'clifford_count': 9}], ['control: toffoli', [['ccx', 0, 1, 2]], {'t_count': 7, 'clifford_count': 8}], ['control: unsupported angle', [['h', 0], ['rz', 0, '1/8']], ['unsupported', 1]], ['control: negative angles', [['rz', 0, '-1/4'], ['rz', 1, '-3/2']], {'t_count': 1, 'clifford_count': 1}], ['control: unknown gate', [['u3', 0]], ['unknown-gate', 0]]], [['regression: random t-count 23', [['rz', 0, '-2'], ['tdg', 0], ['ccx', 0, 1, 2], ['t', 0], ['rz', 0, '4'], ['rz', 0, '-1']], {'t_count': 9, 'clifford_count': 9}], ['regression: random t-count 31', [['rz', 0, '2'], ['h', 0], ['x', 0], ['x', 0], ['t', 0], ['rz', 0, '-2']], {'t_count': 1, 'clifford_count': 3}], ['repair check: random t-count 11', [['s', 0], ['rz', 0, '5/4'], ['rz', 0, '-1'], ['x', 0], ['t', 0]], {'t_count': 2, 'clifford_count': 3}], ['control: random t-count 2', [['sdg', 0], ['rz', 0, '1/4'], ['cx', 0]], {'t_count': 1, 'clifford_count': 2}], ['control: random t-count 3', [['rz', 0, '1/2'], ['rz', 0, '0'], ['t', 0]], {'t_count': 1, 'clifford_count': 1}], ['control: random t-count 4', [['ccx', 0, 1, 2]], {'t_count': 7, 'clifford_count': 8}], ['control: random t-count 6', [['ccx', 0, 1, 2], ['x', 0], ['x', 0], ['rz', 0, '0'], ['sdg', 0], ['t', 0], ['ccx', 0, 1, 2]], {'t_count': 15, 'clifford_count': 19}]], [['regression: random t-count 37', [['t', 0], ['rz', 0, '-1'], ['cx', 0], ['t', 0], ['rz', 0, '1/4'], ['rz', 0, '2'], ['tdg', 0]], {'t_count': 4, 'clifford_count': 2}], ['regression: random t-count 42', [['cx', 0], ['rz', 0, '2'], ['rz', 0, '-1'], ['rz', 0, '1/4'], ['rz', 0, '3/4'], ['tdg', 0]], {'t_count': 3, 'clifford_count': 2}], ['regression: random t-count 16', [['rz', 0, '3/4'], ['rz', 0, '-1'], ['tdg', 0], ['sdg', 0], ['rz', 0, '-2'], ['rz', 0, '3/2'], ['sdg', 0]], {'t_count': 2, 'clifford_count': 4}], ['control: random t-count 8', [['rz', 0, '-1/4'], ['ccx', 0, 1, 2], ['ccx', 0, 1, 2], ['ccx', 0, 1, 2], ['cx', 0]], {'t_count': 22, 'clifford_count': 25}], ['control: random t-count 9', [['rz', 0, '1/4']], {'t_count': 1, 'clifford_count': 0}], ['control: random t-count 10', [['ccx', 0, 1, 2], ['s', 0], ['ccx', 0, 1, 2], ['tdg', 0]], {'t_count': 15, 'clifford_count': 17}], ['control: random t-count 13', [['rz', 0, '-1/4'], ['rz', 0, '7/2'], ['rz', 0, '3/4'], ['s', 0]], {'t_count': 2, 'clifford_count': 2}]], [['regression: random t-count 45', [['s', 0], ['rz', 0, '7/2'], ['tdg', 0], ['tdg', 0], ['rz', 0, '-1/4'], ['rz', 0, '4'], ['rz', 0, '-2']], {'t_count': 3, 'clifford_count': 2}], ['regression: random t-count 46', [['rz', 0, '3/2'], ['rz', 0, '-1/4'], ['rz', 0, '4'], ['rz', 0, '-1'], ['t', 0]], {'t_count': 2, 'clifford_count': 2}], ['regression: random t-count 23', [['rz', 0, '-2'], ['tdg', 0], ['ccx', 0, 1, 2], ['t', 0], ['rz', 0, '4'], ['rz', 0, '-1']], {'t_count': 9, 'clifford_count': 9}], ['control: random t-count 14', [['sdg', 0]], {'t_count': 0, 'clifford_count': 1}], ['control: random t-count 15', [['ccx', 0, 1, 2], ['sdg', 0], ['t', 0], ['rz', 0, '3/2']], {'t_count': 8, 'clifford_count': 10}], ['control: random t-count 17', [['tdg', 0]], {'t_count': 1, 'clifford_count': 0}], ['control: random t-count 19', [['rz', 0, '3/4'], ['rz', 0, '-1/4'], ['rz', 0, '5/4']], {'t_count': 3, 'clifford_count': 0}]]]\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":"7a19bf7679ccd121a7ef852d499f95b9307c440b904391c71e99e1ff4b36afd7","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(x):\n    t = cliff = 0\n    for idx, op in enumerate(x):\n        name = op[0]\n        if name in ('t', 'tdg'):\n            t += 1\n        elif name in ('h', 's', 'sdg', 'x', 'y', 'z', 'cx', 'cz', 'swap'):\n            cliff += 1\n        elif name == 'ccx':\n            t += 7\n            cliff += 8\n        elif name == 'rz':\n            a = Fraction(op[2])\n            if a == 0:\n                continue\n            if (a * 2).denominator == 1:\n                cliff += 1\n            elif (a * 4).denominator == 1:\n                t += 1\n            else:\n                return ['unsupported', idx]\n        else:\n            return ['unknown-gate', idx]\n    return {'t_count': t, 'clifford_count': cliff}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression: rz two pi', [['rz', 0, '2']], {'t_count': 0, 'clifford_count': 0}], ['regression: rz four pi', [['rz', 0, '4']], {'t_count': 0, 'clifford_count': 0}], ['repair check: rz pi is Z', [['rz', 0, '1']], {'t_count': 0, 'clifford_count': 1}], ['control: rz zero', [['rz', 0, '0']], {'t_count': 0, 'clifford_count': 0}], ['control: rz half pi is S', [['rz', 0, '1/2']], {'t_count': 0, 'clifford_count': 1}], ['control: rz quarter pi', [['rz', 0, '1/4']], {'t_count': 1, 'clifford_count': 0}], ['control: tdg', [['tdg', 0]], {'t_count': 1, 'clifford_count': 0}]], [['regression: random t-count 1', [['rz', 0, '-2'], ['ccx', 0, 1, 2], ['rz', 0, '1'], ['rz', 0, '1'], ['rz', 0, '0'], ['x', 0]], {'t_count': 7, 'clifford_count': 11}], ['regression: random t-count 16', [['rz', 0, '3/4'], ['rz', 0, '-1'], ['tdg', 0], ['sdg', 0], ['rz', 0, '-2'], ['rz', 0, '3/2'], ['sdg', 0]], {'t_count': 2, 'clifford_count': 4}], ['repair check: random t-count 5', [['ccx', 0, 1, 2], ['rz', 0, '1'], ['rz', 0, '5/4'], ['tdg', 0]], {'t_count': 9, 'clifford_count': 9}], ['control: toffoli', [['ccx', 0, 1, 2]], {'t_count': 7, 'clifford_count': 8}], ['control: unsupported angle', [['h', 0], ['rz', 0, '1/8']], ['unsupported', 1]], ['control: negative angles', [['rz', 0, '-1/4'], ['rz', 1, '-3/2']], {'t_count': 1, 'clifford_count': 1}], ['control: unknown gate', [['u3', 0]], ['unknown-gate', 0]]], [['regression: random t-count 23', [['rz', 0, '-2'], ['tdg', 0], ['ccx', 0, 1, 2], ['t', 0], ['rz', 0, '4'], ['rz', 0, '-1']], {'t_count': 9, 'clifford_count': 9}], ['regression: random t-count 31', [['rz', 0, '2'], ['h', 0], ['x', 0], ['x', 0], ['t', 0], ['rz', 0, '-2']], {'t_count': 1, 'clifford_count': 3}], ['repair check: random t-count 11', [['s', 0], ['rz', 0, '5/4'], ['rz', 0, '-1'], ['x', 0], ['t', 0]], {'t_count': 2, 'clifford_count': 3}], ['control: random t-count 2', [['sdg', 0], ['rz', 0, '1/4'], ['cx', 0]], {'t_count': 1, 'clifford_count': 2}], ['control: random t-count 3', [['rz', 0, '1/2'], ['rz', 0, '0'], ['t', 0]], {'t_count': 1, 'clifford_count': 1}], ['control: random t-count 4', [['ccx', 0, 1, 2]], {'t_count': 7, 'clifford_count': 8}], ['control: random t-count 6', [['ccx', 0, 1, 2], ['x', 0], ['x', 0], ['rz', 0, '0'], ['sdg', 0], ['t', 0], ['ccx', 0, 1, 2]], {'t_count': 15, 'clifford_count': 19}]], [['regression: random t-count 37', [['t', 0], ['rz', 0, '-1'], ['cx', 0], ['t', 0], ['rz', 0, '1/4'], ['rz', 0, '2'], ['tdg', 0]], {'t_count': 4, 'clifford_count': 2}], ['regression: random t-count 42', [['cx', 0], ['rz', 0, '2'], ['rz', 0, '-1'], ['rz', 0, '1/4'], ['rz', 0, '3/4'], ['tdg', 0]], {'t_count': 3, 'clifford_count': 2}], ['regression: random t-count 16', [['rz', 0, '3/4'], ['rz', 0, '-1'], ['tdg', 0], ['sdg', 0], ['rz', 0, '-2'], ['rz', 0, '3/2'], ['sdg', 0]], {'t_count': 2, 'clifford_count': 4}], ['control: random t-count 8', [['rz', 0, '-1/4'], ['ccx', 0, 1, 2], ['ccx', 0, 1, 2], ['ccx', 0, 1, 2], ['cx', 0]], {'t_count': 22, 'clifford_count': 25}], ['control: random t-count 9', [['rz', 0, '1/4']], {'t_count': 1, 'clifford_count': 0}], ['control: random t-count 10', [['ccx', 0, 1, 2], ['s', 0], ['ccx', 0, 1, 2], ['tdg', 0]], {'t_count': 15, 'clifford_count': 17}], ['control: random t-count 13', [['rz', 0, '-1/4'], ['rz', 0, '7/2'], ['rz', 0, '3/4'], ['s', 0]], {'t_count': 2, 'clifford_count': 2}]], [['regression: random t-count 45', [['s', 0], ['rz', 0, '7/2'], ['tdg', 0], ['tdg', 0], ['rz', 0, '-1/4'], ['rz', 0, '4'], ['rz', 0, '-2']], {'t_count': 3, 'clifford_count': 2}], ['regression: random t-count 46', [['rz', 0, '3/2'], ['rz', 0, '-1/4'], ['rz', 0, '4'], ['rz', 0, '-1'], ['t', 0]], {'t_count': 2, 'clifford_count': 2}], ['regression: random t-count 23', [['rz', 0, '-2'], ['tdg', 0], ['ccx', 0, 1, 2], ['t', 0], ['rz', 0, '4'], ['rz', 0, '-1']], {'t_count': 9, 'clifford_count': 9}], ['control: random t-count 14', [['sdg', 0]], {'t_count': 0, 'clifford_count': 1}], ['control: random t-count 15', [['ccx', 0, 1, 2], ['sdg', 0], ['t', 0], ['rz', 0, '3/2']], {'t_count': 8, 'clifford_count': 10}], ['control: random t-count 17', [['tdg', 0]], {'t_count': 1, 'clifford_count': 0}], ['control: random t-count 19', [['rz', 0, '3/4'], ['rz', 0, '-1/4'], ['rz', 0, '5/4']], {'t_count': 3, 'clifford_count': 0}]]]\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 bounded teaching model with a stipulated toy contract; amplitudes are rounded to fixed decimals for strict JSON output. It is not a production quantum SDK and claims no standards conformance. 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-quantum_circuit_simulation-t-count-estimator-angle-periodicity-reduction","generated_at":"2026-09-29T14:51:34.959646+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"T-count is the dominant fault-tolerant cost metric; misclassifying rotations skews resource estimates.","root_cause":"The angle is used as given, so full turns are not recognized as identity.","sha256":"8e513335d92bf7199a7a758bf7a9df1548b9fa65646e04f8b6737df3b8b5a92b","title":"T-count classifies rotation angles without reducing modulo 2 · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":42.187,"exit_code":1,"observations":[{"actual":{"clifford_count":0,"t_count":0},"check":"regression: rz two pi","expected":{"clifford_count":0,"t_count":0},"passed":true},{"actual":{"clifford_count":0,"t_count":0},"check":"regression: rz four pi","expected":{"clifford_count":0,"t_count":0},"passed":true},{"actual":{"clifford_count":0,"t_count":0},"check":"repair check: rz pi is Z","expected":{"clifford_count":1,"t_count":0},"passed":false},{"actual":{"clifford_count":0,"t_count":0},"check":"control: rz zero","expected":{"clifford_count":0,"t_count":0},"passed":true},{"actual":{"clifford_count":1,"t_count":0},"check":"control: rz half pi is S","expected":{"clifford_count":1,"t_count":0},"passed":true},{"actual":{"clifford_count":0,"t_count":1},"check":"control: rz quarter pi","expected":{"clifford_count":0,"t_count":1},"passed":true},{"actual":{"clifford_count":0,"t_count":1},"check":"control: tdg","expected":{"clifford_count":0,"t_count":1},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: rz two pi\", \"actual\": {\"t_count\": 0, \"clifford_count\": 0}, \"expected\": {\"t_count\": 0, \"clifford_count\": 0}, \"passed\": true}, {\"check\": \"regression: rz four pi\", \"actual\": {\"t_count\": 0, \"clifford_count\": 0}, \"expected\": {\"t_count\": 0, \"clifford_count\": 0}, \"passed\": true}, {\"check\": \"repair check: rz pi is Z\", \"actual\": {\"t_count\": 0, \"clifford_count\": 0}, \"expected\": {\"t_count\": 0, \"clifford_count\": 1}, \"passed\": false}, {\"check\": \"control: rz zero\", \"actual\": {\"t_count\": 0, \"clifford_count\": 0}, \"expected\": {\"t_count\": 0, \"clifford_count\": 0}, \"passed\": true}, {\"check\": \"control: rz half pi is S\", \"actual\": {\"t_count\": 0, \"clifford_count\": 1}, \"expected\": {\"t_count\": 0, \"clifford_count\": 1}, \"passed\": true}, {\"check\": \"control: rz quarter pi\", \"actual\": {\"t_count\": 1, \"clifford_count\": 0}, \"expected\": {\"t_count\": 1, \"clifford_count\": 0}, \"passed\": true}, {\"check\": \"control: tdg\", \"actual\": {\"t_count\": 1, \"clifford_count\": 0}, \"expected\": {\"t_count\": 1, \"clifford_count\": 0}, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":45.262,"exit_code":1,"observations":[{"actual":{"clifford_count":1,"t_count":0},"check":"regression: rz two pi","expected":{"clifford_count":0,"t_count":0},"passed":false},{"actual":{"clifford_count":1,"t_count":0},"check":"regression: rz four pi","expected":{"clifford_count":0,"t_count":0},"passed":false},{"actual":{"clifford_count":1,"t_count":0},"check":"repair check: rz pi is Z","expected":{"clifford_count":1,"t_count":0},"passed":true},{"actual":{"clifford_count":0,"t_count":0},"check":"control: rz zero","expected":{"clifford_count":0,"t_count":0},"passed":true},{"actual":{"clifford_count":1,"t_count":0},"check":"control: rz half pi is S","expected":{"clifford_count":1,"t_count":0},"passed":true},{"actual":{"clifford_count":0,"t_count":1},"check":"control: rz quarter pi","expected":{"clifford_count":0,"t_count":1},"passed":true},{"actual":{"clifford_count":0,"t_count":1},"check":"control: tdg","expected":{"clifford_count":0,"t_count":1},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: rz two pi\", \"actual\": {\"t_count\": 0, \"clifford_count\": 1}, \"expected\": {\"t_count\": 0, \"clifford_count\": 0}, \"passed\": false}, {\"check\": \"regression: rz four pi\", \"actual\": {\"t_count\": 0, \"clifford_count\": 1}, \"expected\": {\"t_count\": 0, \"clifford_count\": 0}, \"passed\": false}, {\"check\": \"repair check: rz pi is Z\", \"actual\": {\"t_count\": 0, \"clifford_count\": 1}, \"expected\": {\"t_count\": 0, \"clifford_count\": 1}, \"passed\": true}, {\"check\": \"control: rz zero\", \"actual\": {\"t_count\": 0, \"clifford_count\": 0}, \"expected\": {\"t_count\": 0, \"clifford_count\": 0}, \"passed\": true}, {\"check\": \"control: rz half pi is S\", \"actual\": {\"t_count\": 0, \"clifford_count\": 1}, \"expected\": {\"t_count\": 0, \"clifford_count\": 1}, \"passed\": true}, {\"check\": \"control: rz quarter pi\", \"actual\": {\"t_count\": 1, \"clifford_count\": 0}, \"expected\": {\"t_count\": 1, \"clifford_count\": 0}, \"passed\": true}, {\"check\": \"control: tdg\", \"actual\": {\"t_count\": 1, \"clifford_count\": 0}, \"expected\": {\"t_count\": 1, \"clifford_count\": 0}, \"passed\": true}], \"passed\": false}\n"}},"member_only":{"stages":["fixed"],"fields":["implementations.fixed","verification.fixed","harness","repair"],"note":"The verified repair, its recorded checks, the repair description, and the scoring harness are available to members."}}