{"abstract":"Meridians fan out as if the cone were flat.","category":"Map projection transforms","checks":8,"contract":"Input [lon, lat, lon0, lat0, lat1, lat2] degrees, sphere R = 6371000, all latitudes strictly inside (-90, 90) and on the cone side of the equator. t(p) = tan(pi/4 + p/2). n = ln(cos p1/cos p2)/ln(t(p2)/t(p1)), or sin(p1) for a tangent cone (lat1 == lat2). F = cos(p1)*t(p1)**n/n; rho = R*F/t(phi)**n; rho0 = R*F/t(p0)**n; theta = n*dlon with dlon wrapped to [-180, 180). x = rho*sin(theta), y = rho0 - rho*cos(theta), rounded to 2 decimals.","evaluation_group":"w2-map-projection-transforms-lambert-conformal-conic","failed_approach":"n is restored but the longitude difference is no longer wrapped, breaking grids centred near 180.","family":"w2-map-projection-transforms-lambert-conformal-conic-cone-angle","id":"FA-70121","implementations":{"attempt":{"sha256":"cc06a9751ba92ff28e3065e613ff5d0fe5a94d972336616b1721d329d10d6086","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(x):\n    lon, lat, lon0, lat0, lat1, lat2 = x\n    R = 6371000.0\n    p0, p1, p2, phi = [math.radians(v) for v in (lat0, lat1, lat2, lat)]\n    def t(p):\n        return math.tan(math.pi / 4 + p / 2)\n    if abs(lat1 - lat2) < 1e-9:\n        n = math.sin(p1)\n    else:\n        n = math.log(math.cos(p1) / math.cos(p2)) / math.log(t(p2) / t(p1))\n    Fc = math.cos(p1) * t(p1) ** n / n\n    rho = R * Fc / t(phi) ** n\n    rho0 = R * Fc / t(p0) ** n\n    dl = math.radians(((lon - lon0 + 180.0) % 360.0) - 180.0)\n    theta = n * math.radians(lon - lon0)\n    return [round(rho * math.sin(theta), 2), round(rho0 - rho * math.cos(theta), 2)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('control #0', [-89.295, -2.579, -96.0, 23.0, 33.0, 45.0], [944572.37, -3177093.78]), ('control #1', [43.173, 23.809, 10.0, 52.0, 35.0, 65.0], [3477264.95, -2333351.52]), ('control #2', [133.802, -22.769, 132.0, 0.0, -18.0, -36.0], [182997.23, -2612489.01]), ('control #3', [-77.146, 4.744, -60.0, -32.0, -5.0, -42.0], [-2030234.59, 3881165.57]), ('control #4', [-6.229, 62.13, 0.0, 40.0, 40.0, 40.0], [-353408.33, 2543656.82]), ('regression #26', [175.0, 50.0, -170.0, 40.0, 30.0, 60.0], [-1032245.58, 1172151.39]), ('boundary #28', [-96.0, 23.0, -96.0, 23.0, 33.0, 45.0], [0.0, 0.0]), ('boundary #29', [5.0, 40.0, 5.0, 40.0, 40.0, 40.0], [0.0, 0.0])], [('control #1', [43.173, 23.809, 10.0, 52.0, 35.0, 65.0], [3477264.95, -2333351.52]), ('control #4', [-6.229, 62.13, 0.0, 40.0, 40.0, 40.0], [-353408.33, 2543656.82]), ('control #5', [57.493, -17.538, 20.0, -45.0, -45.0, -45.0], [4256679.54, 2162268.41]), ('control #6', [108.376, 58.574, 100.0, 30.0, 25.0, 47.0], [519881.13, 3212621.55]), ('control #7', [-134.048, 58.473, -96.0, 23.0, 33.0, 45.0], [-2281076.94, 4475835.48]), ('regression #27', [-175.0, -30.0, 170.0, -20.0, -15.0, -45.0], [1391072.22, -1172227.35]), ('boundary #28', [-96.0, 23.0, -96.0, 23.0, 33.0, 45.0], [0.0, 0.0]), ('boundary #29', [5.0, 40.0, 5.0, 40.0, 40.0, 40.0], [0.0, 0.0])], [('control #2', [133.802, -22.769, 132.0, 0.0, -18.0, -36.0], [182997.23, -2612489.01]), ('control #7', [-134.048, 58.473, -96.0, 23.0, 33.0, 45.0], [-2281076.94, 4475835.48]), ('control #8', [38.766, 26.431, 10.0, 52.0, 35.0, 65.0], [2923972.77, -2242833.53]), ('control #9', [128.089, -10.995, 132.0, 0.0, -18.0, -36.0], [-438054.92, -1302331.66]), ('control #10', [-72.231, -55.506, -60.0, -32.0, -5.0, -42.0], [-871966.44, -2710910.26]), ('regression #26', [175.0, 50.0, -170.0, 40.0, 30.0, 60.0], [-1032245.58, 1172151.39]), ('boundary #28', [-96.0, 23.0, -96.0, 23.0, 33.0, 45.0], [0.0, 0.0]), ('boundary #29', [5.0, 40.0, 5.0, 40.0, 40.0, 40.0], [0.0, 0.0])], [('control #3', [-77.146, 4.744, -60.0, -32.0, -5.0, -42.0], [-2030234.59, 3881165.57]), ('control #10', [-72.231, -55.506, -60.0, -32.0, -5.0, -42.0], [-871966.44, -2710910.26]), ('control #11', [-30.764, 26.528, 0.0, 40.0, 40.0, 40.0], [-3080105.21, -974518.51]), ('control #12', [31.835, 4.636, 20.0, -45.0, -45.0, -45.0], [1831181.26, 6076923.26]), ('control #13', [74.565, 35.028, 100.0, 30.0, 25.0, 47.0], [-2247809.44, 846928.26]), ('regression #27', [-175.0, -30.0, 170.0, -20.0, -15.0, -45.0], [1391072.22, -1172227.35]), ('boundary #28', [-96.0, 23.0, -96.0, 23.0, 33.0, 45.0], [0.0, 0.0]), ('boundary #29', [5.0, 40.0, 5.0, 40.0, 40.0, 40.0], [0.0, 0.0])], [('control #4', [-6.229, 62.13, 0.0, 40.0, 40.0, 40.0], [-353408.33, 2543656.82]), ('control #13', [74.565, 35.028, 100.0, 30.0, 25.0, 47.0], [-2247809.44, 846928.26]), ('control #14', [-102.998, 17.408, -96.0, 23.0, 33.0, 45.0], [-788758.63, -620642.12]), ('control #15', [-3.245, 2.365, 10.0, 52.0, 35.0, 65.0], [-1927899.63, -5755732.58]), ('control #16', [150.921, -43.877, 132.0, 0.0, -18.0, -36.0], [1562347.67, -5075599.0]), ('regression #26', [175.0, 50.0, -170.0, 40.0, 30.0, 60.0], [-1032245.58, 1172151.39]), ('boundary #28', [-96.0, 23.0, -96.0, 23.0, 33.0, 45.0], [0.0, 0.0]), ('boundary #29', [5.0, 40.0, 5.0, 40.0, 40.0, 40.0], [0.0, 0.0])]]\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":"b88aebb7d33b1fc010d49573f891f14f55872a607cc0041700446a0e9ae8e8ec","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(x):\n    lon, lat, lon0, lat0, lat1, lat2 = x\n    R = 6371000.0\n    p0, p1, p2, phi = [math.radians(v) for v in (lat0, lat1, lat2, lat)]\n    def t(p):\n        return math.tan(math.pi / 4 + p / 2)\n    if abs(lat1 - lat2) < 1e-9:\n        n = math.sin(p1)\n    else:\n        n = math.log(math.cos(p1) / math.cos(p2)) / math.log(t(p2) / t(p1))\n    Fc = math.cos(p1) * t(p1) ** n / n\n    rho = R * Fc / t(phi) ** n\n    rho0 = R * Fc / t(p0) ** n\n    dl = math.radians(((lon - lon0 + 180.0) % 360.0) - 180.0)\n    theta = dl\n    return [round(rho * math.sin(theta), 2), round(rho0 - rho * math.cos(theta), 2)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('control #0', [-89.295, -2.579, -96.0, 23.0, 33.0, 45.0], [944572.37, -3177093.78]), ('control #1', [43.173, 23.809, 10.0, 52.0, 35.0, 65.0], [3477264.95, -2333351.52]), ('control #2', [133.802, -22.769, 132.0, 0.0, -18.0, -36.0], [182997.23, -2612489.01]), ('control #3', [-77.146, 4.744, -60.0, -32.0, -5.0, -42.0], [-2030234.59, 3881165.57]), ('control #4', [-6.229, 62.13, 0.0, 40.0, 40.0, 40.0], [-353408.33, 2543656.82]), ('regression #26', [175.0, 50.0, -170.0, 40.0, 30.0, 60.0], [-1032245.58, 1172151.39]), ('boundary #28', [-96.0, 23.0, -96.0, 23.0, 33.0, 45.0], [0.0, 0.0]), ('boundary #29', [5.0, 40.0, 5.0, 40.0, 40.0, 40.0], [0.0, 0.0])], [('control #1', [43.173, 23.809, 10.0, 52.0, 35.0, 65.0], [3477264.95, -2333351.52]), ('control #4', [-6.229, 62.13, 0.0, 40.0, 40.0, 40.0], [-353408.33, 2543656.82]), ('control #5', [57.493, -17.538, 20.0, -45.0, -45.0, -45.0], [4256679.54, 2162268.41]), ('control #6', [108.376, 58.574, 100.0, 30.0, 25.0, 47.0], [519881.13, 3212621.55]), ('control #7', [-134.048, 58.473, -96.0, 23.0, 33.0, 45.0], [-2281076.94, 4475835.48]), ('regression #27', [-175.0, -30.0, 170.0, -20.0, -15.0, -45.0], [1391072.22, -1172227.35]), ('boundary #28', [-96.0, 23.0, -96.0, 23.0, 33.0, 45.0], [0.0, 0.0]), ('boundary #29', [5.0, 40.0, 5.0, 40.0, 40.0, 40.0], [0.0, 0.0])], [('control #2', [133.802, -22.769, 132.0, 0.0, -18.0, -36.0], [182997.23, -2612489.01]), ('control #7', [-134.048, 58.473, -96.0, 23.0, 33.0, 45.0], [-2281076.94, 4475835.48]), ('control #8', [38.766, 26.431, 10.0, 52.0, 35.0, 65.0], [2923972.77, -2242833.53]), ('control #9', [128.089, -10.995, 132.0, 0.0, -18.0, -36.0], [-438054.92, -1302331.66]), ('control #10', [-72.231, -55.506, -60.0, -32.0, -5.0, -42.0], [-871966.44, -2710910.26]), ('regression #26', [175.0, 50.0, -170.0, 40.0, 30.0, 60.0], [-1032245.58, 1172151.39]), ('boundary #28', [-96.0, 23.0, -96.0, 23.0, 33.0, 45.0], [0.0, 0.0]), ('boundary #29', [5.0, 40.0, 5.0, 40.0, 40.0, 40.0], [0.0, 0.0])], [('control #3', [-77.146, 4.744, -60.0, -32.0, -5.0, -42.0], [-2030234.59, 3881165.57]), ('control #10', [-72.231, -55.506, -60.0, -32.0, -5.0, -42.0], [-871966.44, -2710910.26]), ('control #11', [-30.764, 26.528, 0.0, 40.0, 40.0, 40.0], [-3080105.21, -974518.51]), ('control #12', [31.835, 4.636, 20.0, -45.0, -45.0, -45.0], [1831181.26, 6076923.26]), ('control #13', [74.565, 35.028, 100.0, 30.0, 25.0, 47.0], [-2247809.44, 846928.26]), ('regression #27', [-175.0, -30.0, 170.0, -20.0, -15.0, -45.0], [1391072.22, -1172227.35]), ('boundary #28', [-96.0, 23.0, -96.0, 23.0, 33.0, 45.0], [0.0, 0.0]), ('boundary #29', [5.0, 40.0, 5.0, 40.0, 40.0, 40.0], [0.0, 0.0])], [('control #4', [-6.229, 62.13, 0.0, 40.0, 40.0, 40.0], [-353408.33, 2543656.82]), ('control #13', [74.565, 35.028, 100.0, 30.0, 25.0, 47.0], [-2247809.44, 846928.26]), ('control #14', [-102.998, 17.408, -96.0, 23.0, 33.0, 45.0], [-788758.63, -620642.12]), ('control #15', [-3.245, 2.365, 10.0, 52.0, 35.0, 65.0], [-1927899.63, -5755732.58]), ('control #16', [150.921, -43.877, 132.0, 0.0, -18.0, -36.0], [1562347.67, -5075599.0]), ('regression #26', [175.0, 50.0, -170.0, 40.0, 30.0, 60.0], [-1032245.58, 1172151.39]), ('boundary #28', [-96.0, 23.0, -96.0, 23.0, 33.0, 45.0], [0.0, 0.0]), ('boundary #29', [5.0, 40.0, 5.0, 40.0, 40.0, 40.0], [0.0, 0.0])]]\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":"3bf183b5f3d5ed94f774fed1ce6ec9cae2622236161c0964ace0bc11de0d98e8","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(x):\n    lon, lat, lon0, lat0, lat1, lat2 = x\n    R = 6371000.0\n    p0, p1, p2, phi = [math.radians(v) for v in (lat0, lat1, lat2, lat)]\n    def t(p):\n        return math.tan(math.pi / 4 + p / 2)\n    if abs(lat1 - lat2) < 1e-9:\n        n = math.sin(p1)\n    else:\n        n = math.log(math.cos(p1) / math.cos(p2)) / math.log(t(p2) / t(p1))\n    Fc = math.cos(p1) * t(p1) ** n / n\n    rho = R * Fc / t(phi) ** n\n    rho0 = R * Fc / t(p0) ** n\n    dl = math.radians(((lon - lon0 + 180.0) % 360.0) - 180.0)\n    theta = n * dl\n    return [round(rho * math.sin(theta), 2), round(rho0 - rho * math.cos(theta), 2)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('control #0', [-89.295, -2.579, -96.0, 23.0, 33.0, 45.0], [944572.37, -3177093.78]), ('control #1', [43.173, 23.809, 10.0, 52.0, 35.0, 65.0], [3477264.95, -2333351.52]), ('control #2', [133.802, -22.769, 132.0, 0.0, -18.0, -36.0], [182997.23, -2612489.01]), ('control #3', [-77.146, 4.744, -60.0, -32.0, -5.0, -42.0], [-2030234.59, 3881165.57]), ('control #4', [-6.229, 62.13, 0.0, 40.0, 40.0, 40.0], [-353408.33, 2543656.82]), ('regression #26', [175.0, 50.0, -170.0, 40.0, 30.0, 60.0], [-1032245.58, 1172151.39]), ('boundary #28', [-96.0, 23.0, -96.0, 23.0, 33.0, 45.0], [0.0, 0.0]), ('boundary #29', [5.0, 40.0, 5.0, 40.0, 40.0, 40.0], [0.0, 0.0])], [('control #1', [43.173, 23.809, 10.0, 52.0, 35.0, 65.0], [3477264.95, -2333351.52]), ('control #4', [-6.229, 62.13, 0.0, 40.0, 40.0, 40.0], [-353408.33, 2543656.82]), ('control #5', [57.493, -17.538, 20.0, -45.0, -45.0, -45.0], [4256679.54, 2162268.41]), ('control #6', [108.376, 58.574, 100.0, 30.0, 25.0, 47.0], [519881.13, 3212621.55]), ('control #7', [-134.048, 58.473, -96.0, 23.0, 33.0, 45.0], [-2281076.94, 4475835.48]), ('regression #27', [-175.0, -30.0, 170.0, -20.0, -15.0, -45.0], [1391072.22, -1172227.35]), ('boundary #28', [-96.0, 23.0, -96.0, 23.0, 33.0, 45.0], [0.0, 0.0]), ('boundary #29', [5.0, 40.0, 5.0, 40.0, 40.0, 40.0], [0.0, 0.0])], [('control #2', [133.802, -22.769, 132.0, 0.0, -18.0, -36.0], [182997.23, -2612489.01]), ('control #7', [-134.048, 58.473, -96.0, 23.0, 33.0, 45.0], [-2281076.94, 4475835.48]), ('control #8', [38.766, 26.431, 10.0, 52.0, 35.0, 65.0], [2923972.77, -2242833.53]), ('control #9', [128.089, -10.995, 132.0, 0.0, -18.0, -36.0], [-438054.92, -1302331.66]), ('control #10', [-72.231, -55.506, -60.0, -32.0, -5.0, -42.0], [-871966.44, -2710910.26]), ('regression #26', [175.0, 50.0, -170.0, 40.0, 30.0, 60.0], [-1032245.58, 1172151.39]), ('boundary #28', [-96.0, 23.0, -96.0, 23.0, 33.0, 45.0], [0.0, 0.0]), ('boundary #29', [5.0, 40.0, 5.0, 40.0, 40.0, 40.0], [0.0, 0.0])], [('control #3', [-77.146, 4.744, -60.0, -32.0, -5.0, -42.0], [-2030234.59, 3881165.57]), ('control #10', [-72.231, -55.506, -60.0, -32.0, -5.0, -42.0], [-871966.44, -2710910.26]), ('control #11', [-30.764, 26.528, 0.0, 40.0, 40.0, 40.0], [-3080105.21, -974518.51]), ('control #12', [31.835, 4.636, 20.0, -45.0, -45.0, -45.0], [1831181.26, 6076923.26]), ('control #13', [74.565, 35.028, 100.0, 30.0, 25.0, 47.0], [-2247809.44, 846928.26]), ('regression #27', [-175.0, -30.0, 170.0, -20.0, -15.0, -45.0], [1391072.22, -1172227.35]), ('boundary #28', [-96.0, 23.0, -96.0, 23.0, 33.0, 45.0], [0.0, 0.0]), ('boundary #29', [5.0, 40.0, 5.0, 40.0, 40.0, 40.0], [0.0, 0.0])], [('control #4', [-6.229, 62.13, 0.0, 40.0, 40.0, 40.0], [-353408.33, 2543656.82]), ('control #13', [74.565, 35.028, 100.0, 30.0, 25.0, 47.0], [-2247809.44, 846928.26]), ('control #14', [-102.998, 17.408, -96.0, 23.0, 33.0, 45.0], [-788758.63, -620642.12]), ('control #15', [-3.245, 2.365, 10.0, 52.0, 35.0, 65.0], [-1927899.63, -5755732.58]), ('control #16', [150.921, -43.877, 132.0, 0.0, -18.0, -36.0], [1562347.67, -5075599.0]), ('regression #26', [175.0, 50.0, -170.0, 40.0, 30.0, 60.0], [-1032245.58, 1172151.39]), ('boundary #28', [-96.0, 23.0, -96.0, 23.0, 33.0, 45.0], [0.0, 0.0]), ('boundary #29', [5.0, 40.0, 5.0, 40.0, 40.0, 40.0], [0.0, 0.0])]]\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":"Stipulated deterministic toy contract on a bounded input domain; results are rounded as stated and no conformance with any published standard or library is claimed. 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-map-projection-transforms-lambert-conformal-conic-cone-angle","generated_at":"2026-09-29T14:48:17.704867+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Aeronautical charts and many national grids use conformal conics; a wrong cone constant distorts whole regions.","repair":"At the cone angle step restore `theta = n * dl`, leaving the rest of the model unchanged.","root_cause":"The polar angle omits the cone constant, using the longitude difference directly.","sha256":"a70899524becd3cfcc3d150316964e8872bcceeaf22004570bee86df78a3d011","title":"Spherical Lambert conformal conic forward: cone angle · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":40.276,"exit_code":1,"observations":[{"actual":[944572.37,-3177093.78],"check":"control #0","expected":[944572.37,-3177093.78],"passed":true},{"actual":[3477264.95,-2333351.52],"check":"control #1","expected":[3477264.95,-2333351.52],"passed":true},{"actual":[182997.23,-2612489.01],"check":"control #2","expected":[182997.23,-2612489.01],"passed":true},{"actual":[-2030234.59,3881165.57],"check":"control #3","expected":[-2030234.59,3881165.57],"passed":true},{"actual":[-353408.33,2543656.82],"check":"control #4","expected":[-353408.33,2543656.82],"passed":true},{"actual":[-5097012.54,8794857.28],"check":"regression #26","expected":[-1032245.58,1172151.39],"passed":false},{"actual":[0.0,0.0],"check":"boundary #28","expected":[0.0,0.0],"passed":true},{"actual":[0.0,0.0],"check":"boundary #29","expected":[0.0,0.0],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"control #0\", \"actual\": [944572.37, -3177093.78], \"expected\": [944572.37, -3177093.78], \"passed\": true}, {\"check\": \"control #1\", \"actual\": [3477264.95, -2333351.52], \"expected\": [3477264.95, -2333351.52], \"passed\": true}, {\"check\": \"control #2\", \"actual\": [182997.23, -2612489.01], \"expected\": [182997.23, -2612489.01], \"passed\": true}, {\"check\": \"control #3\", \"actual\": [-2030234.59, 3881165.57], \"expected\": [-2030234.59, 3881165.57], \"passed\": true}, {\"check\": \"control #4\", \"actual\": [-353408.33, 2543656.82], \"expected\": [-353408.33, 2543656.82], \"passed\": true}, {\"check\": \"regression #26\", \"actual\": [-5097012.54, 8794857.28], \"expected\": [-1032245.58, 1172151.39], \"passed\": false}, {\"check\": \"boundary #28\", \"actual\": [0.0, 0.0], \"expected\": [0.0, 0.0], \"passed\": true}, {\"check\": \"boundary #29\", \"actual\": [0.0, 0.0], \"expected\": [0.0, 0.0], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":37.933,"exit_code":1,"observations":[{"actual":[1496125.07,-3124313.89],"check":"control #0","expected":[944572.37,-3177093.78],"passed":false},{"actual":[4384467.82,-1821212.46],"check":"control #1","expected":[3477264.95,-2333351.52],"passed":false},{"actual":[-401364.18,-2617489.24],"check":"control #2","expected":[182997.23,-2612489.01],"passed":false},{"actual":[4938330.16,3260181.54],"check":"control #3","expected":[-2030234.59,3881165.57],"passed":false},{"actual":[-549170.21,2561184.8],"check":"control #4","expected":[-353408.33,2543656.82],"passed":false},{"actual":[-1434510.13,1264036.62],"check":"regression #26","expected":[-1032245.58,1172151.39],"passed":false},{"actual":[0.0,0.0],"check":"boundary #28","expected":[0.0,0.0],"passed":true},{"actual":[0.0,0.0],"check":"boundary #29","expected":[0.0,0.0],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"control #0\", \"actual\": [1496125.07, -3124313.89], \"expected\": [944572.37, -3177093.78], \"passed\": false}, {\"check\": \"control #1\", \"actual\": [4384467.82, -1821212.46], \"expected\": [3477264.95, -2333351.52], \"passed\": false}, {\"check\": \"control #2\", \"actual\": [-401364.18, -2617489.24], \"expected\": [182997.23, -2612489.01], \"passed\": false}, {\"check\": \"control #3\", \"actual\": [4938330.16, 3260181.54], \"expected\": [-2030234.59, 3881165.57], \"passed\": false}, {\"check\": \"control #4\", \"actual\": [-549170.21, 2561184.8], \"expected\": [-353408.33, 2543656.82], \"passed\": false}, {\"check\": \"regression #26\", \"actual\": [-1434510.13, 1264036.62], \"expected\": [-1032245.58, 1172151.39], \"passed\": false}, {\"check\": \"boundary #28\", \"actual\": [0.0, 0.0], \"expected\": [0.0, 0.0], \"passed\": true}, {\"check\": \"boundary #29\", \"actual\": [0.0, 0.0], \"expected\": [0.0, 0.0], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":39.955,"exit_code":0,"observations":[{"actual":[944572.37,-3177093.78],"check":"control #0","expected":[944572.37,-3177093.78],"passed":true},{"actual":[3477264.95,-2333351.52],"check":"control #1","expected":[3477264.95,-2333351.52],"passed":true},{"actual":[182997.23,-2612489.01],"check":"control #2","expected":[182997.23,-2612489.01],"passed":true},{"actual":[-2030234.59,3881165.57],"check":"control #3","expected":[-2030234.59,3881165.57],"passed":true},{"actual":[-353408.33,2543656.82],"check":"control #4","expected":[-353408.33,2543656.82],"passed":true},{"actual":[-1032245.58,1172151.39],"check":"regression #26","expected":[-1032245.58,1172151.39],"passed":true},{"actual":[0.0,0.0],"check":"boundary #28","expected":[0.0,0.0],"passed":true},{"actual":[0.0,0.0],"check":"boundary #29","expected":[0.0,0.0],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"control #0\", \"actual\": [944572.37, -3177093.78], \"expected\": [944572.37, -3177093.78], \"passed\": true}, {\"check\": \"control #1\", \"actual\": [3477264.95, -2333351.52], \"expected\": [3477264.95, -2333351.52], \"passed\": true}, {\"check\": \"control #2\", \"actual\": [182997.23, -2612489.01], \"expected\": [182997.23, -2612489.01], \"passed\": true}, {\"check\": \"control #3\", \"actual\": [-2030234.59, 3881165.57], \"expected\": [-2030234.59, 3881165.57], \"passed\": true}, {\"check\": \"control #4\", \"actual\": [-353408.33, 2543656.82], \"expected\": [-353408.33, 2543656.82], \"passed\": true}, {\"check\": \"regression #26\", \"actual\": [-1032245.58, 1172151.39], \"expected\": [-1032245.58, 1172151.39], \"passed\": true}, {\"check\": \"boundary #28\", \"actual\": [0.0, 0.0], \"expected\": [0.0, 0.0], \"passed\": true}, {\"check\": \"boundary #29\", \"actual\": [0.0, 0.0], \"expected\": [0.0, 0.0], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}