{"abstract":"A pure second-order feedback filter never feels its a2 term correctly and the impulse response rings at the wrong rate.","category":"Digital signal filters","checks":7,"contract":"Input [[b0, b1, b2, a0, a1, a2], samples]; coefficients are rational strings, normalized by a0 (\"a0-zero\" if a0 == 0). y[n] = b0 x[n] + b1 x[n-1] + b2 x[n-2] - a1 y[n-1] - a2 y[n-2] with zero initial state; return outputs as exact fraction strings.","evaluation_group":"w2-digital_signal_filters-biquad-direct-form-one","failed_approach":"The attempted repair chains y2 = y1 = y, which loses the old y[n-1].","family":"w2-digital_signal_filters-biquad-direct-form-one-output-delay-shift","id":"FA-91371","implementations":{"attempt":{"sha256":"4e3cc8b134cce255875155d8876c6b320c8fdf3b3a7df028912f0fdd2b71b09b","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(x):\n    b0, b1, b2, a0, a1, a2 = [Fraction(v) for v in x[0]]\n    if a0 == 0:\n        return 'a0-zero'\n    b0, b1, b2, a1, a2 = b0 / a0, b1 / a0, b2 / a0, a1 / a0, a2 / a0\n    x1 = x2 = y1 = y2 = Fraction(0)\n    out = []\n    for s in x[1]:\n        y = b0 * s + b1 * x1 + b2 * x2 - a1 * y1 - a2 * y2\n        x2, x1 = x1, s\n        y2 = y1 = y\n        out.append(str(y))\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression: pure feedback impulse', [['1', '0', '0', '1', '-1/2', '0'], [1, 0, 0, 0]], ['1', '1/2', '1/4', '1/8']], ['regression: a0 not one', [['2', '1', '0', '2', '1', '1/2'], [2, 0, 0, 1]], ['2', '0', '-1/2', '5/4']], ['regression: second order feedback', [['1', '0', '0', '1', '0', '1/4'], [1, 0, 0, 0, 0]], ['1', '0', '-1/4', '0', '1/16']], ['control: fir only', [['1', '2', '1', '1', '0', '0'], [1, 2, 3]], ['1', '4', '8']], ['control: random biquad 7', [['-3/8', '0', '-1/4', '1', '2', '1/8'], [0, 3]], ['0', '-9/8']], ['control: random biquad 8', [['0', '1/2', '3/4', '-1', '3/4', '0'], [-3, 0]], ['0', '3/2']], ['control: random biquad 30', [['0', '0', '1/8', '1', '0', '-1/2'], [1, -2, 1]], ['0', '0', '1/8']]], [['regression: random biquad 0', [['1/3', '3/4', '1/2', '-1', '2', '1/3'], [2, 2]], ['-2/3', '-7/2']], ['regression: random biquad 1', [['1/8', '-1/4', '3/4', '2', '1/2', '1/8'], [-2, 1, 2, 2, 0, 2]], ['-1/8', '11/32', '-53/64', '223/512', '907/2048', '3019/4096']], ['regression: random biquad 2', [['1/2', '5/4', '1/2', '-1', '-1/2', '-1/2'], [-2, -2, 3, -3, 1]], ['1', '3', '0', '-11/4', '25/8']], ['control: fir only', [['1', '2', '1', '1', '0', '0'], [1, 2, 3]], ['1', '4', '8']], ['control: random biquad 7', [['-3/8', '0', '-1/4', '1', '2', '1/8'], [0, 3]], ['0', '-9/8']], ['control: random biquad 8', [['0', '1/2', '3/4', '-1', '3/4', '0'], [-3, 0]], ['0', '3/2']], ['control: random biquad 30', [['0', '0', '1/8', '1', '0', '-1/2'], [1, -2, 1]], ['0', '0', '1/8']]], [['regression: random biquad 3', [['-3/8', '5/4', '1/2', '2', '5/4', '1/8'], [-2, 0, -1, 3]], ['3/8', '-95/64', '303/512', '-5999/4096']], ['regression: random biquad 4', [['-3/8', '1/3', '-1/2', '2', '1/3', '0'], [-1, 1]], ['3/16', '-37/96']], ['regression: random biquad 2', [['1/2', '5/4', '1/2', '-1', '-1/2', '-1/2'], [-2, -2, 3, -3, 1]], ['1', '3', '0', '-11/4', '25/8']], ['control: fir only', [['1', '2', '1', '1', '0', '0'], [1, 2, 3]], ['1', '4', '8']], ['control: random biquad 7', [['-3/8', '0', '-1/4', '1', '2', '1/8'], [0, 3]], ['0', '-9/8']], ['control: random biquad 8', [['0', '1/2', '3/4', '-1', '3/4', '0'], [-3, 0]], ['0', '3/2']], ['control: random biquad 30', [['0', '0', '1/8', '1', '0', '-1/2'], [1, -2, 1]], ['0', '0', '1/8']]], [['regression: random biquad 6', [['1/8', '0', '5/4', '1', '-1/2', '5/4'], [1, 1, 1, 0, 3, 2]], ['1/8', '3/16', '21/16', '107/64', '105/128', '-183/128']], ['regression: random biquad 9', [['3/4', '1/3', '1/2', '-1', '0', '1/8'], [-1, -1, 2]], ['3/4', '13/12', '-55/96']], ['regression: random biquad 5', [['1/2', '0', '-1/2', '-1', '-1/2', '-3/8'], [0, 2, -2, -1, 1]], ['0', '-1', '3/2', '9/8', '-21/8']], ['control: fir only', [['1', '2', '1', '1', '0', '0'], [1, 2, 3]], ['1', '4', '8']], ['control: random biquad 7', [['-3/8', '0', '-1/4', '1', '2', '1/8'], [0, 3]], ['0', '-9/8']], ['control: random biquad 8', [['0', '1/2', '3/4', '-1', '3/4', '0'], [-3, 0]], ['0', '3/2']], ['control: random biquad 30', [['0', '0', '1/8', '1', '0', '-1/2'], [1, -2, 1]], ['0', '0', '1/8']]], [['regression: random biquad 11', [['1/2', '3/4', '0', '1', '1/3', '5/4'], [-3, 3, -3, 0, 2]], ['-3/2', '-1/4', '65/24', '-409/144', '-1243/864']], ['regression: random biquad 13', [['1/8', '-1/4', '5/4', '2', '-1/4', '1/2'], [1, -1, 2]], ['1/16', '-23/128', '857/1024']], ['regression: random biquad 9', [['3/4', '1/3', '1/2', '-1', '0', '1/8'], [-1, -1, 2]], ['3/4', '13/12', '-55/96']], ['control: fir only', [['1', '2', '1', '1', '0', '0'], [1, 2, 3]], ['1', '4', '8']], ['control: random biquad 7', [['-3/8', '0', '-1/4', '1', '2', '1/8'], [0, 3]], ['0', '-9/8']], ['control: random biquad 8', [['0', '1/2', '3/4', '-1', '3/4', '0'], [-3, 0]], ['0', '3/2']], ['control: random biquad 30', [['0', '0', '1/8', '1', '0', '-1/2'], [1, -2, 1]], ['0', '0', '1/8']]]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(args), expected)\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":"df29591a0df73e993ac807439367cc303e6736ed6aaab6bc2394b39655fe357d","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(x):\n    b0, b1, b2, a0, a1, a2 = [Fraction(v) for v in x[0]]\n    if a0 == 0:\n        return 'a0-zero'\n    b0, b1, b2, a1, a2 = b0 / a0, b1 / a0, b2 / a0, a1 / a0, a2 / a0\n    x1 = x2 = y1 = y2 = Fraction(0)\n    out = []\n    for s in x[1]:\n        y = b0 * s + b1 * x1 + b2 * x2 - a1 * y1 - a2 * y2\n        x2, x1 = x1, s\n        y2, y1 = y, y1\n        out.append(str(y))\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression: pure feedback impulse', [['1', '0', '0', '1', '-1/2', '0'], [1, 0, 0, 0]], ['1', '1/2', '1/4', '1/8']], ['regression: a0 not one', [['2', '1', '0', '2', '1', '1/2'], [2, 0, 0, 1]], ['2', '0', '-1/2', '5/4']], ['regression: second order feedback', [['1', '0', '0', '1', '0', '1/4'], [1, 0, 0, 0, 0]], ['1', '0', '-1/4', '0', '1/16']], ['control: fir only', [['1', '2', '1', '1', '0', '0'], [1, 2, 3]], ['1', '4', '8']], ['control: random biquad 7', [['-3/8', '0', '-1/4', '1', '2', '1/8'], [0, 3]], ['0', '-9/8']], ['control: random biquad 8', [['0', '1/2', '3/4', '-1', '3/4', '0'], [-3, 0]], ['0', '3/2']], ['control: random biquad 30', [['0', '0', '1/8', '1', '0', '-1/2'], [1, -2, 1]], ['0', '0', '1/8']]], [['regression: random biquad 0', [['1/3', '3/4', '1/2', '-1', '2', '1/3'], [2, 2]], ['-2/3', '-7/2']], ['regression: random biquad 1', [['1/8', '-1/4', '3/4', '2', '1/2', '1/8'], [-2, 1, 2, 2, 0, 2]], ['-1/8', '11/32', '-53/64', '223/512', '907/2048', '3019/4096']], ['regression: random biquad 2', [['1/2', '5/4', '1/2', '-1', '-1/2', '-1/2'], [-2, -2, 3, -3, 1]], ['1', '3', '0', '-11/4', '25/8']], ['control: fir only', [['1', '2', '1', '1', '0', '0'], [1, 2, 3]], ['1', '4', '8']], ['control: random biquad 7', [['-3/8', '0', '-1/4', '1', '2', '1/8'], [0, 3]], ['0', '-9/8']], ['control: random biquad 8', [['0', '1/2', '3/4', '-1', '3/4', '0'], [-3, 0]], ['0', '3/2']], ['control: random biquad 30', [['0', '0', '1/8', '1', '0', '-1/2'], [1, -2, 1]], ['0', '0', '1/8']]], [['regression: random biquad 3', [['-3/8', '5/4', '1/2', '2', '5/4', '1/8'], [-2, 0, -1, 3]], ['3/8', '-95/64', '303/512', '-5999/4096']], ['regression: random biquad 4', [['-3/8', '1/3', '-1/2', '2', '1/3', '0'], [-1, 1]], ['3/16', '-37/96']], ['regression: random biquad 2', [['1/2', '5/4', '1/2', '-1', '-1/2', '-1/2'], [-2, -2, 3, -3, 1]], ['1', '3', '0', '-11/4', '25/8']], ['control: fir only', [['1', '2', '1', '1', '0', '0'], [1, 2, 3]], ['1', '4', '8']], ['control: random biquad 7', [['-3/8', '0', '-1/4', '1', '2', '1/8'], [0, 3]], ['0', '-9/8']], ['control: random biquad 8', [['0', '1/2', '3/4', '-1', '3/4', '0'], [-3, 0]], ['0', '3/2']], ['control: random biquad 30', [['0', '0', '1/8', '1', '0', '-1/2'], [1, -2, 1]], ['0', '0', '1/8']]], [['regression: random biquad 6', [['1/8', '0', '5/4', '1', '-1/2', '5/4'], [1, 1, 1, 0, 3, 2]], ['1/8', '3/16', '21/16', '107/64', '105/128', '-183/128']], ['regression: random biquad 9', [['3/4', '1/3', '1/2', '-1', '0', '1/8'], [-1, -1, 2]], ['3/4', '13/12', '-55/96']], ['regression: random biquad 5', [['1/2', '0', '-1/2', '-1', '-1/2', '-3/8'], [0, 2, -2, -1, 1]], ['0', '-1', '3/2', '9/8', '-21/8']], ['control: fir only', [['1', '2', '1', '1', '0', '0'], [1, 2, 3]], ['1', '4', '8']], ['control: random biquad 7', [['-3/8', '0', '-1/4', '1', '2', '1/8'], [0, 3]], ['0', '-9/8']], ['control: random biquad 8', [['0', '1/2', '3/4', '-1', '3/4', '0'], [-3, 0]], ['0', '3/2']], ['control: random biquad 30', [['0', '0', '1/8', '1', '0', '-1/2'], [1, -2, 1]], ['0', '0', '1/8']]], [['regression: random biquad 11', [['1/2', '3/4', '0', '1', '1/3', '5/4'], [-3, 3, -3, 0, 2]], ['-3/2', '-1/4', '65/24', '-409/144', '-1243/864']], ['regression: random biquad 13', [['1/8', '-1/4', '5/4', '2', '-1/4', '1/2'], [1, -1, 2]], ['1/16', '-23/128', '857/1024']], ['regression: random biquad 9', [['3/4', '1/3', '1/2', '-1', '0', '1/8'], [-1, -1, 2]], ['3/4', '13/12', '-55/96']], ['control: fir only', [['1', '2', '1', '1', '0', '0'], [1, 2, 3]], ['1', '4', '8']], ['control: random biquad 7', [['-3/8', '0', '-1/4', '1', '2', '1/8'], [0, 3]], ['0', '-9/8']], ['control: random biquad 8', [['0', '1/2', '3/4', '-1', '3/4', '0'], [-3, 0]], ['0', '3/2']], ['control: random biquad 30', [['0', '0', '1/8', '1', '0', '-1/2'], [1, -2, 1]], ['0', '0', '1/8']]]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(args), expected)\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":"ff4bd3aa0bc92f8a982beb30440c2da6fafecce3ac0c372067d90994a8eb446e","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(x):\n    b0, b1, b2, a0, a1, a2 = [Fraction(v) for v in x[0]]\n    if a0 == 0:\n        return 'a0-zero'\n    b0, b1, b2, a1, a2 = b0 / a0, b1 / a0, b2 / a0, a1 / a0, a2 / a0\n    x1 = x2 = y1 = y2 = Fraction(0)\n    out = []\n    for s in x[1]:\n        y = b0 * s + b1 * x1 + b2 * x2 - a1 * y1 - a2 * y2\n        x2, x1 = x1, s\n        y2, y1 = y1, y\n        out.append(str(y))\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression: pure feedback impulse', [['1', '0', '0', '1', '-1/2', '0'], [1, 0, 0, 0]], ['1', '1/2', '1/4', '1/8']], ['regression: a0 not one', [['2', '1', '0', '2', '1', '1/2'], [2, 0, 0, 1]], ['2', '0', '-1/2', '5/4']], ['regression: second order feedback', [['1', '0', '0', '1', '0', '1/4'], [1, 0, 0, 0, 0]], ['1', '0', '-1/4', '0', '1/16']], ['control: fir only', [['1', '2', '1', '1', '0', '0'], [1, 2, 3]], ['1', '4', '8']], ['control: random biquad 7', [['-3/8', '0', '-1/4', '1', '2', '1/8'], [0, 3]], ['0', '-9/8']], ['control: random biquad 8', [['0', '1/2', '3/4', '-1', '3/4', '0'], [-3, 0]], ['0', '3/2']], ['control: random biquad 30', [['0', '0', '1/8', '1', '0', '-1/2'], [1, -2, 1]], ['0', '0', '1/8']]], [['regression: random biquad 0', [['1/3', '3/4', '1/2', '-1', '2', '1/3'], [2, 2]], ['-2/3', '-7/2']], ['regression: random biquad 1', [['1/8', '-1/4', '3/4', '2', '1/2', '1/8'], [-2, 1, 2, 2, 0, 2]], ['-1/8', '11/32', '-53/64', '223/512', '907/2048', '3019/4096']], ['regression: random biquad 2', [['1/2', '5/4', '1/2', '-1', '-1/2', '-1/2'], [-2, -2, 3, -3, 1]], ['1', '3', '0', '-11/4', '25/8']], ['control: fir only', [['1', '2', '1', '1', '0', '0'], [1, 2, 3]], ['1', '4', '8']], ['control: random biquad 7', [['-3/8', '0', '-1/4', '1', '2', '1/8'], [0, 3]], ['0', '-9/8']], ['control: random biquad 8', [['0', '1/2', '3/4', '-1', '3/4', '0'], [-3, 0]], ['0', '3/2']], ['control: random biquad 30', [['0', '0', '1/8', '1', '0', '-1/2'], [1, -2, 1]], ['0', '0', '1/8']]], [['regression: random biquad 3', [['-3/8', '5/4', '1/2', '2', '5/4', '1/8'], [-2, 0, -1, 3]], ['3/8', '-95/64', '303/512', '-5999/4096']], ['regression: random biquad 4', [['-3/8', '1/3', '-1/2', '2', '1/3', '0'], [-1, 1]], ['3/16', '-37/96']], ['regression: random biquad 2', [['1/2', '5/4', '1/2', '-1', '-1/2', '-1/2'], [-2, -2, 3, -3, 1]], ['1', '3', '0', '-11/4', '25/8']], ['control: fir only', [['1', '2', '1', '1', '0', '0'], [1, 2, 3]], ['1', '4', '8']], ['control: random biquad 7', [['-3/8', '0', '-1/4', '1', '2', '1/8'], [0, 3]], ['0', '-9/8']], ['control: random biquad 8', [['0', '1/2', '3/4', '-1', '3/4', '0'], [-3, 0]], ['0', '3/2']], ['control: random biquad 30', [['0', '0', '1/8', '1', '0', '-1/2'], [1, -2, 1]], ['0', '0', '1/8']]], [['regression: random biquad 6', [['1/8', '0', '5/4', '1', '-1/2', '5/4'], [1, 1, 1, 0, 3, 2]], ['1/8', '3/16', '21/16', '107/64', '105/128', '-183/128']], ['regression: random biquad 9', [['3/4', '1/3', '1/2', '-1', '0', '1/8'], [-1, -1, 2]], ['3/4', '13/12', '-55/96']], ['regression: random biquad 5', [['1/2', '0', '-1/2', '-1', '-1/2', '-3/8'], [0, 2, -2, -1, 1]], ['0', '-1', '3/2', '9/8', '-21/8']], ['control: fir only', [['1', '2', '1', '1', '0', '0'], [1, 2, 3]], ['1', '4', '8']], ['control: random biquad 7', [['-3/8', '0', '-1/4', '1', '2', '1/8'], [0, 3]], ['0', '-9/8']], ['control: random biquad 8', [['0', '1/2', '3/4', '-1', '3/4', '0'], [-3, 0]], ['0', '3/2']], ['control: random biquad 30', [['0', '0', '1/8', '1', '0', '-1/2'], [1, -2, 1]], ['0', '0', '1/8']]], [['regression: random biquad 11', [['1/2', '3/4', '0', '1', '1/3', '5/4'], [-3, 3, -3, 0, 2]], ['-3/2', '-1/4', '65/24', '-409/144', '-1243/864']], ['regression: random biquad 13', [['1/8', '-1/4', '5/4', '2', '-1/4', '1/2'], [1, -1, 2]], ['1/16', '-23/128', '857/1024']], ['regression: random biquad 9', [['3/4', '1/3', '1/2', '-1', '0', '1/8'], [-1, -1, 2]], ['3/4', '13/12', '-55/96']], ['control: fir only', [['1', '2', '1', '1', '0', '0'], [1, 2, 3]], ['1', '4', '8']], ['control: random biquad 7', [['-3/8', '0', '-1/4', '1', '2', '1/8'], [0, 3]], ['0', '-9/8']], ['control: random biquad 8', [['0', '1/2', '3/4', '-1', '3/4', '0'], [-3, 0]], ['0', '3/2']], ['control: random biquad 30', [['0', '0', '1/8', '1', '0', '-1/2'], [1, -2, 1]], ['0', '0', '1/8']]]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(args), expected)\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":"A deterministic bounded teaching model with a stipulated toy contract; exact rational arithmetic or fixed-decimal rounding keeps outputs strict JSON. It is not a production DSP library and claims no standards 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.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"w2-digital_signal_filters-biquad-direct-form-one-output-delay-shift","generated_at":"2026-09-29T14:51:35.432707+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"The biquad is the workhorse IIR section; sign, state or normalization slips produce unstable or wrong-gain filters.","repair":"Shift outputs as y2, y1 = y1, y.","root_cause":"The output delay update is written y2, y1 = y, y1, swapping which slot receives the new output.","sha256":"b092e0c3298f3c5c327108797c26463dddac45cf4b2585034f161466e12e5318","title":"Biquad stores the new output in y[n-2] · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":42.813,"exit_code":1,"observations":[{"actual":["1","1/2","1/4","1/8"],"check":"regression: pure feedback impulse","expected":["1","1/2","1/4","1/8"],"passed":true},{"actual":["2","-1/2","3/8","23/32"],"check":"regression: a0 not one","expected":["2","0","-1/2","5/4"],"passed":false},{"actual":["1","-1/4","1/16","-1/64","1/256"],"check":"regression: second order feedback","expected":["1","0","-1/4","0","1/16"],"passed":false},{"actual":["1","4","8"],"check":"control: fir only","expected":["1","4","8"],"passed":true},{"actual":["0","-9/8"],"check":"control: random biquad 7","expected":["0","-9/8"],"passed":true},{"actual":["0","3/2"],"check":"control: random biquad 8","expected":["0","3/2"],"passed":true},{"actual":["0","0","1/8"],"check":"control: random biquad 30","expected":["0","0","1/8"],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: pure feedback impulse\", \"actual\": [\"1\", \"1/2\", \"1/4\", \"1/8\"], \"expected\": [\"1\", \"1/2\", \"1/4\", \"1/8\"], \"passed\": true}, {\"check\": \"regression: a0 not one\", \"actual\": [\"2\", \"-1/2\", \"3/8\", \"23/32\"], \"expected\": [\"2\", \"0\", \"-1/2\", \"5/4\"], \"passed\": false}, {\"check\": \"regression: second order feedback\", \"actual\": [\"1\", \"-1/4\", \"1/16\", \"-1/64\", \"1/256\"], \"expected\": [\"1\", \"0\", \"-1/4\", \"0\", \"1/16\"], \"passed\": false}, {\"check\": \"control: fir only\", \"actual\": [\"1\", \"4\", \"8\"], \"expected\": [\"1\", \"4\", \"8\"], \"passed\": true}, {\"check\": \"control: random biquad 7\", \"actual\": [\"0\", \"-9/8\"], \"expected\": [\"0\", \"-9/8\"], \"passed\": true}, {\"check\": \"control: random biquad 8\", \"actual\": [\"0\", \"3/2\"], \"expected\": [\"0\", \"3/2\"], \"passed\": true}, {\"check\": \"control: random biquad 30\", \"actual\": [\"0\", \"0\", \"1/8\"], \"expected\": [\"0\", \"0\", \"1/8\"], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":43.802,"exit_code":1,"observations":[{"actual":["1","0","0","0"],"check":"regression: pure feedback impulse","expected":["1","1/2","1/4","1/8"],"passed":false},{"actual":["2","1/2","-1/8","33/32"],"check":"regression: a0 not one","expected":["2","0","-1/2","5/4"],"passed":false},{"actual":["1","-1/4","1/16","-1/64","1/256"],"check":"regression: second order feedback","expected":["1","0","-1/4","0","1/16"],"passed":false},{"actual":["1","4","8"],"check":"control: fir only","expected":["1","4","8"],"passed":true},{"actual":["0","-9/8"],"check":"control: random biquad 7","expected":["0","-9/8"],"passed":true},{"actual":["0","3/2"],"check":"control: random biquad 8","expected":["0","3/2"],"passed":true},{"actual":["0","0","1/8"],"check":"control: random biquad 30","expected":["0","0","1/8"],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: pure feedback impulse\", \"actual\": [\"1\", \"0\", \"0\", \"0\"], \"expected\": [\"1\", \"1/2\", \"1/4\", \"1/8\"], \"passed\": false}, {\"check\": \"regression: a0 not one\", \"actual\": [\"2\", \"1/2\", \"-1/8\", \"33/32\"], \"expected\": [\"2\", \"0\", \"-1/2\", \"5/4\"], \"passed\": false}, {\"check\": \"regression: second order feedback\", \"actual\": [\"1\", \"-1/4\", \"1/16\", \"-1/64\", \"1/256\"], \"expected\": [\"1\", \"0\", \"-1/4\", \"0\", \"1/16\"], \"passed\": false}, {\"check\": \"control: fir only\", \"actual\": [\"1\", \"4\", \"8\"], \"expected\": [\"1\", \"4\", \"8\"], \"passed\": true}, {\"check\": \"control: random biquad 7\", \"actual\": [\"0\", \"-9/8\"], \"expected\": [\"0\", \"-9/8\"], \"passed\": true}, {\"check\": \"control: random biquad 8\", \"actual\": [\"0\", \"3/2\"], \"expected\": [\"0\", \"3/2\"], \"passed\": true}, {\"check\": \"control: random biquad 30\", \"actual\": [\"0\", \"0\", \"1/8\"], \"expected\": [\"0\", \"0\", \"1/8\"], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":41.511,"exit_code":0,"observations":[{"actual":["1","1/2","1/4","1/8"],"check":"regression: pure feedback impulse","expected":["1","1/2","1/4","1/8"],"passed":true},{"actual":["2","0","-1/2","5/4"],"check":"regression: a0 not one","expected":["2","0","-1/2","5/4"],"passed":true},{"actual":["1","0","-1/4","0","1/16"],"check":"regression: second order feedback","expected":["1","0","-1/4","0","1/16"],"passed":true},{"actual":["1","4","8"],"check":"control: fir only","expected":["1","4","8"],"passed":true},{"actual":["0","-9/8"],"check":"control: random biquad 7","expected":["0","-9/8"],"passed":true},{"actual":["0","3/2"],"check":"control: random biquad 8","expected":["0","3/2"],"passed":true},{"actual":["0","0","1/8"],"check":"control: random biquad 30","expected":["0","0","1/8"],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: pure feedback impulse\", \"actual\": [\"1\", \"1/2\", \"1/4\", \"1/8\"], \"expected\": [\"1\", \"1/2\", \"1/4\", \"1/8\"], \"passed\": true}, {\"check\": \"regression: a0 not one\", \"actual\": [\"2\", \"0\", \"-1/2\", \"5/4\"], \"expected\": [\"2\", \"0\", \"-1/2\", \"5/4\"], \"passed\": true}, {\"check\": \"regression: second order feedback\", \"actual\": [\"1\", \"0\", \"-1/4\", \"0\", \"1/16\"], \"expected\": [\"1\", \"0\", \"-1/4\", \"0\", \"1/16\"], \"passed\": true}, {\"check\": \"control: fir only\", \"actual\": [\"1\", \"4\", \"8\"], \"expected\": [\"1\", \"4\", \"8\"], \"passed\": true}, {\"check\": \"control: random biquad 7\", \"actual\": [\"0\", \"-9/8\"], \"expected\": [\"0\", \"-9/8\"], \"passed\": true}, {\"check\": \"control: random biquad 8\", \"actual\": [\"0\", \"3/2\"], \"expected\": [\"0\", \"3/2\"], \"passed\": true}, {\"check\": \"control: random biquad 30\", \"actual\": [\"0\", \"0\", \"1/8\"], \"expected\": [\"0\", \"0\", \"1/8\"], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}