{"abstract":"Short hops are predicted faster or slower than the car can achieve.","category":"Elevator dispatch scheduling","checks":8,"contract":"heights_mm[i] is the rise from floor i to floor i+1. The trip distance is the sum between the two floors (either direction). With speed vmax (mm/s) and acceleration acc (mm/s^2): if distance*acc >= vmax^2 the car reaches vmax and t = d/vmax + vmax/acc, otherwise t = 2*sqrt(d/acc). Return milliseconds rounded up; zero distance is 0.","evaluation_group":"w2-elevator_dispatch_scheduling-trip-flight-time","failed_approach":"Using 2d inside the root doubles the distance of each half.","family":"w2-elevator_dispatch_scheduling-trip-flight-time-triangular-formula","id":"FA-67446","implementations":{"attempt":{"sha256":"15631b91dbb50075612a0e1faa679ec1a583810bc2f01272f630a3612eeed5b6","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(x):\n    lo, hi = sorted((x['from'], x['to']))\n    d = sum(x['heights_mm'][lo:hi])\n    if d == 0:\n        return 0\n    v = x['vmax']\n    a = x['acc']\n    if d * a >= v * v:\n        t = d / v + v / a\n    else:\n        t = 2 * math.sqrt(2 * d / a)\n    return math.ceil(t * 1000 - 1e-9)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: one floor up', {'heights_mm': [3000, 3500, 4200, 5000], 'from': 0, 'to': 1, 'vmax': 2500, 'acc': 1000}, 3465), ('sampled regression 10', {'heights_mm': [4200, 4200, 5000, 4200, 3500, 3000, 3000, 3000, 5000, 3500, 4200, 3500], 'from': 7, 'to': 6, 'vmax': 2500, 'acc': 800}, 3873), ('regression: short hop without reaching speed', {'heights_mm': [3000, 3000, 3000, 3000, 3000], 'from': 1, 'to': 2, 'vmax': 4000, 'acc': 800}, 3873), ('boundary: downward trip', {'heights_mm': [3000, 3500, 4200, 5000], 'from': 3, 'to': 1, 'vmax': 2500, 'acc': 1000}, 5580), ('boundary: long run at contract speed', {'heights_mm': [4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000], 'from': 0, 'to': 9, 'vmax': 2500, 'acc': 1000}, 16900), ('control 1', {'heights_mm': [5000, 4200, 3500, 4200, 4200, 5000, 3000, 3500, 5000, 4200, 3500], 'from': 7, 'to': 0, 'vmax': 1600, 'acc': 1200}, 19521), ('control 4', {'heights_mm': [3500, 3500, 5000, 3500], 'from': 1, 'to': 1, 'vmax': 4000, 'acc': 600}, 0), ('control 7', {'heights_mm': [3500, 3500, 4200, 5000, 3500], 'from': 4, 'to': 1, 'vmax': 2500, 'acc': 1200}, 7164)], [('regression: short hop without reaching speed', {'heights_mm': [3000, 3000, 3000, 3000, 3000], 'from': 1, 'to': 2, 'vmax': 4000, 'acc': 800}, 3873), ('sampled regression 36', {'heights_mm': [3000, 5000, 3500, 4200, 3500, 3500, 3500, 3000, 5000, 3000, 3500], 'from': 5, 'to': 4, 'vmax': 2500, 'acc': 800}, 4184), ('sampled regression 25', {'heights_mm': [3000, 3000, 3500, 4200, 3000, 3000, 5000, 4200, 4200], 'from': 4, 'to': 6, 'vmax': 2500, 'acc': 600}, 6325), ('boundary: long run at contract speed', {'heights_mm': [4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000], 'from': 0, 'to': 9, 'vmax': 2500, 'acc': 1000}, 16900), ('regression: between the two regimes', {'heights_mm': [3500, 3500, 3500, 3500, 3500, 3500], 'from': 0, 'to': 2, 'vmax': 2500, 'acc': 800}, 5917), ('control 12', {'heights_mm': [3000, 5000, 3000, 5000, 4200, 5000, 3000, 4200, 4200, 3500], 'from': 5, 'to': 1, 'vmax': 1000, 'acc': 600}, 18867), ('control 15', {'heights_mm': [3000, 3500, 3000, 3000, 5000, 3000, 3500, 3000, 3000, 3500], 'from': 4, 'to': 7, 'vmax': 1000, 'acc': 600}, 13167), ('control 18', {'heights_mm': [4200, 3000, 3500, 5000, 3500], 'from': 3, 'to': 4, 'vmax': 1000, 'acc': 800}, 6250)], [('regression: between the two regimes', {'heights_mm': [3500, 3500, 3500, 3500, 3500, 3500], 'from': 0, 'to': 2, 'vmax': 2500, 'acc': 800}, 5917), ('sampled regression 65', {'heights_mm': [5000, 3000, 3000, 3000, 3500, 4200, 5000, 4200, 3500, 5000], 'from': 6, 'to': 1, 'vmax': 4000, 'acc': 800}, 9138), ('sampled regression 38', {'heights_mm': [4200, 3500, 4200, 4200, 5000, 3000, 3500, 4200, 3500, 3000, 3500], 'from': 6, 'to': 3, 'vmax': 4000, 'acc': 1200}, 6378), ('boundary: same floor', {'heights_mm': [3000, 3000, 3000], 'from': 2, 'to': 2, 'vmax': 2500, 'acc': 1000}, 0), ('boundary: fractional milliseconds', {'heights_mm': [3500, 3500, 3500, 3500], 'from': 0, 'to': 3, 'vmax': 1600, 'acc': 600}, 9230), ('control 23', {'heights_mm': [5000, 3000, 3000, 4200, 4200, 3500, 3000], 'from': 1, 'to': 0, 'vmax': 1600, 'acc': 1000}, 4725), ('control 26', {'heights_mm': [4200, 5000, 4200, 4200, 3000, 3500, 3500, 3500], 'from': 7, 'to': 0, 'vmax': 4000, 'acc': 1000}, 10900), ('control 29', {'heights_mm': [3000, 3000, 3500, 3500, 3000, 4200, 3500, 3000, 3000, 4200, 3500, 5000], 'from': 0, 'to': 4, 'vmax': 1000, 'acc': 1000}, 14000)], [('regression: one floor up', {'heights_mm': [3000, 3500, 4200, 5000], 'from': 0, 'to': 1, 'vmax': 2500, 'acc': 1000}, 3465), ('regression: between the two regimes', {'heights_mm': [3500, 3500, 3500, 3500, 3500, 3500], 'from': 0, 'to': 2, 'vmax': 2500, 'acc': 800}, 5917), ('sampled regression 58', {'heights_mm': [3500, 3500, 3500, 5000], 'from': 1, 'to': 0, 'vmax': 2500, 'acc': 600}, 4831), ('boundary: fractional milliseconds', {'heights_mm': [3500, 3500, 3500, 3500], 'from': 0, 'to': 3, 'vmax': 1600, 'acc': 600}, 9230), ('boundary: downward trip', {'heights_mm': [3000, 3500, 4200, 5000], 'from': 3, 'to': 1, 'vmax': 2500, 'acc': 1000}, 5580), ('sampled regression 34', {'heights_mm': [3000, 5000, 3500, 4200, 3500, 3000, 3500], 'from': 3, 'to': 5, 'vmax': 4000, 'acc': 800}, 6205), ('control 37', {'heights_mm': [3000, 3000, 5000, 3000, 5000], 'from': 2, 'to': 4, 'vmax': 1000, 'acc': 1200}, 8834), ('control 40', {'heights_mm': [3000, 3500, 3500, 5000], 'from': 0, 'to': 2, 'vmax': 1600, 'acc': 1000}, 5663)], [('regression: short hop without reaching speed', {'heights_mm': [3000, 3000, 3000, 3000, 3000], 'from': 1, 'to': 2, 'vmax': 4000, 'acc': 800}, 3873), ('sampled regression 34', {'heights_mm': [3000, 5000, 3500, 4200, 3500, 3000, 3500], 'from': 3, 'to': 5, 'vmax': 4000, 'acc': 800}, 6205), ('sampled regression 79', {'heights_mm': [4200, 5000, 4200, 5000, 3500, 5000, 3500, 3500], 'from': 2, 'to': 0, 'vmax': 4000, 'acc': 800}, 6783), ('boundary: downward trip', {'heights_mm': [3000, 3500, 4200, 5000], 'from': 3, 'to': 1, 'vmax': 2500, 'acc': 1000}, 5580), ('boundary: long run at contract speed', {'heights_mm': [4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000], 'from': 0, 'to': 9, 'vmax': 2500, 'acc': 1000}, 16900), ('control 45', {'heights_mm': [5000, 3500, 3000, 3500, 4200, 3000, 3500, 3500, 3500, 4200], 'from': 3, 'to': 8, 'vmax': 1000, 'acc': 1200}, 18534), ('sampled regression 48', {'heights_mm': [5000, 3000, 3500, 3000, 3000, 3500, 3500, 3000, 5000, 3500], 'from': 9, 'to': 8, 'vmax': 4000, 'acc': 1000}, 4473), ('sampled regression 51', {'heights_mm': [4200, 4200, 3000, 5000, 5000, 5000, 3500], 'from': 6, 'to': 5, 'vmax': 4000, 'acc': 800}, 5000)]]\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":"33dffb0e38dbb1e5dc7f22142f692c38aa87f4ffcababf7ea02999b783a944a7","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(x):\n    lo, hi = sorted((x['from'], x['to']))\n    d = sum(x['heights_mm'][lo:hi])\n    if d == 0:\n        return 0\n    v = x['vmax']\n    a = x['acc']\n    if d * a >= v * v:\n        t = d / v + v / a\n    else:\n        t = math.sqrt(2 * d / a)\n    return math.ceil(t * 1000 - 1e-9)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: one floor up', {'heights_mm': [3000, 3500, 4200, 5000], 'from': 0, 'to': 1, 'vmax': 2500, 'acc': 1000}, 3465), ('sampled regression 10', {'heights_mm': [4200, 4200, 5000, 4200, 3500, 3000, 3000, 3000, 5000, 3500, 4200, 3500], 'from': 7, 'to': 6, 'vmax': 2500, 'acc': 800}, 3873), ('regression: short hop without reaching speed', {'heights_mm': [3000, 3000, 3000, 3000, 3000], 'from': 1, 'to': 2, 'vmax': 4000, 'acc': 800}, 3873), ('boundary: downward trip', {'heights_mm': [3000, 3500, 4200, 5000], 'from': 3, 'to': 1, 'vmax': 2500, 'acc': 1000}, 5580), ('boundary: long run at contract speed', {'heights_mm': [4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000], 'from': 0, 'to': 9, 'vmax': 2500, 'acc': 1000}, 16900), ('control 1', {'heights_mm': [5000, 4200, 3500, 4200, 4200, 5000, 3000, 3500, 5000, 4200, 3500], 'from': 7, 'to': 0, 'vmax': 1600, 'acc': 1200}, 19521), ('control 4', {'heights_mm': [3500, 3500, 5000, 3500], 'from': 1, 'to': 1, 'vmax': 4000, 'acc': 600}, 0), ('control 7', {'heights_mm': [3500, 3500, 4200, 5000, 3500], 'from': 4, 'to': 1, 'vmax': 2500, 'acc': 1200}, 7164)], [('regression: short hop without reaching speed', {'heights_mm': [3000, 3000, 3000, 3000, 3000], 'from': 1, 'to': 2, 'vmax': 4000, 'acc': 800}, 3873), ('sampled regression 36', {'heights_mm': [3000, 5000, 3500, 4200, 3500, 3500, 3500, 3000, 5000, 3000, 3500], 'from': 5, 'to': 4, 'vmax': 2500, 'acc': 800}, 4184), ('sampled regression 25', {'heights_mm': [3000, 3000, 3500, 4200, 3000, 3000, 5000, 4200, 4200], 'from': 4, 'to': 6, 'vmax': 2500, 'acc': 600}, 6325), ('boundary: long run at contract speed', {'heights_mm': [4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000], 'from': 0, 'to': 9, 'vmax': 2500, 'acc': 1000}, 16900), ('regression: between the two regimes', {'heights_mm': [3500, 3500, 3500, 3500, 3500, 3500], 'from': 0, 'to': 2, 'vmax': 2500, 'acc': 800}, 5917), ('control 12', {'heights_mm': [3000, 5000, 3000, 5000, 4200, 5000, 3000, 4200, 4200, 3500], 'from': 5, 'to': 1, 'vmax': 1000, 'acc': 600}, 18867), ('control 15', {'heights_mm': [3000, 3500, 3000, 3000, 5000, 3000, 3500, 3000, 3000, 3500], 'from': 4, 'to': 7, 'vmax': 1000, 'acc': 600}, 13167), ('control 18', {'heights_mm': [4200, 3000, 3500, 5000, 3500], 'from': 3, 'to': 4, 'vmax': 1000, 'acc': 800}, 6250)], [('regression: between the two regimes', {'heights_mm': [3500, 3500, 3500, 3500, 3500, 3500], 'from': 0, 'to': 2, 'vmax': 2500, 'acc': 800}, 5917), ('sampled regression 65', {'heights_mm': [5000, 3000, 3000, 3000, 3500, 4200, 5000, 4200, 3500, 5000], 'from': 6, 'to': 1, 'vmax': 4000, 'acc': 800}, 9138), ('sampled regression 38', {'heights_mm': [4200, 3500, 4200, 4200, 5000, 3000, 3500, 4200, 3500, 3000, 3500], 'from': 6, 'to': 3, 'vmax': 4000, 'acc': 1200}, 6378), ('boundary: same floor', {'heights_mm': [3000, 3000, 3000], 'from': 2, 'to': 2, 'vmax': 2500, 'acc': 1000}, 0), ('boundary: fractional milliseconds', {'heights_mm': [3500, 3500, 3500, 3500], 'from': 0, 'to': 3, 'vmax': 1600, 'acc': 600}, 9230), ('control 23', {'heights_mm': [5000, 3000, 3000, 4200, 4200, 3500, 3000], 'from': 1, 'to': 0, 'vmax': 1600, 'acc': 1000}, 4725), ('control 26', {'heights_mm': [4200, 5000, 4200, 4200, 3000, 3500, 3500, 3500], 'from': 7, 'to': 0, 'vmax': 4000, 'acc': 1000}, 10900), ('control 29', {'heights_mm': [3000, 3000, 3500, 3500, 3000, 4200, 3500, 3000, 3000, 4200, 3500, 5000], 'from': 0, 'to': 4, 'vmax': 1000, 'acc': 1000}, 14000)], [('regression: one floor up', {'heights_mm': [3000, 3500, 4200, 5000], 'from': 0, 'to': 1, 'vmax': 2500, 'acc': 1000}, 3465), ('regression: between the two regimes', {'heights_mm': [3500, 3500, 3500, 3500, 3500, 3500], 'from': 0, 'to': 2, 'vmax': 2500, 'acc': 800}, 5917), ('sampled regression 58', {'heights_mm': [3500, 3500, 3500, 5000], 'from': 1, 'to': 0, 'vmax': 2500, 'acc': 600}, 4831), ('boundary: fractional milliseconds', {'heights_mm': [3500, 3500, 3500, 3500], 'from': 0, 'to': 3, 'vmax': 1600, 'acc': 600}, 9230), ('boundary: downward trip', {'heights_mm': [3000, 3500, 4200, 5000], 'from': 3, 'to': 1, 'vmax': 2500, 'acc': 1000}, 5580), ('sampled regression 34', {'heights_mm': [3000, 5000, 3500, 4200, 3500, 3000, 3500], 'from': 3, 'to': 5, 'vmax': 4000, 'acc': 800}, 6205), ('control 37', {'heights_mm': [3000, 3000, 5000, 3000, 5000], 'from': 2, 'to': 4, 'vmax': 1000, 'acc': 1200}, 8834), ('control 40', {'heights_mm': [3000, 3500, 3500, 5000], 'from': 0, 'to': 2, 'vmax': 1600, 'acc': 1000}, 5663)], [('regression: short hop without reaching speed', {'heights_mm': [3000, 3000, 3000, 3000, 3000], 'from': 1, 'to': 2, 'vmax': 4000, 'acc': 800}, 3873), ('sampled regression 34', {'heights_mm': [3000, 5000, 3500, 4200, 3500, 3000, 3500], 'from': 3, 'to': 5, 'vmax': 4000, 'acc': 800}, 6205), ('sampled regression 79', {'heights_mm': [4200, 5000, 4200, 5000, 3500, 5000, 3500, 3500], 'from': 2, 'to': 0, 'vmax': 4000, 'acc': 800}, 6783), ('boundary: downward trip', {'heights_mm': [3000, 3500, 4200, 5000], 'from': 3, 'to': 1, 'vmax': 2500, 'acc': 1000}, 5580), ('boundary: long run at contract speed', {'heights_mm': [4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000], 'from': 0, 'to': 9, 'vmax': 2500, 'acc': 1000}, 16900), ('control 45', {'heights_mm': [5000, 3500, 3000, 3500, 4200, 3000, 3500, 3500, 3500, 4200], 'from': 3, 'to': 8, 'vmax': 1000, 'acc': 1200}, 18534), ('sampled regression 48', {'heights_mm': [5000, 3000, 3500, 3000, 3000, 3500, 3500, 3000, 5000, 3500], 'from': 9, 'to': 8, 'vmax': 4000, 'acc': 1000}, 4473), ('sampled regression 51', {'heights_mm': [4200, 4200, 3000, 5000, 5000, 5000, 3500], 'from': 6, 'to': 5, 'vmax': 4000, 'acc': 800}, 5000)]]\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":"5937069fd545ba6061dd9cc43bea4be3700fe8494c86a69f8d9efff2645b8e33","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(x):\n    lo, hi = sorted((x['from'], x['to']))\n    d = sum(x['heights_mm'][lo:hi])\n    if d == 0:\n        return 0\n    v = x['vmax']\n    a = x['acc']\n    if d * a >= v * v:\n        t = d / v + v / a\n    else:\n        t = 2 * math.sqrt(d / a)\n    return math.ceil(t * 1000 - 1e-9)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: one floor up', {'heights_mm': [3000, 3500, 4200, 5000], 'from': 0, 'to': 1, 'vmax': 2500, 'acc': 1000}, 3465), ('sampled regression 10', {'heights_mm': [4200, 4200, 5000, 4200, 3500, 3000, 3000, 3000, 5000, 3500, 4200, 3500], 'from': 7, 'to': 6, 'vmax': 2500, 'acc': 800}, 3873), ('regression: short hop without reaching speed', {'heights_mm': [3000, 3000, 3000, 3000, 3000], 'from': 1, 'to': 2, 'vmax': 4000, 'acc': 800}, 3873), ('boundary: downward trip', {'heights_mm': [3000, 3500, 4200, 5000], 'from': 3, 'to': 1, 'vmax': 2500, 'acc': 1000}, 5580), ('boundary: long run at contract speed', {'heights_mm': [4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000], 'from': 0, 'to': 9, 'vmax': 2500, 'acc': 1000}, 16900), ('control 1', {'heights_mm': [5000, 4200, 3500, 4200, 4200, 5000, 3000, 3500, 5000, 4200, 3500], 'from': 7, 'to': 0, 'vmax': 1600, 'acc': 1200}, 19521), ('control 4', {'heights_mm': [3500, 3500, 5000, 3500], 'from': 1, 'to': 1, 'vmax': 4000, 'acc': 600}, 0), ('control 7', {'heights_mm': [3500, 3500, 4200, 5000, 3500], 'from': 4, 'to': 1, 'vmax': 2500, 'acc': 1200}, 7164)], [('regression: short hop without reaching speed', {'heights_mm': [3000, 3000, 3000, 3000, 3000], 'from': 1, 'to': 2, 'vmax': 4000, 'acc': 800}, 3873), ('sampled regression 36', {'heights_mm': [3000, 5000, 3500, 4200, 3500, 3500, 3500, 3000, 5000, 3000, 3500], 'from': 5, 'to': 4, 'vmax': 2500, 'acc': 800}, 4184), ('sampled regression 25', {'heights_mm': [3000, 3000, 3500, 4200, 3000, 3000, 5000, 4200, 4200], 'from': 4, 'to': 6, 'vmax': 2500, 'acc': 600}, 6325), ('boundary: long run at contract speed', {'heights_mm': [4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000], 'from': 0, 'to': 9, 'vmax': 2500, 'acc': 1000}, 16900), ('regression: between the two regimes', {'heights_mm': [3500, 3500, 3500, 3500, 3500, 3500], 'from': 0, 'to': 2, 'vmax': 2500, 'acc': 800}, 5917), ('control 12', {'heights_mm': [3000, 5000, 3000, 5000, 4200, 5000, 3000, 4200, 4200, 3500], 'from': 5, 'to': 1, 'vmax': 1000, 'acc': 600}, 18867), ('control 15', {'heights_mm': [3000, 3500, 3000, 3000, 5000, 3000, 3500, 3000, 3000, 3500], 'from': 4, 'to': 7, 'vmax': 1000, 'acc': 600}, 13167), ('control 18', {'heights_mm': [4200, 3000, 3500, 5000, 3500], 'from': 3, 'to': 4, 'vmax': 1000, 'acc': 800}, 6250)], [('regression: between the two regimes', {'heights_mm': [3500, 3500, 3500, 3500, 3500, 3500], 'from': 0, 'to': 2, 'vmax': 2500, 'acc': 800}, 5917), ('sampled regression 65', {'heights_mm': [5000, 3000, 3000, 3000, 3500, 4200, 5000, 4200, 3500, 5000], 'from': 6, 'to': 1, 'vmax': 4000, 'acc': 800}, 9138), ('sampled regression 38', {'heights_mm': [4200, 3500, 4200, 4200, 5000, 3000, 3500, 4200, 3500, 3000, 3500], 'from': 6, 'to': 3, 'vmax': 4000, 'acc': 1200}, 6378), ('boundary: same floor', {'heights_mm': [3000, 3000, 3000], 'from': 2, 'to': 2, 'vmax': 2500, 'acc': 1000}, 0), ('boundary: fractional milliseconds', {'heights_mm': [3500, 3500, 3500, 3500], 'from': 0, 'to': 3, 'vmax': 1600, 'acc': 600}, 9230), ('control 23', {'heights_mm': [5000, 3000, 3000, 4200, 4200, 3500, 3000], 'from': 1, 'to': 0, 'vmax': 1600, 'acc': 1000}, 4725), ('control 26', {'heights_mm': [4200, 5000, 4200, 4200, 3000, 3500, 3500, 3500], 'from': 7, 'to': 0, 'vmax': 4000, 'acc': 1000}, 10900), ('control 29', {'heights_mm': [3000, 3000, 3500, 3500, 3000, 4200, 3500, 3000, 3000, 4200, 3500, 5000], 'from': 0, 'to': 4, 'vmax': 1000, 'acc': 1000}, 14000)], [('regression: one floor up', {'heights_mm': [3000, 3500, 4200, 5000], 'from': 0, 'to': 1, 'vmax': 2500, 'acc': 1000}, 3465), ('regression: between the two regimes', {'heights_mm': [3500, 3500, 3500, 3500, 3500, 3500], 'from': 0, 'to': 2, 'vmax': 2500, 'acc': 800}, 5917), ('sampled regression 58', {'heights_mm': [3500, 3500, 3500, 5000], 'from': 1, 'to': 0, 'vmax': 2500, 'acc': 600}, 4831), ('boundary: fractional milliseconds', {'heights_mm': [3500, 3500, 3500, 3500], 'from': 0, 'to': 3, 'vmax': 1600, 'acc': 600}, 9230), ('boundary: downward trip', {'heights_mm': [3000, 3500, 4200, 5000], 'from': 3, 'to': 1, 'vmax': 2500, 'acc': 1000}, 5580), ('sampled regression 34', {'heights_mm': [3000, 5000, 3500, 4200, 3500, 3000, 3500], 'from': 3, 'to': 5, 'vmax': 4000, 'acc': 800}, 6205), ('control 37', {'heights_mm': [3000, 3000, 5000, 3000, 5000], 'from': 2, 'to': 4, 'vmax': 1000, 'acc': 1200}, 8834), ('control 40', {'heights_mm': [3000, 3500, 3500, 5000], 'from': 0, 'to': 2, 'vmax': 1600, 'acc': 1000}, 5663)], [('regression: short hop without reaching speed', {'heights_mm': [3000, 3000, 3000, 3000, 3000], 'from': 1, 'to': 2, 'vmax': 4000, 'acc': 800}, 3873), ('sampled regression 34', {'heights_mm': [3000, 5000, 3500, 4200, 3500, 3000, 3500], 'from': 3, 'to': 5, 'vmax': 4000, 'acc': 800}, 6205), ('sampled regression 79', {'heights_mm': [4200, 5000, 4200, 5000, 3500, 5000, 3500, 3500], 'from': 2, 'to': 0, 'vmax': 4000, 'acc': 800}, 6783), ('boundary: downward trip', {'heights_mm': [3000, 3500, 4200, 5000], 'from': 3, 'to': 1, 'vmax': 2500, 'acc': 1000}, 5580), ('boundary: long run at contract speed', {'heights_mm': [4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000], 'from': 0, 'to': 9, 'vmax': 2500, 'acc': 1000}, 16900), ('control 45', {'heights_mm': [5000, 3500, 3000, 3500, 4200, 3000, 3500, 3500, 3500, 4200], 'from': 3, 'to': 8, 'vmax': 1000, 'acc': 1200}, 18534), ('sampled regression 48', {'heights_mm': [5000, 3000, 3500, 3000, 3000, 3500, 3500, 3000, 5000, 3500], 'from': 9, 'to': 8, 'vmax': 4000, 'acc': 1000}, 4473), ('sampled regression 51', {'heights_mm': [4200, 4200, 3000, 5000, 5000, 5000, 3500], 'from': 6, 'to': 5, 'vmax': 4000, 'acc': 800}, 5000)]]\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 toy lift-control contract for a bounded teaching model; it makes no claim of conformance to any lift code or vendor dispatcher and omits real safety cases. 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-elevator_dispatch_scheduling-trip-flight-time-triangular-formula","generated_at":"2026-09-29T14:47:53.034547+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Lift group controllers make these decisions many times per minute; a wrong answer strands passengers, wastes trips or overrides a safety rule.","repair":"Accelerate over half the distance and decelerate over the other half: 2*sqrt(d/acc).","root_cause":"The short-trip time assumes acceleration over the whole distance.","sha256":"63ceb1e3ee3bc1f6c6b87fa73b462df5c29dcb957169b30245d24ed92840f67f","title":"Trip flight time from a trapezoidal profile: triangular formula · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":41.142,"exit_code":1,"observations":[{"actual":4899,"check":"regression: one floor up","expected":3465,"passed":false},{"actual":5478,"check":"sampled regression 10","expected":3873,"passed":false},{"actual":5478,"check":"regression: short hop without reaching speed","expected":3873,"passed":false},{"actual":5580,"check":"boundary: downward trip","expected":5580,"passed":true},{"actual":16900,"check":"boundary: long run at contract speed","expected":16900,"passed":true},{"actual":19521,"check":"control 1","expected":19521,"passed":true},{"actual":0,"check":"control 4","expected":0,"passed":true},{"actual":7164,"check":"control 7","expected":7164,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: one floor up\", \"actual\": 4899, \"expected\": 3465, \"passed\": false}, {\"check\": \"sampled regression 10\", \"actual\": 5478, \"expected\": 3873, \"passed\": false}, {\"check\": \"regression: short hop without reaching speed\", \"actual\": 5478, \"expected\": 3873, \"passed\": false}, {\"check\": \"boundary: downward trip\", \"actual\": 5580, \"expected\": 5580, \"passed\": true}, {\"check\": \"boundary: long run at contract speed\", \"actual\": 16900, \"expected\": 16900, \"passed\": true}, {\"check\": \"control 1\", \"actual\": 19521, \"expected\": 19521, \"passed\": true}, {\"check\": \"control 4\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"control 7\", \"actual\": 7164, \"expected\": 7164, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":41.285,"exit_code":1,"observations":[{"actual":2450,"check":"regression: one floor up","expected":3465,"passed":false},{"actual":2739,"check":"sampled regression 10","expected":3873,"passed":false},{"actual":2739,"check":"regression: short hop without reaching speed","expected":3873,"passed":false},{"actual":5580,"check":"boundary: downward trip","expected":5580,"passed":true},{"actual":16900,"check":"boundary: long run at contract speed","expected":16900,"passed":true},{"actual":19521,"check":"control 1","expected":19521,"passed":true},{"actual":0,"check":"control 4","expected":0,"passed":true},{"actual":7164,"check":"control 7","expected":7164,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: one floor up\", \"actual\": 2450, \"expected\": 3465, \"passed\": false}, {\"check\": \"sampled regression 10\", \"actual\": 2739, \"expected\": 3873, \"passed\": false}, {\"check\": \"regression: short hop without reaching speed\", \"actual\": 2739, \"expected\": 3873, \"passed\": false}, {\"check\": \"boundary: downward trip\", \"actual\": 5580, \"expected\": 5580, \"passed\": true}, {\"check\": \"boundary: long run at contract speed\", \"actual\": 16900, \"expected\": 16900, \"passed\": true}, {\"check\": \"control 1\", \"actual\": 19521, \"expected\": 19521, \"passed\": true}, {\"check\": \"control 4\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"control 7\", \"actual\": 7164, \"expected\": 7164, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":41.084,"exit_code":0,"observations":[{"actual":3465,"check":"regression: one floor up","expected":3465,"passed":true},{"actual":3873,"check":"sampled regression 10","expected":3873,"passed":true},{"actual":3873,"check":"regression: short hop without reaching speed","expected":3873,"passed":true},{"actual":5580,"check":"boundary: downward trip","expected":5580,"passed":true},{"actual":16900,"check":"boundary: long run at contract speed","expected":16900,"passed":true},{"actual":19521,"check":"control 1","expected":19521,"passed":true},{"actual":0,"check":"control 4","expected":0,"passed":true},{"actual":7164,"check":"control 7","expected":7164,"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: one floor up\", \"actual\": 3465, \"expected\": 3465, \"passed\": true}, {\"check\": \"sampled regression 10\", \"actual\": 3873, \"expected\": 3873, \"passed\": true}, {\"check\": \"regression: short hop without reaching speed\", \"actual\": 3873, \"expected\": 3873, \"passed\": true}, {\"check\": \"boundary: downward trip\", \"actual\": 5580, \"expected\": 5580, \"passed\": true}, {\"check\": \"boundary: long run at contract speed\", \"actual\": 16900, \"expected\": 16900, \"passed\": true}, {\"check\": \"control 1\", \"actual\": 19521, \"expected\": 19521, \"passed\": true}, {\"check\": \"control 4\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"control 7\", \"actual\": 7164, \"expected\": 7164, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}