FA-49806 / PCM sample encoding / Open access
Pcm two tap predictor: delta scale · case 01
Delta scale is incorrectly applied to the predicted PCM level.
ROOT CAUSE
Delta scale is incorrectly applied to the predicted PCM level.
VERIFIED REPAIR
Use the stated conversion contract at delta scale.
Unsuccessful approach: Ignoring delta changes residual amplitude units.
Case contract
Stipulated two-history adaptive PCM decoder with explicit integer predictor coefficients, floor divisor, signed residual nibble and fixed residual amplitude scale.
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(codes, last, older, coefficients, divisor, delta):
out=[]
for code in codes:
predicted=(last*coefficients[0]+older*coefficients[1])//divisor
signed=code-16 if code&8 else code
sample=(predicted+signed)*delta
older,last=last,sample
out.append(sample)
return [out,last,older]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('oracle 1', solve(*([1, 15, 8, 7], 3, 1, [3, -1], 2, 2)), [[6, 5, -12, -7], -7, -12])
check('oracle 2', solve(*([1, 2, 3], 2, -3, [1, 1], 3, 1)), [[0, 2, 3], 3, 2])
check('oracle 3', solve(*([0, 0], -2, 1, [1, 2], 3, 4)), [[0, -2], -2, 0])
check('oracle 4', solve(*([], 5, 2, [2, -1], 1, 1)), [[], 5, 2])
check('oracle 5', solve(*([8, 0, 7], 0, 0, [1, 0], 1, 3)), [[-24, -24, -3], -3, -24])
check('oracle 6', solve(*([15, 15, 1], 4, 3, [2, -1], 2, 2)), [[0, -4, -2], -2, -4])
check('oracle 7', solve(*([2, 0, 14], -3, -1, [3, 1], 4, 1)), [[-1, -2, -4], -4, -2])
if N == 1: check('variant packet 1', solve(*[[1, 15, 8, 7, 1, 15, 8, 7], 3, 1, [3, -1], 2, 2]), [[6, 5, -12, -7, -3, -3, -19, -13], -13, -19])
if N == 2: check('variant packet 2', solve(*[[1, 15, 8, 7, 1, 15, 8, 7, 1, 15, 8, 7], 3, 1, [3, -1], 2, 2]), [[6, 5, -12, -7, -3, -3, -19, -13, -8, -8, -24, -18], -18, -24])
if N == 3: check('variant packet 3', solve(*[[1, 15, 8, 7, 1, 15, 8, 7, 1, 15, 8, 7, 1, 15, 8, 7], 3, 1, [3, -1], 2, 2]), [[6, 5, -12, -7, -3, -3, -19, -13, -8, -8, -24, -18, -13, -13, -29, -23], -23, -29])
if N == 4: check('variant packet 4', solve(*[[1, 15, 8, 7, 1, 15, 8, 7, 1, 15, 8, 7, 1, 15, 8, 7, 1, 15, 8, 7], 3, 1, [3, -1], 2, 2]), [[6, 5, -12, -7, -3, -3, -19, -13, -8, -8, -24, -18, -13, -13, -29, -23, -18, -18, -34, -28], -28, -34])
if N == 5: check('variant packet 5', solve(*[[1, 15, 8, 7, 1, 15, 8, 7, 1, 15, 8, 7, 1, 15, 8, 7, 1, 15, 8, 7, 1, 15, 8, 7], 3, 1, [3, -1], 2, 2]), [[6, 5, -12, -7, -3, -3, -19, -13, -8, -8, -24, -18, -13, -13, -29, -23, -18, -18, -34, -28, -23, -23, -39, -33], -33, -39])
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 | [[10, 24, 46, 128], 128, 46] | [[6, 5, -12, -7], -7, -12] | Failed |
| oracle 2 | [[0, 2, 3], 3, 2] | [[0, 2, 3], 3, 2] | Passed |
| oracle 3 | [[0, -8], -8, 0] | [[0, -2], -2, 0] | Failed |
| oracle 4 | [[], 5, 2] | [[], 5, 2] | Passed |
| oracle 5 | [[-24, -72, -195], -195, -72] | [[-24, -24, -3], -3, -24] | Failed |
| oracle 6 | [[2, -2, -4], -4, -2] | [[0, -4, -2], -2, -4] | Failed |
| oracle 7 | [[-1, -2, -4], -4, -2] | [[-1, -2, -4], -4, -2] | Passed |
| variant packet 1 | [[10, 24, 46, 128, 340, 890, 2314, 6066], 6066, 2314] | [[6, 5, -12, -7, -3, -3, -19, -13], -13, -19] | Failed |
SHA-256 / a1b3b772962cc820d4c8667cd553ef048b3bb984b1bc18dc49b737fd049c5e43
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(codes, last, older, coefficients, divisor, delta):
out=[]
for code in codes:
predicted=(last*coefficients[0]+older*coefficients[1])//divisor
signed=code-16 if code&8 else code
sample=predicted+signed
older,last=last,sample
out.append(sample)
return [out,last,older]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('oracle 1', solve(*([1, 15, 8, 7], 3, 1, [3, -1], 2, 2)), [[6, 5, -12, -7], -7, -12])
check('oracle 2', solve(*([1, 2, 3], 2, -3, [1, 1], 3, 1)), [[0, 2, 3], 3, 2])
check('oracle 3', solve(*([0, 0], -2, 1, [1, 2], 3, 4)), [[0, -2], -2, 0])
check('oracle 4', solve(*([], 5, 2, [2, -1], 1, 1)), [[], 5, 2])
check('oracle 5', solve(*([8, 0, 7], 0, 0, [1, 0], 1, 3)), [[-24, -24, -3], -3, -24])
check('oracle 6', solve(*([15, 15, 1], 4, 3, [2, -1], 2, 2)), [[0, -4, -2], -2, -4])
check('oracle 7', solve(*([2, 0, 14], -3, -1, [3, 1], 4, 1)), [[-1, -2, -4], -4, -2])
if N == 1: check('variant packet 1', solve(*[[1, 15, 8, 7, 1, 15, 8, 7], 3, 1, [3, -1], 2, 2]), [[6, 5, -12, -7, -3, -3, -19, -13], -13, -19])
if N == 2: check('variant packet 2', solve(*[[1, 15, 8, 7, 1, 15, 8, 7, 1, 15, 8, 7], 3, 1, [3, -1], 2, 2]), [[6, 5, -12, -7, -3, -3, -19, -13, -8, -8, -24, -18], -18, -24])
if N == 3: check('variant packet 3', solve(*[[1, 15, 8, 7, 1, 15, 8, 7, 1, 15, 8, 7, 1, 15, 8, 7], 3, 1, [3, -1], 2, 2]), [[6, 5, -12, -7, -3, -3, -19, -13, -8, -8, -24, -18, -13, -13, -29, -23], -23, -29])
if N == 4: check('variant packet 4', solve(*[[1, 15, 8, 7, 1, 15, 8, 7, 1, 15, 8, 7, 1, 15, 8, 7, 1, 15, 8, 7], 3, 1, [3, -1], 2, 2]), [[6, 5, -12, -7, -3, -3, -19, -13, -8, -8, -24, -18, -13, -13, -29, -23, -18, -18, -34, -28], -28, -34])
if N == 5: check('variant packet 5', solve(*[[1, 15, 8, 7, 1, 15, 8, 7, 1, 15, 8, 7, 1, 15, 8, 7, 1, 15, 8, 7, 1, 15, 8, 7], 3, 1, [3, -1], 2, 2]), [[6, 5, -12, -7, -3, -3, -19, -13, -8, -8, -24, -18, -13, -13, -29, -23, -18, -18, -34, -28, -23, -23, -39, -33], -33, -39])
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 | [[5, 5, -3, 0], 0, -3] | [[6, 5, -12, -7], -7, -12] | Failed |
| oracle 2 | [[0, 2, 3], 3, 2] | [[0, 2, 3], 3, 2] | Passed |
| oracle 3 | [[0, -2], -2, 0] | [[0, -2], -2, 0] | Passed |
| oracle 4 | [[], 5, 2] | [[], 5, 2] | Passed |
| oracle 5 | [[-8, -8, -1], -1, -8] | [[-24, -24, -3], -3, -24] | Failed |
| oracle 6 | [[1, -2, -2], -2, -2] | [[0, -4, -2], -2, -4] | Failed |
| oracle 7 | [[-1, -2, -4], -4, -2] | [[-1, -2, -4], -4, -2] | Passed |
| variant packet 1 | [[5, 5, -3, 0, 2, 2, -6, -3], -3, -6] | [[6, 5, -12, -7, -3, -3, -19, -13], -13, -19] | Failed |
SHA-256 / 0a552634404bffca9670add12f40e4012450da7fec44a38bbfe41569c7883193
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(codes, last, older, coefficients, divisor, delta):
out=[]
for code in codes:
predicted=(last*coefficients[0]+older*coefficients[1])//divisor
signed=code-16 if code&8 else code
sample=predicted+signed*delta
older,last=last,sample
out.append(sample)
return [out,last,older]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('oracle 1', solve(*([1, 15, 8, 7], 3, 1, [3, -1], 2, 2)), [[6, 5, -12, -7], -7, -12])
check('oracle 2', solve(*([1, 2, 3], 2, -3, [1, 1], 3, 1)), [[0, 2, 3], 3, 2])
check('oracle 3', solve(*([0, 0], -2, 1, [1, 2], 3, 4)), [[0, -2], -2, 0])
check('oracle 4', solve(*([], 5, 2, [2, -1], 1, 1)), [[], 5, 2])
check('oracle 5', solve(*([8, 0, 7], 0, 0, [1, 0], 1, 3)), [[-24, -24, -3], -3, -24])
check('oracle 6', solve(*([15, 15, 1], 4, 3, [2, -1], 2, 2)), [[0, -4, -2], -2, -4])
check('oracle 7', solve(*([2, 0, 14], -3, -1, [3, 1], 4, 1)), [[-1, -2, -4], -4, -2])
if N == 1: check('variant packet 1', solve(*[[1, 15, 8, 7, 1, 15, 8, 7], 3, 1, [3, -1], 2, 2]), [[6, 5, -12, -7, -3, -3, -19, -13], -13, -19])
if N == 2: check('variant packet 2', solve(*[[1, 15, 8, 7, 1, 15, 8, 7, 1, 15, 8, 7], 3, 1, [3, -1], 2, 2]), [[6, 5, -12, -7, -3, -3, -19, -13, -8, -8, -24, -18], -18, -24])
if N == 3: check('variant packet 3', solve(*[[1, 15, 8, 7, 1, 15, 8, 7, 1, 15, 8, 7, 1, 15, 8, 7], 3, 1, [3, -1], 2, 2]), [[6, 5, -12, -7, -3, -3, -19, -13, -8, -8, -24, -18, -13, -13, -29, -23], -23, -29])
if N == 4: check('variant packet 4', solve(*[[1, 15, 8, 7, 1, 15, 8, 7, 1, 15, 8, 7, 1, 15, 8, 7, 1, 15, 8, 7], 3, 1, [3, -1], 2, 2]), [[6, 5, -12, -7, -3, -3, -19, -13, -8, -8, -24, -18, -13, -13, -29, -23, -18, -18, -34, -28], -28, -34])
if N == 5: check('variant packet 5', solve(*[[1, 15, 8, 7, 1, 15, 8, 7, 1, 15, 8, 7, 1, 15, 8, 7, 1, 15, 8, 7, 1, 15, 8, 7], 3, 1, [3, -1], 2, 2]), [[6, 5, -12, -7, -3, -3, -19, -13, -8, -8, -24, -18, -13, -13, -29, -23, -18, -18, -34, -28, -23, -23, -39, -33], -33, -39])
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 | [[6, 5, -12, -7], -7, -12] | [[6, 5, -12, -7], -7, -12] | Passed |
| oracle 2 | [[0, 2, 3], 3, 2] | [[0, 2, 3], 3, 2] | Passed |
| oracle 3 | [[0, -2], -2, 0] | [[0, -2], -2, 0] | Passed |
| oracle 4 | [[], 5, 2] | [[], 5, 2] | Passed |
| oracle 5 | [[-24, -24, -3], -3, -24] | [[-24, -24, -3], -3, -24] | Passed |
| oracle 6 | [[0, -4, -2], -2, -4] | [[0, -4, -2], -2, -4] | Passed |
| oracle 7 | [[-1, -2, -4], -4, -2] | [[-1, -2, -4], -4, -2] | Passed |
| variant packet 1 | [[6, 5, -12, -7, -3, -3, -19, -13], -13, -19] | [[6, 5, -12, -7, -3, -3, -19, -13], -13, -19] | Passed |
SHA-256 / ba7d0315b3a843c45e96018a179224e53d7c27b1fe15d824d8ba802823a86617
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.422148+00:00.
Case digest / 822cb59217f1dc9ab6e8a4fd137cefc4f9f7c3dca3e51640090da0507432164b