FA-49841 / PCM sample encoding / Open access
Pcm mulaw code selection: bias before segment · case 01
Mu-law segment selection omits reconstruction bias.
ROOT CAUSE
Mu-law segment selection omits reconstruction bias.
VERIFIED REPAIR
Use the stated conversion contract at bias before segment.
Unsuccessful approach: Applying bias only to positive amplitudes breaks negative companding segments.
Case contract
Bounded mu-law-style selection model: clamp magnitude32635, add bias132, select segment and mantissa then complement the full eight-bit code.
Why this case matters
Offline PCM interchange uses these exact bounded packet and sample representation decisions.
1 / The failure
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(samples):
out=[]
for sample in samples:
negative=sample<0
amplitude=min(32635,abs(sample))
exponent=0
while exponent<7 and amplitude>=(256<<exponent):
exponent+=1
mantissa=(amplitude>>(exponent+3))&15
code=(128 if negative else 0)|(exponent<<4)|mantissa
out.append((~code)&255)
return out
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('oracle 1', solve(*([0, 1, -1, 100, -100],)), [255, 255, 127, 242, 114])
check('oracle 2', solve(*([124, 125, -124],)), [239, 239, 111])
check('oracle 3', solve(*([32635, 40000, -40000],)), [128, 128, 0])
check('oracle 4', solve(*([],)), [])
check('oracle 5', solve(*([1000, 4000, 16000],)), [206, 175, 144])
check('oracle 6', solve(*([380, 892, 1916],)), [223, 207, 191])
check('oracle 7', solve(*([-1000, -4000, -16000],)), [78, 47, 16])
if N == 1: check('variant packet 1', solve(*[[0, 1, -1, 100, -100, 0, 1, -1, 100, -100]]), [255, 255, 127, 242, 114, 255, 255, 127, 242, 114])
if N == 2: check('variant packet 2', solve(*[[0, 1, -1, 100, -100, 0, 1, -1, 100, -100, 0, 1, -1, 100, -100]]), [255, 255, 127, 242, 114, 255, 255, 127, 242, 114, 255, 255, 127, 242, 114])
if N == 3: check('variant packet 3', solve(*[[0, 1, -1, 100, -100, 0, 1, -1, 100, -100, 0, 1, -1, 100, -100, 0, 1, -1, 100, -100]]), [255, 255, 127, 242, 114, 255, 255, 127, 242, 114, 255, 255, 127, 242, 114, 255, 255, 127, 242, 114])
if N == 4: check('variant packet 4', solve(*[[0, 1, -1, 100, -100, 0, 1, -1, 100, -100, 0, 1, -1, 100, -100, 0, 1, -1, 100, -100, 0, 1, -1, 100, -100]]), [255, 255, 127, 242, 114, 255, 255, 127, 242, 114, 255, 255, 127, 242, 114, 255, 255, 127, 242, 114, 255, 255, 127, 242, 114])
if N == 5: check('variant packet 5', solve(*[[0, 1, -1, 100, -100, 0, 1, -1, 100, -100, 0, 1, -1, 100, -100, 0, 1, -1, 100, -100, 0, 1, -1, 100, -100, 0, 1, -1, 100, -100]]), [255, 255, 127, 242, 114, 255, 255, 127, 242, 114, 255, 255, 127, 242, 114, 255, 255, 127, 242, 114, 255, 255, 127, 242, 114, 255, 255, 127, 242, 114])
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 |
|---|---|---|---|
| oracle 1 | [255, 255, 127, 243, 115] | [255, 255, 127, 242, 114] | Failed |
| oracle 2 | [240, 240, 112] | [239, 239, 111] | Failed |
| oracle 3 | [128, 128, 0] | [128, 128, 0] | Passed |
| oracle 4 | [] | [] | Passed |
| oracle 5 | [208, 176, 144] | [206, 175, 144] | Failed |
| oracle 6 | [232, 212, 194] | [223, 207, 191] | Failed |
| oracle 7 | [80, 48, 16] | [78, 47, 16] | Failed |
| variant packet 1 | [255, 255, 127, 243, 115, 255, 255, 127, 243, 115] | [255, 255, 127, 242, 114, 255, 255, 127, 242, 114] | Failed |
SHA-256 / bbc4232bc6d04b010069f76318ebb374d7f31909bb7ac6814d2ede26dad5178a
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(samples):
out=[]
for sample in samples:
negative=sample<0
amplitude=min(32635,abs(sample))+(132 if sample>=0 else 0)
exponent=0
while exponent<7 and amplitude>=(256<<exponent):
exponent+=1
mantissa=(amplitude>>(exponent+3))&15
code=(128 if negative else 0)|(exponent<<4)|mantissa
out.append((~code)&255)
return out
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('oracle 1', solve(*([0, 1, -1, 100, -100],)), [255, 255, 127, 242, 114])
check('oracle 2', solve(*([124, 125, -124],)), [239, 239, 111])
check('oracle 3', solve(*([32635, 40000, -40000],)), [128, 128, 0])
check('oracle 4', solve(*([],)), [])
check('oracle 5', solve(*([1000, 4000, 16000],)), [206, 175, 144])
check('oracle 6', solve(*([380, 892, 1916],)), [223, 207, 191])
check('oracle 7', solve(*([-1000, -4000, -16000],)), [78, 47, 16])
if N == 1: check('variant packet 1', solve(*[[0, 1, -1, 100, -100, 0, 1, -1, 100, -100]]), [255, 255, 127, 242, 114, 255, 255, 127, 242, 114])
if N == 2: check('variant packet 2', solve(*[[0, 1, -1, 100, -100, 0, 1, -1, 100, -100, 0, 1, -1, 100, -100]]), [255, 255, 127, 242, 114, 255, 255, 127, 242, 114, 255, 255, 127, 242, 114])
if N == 3: check('variant packet 3', solve(*[[0, 1, -1, 100, -100, 0, 1, -1, 100, -100, 0, 1, -1, 100, -100, 0, 1, -1, 100, -100]]), [255, 255, 127, 242, 114, 255, 255, 127, 242, 114, 255, 255, 127, 242, 114, 255, 255, 127, 242, 114])
if N == 4: check('variant packet 4', solve(*[[0, 1, -1, 100, -100, 0, 1, -1, 100, -100, 0, 1, -1, 100, -100, 0, 1, -1, 100, -100, 0, 1, -1, 100, -100]]), [255, 255, 127, 242, 114, 255, 255, 127, 242, 114, 255, 255, 127, 242, 114, 255, 255, 127, 242, 114, 255, 255, 127, 242, 114])
if N == 5: check('variant packet 5', solve(*[[0, 1, -1, 100, -100, 0, 1, -1, 100, -100, 0, 1, -1, 100, -100, 0, 1, -1, 100, -100, 0, 1, -1, 100, -100, 0, 1, -1, 100, -100]]), [255, 255, 127, 242, 114, 255, 255, 127, 242, 114, 255, 255, 127, 242, 114, 255, 255, 127, 242, 114, 255, 255, 127, 242, 114, 255, 255, 127, 242, 114])
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 |
|---|---|---|---|
| oracle 1 | [255, 255, 127, 242, 115] | [255, 255, 127, 242, 114] | Failed |
| oracle 2 | [239, 239, 112] | [239, 239, 111] | Failed |
| oracle 3 | [128, 128, 0] | [128, 128, 0] | Passed |
| oracle 4 | [] | [] | Passed |
| oracle 5 | [206, 175, 144] | [206, 175, 144] | Passed |
| oracle 6 | [223, 207, 191] | [223, 207, 191] | Passed |
| oracle 7 | [80, 48, 16] | [78, 47, 16] | Failed |
| variant packet 1 | [255, 255, 127, 242, 115, 255, 255, 127, 242, 115] | [255, 255, 127, 242, 114, 255, 255, 127, 242, 114] | Failed |
SHA-256 / d8c8a91e1ac35ff176ab8ff55133280d69d798961c9d96ea7cb151374e352e11
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(samples):
out=[]
for sample in samples:
negative=sample<0
amplitude=min(32635,abs(sample))+132
exponent=0
while exponent<7 and amplitude>=(256<<exponent):
exponent+=1
mantissa=(amplitude>>(exponent+3))&15
code=(128 if negative else 0)|(exponent<<4)|mantissa
out.append((~code)&255)
return out
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('oracle 1', solve(*([0, 1, -1, 100, -100],)), [255, 255, 127, 242, 114])
check('oracle 2', solve(*([124, 125, -124],)), [239, 239, 111])
check('oracle 3', solve(*([32635, 40000, -40000],)), [128, 128, 0])
check('oracle 4', solve(*([],)), [])
check('oracle 5', solve(*([1000, 4000, 16000],)), [206, 175, 144])
check('oracle 6', solve(*([380, 892, 1916],)), [223, 207, 191])
check('oracle 7', solve(*([-1000, -4000, -16000],)), [78, 47, 16])
if N == 1: check('variant packet 1', solve(*[[0, 1, -1, 100, -100, 0, 1, -1, 100, -100]]), [255, 255, 127, 242, 114, 255, 255, 127, 242, 114])
if N == 2: check('variant packet 2', solve(*[[0, 1, -1, 100, -100, 0, 1, -1, 100, -100, 0, 1, -1, 100, -100]]), [255, 255, 127, 242, 114, 255, 255, 127, 242, 114, 255, 255, 127, 242, 114])
if N == 3: check('variant packet 3', solve(*[[0, 1, -1, 100, -100, 0, 1, -1, 100, -100, 0, 1, -1, 100, -100, 0, 1, -1, 100, -100]]), [255, 255, 127, 242, 114, 255, 255, 127, 242, 114, 255, 255, 127, 242, 114, 255, 255, 127, 242, 114])
if N == 4: check('variant packet 4', solve(*[[0, 1, -1, 100, -100, 0, 1, -1, 100, -100, 0, 1, -1, 100, -100, 0, 1, -1, 100, -100, 0, 1, -1, 100, -100]]), [255, 255, 127, 242, 114, 255, 255, 127, 242, 114, 255, 255, 127, 242, 114, 255, 255, 127, 242, 114, 255, 255, 127, 242, 114])
if N == 5: check('variant packet 5', solve(*[[0, 1, -1, 100, -100, 0, 1, -1, 100, -100, 0, 1, -1, 100, -100, 0, 1, -1, 100, -100, 0, 1, -1, 100, -100, 0, 1, -1, 100, -100]]), [255, 255, 127, 242, 114, 255, 255, 127, 242, 114, 255, 255, 127, 242, 114, 255, 255, 127, 242, 114, 255, 255, 127, 242, 114, 255, 255, 127, 242, 114])
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 |
|---|---|---|---|
| oracle 1 | [255, 255, 127, 242, 114] | [255, 255, 127, 242, 114] | Passed |
| oracle 2 | [239, 239, 111] | [239, 239, 111] | Passed |
| oracle 3 | [128, 128, 0] | [128, 128, 0] | Passed |
| oracle 4 | [] | [] | Passed |
| oracle 5 | [206, 175, 144] | [206, 175, 144] | Passed |
| oracle 6 | [223, 207, 191] | [223, 207, 191] | Passed |
| oracle 7 | [78, 47, 16] | [78, 47, 16] | Passed |
| variant packet 1 | [255, 255, 127, 242, 114, 255, 255, 127, 242, 114] | [255, 255, 127, 242, 114, 255, 255, 127, 242, 114] | Passed |
SHA-256 / 9a61544a71b8062ad93686f3ed544e53c854273e6558ea0c346d7822c4809892
Verification & scope
Stipulated finite model; no claim of hardware timing or full file-format conformance. 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:45:03.710602+00:00.
Case digest / 024ace1ea976c533454bec2796e0b4504ad84b0c1d2b003acc5df96ea4ded62c