{"abstract":"Magnitudes are right but every phase has the opposite sign; a pure delay shows phase lead.","category":"Digital signal filters","checks":7,"contract":"Input [b, a, freqs]; coefficients and frequencies are numbers or rational strings, frequencies are fractions of Nyquist. For w = pi f evaluate H = B(e^{jw})/A(e^{jw}) with z^-k = e^{-jwk}; return per frequency [20 log10 |H| rounded to 4, phase in degrees rounded to 3], \"pole\" if |A| < 1e-12, \"zero\" if |H| < 1e-9.","evaluation_group":"w2-digital_signal_filters-frequency-response-db","failed_approach":"The attempted repair fixes the numerator only, so IIR phase is still wrong.","family":"w2-digital_signal_filters-frequency-response-db-delay-operator-sign","id":"FA-91526","implementations":{"attempt":{"sha256":"c44f08a4d26510a97736148150dba0a1c3f6e4f7f35fb9cb453a6d67a7627ef2","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nimport cmath\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(x):\n    b, a, fs = x\n    b = [float(Fraction(v)) for v in b]\n    a = [float(Fraction(v)) for v in a]\n    out = []\n    for f in fs:\n        w = math.pi * float(Fraction(f))\n        B = sum(c * cmath.exp(-1j * w * k) for k, c in enumerate(b))\n        A = sum(c * cmath.exp(1j * w * k) for k, c in enumerate(a))\n        if abs(A) < 1e-12:\n            out.append('pole')\n            continue\n        H = B / A\n        mag = abs(H)\n        if mag < 1e-9:\n            out.append('zero')\n            continue\n        out.append([round(20 * math.log10(mag), 4) + 0.0, round(math.degrees(cmath.phase(H)), 3) + 0.0])\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression: first difference', [[1, -1], [1], ['0', '1/2', '1']], ['zero', [3.0103, 45.0], [6.0206, 0.0]]], ['regression: one pole', [[1], [1, '-1/2'], ['0', '1/4', '1/2']], [[6.0206, 0.0], [2.6529, -28.675], [-0.9691, -26.565]]], ['regression: random response 1', [[0, -1, 1, 0], [1, '1/3', '1/3'], ['1/2', '3/4', '1/8']], [[5.563, 161.565], [7.5974, 60.22], [-12.1798, -110.508]]], ['control: two-tap average at nyquist', [[1, 1], [1], ['1']], ['zero']], ['control: pole on unit circle', [[1], [1, -1], ['0']], ['pole']], ['control: small magnitude', [[1, '-0.9999'], [1], ['0']], [[-80.0, 0.0]]], ['control: random response 16', [['-1/4', -1, '-1/4', -1], [1], ['1/2', '1', '1/2']], ['zero', [3.5218, 0.0], 'zero']]], [['regression: pure delay phase', [[0, 1], [1], ['1/4', '1/2']], [[0.0, -45.0], [0.0, -90.0]]], ['regression: random response 0', [['-1/4', 1], [1, 0], ['1/3', '1/8', '1/8']], [[-0.9018, -73.898], [-2.2144, -29.591], [-2.2144, -29.591]]], ['regression: random response 2', [['1/2', '-1/4', 0, 2], [1, '1/2', '1/2'], ['1/2', '1/2', '1/2']], [[10.2633, 122.471], [10.2633, 122.471], [10.2633, 122.471]]], ['control: two-tap average at nyquist', [[1, 1], [1], ['1']], ['zero']], ['control: pole on unit circle', [[1], [1, -1], ['0']], ['pole']], ['control: small magnitude', [[1, '-0.9999'], [1], ['0']], [[-80.0, 0.0]]], ['control: random response 16', [['-1/4', -1, '-1/4', -1], [1], ['1/2', '1', '1/2']], ['zero', [3.5218, 0.0], 'zero']]], [['regression: random response 2', [['1/2', '-1/4', 0, 2], [1, '1/2', '1/2'], ['1/2', '1/2', '1/2']], [[10.2633, 122.471], [10.2633, 122.471], [10.2633, 122.471]]], ['regression: random response 3', [[0, 0, -1], [1], ['1/2', '1/8', '1']], [[0.0, 0.0], [0.0, 135.0], [0.0, -180.0]]], ['regression: random response 5', [[1], [1, '1/2', '1/2'], ['1/4', '1', '1/8']], [[-4.0835, 32.236], [0.0, 0.0], [-5.5545, 16.706]]], ['control: two-tap average at nyquist', [[1, 1], [1], ['1']], ['zero']], ['control: pole on unit circle', [[1], [1, -1], ['0']], ['pole']], ['control: small magnitude', [[1, '-0.9999'], [1], ['0']], [[-80.0, 0.0]]], ['control: random response 16', [['-1/4', -1, '-1/4', -1], [1], ['1/2', '1', '1/2']], ['zero', [3.5218, 0.0], 'zero']]], [['regression: random response 5', [[1], [1, '1/2', '1/2'], ['1/4', '1', '1/8']], [[-4.0835, 32.236], [0.0, 0.0], [-5.5545, 16.706]]], ['regression: random response 6', [[1, -1], [1, '1/3', '1/3'], ['1/8', '1', '1/2']], [[-12.1798, 91.992], [6.0206, 0.0], [5.563, 71.565]]], ['regression: random response 7', [[2, -1], [1, '1/2'], ['3/4', '1/3', '1/3']], [[11.5896, 43.314], [2.3408, 49.107], [2.3408, 49.107]]], ['control: two-tap average at nyquist', [[1, 1], [1], ['1']], ['zero']], ['control: pole on unit circle', [[1], [1, -1], ['0']], ['pole']], ['control: small magnitude', [[1, '-0.9999'], [1], ['0']], [[-80.0, 0.0]]], ['control: random response 16', [['-1/4', -1, '-1/4', -1], [1], ['1/2', '1', '1/2']], ['zero', [3.5218, 0.0], 'zero']]], [['regression: random response 8', [[1, 2, -1, 1], [1, '-1/4', 0], ['1', '1/4', '0']], [[7.6042, -180.0], [7.6969, -45.419], [12.0412, 0.0]]], ['regression: random response 9', [[1], [1, '1/2'], ['1', '1/4', '1']], [[6.0206, 0.0], [-2.9161, 14.639], [6.0206, 0.0]]], ['regression: random response 12', [['-1/4'], [1, '1/2', 0], ['1/8', '0', '0']], [[-15.4136, -172.543], [-15.563, 180.0], [-15.563, 180.0]]], ['control: two-tap average at nyquist', [[1, 1], [1], ['1']], ['zero']], ['control: pole on unit circle', [[1], [1, -1], ['0']], ['pole']], ['control: small magnitude', [[1, '-0.9999'], [1], ['0']], [[-80.0, 0.0]]], ['control: random response 16', [['-1/4', -1, '-1/4', -1], [1], ['1/2', '1', '1/2']], ['zero', [3.5218, 0.0], 'zero']]]]\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":"c32e0f933c50b6e1ee8431b26ad7759df8388dc62d2cf1e5883248b918d574b7","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nimport cmath\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(x):\n    b, a, fs = x\n    b = [float(Fraction(v)) for v in b]\n    a = [float(Fraction(v)) for v in a]\n    out = []\n    for f in fs:\n        w = math.pi * float(Fraction(f))\n        B = sum(c * cmath.exp(1j * w * k) for k, c in enumerate(b))\n        A = sum(c * cmath.exp(1j * w * k) for k, c in enumerate(a))\n        if abs(A) < 1e-12:\n            out.append('pole')\n            continue\n        H = B / A\n        mag = abs(H)\n        if mag < 1e-9:\n            out.append('zero')\n            continue\n        out.append([round(20 * math.log10(mag), 4) + 0.0, round(math.degrees(cmath.phase(H)), 3) + 0.0])\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression: first difference', [[1, -1], [1], ['0', '1/2', '1']], ['zero', [3.0103, 45.0], [6.0206, 0.0]]], ['regression: one pole', [[1], [1, '-1/2'], ['0', '1/4', '1/2']], [[6.0206, 0.0], [2.6529, -28.675], [-0.9691, -26.565]]], ['regression: random response 1', [[0, -1, 1, 0], [1, '1/3', '1/3'], ['1/2', '3/4', '1/8']], [[5.563, 161.565], [7.5974, 60.22], [-12.1798, -110.508]]], ['control: two-tap average at nyquist', [[1, 1], [1], ['1']], ['zero']], ['control: pole on unit circle', [[1], [1, -1], ['0']], ['pole']], ['control: small magnitude', [[1, '-0.9999'], [1], ['0']], [[-80.0, 0.0]]], ['control: random response 16', [['-1/4', -1, '-1/4', -1], [1], ['1/2', '1', '1/2']], ['zero', [3.5218, 0.0], 'zero']]], [['regression: pure delay phase', [[0, 1], [1], ['1/4', '1/2']], [[0.0, -45.0], [0.0, -90.0]]], ['regression: random response 0', [['-1/4', 1], [1, 0], ['1/3', '1/8', '1/8']], [[-0.9018, -73.898], [-2.2144, -29.591], [-2.2144, -29.591]]], ['regression: random response 2', [['1/2', '-1/4', 0, 2], [1, '1/2', '1/2'], ['1/2', '1/2', '1/2']], [[10.2633, 122.471], [10.2633, 122.471], [10.2633, 122.471]]], ['control: two-tap average at nyquist', [[1, 1], [1], ['1']], ['zero']], ['control: pole on unit circle', [[1], [1, -1], ['0']], ['pole']], ['control: small magnitude', [[1, '-0.9999'], [1], ['0']], [[-80.0, 0.0]]], ['control: random response 16', [['-1/4', -1, '-1/4', -1], [1], ['1/2', '1', '1/2']], ['zero', [3.5218, 0.0], 'zero']]], [['regression: random response 2', [['1/2', '-1/4', 0, 2], [1, '1/2', '1/2'], ['1/2', '1/2', '1/2']], [[10.2633, 122.471], [10.2633, 122.471], [10.2633, 122.471]]], ['regression: random response 3', [[0, 0, -1], [1], ['1/2', '1/8', '1']], [[0.0, 0.0], [0.0, 135.0], [0.0, -180.0]]], ['regression: random response 5', [[1], [1, '1/2', '1/2'], ['1/4', '1', '1/8']], [[-4.0835, 32.236], [0.0, 0.0], [-5.5545, 16.706]]], ['control: two-tap average at nyquist', [[1, 1], [1], ['1']], ['zero']], ['control: pole on unit circle', [[1], [1, -1], ['0']], ['pole']], ['control: small magnitude', [[1, '-0.9999'], [1], ['0']], [[-80.0, 0.0]]], ['control: random response 16', [['-1/4', -1, '-1/4', -1], [1], ['1/2', '1', '1/2']], ['zero', [3.5218, 0.0], 'zero']]], [['regression: random response 5', [[1], [1, '1/2', '1/2'], ['1/4', '1', '1/8']], [[-4.0835, 32.236], [0.0, 0.0], [-5.5545, 16.706]]], ['regression: random response 6', [[1, -1], [1, '1/3', '1/3'], ['1/8', '1', '1/2']], [[-12.1798, 91.992], [6.0206, 0.0], [5.563, 71.565]]], ['regression: random response 7', [[2, -1], [1, '1/2'], ['3/4', '1/3', '1/3']], [[11.5896, 43.314], [2.3408, 49.107], [2.3408, 49.107]]], ['control: two-tap average at nyquist', [[1, 1], [1], ['1']], ['zero']], ['control: pole on unit circle', [[1], [1, -1], ['0']], ['pole']], ['control: small magnitude', [[1, '-0.9999'], [1], ['0']], [[-80.0, 0.0]]], ['control: random response 16', [['-1/4', -1, '-1/4', -1], [1], ['1/2', '1', '1/2']], ['zero', [3.5218, 0.0], 'zero']]], [['regression: random response 8', [[1, 2, -1, 1], [1, '-1/4', 0], ['1', '1/4', '0']], [[7.6042, -180.0], [7.6969, -45.419], [12.0412, 0.0]]], ['regression: random response 9', [[1], [1, '1/2'], ['1', '1/4', '1']], [[6.0206, 0.0], [-2.9161, 14.639], [6.0206, 0.0]]], ['regression: random response 12', [['-1/4'], [1, '1/2', 0], ['1/8', '0', '0']], [[-15.4136, -172.543], [-15.563, 180.0], [-15.563, 180.0]]], ['control: two-tap average at nyquist', [[1, 1], [1], ['1']], ['zero']], ['control: pole on unit circle', [[1], [1, -1], ['0']], ['pole']], ['control: small magnitude', [[1, '-0.9999'], [1], ['0']], [[-80.0, 0.0]]], ['control: random response 16', [['-1/4', -1, '-1/4', -1], [1], ['1/2', '1', '1/2']], ['zero', [3.5218, 0.0], 'zero']]]]\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":"cd7b93b4322c1d056358756a31162a8897c62776e6944dac85226f2e2a33bd1b","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nimport cmath\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(x):\n    b, a, fs = x\n    b = [float(Fraction(v)) for v in b]\n    a = [float(Fraction(v)) for v in a]\n    out = []\n    for f in fs:\n        w = math.pi * float(Fraction(f))\n        B = sum(c * cmath.exp(-1j * w * k) for k, c in enumerate(b))\n        A = sum(c * cmath.exp(-1j * w * k) for k, c in enumerate(a))\n        if abs(A) < 1e-12:\n            out.append('pole')\n            continue\n        H = B / A\n        mag = abs(H)\n        if mag < 1e-9:\n            out.append('zero')\n            continue\n        out.append([round(20 * math.log10(mag), 4) + 0.0, round(math.degrees(cmath.phase(H)), 3) + 0.0])\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression: first difference', [[1, -1], [1], ['0', '1/2', '1']], ['zero', [3.0103, 45.0], [6.0206, 0.0]]], ['regression: one pole', [[1], [1, '-1/2'], ['0', '1/4', '1/2']], [[6.0206, 0.0], [2.6529, -28.675], [-0.9691, -26.565]]], ['regression: random response 1', [[0, -1, 1, 0], [1, '1/3', '1/3'], ['1/2', '3/4', '1/8']], [[5.563, 161.565], [7.5974, 60.22], [-12.1798, -110.508]]], ['control: two-tap average at nyquist', [[1, 1], [1], ['1']], ['zero']], ['control: pole on unit circle', [[1], [1, -1], ['0']], ['pole']], ['control: small magnitude', [[1, '-0.9999'], [1], ['0']], [[-80.0, 0.0]]], ['control: random response 16', [['-1/4', -1, '-1/4', -1], [1], ['1/2', '1', '1/2']], ['zero', [3.5218, 0.0], 'zero']]], [['regression: pure delay phase', [[0, 1], [1], ['1/4', '1/2']], [[0.0, -45.0], [0.0, -90.0]]], ['regression: random response 0', [['-1/4', 1], [1, 0], ['1/3', '1/8', '1/8']], [[-0.9018, -73.898], [-2.2144, -29.591], [-2.2144, -29.591]]], ['regression: random response 2', [['1/2', '-1/4', 0, 2], [1, '1/2', '1/2'], ['1/2', '1/2', '1/2']], [[10.2633, 122.471], [10.2633, 122.471], [10.2633, 122.471]]], ['control: two-tap average at nyquist', [[1, 1], [1], ['1']], ['zero']], ['control: pole on unit circle', [[1], [1, -1], ['0']], ['pole']], ['control: small magnitude', [[1, '-0.9999'], [1], ['0']], [[-80.0, 0.0]]], ['control: random response 16', [['-1/4', -1, '-1/4', -1], [1], ['1/2', '1', '1/2']], ['zero', [3.5218, 0.0], 'zero']]], [['regression: random response 2', [['1/2', '-1/4', 0, 2], [1, '1/2', '1/2'], ['1/2', '1/2', '1/2']], [[10.2633, 122.471], [10.2633, 122.471], [10.2633, 122.471]]], ['regression: random response 3', [[0, 0, -1], [1], ['1/2', '1/8', '1']], [[0.0, 0.0], [0.0, 135.0], [0.0, -180.0]]], ['regression: random response 5', [[1], [1, '1/2', '1/2'], ['1/4', '1', '1/8']], [[-4.0835, 32.236], [0.0, 0.0], [-5.5545, 16.706]]], ['control: two-tap average at nyquist', [[1, 1], [1], ['1']], ['zero']], ['control: pole on unit circle', [[1], [1, -1], ['0']], ['pole']], ['control: small magnitude', [[1, '-0.9999'], [1], ['0']], [[-80.0, 0.0]]], ['control: random response 16', [['-1/4', -1, '-1/4', -1], [1], ['1/2', '1', '1/2']], ['zero', [3.5218, 0.0], 'zero']]], [['regression: random response 5', [[1], [1, '1/2', '1/2'], ['1/4', '1', '1/8']], [[-4.0835, 32.236], [0.0, 0.0], [-5.5545, 16.706]]], ['regression: random response 6', [[1, -1], [1, '1/3', '1/3'], ['1/8', '1', '1/2']], [[-12.1798, 91.992], [6.0206, 0.0], [5.563, 71.565]]], ['regression: random response 7', [[2, -1], [1, '1/2'], ['3/4', '1/3', '1/3']], [[11.5896, 43.314], [2.3408, 49.107], [2.3408, 49.107]]], ['control: two-tap average at nyquist', [[1, 1], [1], ['1']], ['zero']], ['control: pole on unit circle', [[1], [1, -1], ['0']], ['pole']], ['control: small magnitude', [[1, '-0.9999'], [1], ['0']], [[-80.0, 0.0]]], ['control: random response 16', [['-1/4', -1, '-1/4', -1], [1], ['1/2', '1', '1/2']], ['zero', [3.5218, 0.0], 'zero']]], [['regression: random response 8', [[1, 2, -1, 1], [1, '-1/4', 0], ['1', '1/4', '0']], [[7.6042, -180.0], [7.6969, -45.419], [12.0412, 0.0]]], ['regression: random response 9', [[1], [1, '1/2'], ['1', '1/4', '1']], [[6.0206, 0.0], [-2.9161, 14.639], [6.0206, 0.0]]], ['regression: random response 12', [['-1/4'], [1, '1/2', 0], ['1/8', '0', '0']], [[-15.4136, -172.543], [-15.563, 180.0], [-15.563, 180.0]]], ['control: two-tap average at nyquist', [[1, 1], [1], ['1']], ['zero']], ['control: pole on unit circle', [[1], [1, -1], ['0']], ['pole']], ['control: small magnitude', [[1, '-0.9999'], [1], ['0']], [[-80.0, 0.0]]], ['control: random response 16', [['-1/4', -1, '-1/4', -1], [1], ['1/2', '1', '1/2']], ['zero', [3.5218, 0.0], 'zero']]]]\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-frequency-response-db-delay-operator-sign","generated_at":"2026-09-29T14:51:36.852155+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Magnitude and phase plots are how filters are verified; unit or sign slips misreport cutoff and delay.","repair":"Use e^{-jwk} for both numerator and denominator.","root_cause":"Both polynomials use e^{+jwk}, conjugating the response.","sha256":"00acabc027ee049fe8ebd6f7e00ff3611033100e3b5fa377767d1bc156d20ff2","title":"Frequency response evaluates z^-k as e^{+jwk} · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":41.705,"exit_code":1,"observations":[{"actual":["zero",[3.0103,45.0],[6.0206,0.0]],"check":"regression: first difference","expected":["zero",[3.0103,45.0],[6.0206,0.0]],"passed":true},{"actual":[[6.0206,0.0],[2.6529,28.675],[-0.9691,26.565]],"check":"regression: one pole","expected":[[6.0206,0.0],[2.6529,-28.675],[-0.9691,-26.565]],"passed":false},{"actual":[[5.563,108.435],[7.5974,74.78],[-12.1798,-136.992]],"check":"regression: random response 1","expected":[[5.563,161.565],[7.5974,60.22],[-12.1798,-110.508]],"passed":false},{"actual":["zero"],"check":"control: two-tap average at nyquist","expected":["zero"],"passed":true},{"actual":["pole"],"check":"control: pole on unit circle","expected":["pole"],"passed":true},{"actual":[[-80.0,0.0]],"check":"control: small magnitude","expected":[[-80.0,0.0]],"passed":true},{"actual":["zero",[3.5218,0.0],"zero"],"check":"control: random response 16","expected":["zero",[3.5218,0.0],"zero"],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: first difference\", \"actual\": [\"zero\", [3.0103, 45.0], [6.0206, 0.0]], \"expected\": [\"zero\", [3.0103, 45.0], [6.0206, 0.0]], \"passed\": true}, {\"check\": \"regression: one pole\", \"actual\": [[6.0206, 0.0], [2.6529, 28.675], [-0.9691, 26.565]], \"expected\": [[6.0206, 0.0], [2.6529, -28.675], [-0.9691, -26.565]], \"passed\": false}, {\"check\": \"regression: random response 1\", \"actual\": [[5.563, 108.435], [7.5974, 74.78], [-12.1798, -136.992]], \"expected\": [[5.563, 161.565], [7.5974, 60.22], [-12.1798, -110.508]], \"passed\": false}, {\"check\": \"control: two-tap average at nyquist\", \"actual\": [\"zero\"], \"expected\": [\"zero\"], \"passed\": true}, {\"check\": \"control: pole on unit circle\", \"actual\": [\"pole\"], \"expected\": [\"pole\"], \"passed\": true}, {\"check\": \"control: small magnitude\", \"actual\": [[-80.0, 0.0]], \"expected\": [[-80.0, 0.0]], \"passed\": true}, {\"check\": \"control: random response 16\", \"actual\": [\"zero\", [3.5218, 0.0], \"zero\"], \"expected\": [\"zero\", [3.5218, 0.0], \"zero\"], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":43.325,"exit_code":1,"observations":[{"actual":["zero",[3.0103,-45.0],[6.0206,0.0]],"check":"regression: first difference","expected":["zero",[3.0103,45.0],[6.0206,0.0]],"passed":false},{"actual":[[6.0206,0.0],[2.6529,28.675],[-0.9691,26.565]],"check":"regression: one pole","expected":[[6.0206,0.0],[2.6529,-28.675],[-0.9691,-26.565]],"passed":false},{"actual":[[5.563,-161.565],[7.5974,-60.22],[-12.1798,110.508]],"check":"regression: random response 1","expected":[[5.563,161.565],[7.5974,60.22],[-12.1798,-110.508]],"passed":false},{"actual":["zero"],"check":"control: two-tap average at nyquist","expected":["zero"],"passed":true},{"actual":["pole"],"check":"control: pole on unit circle","expected":["pole"],"passed":true},{"actual":[[-80.0,0.0]],"check":"control: small magnitude","expected":[[-80.0,0.0]],"passed":true},{"actual":["zero",[3.5218,0.0],"zero"],"check":"control: random response 16","expected":["zero",[3.5218,0.0],"zero"],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: first difference\", \"actual\": [\"zero\", [3.0103, -45.0], [6.0206, 0.0]], \"expected\": [\"zero\", [3.0103, 45.0], [6.0206, 0.0]], \"passed\": false}, {\"check\": \"regression: one pole\", \"actual\": [[6.0206, 0.0], [2.6529, 28.675], [-0.9691, 26.565]], \"expected\": [[6.0206, 0.0], [2.6529, -28.675], [-0.9691, -26.565]], \"passed\": false}, {\"check\": \"regression: random response 1\", \"actual\": [[5.563, -161.565], [7.5974, -60.22], [-12.1798, 110.508]], \"expected\": [[5.563, 161.565], [7.5974, 60.22], [-12.1798, -110.508]], \"passed\": false}, {\"check\": \"control: two-tap average at nyquist\", \"actual\": [\"zero\"], \"expected\": [\"zero\"], \"passed\": true}, {\"check\": \"control: pole on unit circle\", \"actual\": [\"pole\"], \"expected\": [\"pole\"], \"passed\": true}, {\"check\": \"control: small magnitude\", \"actual\": [[-80.0, 0.0]], \"expected\": [[-80.0, 0.0]], \"passed\": true}, {\"check\": \"control: random response 16\", \"actual\": [\"zero\", [3.5218, 0.0], \"zero\"], \"expected\": [\"zero\", [3.5218, 0.0], \"zero\"], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":42.033,"exit_code":0,"observations":[{"actual":["zero",[3.0103,45.0],[6.0206,0.0]],"check":"regression: first difference","expected":["zero",[3.0103,45.0],[6.0206,0.0]],"passed":true},{"actual":[[6.0206,0.0],[2.6529,-28.675],[-0.9691,-26.565]],"check":"regression: one pole","expected":[[6.0206,0.0],[2.6529,-28.675],[-0.9691,-26.565]],"passed":true},{"actual":[[5.563,161.565],[7.5974,60.22],[-12.1798,-110.508]],"check":"regression: random response 1","expected":[[5.563,161.565],[7.5974,60.22],[-12.1798,-110.508]],"passed":true},{"actual":["zero"],"check":"control: two-tap average at nyquist","expected":["zero"],"passed":true},{"actual":["pole"],"check":"control: pole on unit circle","expected":["pole"],"passed":true},{"actual":[[-80.0,0.0]],"check":"control: small magnitude","expected":[[-80.0,0.0]],"passed":true},{"actual":["zero",[3.5218,0.0],"zero"],"check":"control: random response 16","expected":["zero",[3.5218,0.0],"zero"],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: first difference\", \"actual\": [\"zero\", [3.0103, 45.0], [6.0206, 0.0]], \"expected\": [\"zero\", [3.0103, 45.0], [6.0206, 0.0]], \"passed\": true}, {\"check\": \"regression: one pole\", \"actual\": [[6.0206, 0.0], [2.6529, -28.675], [-0.9691, -26.565]], \"expected\": [[6.0206, 0.0], [2.6529, -28.675], [-0.9691, -26.565]], \"passed\": true}, {\"check\": \"regression: random response 1\", \"actual\": [[5.563, 161.565], [7.5974, 60.22], [-12.1798, -110.508]], \"expected\": [[5.563, 161.565], [7.5974, 60.22], [-12.1798, -110.508]], \"passed\": true}, {\"check\": \"control: two-tap average at nyquist\", \"actual\": [\"zero\"], \"expected\": [\"zero\"], \"passed\": true}, {\"check\": \"control: pole on unit circle\", \"actual\": [\"pole\"], \"expected\": [\"pole\"], \"passed\": true}, {\"check\": \"control: small magnitude\", \"actual\": [[-80.0, 0.0]], \"expected\": [[-80.0, 0.0]], \"passed\": true}, {\"check\": \"control: random response 16\", \"actual\": [\"zero\", [3.5218, 0.0], \"zero\"], \"expected\": [\"zero\", [3.5218, 0.0], \"zero\"], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}