FA-15851 / Floating-point arithmetic / Open access
The hidden leading bit is read from encoded exponent · case 01
The hidden leading bit is read from encoded exponent.
ROOT CAUSE
The extracted field overlaps the exponent.
VERIFIED REPAIR
Extract precisely the stored fraction.
Unsuccessful approach: Removing the quiet bit from every fraction corrupts NaNs.
Case 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.
Why this case matters
An offline floating representation model isolates a reproducible arithmetic fault.
1 / The failure
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
import math
import struct
N = 1
observations = []
def solve(bits):
sign = -1 if bits >> 63 else 1
exp = (bits >> 52) & 2047
fraction = bits & ((1 << 53)-1)
if exp == 2047:
kind = 'nan' if fraction else 'infinity'
quiet = bool(fraction & (1 << 51)) if fraction else None
payload = fraction & ((1 << 51)-1) if fraction else None
return [sign, kind, None, None, quiet, payload]
kind = 'zero' if exp == 0 and fraction == 0 else 'subnormal' if exp == 0 else 'normal'
unbiased = exp-1023 if exp else -1022
significand = fraction | (1 << 52) if exp else fraction
return [sign, kind, unbiased, significand, None, None]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('positive zero', solve(0), [1,'zero',-1022,0,None,None])
check('negative zero', solve(1<<63), [-1,'zero',-1022,0,None,None])
check('tiny subnormal', solve(N), [1,'subnormal',-1022,N,None,None])
check('negative subnormal', solve((1<<63)|N), [-1,'subnormal',-1022,N,None,None])
check('normal exact power', solve((1023+N)<<52), [1,'normal',N,1<<52,None,None])
check('normal fraction', solve((1023<<52)|N), [1,'normal',0,(1<<52)|N,None,None])
check('positive infinity', solve(2047<<52), [1,'infinity',None,None,None,None])
check('negative infinity', solve((1<<63)|(2047<<52)), [-1,'infinity',None,None,None,None])
check('quiet payload', solve((2047<<52)|(1<<51)|N), [1,'nan',None,None,True,N])
check('signaling payload', solve((2047<<52)|N), [1,'nan',None,None,False,N])
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| positive zero | [1, 'zero', -1022, 0, None, None] | [1, 'zero', -1022, 0, None, None] | Passed |
| negative zero | [-1, 'zero', -1022, 0, None, None] | [-1, 'zero', -1022, 0, None, None] | Passed |
| tiny subnormal | [1, 'subnormal', -1022, 1, None, None] | [1, 'subnormal', -1022, 1, None, None] | Passed |
| negative subnormal | [-1, 'subnormal', -1022, 1, None, None] | [-1, 'subnormal', -1022, 1, None, None] | Passed |
| normal exact power | [1, 'normal', 1, 4503599627370496, None, None] | [1, 'normal', 1, 4503599627370496, None, None] | Passed |
| normal fraction | [1, 'normal', 0, 4503599627370497, None, None] | [1, 'normal', 0, 4503599627370497, None, None] | Passed |
| positive infinity | [1, 'nan', None, None, False, 0] | [1, 'infinity', None, None, None, None] | Failed |
| negative infinity | [-1, 'nan', None, None, False, 0] | [-1, 'infinity', None, None, None, None] | Failed |
| quiet payload | [1, 'nan', None, None, True, 1] | [1, 'nan', None, None, True, 1] | Passed |
| signaling payload | [1, 'nan', None, None, False, 1] | [1, 'nan', None, None, False, 1] | Passed |
SHA-256 / f3251a7fd07ea5cb9fc019c67c2dad4c5244e6e1ef10edc3cf4fed84b2f84001
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
import math
import struct
N = 1
observations = []
def solve(bits):
sign = -1 if bits >> 63 else 1
exp = (bits >> 52) & 2047
fraction = bits % (1 << 51)
if exp == 2047:
kind = 'nan' if fraction else 'infinity'
quiet = bool(fraction & (1 << 51)) if fraction else None
payload = fraction & ((1 << 51)-1) if fraction else None
return [sign, kind, None, None, quiet, payload]
kind = 'zero' if exp == 0 and fraction == 0 else 'subnormal' if exp == 0 else 'normal'
unbiased = exp-1023 if exp else -1022
significand = fraction | (1 << 52) if exp else fraction
return [sign, kind, unbiased, significand, None, None]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('positive zero', solve(0), [1,'zero',-1022,0,None,None])
check('negative zero', solve(1<<63), [-1,'zero',-1022,0,None,None])
check('tiny subnormal', solve(N), [1,'subnormal',-1022,N,None,None])
check('negative subnormal', solve((1<<63)|N), [-1,'subnormal',-1022,N,None,None])
check('normal exact power', solve((1023+N)<<52), [1,'normal',N,1<<52,None,None])
check('normal fraction', solve((1023<<52)|N), [1,'normal',0,(1<<52)|N,None,None])
check('positive infinity', solve(2047<<52), [1,'infinity',None,None,None,None])
check('negative infinity', solve((1<<63)|(2047<<52)), [-1,'infinity',None,None,None,None])
check('quiet payload', solve((2047<<52)|(1<<51)|N), [1,'nan',None,None,True,N])
check('signaling payload', solve((2047<<52)|N), [1,'nan',None,None,False,N])
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| positive zero | [1, 'zero', -1022, 0, None, None] | [1, 'zero', -1022, 0, None, None] | Passed |
| negative zero | [-1, 'zero', -1022, 0, None, None] | [-1, 'zero', -1022, 0, None, None] | Passed |
| tiny subnormal | [1, 'subnormal', -1022, 1, None, None] | [1, 'subnormal', -1022, 1, None, None] | Passed |
| negative subnormal | [-1, 'subnormal', -1022, 1, None, None] | [-1, 'subnormal', -1022, 1, None, None] | Passed |
| normal exact power | [1, 'normal', 1, 4503599627370496, None, None] | [1, 'normal', 1, 4503599627370496, None, None] | Passed |
| normal fraction | [1, 'normal', 0, 4503599627370497, None, None] | [1, 'normal', 0, 4503599627370497, None, None] | Passed |
| positive infinity | [1, 'infinity', None, None, None, None] | [1, 'infinity', None, None, None, None] | Passed |
| negative infinity | [-1, 'infinity', None, None, None, None] | [-1, 'infinity', None, None, None, None] | Passed |
| quiet payload | [1, 'nan', None, None, False, 1] | [1, 'nan', None, None, True, 1] | Failed |
| signaling payload | [1, 'nan', None, None, False, 1] | [1, 'nan', None, None, False, 1] | Passed |
SHA-256 / 3e1d6687fb3449214b4b79fb4105b53ac58decac610d2ff977e091b74cdbd23d
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
import math
import struct
N = 1
observations = []
def solve(bits):
sign = -1 if bits >> 63 else 1
exp = (bits >> 52) & 2047
fraction = bits & ((1 << 52)-1)
if exp == 2047:
kind = 'nan' if fraction else 'infinity'
quiet = bool(fraction & (1 << 51)) if fraction else None
payload = fraction & ((1 << 51)-1) if fraction else None
return [sign, kind, None, None, quiet, payload]
kind = 'zero' if exp == 0 and fraction == 0 else 'subnormal' if exp == 0 else 'normal'
unbiased = exp-1023 if exp else -1022
significand = fraction | (1 << 52) if exp else fraction
return [sign, kind, unbiased, significand, None, None]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('positive zero', solve(0), [1,'zero',-1022,0,None,None])
check('negative zero', solve(1<<63), [-1,'zero',-1022,0,None,None])
check('tiny subnormal', solve(N), [1,'subnormal',-1022,N,None,None])
check('negative subnormal', solve((1<<63)|N), [-1,'subnormal',-1022,N,None,None])
check('normal exact power', solve((1023+N)<<52), [1,'normal',N,1<<52,None,None])
check('normal fraction', solve((1023<<52)|N), [1,'normal',0,(1<<52)|N,None,None])
check('positive infinity', solve(2047<<52), [1,'infinity',None,None,None,None])
check('negative infinity', solve((1<<63)|(2047<<52)), [-1,'infinity',None,None,None,None])
check('quiet payload', solve((2047<<52)|(1<<51)|N), [1,'nan',None,None,True,N])
check('signaling payload', solve((2047<<52)|N), [1,'nan',None,None,False,N])
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| positive zero | [1, 'zero', -1022, 0, None, None] | [1, 'zero', -1022, 0, None, None] | Passed |
| negative zero | [-1, 'zero', -1022, 0, None, None] | [-1, 'zero', -1022, 0, None, None] | Passed |
| tiny subnormal | [1, 'subnormal', -1022, 1, None, None] | [1, 'subnormal', -1022, 1, None, None] | Passed |
| negative subnormal | [-1, 'subnormal', -1022, 1, None, None] | [-1, 'subnormal', -1022, 1, None, None] | Passed |
| normal exact power | [1, 'normal', 1, 4503599627370496, None, None] | [1, 'normal', 1, 4503599627370496, None, None] | Passed |
| normal fraction | [1, 'normal', 0, 4503599627370497, None, None] | [1, 'normal', 0, 4503599627370497, None, None] | Passed |
| positive infinity | [1, 'infinity', None, None, None, None] | [1, 'infinity', None, None, None, None] | Passed |
| negative infinity | [-1, 'infinity', None, None, None, None] | [-1, 'infinity', None, None, None, None] | Passed |
| quiet payload | [1, 'nan', None, None, True, 1] | [1, 'nan', None, None, True, 1] | Passed |
| signaling payload | [1, 'nan', None, None, False, 1] | [1, 'nan', None, None, False, 1] | Passed |
SHA-256 / ade469eac871c68aa636078841755720c4f4167ad2c11862b5cbea2f94e013a1
Verification & scope
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.
Observations recorded using Python 3.12.14 at 2026-09-29T14:39:30.817276+00:00.
Case digest / 0494bad43e4a7024e15568129e1fbee0fd866804cec5a074f8d554bb0b28248f