{"abstract":"On the ebb the target height is reached at a mirrored time.","category":"Tide and marine navigation tables","checks":7,"contract":"Input [t1,h1,t2,h2,h] (hours, metres) for consecutive turning points with t2>t1 and h1!=h2. Height follows h1+(h2-h1)*(1-cos(pi*s/T))/2 with s elapsed and T=t2-t1. Return the time in whole minutes (rounded half up) when the height h is first reached on that half-cycle, or None when h lies outside the closed range of h1..h2.","evaluation_group":"w2-tide_and_marine_navigation_tables-time_for_height","failed_approach":"Measuring the fraction from the second turning point mirrors both flood and ebb in time.","family":"w2-tide_and_marine_navigation_tables-time_for_height-falling-fraction","id":"FA-68896","implementations":{"attempt":{"sha256":"59ea4049366570fcf0f61080144a68fa6fd25b35987cf8f213a7e72c3f716c52","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(x):\n    t1,h1,t2,h2,h=x\n    lo,hi=min(h1,h2),max(h1,h2)\n    if h<lo or h>hi: return None\n    frac=(h-h2)/(h1-h2)\n    T=t2-t1\n    s=T*math.acos(1-2*frac)/math.pi\n    return math.floor((t1+s)*60+0.5)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('cosine curve time for height [3.5, 5.1, 9.75, 1.2, 5.1]', [3.5, 5.1, 9.75, 1.2, 5.1], 210), ('cosine curve time for height [0, 0.6, 6.2, 4.4, 0.6]', [0, 0.6, 6.2, 4.4, 0.6], 0), ('cosine curve time for height [0, 0.6, 6.2, 4.4, 1.0]', [0, 0.6, 6.2, 4.4, 1.0], 78), ('cosine curve time for height [0, 0.6, 6.2, 4.4, 2.5]', [0, 0.6, 6.2, 4.4, 2.5], 186), ('cosine curve time for height [0, 0.6, 6.2, 4.4, 3.9]', [0, 0.6, 6.2, 4.4, 3.9], 284), ('cosine curve time for height [0, 0.6, 6.2, 4.4, 4.4]', [0, 0.6, 6.2, 4.4, 4.4], 372), ('cosine curve time for height [0, 0.6, 6.2, 4.4, 4.5]', [0, 0.6, 6.2, 4.4, 4.5], None)], [('cosine curve time for height [3.5, 5.1, 9.75, 1.2, 4.0]', [3.5, 5.1, 9.75, 1.2, 4.0], 344), ('cosine curve time for height [0, 0.6, 6.2, 4.4, 1.0]', [0, 0.6, 6.2, 4.4, 1.0], 78), ('cosine curve time for height [0, 0.6, 6.2, 4.4, 3.9]', [0, 0.6, 6.2, 4.4, 3.9], 284), ('cosine curve time for height [0, 0.6, 6.2, 4.4, 4.4]', [0, 0.6, 6.2, 4.4, 4.4], 372), ('cosine curve time for height [0, 0.6, 6.2, 4.4, 4.5]', [0, 0.6, 6.2, 4.4, 4.5], None), ('cosine curve time for height [3.5, 5.1, 9.75, 1.2, 5.1]', [3.5, 5.1, 9.75, 1.2, 5.1], 210), ('cosine curve time for height [3.5, 5.1, 9.75, 1.2, 3.15]', [3.5, 5.1, 9.75, 1.2, 3.15], 398)], [('cosine curve time for height [3.5, 5.1, 9.75, 1.2, 1.3]', [3.5, 5.1, 9.75, 1.2, 1.3], 547), ('cosine curve time for height [0, 0.6, 6.2, 4.4, 3.9]', [0, 0.6, 6.2, 4.4, 3.9], 284), ('cosine curve time for height [3.5, 5.1, 9.75, 1.2, 5.1]', [3.5, 5.1, 9.75, 1.2, 5.1], 210), ('cosine curve time for height [3.5, 5.1, 9.75, 1.2, 4.0]', [3.5, 5.1, 9.75, 1.2, 4.0], 344), ('cosine curve time for height [3.5, 5.1, 9.75, 1.2, 3.15]', [3.5, 5.1, 9.75, 1.2, 3.15], 398), ('cosine curve time for height [3.5, 5.1, 9.75, 1.2, 1.2]', [3.5, 5.1, 9.75, 1.2, 1.2], 585), ('cosine curve time for height [3.5, 5.1, 9.75, 1.2, 0.9]', [3.5, 5.1, 9.75, 1.2, 0.9], None)], [('cosine curve time for height [3.5, 5.1, 9.75, 1.2, 1.2]', [3.5, 5.1, 9.75, 1.2, 1.2], 585), ('cosine curve time for height [0, 0.6, 6.2, 4.4, 4.4]', [0, 0.6, 6.2, 4.4, 4.4], 372), ('cosine curve time for height [3.5, 5.1, 9.75, 1.2, 1.3]', [3.5, 5.1, 9.75, 1.2, 1.3], 547), ('cosine curve time for height [3.5, 5.1, 9.75, 1.2, 0.9]', [3.5, 5.1, 9.75, 1.2, 0.9], None), ('cosine curve time for height [10, 2.0, 22.4, 2.6, 2.3]', [10, 2.0, 22.4, 2.6, 2.3], 972), ('cosine curve time for height [0, 0, 2, 1, 0.25]', [0, 0, 2, 1, 0.25], 40), ('cosine curve time for height [1.25, 1.0, 7.25, 3.0, 2.0]', [1.25, 1.0, 7.25, 3.0, 2.0], 255)], [('cosine curve time for height [3.5, 5.1, 9.75, 1.2, 5.1]', [3.5, 5.1, 9.75, 1.2, 5.1], 210), ('cosine curve time for height [10, 2.0, 22.4, 2.6, 2.3]', [10, 2.0, 22.4, 2.6, 2.3], 972), ('cosine curve time for height [0, 0, 2, 1, 0.25]', [0, 0, 2, 1, 0.25], 40), ('cosine curve time for height [1.25, 1.0, 7.25, 3.0, 2.0]', [1.25, 1.0, 7.25, 3.0, 2.0], 255), ('cosine curve time for height [0, 0.6, 6.2, 4.4, 0.6]', [0, 0.6, 6.2, 4.4, 0.6], 0), ('cosine curve time for height [0, 0.6, 6.2, 4.4, 1.0]', [0, 0.6, 6.2, 4.4, 1.0], 78), ('cosine curve time for height [0, 0.6, 6.2, 4.4, 2.5]', [0, 0.6, 6.2, 4.4, 2.5], 186)]]\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":"baadae0b45668d6c95cb5fd3db0f3a1823136a3fa46fb086bb39e83d857cf347","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(x):\n    t1,h1,t2,h2,h=x\n    lo,hi=min(h1,h2),max(h1,h2)\n    if h<lo or h>hi: return None\n    frac=(h-lo)/(hi-lo)\n    T=t2-t1\n    s=T*math.acos(1-2*frac)/math.pi\n    return math.floor((t1+s)*60+0.5)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('cosine curve time for height [3.5, 5.1, 9.75, 1.2, 5.1]', [3.5, 5.1, 9.75, 1.2, 5.1], 210), ('cosine curve time for height [0, 0.6, 6.2, 4.4, 0.6]', [0, 0.6, 6.2, 4.4, 0.6], 0), ('cosine curve time for height [0, 0.6, 6.2, 4.4, 1.0]', [0, 0.6, 6.2, 4.4, 1.0], 78), ('cosine curve time for height [0, 0.6, 6.2, 4.4, 2.5]', [0, 0.6, 6.2, 4.4, 2.5], 186), ('cosine curve time for height [0, 0.6, 6.2, 4.4, 3.9]', [0, 0.6, 6.2, 4.4, 3.9], 284), ('cosine curve time for height [0, 0.6, 6.2, 4.4, 4.4]', [0, 0.6, 6.2, 4.4, 4.4], 372), ('cosine curve time for height [0, 0.6, 6.2, 4.4, 4.5]', [0, 0.6, 6.2, 4.4, 4.5], None)], [('cosine curve time for height [3.5, 5.1, 9.75, 1.2, 4.0]', [3.5, 5.1, 9.75, 1.2, 4.0], 344), ('cosine curve time for height [0, 0.6, 6.2, 4.4, 1.0]', [0, 0.6, 6.2, 4.4, 1.0], 78), ('cosine curve time for height [0, 0.6, 6.2, 4.4, 3.9]', [0, 0.6, 6.2, 4.4, 3.9], 284), ('cosine curve time for height [0, 0.6, 6.2, 4.4, 4.4]', [0, 0.6, 6.2, 4.4, 4.4], 372), ('cosine curve time for height [0, 0.6, 6.2, 4.4, 4.5]', [0, 0.6, 6.2, 4.4, 4.5], None), ('cosine curve time for height [3.5, 5.1, 9.75, 1.2, 5.1]', [3.5, 5.1, 9.75, 1.2, 5.1], 210), ('cosine curve time for height [3.5, 5.1, 9.75, 1.2, 3.15]', [3.5, 5.1, 9.75, 1.2, 3.15], 398)], [('cosine curve time for height [3.5, 5.1, 9.75, 1.2, 1.3]', [3.5, 5.1, 9.75, 1.2, 1.3], 547), ('cosine curve time for height [0, 0.6, 6.2, 4.4, 3.9]', [0, 0.6, 6.2, 4.4, 3.9], 284), ('cosine curve time for height [3.5, 5.1, 9.75, 1.2, 5.1]', [3.5, 5.1, 9.75, 1.2, 5.1], 210), ('cosine curve time for height [3.5, 5.1, 9.75, 1.2, 4.0]', [3.5, 5.1, 9.75, 1.2, 4.0], 344), ('cosine curve time for height [3.5, 5.1, 9.75, 1.2, 3.15]', [3.5, 5.1, 9.75, 1.2, 3.15], 398), ('cosine curve time for height [3.5, 5.1, 9.75, 1.2, 1.2]', [3.5, 5.1, 9.75, 1.2, 1.2], 585), ('cosine curve time for height [3.5, 5.1, 9.75, 1.2, 0.9]', [3.5, 5.1, 9.75, 1.2, 0.9], None)], [('cosine curve time for height [3.5, 5.1, 9.75, 1.2, 1.2]', [3.5, 5.1, 9.75, 1.2, 1.2], 585), ('cosine curve time for height [0, 0.6, 6.2, 4.4, 4.4]', [0, 0.6, 6.2, 4.4, 4.4], 372), ('cosine curve time for height [3.5, 5.1, 9.75, 1.2, 1.3]', [3.5, 5.1, 9.75, 1.2, 1.3], 547), ('cosine curve time for height [3.5, 5.1, 9.75, 1.2, 0.9]', [3.5, 5.1, 9.75, 1.2, 0.9], None), ('cosine curve time for height [10, 2.0, 22.4, 2.6, 2.3]', [10, 2.0, 22.4, 2.6, 2.3], 972), ('cosine curve time for height [0, 0, 2, 1, 0.25]', [0, 0, 2, 1, 0.25], 40), ('cosine curve time for height [1.25, 1.0, 7.25, 3.0, 2.0]', [1.25, 1.0, 7.25, 3.0, 2.0], 255)], [('cosine curve time for height [3.5, 5.1, 9.75, 1.2, 5.1]', [3.5, 5.1, 9.75, 1.2, 5.1], 210), ('cosine curve time for height [10, 2.0, 22.4, 2.6, 2.3]', [10, 2.0, 22.4, 2.6, 2.3], 972), ('cosine curve time for height [0, 0, 2, 1, 0.25]', [0, 0, 2, 1, 0.25], 40), ('cosine curve time for height [1.25, 1.0, 7.25, 3.0, 2.0]', [1.25, 1.0, 7.25, 3.0, 2.0], 255), ('cosine curve time for height [0, 0.6, 6.2, 4.4, 0.6]', [0, 0.6, 6.2, 4.4, 0.6], 0), ('cosine curve time for height [0, 0.6, 6.2, 4.4, 1.0]', [0, 0.6, 6.2, 4.4, 1.0], 78), ('cosine curve time for height [0, 0.6, 6.2, 4.4, 2.5]', [0, 0.6, 6.2, 4.4, 2.5], 186)]]\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":"ec8b590de0bfb567e86c5869d72d3ab8986f551ebf7e153b9dbd5de2d7b8fb37","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(x):\n    t1,h1,t2,h2,h=x\n    lo,hi=min(h1,h2),max(h1,h2)\n    if h<lo or h>hi: return None\n    frac=(h-h1)/(h2-h1)\n    T=t2-t1\n    s=T*math.acos(1-2*frac)/math.pi\n    return math.floor((t1+s)*60+0.5)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('cosine curve time for height [3.5, 5.1, 9.75, 1.2, 5.1]', [3.5, 5.1, 9.75, 1.2, 5.1], 210), ('cosine curve time for height [0, 0.6, 6.2, 4.4, 0.6]', [0, 0.6, 6.2, 4.4, 0.6], 0), ('cosine curve time for height [0, 0.6, 6.2, 4.4, 1.0]', [0, 0.6, 6.2, 4.4, 1.0], 78), ('cosine curve time for height [0, 0.6, 6.2, 4.4, 2.5]', [0, 0.6, 6.2, 4.4, 2.5], 186), ('cosine curve time for height [0, 0.6, 6.2, 4.4, 3.9]', [0, 0.6, 6.2, 4.4, 3.9], 284), ('cosine curve time for height [0, 0.6, 6.2, 4.4, 4.4]', [0, 0.6, 6.2, 4.4, 4.4], 372), ('cosine curve time for height [0, 0.6, 6.2, 4.4, 4.5]', [0, 0.6, 6.2, 4.4, 4.5], None)], [('cosine curve time for height [3.5, 5.1, 9.75, 1.2, 4.0]', [3.5, 5.1, 9.75, 1.2, 4.0], 344), ('cosine curve time for height [0, 0.6, 6.2, 4.4, 1.0]', [0, 0.6, 6.2, 4.4, 1.0], 78), ('cosine curve time for height [0, 0.6, 6.2, 4.4, 3.9]', [0, 0.6, 6.2, 4.4, 3.9], 284), ('cosine curve time for height [0, 0.6, 6.2, 4.4, 4.4]', [0, 0.6, 6.2, 4.4, 4.4], 372), ('cosine curve time for height [0, 0.6, 6.2, 4.4, 4.5]', [0, 0.6, 6.2, 4.4, 4.5], None), ('cosine curve time for height [3.5, 5.1, 9.75, 1.2, 5.1]', [3.5, 5.1, 9.75, 1.2, 5.1], 210), ('cosine curve time for height [3.5, 5.1, 9.75, 1.2, 3.15]', [3.5, 5.1, 9.75, 1.2, 3.15], 398)], [('cosine curve time for height [3.5, 5.1, 9.75, 1.2, 1.3]', [3.5, 5.1, 9.75, 1.2, 1.3], 547), ('cosine curve time for height [0, 0.6, 6.2, 4.4, 3.9]', [0, 0.6, 6.2, 4.4, 3.9], 284), ('cosine curve time for height [3.5, 5.1, 9.75, 1.2, 5.1]', [3.5, 5.1, 9.75, 1.2, 5.1], 210), ('cosine curve time for height [3.5, 5.1, 9.75, 1.2, 4.0]', [3.5, 5.1, 9.75, 1.2, 4.0], 344), ('cosine curve time for height [3.5, 5.1, 9.75, 1.2, 3.15]', [3.5, 5.1, 9.75, 1.2, 3.15], 398), ('cosine curve time for height [3.5, 5.1, 9.75, 1.2, 1.2]', [3.5, 5.1, 9.75, 1.2, 1.2], 585), ('cosine curve time for height [3.5, 5.1, 9.75, 1.2, 0.9]', [3.5, 5.1, 9.75, 1.2, 0.9], None)], [('cosine curve time for height [3.5, 5.1, 9.75, 1.2, 1.2]', [3.5, 5.1, 9.75, 1.2, 1.2], 585), ('cosine curve time for height [0, 0.6, 6.2, 4.4, 4.4]', [0, 0.6, 6.2, 4.4, 4.4], 372), ('cosine curve time for height [3.5, 5.1, 9.75, 1.2, 1.3]', [3.5, 5.1, 9.75, 1.2, 1.3], 547), ('cosine curve time for height [3.5, 5.1, 9.75, 1.2, 0.9]', [3.5, 5.1, 9.75, 1.2, 0.9], None), ('cosine curve time for height [10, 2.0, 22.4, 2.6, 2.3]', [10, 2.0, 22.4, 2.6, 2.3], 972), ('cosine curve time for height [0, 0, 2, 1, 0.25]', [0, 0, 2, 1, 0.25], 40), ('cosine curve time for height [1.25, 1.0, 7.25, 3.0, 2.0]', [1.25, 1.0, 7.25, 3.0, 2.0], 255)], [('cosine curve time for height [3.5, 5.1, 9.75, 1.2, 5.1]', [3.5, 5.1, 9.75, 1.2, 5.1], 210), ('cosine curve time for height [10, 2.0, 22.4, 2.6, 2.3]', [10, 2.0, 22.4, 2.6, 2.3], 972), ('cosine curve time for height [0, 0, 2, 1, 0.25]', [0, 0, 2, 1, 0.25], 40), ('cosine curve time for height [1.25, 1.0, 7.25, 3.0, 2.0]', [1.25, 1.0, 7.25, 3.0, 2.0], 255), ('cosine curve time for height [0, 0.6, 6.2, 4.4, 0.6]', [0, 0.6, 6.2, 4.4, 0.6], 0), ('cosine curve time for height [0, 0.6, 6.2, 4.4, 1.0]', [0, 0.6, 6.2, 4.4, 1.0], 78), ('cosine curve time for height [0, 0.6, 6.2, 4.4, 2.5]', [0, 0.6, 6.2, 4.4, 2.5], 186)]]\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 toy model with stipulated rules and constants; not certified hydrographic software or a substitute for official tide tables. 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-tide_and_marine_navigation_tables-time_for_height-falling-fraction","generated_at":"2026-09-29T14:48:06.466709+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Tide tables and passage plans turn published predictions into go/no-go decisions about depth, clearance and timing.","repair":"Normalize with the signed difference (h-h1)/(h2-h1).","root_cause":"The height fraction is always measured up from the lower height, which mirrors the ebb.","sha256":"16522e7c5e2f4ec849e3338e1a4dc99dddb763ea81c388aa56a6fcaa6b9e5e04","title":"Cosine curve time for height: Falling-tide fraction uses the absolute range · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":37.931,"exit_code":1,"observations":[{"actual":585,"check":"cosine curve time for height [3.5, 5.1, 9.75, 1.2, 5.1]","expected":210,"passed":false},{"actual":372,"check":"cosine curve time for height [0, 0.6, 6.2, 4.4, 0.6]","expected":0,"passed":false},{"actual":294,"check":"cosine curve time for height [0, 0.6, 6.2, 4.4, 1.0]","expected":78,"passed":false},{"actual":186,"check":"cosine curve time for height [0, 0.6, 6.2, 4.4, 2.5]","expected":186,"passed":true},{"actual":88,"check":"cosine curve time for height [0, 0.6, 6.2, 4.4, 3.9]","expected":284,"passed":false},{"actual":0,"check":"cosine curve time for height [0, 0.6, 6.2, 4.4, 4.4]","expected":372,"passed":false},{"actual":null,"check":"cosine curve time for height [0, 0.6, 6.2, 4.4, 4.5]","expected":null,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"cosine curve time for height [3.5, 5.1, 9.75, 1.2, 5.1]\", \"actual\": 585, \"expected\": 210, \"passed\": false}, {\"check\": \"cosine curve time for height [0, 0.6, 6.2, 4.4, 0.6]\", \"actual\": 372, \"expected\": 0, \"passed\": false}, {\"check\": \"cosine curve time for height [0, 0.6, 6.2, 4.4, 1.0]\", \"actual\": 294, \"expected\": 78, \"passed\": false}, {\"check\": \"cosine curve time for height [0, 0.6, 6.2, 4.4, 2.5]\", \"actual\": 186, \"expected\": 186, \"passed\": true}, {\"check\": \"cosine curve time for height [0, 0.6, 6.2, 4.4, 3.9]\", \"actual\": 88, \"expected\": 284, \"passed\": false}, {\"check\": \"cosine curve time for height [0, 0.6, 6.2, 4.4, 4.4]\", \"actual\": 0, \"expected\": 372, \"passed\": false}, {\"check\": \"cosine curve time for height [0, 0.6, 6.2, 4.4, 4.5]\", \"actual\": null, \"expected\": null, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":37.607,"exit_code":1,"observations":[{"actual":585,"check":"cosine curve time for height [3.5, 5.1, 9.75, 1.2, 5.1]","expected":210,"passed":false},{"actual":0,"check":"cosine curve time for height [0, 0.6, 6.2, 4.4, 0.6]","expected":0,"passed":true},{"actual":78,"check":"cosine curve time for height [0, 0.6, 6.2, 4.4, 1.0]","expected":78,"passed":true},{"actual":186,"check":"cosine curve time for height [0, 0.6, 6.2, 4.4, 2.5]","expected":186,"passed":true},{"actual":284,"check":"cosine curve time for height [0, 0.6, 6.2, 4.4, 3.9]","expected":284,"passed":true},{"actual":372,"check":"cosine curve time for height [0, 0.6, 6.2, 4.4, 4.4]","expected":372,"passed":true},{"actual":null,"check":"cosine curve time for height [0, 0.6, 6.2, 4.4, 4.5]","expected":null,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"cosine curve time for height [3.5, 5.1, 9.75, 1.2, 5.1]\", \"actual\": 585, \"expected\": 210, \"passed\": false}, {\"check\": \"cosine curve time for height [0, 0.6, 6.2, 4.4, 0.6]\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"cosine curve time for height [0, 0.6, 6.2, 4.4, 1.0]\", \"actual\": 78, \"expected\": 78, \"passed\": true}, {\"check\": \"cosine curve time for height [0, 0.6, 6.2, 4.4, 2.5]\", \"actual\": 186, \"expected\": 186, \"passed\": true}, {\"check\": \"cosine curve time for height [0, 0.6, 6.2, 4.4, 3.9]\", \"actual\": 284, \"expected\": 284, \"passed\": true}, {\"check\": \"cosine curve time for height [0, 0.6, 6.2, 4.4, 4.4]\", \"actual\": 372, \"expected\": 372, \"passed\": true}, {\"check\": \"cosine curve time for height [0, 0.6, 6.2, 4.4, 4.5]\", \"actual\": null, \"expected\": null, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":39.311,"exit_code":0,"observations":[{"actual":210,"check":"cosine curve time for height [3.5, 5.1, 9.75, 1.2, 5.1]","expected":210,"passed":true},{"actual":0,"check":"cosine curve time for height [0, 0.6, 6.2, 4.4, 0.6]","expected":0,"passed":true},{"actual":78,"check":"cosine curve time for height [0, 0.6, 6.2, 4.4, 1.0]","expected":78,"passed":true},{"actual":186,"check":"cosine curve time for height [0, 0.6, 6.2, 4.4, 2.5]","expected":186,"passed":true},{"actual":284,"check":"cosine curve time for height [0, 0.6, 6.2, 4.4, 3.9]","expected":284,"passed":true},{"actual":372,"check":"cosine curve time for height [0, 0.6, 6.2, 4.4, 4.4]","expected":372,"passed":true},{"actual":null,"check":"cosine curve time for height [0, 0.6, 6.2, 4.4, 4.5]","expected":null,"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"cosine curve time for height [3.5, 5.1, 9.75, 1.2, 5.1]\", \"actual\": 210, \"expected\": 210, \"passed\": true}, {\"check\": \"cosine curve time for height [0, 0.6, 6.2, 4.4, 0.6]\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"cosine curve time for height [0, 0.6, 6.2, 4.4, 1.0]\", \"actual\": 78, \"expected\": 78, \"passed\": true}, {\"check\": \"cosine curve time for height [0, 0.6, 6.2, 4.4, 2.5]\", \"actual\": 186, \"expected\": 186, \"passed\": true}, {\"check\": \"cosine curve time for height [0, 0.6, 6.2, 4.4, 3.9]\", \"actual\": 284, \"expected\": 284, \"passed\": true}, {\"check\": \"cosine curve time for height [0, 0.6, 6.2, 4.4, 4.4]\", \"actual\": 372, \"expected\": 372, \"passed\": true}, {\"check\": \"cosine curve time for height [0, 0.6, 6.2, 4.4, 4.5]\", \"actual\": null, \"expected\": null, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}