{"abstract":"When the filter length is not a multiple of L the last taps are never applied.","category":"Digital signal filters","checks":7,"contract":"Input [h, L, samples] (integers). Zero-stuff by L and filter with h, scaled by gain L: y[mL + p] = L sum_j h[jL + p] x[m - j]; return len(samples) * L outputs in time order.","evaluation_group":"w2-digital_signal_filters-polyphase-interpolator","failed_approach":"The attempted repair stops one tap before the end of the filter.","family":"w2-digital_signal_filters-polyphase-interpolator-phase-tap-coverage","id":"FA-91566","implementations":{"attempt":{"sha256":"eb892901267f9e67a555f3b9edbd0fe6ad5fa754b23e16c5df5d3bdf00fe1ee8","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    h, L, xs = x\n    out = []\n    for m in range(len(xs)):\n        for p in range(L):\n            acc = 0\n            j = 0\n            while j * L + p < len(h) - 1:\n                if m - j >= 0:\n                    acc += h[j * L + p] * xs[m - j]\n                j += 1\n            out.append(L * acc)\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression: partial phase tail', [[1, 2, 3], 2, [1, 1]], [2, 4, 8, 4]], ['regression: random interpolator 0', [[3, -1, -1, 2, 3], 3, [-4, -4, 2]], [-36, 12, 12, -60, -24, 12, -6, -42, -6]], ['repair check: impulse L=2', [[1, 2, 3, 4], 2, [1, 0, 0]], [2, 4, 6, 8, 0, 0]], ['control: L=3 taps 7', [[1, 1, 1, 1, 1, 1, 1], 3, [1, 2]], [3, 3, 3, 9, 9, 9]], ['control: random interpolator 1', [[3, -2, 3, -3, 2, 2], 4, [3]], [36, -24, 36, -36]], ['control: random interpolator 4', [[-3, 3, 2, -1, 1], 4, [1]], [-12, 12, 8, -4]], ['control: random interpolator 5', [[0], 3, [2, 0]], [0, 0, 0, 0, 0, 0]]], [['regression: random interpolator 9', [[-2, 4], 3, [-1, -1]], [6, -12, 0, 6, -12, 0]], ['regression: random interpolator 12', [[3, -1], 4, [1, 4, -2]], [12, -4, 0, 0, 48, -16, 0, 0, -24, 8, 0, 0]], ['regression: random interpolator 0', [[3, -1, -1, 2, 3], 3, [-4, -4, 2]], [-36, 12, 12, -60, -24, 12, -6, -42, -6]], ['control: random interpolator 8', [[0, -2, 3, 3, -2, 4, -3], 3, [4, 2]], [0, -24, 36, 36, -36, 66]], ['control: random interpolator 17', [[4, 4, 3, 1, -3, 2, 1], 4, [4]], [64, 64, 48, 16]], ['control: random interpolator 21', [[2, -3, 0], 3, [-4, 3, 2, -2, -2]], [-24, 36, 0, 18, -27, 0, 12, -18, 0, -12, 18, 0, -12, 18, 0]], ['control: random interpolator 23', [[3, 2, 1, -1, 3, -1], 2, [-3, -1]], [-18, -12, -12, 2]]], [['regression: random interpolator 14', [[4, -1, 3, -1, 0, -2, 4], 3, [1, 3, 5]], [12, -3, 9, 33, -9, 21, 63, -15, 27]], ['regression: random interpolator 15', [[4, 2, 3], 2, [-2, -2, 2, 0, -1]], [-16, -8, -28, -8, 4, 8, 12, 0, -8, -4]], ['regression: random interpolator 3', [[-3], 4, [2, 2, 4, -3, -2]], [-24, 0, 0, 0, -24, 0, 0, 0, -48, 0, 0, 0, 36, 0, 0, 0, 24, 0, 0, 0]], ['control: random interpolator 24', [[-2, -1, 3, 0, -2, -2, 2], 2, [-2]], [8, 4]], ['control: random interpolator 36', [[2, 2, 0, 1, -3, -2], 2, [0]], [0, 0]], ['control: random interpolator 44', [[-2, -1, 1, -2, -3, -1], 4, [2]], [-16, -8, 8, -16]], ['control: random interpolator 46', [[0, -3, 2, 2, 0, 1, 3, 1], 2, [-3]], [0, 18]]], [['regression: random interpolator 18', [[-2, -1, -2, 0, 2], 2, [-4, 3, 1, 5, 1]], [16, 8, 4, -6, -32, -2, -12, -10, -20, -2]], ['regression: random interpolator 20', [[0, 1, 4, 1, -3, 2], 4, [-3, 2, -2, 0, 4]], [0, -12, -48, -12, 36, -16, 32, 8, -24, 8, -32, -8, 24, -16, 0, 0, 0, 16, 64, 16]], ['repair check: random interpolator 7', [[-3, 4, -3, -1, -2, -3, -1, 1], 4, [-3, 1, 2, 5, 0]], [36, -48, 36, 12, 12, 52, 0, -16, -32, 20, -28, -4, -76, 56, -68, -12, -40, -60, -20, 20]], ['control: L=3 taps 7', [[1, 1, 1, 1, 1, 1, 1], 3, [1, 2]], [3, 3, 3, 9, 9, 9]], ['control: random interpolator 1', [[3, -2, 3, -3, 2, 2], 4, [3]], [36, -24, 36, -36]], ['control: random interpolator 4', [[-3, 3, 2, -1, 1], 4, [1]], [-12, 12, 8, -4]], ['control: random interpolator 5', [[0], 3, [2, 0]], [0, 0, 0, 0, 0, 0]]], [['regression: random interpolator 25', [[-2], 3, [3, 2, 3, -1, -1]], [-18, 0, 0, -12, 0, 0, -18, 0, 0, 6, 0, 0, 6, 0, 0]], ['regression: random interpolator 26', [[4, -3, 2, -2], 3, [2, -4, 0, 4, -3]], [24, -18, 12, -60, 36, -24, 24, 0, 0, 48, -36, 24, -60, 27, -18]], ['repair check: random interpolator 10', [[-3, -2, 1], 3, [-4]], [36, 24, -12]], ['control: random interpolator 8', [[0, -2, 3, 3, -2, 4, -3], 3, [4, 2]], [0, -24, 36, 36, -36, 66]], ['control: random interpolator 17', [[4, 4, 3, 1, -3, 2, 1], 4, [4]], [64, 64, 48, 16]], ['control: random interpolator 21', [[2, -3, 0], 3, [-4, 3, 2, -2, -2]], [-24, 36, 0, 18, -27, 0, 12, -18, 0, -12, 18, 0, -12, 18, 0]], ['control: random interpolator 23', [[3, 2, 1, -1, 3, -1], 2, [-3, -1]], [-18, -12, -12, 2]]]]\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":"21ca6a0383e7a573f3a7708f24d732e61fca7f20969e915c1bb539b92302451f","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    h, L, xs = x\n    out = []\n    for m in range(len(xs)):\n        for p in range(L):\n            acc = 0\n            j = 0\n            while j < len(h) // L:\n                if m - j >= 0:\n                    acc += h[j * L + p] * xs[m - j]\n                j += 1\n            out.append(L * acc)\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression: partial phase tail', [[1, 2, 3], 2, [1, 1]], [2, 4, 8, 4]], ['regression: random interpolator 0', [[3, -1, -1, 2, 3], 3, [-4, -4, 2]], [-36, 12, 12, -60, -24, 12, -6, -42, -6]], ['repair check: impulse L=2', [[1, 2, 3, 4], 2, [1, 0, 0]], [2, 4, 6, 8, 0, 0]], ['control: L=3 taps 7', [[1, 1, 1, 1, 1, 1, 1], 3, [1, 2]], [3, 3, 3, 9, 9, 9]], ['control: random interpolator 1', [[3, -2, 3, -3, 2, 2], 4, [3]], [36, -24, 36, -36]], ['control: random interpolator 4', [[-3, 3, 2, -1, 1], 4, [1]], [-12, 12, 8, -4]], ['control: random interpolator 5', [[0], 3, [2, 0]], [0, 0, 0, 0, 0, 0]]], [['regression: random interpolator 9', [[-2, 4], 3, [-1, -1]], [6, -12, 0, 6, -12, 0]], ['regression: random interpolator 12', [[3, -1], 4, [1, 4, -2]], [12, -4, 0, 0, 48, -16, 0, 0, -24, 8, 0, 0]], ['regression: random interpolator 0', [[3, -1, -1, 2, 3], 3, [-4, -4, 2]], [-36, 12, 12, -60, -24, 12, -6, -42, -6]], ['control: random interpolator 8', [[0, -2, 3, 3, -2, 4, -3], 3, [4, 2]], [0, -24, 36, 36, -36, 66]], ['control: random interpolator 17', [[4, 4, 3, 1, -3, 2, 1], 4, [4]], [64, 64, 48, 16]], ['control: random interpolator 21', [[2, -3, 0], 3, [-4, 3, 2, -2, -2]], [-24, 36, 0, 18, -27, 0, 12, -18, 0, -12, 18, 0, -12, 18, 0]], ['control: random interpolator 23', [[3, 2, 1, -1, 3, -1], 2, [-3, -1]], [-18, -12, -12, 2]]], [['regression: random interpolator 14', [[4, -1, 3, -1, 0, -2, 4], 3, [1, 3, 5]], [12, -3, 9, 33, -9, 21, 63, -15, 27]], ['regression: random interpolator 15', [[4, 2, 3], 2, [-2, -2, 2, 0, -1]], [-16, -8, -28, -8, 4, 8, 12, 0, -8, -4]], ['regression: random interpolator 3', [[-3], 4, [2, 2, 4, -3, -2]], [-24, 0, 0, 0, -24, 0, 0, 0, -48, 0, 0, 0, 36, 0, 0, 0, 24, 0, 0, 0]], ['control: random interpolator 24', [[-2, -1, 3, 0, -2, -2, 2], 2, [-2]], [8, 4]], ['control: random interpolator 36', [[2, 2, 0, 1, -3, -2], 2, [0]], [0, 0]], ['control: random interpolator 44', [[-2, -1, 1, -2, -3, -1], 4, [2]], [-16, -8, 8, -16]], ['control: random interpolator 46', [[0, -3, 2, 2, 0, 1, 3, 1], 2, [-3]], [0, 18]]], [['regression: random interpolator 18', [[-2, -1, -2, 0, 2], 2, [-4, 3, 1, 5, 1]], [16, 8, 4, -6, -32, -2, -12, -10, -20, -2]], ['regression: random interpolator 20', [[0, 1, 4, 1, -3, 2], 4, [-3, 2, -2, 0, 4]], [0, -12, -48, -12, 36, -16, 32, 8, -24, 8, -32, -8, 24, -16, 0, 0, 0, 16, 64, 16]], ['repair check: random interpolator 7', [[-3, 4, -3, -1, -2, -3, -1, 1], 4, [-3, 1, 2, 5, 0]], [36, -48, 36, 12, 12, 52, 0, -16, -32, 20, -28, -4, -76, 56, -68, -12, -40, -60, -20, 20]], ['control: L=3 taps 7', [[1, 1, 1, 1, 1, 1, 1], 3, [1, 2]], [3, 3, 3, 9, 9, 9]], ['control: random interpolator 1', [[3, -2, 3, -3, 2, 2], 4, [3]], [36, -24, 36, -36]], ['control: random interpolator 4', [[-3, 3, 2, -1, 1], 4, [1]], [-12, 12, 8, -4]], ['control: random interpolator 5', [[0], 3, [2, 0]], [0, 0, 0, 0, 0, 0]]], [['regression: random interpolator 25', [[-2], 3, [3, 2, 3, -1, -1]], [-18, 0, 0, -12, 0, 0, -18, 0, 0, 6, 0, 0, 6, 0, 0]], ['regression: random interpolator 26', [[4, -3, 2, -2], 3, [2, -4, 0, 4, -3]], [24, -18, 12, -60, 36, -24, 24, 0, 0, 48, -36, 24, -60, 27, -18]], ['repair check: random interpolator 10', [[-3, -2, 1], 3, [-4]], [36, 24, -12]], ['control: random interpolator 8', [[0, -2, 3, 3, -2, 4, -3], 3, [4, 2]], [0, -24, 36, 36, -36, 66]], ['control: random interpolator 17', [[4, 4, 3, 1, -3, 2, 1], 4, [4]], [64, 64, 48, 16]], ['control: random interpolator 21', [[2, -3, 0], 3, [-4, 3, 2, -2, -2]], [-24, 36, 0, 18, -27, 0, 12, -18, 0, -12, 18, 0, -12, 18, 0]], ['control: random interpolator 23', [[3, 2, 1, -1, 3, -1], 2, [-3, -1]], [-18, -12, -12, 2]]]]\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":"f8f3d20651a1407781f36b279ca89393bff401df20eb1ebde22e673950988a31","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    h, L, xs = x\n    out = []\n    for m in range(len(xs)):\n        for p in range(L):\n            acc = 0\n            j = 0\n            while j * L + p < len(h):\n                if m - j >= 0:\n                    acc += h[j * L + p] * xs[m - j]\n                j += 1\n            out.append(L * acc)\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression: partial phase tail', [[1, 2, 3], 2, [1, 1]], [2, 4, 8, 4]], ['regression: random interpolator 0', [[3, -1, -1, 2, 3], 3, [-4, -4, 2]], [-36, 12, 12, -60, -24, 12, -6, -42, -6]], ['repair check: impulse L=2', [[1, 2, 3, 4], 2, [1, 0, 0]], [2, 4, 6, 8, 0, 0]], ['control: L=3 taps 7', [[1, 1, 1, 1, 1, 1, 1], 3, [1, 2]], [3, 3, 3, 9, 9, 9]], ['control: random interpolator 1', [[3, -2, 3, -3, 2, 2], 4, [3]], [36, -24, 36, -36]], ['control: random interpolator 4', [[-3, 3, 2, -1, 1], 4, [1]], [-12, 12, 8, -4]], ['control: random interpolator 5', [[0], 3, [2, 0]], [0, 0, 0, 0, 0, 0]]], [['regression: random interpolator 9', [[-2, 4], 3, [-1, -1]], [6, -12, 0, 6, -12, 0]], ['regression: random interpolator 12', [[3, -1], 4, [1, 4, -2]], [12, -4, 0, 0, 48, -16, 0, 0, -24, 8, 0, 0]], ['regression: random interpolator 0', [[3, -1, -1, 2, 3], 3, [-4, -4, 2]], [-36, 12, 12, -60, -24, 12, -6, -42, -6]], ['control: random interpolator 8', [[0, -2, 3, 3, -2, 4, -3], 3, [4, 2]], [0, -24, 36, 36, -36, 66]], ['control: random interpolator 17', [[4, 4, 3, 1, -3, 2, 1], 4, [4]], [64, 64, 48, 16]], ['control: random interpolator 21', [[2, -3, 0], 3, [-4, 3, 2, -2, -2]], [-24, 36, 0, 18, -27, 0, 12, -18, 0, -12, 18, 0, -12, 18, 0]], ['control: random interpolator 23', [[3, 2, 1, -1, 3, -1], 2, [-3, -1]], [-18, -12, -12, 2]]], [['regression: random interpolator 14', [[4, -1, 3, -1, 0, -2, 4], 3, [1, 3, 5]], [12, -3, 9, 33, -9, 21, 63, -15, 27]], ['regression: random interpolator 15', [[4, 2, 3], 2, [-2, -2, 2, 0, -1]], [-16, -8, -28, -8, 4, 8, 12, 0, -8, -4]], ['regression: random interpolator 3', [[-3], 4, [2, 2, 4, -3, -2]], [-24, 0, 0, 0, -24, 0, 0, 0, -48, 0, 0, 0, 36, 0, 0, 0, 24, 0, 0, 0]], ['control: random interpolator 24', [[-2, -1, 3, 0, -2, -2, 2], 2, [-2]], [8, 4]], ['control: random interpolator 36', [[2, 2, 0, 1, -3, -2], 2, [0]], [0, 0]], ['control: random interpolator 44', [[-2, -1, 1, -2, -3, -1], 4, [2]], [-16, -8, 8, -16]], ['control: random interpolator 46', [[0, -3, 2, 2, 0, 1, 3, 1], 2, [-3]], [0, 18]]], [['regression: random interpolator 18', [[-2, -1, -2, 0, 2], 2, [-4, 3, 1, 5, 1]], [16, 8, 4, -6, -32, -2, -12, -10, -20, -2]], ['regression: random interpolator 20', [[0, 1, 4, 1, -3, 2], 4, [-3, 2, -2, 0, 4]], [0, -12, -48, -12, 36, -16, 32, 8, -24, 8, -32, -8, 24, -16, 0, 0, 0, 16, 64, 16]], ['repair check: random interpolator 7', [[-3, 4, -3, -1, -2, -3, -1, 1], 4, [-3, 1, 2, 5, 0]], [36, -48, 36, 12, 12, 52, 0, -16, -32, 20, -28, -4, -76, 56, -68, -12, -40, -60, -20, 20]], ['control: L=3 taps 7', [[1, 1, 1, 1, 1, 1, 1], 3, [1, 2]], [3, 3, 3, 9, 9, 9]], ['control: random interpolator 1', [[3, -2, 3, -3, 2, 2], 4, [3]], [36, -24, 36, -36]], ['control: random interpolator 4', [[-3, 3, 2, -1, 1], 4, [1]], [-12, 12, 8, -4]], ['control: random interpolator 5', [[0], 3, [2, 0]], [0, 0, 0, 0, 0, 0]]], [['regression: random interpolator 25', [[-2], 3, [3, 2, 3, -1, -1]], [-18, 0, 0, -12, 0, 0, -18, 0, 0, 6, 0, 0, 6, 0, 0]], ['regression: random interpolator 26', [[4, -3, 2, -2], 3, [2, -4, 0, 4, -3]], [24, -18, 12, -60, 36, -24, 24, 0, 0, 48, -36, 24, -60, 27, -18]], ['repair check: random interpolator 10', [[-3, -2, 1], 3, [-4]], [36, 24, -12]], ['control: random interpolator 8', [[0, -2, 3, 3, -2, 4, -3], 3, [4, 2]], [0, -24, 36, 36, -36, 66]], ['control: random interpolator 17', [[4, 4, 3, 1, -3, 2, 1], 4, [4]], [64, 64, 48, 16]], ['control: random interpolator 21', [[2, -3, 0], 3, [-4, 3, 2, -2, -2]], [-24, 36, 0, 18, -27, 0, 12, -18, 0, -12, 18, 0, -12, 18, 0]], ['control: random interpolator 23', [[3, 2, 1, -1, 3, -1], 2, [-3, -1]], [-18, -12, -12, 2]]]]\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-polyphase-interpolator-phase-tap-coverage","generated_at":"2026-09-29T14:51:37.138829+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Interpolators feed DACs and sample-rate converters; gain and phase-indexing slips cause level errors and imaging.","repair":"Iterate while j L + p < len(h).","root_cause":"Each branch iterates j < len(h) // L instead of while jL + p < len(h).","sha256":"b7546ebd99ad394acb10685a472cf199c32dad4506009366615bbe0fe82a1223","title":"Polyphase interpolator drops trailing taps of shorter phases · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":41.629,"exit_code":1,"observations":[{"actual":[2,4,2,4],"check":"regression: partial phase tail","expected":[2,4,8,4],"passed":false},{"actual":[-36,12,12,-60,12,12,-6,-6,-6],"check":"regression: random interpolator 0","expected":[-36,12,12,-60,-24,12,-6,-42,-6],"passed":false},{"actual":[2,4,6,0,0,0],"check":"repair check: impulse L=2","expected":[2,4,6,8,0,0],"passed":false},{"actual":[3,3,3,9,9,9],"check":"control: L=3 taps 7","expected":[3,3,3,9,9,9],"passed":true},{"actual":[36,-24,36,-36],"check":"control: random interpolator 1","expected":[36,-24,36,-36],"passed":true},{"actual":[-12,12,8,-4],"check":"control: random interpolator 4","expected":[-12,12,8,-4],"passed":true},{"actual":[0,0,0,0,0,0],"check":"control: random interpolator 5","expected":[0,0,0,0,0,0],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: partial phase tail\", \"actual\": [2, 4, 2, 4], \"expected\": [2, 4, 8, 4], \"passed\": false}, {\"check\": \"regression: random interpolator 0\", \"actual\": [-36, 12, 12, -60, 12, 12, -6, -6, -6], \"expected\": [-36, 12, 12, -60, -24, 12, -6, -42, -6], \"passed\": false}, {\"check\": \"repair check: impulse L=2\", \"actual\": [2, 4, 6, 0, 0, 0], \"expected\": [2, 4, 6, 8, 0, 0], \"passed\": false}, {\"check\": \"control: L=3 taps 7\", \"actual\": [3, 3, 3, 9, 9, 9], \"expected\": [3, 3, 3, 9, 9, 9], \"passed\": true}, {\"check\": \"control: random interpolator 1\", \"actual\": [36, -24, 36, -36], \"expected\": [36, -24, 36, -36], \"passed\": true}, {\"check\": \"control: random interpolator 4\", \"actual\": [-12, 12, 8, -4], \"expected\": [-12, 12, 8, -4], \"passed\": true}, {\"check\": \"control: random interpolator 5\", \"actual\": [0, 0, 0, 0, 0, 0], \"expected\": [0, 0, 0, 0, 0, 0], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":38.933,"exit_code":1,"observations":[{"actual":[2,4,2,4],"check":"regression: partial phase tail","expected":[2,4,8,4],"passed":false},{"actual":[-36,12,12,-36,12,12,18,-6,-6],"check":"regression: random interpolator 0","expected":[-36,12,12,-60,-24,12,-6,-42,-6],"passed":false},{"actual":[2,4,6,8,0,0],"check":"repair check: impulse L=2","expected":[2,4,6,8,0,0],"passed":true},{"actual":[3,3,3,9,9,9],"check":"control: L=3 taps 7","expected":[3,3,3,9,9,9],"passed":true},{"actual":[36,-24,36,-36],"check":"control: random interpolator 1","expected":[36,-24,36,-36],"passed":true},{"actual":[-12,12,8,-4],"check":"control: random interpolator 4","expected":[-12,12,8,-4],"passed":true},{"actual":[0,0,0,0,0,0],"check":"control: random interpolator 5","expected":[0,0,0,0,0,0],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: partial phase tail\", \"actual\": [2, 4, 2, 4], \"expected\": [2, 4, 8, 4], \"passed\": false}, {\"check\": \"regression: random interpolator 0\", \"actual\": [-36, 12, 12, -36, 12, 12, 18, -6, -6], \"expected\": [-36, 12, 12, -60, -24, 12, -6, -42, -6], \"passed\": false}, {\"check\": \"repair check: impulse L=2\", \"actual\": [2, 4, 6, 8, 0, 0], \"expected\": [2, 4, 6, 8, 0, 0], \"passed\": true}, {\"check\": \"control: L=3 taps 7\", \"actual\": [3, 3, 3, 9, 9, 9], \"expected\": [3, 3, 3, 9, 9, 9], \"passed\": true}, {\"check\": \"control: random interpolator 1\", \"actual\": [36, -24, 36, -36], \"expected\": [36, -24, 36, -36], \"passed\": true}, {\"check\": \"control: random interpolator 4\", \"actual\": [-12, 12, 8, -4], \"expected\": [-12, 12, 8, -4], \"passed\": true}, {\"check\": \"control: random interpolator 5\", \"actual\": [0, 0, 0, 0, 0, 0], \"expected\": [0, 0, 0, 0, 0, 0], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":39.864,"exit_code":0,"observations":[{"actual":[2,4,8,4],"check":"regression: partial phase tail","expected":[2,4,8,4],"passed":true},{"actual":[-36,12,12,-60,-24,12,-6,-42,-6],"check":"regression: random interpolator 0","expected":[-36,12,12,-60,-24,12,-6,-42,-6],"passed":true},{"actual":[2,4,6,8,0,0],"check":"repair check: impulse L=2","expected":[2,4,6,8,0,0],"passed":true},{"actual":[3,3,3,9,9,9],"check":"control: L=3 taps 7","expected":[3,3,3,9,9,9],"passed":true},{"actual":[36,-24,36,-36],"check":"control: random interpolator 1","expected":[36,-24,36,-36],"passed":true},{"actual":[-12,12,8,-4],"check":"control: random interpolator 4","expected":[-12,12,8,-4],"passed":true},{"actual":[0,0,0,0,0,0],"check":"control: random interpolator 5","expected":[0,0,0,0,0,0],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: partial phase tail\", \"actual\": [2, 4, 8, 4], \"expected\": [2, 4, 8, 4], \"passed\": true}, {\"check\": \"regression: random interpolator 0\", \"actual\": [-36, 12, 12, -60, -24, 12, -6, -42, -6], \"expected\": [-36, 12, 12, -60, -24, 12, -6, -42, -6], \"passed\": true}, {\"check\": \"repair check: impulse L=2\", \"actual\": [2, 4, 6, 8, 0, 0], \"expected\": [2, 4, 6, 8, 0, 0], \"passed\": true}, {\"check\": \"control: L=3 taps 7\", \"actual\": [3, 3, 3, 9, 9, 9], \"expected\": [3, 3, 3, 9, 9, 9], \"passed\": true}, {\"check\": \"control: random interpolator 1\", \"actual\": [36, -24, 36, -36], \"expected\": [36, -24, 36, -36], \"passed\": true}, {\"check\": \"control: random interpolator 4\", \"actual\": [-12, 12, 8, -4], \"expected\": [-12, 12, 8, -4], \"passed\": true}, {\"check\": \"control: random interpolator 5\", \"actual\": [0, 0, 0, 0, 0, 0], \"expected\": [0, 0, 0, 0, 0, 0], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}