{"abstract":"Leftward rays step x repeatedly without advancing the boundary time.","category":"Collision detection broadphase","checks":8,"contract":"solve(o, d, cs, max_t): Amanatides-Woo traversal of a uniform grid for a ray o+t*d (d not normalized). Start in cell floor(o/cs); step the axis with the smaller next boundary t (x on ties) while that t <= max_t, at most 64 cells. Return the visited cells [[ix,iy],...].","contract_signature":"o, d, cs, max_t","evaluation_group":"w2-collision_detection_broadphase-grid-ray-dda","failed_approach":"Dropping the cell size gives wrong intervals for non-unit cells.","family":"w2-collision_detection_broadphase-grid-ray-dda-x-cell-crossing-interval","id":"FA-87601","implementations":{"attempt":{"sha256":"4072a385bf4df3280905712fec92eaf14732b67d72acdf36e4ffeb5a05efb0a3","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(o, d, cs, max_t):\n    ix, iy = math.floor(o[0] / cs), math.floor(o[1] / cs)\n    sx = 1 if d[0] > 0 else (-1 if d[0] < 0 else 0)\n    sy = 1 if d[1] > 0 else (-1 if d[1] < 0 else 0)\n    inf = float('inf')\n    if sx > 0:\n        tmx = ((ix + 1) * cs - o[0]) / d[0]\n    elif sx < 0:\n        tmx = (ix * cs - o[0]) / d[0]\n    else:\n        tmx = inf\n    if sy > 0:\n        tmy = ((iy + 1) * cs - o[1]) / d[1]\n    elif sy < 0:\n        tmy = (iy * cs - o[1]) / d[1]\n    else:\n        tmy = inf\n    tdx = 1 / abs(d[0]) if sx else inf\n    tdy = cs / abs(d[1]) if sy else inf\n    cells = [[ix, iy]]\n    while len(cells) < 64:\n        if tmx <= tmy:\n            t, ax = tmx, 0\n        else:\n            t, ax = tmy, 1\n        if t > max_t:\n            break\n        if ax == 0:\n            ix += sx\n            tmx += tdx\n        else:\n            iy += sy\n            tmy += tdy\n        cells.append([ix, iy])\n    return cells\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[[[[-1.75, 1.75], [-2, 4], 1.0, 0.5], [[-2, 1], [-2, 2], [-3, 2], [-3, 3]]], [[[-1.5, 0.0], [-4, 0], 1.0, 2.0], [[-2, 0], [-3, 0], [-4, 0], [-5, 0], [-6, 0], [-7, 0], [-8, 0], [-9, 0], [-10, 0]]], [[[1.75, 1.5], [-4, -1], 0.5, 1.0], [[3, 3], [3, 2], [2, 2], [1, 2], [0, 2], [-1, 2], [-1, 1], [-2, 1], [-3, 1], [-4, 1], [-5, 1], [-5, 0]]], [[[1.0, -1.0], [2, 1], 0.5, 1.0], [[2, -2], [3, -2], [4, -2], [4, -1], [5, -1], [6, -1], [6, 0]]], [[[-0.25, -1.75], [2, 2], 0.5, 2.0], [[-1, -4], [0, -4], [0, -3], [1, -3], [1, -2], [2, -2], [2, -1], [3, -1], [3, 0], [4, 0], [4, 1], [5, 1], [5, 2], [6, 2], [6, 3], [7, 3], [7, 4]]], [[[1.0, 0.75], [-4, 2], 0.5, 2.0], [[2, 1], [1, 1], [0, 1], [0, 2], [-1, 2], [-2, 2], [-2, 3], [-3, 3], [-4, 3], [-4, 4], [-5, 4], [-6, 4], [-6, 5], [-7, 5], [-8, 5], [-8, 6], [-9, 6], [-10, 6], [-10, 7], [-11, 7], [-12, 7], [-12, 8], [-13, 8], [-14, 8], [-14, 9], [-15, 9]]], [[[-0.75, -0.5], [1, 0], 1.0, 0.5], [[-1, -1]]], [[[1.0, 1.5], [1, 1], 1.0, 1.0], [[1, 1], [1, 2], [2, 2]]]], [[[[0.5, -1.5], [4, 2], 2.0, 2.0], [[0, -1], [1, -1], [1, 0], [2, 0], [3, 0], [3, 1], [4, 1]]], [[[0.75, 0.75], [-2, -2], 0.5, 0.5], [[1, 1], [0, 1], [0, 0], [-1, 0], [-1, -1]]], [[[2.0, -0.5], [0, 0], 1.0, 3.0], [[2, -1]]], [[[-0.25, -0.75], [-4, -2], 2.0, 3.0], [[-1, -1], [-2, -1], [-2, -2], [-3, -2], [-4, -2], [-4, -3], [-5, -3], [-6, -3], [-6, -4], [-7, -4]]], [[[1.0, 1.25], [-2, 0], 0.5, 0.5], [[2, 2], [1, 2], [0, 2], [-1, 2]]], [[[-0.25, 0.5], [0, -1], 0.5, 2.0], [[-1, 1], [-1, 0], [-1, -1], [-1, -2], [-1, -3], [-1, -4]]], [[[-2.0, 0.5], [-1, 2], 2.0, 3.0], [[-1, 0], [-2, 0], [-2, 1], [-2, 2], [-3, 2], [-3, 3]]], [[[0.5, -1.0], [1, -2], 2.0, 3.0], [[0, -1], [0, -2], [1, -2], [1, -3], [1, -4]]]], [[[[-0.75, 0.75], [-2, -1], 1.0, 0.5], [[-1, 0], [-2, 0]]], [[[1.75, 0.75], [-1, 2], 1.0, 0.5], [[1, 0], [1, 1]]], [[[1.0, -0.25], [-1, -2], 0.5, 2.0], [[2, -1], [1, -1], [1, -2], [1, -3], [0, -3], [0, -4], [0, -5], [-1, -5], [-1, -6], [-1, -7], [-2, -7], [-2, -8], [-2, -9], [-3, -9]]], [[[0.0, 1.5], [2, 2], 1.0, 1.0], [[0, 1], [0, 2], [1, 2], [1, 3], [2, 3]]], [[[1.75, -1.5], [4, 2], 2.0, 2.0], [[0, -1], [1, -1], [2, -1], [2, 0], [3, 0], [4, 0], [4, 1]]], [[[1.5, 0.75], [-2, 0], 0.5, 0.5], [[3, 1], [2, 1], [1, 1], [0, 1]]], [[[0.25, -1.75], [-2, -2], 2.0, 0.5], [[0, -1], [-1, -1], [-1, -2]]], [[[1.5, 2.0], [-2, 2], 1.0, 0.5], [[1, 2], [0, 2], [0, 3]]]], [[[[1.75, -1.75], [-2, -2], 2.0, 0.5], [[0, -1], [0, -2]]], [[[-0.25, -0.25], [0, 2], 0.5, 1.0], [[-1, -1], [-1, 0], [-1, 1], [-1, 2], [-1, 3]]], [[[2.0, 1.5], [-2, 1], 2.0, 1.0], [[1, 0], [0, 0], [0, 1], [-1, 1]]], [[[0.25, -1.25], [-1, 4], 2.0, 3.0], [[0, -1], [-1, -1], [-1, 0], [-1, 1], [-1, 2], [-1, 3], [-2, 3], [-2, 4], [-2, 5]]], [[[2.0, 1.0], [4, 4], 2.0, 3.0], [[1, 0], [1, 1], [2, 1], [2, 2], [3, 2], [3, 3], [4, 3], [4, 4], [5, 4], [5, 5], [6, 5], [6, 6], [7, 6]]], [[[0.5, 0.25], [-4, 1], 1.0, 3.0], [[0, 0], [-1, 0], [-2, 0], [-3, 0], [-3, 1], [-4, 1], [-5, 1], [-6, 1], [-7, 1], [-7, 2], [-8, 2], [-9, 2], [-10, 2], [-11, 2], [-11, 3], [-12, 3]]], [[[0.0, 2.0], [-2, 1], 2.0, 3.0], [[0, 1], [-1, 1], [-2, 1], [-3, 1], [-3, 2], [-4, 2]]], [[[-0.25, 1.75], [-2, 1], 0.5, 0.5], [[-1, 3], [-2, 3], [-2, 4], [-3, 4]]]], [[[[2.0, 0.0], [-2, -2], 0.5, 1.0], [[4, 0], [3, 0], [3, -1], [2, -1], [2, -2], [1, -2], [1, -3], [0, -3], [0, -4], [-1, -4], [-1, -5]]], [[[-1.25, -0.25], [4, 4], 2.0, 3.0], [[-1, -1], [-1, 0], [0, 0], [0, 1], [1, 1], [1, 2], [2, 2], [2, 3], [3, 3], [3, 4], [4, 4], [4, 5], [5, 5]]], [[[-2.0, -1.75], [-1, 1], 0.5, 3.0], [[-4, -4], [-5, -4], [-5, -3], [-6, -3], [-6, -2], [-7, -2], [-7, -1], [-8, -1], [-8, 0], [-9, 0], [-9, 1], [-10, 1], [-10, 2], [-11, 2]]], [[[1.25, -1.5], [1, 1], 0.5, 3.0], [[2, -3], [3, -3], [3, -2], [4, -2], [4, -1], [5, -1], [5, 0], [6, 0], [6, 1], [7, 1], [7, 2], [8, 2], [8, 3]]], [[[1.75, -0.75], [0, -1], 0.5, 2.0], [[3, -2], [3, -3], [3, -4], [3, -5], [3, -6]]], [[[0.5, 1.75], [-2, -1], 0.5, 1.0], [[1, 3], [0, 3], [-1, 3], [-1, 2], [-2, 2], [-3, 2], [-3, 1], [-4, 1]]], [[[2.0, -1.75], [4, -1], 0.5, 2.0], [[4, -4], [5, -4], [6, -4], [6, -5], [7, -5], [8, -5], [9, -5], [10, -5], [10, -6], [11, -6], [12, -6], [13, -6], [14, -6], [14, -7], [15, -7], [16, -7], [17, -7], [18, -7], [18, -8], [19, -8], [20, -8]]], [[[-1.0, -2.0], [-1, 2], 1.0, 3.0], [[-1, -2], [-2, -2], [-2, -1], [-3, -1], [-3, 0], [-3, 1], [-4, 1], [-4, 2], [-4, 3], [-5, 3], [-5, 4]]]]]\nfor i, (args, expected) in enumerate(fixtures[N-1]):\n    check(\"case %d\" % i, 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":"d9a30180e3d577c0efda05b2cf9853516a0cb3322a3a4224d53f93446481f23b","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(o, d, cs, max_t):\n    ix, iy = math.floor(o[0] / cs), math.floor(o[1] / cs)\n    sx = 1 if d[0] > 0 else (-1 if d[0] < 0 else 0)\n    sy = 1 if d[1] > 0 else (-1 if d[1] < 0 else 0)\n    inf = float('inf')\n    if sx > 0:\n        tmx = ((ix + 1) * cs - o[0]) / d[0]\n    elif sx < 0:\n        tmx = (ix * cs - o[0]) / d[0]\n    else:\n        tmx = inf\n    if sy > 0:\n        tmy = ((iy + 1) * cs - o[1]) / d[1]\n    elif sy < 0:\n        tmy = (iy * cs - o[1]) / d[1]\n    else:\n        tmy = inf\n    tdx = cs / d[0] if sx else inf\n    tdy = cs / abs(d[1]) if sy else inf\n    cells = [[ix, iy]]\n    while len(cells) < 64:\n        if tmx <= tmy:\n            t, ax = tmx, 0\n        else:\n            t, ax = tmy, 1\n        if t > max_t:\n            break\n        if ax == 0:\n            ix += sx\n            tmx += tdx\n        else:\n            iy += sy\n            tmy += tdy\n        cells.append([ix, iy])\n    return cells\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[[[[-1.75, 1.75], [-2, 4], 1.0, 0.5], [[-2, 1], [-2, 2], [-3, 2], [-3, 3]]], [[[-1.5, 0.0], [-4, 0], 1.0, 2.0], [[-2, 0], [-3, 0], [-4, 0], [-5, 0], [-6, 0], [-7, 0], [-8, 0], [-9, 0], [-10, 0]]], [[[1.75, 1.5], [-4, -1], 0.5, 1.0], [[3, 3], [3, 2], [2, 2], [1, 2], [0, 2], [-1, 2], [-1, 1], [-2, 1], [-3, 1], [-4, 1], [-5, 1], [-5, 0]]], [[[1.0, -1.0], [2, 1], 0.5, 1.0], [[2, -2], [3, -2], [4, -2], [4, -1], [5, -1], [6, -1], [6, 0]]], [[[-0.25, -1.75], [2, 2], 0.5, 2.0], [[-1, -4], [0, -4], [0, -3], [1, -3], [1, -2], [2, -2], [2, -1], [3, -1], [3, 0], [4, 0], [4, 1], [5, 1], [5, 2], [6, 2], [6, 3], [7, 3], [7, 4]]], [[[1.0, 0.75], [-4, 2], 0.5, 2.0], [[2, 1], [1, 1], [0, 1], [0, 2], [-1, 2], [-2, 2], [-2, 3], [-3, 3], [-4, 3], [-4, 4], [-5, 4], [-6, 4], [-6, 5], [-7, 5], [-8, 5], [-8, 6], [-9, 6], [-10, 6], [-10, 7], [-11, 7], [-12, 7], [-12, 8], [-13, 8], [-14, 8], [-14, 9], [-15, 9]]], [[[-0.75, -0.5], [1, 0], 1.0, 0.5], [[-1, -1]]], [[[1.0, 1.5], [1, 1], 1.0, 1.0], [[1, 1], [1, 2], [2, 2]]]], [[[[0.5, -1.5], [4, 2], 2.0, 2.0], [[0, -1], [1, -1], [1, 0], [2, 0], [3, 0], [3, 1], [4, 1]]], [[[0.75, 0.75], [-2, -2], 0.5, 0.5], [[1, 1], [0, 1], [0, 0], [-1, 0], [-1, -1]]], [[[2.0, -0.5], [0, 0], 1.0, 3.0], [[2, -1]]], [[[-0.25, -0.75], [-4, -2], 2.0, 3.0], [[-1, -1], [-2, -1], [-2, -2], [-3, -2], [-4, -2], [-4, -3], [-5, -3], [-6, -3], [-6, -4], [-7, -4]]], [[[1.0, 1.25], [-2, 0], 0.5, 0.5], [[2, 2], [1, 2], [0, 2], [-1, 2]]], [[[-0.25, 0.5], [0, -1], 0.5, 2.0], [[-1, 1], [-1, 0], [-1, -1], [-1, -2], [-1, -3], [-1, -4]]], [[[-2.0, 0.5], [-1, 2], 2.0, 3.0], [[-1, 0], [-2, 0], [-2, 1], [-2, 2], [-3, 2], [-3, 3]]], [[[0.5, -1.0], [1, -2], 2.0, 3.0], [[0, -1], [0, -2], [1, -2], [1, -3], [1, -4]]]], [[[[-0.75, 0.75], [-2, -1], 1.0, 0.5], [[-1, 0], [-2, 0]]], [[[1.75, 0.75], [-1, 2], 1.0, 0.5], [[1, 0], [1, 1]]], [[[1.0, -0.25], [-1, -2], 0.5, 2.0], [[2, -1], [1, -1], [1, -2], [1, -3], [0, -3], [0, -4], [0, -5], [-1, -5], [-1, -6], [-1, -7], [-2, -7], [-2, -8], [-2, -9], [-3, -9]]], [[[0.0, 1.5], [2, 2], 1.0, 1.0], [[0, 1], [0, 2], [1, 2], [1, 3], [2, 3]]], [[[1.75, -1.5], [4, 2], 2.0, 2.0], [[0, -1], [1, -1], [2, -1], [2, 0], [3, 0], [4, 0], [4, 1]]], [[[1.5, 0.75], [-2, 0], 0.5, 0.5], [[3, 1], [2, 1], [1, 1], [0, 1]]], [[[0.25, -1.75], [-2, -2], 2.0, 0.5], [[0, -1], [-1, -1], [-1, -2]]], [[[1.5, 2.0], [-2, 2], 1.0, 0.5], [[1, 2], [0, 2], [0, 3]]]], [[[[1.75, -1.75], [-2, -2], 2.0, 0.5], [[0, -1], [0, -2]]], [[[-0.25, -0.25], [0, 2], 0.5, 1.0], [[-1, -1], [-1, 0], [-1, 1], [-1, 2], [-1, 3]]], [[[2.0, 1.5], [-2, 1], 2.0, 1.0], [[1, 0], [0, 0], [0, 1], [-1, 1]]], [[[0.25, -1.25], [-1, 4], 2.0, 3.0], [[0, -1], [-1, -1], [-1, 0], [-1, 1], [-1, 2], [-1, 3], [-2, 3], [-2, 4], [-2, 5]]], [[[2.0, 1.0], [4, 4], 2.0, 3.0], [[1, 0], [1, 1], [2, 1], [2, 2], [3, 2], [3, 3], [4, 3], [4, 4], [5, 4], [5, 5], [6, 5], [6, 6], [7, 6]]], [[[0.5, 0.25], [-4, 1], 1.0, 3.0], [[0, 0], [-1, 0], [-2, 0], [-3, 0], [-3, 1], [-4, 1], [-5, 1], [-6, 1], [-7, 1], [-7, 2], [-8, 2], [-9, 2], [-10, 2], [-11, 2], [-11, 3], [-12, 3]]], [[[0.0, 2.0], [-2, 1], 2.0, 3.0], [[0, 1], [-1, 1], [-2, 1], [-3, 1], [-3, 2], [-4, 2]]], [[[-0.25, 1.75], [-2, 1], 0.5, 0.5], [[-1, 3], [-2, 3], [-2, 4], [-3, 4]]]], [[[[2.0, 0.0], [-2, -2], 0.5, 1.0], [[4, 0], [3, 0], [3, -1], [2, -1], [2, -2], [1, -2], [1, -3], [0, -3], [0, -4], [-1, -4], [-1, -5]]], [[[-1.25, -0.25], [4, 4], 2.0, 3.0], [[-1, -1], [-1, 0], [0, 0], [0, 1], [1, 1], [1, 2], [2, 2], [2, 3], [3, 3], [3, 4], [4, 4], [4, 5], [5, 5]]], [[[-2.0, -1.75], [-1, 1], 0.5, 3.0], [[-4, -4], [-5, -4], [-5, -3], [-6, -3], [-6, -2], [-7, -2], [-7, -1], [-8, -1], [-8, 0], [-9, 0], [-9, 1], [-10, 1], [-10, 2], [-11, 2]]], [[[1.25, -1.5], [1, 1], 0.5, 3.0], [[2, -3], [3, -3], [3, -2], [4, -2], [4, -1], [5, -1], [5, 0], [6, 0], [6, 1], [7, 1], [7, 2], [8, 2], [8, 3]]], [[[1.75, -0.75], [0, -1], 0.5, 2.0], [[3, -2], [3, -3], [3, -4], [3, -5], [3, -6]]], [[[0.5, 1.75], [-2, -1], 0.5, 1.0], [[1, 3], [0, 3], [-1, 3], [-1, 2], [-2, 2], [-3, 2], [-3, 1], [-4, 1]]], [[[2.0, -1.75], [4, -1], 0.5, 2.0], [[4, -4], [5, -4], [6, -4], [6, -5], [7, -5], [8, -5], [9, -5], [10, -5], [10, -6], [11, -6], [12, -6], [13, -6], [14, -6], [14, -7], [15, -7], [16, -7], [17, -7], [18, -7], [18, -8], [19, -8], [20, -8]]], [[[-1.0, -2.0], [-1, 2], 1.0, 3.0], [[-1, -2], [-2, -2], [-2, -1], [-3, -1], [-3, 0], [-3, 1], [-4, 1], [-4, 2], [-4, 3], [-5, 3], [-5, 4]]]]]\nfor i, (args, expected) in enumerate(fixtures[N-1]):\n    check(\"case %d\" % i, 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 stipulated toy conventions; not a production physics engine or spatial index. 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-collision_detection_broadphase-grid-ray-dda-x-cell-crossing-interval","generated_at":"2026-09-29T14:51:00.340606+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Broadphase stages decide which object pairs ever reach narrowphase; a wrong boundary, ordering or bookkeeping rule silently drops real contacts or floods the solver with false candidates.","root_cause":"tDeltaX = cs/d[0] instead of cs/|d[0]|.","sha256":"0349ba57bed256d775db51d62c6eb1f5153c63ae36a1df387efe67f5b48448e0","title":"x crossing interval keeps the direction sign · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":41.361,"exit_code":1,"observations":[{"actual":[[-2,1],[-2,2],[-3,2],[-3,3]],"check":"case 0","expected":[[-2,1],[-2,2],[-3,2],[-3,3]],"passed":true},{"actual":[[-2,0],[-3,0],[-4,0],[-5,0],[-6,0],[-7,0],[-8,0],[-9,0],[-10,0]],"check":"case 1","expected":[[-2,0],[-3,0],[-4,0],[-5,0],[-6,0],[-7,0],[-8,0],[-9,0],[-10,0]],"passed":true},{"actual":[[3,3],[3,2],[2,2],[1,2],[1,1],[0,1],[-1,1],[-1,0]],"check":"case 2","expected":[[3,3],[3,2],[2,2],[1,2],[0,2],[-1,2],[-1,1],[-2,1],[-3,1],[-4,1],[-5,1],[-5,0]],"passed":false},{"actual":[[2,-2],[3,-2],[3,-1],[4,-1],[4,0]],"check":"case 3","expected":[[2,-2],[3,-2],[4,-2],[4,-1],[5,-1],[6,-1],[6,0]],"passed":false},{"actual":[[-1,-4],[0,-4],[0,-3],[0,-2],[1,-2],[1,-1],[1,0],[2,0],[2,1],[2,2],[3,2],[3,3],[3,4]],"check":"case 4","expected":[[-1,-4],[0,-4],[0,-3],[1,-3],[1,-2],[2,-2],[2,-1],[3,-1],[3,0],[4,0],[4,1],[5,1],[5,2],[6,2],[6,3],[7,3],[7,4]],"passed":false},{"actual":[[2,1],[1,1],[1,2],[0,2],[0,3],[-1,3],[-1,4],[-2,4],[-2,5],[-3,5],[-3,6],[-4,6],[-4,7],[-5,7],[-5,8],[-6,8],[-6,9],[-7,9]],"check":"case 5","expected":[[2,1],[1,1],[0,1],[0,2],[-1,2],[-2,2],[-2,3],[-3,3],[-4,3],[-4,4],[-5,4],[-6,4],[-6,5],[-7,5],[-8,5],[-8,6],[-9,6],[-10,6],[-10,7],[-11,7],[-12,7],[-12,8],[-13,8],[-14,8],[-14,9],[-15,9]],"passed":false},{"actual":[[-1,-1]],"check":"case 6","expected":[[-1,-1]],"passed":true},{"actual":[[1,1],[1,2],[2,2]],"check":"case 7","expected":[[1,1],[1,2],[2,2]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"case 0\", \"actual\": [[-2, 1], [-2, 2], [-3, 2], [-3, 3]], \"expected\": [[-2, 1], [-2, 2], [-3, 2], [-3, 3]], \"passed\": true}, {\"check\": \"case 1\", \"actual\": [[-2, 0], [-3, 0], [-4, 0], [-5, 0], [-6, 0], [-7, 0], [-8, 0], [-9, 0], [-10, 0]], \"expected\": [[-2, 0], [-3, 0], [-4, 0], [-5, 0], [-6, 0], [-7, 0], [-8, 0], [-9, 0], [-10, 0]], \"passed\": true}, {\"check\": \"case 2\", \"actual\": [[3, 3], [3, 2], [2, 2], [1, 2], [1, 1], [0, 1], [-1, 1], [-1, 0]], \"expected\": [[3, 3], [3, 2], [2, 2], [1, 2], [0, 2], [-1, 2], [-1, 1], [-2, 1], [-3, 1], [-4, 1], [-5, 1], [-5, 0]], \"passed\": false}, {\"check\": \"case 3\", \"actual\": [[2, -2], [3, -2], [3, -1], [4, -1], [4, 0]], \"expected\": [[2, -2], [3, -2], [4, -2], [4, -1], [5, -1], [6, -1], [6, 0]], \"passed\": false}, {\"check\": \"case 4\", \"actual\": [[-1, -4], [0, -4], [0, -3], [0, -2], [1, -2], [1, -1], [1, 0], [2, 0], [2, 1], [2, 2], [3, 2], [3, 3], [3, 4]], \"expected\": [[-1, -4], [0, -4], [0, -3], [1, -3], [1, -2], [2, -2], [2, -1], [3, -1], [3, 0], [4, 0], [4, 1], [5, 1], [5, 2], [6, 2], [6, 3], [7, 3], [7, 4]], \"passed\": false}, {\"check\": \"case 5\", \"actual\": [[2, 1], [1, 1], [1, 2], [0, 2], [0, 3], [-1, 3], [-1, 4], [-2, 4], [-2, 5], [-3, 5], [-3, 6], [-4, 6], [-4, 7], [-5, 7], [-5, 8], [-6, 8], [-6, 9], [-7, 9]], \"expected\": [[2, 1], [1, 1], [0, 1], [0, 2], [-1, 2], [-2, 2], [-2, 3], [-3, 3], [-4, 3], [-4, 4], [-5, 4], [-6, 4], [-6, 5], [-7, 5], [-8, 5], [-8, 6], [-9, 6], [-10, 6], [-10, 7], [-11, 7], [-12, 7], [-12, 8], [-13, 8], [-14, 8], [-14, 9], [-15, 9]], \"passed\": false}, {\"check\": \"case 6\", \"actual\": [[-1, -1]], \"expected\": [[-1, -1]], \"passed\": true}, {\"check\": \"case 7\", \"actual\": [[1, 1], [1, 2], [2, 2]], \"expected\": [[1, 1], [1, 2], [2, 2]], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":41.053,"exit_code":1,"observations":[{"actual":[[-2,1],[-2,2],[-3,2],[-4,2],[-5,2],[-6,2],[-7,2],[-8,2],[-9,2],[-10,2],[-11,2],[-12,2],[-13,2],[-14,2],[-15,2],[-16,2],[-17,2],[-18,2],[-19,2],[-20,2],[-21,2],[-22,2],[-23,2],[-24,2],[-25,2],[-26,2],[-27,2],[-28,2],[-29,2],[-30,2],[-31,2],[-32,2],[-33,2],[-34,2],[-35,2],[-36,2],[-37,2],[-38,2],[-39,2],[-40,2],[-41,2],[-42,2],[-43,2],[-44,2],[-45,2],[-46,2],[-47,2],[-48,2],[-49,2],[-50,2],[-51,2],[-52,2],[-53,2],[-54,2],[-55,2],[-56,2],[-57,2],[-58,2],[-59,2],[-60,2],[-61,2],[-62,2],[-63,2],[-64,2]],"check":"case 0","expected":[[-2,1],[-2,2],[-3,2],[-3,3]],"passed":false},{"actual":[[-2,0],[-3,0],[-4,0],[-5,0],[-6,0],[-7,0],[-8,0],[-9,0],[-10,0],[-11,0],[-12,0],[-13,0],[-14,0],[-15,0],[-16,0],[-17,0],[-18,0],[-19,0],[-20,0],[-21,0],[-22,0],[-23,0],[-24,0],[-25,0],[-26,0],[-27,0],[-28,0],[-29,0],[-30,0],[-31,0],[-32,0],[-33,0],[-34,0],[-35,0],[-36,0],[-37,0],[-38,0],[-39,0],[-40,0],[-41,0],[-42,0],[-43,0],[-44,0],[-45,0],[-46,0],[-47,0],[-48,0],[-49,0],[-50,0],[-51,0],[-52,0],[-53,0],[-54,0],[-55,0],[-56,0],[-57,0],[-58,0],[-59,0],[-60,0],[-61,0],[-62,0],[-63,0],[-64,0],[-65,0]],"check":"case 1","expected":[[-2,0],[-3,0],[-4,0],[-5,0],[-6,0],[-7,0],[-8,0],[-9,0],[-10,0]],"passed":false},{"actual":[[3,3],[3,2],[2,2],[1,2],[0,2],[-1,2],[-2,2],[-3,2],[-4,2],[-5,2],[-6,2],[-7,2],[-8,2],[-9,2],[-10,2],[-11,2],[-12,2],[-13,2],[-14,2],[-15,2],[-16,2],[-17,2],[-18,2],[-19,2],[-20,2],[-21,2],[-22,2],[-23,2],[-24,2],[-25,2],[-26,2],[-27,2],[-28,2],[-29,2],[-30,2],[-31,2],[-32,2],[-33,2],[-34,2],[-35,2],[-36,2],[-37,2],[-38,2],[-39,2],[-40,2],[-41,2],[-42,2],[-43,2],[-44,2],[-45,2],[-46,2],[-47,2],[-48,2],[-49,2],[-50,2],[-51,2],[-52,2],[-53,2],[-54,2],[-55,2],[-56,2],[-57,2],[-58,2],[-59,2]],"check":"case 2","expected":[[3,3],[3,2],[2,2],[1,2],[0,2],[-1,2],[-1,1],[-2,1],[-3,1],[-4,1],[-5,1],[-5,0]],"passed":false},{"actual":[[2,-2],[3,-2],[4,-2],[4,-1],[5,-1],[6,-1],[6,0]],"check":"case 3","expected":[[2,-2],[3,-2],[4,-2],[4,-1],[5,-1],[6,-1],[6,0]],"passed":true},{"actual":[[-1,-4],[0,-4],[0,-3],[1,-3],[1,-2],[2,-2],[2,-1],[3,-1],[3,0],[4,0],[4,1],[5,1],[5,2],[6,2],[6,3],[7,3],[7,4]],"check":"case 4","expected":[[-1,-4],[0,-4],[0,-3],[1,-3],[1,-2],[2,-2],[2,-1],[3,-1],[3,0],[4,0],[4,1],[5,1],[5,2],[6,2],[6,3],[7,3],[7,4]],"passed":true},{"actual":[[2,1],[1,1],[0,1],[-1,1],[-2,1],[-3,1],[-4,1],[-5,1],[-6,1],[-7,1],[-8,1],[-9,1],[-10,1],[-11,1],[-12,1],[-13,1],[-14,1],[-15,1],[-16,1],[-17,1],[-18,1],[-19,1],[-20,1],[-21,1],[-22,1],[-23,1],[-24,1],[-25,1],[-26,1],[-27,1],[-28,1],[-29,1],[-30,1],[-31,1],[-32,1],[-33,1],[-34,1],[-35,1],[-36,1],[-37,1],[-38,1],[-39,1],[-40,1],[-41,1],[-42,1],[-43,1],[-44,1],[-45,1],[-46,1],[-47,1],[-48,1],[-49,1],[-50,1],[-51,1],[-52,1],[-53,1],[-54,1],[-55,1],[-56,1],[-57,1],[-58,1],[-59,1],[-60,1],[-61,1]],"check":"case 5","expected":[[2,1],[1,1],[0,1],[0,2],[-1,2],[-2,2],[-2,3],[-3,3],[-4,3],[-4,4],[-5,4],[-6,4],[-6,5],[-7,5],[-8,5],[-8,6],[-9,6],[-10,6],[-10,7],[-11,7],[-12,7],[-12,8],[-13,8],[-14,8],[-14,9],[-15,9]],"passed":false},{"actual":[[-1,-1]],"check":"case 6","expected":[[-1,-1]],"passed":true},{"actual":[[1,1],[1,2],[2,2]],"check":"case 7","expected":[[1,1],[1,2],[2,2]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"case 0\", \"actual\": [[-2, 1], [-2, 2], [-3, 2], [-4, 2], [-5, 2], [-6, 2], [-7, 2], [-8, 2], [-9, 2], [-10, 2], [-11, 2], [-12, 2], [-13, 2], [-14, 2], [-15, 2], [-16, 2], [-17, 2], [-18, 2], [-19, 2], [-20, 2], [-21, 2], [-22, 2], [-23, 2], [-24, 2], [-25, 2], [-26, 2], [-27, 2], [-28, 2], [-29, 2], [-30, 2], [-31, 2], [-32, 2], [-33, 2], [-34, 2], [-35, 2], [-36, 2], [-37, 2], [-38, 2], [-39, 2], [-40, 2], [-41, 2], [-42, 2], [-43, 2], [-44, 2], [-45, 2], [-46, 2], [-47, 2], [-48, 2], [-49, 2], [-50, 2], [-51, 2], [-52, 2], [-53, 2], [-54, 2], [-55, 2], [-56, 2], [-57, 2], [-58, 2], [-59, 2], [-60, 2], [-61, 2], [-62, 2], [-63, 2], [-64, 2]], \"expected\": [[-2, 1], [-2, 2], [-3, 2], [-3, 3]], \"passed\": false}, {\"check\": \"case 1\", \"actual\": [[-2, 0], [-3, 0], [-4, 0], [-5, 0], [-6, 0], [-7, 0], [-8, 0], [-9, 0], [-10, 0], [-11, 0], [-12, 0], [-13, 0], [-14, 0], [-15, 0], [-16, 0], [-17, 0], [-18, 0], [-19, 0], [-20, 0], [-21, 0], [-22, 0], [-23, 0], [-24, 0], [-25, 0], [-26, 0], [-27, 0], [-28, 0], [-29, 0], [-30, 0], [-31, 0], [-32, 0], [-33, 0], [-34, 0], [-35, 0], [-36, 0], [-37, 0], [-38, 0], [-39, 0], [-40, 0], [-41, 0], [-42, 0], [-43, 0], [-44, 0], [-45, 0], [-46, 0], [-47, 0], [-48, 0], [-49, 0], [-50, 0], [-51, 0], [-52, 0], [-53, 0], [-54, 0], [-55, 0], [-56, 0], [-57, 0], [-58, 0], [-59, 0], [-60, 0], [-61, 0], [-62, 0], [-63, 0], [-64, 0], [-65, 0]], \"expected\": [[-2, 0], [-3, 0], [-4, 0], [-5, 0], [-6, 0], [-7, 0], [-8, 0], [-9, 0], [-10, 0]], \"passed\": false}, {\"check\": \"case 2\", \"actual\": [[3, 3], [3, 2], [2, 2], [1, 2], [0, 2], [-1, 2], [-2, 2], [-3, 2], [-4, 2], [-5, 2], [-6, 2], [-7, 2], [-8, 2], [-9, 2], [-10, 2], [-11, 2], [-12, 2], [-13, 2], [-14, 2], [-15, 2], [-16, 2], [-17, 2], [-18, 2], [-19, 2], [-20, 2], [-21, 2], [-22, 2], [-23, 2], [-24, 2], [-25, 2], [-26, 2], [-27, 2], [-28, 2], [-29, 2], [-30, 2], [-31, 2], [-32, 2], [-33, 2], [-34, 2], [-35, 2], [-36, 2], [-37, 2], [-38, 2], [-39, 2], [-40, 2], [-41, 2], [-42, 2], [-43, 2], [-44, 2], [-45, 2], [-46, 2], [-47, 2], [-48, 2], [-49, 2], [-50, 2], [-51, 2], [-52, 2], [-53, 2], [-54, 2], [-55, 2], [-56, 2], [-57, 2], [-58, 2], [-59, 2]], \"expected\": [[3, 3], [3, 2], [2, 2], [1, 2], [0, 2], [-1, 2], [-1, 1], [-2, 1], [-3, 1], [-4, 1], [-5, 1], [-5, 0]], \"passed\": false}, {\"check\": \"case 3\", \"actual\": [[2, -2], [3, -2], [4, -2], [4, -1], [5, -1], [6, -1], [6, 0]], \"expected\": [[2, -2], [3, -2], [4, -2], [4, -1], [5, -1], [6, -1], [6, 0]], \"passed\": true}, {\"check\": \"case 4\", \"actual\": [[-1, -4], [0, -4], [0, -3], [1, -3], [1, -2], [2, -2], [2, -1], [3, -1], [3, 0], [4, 0], [4, 1], [5, 1], [5, 2], [6, 2], [6, 3], [7, 3], [7, 4]], \"expected\": [[-1, -4], [0, -4], [0, -3], [1, -3], [1, -2], [2, -2], [2, -1], [3, -1], [3, 0], [4, 0], [4, 1], [5, 1], [5, 2], [6, 2], [6, 3], [7, 3], [7, 4]], \"passed\": true}, {\"check\": \"case 5\", \"actual\": [[2, 1], [1, 1], [0, 1], [-1, 1], [-2, 1], [-3, 1], [-4, 1], [-5, 1], [-6, 1], [-7, 1], [-8, 1], [-9, 1], [-10, 1], [-11, 1], [-12, 1], [-13, 1], [-14, 1], [-15, 1], [-16, 1], [-17, 1], [-18, 1], [-19, 1], [-20, 1], [-21, 1], [-22, 1], [-23, 1], [-24, 1], [-25, 1], [-26, 1], [-27, 1], [-28, 1], [-29, 1], [-30, 1], [-31, 1], [-32, 1], [-33, 1], [-34, 1], [-35, 1], [-36, 1], [-37, 1], [-38, 1], [-39, 1], [-40, 1], [-41, 1], [-42, 1], [-43, 1], [-44, 1], [-45, 1], [-46, 1], [-47, 1], [-48, 1], [-49, 1], [-50, 1], [-51, 1], [-52, 1], [-53, 1], [-54, 1], [-55, 1], [-56, 1], [-57, 1], [-58, 1], [-59, 1], [-60, 1], [-61, 1]], \"expected\": [[2, 1], [1, 1], [0, 1], [0, 2], [-1, 2], [-2, 2], [-2, 3], [-3, 3], [-4, 3], [-4, 4], [-5, 4], [-6, 4], [-6, 5], [-7, 5], [-8, 5], [-8, 6], [-9, 6], [-10, 6], [-10, 7], [-11, 7], [-12, 7], [-12, 8], [-13, 8], [-14, 8], [-14, 9], [-15, 9]], \"passed\": false}, {\"check\": \"case 6\", \"actual\": [[-1, -1]], \"expected\": [[-1, -1]], \"passed\": true}, {\"check\": \"case 7\", \"actual\": [[1, 1], [1, 2], [2, 2]], \"expected\": [[1, 1], [1, 2], [2, 2]], \"passed\": true}], \"passed\": false}\n"}},"member_only":{"stages":["fixed"],"fields":["implementations.fixed","verification.fixed","harness","repair"],"note":"The verified repair, its recorded checks, the repair description, and the scoring harness are available to members."}}