{"abstract":"Degenerate quadratic equation applies a quadratic denominator.","category":"Floating-point arithmetic","checks":9,"contract":"Real roots of a*x*x+b*x+c=0 for finite coefficients with bounded discriminant products. Use sign-aware q to avoid subtractive cancellation and c/q for the complementary root. Return sorted rendered roots, repeated root once, or explicit degenerate/no-real markers. Finite results are rendered to eleven significant decimal digits; modeled domain violations and arithmetic errors are explicit strings.","contract_signature":"a,b,c","evaluation_group":"s3-float-quadratic-roots","failed_approach":"The attempted local correction return [render(c/b)] if b!=0 else (\"all\" if c==0 else \"none\") still violates the explicit regression fixtures.","family":"s3-floating_point_arithmetic-quadratic-roots-linear-fallback","id":"FA-16731","implementations":{"attempt":{"sha256":"116ae50d826bceaab86a560c3d37afd5f339145cbcb59137928add7d6da159eb","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):\n    try:\n        if a==0:\n            return [render(c/b)] if b!=0 else (\"all\" if c==0 else \"none\")\n        d=b*b-4*a*c\n        if d<0: return 'no-real'\n        if d==0: return [render(-b/(2*a))]\n        s=math.sqrt(d)\n        q=-0.5*(b+math.copysign(s,b))\n        r1=q/a\n        r2=c/q\n        return [render(v) for v in sorted([r1,r2])]\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('large positive b', solve(1.0,1e16*N,1.0), [render(-1e16*N),render(-1/(1e16*N))])\ncheck('large negative b', solve(1.0,-1e16*N,1.0), [render(1/(1e16*N)),render(1e16*N)])\ncheck('normal roots', solve(1.0,-3.0,2.0), [\"1\",\"2\"])\ncheck('repeated', solve(1.0,-2.0*N,float(N*N)), [render(float(N))])\ncheck('linear', solve(0.0,2.0,-2.0*N), [render(float(N))])\ncheck('no real', solve(1.0,0.0,float(N)), \"no-real\")\ncheck('all', solve(0.0,0.0,0.0), \"all\")\ncheck('inconsistent', solve(0.0,0.0,float(N)), \"none\")\ncheck('zero constant', solve(1.0,-float(N),0.0), [\"0\",render(float(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":"03e0aa82d17a51e4105bac538f25eb1353b6c7ad59d5db08aedfcdd09af43880","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):\n    try:\n        if a==0:\n            return [render(-c/(2*b))] if b!=0 else (\"all\" if c==0 else \"none\")\n        d=b*b-4*a*c\n        if d<0: return 'no-real'\n        if d==0: return [render(-b/(2*a))]\n        s=math.sqrt(d)\n        q=-0.5*(b+math.copysign(s,b))\n        r1=q/a\n        r2=c/q\n        return [render(v) for v in sorted([r1,r2])]\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('large positive b', solve(1.0,1e16*N,1.0), [render(-1e16*N),render(-1/(1e16*N))])\ncheck('large negative b', solve(1.0,-1e16*N,1.0), [render(1/(1e16*N)),render(1e16*N)])\ncheck('normal roots', solve(1.0,-3.0,2.0), [\"1\",\"2\"])\ncheck('repeated', solve(1.0,-2.0*N,float(N*N)), [render(float(N))])\ncheck('linear', solve(0.0,2.0,-2.0*N), [render(float(N))])\ncheck('no real', solve(1.0,0.0,float(N)), \"no-real\")\ncheck('all', solve(0.0,0.0,0.0), \"all\")\ncheck('inconsistent', solve(0.0,0.0,float(N)), \"none\")\ncheck('zero constant', solve(1.0,-float(N),0.0), [\"0\",render(float(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":"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-quadratic-roots-linear-fallback","generated_at":"2026-09-29T14:39:39.466454+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.","root_cause":"Degenerate quadratic equation applies a quadratic denominator. The faulty expression is return [render(-c/(2*b))] if b!=0 else (\"all\" if c==0 else \"none\").","sha256":"c820416eb9f1d4d9d05908c18c7f490317190ab0cf9f58d4609e2f7382b3b022","title":"Degenerate quadratic equation applies a quadratic denominator · 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":44.972,"exit_code":1,"observations":[{"actual":["-1e+16","-1e-16"],"check":"large positive b","expected":["-1e+16","-1e-16"],"passed":true},{"actual":["1e-16","1e+16"],"check":"large negative b","expected":["1e-16","1e+16"],"passed":true},{"actual":["1","2"],"check":"normal roots","expected":["1","2"],"passed":true},{"actual":["1"],"check":"repeated","expected":["1"],"passed":true},{"actual":["-1"],"check":"linear","expected":["1"],"passed":false},{"actual":"no-real","check":"no real","expected":"no-real","passed":true},{"actual":"all","check":"all","expected":"all","passed":true},{"actual":"none","check":"inconsistent","expected":"none","passed":true},{"actual":["0","1"],"check":"zero constant","expected":["0","1"],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"large positive b\", \"actual\": [\"-1e+16\", \"-1e-16\"], \"expected\": [\"-1e+16\", \"-1e-16\"], \"passed\": true}, {\"check\": \"large negative b\", \"actual\": [\"1e-16\", \"1e+16\"], \"expected\": [\"1e-16\", \"1e+16\"], \"passed\": true}, {\"check\": \"normal roots\", \"actual\": [\"1\", \"2\"], \"expected\": [\"1\", \"2\"], \"passed\": true}, {\"check\": \"repeated\", \"actual\": [\"1\"], \"expected\": [\"1\"], \"passed\": true}, {\"check\": \"linear\", \"actual\": [\"-1\"], \"expected\": [\"1\"], \"passed\": false}, {\"check\": \"no real\", \"actual\": \"no-real\", \"expected\": \"no-real\", \"passed\": true}, {\"check\": \"all\", \"actual\": \"all\", \"expected\": \"all\", \"passed\": true}, {\"check\": \"inconsistent\", \"actual\": \"none\", \"expected\": \"none\", \"passed\": true}, {\"check\": \"zero constant\", \"actual\": [\"0\", \"1\"], \"expected\": [\"0\", \"1\"], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":45.891,"exit_code":1,"observations":[{"actual":["-1e+16","-1e-16"],"check":"large positive b","expected":["-1e+16","-1e-16"],"passed":true},{"actual":["1e-16","1e+16"],"check":"large negative b","expected":["1e-16","1e+16"],"passed":true},{"actual":["1","2"],"check":"normal roots","expected":["1","2"],"passed":true},{"actual":["1"],"check":"repeated","expected":["1"],"passed":true},{"actual":["0.5"],"check":"linear","expected":["1"],"passed":false},{"actual":"no-real","check":"no real","expected":"no-real","passed":true},{"actual":"all","check":"all","expected":"all","passed":true},{"actual":"none","check":"inconsistent","expected":"none","passed":true},{"actual":["0","1"],"check":"zero constant","expected":["0","1"],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"large positive b\", \"actual\": [\"-1e+16\", \"-1e-16\"], \"expected\": [\"-1e+16\", \"-1e-16\"], \"passed\": true}, {\"check\": \"large negative b\", \"actual\": [\"1e-16\", \"1e+16\"], \"expected\": [\"1e-16\", \"1e+16\"], \"passed\": true}, {\"check\": \"normal roots\", \"actual\": [\"1\", \"2\"], \"expected\": [\"1\", \"2\"], \"passed\": true}, {\"check\": \"repeated\", \"actual\": [\"1\"], \"expected\": [\"1\"], \"passed\": true}, {\"check\": \"linear\", \"actual\": [\"0.5\"], \"expected\": [\"1\"], \"passed\": false}, {\"check\": \"no real\", \"actual\": \"no-real\", \"expected\": \"no-real\", \"passed\": true}, {\"check\": \"all\", \"actual\": \"all\", \"expected\": \"all\", \"passed\": true}, {\"check\": \"inconsistent\", \"actual\": \"none\", \"expected\": \"none\", \"passed\": true}, {\"check\": \"zero constant\", \"actual\": [\"0\", \"1\"], \"expected\": [\"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."}}