{"abstract":"Expression numbering commutes subtraction operands.","category":"Compiler transformation correctness","checks":6,"contract":"Return an expression key [opcode, operand1, operand2]; add and mul commute, sub and div preserve order. Operands are integer value numbers.","contract_signature":"op, a, b","evaluation_group":"model-976179ca44d8371a","failed_approach":"Special casing subtraction still commutes division.","family":"z-compilers-cse-operands","id":"FA-11451","implementations":{"attempt":{"sha256":"317835bb601653acda33ba84a5ac9099e835bd0cefa9e2fcbb35cc0f1c0e20ea","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(op, a, b):\n    return [op,a,b] if op == 'sub' else [op] + sorted([a,b])\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('add canonical', solve('add',N+1,N), ['add',N,N+1])\ncheck('multiply canonical', solve('mul',N+1,N), ['mul',N,N+1])\ncheck('sub ordered', solve('sub',N+1,N), ['sub',N+1,N])\ncheck('div ordered', solve('div',N+1,N), ['div',N+1,N])\ncheck('equal operands', solve('div',N,N), ['div',N,N])\ncheck('already canonical', solve('add',0,N), ['add',0,N])\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":"ce6aa54788b5383dd9bf731b7b0f6e71d8c7af18f88d88a429ac608b0246c7f8","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(op, a, b):\n    return [op] + sorted([a,b])\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('add canonical', solve('add',N+1,N), ['add',N,N+1])\ncheck('multiply canonical', solve('mul',N+1,N), ['mul',N,N+1])\ncheck('sub ordered', solve('sub',N+1,N), ['sub',N+1,N])\ncheck('div ordered', solve('div',N+1,N), ['div',N+1,N])\ncheck('equal operands', solve('div',N,N), ['div',N,N])\ncheck('already canonical', solve('add',0,N), ['add',0,N])\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":"z-compilers-cse-operands","generated_at":"2026-09-29T14:38:48.066431+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"A deterministic miniature compiler-pass model; inputs are explicit IR facts, not a production compiler.","root_cause":"Canonicalization sorts operands for every binary opcode.","sha256":"ae17f2dfb474e9f88c05511c9041d0b7f6fe47807750bd753d8771a6d87e63a0","title":"Expression numbering commutes subtraction operands · 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":40.86,"exit_code":1,"observations":[{"actual":["add",1,2],"check":"add canonical","expected":["add",1,2],"passed":true},{"actual":["mul",1,2],"check":"multiply canonical","expected":["mul",1,2],"passed":true},{"actual":["sub",2,1],"check":"sub ordered","expected":["sub",2,1],"passed":true},{"actual":["div",1,2],"check":"div ordered","expected":["div",2,1],"passed":false},{"actual":["div",1,1],"check":"equal operands","expected":["div",1,1],"passed":true},{"actual":["add",0,1],"check":"already canonical","expected":["add",0,1],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"add canonical\", \"actual\": [\"add\", 1, 2], \"expected\": [\"add\", 1, 2], \"passed\": true}, {\"check\": \"multiply canonical\", \"actual\": [\"mul\", 1, 2], \"expected\": [\"mul\", 1, 2], \"passed\": true}, {\"check\": \"sub ordered\", \"actual\": [\"sub\", 2, 1], \"expected\": [\"sub\", 2, 1], \"passed\": true}, {\"check\": \"div ordered\", \"actual\": [\"div\", 1, 2], \"expected\": [\"div\", 2, 1], \"passed\": false}, {\"check\": \"equal operands\", \"actual\": [\"div\", 1, 1], \"expected\": [\"div\", 1, 1], \"passed\": true}, {\"check\": \"already canonical\", \"actual\": [\"add\", 0, 1], \"expected\": [\"add\", 0, 1], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":38.767,"exit_code":1,"observations":[{"actual":["add",1,2],"check":"add canonical","expected":["add",1,2],"passed":true},{"actual":["mul",1,2],"check":"multiply canonical","expected":["mul",1,2],"passed":true},{"actual":["sub",1,2],"check":"sub ordered","expected":["sub",2,1],"passed":false},{"actual":["div",1,2],"check":"div ordered","expected":["div",2,1],"passed":false},{"actual":["div",1,1],"check":"equal operands","expected":["div",1,1],"passed":true},{"actual":["add",0,1],"check":"already canonical","expected":["add",0,1],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"add canonical\", \"actual\": [\"add\", 1, 2], \"expected\": [\"add\", 1, 2], \"passed\": true}, {\"check\": \"multiply canonical\", \"actual\": [\"mul\", 1, 2], \"expected\": [\"mul\", 1, 2], \"passed\": true}, {\"check\": \"sub ordered\", \"actual\": [\"sub\", 1, 2], \"expected\": [\"sub\", 2, 1], \"passed\": false}, {\"check\": \"div ordered\", \"actual\": [\"div\", 1, 2], \"expected\": [\"div\", 2, 1], \"passed\": false}, {\"check\": \"equal operands\", \"actual\": [\"div\", 1, 1], \"expected\": [\"div\", 1, 1], \"passed\": true}, {\"check\": \"already canonical\", \"actual\": [\"add\", 0, 1], \"expected\": [\"add\", 0, 1], \"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."}}