{"abstract":"The digital cutoff lands at about half the intended frequency.","category":"Digital signal filters","checks":7,"contract":"Input [kind, wc, fs] with rational analog cutoff wc (rad/s) and sample rate fs. Map H(s) = wc/(s+wc) (lowpass) or s/(s+wc) (highpass) with s = K (1 - z^-1)/(1 + z^-1), K = 2 fs, no prewarping. Return {\"b\": [b0, b1], \"a\": [1, a1]} as fraction strings normalized so a0 = 1, or \"bad-spec\".","evaluation_group":"w2-digital_signal_filters-bilinear-first-order","failed_approach":"The attempted repair uses fs / 2, moving the cutoff the other way.","family":"w2-digital_signal_filters-bilinear-first-order-bilinear-constant","id":"FA-91701","implementations":{"attempt":{"sha256":"4fa30e6e1403dfb270a6ccb3ed102896dd0e984b59c9eac6b9d167a6a42497b0","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(x):\n    kind, wc, fs = x[0], Fraction(x[1]), Fraction(x[2])\n    if wc <= 0 or fs <= 0:\n        return 'bad-spec'\n    K = fs / 2\n    d = K + wc\n    if kind == 'lowpass':\n        b = [wc / d, wc / d]\n    else:\n        b = [K / d, -K / d]\n    a = [Fraction(1), (wc - K) / d]\n    return {'b': [str(v) for v in b], 'a': [str(v) for v in a]}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression: lowpass wc=100 fs=1000', ['lowpass', '100', '1000'], {'b': ['1/21', '1/21'], 'a': ['1', '-19/21']}], ['regression: lowpass wc=1 fs=1', ['lowpass', '1', '1'], {'b': ['1/3', '1/3'], 'a': ['1', '-1/3']}], ['regression: lowpass wc=3 fs=1/2', ['lowpass', '3', '1/2'], {'b': ['3/4', '3/4'], 'a': ['1', '1/2']}], ['control: bad spec', ['lowpass', '0', '1'], 'bad-spec'], ['regression: lowpass wc=2000 fs=48000', ['lowpass', '2000', '48000'], {'b': ['1/49', '1/49'], 'a': ['1', '-47/49']}], ['regression: lowpass wc=1/2 fs=2', ['lowpass', '1/2', '2'], {'b': ['1/9', '1/9'], 'a': ['1', '-7/9']}], ['regression: highpass wc=100 fs=1000', ['highpass', '100', '1000'], {'b': ['20/21', '-20/21'], 'a': ['1', '-19/21']}]], [['regression: lowpass wc=2000 fs=48000', ['lowpass', '2000', '48000'], {'b': ['1/49', '1/49'], 'a': ['1', '-47/49']}], ['regression: lowpass wc=1/2 fs=2', ['lowpass', '1/2', '2'], {'b': ['1/9', '1/9'], 'a': ['1', '-7/9']}], ['regression: lowpass wc=3 fs=1/2', ['lowpass', '3', '1/2'], {'b': ['3/4', '3/4'], 'a': ['1', '1/2']}], ['control: bad spec', ['lowpass', '0', '1'], 'bad-spec'], ['regression: highpass wc=100 fs=1000', ['highpass', '100', '1000'], {'b': ['20/21', '-20/21'], 'a': ['1', '-19/21']}], ['regression: highpass wc=1 fs=1', ['highpass', '1', '1'], {'b': ['2/3', '-2/3'], 'a': ['1', '-1/3']}], ['regression: highpass wc=3 fs=1/2', ['highpass', '3', '1/2'], {'b': ['1/4', '-1/4'], 'a': ['1', '1/2']}]], [['regression: highpass wc=1 fs=1', ['highpass', '1', '1'], {'b': ['2/3', '-2/3'], 'a': ['1', '-1/3']}], ['regression: highpass wc=3 fs=1/2', ['highpass', '3', '1/2'], {'b': ['1/4', '-1/4'], 'a': ['1', '1/2']}], ['regression: lowpass wc=1/2 fs=2', ['lowpass', '1/2', '2'], {'b': ['1/9', '1/9'], 'a': ['1', '-7/9']}], ['control: bad spec', ['lowpass', '0', '1'], 'bad-spec'], ['regression: lowpass wc=2000 fs=48000', ['lowpass', '2000', '48000'], {'b': ['1/49', '1/49'], 'a': ['1', '-47/49']}], ['regression: highpass wc=100 fs=1000', ['highpass', '100', '1000'], {'b': ['20/21', '-20/21'], 'a': ['1', '-19/21']}], ['regression: highpass wc=2000 fs=48000', ['highpass', '2000', '48000'], {'b': ['48/49', '-48/49'], 'a': ['1', '-47/49']}]], [['regression: highpass wc=1/2 fs=2', ['highpass', '1/2', '2'], {'b': ['8/9', '-8/9'], 'a': ['1', '-7/9']}], ['regression: lowpass wc=100 fs=1000', ['lowpass', '100', '1000'], {'b': ['1/21', '1/21'], 'a': ['1', '-19/21']}], ['regression: highpass wc=1 fs=1', ['highpass', '1', '1'], {'b': ['2/3', '-2/3'], 'a': ['1', '-1/3']}], ['control: bad spec', ['lowpass', '0', '1'], 'bad-spec'], ['regression: lowpass wc=1/2 fs=2', ['lowpass', '1/2', '2'], {'b': ['1/9', '1/9'], 'a': ['1', '-7/9']}], ['regression: highpass wc=100 fs=1000', ['highpass', '100', '1000'], {'b': ['20/21', '-20/21'], 'a': ['1', '-19/21']}], ['regression: highpass wc=3 fs=1/2', ['highpass', '3', '1/2'], {'b': ['1/4', '-1/4'], 'a': ['1', '1/2']}]], [['regression: lowpass wc=3 fs=1/2', ['lowpass', '3', '1/2'], {'b': ['3/4', '3/4'], 'a': ['1', '1/2']}], ['regression: lowpass wc=2000 fs=48000', ['lowpass', '2000', '48000'], {'b': ['1/49', '1/49'], 'a': ['1', '-47/49']}], ['regression: highpass wc=2000 fs=48000', ['highpass', '2000', '48000'], {'b': ['48/49', '-48/49'], 'a': ['1', '-47/49']}], ['control: bad spec', ['lowpass', '0', '1'], 'bad-spec'], ['regression: highpass wc=100 fs=1000', ['highpass', '100', '1000'], {'b': ['20/21', '-20/21'], 'a': ['1', '-19/21']}], ['regression: highpass wc=1 fs=1', ['highpass', '1', '1'], {'b': ['2/3', '-2/3'], 'a': ['1', '-1/3']}], ['regression: highpass wc=3 fs=1/2', ['highpass', '3', '1/2'], {'b': ['1/4', '-1/4'], 'a': ['1', '1/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":"1a8e7184f51f835d4bf5c5e9373219334c765b33ccd266592734282bbd1a7060","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(x):\n    kind, wc, fs = x[0], Fraction(x[1]), Fraction(x[2])\n    if wc <= 0 or fs <= 0:\n        return 'bad-spec'\n    K = fs\n    d = K + wc\n    if kind == 'lowpass':\n        b = [wc / d, wc / d]\n    else:\n        b = [K / d, -K / d]\n    a = [Fraction(1), (wc - K) / d]\n    return {'b': [str(v) for v in b], 'a': [str(v) for v in a]}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression: lowpass wc=100 fs=1000', ['lowpass', '100', '1000'], {'b': ['1/21', '1/21'], 'a': ['1', '-19/21']}], ['regression: lowpass wc=1 fs=1', ['lowpass', '1', '1'], {'b': ['1/3', '1/3'], 'a': ['1', '-1/3']}], ['regression: lowpass wc=3 fs=1/2', ['lowpass', '3', '1/2'], {'b': ['3/4', '3/4'], 'a': ['1', '1/2']}], ['control: bad spec', ['lowpass', '0', '1'], 'bad-spec'], ['regression: lowpass wc=2000 fs=48000', ['lowpass', '2000', '48000'], {'b': ['1/49', '1/49'], 'a': ['1', '-47/49']}], ['regression: lowpass wc=1/2 fs=2', ['lowpass', '1/2', '2'], {'b': ['1/9', '1/9'], 'a': ['1', '-7/9']}], ['regression: highpass wc=100 fs=1000', ['highpass', '100', '1000'], {'b': ['20/21', '-20/21'], 'a': ['1', '-19/21']}]], [['regression: lowpass wc=2000 fs=48000', ['lowpass', '2000', '48000'], {'b': ['1/49', '1/49'], 'a': ['1', '-47/49']}], ['regression: lowpass wc=1/2 fs=2', ['lowpass', '1/2', '2'], {'b': ['1/9', '1/9'], 'a': ['1', '-7/9']}], ['regression: lowpass wc=3 fs=1/2', ['lowpass', '3', '1/2'], {'b': ['3/4', '3/4'], 'a': ['1', '1/2']}], ['control: bad spec', ['lowpass', '0', '1'], 'bad-spec'], ['regression: highpass wc=100 fs=1000', ['highpass', '100', '1000'], {'b': ['20/21', '-20/21'], 'a': ['1', '-19/21']}], ['regression: highpass wc=1 fs=1', ['highpass', '1', '1'], {'b': ['2/3', '-2/3'], 'a': ['1', '-1/3']}], ['regression: highpass wc=3 fs=1/2', ['highpass', '3', '1/2'], {'b': ['1/4', '-1/4'], 'a': ['1', '1/2']}]], [['regression: highpass wc=1 fs=1', ['highpass', '1', '1'], {'b': ['2/3', '-2/3'], 'a': ['1', '-1/3']}], ['regression: highpass wc=3 fs=1/2', ['highpass', '3', '1/2'], {'b': ['1/4', '-1/4'], 'a': ['1', '1/2']}], ['regression: lowpass wc=1/2 fs=2', ['lowpass', '1/2', '2'], {'b': ['1/9', '1/9'], 'a': ['1', '-7/9']}], ['control: bad spec', ['lowpass', '0', '1'], 'bad-spec'], ['regression: lowpass wc=2000 fs=48000', ['lowpass', '2000', '48000'], {'b': ['1/49', '1/49'], 'a': ['1', '-47/49']}], ['regression: highpass wc=100 fs=1000', ['highpass', '100', '1000'], {'b': ['20/21', '-20/21'], 'a': ['1', '-19/21']}], ['regression: highpass wc=2000 fs=48000', ['highpass', '2000', '48000'], {'b': ['48/49', '-48/49'], 'a': ['1', '-47/49']}]], [['regression: highpass wc=1/2 fs=2', ['highpass', '1/2', '2'], {'b': ['8/9', '-8/9'], 'a': ['1', '-7/9']}], ['regression: lowpass wc=100 fs=1000', ['lowpass', '100', '1000'], {'b': ['1/21', '1/21'], 'a': ['1', '-19/21']}], ['regression: highpass wc=1 fs=1', ['highpass', '1', '1'], {'b': ['2/3', '-2/3'], 'a': ['1', '-1/3']}], ['control: bad spec', ['lowpass', '0', '1'], 'bad-spec'], ['regression: lowpass wc=1/2 fs=2', ['lowpass', '1/2', '2'], {'b': ['1/9', '1/9'], 'a': ['1', '-7/9']}], ['regression: highpass wc=100 fs=1000', ['highpass', '100', '1000'], {'b': ['20/21', '-20/21'], 'a': ['1', '-19/21']}], ['regression: highpass wc=3 fs=1/2', ['highpass', '3', '1/2'], {'b': ['1/4', '-1/4'], 'a': ['1', '1/2']}]], [['regression: lowpass wc=3 fs=1/2', ['lowpass', '3', '1/2'], {'b': ['3/4', '3/4'], 'a': ['1', '1/2']}], ['regression: lowpass wc=2000 fs=48000', ['lowpass', '2000', '48000'], {'b': ['1/49', '1/49'], 'a': ['1', '-47/49']}], ['regression: highpass wc=2000 fs=48000', ['highpass', '2000', '48000'], {'b': ['48/49', '-48/49'], 'a': ['1', '-47/49']}], ['control: bad spec', ['lowpass', '0', '1'], 'bad-spec'], ['regression: highpass wc=100 fs=1000', ['highpass', '100', '1000'], {'b': ['20/21', '-20/21'], 'a': ['1', '-19/21']}], ['regression: highpass wc=1 fs=1', ['highpass', '1', '1'], {'b': ['2/3', '-2/3'], 'a': ['1', '-1/3']}], ['regression: highpass wc=3 fs=1/2', ['highpass', '3', '1/2'], {'b': ['1/4', '-1/4'], 'a': ['1', '1/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":"a1ab277fe8b5a952e42206b1813f85875fae5bd276a1633b5d2f45e7d5ac470c","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(x):\n    kind, wc, fs = x[0], Fraction(x[1]), Fraction(x[2])\n    if wc <= 0 or fs <= 0:\n        return 'bad-spec'\n    K = 2 * fs\n    d = K + wc\n    if kind == 'lowpass':\n        b = [wc / d, wc / d]\n    else:\n        b = [K / d, -K / d]\n    a = [Fraction(1), (wc - K) / d]\n    return {'b': [str(v) for v in b], 'a': [str(v) for v in a]}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression: lowpass wc=100 fs=1000', ['lowpass', '100', '1000'], {'b': ['1/21', '1/21'], 'a': ['1', '-19/21']}], ['regression: lowpass wc=1 fs=1', ['lowpass', '1', '1'], {'b': ['1/3', '1/3'], 'a': ['1', '-1/3']}], ['regression: lowpass wc=3 fs=1/2', ['lowpass', '3', '1/2'], {'b': ['3/4', '3/4'], 'a': ['1', '1/2']}], ['control: bad spec', ['lowpass', '0', '1'], 'bad-spec'], ['regression: lowpass wc=2000 fs=48000', ['lowpass', '2000', '48000'], {'b': ['1/49', '1/49'], 'a': ['1', '-47/49']}], ['regression: lowpass wc=1/2 fs=2', ['lowpass', '1/2', '2'], {'b': ['1/9', '1/9'], 'a': ['1', '-7/9']}], ['regression: highpass wc=100 fs=1000', ['highpass', '100', '1000'], {'b': ['20/21', '-20/21'], 'a': ['1', '-19/21']}]], [['regression: lowpass wc=2000 fs=48000', ['lowpass', '2000', '48000'], {'b': ['1/49', '1/49'], 'a': ['1', '-47/49']}], ['regression: lowpass wc=1/2 fs=2', ['lowpass', '1/2', '2'], {'b': ['1/9', '1/9'], 'a': ['1', '-7/9']}], ['regression: lowpass wc=3 fs=1/2', ['lowpass', '3', '1/2'], {'b': ['3/4', '3/4'], 'a': ['1', '1/2']}], ['control: bad spec', ['lowpass', '0', '1'], 'bad-spec'], ['regression: highpass wc=100 fs=1000', ['highpass', '100', '1000'], {'b': ['20/21', '-20/21'], 'a': ['1', '-19/21']}], ['regression: highpass wc=1 fs=1', ['highpass', '1', '1'], {'b': ['2/3', '-2/3'], 'a': ['1', '-1/3']}], ['regression: highpass wc=3 fs=1/2', ['highpass', '3', '1/2'], {'b': ['1/4', '-1/4'], 'a': ['1', '1/2']}]], [['regression: highpass wc=1 fs=1', ['highpass', '1', '1'], {'b': ['2/3', '-2/3'], 'a': ['1', '-1/3']}], ['regression: highpass wc=3 fs=1/2', ['highpass', '3', '1/2'], {'b': ['1/4', '-1/4'], 'a': ['1', '1/2']}], ['regression: lowpass wc=1/2 fs=2', ['lowpass', '1/2', '2'], {'b': ['1/9', '1/9'], 'a': ['1', '-7/9']}], ['control: bad spec', ['lowpass', '0', '1'], 'bad-spec'], ['regression: lowpass wc=2000 fs=48000', ['lowpass', '2000', '48000'], {'b': ['1/49', '1/49'], 'a': ['1', '-47/49']}], ['regression: highpass wc=100 fs=1000', ['highpass', '100', '1000'], {'b': ['20/21', '-20/21'], 'a': ['1', '-19/21']}], ['regression: highpass wc=2000 fs=48000', ['highpass', '2000', '48000'], {'b': ['48/49', '-48/49'], 'a': ['1', '-47/49']}]], [['regression: highpass wc=1/2 fs=2', ['highpass', '1/2', '2'], {'b': ['8/9', '-8/9'], 'a': ['1', '-7/9']}], ['regression: lowpass wc=100 fs=1000', ['lowpass', '100', '1000'], {'b': ['1/21', '1/21'], 'a': ['1', '-19/21']}], ['regression: highpass wc=1 fs=1', ['highpass', '1', '1'], {'b': ['2/3', '-2/3'], 'a': ['1', '-1/3']}], ['control: bad spec', ['lowpass', '0', '1'], 'bad-spec'], ['regression: lowpass wc=1/2 fs=2', ['lowpass', '1/2', '2'], {'b': ['1/9', '1/9'], 'a': ['1', '-7/9']}], ['regression: highpass wc=100 fs=1000', ['highpass', '100', '1000'], {'b': ['20/21', '-20/21'], 'a': ['1', '-19/21']}], ['regression: highpass wc=3 fs=1/2', ['highpass', '3', '1/2'], {'b': ['1/4', '-1/4'], 'a': ['1', '1/2']}]], [['regression: lowpass wc=3 fs=1/2', ['lowpass', '3', '1/2'], {'b': ['3/4', '3/4'], 'a': ['1', '1/2']}], ['regression: lowpass wc=2000 fs=48000', ['lowpass', '2000', '48000'], {'b': ['1/49', '1/49'], 'a': ['1', '-47/49']}], ['regression: highpass wc=2000 fs=48000', ['highpass', '2000', '48000'], {'b': ['48/49', '-48/49'], 'a': ['1', '-47/49']}], ['control: bad spec', ['lowpass', '0', '1'], 'bad-spec'], ['regression: highpass wc=100 fs=1000', ['highpass', '100', '1000'], {'b': ['20/21', '-20/21'], 'a': ['1', '-19/21']}], ['regression: highpass wc=1 fs=1', ['highpass', '1', '1'], {'b': ['2/3', '-2/3'], 'a': ['1', '-1/3']}], ['regression: highpass wc=3 fs=1/2', ['highpass', '3', '1/2'], {'b': ['1/4', '-1/4'], 'a': ['1', '1/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-bilinear-first-order-bilinear-constant","generated_at":"2026-09-29T14:51:38.288717+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"The bilinear transform is the standard analog-to-digital mapping; K or sign slips move the cutoff or flip the filter type.","repair":"Use K = 2 fs.","root_cause":"The substitution constant is fs instead of 2 fs (2/T).","sha256":"cc229482fcf5148558b11eaaf13cab7c8b1d7d7ad29a3cece904b20c8c2f5e24","title":"Bilinear mapping uses K = fs · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":40.877,"exit_code":1,"observations":[{"actual":{"a":["1","-2/3"],"b":["1/6","1/6"]},"check":"regression: lowpass wc=100 fs=1000","expected":{"a":["1","-19/21"],"b":["1/21","1/21"]},"passed":false},{"actual":{"a":["1","1/3"],"b":["2/3","2/3"]},"check":"regression: lowpass wc=1 fs=1","expected":{"a":["1","-1/3"],"b":["1/3","1/3"]},"passed":false},{"actual":{"a":["1","11/13"],"b":["12/13","12/13"]},"check":"regression: lowpass wc=3 fs=1/2","expected":{"a":["1","1/2"],"b":["3/4","3/4"]},"passed":false},{"actual":"bad-spec","check":"control: bad spec","expected":"bad-spec","passed":true},{"actual":{"a":["1","-11/13"],"b":["1/13","1/13"]},"check":"regression: lowpass wc=2000 fs=48000","expected":{"a":["1","-47/49"],"b":["1/49","1/49"]},"passed":false},{"actual":{"a":["1","-1/3"],"b":["1/3","1/3"]},"check":"regression: lowpass wc=1/2 fs=2","expected":{"a":["1","-7/9"],"b":["1/9","1/9"]},"passed":false},{"actual":{"a":["1","-2/3"],"b":["5/6","-5/6"]},"check":"regression: highpass wc=100 fs=1000","expected":{"a":["1","-19/21"],"b":["20/21","-20/21"]},"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: lowpass wc=100 fs=1000\", \"actual\": {\"b\": [\"1/6\", \"1/6\"], \"a\": [\"1\", \"-2/3\"]}, \"expected\": {\"b\": [\"1/21\", \"1/21\"], \"a\": [\"1\", \"-19/21\"]}, \"passed\": false}, {\"check\": \"regression: lowpass wc=1 fs=1\", \"actual\": {\"b\": [\"2/3\", \"2/3\"], \"a\": [\"1\", \"1/3\"]}, \"expected\": {\"b\": [\"1/3\", \"1/3\"], \"a\": [\"1\", \"-1/3\"]}, \"passed\": false}, {\"check\": \"regression: lowpass wc=3 fs=1/2\", \"actual\": {\"b\": [\"12/13\", \"12/13\"], \"a\": [\"1\", \"11/13\"]}, \"expected\": {\"b\": [\"3/4\", \"3/4\"], \"a\": [\"1\", \"1/2\"]}, \"passed\": false}, {\"check\": \"control: bad spec\", \"actual\": \"bad-spec\", \"expected\": \"bad-spec\", \"passed\": true}, {\"check\": \"regression: lowpass wc=2000 fs=48000\", \"actual\": {\"b\": [\"1/13\", \"1/13\"], \"a\": [\"1\", \"-11/13\"]}, \"expected\": {\"b\": [\"1/49\", \"1/49\"], \"a\": [\"1\", \"-47/49\"]}, \"passed\": false}, {\"check\": \"regression: lowpass wc=1/2 fs=2\", \"actual\": {\"b\": [\"1/3\", \"1/3\"], \"a\": [\"1\", \"-1/3\"]}, \"expected\": {\"b\": [\"1/9\", \"1/9\"], \"a\": [\"1\", \"-7/9\"]}, \"passed\": false}, {\"check\": \"regression: highpass wc=100 fs=1000\", \"actual\": {\"b\": [\"5/6\", \"-5/6\"], \"a\": [\"1\", \"-2/3\"]}, \"expected\": {\"b\": [\"20/21\", \"-20/21\"], \"a\": [\"1\", \"-19/21\"]}, \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.021,"exit_code":1,"observations":[{"actual":{"a":["1","-9/11"],"b":["1/11","1/11"]},"check":"regression: lowpass wc=100 fs=1000","expected":{"a":["1","-19/21"],"b":["1/21","1/21"]},"passed":false},{"actual":{"a":["1","0"],"b":["1/2","1/2"]},"check":"regression: lowpass wc=1 fs=1","expected":{"a":["1","-1/3"],"b":["1/3","1/3"]},"passed":false},{"actual":{"a":["1","5/7"],"b":["6/7","6/7"]},"check":"regression: lowpass wc=3 fs=1/2","expected":{"a":["1","1/2"],"b":["3/4","3/4"]},"passed":false},{"actual":"bad-spec","check":"control: bad spec","expected":"bad-spec","passed":true},{"actual":{"a":["1","-23/25"],"b":["1/25","1/25"]},"check":"regression: lowpass wc=2000 fs=48000","expected":{"a":["1","-47/49"],"b":["1/49","1/49"]},"passed":false},{"actual":{"a":["1","-3/5"],"b":["1/5","1/5"]},"check":"regression: lowpass wc=1/2 fs=2","expected":{"a":["1","-7/9"],"b":["1/9","1/9"]},"passed":false},{"actual":{"a":["1","-9/11"],"b":["10/11","-10/11"]},"check":"regression: highpass wc=100 fs=1000","expected":{"a":["1","-19/21"],"b":["20/21","-20/21"]},"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: lowpass wc=100 fs=1000\", \"actual\": {\"b\": [\"1/11\", \"1/11\"], \"a\": [\"1\", \"-9/11\"]}, \"expected\": {\"b\": [\"1/21\", \"1/21\"], \"a\": [\"1\", \"-19/21\"]}, \"passed\": false}, {\"check\": \"regression: lowpass wc=1 fs=1\", \"actual\": {\"b\": [\"1/2\", \"1/2\"], \"a\": [\"1\", \"0\"]}, \"expected\": {\"b\": [\"1/3\", \"1/3\"], \"a\": [\"1\", \"-1/3\"]}, \"passed\": false}, {\"check\": \"regression: lowpass wc=3 fs=1/2\", \"actual\": {\"b\": [\"6/7\", \"6/7\"], \"a\": [\"1\", \"5/7\"]}, \"expected\": {\"b\": [\"3/4\", \"3/4\"], \"a\": [\"1\", \"1/2\"]}, \"passed\": false}, {\"check\": \"control: bad spec\", \"actual\": \"bad-spec\", \"expected\": \"bad-spec\", \"passed\": true}, {\"check\": \"regression: lowpass wc=2000 fs=48000\", \"actual\": {\"b\": [\"1/25\", \"1/25\"], \"a\": [\"1\", \"-23/25\"]}, \"expected\": {\"b\": [\"1/49\", \"1/49\"], \"a\": [\"1\", \"-47/49\"]}, \"passed\": false}, {\"check\": \"regression: lowpass wc=1/2 fs=2\", \"actual\": {\"b\": [\"1/5\", \"1/5\"], \"a\": [\"1\", \"-3/5\"]}, \"expected\": {\"b\": [\"1/9\", \"1/9\"], \"a\": [\"1\", \"-7/9\"]}, \"passed\": false}, {\"check\": \"regression: highpass wc=100 fs=1000\", \"actual\": {\"b\": [\"10/11\", \"-10/11\"], \"a\": [\"1\", \"-9/11\"]}, \"expected\": {\"b\": [\"20/21\", \"-20/21\"], \"a\": [\"1\", \"-19/21\"]}, \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":43.42,"exit_code":0,"observations":[{"actual":{"a":["1","-19/21"],"b":["1/21","1/21"]},"check":"regression: lowpass wc=100 fs=1000","expected":{"a":["1","-19/21"],"b":["1/21","1/21"]},"passed":true},{"actual":{"a":["1","-1/3"],"b":["1/3","1/3"]},"check":"regression: lowpass wc=1 fs=1","expected":{"a":["1","-1/3"],"b":["1/3","1/3"]},"passed":true},{"actual":{"a":["1","1/2"],"b":["3/4","3/4"]},"check":"regression: lowpass wc=3 fs=1/2","expected":{"a":["1","1/2"],"b":["3/4","3/4"]},"passed":true},{"actual":"bad-spec","check":"control: bad spec","expected":"bad-spec","passed":true},{"actual":{"a":["1","-47/49"],"b":["1/49","1/49"]},"check":"regression: lowpass wc=2000 fs=48000","expected":{"a":["1","-47/49"],"b":["1/49","1/49"]},"passed":true},{"actual":{"a":["1","-7/9"],"b":["1/9","1/9"]},"check":"regression: lowpass wc=1/2 fs=2","expected":{"a":["1","-7/9"],"b":["1/9","1/9"]},"passed":true},{"actual":{"a":["1","-19/21"],"b":["20/21","-20/21"]},"check":"regression: highpass wc=100 fs=1000","expected":{"a":["1","-19/21"],"b":["20/21","-20/21"]},"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: lowpass wc=100 fs=1000\", \"actual\": {\"b\": [\"1/21\", \"1/21\"], \"a\": [\"1\", \"-19/21\"]}, \"expected\": {\"b\": [\"1/21\", \"1/21\"], \"a\": [\"1\", \"-19/21\"]}, \"passed\": true}, {\"check\": \"regression: lowpass wc=1 fs=1\", \"actual\": {\"b\": [\"1/3\", \"1/3\"], \"a\": [\"1\", \"-1/3\"]}, \"expected\": {\"b\": [\"1/3\", \"1/3\"], \"a\": [\"1\", \"-1/3\"]}, \"passed\": true}, {\"check\": \"regression: lowpass wc=3 fs=1/2\", \"actual\": {\"b\": [\"3/4\", \"3/4\"], \"a\": [\"1\", \"1/2\"]}, \"expected\": {\"b\": [\"3/4\", \"3/4\"], \"a\": [\"1\", \"1/2\"]}, \"passed\": true}, {\"check\": \"control: bad spec\", \"actual\": \"bad-spec\", \"expected\": \"bad-spec\", \"passed\": true}, {\"check\": \"regression: lowpass wc=2000 fs=48000\", \"actual\": {\"b\": [\"1/49\", \"1/49\"], \"a\": [\"1\", \"-47/49\"]}, \"expected\": {\"b\": [\"1/49\", \"1/49\"], \"a\": [\"1\", \"-47/49\"]}, \"passed\": true}, {\"check\": \"regression: lowpass wc=1/2 fs=2\", \"actual\": {\"b\": [\"1/9\", \"1/9\"], \"a\": [\"1\", \"-7/9\"]}, \"expected\": {\"b\": [\"1/9\", \"1/9\"], \"a\": [\"1\", \"-7/9\"]}, \"passed\": true}, {\"check\": \"regression: highpass wc=100 fs=1000\", \"actual\": {\"b\": [\"20/21\", \"-20/21\"], \"a\": [\"1\", \"-19/21\"]}, \"expected\": {\"b\": [\"20/21\", \"-20/21\"], \"a\": [\"1\", \"-19/21\"]}, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}