{"abstract":"After RES the accumulator reads zero but OV or UN is still set.","category":"PLC ladder logic scan cycles","checks":8,"contract":"Up/down counter pair sharing one 16-bit signed accumulator, evaluated per scan; scans is a list of [cu, cd, res]. CU counts on its rising edge and CD on its own rising edge (both in one scan cancel). Incrementing 32767 wraps to -32768 and latches OV; decrementing -32768 wraps to 32767 and latches UN. A later RES rung clears ACC, OV and UN but not the edge memories. DN is ACC >= preset. Return [ACC, DN, OV, UN] per scan.","evaluation_group":"w2-plc-ladder-logic-scan-cycles-ctu-ctd-counter","failed_approach":"Clearing OV but not UN still leaves an underflow latched after reset.","family":"w2-plc-ladder-logic-scan-cycles-ctu-ctd-counter-reset-flags","id":"FA-91936","implementations":{"attempt":{"sha256":"f698d9fd6eb4a5aa9744db987819d52cf6843e59fb7c145ef7d56259cd7b8b98","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(preset, start, scans):\n    acc = start\n    ov = False\n    un = False\n    pcu = False\n    pcd = False\n    out = []\n    for cu, cd, res in scans:\n        cu = bool(cu)\n        cd = bool(cd)\n        if cu and not pcu:\n            acc += 1\n            if acc > 32767:\n                acc = -32768\n                ov = True\n        if cd and not pcd:\n            acc -= 1\n            if acc < -32768:\n                acc = 32767\n                un = True\n        pcu = cu\n        pcd = cd\n        if res:\n            acc = 0\n            ov = False\n        out.append([acc, acc >= preset, ov, un])\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression: underflow then reset',\n   [0,\n    -32767,\n    [[False, True, False],\n     [False, False, False],\n     [False, True, False],\n     [False, False, True],\n     [False, False, False]]],\n   [[-32768, False, False, False],\n    [-32768, False, False, False],\n    [32767, True, False, True],\n    [0, True, False, False],\n    [0, True, False, False]]],\n  ['regression: scenario 49',\n   [3,\n    -32768,\n    [[False, True, False],\n     [True, False, False],\n     [False, True, False],\n     [False, True, False],\n     [False, False, False],\n     [False, False, False],\n     [False, False, True],\n     [False, False, False],\n     [False, False, False],\n     [True, True, True],\n     [True, False, False],\n     [False, True, True],\n     [False, True, False],\n     [True, True, False]]],\n   [[32767, True, False, True],\n    [-32768, False, True, True],\n    [32767, True, True, True],\n    [32767, True, True, True],\n    [32767, True, True, True],\n    [32767, True, True, True],\n    [0, False, False, False],\n    [0, False, False, False],\n    [0, False, False, False],\n    [0, False, False, False],\n    [0, False, False, False],\n    [0, False, False, False],\n    [0, False, False, False],\n    [1, False, False, False]]],\n  ['control: held count input',\n   [3, 0, [[True, False, False], [True, False, False], [False, False, False], [True, False, False]]],\n   [[1, False, False, False], [1, False, False, False], [1, False, False, False], [2, False, False, False]]],\n  ['control: overflow wrap',\n   [0,\n    32766,\n    [[True, False, False],\n     [False, False, False],\n     [True, False, False],\n     [False, False, False],\n     [True, False, False]]],\n   [[32767, True, False, False],\n    [32767, True, False, False],\n    [-32768, False, True, False],\n    [-32768, False, True, False],\n    [-32767, False, True, False]]],\n  ['control: simultaneous edges',\n   [1,\n    0,\n    [[True, True, False],\n     [False, False, False],\n     [True, False, False],\n     [True, True, False],\n     [False, True, False]]],\n   [[0, False, False, False],\n    [0, False, False, False],\n    [1, True, False, False],\n    [0, False, False, False],\n    [0, False, False, False]]],\n  ['control: count down while up held',\n   [0, 5, [[True, False, False], [True, True, False], [True, False, False], [True, True, False]]],\n   [[6, True, False, False], [5, True, False, False], [5, True, False, False], [4, True, False, False]]],\n  ['control: scenario 1',\n   [0,\n    1,\n    [[True, False, False],\n     [True, False, False],\n     [True, False, False],\n     [False, True, True],\n     [False, False, False],\n     [True, False, False],\n     [False, False, False],\n     [False, False, False],\n     [False, False, False]]],\n   [[2, True, False, False],\n    [2, True, False, False],\n    [2, True, False, False],\n    [0, True, False, False],\n    [0, True, False, False],\n    [1, True, False, False],\n    [1, True, False, False],\n    [1, True, False, False],\n    [1, True, False, False]]],\n  ['control: scenario 2',\n   [3,\n    32766,\n    [[True, True, False],\n     [False, False, False],\n     [True, True, False],\n     [False, False, True],\n     [False, False, False],\n     [True, False, False],\n     [False, False, False],\n     [True, True, False],\n     [False, False, False],\n     [True, True, False],\n     [False, False, False],\n     [False, True, False],\n     [False, False, False]]],\n   [[32766, True, False, False],\n    [32766, True, False, False],\n    [32766, True, False, False],\n    [0, False, False, False],\n    [0, False, False, False],\n    [1, False, False, False],\n    [1, False, False, False],\n    [1, False, False, False],\n    [1, False, False, False],\n    [1, False, False, False],\n    [1, False, False, False],\n    [0, False, False, False],\n    [0, False, False, False]]]],\n [['regression: scenario 4',\n   [3,\n    32767,\n    [[False, False, False],\n     [True, True, True],\n     [False, True, False],\n     [False, False, False],\n     [True, False, False],\n     [True, True, False],\n     [True, False, False],\n     [True, False, False],\n     [True, False, False],\n     [False, True, False],\n     [False, False, False],\n     [False, True, False],\n     [False, True, False]]],\n   [[32767, True, False, False],\n    [0, False, False, False],\n    [0, False, False, False],\n    [0, False, False, False],\n    [1, False, False, False],\n    [0, False, False, False],\n    [0, False, False, False],\n    [0, False, False, False],\n    [0, False, False, False],\n    [-1, False, False, False],\n    [-1, False, False, False],\n    [-2, False, False, False],\n    [-2, False, False, False]]],\n  ['regression: scenario 54',\n   [32767,\n    32767,\n    [[True, False, False],\n     [False, False, False],\n     [False, True, False],\n     [True, True, False],\n     [False, True, False],\n     [False, False, False],\n     [True, False, True],\n     [False, False, False],\n     [True, False, False],\n     [False, False, False],\n     [True, False, False],\n     [False, True, False],\n     [True, True, False],\n     [False, True, False]]],\n   [[-32768, False, True, False],\n    [-32768, False, True, False],\n    [32767, True, True, True],\n    [-32768, False, True, True],\n    [-32768, False, True, True],\n    [-32768, False, True, True],\n    [0, False, False, False],\n    [0, False, False, False],\n    [1, False, False, False],\n    [1, False, False, False],\n    [2, False, False, False],\n    [1, False, False, False],\n    [2, False, False, False],\n    [2, False, False, False]]],\n  ['control: held count input',\n   [3, 0, [[True, False, False], [True, False, False], [False, False, False], [True, False, False]]],\n   [[1, False, False, False], [1, False, False, False], [1, False, False, False], [2, False, False, False]]],\n  ['control: overflow wrap',\n   [0,\n    32766,\n    [[True, False, False],\n     [False, False, False],\n     [True, False, False],\n     [False, False, False],\n     [True, False, False]]],\n   [[32767, True, False, False],\n    [32767, True, False, False],\n    [-32768, False, True, False],\n    [-32768, False, True, False],\n    [-32767, False, True, False]]],\n  ['regression: underflow then reset',\n   [0,\n    -32767,\n    [[False, True, False],\n     [False, False, False],\n     [False, True, False],\n     [False, False, True],\n     [False, False, False]]],\n   [[-32768, False, False, False],\n    [-32768, False, False, False],\n    [32767, True, False, True],\n    [0, True, False, False],\n    [0, True, False, False]]],\n  ['control: simultaneous edges',\n   [1,\n    0,\n    [[True, True, False],\n     [False, False, False],\n     [True, False, False],\n     [True, True, False],\n     [False, True, False]]],\n   [[0, False, False, False],\n    [0, False, False, False],\n    [1, True, False, False],\n    [0, False, False, False],\n    [0, False, False, False]]],\n  ['control: count down while up held',\n   [0, 5, [[True, False, False], [True, True, False], [True, False, False], [True, True, False]]],\n   [[6, True, False, False], [5, True, False, False], [5, True, False, False], [4, True, False, False]]],\n  ['control: scenario 1',\n   [2,\n    -32767,\n    [[True, False, False],\n     [True, False, False],\n     [False, False, False],\n     [False, False, False],\n     [False, True, False],\n     [False, False, False],\n     [True, False, False],\n     [True, False, False]]],\n   [[-32766, False, False, False],\n    [-32766, False, False, False],\n    [-32766, False, False, False],\n    [-32766, False, False, False],\n    [-32767, False, False, False],\n    [-32767, False, False, False],\n    [-32766, False, False, False],\n    [-32766, False, False, False]]]],\n [['regression: scenario 11',\n   [-1,\n    32767,\n    [[False, False, False],\n     [True, False, False],\n     [True, False, False],\n     [False, True, False],\n     [False, True, True],\n     [False, True, False],\n     [False, True, False],\n     [False, True, False],\n     [True, True, False],\n     [False, False, False]]],\n   [[32767, True, False, False],\n    [-32768, False, True, False],\n    [-32768, False, True, False],\n    [32767, True, True, True],\n    [0, True, False, False],\n    [0, True, False, False],\n    [0, True, False, False],\n    [0, True, False, False],\n    [1, True, False, False],\n    [1, True, False, False]]],\n  ['regression: scenario 14',\n   [-1,\n    -32768,\n    [[True, True, False],\n     [True, False, False],\n     [True, True, False],\n     [True, True, False],\n     [True, False, False],\n     [False, False, False],\n     [False, False, False],\n     [True, True, True],\n     [True, True, False],\n     [False, False, False],\n     [False, False, False],\n     [False, False, False]]],\n   [[-32768, False, False, False],\n    [-32768, False, False, False],\n    [32767, True, False, True],\n    [32767, True, False, True],\n    [32767, True, False, True],\n    [32767, True, False, True],\n    [32767, True, False, True],\n    [0, True, False, False],\n    [0, True, False, False],\n    [0, True, False, False],\n    [0, True, False, False],\n    [0, True, False, False]]],\n  ['control: held count input',\n   [3, 0, [[True, False, False], [True, False, False], [False, False, False], [True, False, False]]],\n   [[1, False, False, False], [1, False, False, False], [1, False, False, False], [2, False, False, False]]],\n  ['control: overflow wrap',\n   [0,\n    32766,\n    [[True, False, False],\n     [False, False, False],\n     [True, False, False],\n     [False, False, False],\n     [True, False, False]]],\n   [[32767, True, False, False],\n    [32767, True, False, False],\n    [-32768, False, True, False],\n    [-32768, False, True, False],\n    [-32767, False, True, False]]],\n  ['regression: underflow then reset',\n   [0,\n    -32767,\n    [[False, True, False],\n     [False, False, False],\n     [False, True, False],\n     [False, False, True],\n     [False, False, False]]],\n   [[-32768, False, False, False],\n    [-32768, False, False, False],\n    [32767, True, False, True],\n    [0, True, False, False],\n    [0, True, False, False]]],\n  ['control: simultaneous edges',\n   [1,\n    0,\n    [[True, True, False],\n     [False, False, False],\n     [True, False, False],\n     [True, True, False],\n     [False, True, False]]],\n   [[0, False, False, False],\n    [0, False, False, False],\n    [1, True, False, False],\n    [0, False, False, False],\n    [0, False, False, False]]],\n  ['control: count down while up held',\n   [0, 5, [[True, False, False], [True, True, False], [True, False, False], [True, True, False]]],\n   [[6, True, False, False], [5, True, False, False], [5, True, False, False], [4, True, False, False]]],\n  ['control: scenario 1',\n   [3,\n    32765,\n    [[True, False, True],\n     [True, False, False],\n     [True, False, True],\n     [False, True, False],\n     [True, False, False],\n     [True, True, True],\n     [False, True, False],\n     [False, False, False],\n     [True, True, False],\n     [False, True, False],\n     [True, False, False],\n     [False, False, False],\n     [True, False, False],\n     [False, True, False]]],\n   [[0, False, False, False],\n    [0, False, False, False],\n    [0, False, False, False],\n    [-1, False, False, False],\n    [0, False, False, False],\n    [0, False, False, False],\n    [0, False, False, False],\n    [0, False, False, False],\n    [0, False, False, False],\n    [0, False, False, False],\n    [1, False, False, False],\n    [1, False, False, False],\n    [2, False, False, False],\n    [1, False, False, False]]]],\n [['regression: scenario 24',\n   [-32768,\n    -32767,\n    [[True, False, False],\n     [False, True, False],\n     [True, False, False],\n     [True, True, False],\n     [True, False, False],\n     [False, True, False],\n     [False, False, False],\n     [True, True, False],\n     [True, True, False],\n     [True, False, False],\n     [False, False, False],\n     [False, False, False],\n     [False, True, True],\n     [False, True, False]]],\n   [[-32766, True, False, False],\n    [-32767, True, False, False],\n    [-32766, True, False, False],\n    [-32767, True, False, False],\n    [-32767, True, False, False],\n    [-32768, True, False, False],\n    [-32768, True, False, False],\n    [-32768, True, False, False],\n    [-32768, True, False, False],\n    [-32768, True, False, False],\n    [-32768, True, False, False],\n    [-32768, True, False, False],\n    [0, True, False, False],\n    [0, True, False, False]]],\n  ['regression: scenario 32',\n   [-32768,\n    -32768,\n    [[False, True, False],\n     [False, True, False],\n     [True, False, True],\n     [True, False, False],\n     [True, False, False],\n     [False, False, True],\n     [False, False, False],\n     [False, True, False],\n     [False, True, False],\n     [True, False, False],\n     [True, True, False],\n     [False, True, False]]],\n   [[32767, True, False, True],\n    [32767, True, False, True],\n    [0, True, False, False],\n    [0, True, False, False],\n    [0, True, False, False],\n    [0, True, False, False],\n    [0, True, False, False],\n    [-1, True, False, False],\n    [-1, True, False, False],\n    [0, True, False, False],\n    [-1, True, False, False],\n    [-1, True, False, False]]],\n  ['control: held count input',\n   [3, 0, [[True, False, False], [True, False, False], [False, False, False], [True, False, False]]],\n   [[1, False, False, False], [1, False, False, False], [1, False, False, False], [2, False, False, False]]],\n  ['control: overflow wrap',\n   [0,\n    32766,\n    [[True, False, False],\n     [False, False, False],\n     [True, False, False],\n     [False, False, False],\n     [True, False, False]]],\n   [[32767, True, False, False],\n    [32767, True, False, False],\n    [-32768, False, True, False],\n    [-32768, False, True, False],\n    [-32767, False, True, False]]],\n  ['regression: underflow then reset',\n   [0,\n    -32767,\n    [[False, True, False],\n     [False, False, False],\n     [False, True, False],\n     [False, False, True],\n     [False, False, False]]],\n   [[-32768, False, False, False],\n    [-32768, False, False, False],\n    [32767, True, False, True],\n    [0, True, False, False],\n    [0, True, False, False]]],\n  ['control: simultaneous edges',\n   [1,\n    0,\n    [[True, True, False],\n     [False, False, False],\n     [True, False, False],\n     [True, True, False],\n     [False, True, False]]],\n   [[0, False, False, False],\n    [0, False, False, False],\n    [1, True, False, False],\n    [0, False, False, False],\n    [0, False, False, False]]],\n  ['control: count down while up held',\n   [0, 5, [[True, False, False], [True, True, False], [True, False, False], [True, True, False]]],\n   [[6, True, False, False], [5, True, False, False], [5, True, False, False], [4, True, False, False]]],\n  ['control: scenario 1',\n   [32767,\n    32766,\n    [[False, False, False],\n     [True, True, False],\n     [False, True, True],\n     [True, True, False],\n     [False, True, False],\n     [True, False, False],\n     [True, False, False],\n     [True, False, False],\n     [False, True, True],\n     [True, False, False],\n     [False, False, False],\n     [False, False, False]]],\n   [[32766, False, False, False],\n    [32766, False, False, False],\n    [0, False, False, False],\n    [1, False, False, False],\n    [1, False, False, False],\n    [2, False, False, False],\n    [2, False, False, False],\n    [2, False, False, False],\n    [0, False, False, False],\n    [1, False, False, False],\n    [1, False, False, False],\n    [1, False, False, False]]]],\n [['regression: scenario 20',\n   [-1,\n    32767,\n    [[False, False, False],\n     [True, False, False],\n     [False, False, False],\n     [True, False, False],\n     [True, False, True],\n     [False, True, False],\n     [False, False, False],\n     [False, False, False],\n     [True, False, False],\n     [True, False, False],\n     [True, False, False],\n     [True, True, False]]],\n   [[32767, True, False, False],\n    [-32768, False, True, False],\n    [-32768, False, True, False],\n    [-32767, False, True, False],\n    [0, True, False, False],\n    [-1, True, False, False],\n    [-1, True, False, False],\n    [-1, True, False, False],\n    [0, True, False, False],\n    [0, True, False, False],\n    [0, True, False, False],\n    [-1, True, False, False]]],\n  ['regression: scenario 43',\n   [32767,\n    32767,\n    [[True, True, False],\n     [True, True, False],\n     [True, False, False],\n     [True, False, False],\n     [False, True, False],\n     [True, False, True],\n     [False, False, False]]],\n   [[32767, True, True, True],\n    [32767, True, True, True],\n    [32767, True, True, True],\n    [32767, True, True, True],\n    [32766, False, True, True],\n    [0, False, False, False],\n    [0, False, False, False]]],\n  ['control: held count input',\n   [3, 0, [[True, False, False], [True, False, False], [False, False, False], [True, False, False]]],\n   [[1, False, False, False], [1, False, False, False], [1, False, False, False], [2, False, False, False]]],\n  ['control: overflow wrap',\n   [0,\n    32766,\n    [[True, False, False],\n     [False, False, False],\n     [True, False, False],\n     [False, False, False],\n     [True, False, False]]],\n   [[32767, True, False, False],\n    [32767, True, False, False],\n    [-32768, False, True, False],\n    [-32768, False, True, False],\n    [-32767, False, True, False]]],\n  ['regression: underflow then reset',\n   [0,\n    -32767,\n    [[False, True, False],\n     [False, False, False],\n     [False, True, False],\n     [False, False, True],\n     [False, False, False]]],\n   [[-32768, False, False, False],\n    [-32768, False, False, False],\n    [32767, True, False, True],\n    [0, True, False, False],\n    [0, True, False, False]]],\n  ['control: simultaneous edges',\n   [1,\n    0,\n    [[True, True, False],\n     [False, False, False],\n     [True, False, False],\n     [True, True, False],\n     [False, True, False]]],\n   [[0, False, False, False],\n    [0, False, False, False],\n    [1, True, False, False],\n    [0, False, False, False],\n    [0, False, False, False]]],\n  ['control: count down while up held',\n   [0, 5, [[True, False, False], [True, True, False], [True, False, False], [True, True, False]]],\n   [[6, True, False, False], [5, True, False, False], [5, True, False, False], [4, True, False, False]]],\n  ['control: scenario 1',\n   [0,\n    -2,\n    [[True, False, False],\n     [False, False, False],\n     [True, False, False],\n     [True, True, False],\n     [True, False, False],\n     [False, False, True],\n     [True, False, False],\n     [True, False, False],\n     [True, False, False],\n     [False, True, False],\n     [False, False, False],\n     [True, False, False]]],\n   [[-1, False, False, False],\n    [-1, False, False, False],\n    [0, True, False, False],\n    [-1, False, False, False],\n    [-1, False, False, False],\n    [0, True, False, False],\n    [1, True, False, False],\n    [1, True, False, False],\n    [1, True, False, False],\n    [0, True, False, False],\n    [0, True, False, False],\n    [1, True, False, False]]]]]\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":"4314571cccb33892ad430a541eba2c37af08dddaa07cf247898b39e3b7e0615c","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(preset, start, scans):\n    acc = start\n    ov = False\n    un = False\n    pcu = False\n    pcd = False\n    out = []\n    for cu, cd, res in scans:\n        cu = bool(cu)\n        cd = bool(cd)\n        if cu and not pcu:\n            acc += 1\n            if acc > 32767:\n                acc = -32768\n                ov = True\n        if cd and not pcd:\n            acc -= 1\n            if acc < -32768:\n                acc = 32767\n                un = True\n        pcu = cu\n        pcd = cd\n        if res:\n            acc = 0\n        out.append([acc, acc >= preset, ov, un])\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression: underflow then reset',\n   [0,\n    -32767,\n    [[False, True, False],\n     [False, False, False],\n     [False, True, False],\n     [False, False, True],\n     [False, False, False]]],\n   [[-32768, False, False, False],\n    [-32768, False, False, False],\n    [32767, True, False, True],\n    [0, True, False, False],\n    [0, True, False, False]]],\n  ['regression: scenario 49',\n   [3,\n    -32768,\n    [[False, True, False],\n     [True, False, False],\n     [False, True, False],\n     [False, True, False],\n     [False, False, False],\n     [False, False, False],\n     [False, False, True],\n     [False, False, False],\n     [False, False, False],\n     [True, True, True],\n     [True, False, False],\n     [False, True, True],\n     [False, True, False],\n     [True, True, False]]],\n   [[32767, True, False, True],\n    [-32768, False, True, True],\n    [32767, True, True, True],\n    [32767, True, True, True],\n    [32767, True, True, True],\n    [32767, True, True, True],\n    [0, False, False, False],\n    [0, False, False, False],\n    [0, False, False, False],\n    [0, False, False, False],\n    [0, False, False, False],\n    [0, False, False, False],\n    [0, False, False, False],\n    [1, False, False, False]]],\n  ['control: held count input',\n   [3, 0, [[True, False, False], [True, False, False], [False, False, False], [True, False, False]]],\n   [[1, False, False, False], [1, False, False, False], [1, False, False, False], [2, False, False, False]]],\n  ['control: overflow wrap',\n   [0,\n    32766,\n    [[True, False, False],\n     [False, False, False],\n     [True, False, False],\n     [False, False, False],\n     [True, False, False]]],\n   [[32767, True, False, False],\n    [32767, True, False, False],\n    [-32768, False, True, False],\n    [-32768, False, True, False],\n    [-32767, False, True, False]]],\n  ['control: simultaneous edges',\n   [1,\n    0,\n    [[True, True, False],\n     [False, False, False],\n     [True, False, False],\n     [True, True, False],\n     [False, True, False]]],\n   [[0, False, False, False],\n    [0, False, False, False],\n    [1, True, False, False],\n    [0, False, False, False],\n    [0, False, False, False]]],\n  ['control: count down while up held',\n   [0, 5, [[True, False, False], [True, True, False], [True, False, False], [True, True, False]]],\n   [[6, True, False, False], [5, True, False, False], [5, True, False, False], [4, True, False, False]]],\n  ['control: scenario 1',\n   [0,\n    1,\n    [[True, False, False],\n     [True, False, False],\n     [True, False, False],\n     [False, True, True],\n     [False, False, False],\n     [True, False, False],\n     [False, False, False],\n     [False, False, False],\n     [False, False, False]]],\n   [[2, True, False, False],\n    [2, True, False, False],\n    [2, True, False, False],\n    [0, True, False, False],\n    [0, True, False, False],\n    [1, True, False, False],\n    [1, True, False, False],\n    [1, True, False, False],\n    [1, True, False, False]]],\n  ['control: scenario 2',\n   [3,\n    32766,\n    [[True, True, False],\n     [False, False, False],\n     [True, True, False],\n     [False, False, True],\n     [False, False, False],\n     [True, False, False],\n     [False, False, False],\n     [True, True, False],\n     [False, False, False],\n     [True, True, False],\n     [False, False, False],\n     [False, True, False],\n     [False, False, False]]],\n   [[32766, True, False, False],\n    [32766, True, False, False],\n    [32766, True, False, False],\n    [0, False, False, False],\n    [0, False, False, False],\n    [1, False, False, False],\n    [1, False, False, False],\n    [1, False, False, False],\n    [1, False, False, False],\n    [1, False, False, False],\n    [1, False, False, False],\n    [0, False, False, False],\n    [0, False, False, False]]]],\n [['regression: scenario 4',\n   [3,\n    32767,\n    [[False, False, False],\n     [True, True, True],\n     [False, True, False],\n     [False, False, False],\n     [True, False, False],\n     [True, True, False],\n     [True, False, False],\n     [True, False, False],\n     [True, False, False],\n     [False, True, False],\n     [False, False, False],\n     [False, True, False],\n     [False, True, False]]],\n   [[32767, True, False, False],\n    [0, False, False, False],\n    [0, False, False, False],\n    [0, False, False, False],\n    [1, False, False, False],\n    [0, False, False, False],\n    [0, False, False, False],\n    [0, False, False, False],\n    [0, False, False, False],\n    [-1, False, False, False],\n    [-1, False, False, False],\n    [-2, False, False, False],\n    [-2, False, False, False]]],\n  ['regression: scenario 54',\n   [32767,\n    32767,\n    [[True, False, False],\n     [False, False, False],\n     [False, True, False],\n     [True, True, False],\n     [False, True, False],\n     [False, False, False],\n     [True, False, True],\n     [False, False, False],\n     [True, False, False],\n     [False, False, False],\n     [True, False, False],\n     [False, True, False],\n     [True, True, False],\n     [False, True, False]]],\n   [[-32768, False, True, False],\n    [-32768, False, True, False],\n    [32767, True, True, True],\n    [-32768, False, True, True],\n    [-32768, False, True, True],\n    [-32768, False, True, True],\n    [0, False, False, False],\n    [0, False, False, False],\n    [1, False, False, False],\n    [1, False, False, False],\n    [2, False, False, False],\n    [1, False, False, False],\n    [2, False, False, False],\n    [2, False, False, False]]],\n  ['control: held count input',\n   [3, 0, [[True, False, False], [True, False, False], [False, False, False], [True, False, False]]],\n   [[1, False, False, False], [1, False, False, False], [1, False, False, False], [2, False, False, False]]],\n  ['control: overflow wrap',\n   [0,\n    32766,\n    [[True, False, False],\n     [False, False, False],\n     [True, False, False],\n     [False, False, False],\n     [True, False, False]]],\n   [[32767, True, False, False],\n    [32767, True, False, False],\n    [-32768, False, True, False],\n    [-32768, False, True, False],\n    [-32767, False, True, False]]],\n  ['regression: underflow then reset',\n   [0,\n    -32767,\n    [[False, True, False],\n     [False, False, False],\n     [False, True, False],\n     [False, False, True],\n     [False, False, False]]],\n   [[-32768, False, False, False],\n    [-32768, False, False, False],\n    [32767, True, False, True],\n    [0, True, False, False],\n    [0, True, False, False]]],\n  ['control: simultaneous edges',\n   [1,\n    0,\n    [[True, True, False],\n     [False, False, False],\n     [True, False, False],\n     [True, True, False],\n     [False, True, False]]],\n   [[0, False, False, False],\n    [0, False, False, False],\n    [1, True, False, False],\n    [0, False, False, False],\n    [0, False, False, False]]],\n  ['control: count down while up held',\n   [0, 5, [[True, False, False], [True, True, False], [True, False, False], [True, True, False]]],\n   [[6, True, False, False], [5, True, False, False], [5, True, False, False], [4, True, False, False]]],\n  ['control: scenario 1',\n   [2,\n    -32767,\n    [[True, False, False],\n     [True, False, False],\n     [False, False, False],\n     [False, False, False],\n     [False, True, False],\n     [False, False, False],\n     [True, False, False],\n     [True, False, False]]],\n   [[-32766, False, False, False],\n    [-32766, False, False, False],\n    [-32766, False, False, False],\n    [-32766, False, False, False],\n    [-32767, False, False, False],\n    [-32767, False, False, False],\n    [-32766, False, False, False],\n    [-32766, False, False, False]]]],\n [['regression: scenario 11',\n   [-1,\n    32767,\n    [[False, False, False],\n     [True, False, False],\n     [True, False, False],\n     [False, True, False],\n     [False, True, True],\n     [False, True, False],\n     [False, True, False],\n     [False, True, False],\n     [True, True, False],\n     [False, False, False]]],\n   [[32767, True, False, False],\n    [-32768, False, True, False],\n    [-32768, False, True, False],\n    [32767, True, True, True],\n    [0, True, False, False],\n    [0, True, False, False],\n    [0, True, False, False],\n    [0, True, False, False],\n    [1, True, False, False],\n    [1, True, False, False]]],\n  ['regression: scenario 14',\n   [-1,\n    -32768,\n    [[True, True, False],\n     [True, False, False],\n     [True, True, False],\n     [True, True, False],\n     [True, False, False],\n     [False, False, False],\n     [False, False, False],\n     [True, True, True],\n     [True, True, False],\n     [False, False, False],\n     [False, False, False],\n     [False, False, False]]],\n   [[-32768, False, False, False],\n    [-32768, False, False, False],\n    [32767, True, False, True],\n    [32767, True, False, True],\n    [32767, True, False, True],\n    [32767, True, False, True],\n    [32767, True, False, True],\n    [0, True, False, False],\n    [0, True, False, False],\n    [0, True, False, False],\n    [0, True, False, False],\n    [0, True, False, False]]],\n  ['control: held count input',\n   [3, 0, [[True, False, False], [True, False, False], [False, False, False], [True, False, False]]],\n   [[1, False, False, False], [1, False, False, False], [1, False, False, False], [2, False, False, False]]],\n  ['control: overflow wrap',\n   [0,\n    32766,\n    [[True, False, False],\n     [False, False, False],\n     [True, False, False],\n     [False, False, False],\n     [True, False, False]]],\n   [[32767, True, False, False],\n    [32767, True, False, False],\n    [-32768, False, True, False],\n    [-32768, False, True, False],\n    [-32767, False, True, False]]],\n  ['regression: underflow then reset',\n   [0,\n    -32767,\n    [[False, True, False],\n     [False, False, False],\n     [False, True, False],\n     [False, False, True],\n     [False, False, False]]],\n   [[-32768, False, False, False],\n    [-32768, False, False, False],\n    [32767, True, False, True],\n    [0, True, False, False],\n    [0, True, False, False]]],\n  ['control: simultaneous edges',\n   [1,\n    0,\n    [[True, True, False],\n     [False, False, False],\n     [True, False, False],\n     [True, True, False],\n     [False, True, False]]],\n   [[0, False, False, False],\n    [0, False, False, False],\n    [1, True, False, False],\n    [0, False, False, False],\n    [0, False, False, False]]],\n  ['control: count down while up held',\n   [0, 5, [[True, False, False], [True, True, False], [True, False, False], [True, True, False]]],\n   [[6, True, False, False], [5, True, False, False], [5, True, False, False], [4, True, False, False]]],\n  ['control: scenario 1',\n   [3,\n    32765,\n    [[True, False, True],\n     [True, False, False],\n     [True, False, True],\n     [False, True, False],\n     [True, False, False],\n     [True, True, True],\n     [False, True, False],\n     [False, False, False],\n     [True, True, False],\n     [False, True, False],\n     [True, False, False],\n     [False, False, False],\n     [True, False, False],\n     [False, True, False]]],\n   [[0, False, False, False],\n    [0, False, False, False],\n    [0, False, False, False],\n    [-1, False, False, False],\n    [0, False, False, False],\n    [0, False, False, False],\n    [0, False, False, False],\n    [0, False, False, False],\n    [0, False, False, False],\n    [0, False, False, False],\n    [1, False, False, False],\n    [1, False, False, False],\n    [2, False, False, False],\n    [1, False, False, False]]]],\n [['regression: scenario 24',\n   [-32768,\n    -32767,\n    [[True, False, False],\n     [False, True, False],\n     [True, False, False],\n     [True, True, False],\n     [True, False, False],\n     [False, True, False],\n     [False, False, False],\n     [True, True, False],\n     [True, True, False],\n     [True, False, False],\n     [False, False, False],\n     [False, False, False],\n     [False, True, True],\n     [False, True, False]]],\n   [[-32766, True, False, False],\n    [-32767, True, False, False],\n    [-32766, True, False, False],\n    [-32767, True, False, False],\n    [-32767, True, False, False],\n    [-32768, True, False, False],\n    [-32768, True, False, False],\n    [-32768, True, False, False],\n    [-32768, True, False, False],\n    [-32768, True, False, False],\n    [-32768, True, False, False],\n    [-32768, True, False, False],\n    [0, True, False, False],\n    [0, True, False, False]]],\n  ['regression: scenario 32',\n   [-32768,\n    -32768,\n    [[False, True, False],\n     [False, True, False],\n     [True, False, True],\n     [True, False, False],\n     [True, False, False],\n     [False, False, True],\n     [False, False, False],\n     [False, True, False],\n     [False, True, False],\n     [True, False, False],\n     [True, True, False],\n     [False, True, False]]],\n   [[32767, True, False, True],\n    [32767, True, False, True],\n    [0, True, False, False],\n    [0, True, False, False],\n    [0, True, False, False],\n    [0, True, False, False],\n    [0, True, False, False],\n    [-1, True, False, False],\n    [-1, True, False, False],\n    [0, True, False, False],\n    [-1, True, False, False],\n    [-1, True, False, False]]],\n  ['control: held count input',\n   [3, 0, [[True, False, False], [True, False, False], [False, False, False], [True, False, False]]],\n   [[1, False, False, False], [1, False, False, False], [1, False, False, False], [2, False, False, False]]],\n  ['control: overflow wrap',\n   [0,\n    32766,\n    [[True, False, False],\n     [False, False, False],\n     [True, False, False],\n     [False, False, False],\n     [True, False, False]]],\n   [[32767, True, False, False],\n    [32767, True, False, False],\n    [-32768, False, True, False],\n    [-32768, False, True, False],\n    [-32767, False, True, False]]],\n  ['regression: underflow then reset',\n   [0,\n    -32767,\n    [[False, True, False],\n     [False, False, False],\n     [False, True, False],\n     [False, False, True],\n     [False, False, False]]],\n   [[-32768, False, False, False],\n    [-32768, False, False, False],\n    [32767, True, False, True],\n    [0, True, False, False],\n    [0, True, False, False]]],\n  ['control: simultaneous edges',\n   [1,\n    0,\n    [[True, True, False],\n     [False, False, False],\n     [True, False, False],\n     [True, True, False],\n     [False, True, False]]],\n   [[0, False, False, False],\n    [0, False, False, False],\n    [1, True, False, False],\n    [0, False, False, False],\n    [0, False, False, False]]],\n  ['control: count down while up held',\n   [0, 5, [[True, False, False], [True, True, False], [True, False, False], [True, True, False]]],\n   [[6, True, False, False], [5, True, False, False], [5, True, False, False], [4, True, False, False]]],\n  ['control: scenario 1',\n   [32767,\n    32766,\n    [[False, False, False],\n     [True, True, False],\n     [False, True, True],\n     [True, True, False],\n     [False, True, False],\n     [True, False, False],\n     [True, False, False],\n     [True, False, False],\n     [False, True, True],\n     [True, False, False],\n     [False, False, False],\n     [False, False, False]]],\n   [[32766, False, False, False],\n    [32766, False, False, False],\n    [0, False, False, False],\n    [1, False, False, False],\n    [1, False, False, False],\n    [2, False, False, False],\n    [2, False, False, False],\n    [2, False, False, False],\n    [0, False, False, False],\n    [1, False, False, False],\n    [1, False, False, False],\n    [1, False, False, False]]]],\n [['regression: scenario 20',\n   [-1,\n    32767,\n    [[False, False, False],\n     [True, False, False],\n     [False, False, False],\n     [True, False, False],\n     [True, False, True],\n     [False, True, False],\n     [False, False, False],\n     [False, False, False],\n     [True, False, False],\n     [True, False, False],\n     [True, False, False],\n     [True, True, False]]],\n   [[32767, True, False, False],\n    [-32768, False, True, False],\n    [-32768, False, True, False],\n    [-32767, False, True, False],\n    [0, True, False, False],\n    [-1, True, False, False],\n    [-1, True, False, False],\n    [-1, True, False, False],\n    [0, True, False, False],\n    [0, True, False, False],\n    [0, True, False, False],\n    [-1, True, False, False]]],\n  ['regression: scenario 43',\n   [32767,\n    32767,\n    [[True, True, False],\n     [True, True, False],\n     [True, False, False],\n     [True, False, False],\n     [False, True, False],\n     [True, False, True],\n     [False, False, False]]],\n   [[32767, True, True, True],\n    [32767, True, True, True],\n    [32767, True, True, True],\n    [32767, True, True, True],\n    [32766, False, True, True],\n    [0, False, False, False],\n    [0, False, False, False]]],\n  ['control: held count input',\n   [3, 0, [[True, False, False], [True, False, False], [False, False, False], [True, False, False]]],\n   [[1, False, False, False], [1, False, False, False], [1, False, False, False], [2, False, False, False]]],\n  ['control: overflow wrap',\n   [0,\n    32766,\n    [[True, False, False],\n     [False, False, False],\n     [True, False, False],\n     [False, False, False],\n     [True, False, False]]],\n   [[32767, True, False, False],\n    [32767, True, False, False],\n    [-32768, False, True, False],\n    [-32768, False, True, False],\n    [-32767, False, True, False]]],\n  ['regression: underflow then reset',\n   [0,\n    -32767,\n    [[False, True, False],\n     [False, False, False],\n     [False, True, False],\n     [False, False, True],\n     [False, False, False]]],\n   [[-32768, False, False, False],\n    [-32768, False, False, False],\n    [32767, True, False, True],\n    [0, True, False, False],\n    [0, True, False, False]]],\n  ['control: simultaneous edges',\n   [1,\n    0,\n    [[True, True, False],\n     [False, False, False],\n     [True, False, False],\n     [True, True, False],\n     [False, True, False]]],\n   [[0, False, False, False],\n    [0, False, False, False],\n    [1, True, False, False],\n    [0, False, False, False],\n    [0, False, False, False]]],\n  ['control: count down while up held',\n   [0, 5, [[True, False, False], [True, True, False], [True, False, False], [True, True, False]]],\n   [[6, True, False, False], [5, True, False, False], [5, True, False, False], [4, True, False, False]]],\n  ['control: scenario 1',\n   [0,\n    -2,\n    [[True, False, False],\n     [False, False, False],\n     [True, False, False],\n     [True, True, False],\n     [True, False, False],\n     [False, False, True],\n     [True, False, False],\n     [True, False, False],\n     [True, False, False],\n     [False, True, False],\n     [False, False, False],\n     [True, False, False]]],\n   [[-1, False, False, False],\n    [-1, False, False, False],\n    [0, True, False, False],\n    [-1, False, False, False],\n    [-1, False, False, False],\n    [0, True, False, False],\n    [1, True, False, False],\n    [1, True, False, False],\n    [1, True, False, False],\n    [0, True, False, False],\n    [0, True, False, False],\n    [1, True, False, False]]]]]\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":"bbb3f3e58b9cc99ced30fd67f89718eb8f621b943a9f45cb235ed2f1b9d58550","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(preset, start, scans):\n    acc = start\n    ov = False\n    un = False\n    pcu = False\n    pcd = False\n    out = []\n    for cu, cd, res in scans:\n        cu = bool(cu)\n        cd = bool(cd)\n        if cu and not pcu:\n            acc += 1\n            if acc > 32767:\n                acc = -32768\n                ov = True\n        if cd and not pcd:\n            acc -= 1\n            if acc < -32768:\n                acc = 32767\n                un = True\n        pcu = cu\n        pcd = cd\n        if res:\n            acc = 0\n            ov = False\n            un = False\n        out.append([acc, acc >= preset, ov, un])\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression: underflow then reset',\n   [0,\n    -32767,\n    [[False, True, False],\n     [False, False, False],\n     [False, True, False],\n     [False, False, True],\n     [False, False, False]]],\n   [[-32768, False, False, False],\n    [-32768, False, False, False],\n    [32767, True, False, True],\n    [0, True, False, False],\n    [0, True, False, False]]],\n  ['regression: scenario 49',\n   [3,\n    -32768,\n    [[False, True, False],\n     [True, False, False],\n     [False, True, False],\n     [False, True, False],\n     [False, False, False],\n     [False, False, False],\n     [False, False, True],\n     [False, False, False],\n     [False, False, False],\n     [True, True, True],\n     [True, False, False],\n     [False, True, True],\n     [False, True, False],\n     [True, True, False]]],\n   [[32767, True, False, True],\n    [-32768, False, True, True],\n    [32767, True, True, True],\n    [32767, True, True, True],\n    [32767, True, True, True],\n    [32767, True, True, True],\n    [0, False, False, False],\n    [0, False, False, False],\n    [0, False, False, False],\n    [0, False, False, False],\n    [0, False, False, False],\n    [0, False, False, False],\n    [0, False, False, False],\n    [1, False, False, False]]],\n  ['control: held count input',\n   [3, 0, [[True, False, False], [True, False, False], [False, False, False], [True, False, False]]],\n   [[1, False, False, False], [1, False, False, False], [1, False, False, False], [2, False, False, False]]],\n  ['control: overflow wrap',\n   [0,\n    32766,\n    [[True, False, False],\n     [False, False, False],\n     [True, False, False],\n     [False, False, False],\n     [True, False, False]]],\n   [[32767, True, False, False],\n    [32767, True, False, False],\n    [-32768, False, True, False],\n    [-32768, False, True, False],\n    [-32767, False, True, False]]],\n  ['control: simultaneous edges',\n   [1,\n    0,\n    [[True, True, False],\n     [False, False, False],\n     [True, False, False],\n     [True, True, False],\n     [False, True, False]]],\n   [[0, False, False, False],\n    [0, False, False, False],\n    [1, True, False, False],\n    [0, False, False, False],\n    [0, False, False, False]]],\n  ['control: count down while up held',\n   [0, 5, [[True, False, False], [True, True, False], [True, False, False], [True, True, False]]],\n   [[6, True, False, False], [5, True, False, False], [5, True, False, False], [4, True, False, False]]],\n  ['control: scenario 1',\n   [0,\n    1,\n    [[True, False, False],\n     [True, False, False],\n     [True, False, False],\n     [False, True, True],\n     [False, False, False],\n     [True, False, False],\n     [False, False, False],\n     [False, False, False],\n     [False, False, False]]],\n   [[2, True, False, False],\n    [2, True, False, False],\n    [2, True, False, False],\n    [0, True, False, False],\n    [0, True, False, False],\n    [1, True, False, False],\n    [1, True, False, False],\n    [1, True, False, False],\n    [1, True, False, False]]],\n  ['control: scenario 2',\n   [3,\n    32766,\n    [[True, True, False],\n     [False, False, False],\n     [True, True, False],\n     [False, False, True],\n     [False, False, False],\n     [True, False, False],\n     [False, False, False],\n     [True, True, False],\n     [False, False, False],\n     [True, True, False],\n     [False, False, False],\n     [False, True, False],\n     [False, False, False]]],\n   [[32766, True, False, False],\n    [32766, True, False, False],\n    [32766, True, False, False],\n    [0, False, False, False],\n    [0, False, False, False],\n    [1, False, False, False],\n    [1, False, False, False],\n    [1, False, False, False],\n    [1, False, False, False],\n    [1, False, False, False],\n    [1, False, False, False],\n    [0, False, False, False],\n    [0, False, False, False]]]],\n [['regression: scenario 4',\n   [3,\n    32767,\n    [[False, False, False],\n     [True, True, True],\n     [False, True, False],\n     [False, False, False],\n     [True, False, False],\n     [True, True, False],\n     [True, False, False],\n     [True, False, False],\n     [True, False, False],\n     [False, True, False],\n     [False, False, False],\n     [False, True, False],\n     [False, True, False]]],\n   [[32767, True, False, False],\n    [0, False, False, False],\n    [0, False, False, False],\n    [0, False, False, False],\n    [1, False, False, False],\n    [0, False, False, False],\n    [0, False, False, False],\n    [0, False, False, False],\n    [0, False, False, False],\n    [-1, False, False, False],\n    [-1, False, False, False],\n    [-2, False, False, False],\n    [-2, False, False, False]]],\n  ['regression: scenario 54',\n   [32767,\n    32767,\n    [[True, False, False],\n     [False, False, False],\n     [False, True, False],\n     [True, True, False],\n     [False, True, False],\n     [False, False, False],\n     [True, False, True],\n     [False, False, False],\n     [True, False, False],\n     [False, False, False],\n     [True, False, False],\n     [False, True, False],\n     [True, True, False],\n     [False, True, False]]],\n   [[-32768, False, True, False],\n    [-32768, False, True, False],\n    [32767, True, True, True],\n    [-32768, False, True, True],\n    [-32768, False, True, True],\n    [-32768, False, True, True],\n    [0, False, False, False],\n    [0, False, False, False],\n    [1, False, False, False],\n    [1, False, False, False],\n    [2, False, False, False],\n    [1, False, False, False],\n    [2, False, False, False],\n    [2, False, False, False]]],\n  ['control: held count input',\n   [3, 0, [[True, False, False], [True, False, False], [False, False, False], [True, False, False]]],\n   [[1, False, False, False], [1, False, False, False], [1, False, False, False], [2, False, False, False]]],\n  ['control: overflow wrap',\n   [0,\n    32766,\n    [[True, False, False],\n     [False, False, False],\n     [True, False, False],\n     [False, False, False],\n     [True, False, False]]],\n   [[32767, True, False, False],\n    [32767, True, False, False],\n    [-32768, False, True, False],\n    [-32768, False, True, False],\n    [-32767, False, True, False]]],\n  ['regression: underflow then reset',\n   [0,\n    -32767,\n    [[False, True, False],\n     [False, False, False],\n     [False, True, False],\n     [False, False, True],\n     [False, False, False]]],\n   [[-32768, False, False, False],\n    [-32768, False, False, False],\n    [32767, True, False, True],\n    [0, True, False, False],\n    [0, True, False, False]]],\n  ['control: simultaneous edges',\n   [1,\n    0,\n    [[True, True, False],\n     [False, False, False],\n     [True, False, False],\n     [True, True, False],\n     [False, True, False]]],\n   [[0, False, False, False],\n    [0, False, False, False],\n    [1, True, False, False],\n    [0, False, False, False],\n    [0, False, False, False]]],\n  ['control: count down while up held',\n   [0, 5, [[True, False, False], [True, True, False], [True, False, False], [True, True, False]]],\n   [[6, True, False, False], [5, True, False, False], [5, True, False, False], [4, True, False, False]]],\n  ['control: scenario 1',\n   [2,\n    -32767,\n    [[True, False, False],\n     [True, False, False],\n     [False, False, False],\n     [False, False, False],\n     [False, True, False],\n     [False, False, False],\n     [True, False, False],\n     [True, False, False]]],\n   [[-32766, False, False, False],\n    [-32766, False, False, False],\n    [-32766, False, False, False],\n    [-32766, False, False, False],\n    [-32767, False, False, False],\n    [-32767, False, False, False],\n    [-32766, False, False, False],\n    [-32766, False, False, False]]]],\n [['regression: scenario 11',\n   [-1,\n    32767,\n    [[False, False, False],\n     [True, False, False],\n     [True, False, False],\n     [False, True, False],\n     [False, True, True],\n     [False, True, False],\n     [False, True, False],\n     [False, True, False],\n     [True, True, False],\n     [False, False, False]]],\n   [[32767, True, False, False],\n    [-32768, False, True, False],\n    [-32768, False, True, False],\n    [32767, True, True, True],\n    [0, True, False, False],\n    [0, True, False, False],\n    [0, True, False, False],\n    [0, True, False, False],\n    [1, True, False, False],\n    [1, True, False, False]]],\n  ['regression: scenario 14',\n   [-1,\n    -32768,\n    [[True, True, False],\n     [True, False, False],\n     [True, True, False],\n     [True, True, False],\n     [True, False, False],\n     [False, False, False],\n     [False, False, False],\n     [True, True, True],\n     [True, True, False],\n     [False, False, False],\n     [False, False, False],\n     [False, False, False]]],\n   [[-32768, False, False, False],\n    [-32768, False, False, False],\n    [32767, True, False, True],\n    [32767, True, False, True],\n    [32767, True, False, True],\n    [32767, True, False, True],\n    [32767, True, False, True],\n    [0, True, False, False],\n    [0, True, False, False],\n    [0, True, False, False],\n    [0, True, False, False],\n    [0, True, False, False]]],\n  ['control: held count input',\n   [3, 0, [[True, False, False], [True, False, False], [False, False, False], [True, False, False]]],\n   [[1, False, False, False], [1, False, False, False], [1, False, False, False], [2, False, False, False]]],\n  ['control: overflow wrap',\n   [0,\n    32766,\n    [[True, False, False],\n     [False, False, False],\n     [True, False, False],\n     [False, False, False],\n     [True, False, False]]],\n   [[32767, True, False, False],\n    [32767, True, False, False],\n    [-32768, False, True, False],\n    [-32768, False, True, False],\n    [-32767, False, True, False]]],\n  ['regression: underflow then reset',\n   [0,\n    -32767,\n    [[False, True, False],\n     [False, False, False],\n     [False, True, False],\n     [False, False, True],\n     [False, False, False]]],\n   [[-32768, False, False, False],\n    [-32768, False, False, False],\n    [32767, True, False, True],\n    [0, True, False, False],\n    [0, True, False, False]]],\n  ['control: simultaneous edges',\n   [1,\n    0,\n    [[True, True, False],\n     [False, False, False],\n     [True, False, False],\n     [True, True, False],\n     [False, True, False]]],\n   [[0, False, False, False],\n    [0, False, False, False],\n    [1, True, False, False],\n    [0, False, False, False],\n    [0, False, False, False]]],\n  ['control: count down while up held',\n   [0, 5, [[True, False, False], [True, True, False], [True, False, False], [True, True, False]]],\n   [[6, True, False, False], [5, True, False, False], [5, True, False, False], [4, True, False, False]]],\n  ['control: scenario 1',\n   [3,\n    32765,\n    [[True, False, True],\n     [True, False, False],\n     [True, False, True],\n     [False, True, False],\n     [True, False, False],\n     [True, True, True],\n     [False, True, False],\n     [False, False, False],\n     [True, True, False],\n     [False, True, False],\n     [True, False, False],\n     [False, False, False],\n     [True, False, False],\n     [False, True, False]]],\n   [[0, False, False, False],\n    [0, False, False, False],\n    [0, False, False, False],\n    [-1, False, False, False],\n    [0, False, False, False],\n    [0, False, False, False],\n    [0, False, False, False],\n    [0, False, False, False],\n    [0, False, False, False],\n    [0, False, False, False],\n    [1, False, False, False],\n    [1, False, False, False],\n    [2, False, False, False],\n    [1, False, False, False]]]],\n [['regression: scenario 24',\n   [-32768,\n    -32767,\n    [[True, False, False],\n     [False, True, False],\n     [True, False, False],\n     [True, True, False],\n     [True, False, False],\n     [False, True, False],\n     [False, False, False],\n     [True, True, False],\n     [True, True, False],\n     [True, False, False],\n     [False, False, False],\n     [False, False, False],\n     [False, True, True],\n     [False, True, False]]],\n   [[-32766, True, False, False],\n    [-32767, True, False, False],\n    [-32766, True, False, False],\n    [-32767, True, False, False],\n    [-32767, True, False, False],\n    [-32768, True, False, False],\n    [-32768, True, False, False],\n    [-32768, True, False, False],\n    [-32768, True, False, False],\n    [-32768, True, False, False],\n    [-32768, True, False, False],\n    [-32768, True, False, False],\n    [0, True, False, False],\n    [0, True, False, False]]],\n  ['regression: scenario 32',\n   [-32768,\n    -32768,\n    [[False, True, False],\n     [False, True, False],\n     [True, False, True],\n     [True, False, False],\n     [True, False, False],\n     [False, False, True],\n     [False, False, False],\n     [False, True, False],\n     [False, True, False],\n     [True, False, False],\n     [True, True, False],\n     [False, True, False]]],\n   [[32767, True, False, True],\n    [32767, True, False, True],\n    [0, True, False, False],\n    [0, True, False, False],\n    [0, True, False, False],\n    [0, True, False, False],\n    [0, True, False, False],\n    [-1, True, False, False],\n    [-1, True, False, False],\n    [0, True, False, False],\n    [-1, True, False, False],\n    [-1, True, False, False]]],\n  ['control: held count input',\n   [3, 0, [[True, False, False], [True, False, False], [False, False, False], [True, False, False]]],\n   [[1, False, False, False], [1, False, False, False], [1, False, False, False], [2, False, False, False]]],\n  ['control: overflow wrap',\n   [0,\n    32766,\n    [[True, False, False],\n     [False, False, False],\n     [True, False, False],\n     [False, False, False],\n     [True, False, False]]],\n   [[32767, True, False, False],\n    [32767, True, False, False],\n    [-32768, False, True, False],\n    [-32768, False, True, False],\n    [-32767, False, True, False]]],\n  ['regression: underflow then reset',\n   [0,\n    -32767,\n    [[False, True, False],\n     [False, False, False],\n     [False, True, False],\n     [False, False, True],\n     [False, False, False]]],\n   [[-32768, False, False, False],\n    [-32768, False, False, False],\n    [32767, True, False, True],\n    [0, True, False, False],\n    [0, True, False, False]]],\n  ['control: simultaneous edges',\n   [1,\n    0,\n    [[True, True, False],\n     [False, False, False],\n     [True, False, False],\n     [True, True, False],\n     [False, True, False]]],\n   [[0, False, False, False],\n    [0, False, False, False],\n    [1, True, False, False],\n    [0, False, False, False],\n    [0, False, False, False]]],\n  ['control: count down while up held',\n   [0, 5, [[True, False, False], [True, True, False], [True, False, False], [True, True, False]]],\n   [[6, True, False, False], [5, True, False, False], [5, True, False, False], [4, True, False, False]]],\n  ['control: scenario 1',\n   [32767,\n    32766,\n    [[False, False, False],\n     [True, True, False],\n     [False, True, True],\n     [True, True, False],\n     [False, True, False],\n     [True, False, False],\n     [True, False, False],\n     [True, False, False],\n     [False, True, True],\n     [True, False, False],\n     [False, False, False],\n     [False, False, False]]],\n   [[32766, False, False, False],\n    [32766, False, False, False],\n    [0, False, False, False],\n    [1, False, False, False],\n    [1, False, False, False],\n    [2, False, False, False],\n    [2, False, False, False],\n    [2, False, False, False],\n    [0, False, False, False],\n    [1, False, False, False],\n    [1, False, False, False],\n    [1, False, False, False]]]],\n [['regression: scenario 20',\n   [-1,\n    32767,\n    [[False, False, False],\n     [True, False, False],\n     [False, False, False],\n     [True, False, False],\n     [True, False, True],\n     [False, True, False],\n     [False, False, False],\n     [False, False, False],\n     [True, False, False],\n     [True, False, False],\n     [True, False, False],\n     [True, True, False]]],\n   [[32767, True, False, False],\n    [-32768, False, True, False],\n    [-32768, False, True, False],\n    [-32767, False, True, False],\n    [0, True, False, False],\n    [-1, True, False, False],\n    [-1, True, False, False],\n    [-1, True, False, False],\n    [0, True, False, False],\n    [0, True, False, False],\n    [0, True, False, False],\n    [-1, True, False, False]]],\n  ['regression: scenario 43',\n   [32767,\n    32767,\n    [[True, True, False],\n     [True, True, False],\n     [True, False, False],\n     [True, False, False],\n     [False, True, False],\n     [True, False, True],\n     [False, False, False]]],\n   [[32767, True, True, True],\n    [32767, True, True, True],\n    [32767, True, True, True],\n    [32767, True, True, True],\n    [32766, False, True, True],\n    [0, False, False, False],\n    [0, False, False, False]]],\n  ['control: held count input',\n   [3, 0, [[True, False, False], [True, False, False], [False, False, False], [True, False, False]]],\n   [[1, False, False, False], [1, False, False, False], [1, False, False, False], [2, False, False, False]]],\n  ['control: overflow wrap',\n   [0,\n    32766,\n    [[True, False, False],\n     [False, False, False],\n     [True, False, False],\n     [False, False, False],\n     [True, False, False]]],\n   [[32767, True, False, False],\n    [32767, True, False, False],\n    [-32768, False, True, False],\n    [-32768, False, True, False],\n    [-32767, False, True, False]]],\n  ['regression: underflow then reset',\n   [0,\n    -32767,\n    [[False, True, False],\n     [False, False, False],\n     [False, True, False],\n     [False, False, True],\n     [False, False, False]]],\n   [[-32768, False, False, False],\n    [-32768, False, False, False],\n    [32767, True, False, True],\n    [0, True, False, False],\n    [0, True, False, False]]],\n  ['control: simultaneous edges',\n   [1,\n    0,\n    [[True, True, False],\n     [False, False, False],\n     [True, False, False],\n     [True, True, False],\n     [False, True, False]]],\n   [[0, False, False, False],\n    [0, False, False, False],\n    [1, True, False, False],\n    [0, False, False, False],\n    [0, False, False, False]]],\n  ['control: count down while up held',\n   [0, 5, [[True, False, False], [True, True, False], [True, False, False], [True, True, False]]],\n   [[6, True, False, False], [5, True, False, False], [5, True, False, False], [4, True, False, False]]],\n  ['control: scenario 1',\n   [0,\n    -2,\n    [[True, False, False],\n     [False, False, False],\n     [True, False, False],\n     [True, True, False],\n     [True, False, False],\n     [False, False, True],\n     [True, False, False],\n     [True, False, False],\n     [True, False, False],\n     [False, True, False],\n     [False, False, False],\n     [True, False, False]]],\n   [[-1, False, False, False],\n    [-1, False, False, False],\n    [0, True, False, False],\n    [-1, False, False, False],\n    [-1, False, False, False],\n    [0, True, False, False],\n    [1, True, False, False],\n    [1, True, False, False],\n    [1, True, False, False],\n    [0, True, False, False],\n    [0, True, False, False],\n    [1, True, False, False]]]]]\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 of one PLC instruction or rung pattern evaluated scan by scan. The stated contract is a stipulated toy convention, not a claim of conformance to any vendor controller or IEC 61131-3 runtime. 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-plc-ladder-logic-scan-cycles-ctu-ctd-counter-reset-flags","generated_at":"2026-09-29T14:51:41.004664+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Ladder programs are executed as repeated scans; each defect here changes what a rung, timer, counter or data-table instruction reports on a particular scan, which is how commissioning and field faults are actually observed.","repair":"RES clears ACC, OV and UN together.","root_cause":"The reset rung only clears the accumulator.","sha256":"ddc70fe93cb31d0b2a2fcaa45c49192c9c75da7071ac53024a879e359018bb8c","title":"Counter reset leaves overflow and underflow latched · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":42.513,"exit_code":1,"observations":[{"actual":[[-32768,false,false,false],[-32768,false,false,false],[32767,true,false,true],[0,true,false,true],[0,true,false,true]],"check":"regression: underflow then reset","expected":[[-32768,false,false,false],[-32768,false,false,false],[32767,true,false,true],[0,true,false,false],[0,true,false,false]],"passed":false},{"actual":[[32767,true,false,true],[-32768,false,true,true],[32767,true,true,true],[32767,true,true,true],[32767,true,true,true],[32767,true,true,true],[0,false,false,true],[0,false,false,true],[0,false,false,true],[0,false,false,true],[0,false,false,true],[0,false,false,true],[0,false,false,true],[1,false,false,true]],"check":"regression: scenario 49","expected":[[32767,true,false,true],[-32768,false,true,true],[32767,true,true,true],[32767,true,true,true],[32767,true,true,true],[32767,true,true,true],[0,false,false,false],[0,false,false,false],[0,false,false,false],[0,false,false,false],[0,false,false,false],[0,false,false,false],[0,false,false,false],[1,false,false,false]],"passed":false},{"actual":[[1,false,false,false],[1,false,false,false],[1,false,false,false],[2,false,false,false]],"check":"control: held count input","expected":[[1,false,false,false],[1,false,false,false],[1,false,false,false],[2,false,false,false]],"passed":true},{"actual":[[32767,true,false,false],[32767,true,false,false],[-32768,false,true,false],[-32768,false,true,false],[-32767,false,true,false]],"check":"control: overflow wrap","expected":[[32767,true,false,false],[32767,true,false,false],[-32768,false,true,false],[-32768,false,true,false],[-32767,false,true,false]],"passed":true},{"actual":[[0,false,false,false],[0,false,false,false],[1,true,false,false],[0,false,false,false],[0,false,false,false]],"check":"control: simultaneous edges","expected":[[0,false,false,false],[0,false,false,false],[1,true,false,false],[0,false,false,false],[0,false,false,false]],"passed":true},{"actual":[[6,true,false,false],[5,true,false,false],[5,true,false,false],[4,true,false,false]],"check":"control: count down while up held","expected":[[6,true,false,false],[5,true,false,false],[5,true,false,false],[4,true,false,false]],"passed":true},{"actual":[[2,true,false,false],[2,true,false,false],[2,true,false,false],[0,true,false,false],[0,true,false,false],[1,true,false,false],[1,true,false,false],[1,true,false,false],[1,true,false,false]],"check":"control: scenario 1","expected":[[2,true,false,false],[2,true,false,false],[2,true,false,false],[0,true,false,false],[0,true,false,false],[1,true,false,false],[1,true,false,false],[1,true,false,false],[1,true,false,false]],"passed":true},{"actual":[[32766,true,false,false],[32766,true,false,false],[32766,true,false,false],[0,false,false,false],[0,false,false,false],[1,false,false,false],[1,false,false,false],[1,false,false,false],[1,false,false,false],[1,false,false,false],[1,false,false,false],[0,false,false,false],[0,false,false,false]],"check":"control: scenario 2","expected":[[32766,true,false,false],[32766,true,false,false],[32766,true,false,false],[0,false,false,false],[0,false,false,false],[1,false,false,false],[1,false,false,false],[1,false,false,false],[1,false,false,false],[1,false,false,false],[1,false,false,false],[0,false,false,false],[0,false,false,false]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: underflow then reset\", \"actual\": [[-32768, false, false, false], [-32768, false, false, false], [32767, true, false, true], [0, true, false, true], [0, true, false, true]], \"expected\": [[-32768, false, false, false], [-32768, false, false, false], [32767, true, false, true], [0, true, false, false], [0, true, false, false]], \"passed\": false}, {\"check\": \"regression: scenario 49\", \"actual\": [[32767, true, false, true], [-32768, false, true, true], [32767, true, true, true], [32767, true, true, true], [32767, true, true, true], [32767, true, true, true], [0, false, false, true], [0, false, false, true], [0, false, false, true], [0, false, false, true], [0, false, false, true], [0, false, false, true], [0, false, false, true], [1, false, false, true]], \"expected\": [[32767, true, false, true], [-32768, false, true, true], [32767, true, true, true], [32767, true, true, true], [32767, true, true, true], [32767, true, true, true], [0, false, false, false], [0, false, false, false], [0, false, false, false], [0, false, false, false], [0, false, false, false], [0, false, false, false], [0, false, false, false], [1, false, false, false]], \"passed\": false}, {\"check\": \"control: held count input\", \"actual\": [[1, false, false, false], [1, false, false, false], [1, false, false, false], [2, false, false, false]], \"expected\": [[1, false, false, false], [1, false, false, false], [1, false, false, false], [2, false, false, false]], \"passed\": true}, {\"check\": \"control: overflow wrap\", \"actual\": [[32767, true, false, false], [32767, true, false, false], [-32768, false, true, false], [-32768, false, true, false], [-32767, false, true, false]], \"expected\": [[32767, true, false, false], [32767, true, false, false], [-32768, false, true, false], [-32768, false, true, false], [-32767, false, true, false]], \"passed\": true}, {\"check\": \"control: simultaneous edges\", \"actual\": [[0, false, false, false], [0, false, false, false], [1, true, false, false], [0, false, false, false], [0, false, false, false]], \"expected\": [[0, false, false, false], [0, false, false, false], [1, true, false, false], [0, false, false, false], [0, false, false, false]], \"passed\": true}, {\"check\": \"control: count down while up held\", \"actual\": [[6, true, false, false], [5, true, false, false], [5, true, false, false], [4, true, false, false]], \"expected\": [[6, true, false, false], [5, true, false, false], [5, true, false, false], [4, true, false, false]], \"passed\": true}, {\"check\": \"control: scenario 1\", \"actual\": [[2, true, false, false], [2, true, false, false], [2, true, false, false], [0, true, false, false], [0, true, false, false], [1, true, false, false], [1, true, false, false], [1, true, false, false], [1, true, false, false]], \"expected\": [[2, true, false, false], [2, true, false, false], [2, true, false, false], [0, true, false, false], [0, true, false, false], [1, true, false, false], [1, true, false, false], [1, true, false, false], [1, true, false, false]], \"passed\": true}, {\"check\": \"control: scenario 2\", \"actual\": [[32766, true, false, false], [32766, true, false, false], [32766, true, false, false], [0, false, false, false], [0, false, false, false], [1, false, false, false], [1, false, false, false], [1, false, false, false], [1, false, false, false], [1, false, false, false], [1, false, false, false], [0, false, false, false], [0, false, false, false]], \"expected\": [[32766, true, false, false], [32766, true, false, false], [32766, true, false, false], [0, false, false, false], [0, false, false, false], [1, false, false, false], [1, false, false, false], [1, false, false, false], [1, false, false, false], [1, false, false, false], [1, false, false, false], [0, false, false, false], [0, false, false, false]], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":41.114,"exit_code":1,"observations":[{"actual":[[-32768,false,false,false],[-32768,false,false,false],[32767,true,false,true],[0,true,false,true],[0,true,false,true]],"check":"regression: underflow then reset","expected":[[-32768,false,false,false],[-32768,false,false,false],[32767,true,false,true],[0,true,false,false],[0,true,false,false]],"passed":false},{"actual":[[32767,true,false,true],[-32768,false,true,true],[32767,true,true,true],[32767,true,true,true],[32767,true,true,true],[32767,true,true,true],[0,false,true,true],[0,false,true,true],[0,false,true,true],[0,false,true,true],[0,false,true,true],[0,false,true,true],[0,false,true,true],[1,false,true,true]],"check":"regression: scenario 49","expected":[[32767,true,false,true],[-32768,false,true,true],[32767,true,true,true],[32767,true,true,true],[32767,true,true,true],[32767,true,true,true],[0,false,false,false],[0,false,false,false],[0,false,false,false],[0,false,false,false],[0,false,false,false],[0,false,false,false],[0,false,false,false],[1,false,false,false]],"passed":false},{"actual":[[1,false,false,false],[1,false,false,false],[1,false,false,false],[2,false,false,false]],"check":"control: held count input","expected":[[1,false,false,false],[1,false,false,false],[1,false,false,false],[2,false,false,false]],"passed":true},{"actual":[[32767,true,false,false],[32767,true,false,false],[-32768,false,true,false],[-32768,false,true,false],[-32767,false,true,false]],"check":"control: overflow wrap","expected":[[32767,true,false,false],[32767,true,false,false],[-32768,false,true,false],[-32768,false,true,false],[-32767,false,true,false]],"passed":true},{"actual":[[0,false,false,false],[0,false,false,false],[1,true,false,false],[0,false,false,false],[0,false,false,false]],"check":"control: simultaneous edges","expected":[[0,false,false,false],[0,false,false,false],[1,true,false,false],[0,false,false,false],[0,false,false,false]],"passed":true},{"actual":[[6,true,false,false],[5,true,false,false],[5,true,false,false],[4,true,false,false]],"check":"control: count down while up held","expected":[[6,true,false,false],[5,true,false,false],[5,true,false,false],[4,true,false,false]],"passed":true},{"actual":[[2,true,false,false],[2,true,false,false],[2,true,false,false],[0,true,false,false],[0,true,false,false],[1,true,false,false],[1,true,false,false],[1,true,false,false],[1,true,false,false]],"check":"control: scenario 1","expected":[[2,true,false,false],[2,true,false,false],[2,true,false,false],[0,true,false,false],[0,true,false,false],[1,true,false,false],[1,true,false,false],[1,true,false,false],[1,true,false,false]],"passed":true},{"actual":[[32766,true,false,false],[32766,true,false,false],[32766,true,false,false],[0,false,false,false],[0,false,false,false],[1,false,false,false],[1,false,false,false],[1,false,false,false],[1,false,false,false],[1,false,false,false],[1,false,false,false],[0,false,false,false],[0,false,false,false]],"check":"control: scenario 2","expected":[[32766,true,false,false],[32766,true,false,false],[32766,true,false,false],[0,false,false,false],[0,false,false,false],[1,false,false,false],[1,false,false,false],[1,false,false,false],[1,false,false,false],[1,false,false,false],[1,false,false,false],[0,false,false,false],[0,false,false,false]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: underflow then reset\", \"actual\": [[-32768, false, false, false], [-32768, false, false, false], [32767, true, false, true], [0, true, false, true], [0, true, false, true]], \"expected\": [[-32768, false, false, false], [-32768, false, false, false], [32767, true, false, true], [0, true, false, false], [0, true, false, false]], \"passed\": false}, {\"check\": \"regression: scenario 49\", \"actual\": [[32767, true, false, true], [-32768, false, true, true], [32767, true, true, true], [32767, true, true, true], [32767, true, true, true], [32767, true, true, true], [0, false, true, true], [0, false, true, true], [0, false, true, true], [0, false, true, true], [0, false, true, true], [0, false, true, true], [0, false, true, true], [1, false, true, true]], \"expected\": [[32767, true, false, true], [-32768, false, true, true], [32767, true, true, true], [32767, true, true, true], [32767, true, true, true], [32767, true, true, true], [0, false, false, false], [0, false, false, false], [0, false, false, false], [0, false, false, false], [0, false, false, false], [0, false, false, false], [0, false, false, false], [1, false, false, false]], \"passed\": false}, {\"check\": \"control: held count input\", \"actual\": [[1, false, false, false], [1, false, false, false], [1, false, false, false], [2, false, false, false]], \"expected\": [[1, false, false, false], [1, false, false, false], [1, false, false, false], [2, false, false, false]], \"passed\": true}, {\"check\": \"control: overflow wrap\", \"actual\": [[32767, true, false, false], [32767, true, false, false], [-32768, false, true, false], [-32768, false, true, false], [-32767, false, true, false]], \"expected\": [[32767, true, false, false], [32767, true, false, false], [-32768, false, true, false], [-32768, false, true, false], [-32767, false, true, false]], \"passed\": true}, {\"check\": \"control: simultaneous edges\", \"actual\": [[0, false, false, false], [0, false, false, false], [1, true, false, false], [0, false, false, false], [0, false, false, false]], \"expected\": [[0, false, false, false], [0, false, false, false], [1, true, false, false], [0, false, false, false], [0, false, false, false]], \"passed\": true}, {\"check\": \"control: count down while up held\", \"actual\": [[6, true, false, false], [5, true, false, false], [5, true, false, false], [4, true, false, false]], \"expected\": [[6, true, false, false], [5, true, false, false], [5, true, false, false], [4, true, false, false]], \"passed\": true}, {\"check\": \"control: scenario 1\", \"actual\": [[2, true, false, false], [2, true, false, false], [2, true, false, false], [0, true, false, false], [0, true, false, false], [1, true, false, false], [1, true, false, false], [1, true, false, false], [1, true, false, false]], \"expected\": [[2, true, false, false], [2, true, false, false], [2, true, false, false], [0, true, false, false], [0, true, false, false], [1, true, false, false], [1, true, false, false], [1, true, false, false], [1, true, false, false]], \"passed\": true}, {\"check\": \"control: scenario 2\", \"actual\": [[32766, true, false, false], [32766, true, false, false], [32766, true, false, false], [0, false, false, false], [0, false, false, false], [1, false, false, false], [1, false, false, false], [1, false, false, false], [1, false, false, false], [1, false, false, false], [1, false, false, false], [0, false, false, false], [0, false, false, false]], \"expected\": [[32766, true, false, false], [32766, true, false, false], [32766, true, false, false], [0, false, false, false], [0, false, false, false], [1, false, false, false], [1, false, false, false], [1, false, false, false], [1, false, false, false], [1, false, false, false], [1, false, false, false], [0, false, false, false], [0, false, false, false]], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":42.771,"exit_code":0,"observations":[{"actual":[[-32768,false,false,false],[-32768,false,false,false],[32767,true,false,true],[0,true,false,false],[0,true,false,false]],"check":"regression: underflow then reset","expected":[[-32768,false,false,false],[-32768,false,false,false],[32767,true,false,true],[0,true,false,false],[0,true,false,false]],"passed":true},{"actual":[[32767,true,false,true],[-32768,false,true,true],[32767,true,true,true],[32767,true,true,true],[32767,true,true,true],[32767,true,true,true],[0,false,false,false],[0,false,false,false],[0,false,false,false],[0,false,false,false],[0,false,false,false],[0,false,false,false],[0,false,false,false],[1,false,false,false]],"check":"regression: scenario 49","expected":[[32767,true,false,true],[-32768,false,true,true],[32767,true,true,true],[32767,true,true,true],[32767,true,true,true],[32767,true,true,true],[0,false,false,false],[0,false,false,false],[0,false,false,false],[0,false,false,false],[0,false,false,false],[0,false,false,false],[0,false,false,false],[1,false,false,false]],"passed":true},{"actual":[[1,false,false,false],[1,false,false,false],[1,false,false,false],[2,false,false,false]],"check":"control: held count input","expected":[[1,false,false,false],[1,false,false,false],[1,false,false,false],[2,false,false,false]],"passed":true},{"actual":[[32767,true,false,false],[32767,true,false,false],[-32768,false,true,false],[-32768,false,true,false],[-32767,false,true,false]],"check":"control: overflow wrap","expected":[[32767,true,false,false],[32767,true,false,false],[-32768,false,true,false],[-32768,false,true,false],[-32767,false,true,false]],"passed":true},{"actual":[[0,false,false,false],[0,false,false,false],[1,true,false,false],[0,false,false,false],[0,false,false,false]],"check":"control: simultaneous edges","expected":[[0,false,false,false],[0,false,false,false],[1,true,false,false],[0,false,false,false],[0,false,false,false]],"passed":true},{"actual":[[6,true,false,false],[5,true,false,false],[5,true,false,false],[4,true,false,false]],"check":"control: count down while up held","expected":[[6,true,false,false],[5,true,false,false],[5,true,false,false],[4,true,false,false]],"passed":true},{"actual":[[2,true,false,false],[2,true,false,false],[2,true,false,false],[0,true,false,false],[0,true,false,false],[1,true,false,false],[1,true,false,false],[1,true,false,false],[1,true,false,false]],"check":"control: scenario 1","expected":[[2,true,false,false],[2,true,false,false],[2,true,false,false],[0,true,false,false],[0,true,false,false],[1,true,false,false],[1,true,false,false],[1,true,false,false],[1,true,false,false]],"passed":true},{"actual":[[32766,true,false,false],[32766,true,false,false],[32766,true,false,false],[0,false,false,false],[0,false,false,false],[1,false,false,false],[1,false,false,false],[1,false,false,false],[1,false,false,false],[1,false,false,false],[1,false,false,false],[0,false,false,false],[0,false,false,false]],"check":"control: scenario 2","expected":[[32766,true,false,false],[32766,true,false,false],[32766,true,false,false],[0,false,false,false],[0,false,false,false],[1,false,false,false],[1,false,false,false],[1,false,false,false],[1,false,false,false],[1,false,false,false],[1,false,false,false],[0,false,false,false],[0,false,false,false]],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: underflow then reset\", \"actual\": [[-32768, false, false, false], [-32768, false, false, false], [32767, true, false, true], [0, true, false, false], [0, true, false, false]], \"expected\": [[-32768, false, false, false], [-32768, false, false, false], [32767, true, false, true], [0, true, false, false], [0, true, false, false]], \"passed\": true}, {\"check\": \"regression: scenario 49\", \"actual\": [[32767, true, false, true], [-32768, false, true, true], [32767, true, true, true], [32767, true, true, true], [32767, true, true, true], [32767, true, true, true], [0, false, false, false], [0, false, false, false], [0, false, false, false], [0, false, false, false], [0, false, false, false], [0, false, false, false], [0, false, false, false], [1, false, false, false]], \"expected\": [[32767, true, false, true], [-32768, false, true, true], [32767, true, true, true], [32767, true, true, true], [32767, true, true, true], [32767, true, true, true], [0, false, false, false], [0, false, false, false], [0, false, false, false], [0, false, false, false], [0, false, false, false], [0, false, false, false], [0, false, false, false], [1, false, false, false]], \"passed\": true}, {\"check\": \"control: held count input\", \"actual\": [[1, false, false, false], [1, false, false, false], [1, false, false, false], [2, false, false, false]], \"expected\": [[1, false, false, false], [1, false, false, false], [1, false, false, false], [2, false, false, false]], \"passed\": true}, {\"check\": \"control: overflow wrap\", \"actual\": [[32767, true, false, false], [32767, true, false, false], [-32768, false, true, false], [-32768, false, true, false], [-32767, false, true, false]], \"expected\": [[32767, true, false, false], [32767, true, false, false], [-32768, false, true, false], [-32768, false, true, false], [-32767, false, true, false]], \"passed\": true}, {\"check\": \"control: simultaneous edges\", \"actual\": [[0, false, false, false], [0, false, false, false], [1, true, false, false], [0, false, false, false], [0, false, false, false]], \"expected\": [[0, false, false, false], [0, false, false, false], [1, true, false, false], [0, false, false, false], [0, false, false, false]], \"passed\": true}, {\"check\": \"control: count down while up held\", \"actual\": [[6, true, false, false], [5, true, false, false], [5, true, false, false], [4, true, false, false]], \"expected\": [[6, true, false, false], [5, true, false, false], [5, true, false, false], [4, true, false, false]], \"passed\": true}, {\"check\": \"control: scenario 1\", \"actual\": [[2, true, false, false], [2, true, false, false], [2, true, false, false], [0, true, false, false], [0, true, false, false], [1, true, false, false], [1, true, false, false], [1, true, false, false], [1, true, false, false]], \"expected\": [[2, true, false, false], [2, true, false, false], [2, true, false, false], [0, true, false, false], [0, true, false, false], [1, true, false, false], [1, true, false, false], [1, true, false, false], [1, true, false, false]], \"passed\": true}, {\"check\": \"control: scenario 2\", \"actual\": [[32766, true, false, false], [32766, true, false, false], [32766, true, false, false], [0, false, false, false], [0, false, false, false], [1, false, false, false], [1, false, false, false], [1, false, false, false], [1, false, false, false], [1, false, false, false], [1, false, false, false], [0, false, false, false], [0, false, false, false]], \"expected\": [[32766, true, false, false], [32766, true, false, false], [32766, true, false, false], [0, false, false, false], [0, false, false, false], [1, false, false, false], [1, false, false, false], [1, false, false, false], [1, false, false, false], [1, false, false, false], [1, false, false, false], [0, false, false, false], [0, false, false, false]], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}