{"abstract":"Zero decoding conflates zero and subnormal.","category":"Floating-point arithmetic","checks":10,"contract":"Decode an unsigned 64-bit IEEE binary64 encoding into sign, kind, unbiased exponent, integer significand, quiet flag and payload. Nonfinite fields use null; zero and subnormal exponents are -1022.","evaluation_group":"s3-float-decode","failed_approach":"Treating all zero exponents as zero erases subnormals.","family":"s3-floating_point_arithmetic-decode-zero-kind","id":"FA-15871","implementations":{"attempt":{"sha256":"1da88fa948d48fa09de007ab2dfd67a441d7dbfbe8ff6717ee626e4b7342860a","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nimport struct\nN = 1\nobservations = []\ndef solve(bits):\n    sign = -1 if bits >> 63 else 1\n    exp = (bits >> 52) & 2047\n    fraction = bits & ((1 << 52)-1)\n    if exp == 2047:\n        kind = 'nan' if fraction else 'infinity'\n        quiet = bool(fraction & (1 << 51)) if fraction else None\n        payload = fraction & ((1 << 51)-1) if fraction else None\n        return [sign, kind, None, None, quiet, payload]\n    kind = \"zero\" if exp == 0 else \"normal\"\n    unbiased = exp-1023 if exp else -1022\n    significand = fraction | (1 << 52) if exp else fraction\n    return [sign, kind, unbiased, significand, None, None]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('positive zero', solve(0), [1,'zero',-1022,0,None,None])\ncheck('negative zero', solve(1<<63), [-1,'zero',-1022,0,None,None])\ncheck('tiny subnormal', solve(N), [1,'subnormal',-1022,N,None,None])\ncheck('negative subnormal', solve((1<<63)|N), [-1,'subnormal',-1022,N,None,None])\ncheck('normal exact power', solve((1023+N)<<52), [1,'normal',N,1<<52,None,None])\ncheck('normal fraction', solve((1023<<52)|N), [1,'normal',0,(1<<52)|N,None,None])\ncheck('positive infinity', solve(2047<<52), [1,'infinity',None,None,None,None])\ncheck('negative infinity', solve((1<<63)|(2047<<52)), [-1,'infinity',None,None,None,None])\ncheck('quiet payload', solve((2047<<52)|(1<<51)|N), [1,'nan',None,None,True,N])\ncheck('signaling payload', solve((2047<<52)|N), [1,'nan',None,None,False,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":"a95ecd5f72dfd9f3d68a613d4af20569bd48d7ba43093e2e62952c6edeca2bc8","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nimport struct\nN = 1\nobservations = []\ndef solve(bits):\n    sign = -1 if bits >> 63 else 1\n    exp = (bits >> 52) & 2047\n    fraction = bits & ((1 << 52)-1)\n    if exp == 2047:\n        kind = 'nan' if fraction else 'infinity'\n        quiet = bool(fraction & (1 << 51)) if fraction else None\n        payload = fraction & ((1 << 51)-1) if fraction else None\n        return [sign, kind, None, None, quiet, payload]\n    kind = \"subnormal\" if exp == 0 else \"normal\"\n    unbiased = exp-1023 if exp else -1022\n    significand = fraction | (1 << 52) if exp else fraction\n    return [sign, kind, unbiased, significand, None, None]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('positive zero', solve(0), [1,'zero',-1022,0,None,None])\ncheck('negative zero', solve(1<<63), [-1,'zero',-1022,0,None,None])\ncheck('tiny subnormal', solve(N), [1,'subnormal',-1022,N,None,None])\ncheck('negative subnormal', solve((1<<63)|N), [-1,'subnormal',-1022,N,None,None])\ncheck('normal exact power', solve((1023+N)<<52), [1,'normal',N,1<<52,None,None])\ncheck('normal fraction', solve((1023<<52)|N), [1,'normal',0,(1<<52)|N,None,None])\ncheck('positive infinity', solve(2047<<52), [1,'infinity',None,None,None,None])\ncheck('negative infinity', solve((1<<63)|(2047<<52)), [-1,'infinity',None,None,None,None])\ncheck('quiet payload', solve((2047<<52)|(1<<51)|N), [1,'nan',None,None,True,N])\ncheck('signaling payload', solve((2047<<52)|N), [1,'nan',None,None,False,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"},"fixed":{"sha256":"ade469eac871c68aa636078841755720c4f4167ad2c11862b5cbea2f94e013a1","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nimport struct\nN = 1\nobservations = []\ndef solve(bits):\n    sign = -1 if bits >> 63 else 1\n    exp = (bits >> 52) & 2047\n    fraction = bits & ((1 << 52)-1)\n    if exp == 2047:\n        kind = 'nan' if fraction else 'infinity'\n        quiet = bool(fraction & (1 << 51)) if fraction else None\n        payload = fraction & ((1 << 51)-1) if fraction else None\n        return [sign, kind, None, None, quiet, payload]\n    kind = 'zero' if exp == 0 and fraction == 0 else 'subnormal' if exp == 0 else 'normal'\n    unbiased = exp-1023 if exp else -1022\n    significand = fraction | (1 << 52) if exp else fraction\n    return [sign, kind, unbiased, significand, None, None]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('positive zero', solve(0), [1,'zero',-1022,0,None,None])\ncheck('negative zero', solve(1<<63), [-1,'zero',-1022,0,None,None])\ncheck('tiny subnormal', solve(N), [1,'subnormal',-1022,N,None,None])\ncheck('negative subnormal', solve((1<<63)|N), [-1,'subnormal',-1022,N,None,None])\ncheck('normal exact power', solve((1023+N)<<52), [1,'normal',N,1<<52,None,None])\ncheck('normal fraction', solve((1023<<52)|N), [1,'normal',0,(1<<52)|N,None,None])\ncheck('positive infinity', solve(2047<<52), [1,'infinity',None,None,None,None])\ncheck('negative infinity', solve((1<<63)|(2047<<52)), [-1,'infinity',None,None,None,None])\ncheck('quiet payload', solve((2047<<52)|(1<<51)|N), [1,'nan',None,None,True,N])\ncheck('signaling payload', solve((2047<<52)|N), [1,'nan',None,None,False,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-decode-zero-kind","generated_at":"2026-09-29T14:39:30.945423+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":"Classify zero only when both fields are zero.","root_cause":"The zero exponent is interpreted without inspecting the fraction.","sha256":"c8810e7b30989398f0486ec4324972cb6b03cbf019cd2f90e6f8675512f9ce72","title":"Zero decoding conflates zero and subnormal · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":43.675,"exit_code":1,"observations":[{"actual":[1,"zero",-1022,0,null,null],"check":"positive zero","expected":[1,"zero",-1022,0,null,null],"passed":true},{"actual":[-1,"zero",-1022,0,null,null],"check":"negative zero","expected":[-1,"zero",-1022,0,null,null],"passed":true},{"actual":[1,"zero",-1022,1,null,null],"check":"tiny subnormal","expected":[1,"subnormal",-1022,1,null,null],"passed":false},{"actual":[-1,"zero",-1022,1,null,null],"check":"negative subnormal","expected":[-1,"subnormal",-1022,1,null,null],"passed":false},{"actual":[1,"normal",1,4503599627370496,null,null],"check":"normal exact power","expected":[1,"normal",1,4503599627370496,null,null],"passed":true},{"actual":[1,"normal",0,4503599627370497,null,null],"check":"normal fraction","expected":[1,"normal",0,4503599627370497,null,null],"passed":true},{"actual":[1,"infinity",null,null,null,null],"check":"positive infinity","expected":[1,"infinity",null,null,null,null],"passed":true},{"actual":[-1,"infinity",null,null,null,null],"check":"negative infinity","expected":[-1,"infinity",null,null,null,null],"passed":true},{"actual":[1,"nan",null,null,true,1],"check":"quiet payload","expected":[1,"nan",null,null,true,1],"passed":true},{"actual":[1,"nan",null,null,false,1],"check":"signaling payload","expected":[1,"nan",null,null,false,1],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"positive zero\", \"actual\": [1, \"zero\", -1022, 0, null, null], \"expected\": [1, \"zero\", -1022, 0, null, null], \"passed\": true}, {\"check\": \"negative zero\", \"actual\": [-1, \"zero\", -1022, 0, null, null], \"expected\": [-1, \"zero\", -1022, 0, null, null], \"passed\": true}, {\"check\": \"tiny subnormal\", \"actual\": [1, \"zero\", -1022, 1, null, null], \"expected\": [1, \"subnormal\", -1022, 1, null, null], \"passed\": false}, {\"check\": \"negative subnormal\", \"actual\": [-1, \"zero\", -1022, 1, null, null], \"expected\": [-1, \"subnormal\", -1022, 1, null, null], \"passed\": false}, {\"check\": \"normal exact power\", \"actual\": [1, \"normal\", 1, 4503599627370496, null, null], \"expected\": [1, \"normal\", 1, 4503599627370496, null, null], \"passed\": true}, {\"check\": \"normal fraction\", \"actual\": [1, \"normal\", 0, 4503599627370497, null, null], \"expected\": [1, \"normal\", 0, 4503599627370497, null, null], \"passed\": true}, {\"check\": \"positive infinity\", \"actual\": [1, \"infinity\", null, null, null, null], \"expected\": [1, \"infinity\", null, null, null, null], \"passed\": true}, {\"check\": \"negative infinity\", \"actual\": [-1, \"infinity\", null, null, null, null], \"expected\": [-1, \"infinity\", null, null, null, null], \"passed\": true}, {\"check\": \"quiet payload\", \"actual\": [1, \"nan\", null, null, true, 1], \"expected\": [1, \"nan\", null, null, true, 1], \"passed\": true}, {\"check\": \"signaling payload\", \"actual\": [1, \"nan\", null, null, false, 1], \"expected\": [1, \"nan\", null, null, false, 1], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":45.621,"exit_code":1,"observations":[{"actual":[1,"subnormal",-1022,0,null,null],"check":"positive zero","expected":[1,"zero",-1022,0,null,null],"passed":false},{"actual":[-1,"subnormal",-1022,0,null,null],"check":"negative zero","expected":[-1,"zero",-1022,0,null,null],"passed":false},{"actual":[1,"subnormal",-1022,1,null,null],"check":"tiny subnormal","expected":[1,"subnormal",-1022,1,null,null],"passed":true},{"actual":[-1,"subnormal",-1022,1,null,null],"check":"negative subnormal","expected":[-1,"subnormal",-1022,1,null,null],"passed":true},{"actual":[1,"normal",1,4503599627370496,null,null],"check":"normal exact power","expected":[1,"normal",1,4503599627370496,null,null],"passed":true},{"actual":[1,"normal",0,4503599627370497,null,null],"check":"normal fraction","expected":[1,"normal",0,4503599627370497,null,null],"passed":true},{"actual":[1,"infinity",null,null,null,null],"check":"positive infinity","expected":[1,"infinity",null,null,null,null],"passed":true},{"actual":[-1,"infinity",null,null,null,null],"check":"negative infinity","expected":[-1,"infinity",null,null,null,null],"passed":true},{"actual":[1,"nan",null,null,true,1],"check":"quiet payload","expected":[1,"nan",null,null,true,1],"passed":true},{"actual":[1,"nan",null,null,false,1],"check":"signaling payload","expected":[1,"nan",null,null,false,1],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"positive zero\", \"actual\": [1, \"subnormal\", -1022, 0, null, null], \"expected\": [1, \"zero\", -1022, 0, null, null], \"passed\": false}, {\"check\": \"negative zero\", \"actual\": [-1, \"subnormal\", -1022, 0, null, null], \"expected\": [-1, \"zero\", -1022, 0, null, null], \"passed\": false}, {\"check\": \"tiny subnormal\", \"actual\": [1, \"subnormal\", -1022, 1, null, null], \"expected\": [1, \"subnormal\", -1022, 1, null, null], \"passed\": true}, {\"check\": \"negative subnormal\", \"actual\": [-1, \"subnormal\", -1022, 1, null, null], \"expected\": [-1, \"subnormal\", -1022, 1, null, null], \"passed\": true}, {\"check\": \"normal exact power\", \"actual\": [1, \"normal\", 1, 4503599627370496, null, null], \"expected\": [1, \"normal\", 1, 4503599627370496, null, null], \"passed\": true}, {\"check\": \"normal fraction\", \"actual\": [1, \"normal\", 0, 4503599627370497, null, null], \"expected\": [1, \"normal\", 0, 4503599627370497, null, null], \"passed\": true}, {\"check\": \"positive infinity\", \"actual\": [1, \"infinity\", null, null, null, null], \"expected\": [1, \"infinity\", null, null, null, null], \"passed\": true}, {\"check\": \"negative infinity\", \"actual\": [-1, \"infinity\", null, null, null, null], \"expected\": [-1, \"infinity\", null, null, null, null], \"passed\": true}, {\"check\": \"quiet payload\", \"actual\": [1, \"nan\", null, null, true, 1], \"expected\": [1, \"nan\", null, null, true, 1], \"passed\": true}, {\"check\": \"signaling payload\", \"actual\": [1, \"nan\", null, null, false, 1], \"expected\": [1, \"nan\", null, null, false, 1], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":40.074,"exit_code":0,"observations":[{"actual":[1,"zero",-1022,0,null,null],"check":"positive zero","expected":[1,"zero",-1022,0,null,null],"passed":true},{"actual":[-1,"zero",-1022,0,null,null],"check":"negative zero","expected":[-1,"zero",-1022,0,null,null],"passed":true},{"actual":[1,"subnormal",-1022,1,null,null],"check":"tiny subnormal","expected":[1,"subnormal",-1022,1,null,null],"passed":true},{"actual":[-1,"subnormal",-1022,1,null,null],"check":"negative subnormal","expected":[-1,"subnormal",-1022,1,null,null],"passed":true},{"actual":[1,"normal",1,4503599627370496,null,null],"check":"normal exact power","expected":[1,"normal",1,4503599627370496,null,null],"passed":true},{"actual":[1,"normal",0,4503599627370497,null,null],"check":"normal fraction","expected":[1,"normal",0,4503599627370497,null,null],"passed":true},{"actual":[1,"infinity",null,null,null,null],"check":"positive infinity","expected":[1,"infinity",null,null,null,null],"passed":true},{"actual":[-1,"infinity",null,null,null,null],"check":"negative infinity","expected":[-1,"infinity",null,null,null,null],"passed":true},{"actual":[1,"nan",null,null,true,1],"check":"quiet payload","expected":[1,"nan",null,null,true,1],"passed":true},{"actual":[1,"nan",null,null,false,1],"check":"signaling payload","expected":[1,"nan",null,null,false,1],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"positive zero\", \"actual\": [1, \"zero\", -1022, 0, null, null], \"expected\": [1, \"zero\", -1022, 0, null, null], \"passed\": true}, {\"check\": \"negative zero\", \"actual\": [-1, \"zero\", -1022, 0, null, null], \"expected\": [-1, \"zero\", -1022, 0, null, null], \"passed\": true}, {\"check\": \"tiny subnormal\", \"actual\": [1, \"subnormal\", -1022, 1, null, null], \"expected\": [1, \"subnormal\", -1022, 1, null, null], \"passed\": true}, {\"check\": \"negative subnormal\", \"actual\": [-1, \"subnormal\", -1022, 1, null, null], \"expected\": [-1, \"subnormal\", -1022, 1, null, null], \"passed\": true}, {\"check\": \"normal exact power\", \"actual\": [1, \"normal\", 1, 4503599627370496, null, null], \"expected\": [1, \"normal\", 1, 4503599627370496, null, null], \"passed\": true}, {\"check\": \"normal fraction\", \"actual\": [1, \"normal\", 0, 4503599627370497, null, null], \"expected\": [1, \"normal\", 0, 4503599627370497, null, null], \"passed\": true}, {\"check\": \"positive infinity\", \"actual\": [1, \"infinity\", null, null, null, null], \"expected\": [1, \"infinity\", null, null, null, null], \"passed\": true}, {\"check\": \"negative infinity\", \"actual\": [-1, \"infinity\", null, null, null, null], \"expected\": [-1, \"infinity\", null, null, null, null], \"passed\": true}, {\"check\": \"quiet payload\", \"actual\": [1, \"nan\", null, null, true, 1], \"expected\": [1, \"nan\", null, null, true, 1], \"passed\": true}, {\"check\": \"signaling payload\", \"actual\": [1, \"nan\", null, null, false, 1], \"expected\": [1, \"nan\", null, null, false, 1], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}