{"abstract":"A short hop receives the same value as a long-haul sector.","category":"Airline fare rule evaluation","checks":9,"contract":"Input {'fare','tpm':[miles per coupon, 0 for surface]}. Work in integer cents: each coupon gets floor(cents*tpm/total); the rounding remainder goes to the last coupon with nonzero miles; surface coupons get 0. No miles -> 'ERR_NO_MILES'. Return coupon values in currency units.","evaluation_group":"w2-airline-fare-rules-mileage-proration","failed_approach":"Giving surface coupons an equal share still pays value for unflown sectors.","family":"w2-airline-fare-rules-mileage-proration-equal-split","id":"FA-66751","implementations":{"attempt":{"sha256":"16ae4dd54ed08c664d5c09a0088a58459c39c47d95cc034382f9a83c95d19b19","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(x):\n    tpm = x['tpm']\n    total = sum(tpm)\n    if total == 0: return 'ERR_NO_MILES'\n    cents = round(x['fare'] * 100)\n    shares = [cents * t // total if t else cents // len(tpm) for t in tpm]\n    last = max(i for i, t in enumerate(tpm) if t > 0)\n    shares[last] += cents - sum(shares)\n    return [s / 100 for s in shares]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['three coupons uneven', {'fare': 1001.0, 'tpm': [1200, 350, 2900]}, [269.93, 78.73, 652.34]], ['surface sector last', {'fare': 777.77, 'tpm': [800, 1501, 0]}, [270.41, 507.36, 0.0]], ['surface sector first', {'fare': 500.01, 'tpm': [0, 700, 901]}, [0.0, 218.61, 281.4]], ['single coupon', {'fare': 123.45, 'tpm': [2475]}, [123.45]], ['equal miles odd cents', {'fare': 100.0, 'tpm': [500, 500, 500]}, [33.33, 33.33, 33.34]], ['all surface', {'fare': 50.0, 'tpm': [0, 0]}, 'ERR_NO_MILES'], ['sampled case 1', {'fare': 1565.87, 'tpm': [193, 5089]}, [57.21, 1508.66]], ['sampled case 2', {'fare': 583.22, 'tpm': [1271, 0, 0]}, [583.22, 0.0, 0.0]], ['sampled case 3', {'fare': 2079.37, 'tpm': [1800]}, [2079.37]]], [['three coupons uneven', {'fare': 1002.0, 'tpm': [1200, 350, 2900]}, [270.2, 78.8, 653.0]], ['surface sector last', {'fare': 777.77, 'tpm': [800, 1502, 0]}, [270.29, 507.48, 0.0]], ['surface sector first', {'fare': 500.01, 'tpm': [0, 700, 902]}, [0.0, 218.48, 281.53]], ['single coupon', {'fare': 246.9, 'tpm': [2475]}, [246.9]], ['equal miles odd cents', {'fare': 100.0, 'tpm': [500, 500, 500]}, [33.33, 33.33, 33.34]], ['all surface', {'fare': 50.0, 'tpm': [0, 0]}, 'ERR_NO_MILES'], ['sampled case 1', {'fare': 2915.76, 'tpm': [0, 5491, 214, 782]}, [0.0, 2468.08, 96.18, 351.5]], ['sampled case 2', {'fare': 2482.84, 'tpm': [0, 0]}, 'ERR_NO_MILES'], ['sampled case 3', {'fare': 1177.57, 'tpm': [0, 0]}, 'ERR_NO_MILES']], [['three coupons uneven', {'fare': 1003.0, 'tpm': [1200, 350, 2900]}, [270.47, 78.88, 653.65]], ['surface sector last', {'fare': 777.77, 'tpm': [800, 1503, 0]}, [270.17, 507.6, 0.0]], ['surface sector first', {'fare': 500.01, 'tpm': [0, 700, 903]}, [0.0, 218.34, 281.67]], ['single coupon', {'fare': 370.35, 'tpm': [2475]}, [370.35]], ['equal miles odd cents', {'fare': 100.0, 'tpm': [500, 500, 500]}, [33.33, 33.33, 33.34]], ['all surface', {'fare': 50.0, 'tpm': [0, 0]}, 'ERR_NO_MILES'], ['sampled case 1', {'fare': 110.22, 'tpm': [0]}, 'ERR_NO_MILES'], ['sampled case 2', {'fare': 836.64, 'tpm': [5298, 5970, 0, 5279]}, [267.87, 301.85, 0.0, 266.92]], ['sampled case 3', {'fare': 218.58, 'tpm': [5530]}, [218.58]]], [['three coupons uneven', {'fare': 1004.0, 'tpm': [1200, 350, 2900]}, [270.74, 78.96, 654.3]], ['surface sector last', {'fare': 777.77, 'tpm': [800, 1504, 0]}, [270.05, 507.72, 0.0]], ['surface sector first', {'fare': 500.01, 'tpm': [0, 700, 904]}, [0.0, 218.2, 281.81]], ['single coupon', {'fare': 493.8, 'tpm': [2475]}, [493.8]], ['equal miles odd cents', {'fare': 100.0, 'tpm': [500, 500, 500]}, [33.33, 33.33, 33.34]], ['all surface', {'fare': 50.0, 'tpm': [0, 0]}, 'ERR_NO_MILES'], ['sampled case 1', {'fare': 524.52, 'tpm': [0, 0]}, 'ERR_NO_MILES'], ['sampled case 2', {'fare': 1224.53, 'tpm': [0, 1463]}, [0.0, 1224.53]], ['sampled case 3', {'fare': 2475.89, 'tpm': [0]}, 'ERR_NO_MILES']], [['three coupons uneven', {'fare': 1005.0, 'tpm': [1200, 350, 2900]}, [271.01, 79.04, 654.95]], ['surface sector last', {'fare': 777.77, 'tpm': [800, 1505, 0]}, [269.94, 507.83, 0.0]], ['surface sector first', {'fare': 500.01, 'tpm': [0, 700, 905]}, [0.0, 218.07, 281.94]], ['single coupon', {'fare': 617.25, 'tpm': [2475]}, [617.25]], ['equal miles odd cents', {'fare': 100.0, 'tpm': [500, 500, 500]}, [33.33, 33.33, 33.34]], ['all surface', {'fare': 50.0, 'tpm': [0, 0]}, 'ERR_NO_MILES'], ['sampled case 1', {'fare': 927.71, 'tpm': [5167, 2555]}, [620.75, 306.96]], ['sampled case 2', {'fare': 574.25, 'tpm': [3022]}, [574.25]], ['sampled case 3', {'fare': 1349.84, 'tpm': [0, 0]}, 'ERR_NO_MILES']]]\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":"dfa9575afc485042477e1bb6902f9bb81288cab32f90702864f1067799812c3e","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(x):\n    tpm = x['tpm']\n    total = sum(tpm)\n    if total == 0: return 'ERR_NO_MILES'\n    cents = round(x['fare'] * 100)\n    shares = [cents // len(tpm) for t in tpm]\n    last = max(i for i, t in enumerate(tpm) if t > 0)\n    shares[last] += cents - sum(shares)\n    return [s / 100 for s in shares]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['three coupons uneven', {'fare': 1001.0, 'tpm': [1200, 350, 2900]}, [269.93, 78.73, 652.34]], ['surface sector last', {'fare': 777.77, 'tpm': [800, 1501, 0]}, [270.41, 507.36, 0.0]], ['surface sector first', {'fare': 500.01, 'tpm': [0, 700, 901]}, [0.0, 218.61, 281.4]], ['single coupon', {'fare': 123.45, 'tpm': [2475]}, [123.45]], ['equal miles odd cents', {'fare': 100.0, 'tpm': [500, 500, 500]}, [33.33, 33.33, 33.34]], ['all surface', {'fare': 50.0, 'tpm': [0, 0]}, 'ERR_NO_MILES'], ['sampled case 1', {'fare': 1565.87, 'tpm': [193, 5089]}, [57.21, 1508.66]], ['sampled case 2', {'fare': 583.22, 'tpm': [1271, 0, 0]}, [583.22, 0.0, 0.0]], ['sampled case 3', {'fare': 2079.37, 'tpm': [1800]}, [2079.37]]], [['three coupons uneven', {'fare': 1002.0, 'tpm': [1200, 350, 2900]}, [270.2, 78.8, 653.0]], ['surface sector last', {'fare': 777.77, 'tpm': [800, 1502, 0]}, [270.29, 507.48, 0.0]], ['surface sector first', {'fare': 500.01, 'tpm': [0, 700, 902]}, [0.0, 218.48, 281.53]], ['single coupon', {'fare': 246.9, 'tpm': [2475]}, [246.9]], ['equal miles odd cents', {'fare': 100.0, 'tpm': [500, 500, 500]}, [33.33, 33.33, 33.34]], ['all surface', {'fare': 50.0, 'tpm': [0, 0]}, 'ERR_NO_MILES'], ['sampled case 1', {'fare': 2915.76, 'tpm': [0, 5491, 214, 782]}, [0.0, 2468.08, 96.18, 351.5]], ['sampled case 2', {'fare': 2482.84, 'tpm': [0, 0]}, 'ERR_NO_MILES'], ['sampled case 3', {'fare': 1177.57, 'tpm': [0, 0]}, 'ERR_NO_MILES']], [['three coupons uneven', {'fare': 1003.0, 'tpm': [1200, 350, 2900]}, [270.47, 78.88, 653.65]], ['surface sector last', {'fare': 777.77, 'tpm': [800, 1503, 0]}, [270.17, 507.6, 0.0]], ['surface sector first', {'fare': 500.01, 'tpm': [0, 700, 903]}, [0.0, 218.34, 281.67]], ['single coupon', {'fare': 370.35, 'tpm': [2475]}, [370.35]], ['equal miles odd cents', {'fare': 100.0, 'tpm': [500, 500, 500]}, [33.33, 33.33, 33.34]], ['all surface', {'fare': 50.0, 'tpm': [0, 0]}, 'ERR_NO_MILES'], ['sampled case 1', {'fare': 110.22, 'tpm': [0]}, 'ERR_NO_MILES'], ['sampled case 2', {'fare': 836.64, 'tpm': [5298, 5970, 0, 5279]}, [267.87, 301.85, 0.0, 266.92]], ['sampled case 3', {'fare': 218.58, 'tpm': [5530]}, [218.58]]], [['three coupons uneven', {'fare': 1004.0, 'tpm': [1200, 350, 2900]}, [270.74, 78.96, 654.3]], ['surface sector last', {'fare': 777.77, 'tpm': [800, 1504, 0]}, [270.05, 507.72, 0.0]], ['surface sector first', {'fare': 500.01, 'tpm': [0, 700, 904]}, [0.0, 218.2, 281.81]], ['single coupon', {'fare': 493.8, 'tpm': [2475]}, [493.8]], ['equal miles odd cents', {'fare': 100.0, 'tpm': [500, 500, 500]}, [33.33, 33.33, 33.34]], ['all surface', {'fare': 50.0, 'tpm': [0, 0]}, 'ERR_NO_MILES'], ['sampled case 1', {'fare': 524.52, 'tpm': [0, 0]}, 'ERR_NO_MILES'], ['sampled case 2', {'fare': 1224.53, 'tpm': [0, 1463]}, [0.0, 1224.53]], ['sampled case 3', {'fare': 2475.89, 'tpm': [0]}, 'ERR_NO_MILES']], [['three coupons uneven', {'fare': 1005.0, 'tpm': [1200, 350, 2900]}, [271.01, 79.04, 654.95]], ['surface sector last', {'fare': 777.77, 'tpm': [800, 1505, 0]}, [269.94, 507.83, 0.0]], ['surface sector first', {'fare': 500.01, 'tpm': [0, 700, 905]}, [0.0, 218.07, 281.94]], ['single coupon', {'fare': 617.25, 'tpm': [2475]}, [617.25]], ['equal miles odd cents', {'fare': 100.0, 'tpm': [500, 500, 500]}, [33.33, 33.33, 33.34]], ['all surface', {'fare': 50.0, 'tpm': [0, 0]}, 'ERR_NO_MILES'], ['sampled case 1', {'fare': 927.71, 'tpm': [5167, 2555]}, [620.75, 306.96]], ['sampled case 2', {'fare': 574.25, 'tpm': [3022]}, [574.25]], ['sampled case 3', {'fare': 1349.84, 'tpm': [0, 0]}, 'ERR_NO_MILES']]]\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":"0fb09043b9c4f45f0e65863b16df995545ef944ae79663b010da03b6b59d9ff0","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(x):\n    tpm = x['tpm']\n    total = sum(tpm)\n    if total == 0: return 'ERR_NO_MILES'\n    cents = round(x['fare'] * 100)\n    shares = [cents * t // total for t in tpm]\n    last = max(i for i, t in enumerate(tpm) if t > 0)\n    shares[last] += cents - sum(shares)\n    return [s / 100 for s in shares]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['three coupons uneven', {'fare': 1001.0, 'tpm': [1200, 350, 2900]}, [269.93, 78.73, 652.34]], ['surface sector last', {'fare': 777.77, 'tpm': [800, 1501, 0]}, [270.41, 507.36, 0.0]], ['surface sector first', {'fare': 500.01, 'tpm': [0, 700, 901]}, [0.0, 218.61, 281.4]], ['single coupon', {'fare': 123.45, 'tpm': [2475]}, [123.45]], ['equal miles odd cents', {'fare': 100.0, 'tpm': [500, 500, 500]}, [33.33, 33.33, 33.34]], ['all surface', {'fare': 50.0, 'tpm': [0, 0]}, 'ERR_NO_MILES'], ['sampled case 1', {'fare': 1565.87, 'tpm': [193, 5089]}, [57.21, 1508.66]], ['sampled case 2', {'fare': 583.22, 'tpm': [1271, 0, 0]}, [583.22, 0.0, 0.0]], ['sampled case 3', {'fare': 2079.37, 'tpm': [1800]}, [2079.37]]], [['three coupons uneven', {'fare': 1002.0, 'tpm': [1200, 350, 2900]}, [270.2, 78.8, 653.0]], ['surface sector last', {'fare': 777.77, 'tpm': [800, 1502, 0]}, [270.29, 507.48, 0.0]], ['surface sector first', {'fare': 500.01, 'tpm': [0, 700, 902]}, [0.0, 218.48, 281.53]], ['single coupon', {'fare': 246.9, 'tpm': [2475]}, [246.9]], ['equal miles odd cents', {'fare': 100.0, 'tpm': [500, 500, 500]}, [33.33, 33.33, 33.34]], ['all surface', {'fare': 50.0, 'tpm': [0, 0]}, 'ERR_NO_MILES'], ['sampled case 1', {'fare': 2915.76, 'tpm': [0, 5491, 214, 782]}, [0.0, 2468.08, 96.18, 351.5]], ['sampled case 2', {'fare': 2482.84, 'tpm': [0, 0]}, 'ERR_NO_MILES'], ['sampled case 3', {'fare': 1177.57, 'tpm': [0, 0]}, 'ERR_NO_MILES']], [['three coupons uneven', {'fare': 1003.0, 'tpm': [1200, 350, 2900]}, [270.47, 78.88, 653.65]], ['surface sector last', {'fare': 777.77, 'tpm': [800, 1503, 0]}, [270.17, 507.6, 0.0]], ['surface sector first', {'fare': 500.01, 'tpm': [0, 700, 903]}, [0.0, 218.34, 281.67]], ['single coupon', {'fare': 370.35, 'tpm': [2475]}, [370.35]], ['equal miles odd cents', {'fare': 100.0, 'tpm': [500, 500, 500]}, [33.33, 33.33, 33.34]], ['all surface', {'fare': 50.0, 'tpm': [0, 0]}, 'ERR_NO_MILES'], ['sampled case 1', {'fare': 110.22, 'tpm': [0]}, 'ERR_NO_MILES'], ['sampled case 2', {'fare': 836.64, 'tpm': [5298, 5970, 0, 5279]}, [267.87, 301.85, 0.0, 266.92]], ['sampled case 3', {'fare': 218.58, 'tpm': [5530]}, [218.58]]], [['three coupons uneven', {'fare': 1004.0, 'tpm': [1200, 350, 2900]}, [270.74, 78.96, 654.3]], ['surface sector last', {'fare': 777.77, 'tpm': [800, 1504, 0]}, [270.05, 507.72, 0.0]], ['surface sector first', {'fare': 500.01, 'tpm': [0, 700, 904]}, [0.0, 218.2, 281.81]], ['single coupon', {'fare': 493.8, 'tpm': [2475]}, [493.8]], ['equal miles odd cents', {'fare': 100.0, 'tpm': [500, 500, 500]}, [33.33, 33.33, 33.34]], ['all surface', {'fare': 50.0, 'tpm': [0, 0]}, 'ERR_NO_MILES'], ['sampled case 1', {'fare': 524.52, 'tpm': [0, 0]}, 'ERR_NO_MILES'], ['sampled case 2', {'fare': 1224.53, 'tpm': [0, 1463]}, [0.0, 1224.53]], ['sampled case 3', {'fare': 2475.89, 'tpm': [0]}, 'ERR_NO_MILES']], [['three coupons uneven', {'fare': 1005.0, 'tpm': [1200, 350, 2900]}, [271.01, 79.04, 654.95]], ['surface sector last', {'fare': 777.77, 'tpm': [800, 1505, 0]}, [269.94, 507.83, 0.0]], ['surface sector first', {'fare': 500.01, 'tpm': [0, 700, 905]}, [0.0, 218.07, 281.94]], ['single coupon', {'fare': 617.25, 'tpm': [2475]}, [617.25]], ['equal miles odd cents', {'fare': 100.0, 'tpm': [500, 500, 500]}, [33.33, 33.33, 33.34]], ['all surface', {'fare': 50.0, 'tpm': [0, 0]}, 'ERR_NO_MILES'], ['sampled case 1', {'fare': 927.71, 'tpm': [5167, 2555]}, [620.75, 306.96]], ['sampled case 2', {'fare': 574.25, 'tpm': [3022]}, [574.25]], ['sampled case 3', {'fare': 1349.84, 'tpm': [0, 0]}, 'ERR_NO_MILES']]]\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 stipulated toy fare-rule contract with invented constants; it is not an ATPCO or carrier tariff implementation and makes no claim of industry-standard conformance. This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"w2-airline-fare-rules-mileage-proration-equal-split","generated_at":"2026-09-29T14:47:46.719261+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Prorating a through fare across coupons by mileage must conserve the fare to the cent and keep value off surface sectors.","repair":"Weight each coupon by its miles over total miles.","root_cause":"Shares ignore mileage and divide the fare evenly.","sha256":"49475789e0eb9de24b2a2cc2263ed7972204dbfcade3ae28ed669a49c2001659","title":"Fare split equally between coupons · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":38.216,"exit_code":1,"observations":[{"actual":[269.93,78.73,652.34],"check":"three coupons uneven","expected":[269.93,78.73,652.34],"passed":true},{"actual":[270.41,248.11,259.25],"check":"surface sector last","expected":[270.41,507.36,0.0],"passed":false},{"actual":[166.67,218.61,114.73],"check":"surface sector first","expected":[0.0,218.61,281.4],"passed":false},{"actual":[123.45],"check":"single coupon","expected":[123.45],"passed":true},{"actual":[33.33,33.33,33.34],"check":"equal miles odd cents","expected":[33.33,33.33,33.34],"passed":true},{"actual":"ERR_NO_MILES","check":"all surface","expected":"ERR_NO_MILES","passed":true},{"actual":[57.21,1508.66],"check":"sampled case 1","expected":[57.21,1508.66],"passed":true},{"actual":[194.42,194.4,194.4],"check":"sampled case 2","expected":[583.22,0.0,0.0],"passed":false},{"actual":[2079.37],"check":"sampled case 3","expected":[2079.37],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"three coupons uneven\", \"actual\": [269.93, 78.73, 652.34], \"expected\": [269.93, 78.73, 652.34], \"passed\": true}, {\"check\": \"surface sector last\", \"actual\": [270.41, 248.11, 259.25], \"expected\": [270.41, 507.36, 0.0], \"passed\": false}, {\"check\": \"surface sector first\", \"actual\": [166.67, 218.61, 114.73], \"expected\": [0.0, 218.61, 281.4], \"passed\": false}, {\"check\": \"single coupon\", \"actual\": [123.45], \"expected\": [123.45], \"passed\": true}, {\"check\": \"equal miles odd cents\", \"actual\": [33.33, 33.33, 33.34], \"expected\": [33.33, 33.33, 33.34], \"passed\": true}, {\"check\": \"all surface\", \"actual\": \"ERR_NO_MILES\", \"expected\": \"ERR_NO_MILES\", \"passed\": true}, {\"check\": \"sampled case 1\", \"actual\": [57.21, 1508.66], \"expected\": [57.21, 1508.66], \"passed\": true}, {\"check\": \"sampled case 2\", \"actual\": [194.42, 194.4, 194.4], \"expected\": [583.22, 0.0, 0.0], \"passed\": false}, {\"check\": \"sampled case 3\", \"actual\": [2079.37], \"expected\": [2079.37], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":37.664,"exit_code":1,"observations":[{"actual":[333.66,333.66,333.68],"check":"three coupons uneven","expected":[269.93,78.73,652.34],"passed":false},{"actual":[259.25,259.27,259.25],"check":"surface sector last","expected":[270.41,507.36,0.0],"passed":false},{"actual":[166.67,166.67,166.67],"check":"surface sector first","expected":[0.0,218.61,281.4],"passed":false},{"actual":[123.45],"check":"single coupon","expected":[123.45],"passed":true},{"actual":[33.33,33.33,33.34],"check":"equal miles odd cents","expected":[33.33,33.33,33.34],"passed":true},{"actual":"ERR_NO_MILES","check":"all surface","expected":"ERR_NO_MILES","passed":true},{"actual":[782.93,782.94],"check":"sampled case 1","expected":[57.21,1508.66],"passed":false},{"actual":[194.42,194.4,194.4],"check":"sampled case 2","expected":[583.22,0.0,0.0],"passed":false},{"actual":[2079.37],"check":"sampled case 3","expected":[2079.37],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"three coupons uneven\", \"actual\": [333.66, 333.66, 333.68], \"expected\": [269.93, 78.73, 652.34], \"passed\": false}, {\"check\": \"surface sector last\", \"actual\": [259.25, 259.27, 259.25], \"expected\": [270.41, 507.36, 0.0], \"passed\": false}, {\"check\": \"surface sector first\", \"actual\": [166.67, 166.67, 166.67], \"expected\": [0.0, 218.61, 281.4], \"passed\": false}, {\"check\": \"single coupon\", \"actual\": [123.45], \"expected\": [123.45], \"passed\": true}, {\"check\": \"equal miles odd cents\", \"actual\": [33.33, 33.33, 33.34], \"expected\": [33.33, 33.33, 33.34], \"passed\": true}, {\"check\": \"all surface\", \"actual\": \"ERR_NO_MILES\", \"expected\": \"ERR_NO_MILES\", \"passed\": true}, {\"check\": \"sampled case 1\", \"actual\": [782.93, 782.94], \"expected\": [57.21, 1508.66], \"passed\": false}, {\"check\": \"sampled case 2\", \"actual\": [194.42, 194.4, 194.4], \"expected\": [583.22, 0.0, 0.0], \"passed\": false}, {\"check\": \"sampled case 3\", \"actual\": [2079.37], \"expected\": [2079.37], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":38.305,"exit_code":0,"observations":[{"actual":[269.93,78.73,652.34],"check":"three coupons uneven","expected":[269.93,78.73,652.34],"passed":true},{"actual":[270.41,507.36,0.0],"check":"surface sector last","expected":[270.41,507.36,0.0],"passed":true},{"actual":[0.0,218.61,281.4],"check":"surface sector first","expected":[0.0,218.61,281.4],"passed":true},{"actual":[123.45],"check":"single coupon","expected":[123.45],"passed":true},{"actual":[33.33,33.33,33.34],"check":"equal miles odd cents","expected":[33.33,33.33,33.34],"passed":true},{"actual":"ERR_NO_MILES","check":"all surface","expected":"ERR_NO_MILES","passed":true},{"actual":[57.21,1508.66],"check":"sampled case 1","expected":[57.21,1508.66],"passed":true},{"actual":[583.22,0.0,0.0],"check":"sampled case 2","expected":[583.22,0.0,0.0],"passed":true},{"actual":[2079.37],"check":"sampled case 3","expected":[2079.37],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"three coupons uneven\", \"actual\": [269.93, 78.73, 652.34], \"expected\": [269.93, 78.73, 652.34], \"passed\": true}, {\"check\": \"surface sector last\", \"actual\": [270.41, 507.36, 0.0], \"expected\": [270.41, 507.36, 0.0], \"passed\": true}, {\"check\": \"surface sector first\", \"actual\": [0.0, 218.61, 281.4], \"expected\": [0.0, 218.61, 281.4], \"passed\": true}, {\"check\": \"single coupon\", \"actual\": [123.45], \"expected\": [123.45], \"passed\": true}, {\"check\": \"equal miles odd cents\", \"actual\": [33.33, 33.33, 33.34], \"expected\": [33.33, 33.33, 33.34], \"passed\": true}, {\"check\": \"all surface\", \"actual\": \"ERR_NO_MILES\", \"expected\": \"ERR_NO_MILES\", \"passed\": true}, {\"check\": \"sampled case 1\", \"actual\": [57.21, 1508.66], \"expected\": [57.21, 1508.66], \"passed\": true}, {\"check\": \"sampled case 2\", \"actual\": [583.22, 0.0, 0.0], \"expected\": [583.22, 0.0, 0.0], \"passed\": true}, {\"check\": \"sampled case 3\", \"actual\": [2079.37], \"expected\": [2079.37], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}