{"abstract":"Complex division forgets the ratio factor in the dominant-imaginary denominator.","category":"Floating-point arithmetic","checks":12,"contract":"Divide finite complex a+ib by nonzero c+id using a denominator-ratio branch. Fixtures bound products and exercise huge or tiny denominators whose naive squares overflow or underflow. Return rendered real and imaginary components. Finite results are rendered to eleven significant decimal digits; modeled domain violations and arithmetic errors are explicit strings.","evaluation_group":"s3-float-complex-divide","failed_approach":"The attempted local correction den=d still violates the explicit regression fixtures.","family":"s3-floating_point_arithmetic-complex-divide-imag-denominator","id":"FA-16396","implementations":{"attempt":{"sha256":"e34dd5feee649698da0e68e7297a7d9e6a005505dee4d3213b6d0a21ebeabf57","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nimport struct\ndef render(x):\n    if math.isnan(x): return 'nan'\n    if math.isinf(x): return '-infinity' if x<0 else '+infinity'\n    return format(x,'.11g')\n\nN = 1\nobservations = []\ndef solve(a,b,c,d):\n    try:\n        if c==0 and d==0: return 'zero-denominator'\n        if abs(c)>=abs(d):\n            r=d/c\n            den=c+d*r\n            real=(a+b*r)/den\n            imag=(b-a*r)/den\n        else:\n            r=c/d\n            den=d\n            real=(a*r+b)/den\n            imag=(b*r-a)/den\n        return [render(real),render(imag)]\n    except (ValueError, OverflowError, ZeroDivisionError, TypeError):\n        return \"arithmetic-error\"\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('asymmetric numerator', solve(3.0,2.0,4.0,1.0), [render(14/17),render(5/17)])\ncheck('asymmetric imaginary', solve(3.0,2.0,1.0,4.0), [render(11/17),render(-10/17)])\ncheck('negative imaginary ratio', solve(3.0,2.0,-1.0,4.0), [render(5/17),render(-14/17)])\ncheck('negative extreme ratio', solve(float(N),2.0,-1e200,1e-200), [render(-N/1e200),render(-2e-200)])\ncheck('large real denominator', solve(float(N),2.0,1e200,1e199), [render((N+0.2)/1.01e200),render((2-N*0.1)/1.01e200)])\ncheck('tiny imaginary denominator', solve(float(N),2.0,1e-201,1e-200), [render((N*0.1+2)/1.01e-200),render((0.2-N)/1.01e-200)])\ncheck('normal real branch', solve(float(N),2.0,4.0,1.0), [render((4*N+2)/17),render((8-N)/17)])\ncheck('normal imaginary branch', solve(float(N),2.0,1.0,4.0), [render((N+8)/17),render((2-4*N)/17)])\ncheck('negative denominator', solve(float(N),2.0,-4.0,1.0), [render((-4*N+2)/17),render((-8-N)/17)])\ncheck('pure real', solve(float(N),2.0,2.0,0.0), [render(N/2),\"1\"])\ncheck('pure imaginary', solve(float(N),2.0,0.0,2.0), [\"1\",render(-N/2)])\ncheck('zero denominator', solve(float(N),2.0,0.0,0.0), \"zero-denominator\")\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":"d803ac2e9d6dda3432cf171837e9e7e176602a08ddb18738983044b7ad9f746e","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nimport struct\ndef render(x):\n    if math.isnan(x): return 'nan'\n    if math.isinf(x): return '-infinity' if x<0 else '+infinity'\n    return format(x,'.11g')\n\nN = 1\nobservations = []\ndef solve(a,b,c,d):\n    try:\n        if c==0 and d==0: return 'zero-denominator'\n        if abs(c)>=abs(d):\n            r=d/c\n            den=c+d*r\n            real=(a+b*r)/den\n            imag=(b-a*r)/den\n        else:\n            r=c/d\n            den=d+c\n            real=(a*r+b)/den\n            imag=(b*r-a)/den\n        return [render(real),render(imag)]\n    except (ValueError, OverflowError, ZeroDivisionError, TypeError):\n        return \"arithmetic-error\"\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('asymmetric numerator', solve(3.0,2.0,4.0,1.0), [render(14/17),render(5/17)])\ncheck('asymmetric imaginary', solve(3.0,2.0,1.0,4.0), [render(11/17),render(-10/17)])\ncheck('negative imaginary ratio', solve(3.0,2.0,-1.0,4.0), [render(5/17),render(-14/17)])\ncheck('negative extreme ratio', solve(float(N),2.0,-1e200,1e-200), [render(-N/1e200),render(-2e-200)])\ncheck('large real denominator', solve(float(N),2.0,1e200,1e199), [render((N+0.2)/1.01e200),render((2-N*0.1)/1.01e200)])\ncheck('tiny imaginary denominator', solve(float(N),2.0,1e-201,1e-200), [render((N*0.1+2)/1.01e-200),render((0.2-N)/1.01e-200)])\ncheck('normal real branch', solve(float(N),2.0,4.0,1.0), [render((4*N+2)/17),render((8-N)/17)])\ncheck('normal imaginary branch', solve(float(N),2.0,1.0,4.0), [render((N+8)/17),render((2-4*N)/17)])\ncheck('negative denominator', solve(float(N),2.0,-4.0,1.0), [render((-4*N+2)/17),render((-8-N)/17)])\ncheck('pure real', solve(float(N),2.0,2.0,0.0), [render(N/2),\"1\"])\ncheck('pure imaginary', solve(float(N),2.0,0.0,2.0), [\"1\",render(-N/2)])\ncheck('zero denominator', solve(float(N),2.0,0.0,0.0), \"zero-denominator\")\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":"ea0c34e8a04d95e0092f14e87c50abcf9d046b26c24874700765c5f3dd5016d2","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nimport struct\ndef render(x):\n    if math.isnan(x): return 'nan'\n    if math.isinf(x): return '-infinity' if x<0 else '+infinity'\n    return format(x,'.11g')\n\nN = 1\nobservations = []\ndef solve(a,b,c,d):\n    try:\n        if c==0 and d==0: return 'zero-denominator'\n        if abs(c)>=abs(d):\n            r=d/c\n            den=c+d*r\n            real=(a+b*r)/den\n            imag=(b-a*r)/den\n        else:\n            r=c/d\n            den=d+c*r\n            real=(a*r+b)/den\n            imag=(b*r-a)/den\n        return [render(real),render(imag)]\n    except (ValueError, OverflowError, ZeroDivisionError, TypeError):\n        return \"arithmetic-error\"\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('asymmetric numerator', solve(3.0,2.0,4.0,1.0), [render(14/17),render(5/17)])\ncheck('asymmetric imaginary', solve(3.0,2.0,1.0,4.0), [render(11/17),render(-10/17)])\ncheck('negative imaginary ratio', solve(3.0,2.0,-1.0,4.0), [render(5/17),render(-14/17)])\ncheck('negative extreme ratio', solve(float(N),2.0,-1e200,1e-200), [render(-N/1e200),render(-2e-200)])\ncheck('large real denominator', solve(float(N),2.0,1e200,1e199), [render((N+0.2)/1.01e200),render((2-N*0.1)/1.01e200)])\ncheck('tiny imaginary denominator', solve(float(N),2.0,1e-201,1e-200), [render((N*0.1+2)/1.01e-200),render((0.2-N)/1.01e-200)])\ncheck('normal real branch', solve(float(N),2.0,4.0,1.0), [render((4*N+2)/17),render((8-N)/17)])\ncheck('normal imaginary branch', solve(float(N),2.0,1.0,4.0), [render((N+8)/17),render((2-4*N)/17)])\ncheck('negative denominator', solve(float(N),2.0,-4.0,1.0), [render((-4*N+2)/17),render((-8-N)/17)])\ncheck('pure real', solve(float(N),2.0,2.0,0.0), [render(N/2),\"1\"])\ncheck('pure imaginary', solve(float(N),2.0,0.0,2.0), [\"1\",render(-N/2)])\ncheck('zero denominator', solve(float(N),2.0,0.0,0.0), \"zero-denominator\")\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":"Controlled binary64 or explicitly stipulated miniature format; no hardware exception flags or platform floating environment are modeled. 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":"s3-floating_point_arithmetic-complex-divide-imag-denominator","generated_at":"2026-09-29T14:39:36.015734+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"An offline floating representation model isolates a reproducible arithmetic fault.","repair":"Apply the contract at this fault site using den=d+c*r.","root_cause":"Complex division forgets the ratio factor in the dominant-imaginary denominator. The faulty expression is den=d+c.","sha256":"1292da6d01ae550fb691d0cb10ffbd410020f0faa8979ab3d932237ffd8e9365","title":"Complex division forgets the ratio factor in the dominant-imaginary denominator · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":40.961,"exit_code":1,"observations":[{"actual":["0.82352941176","0.29411764706"],"check":"asymmetric numerator","expected":["0.82352941176","0.29411764706"],"passed":true},{"actual":["0.6875","-0.625"],"check":"asymmetric imaginary","expected":["0.64705882353","-0.58823529412"],"passed":false},{"actual":["0.3125","-0.875"],"check":"negative imaginary ratio","expected":["0.29411764706","-0.82352941176"],"passed":false},{"actual":["-1e-200","-2e-200"],"check":"negative extreme ratio","expected":["-1e-200","-2e-200"],"passed":true},{"actual":["1.1881188119e-200","1.8811881188e-200"],"check":"large real denominator","expected":["1.1881188119e-200","1.8811881188e-200"],"passed":true},{"actual":["2.1e+200","-8e+199"],"check":"tiny imaginary denominator","expected":["2.0792079208e+200","-7.9207920792e+199"],"passed":false},{"actual":["0.35294117647","0.41176470588"],"check":"normal real branch","expected":["0.35294117647","0.41176470588"],"passed":true},{"actual":["0.5625","-0.125"],"check":"normal imaginary branch","expected":["0.52941176471","-0.11764705882"],"passed":false},{"actual":["-0.11764705882","-0.52941176471"],"check":"negative denominator","expected":["-0.11764705882","-0.52941176471"],"passed":true},{"actual":["0.5","1"],"check":"pure real","expected":["0.5","1"],"passed":true},{"actual":["1","-0.5"],"check":"pure imaginary","expected":["1","-0.5"],"passed":true},{"actual":"zero-denominator","check":"zero denominator","expected":"zero-denominator","passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"asymmetric numerator\", \"actual\": [\"0.82352941176\", \"0.29411764706\"], \"expected\": [\"0.82352941176\", \"0.29411764706\"], \"passed\": true}, {\"check\": \"asymmetric imaginary\", \"actual\": [\"0.6875\", \"-0.625\"], \"expected\": [\"0.64705882353\", \"-0.58823529412\"], \"passed\": false}, {\"check\": \"negative imaginary ratio\", \"actual\": [\"0.3125\", \"-0.875\"], \"expected\": [\"0.29411764706\", \"-0.82352941176\"], \"passed\": false}, {\"check\": \"negative extreme ratio\", \"actual\": [\"-1e-200\", \"-2e-200\"], \"expected\": [\"-1e-200\", \"-2e-200\"], \"passed\": true}, {\"check\": \"large real denominator\", \"actual\": [\"1.1881188119e-200\", \"1.8811881188e-200\"], \"expected\": [\"1.1881188119e-200\", \"1.8811881188e-200\"], \"passed\": true}, {\"check\": \"tiny imaginary denominator\", \"actual\": [\"2.1e+200\", \"-8e+199\"], \"expected\": [\"2.0792079208e+200\", \"-7.9207920792e+199\"], \"passed\": false}, {\"check\": \"normal real branch\", \"actual\": [\"0.35294117647\", \"0.41176470588\"], \"expected\": [\"0.35294117647\", \"0.41176470588\"], \"passed\": true}, {\"check\": \"normal imaginary branch\", \"actual\": [\"0.5625\", \"-0.125\"], \"expected\": [\"0.52941176471\", \"-0.11764705882\"], \"passed\": false}, {\"check\": \"negative denominator\", \"actual\": [\"-0.11764705882\", \"-0.52941176471\"], \"expected\": [\"-0.11764705882\", \"-0.52941176471\"], \"passed\": true}, {\"check\": \"pure real\", \"actual\": [\"0.5\", \"1\"], \"expected\": [\"0.5\", \"1\"], \"passed\": true}, {\"check\": \"pure imaginary\", \"actual\": [\"1\", \"-0.5\"], \"expected\": [\"1\", \"-0.5\"], \"passed\": true}, {\"check\": \"zero denominator\", \"actual\": \"zero-denominator\", \"expected\": \"zero-denominator\", \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":43.069,"exit_code":1,"observations":[{"actual":["0.82352941176","0.29411764706"],"check":"asymmetric numerator","expected":["0.82352941176","0.29411764706"],"passed":true},{"actual":["0.55","-0.5"],"check":"asymmetric imaginary","expected":["0.64705882353","-0.58823529412"],"passed":false},{"actual":["0.41666666667","-1.1666666667"],"check":"negative imaginary ratio","expected":["0.29411764706","-0.82352941176"],"passed":false},{"actual":["-1e-200","-2e-200"],"check":"negative extreme ratio","expected":["-1e-200","-2e-200"],"passed":true},{"actual":["1.1881188119e-200","1.8811881188e-200"],"check":"large real denominator","expected":["1.1881188119e-200","1.8811881188e-200"],"passed":true},{"actual":["1.9090909091e+200","-7.2727272727e+199"],"check":"tiny imaginary denominator","expected":["2.0792079208e+200","-7.9207920792e+199"],"passed":false},{"actual":["0.35294117647","0.41176470588"],"check":"normal real branch","expected":["0.35294117647","0.41176470588"],"passed":true},{"actual":["0.45","-0.1"],"check":"normal imaginary branch","expected":["0.52941176471","-0.11764705882"],"passed":false},{"actual":["-0.11764705882","-0.52941176471"],"check":"negative denominator","expected":["-0.11764705882","-0.52941176471"],"passed":true},{"actual":["0.5","1"],"check":"pure real","expected":["0.5","1"],"passed":true},{"actual":["1","-0.5"],"check":"pure imaginary","expected":["1","-0.5"],"passed":true},{"actual":"zero-denominator","check":"zero denominator","expected":"zero-denominator","passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"asymmetric numerator\", \"actual\": [\"0.82352941176\", \"0.29411764706\"], \"expected\": [\"0.82352941176\", \"0.29411764706\"], \"passed\": true}, {\"check\": \"asymmetric imaginary\", \"actual\": [\"0.55\", \"-0.5\"], \"expected\": [\"0.64705882353\", \"-0.58823529412\"], \"passed\": false}, {\"check\": \"negative imaginary ratio\", \"actual\": [\"0.41666666667\", \"-1.1666666667\"], \"expected\": [\"0.29411764706\", \"-0.82352941176\"], \"passed\": false}, {\"check\": \"negative extreme ratio\", \"actual\": [\"-1e-200\", \"-2e-200\"], \"expected\": [\"-1e-200\", \"-2e-200\"], \"passed\": true}, {\"check\": \"large real denominator\", \"actual\": [\"1.1881188119e-200\", \"1.8811881188e-200\"], \"expected\": [\"1.1881188119e-200\", \"1.8811881188e-200\"], \"passed\": true}, {\"check\": \"tiny imaginary denominator\", \"actual\": [\"1.9090909091e+200\", \"-7.2727272727e+199\"], \"expected\": [\"2.0792079208e+200\", \"-7.9207920792e+199\"], \"passed\": false}, {\"check\": \"normal real branch\", \"actual\": [\"0.35294117647\", \"0.41176470588\"], \"expected\": [\"0.35294117647\", \"0.41176470588\"], \"passed\": true}, {\"check\": \"normal imaginary branch\", \"actual\": [\"0.45\", \"-0.1\"], \"expected\": [\"0.52941176471\", \"-0.11764705882\"], \"passed\": false}, {\"check\": \"negative denominator\", \"actual\": [\"-0.11764705882\", \"-0.52941176471\"], \"expected\": [\"-0.11764705882\", \"-0.52941176471\"], \"passed\": true}, {\"check\": \"pure real\", \"actual\": [\"0.5\", \"1\"], \"expected\": [\"0.5\", \"1\"], \"passed\": true}, {\"check\": \"pure imaginary\", \"actual\": [\"1\", \"-0.5\"], \"expected\": [\"1\", \"-0.5\"], \"passed\": true}, {\"check\": \"zero denominator\", \"actual\": \"zero-denominator\", \"expected\": \"zero-denominator\", \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":41.033,"exit_code":0,"observations":[{"actual":["0.82352941176","0.29411764706"],"check":"asymmetric numerator","expected":["0.82352941176","0.29411764706"],"passed":true},{"actual":["0.64705882353","-0.58823529412"],"check":"asymmetric imaginary","expected":["0.64705882353","-0.58823529412"],"passed":true},{"actual":["0.29411764706","-0.82352941176"],"check":"negative imaginary ratio","expected":["0.29411764706","-0.82352941176"],"passed":true},{"actual":["-1e-200","-2e-200"],"check":"negative extreme ratio","expected":["-1e-200","-2e-200"],"passed":true},{"actual":["1.1881188119e-200","1.8811881188e-200"],"check":"large real denominator","expected":["1.1881188119e-200","1.8811881188e-200"],"passed":true},{"actual":["2.0792079208e+200","-7.9207920792e+199"],"check":"tiny imaginary denominator","expected":["2.0792079208e+200","-7.9207920792e+199"],"passed":true},{"actual":["0.35294117647","0.41176470588"],"check":"normal real branch","expected":["0.35294117647","0.41176470588"],"passed":true},{"actual":["0.52941176471","-0.11764705882"],"check":"normal imaginary branch","expected":["0.52941176471","-0.11764705882"],"passed":true},{"actual":["-0.11764705882","-0.52941176471"],"check":"negative denominator","expected":["-0.11764705882","-0.52941176471"],"passed":true},{"actual":["0.5","1"],"check":"pure real","expected":["0.5","1"],"passed":true},{"actual":["1","-0.5"],"check":"pure imaginary","expected":["1","-0.5"],"passed":true},{"actual":"zero-denominator","check":"zero denominator","expected":"zero-denominator","passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"asymmetric numerator\", \"actual\": [\"0.82352941176\", \"0.29411764706\"], \"expected\": [\"0.82352941176\", \"0.29411764706\"], \"passed\": true}, {\"check\": \"asymmetric imaginary\", \"actual\": [\"0.64705882353\", \"-0.58823529412\"], \"expected\": [\"0.64705882353\", \"-0.58823529412\"], \"passed\": true}, {\"check\": \"negative imaginary ratio\", \"actual\": [\"0.29411764706\", \"-0.82352941176\"], \"expected\": [\"0.29411764706\", \"-0.82352941176\"], \"passed\": true}, {\"check\": \"negative extreme ratio\", \"actual\": [\"-1e-200\", \"-2e-200\"], \"expected\": [\"-1e-200\", \"-2e-200\"], \"passed\": true}, {\"check\": \"large real denominator\", \"actual\": [\"1.1881188119e-200\", \"1.8811881188e-200\"], \"expected\": [\"1.1881188119e-200\", \"1.8811881188e-200\"], \"passed\": true}, {\"check\": \"tiny imaginary denominator\", \"actual\": [\"2.0792079208e+200\", \"-7.9207920792e+199\"], \"expected\": [\"2.0792079208e+200\", \"-7.9207920792e+199\"], \"passed\": true}, {\"check\": \"normal real branch\", \"actual\": [\"0.35294117647\", \"0.41176470588\"], \"expected\": [\"0.35294117647\", \"0.41176470588\"], \"passed\": true}, {\"check\": \"normal imaginary branch\", \"actual\": [\"0.52941176471\", \"-0.11764705882\"], \"expected\": [\"0.52941176471\", \"-0.11764705882\"], \"passed\": true}, {\"check\": \"negative denominator\", \"actual\": [\"-0.11764705882\", \"-0.52941176471\"], \"expected\": [\"-0.11764705882\", \"-0.52941176471\"], \"passed\": true}, {\"check\": \"pure real\", \"actual\": [\"0.5\", \"1\"], \"expected\": [\"0.5\", \"1\"], \"passed\": true}, {\"check\": \"pure imaginary\", \"actual\": [\"1\", \"-0.5\"], \"expected\": [\"1\", \"-0.5\"], \"passed\": true}, {\"check\": \"zero denominator\", \"actual\": \"zero-denominator\", \"expected\": \"zero-denominator\", \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}