{"abstract":"Exercise happens when the holder is indifferent.","category":"Options payoff and settlement","checks":8,"contract":"Inputs call price, spot, strike, dividend and whether today is the last cum-dividend day. Exercise only on the last cum-dividend day, only if the call is in the money, and only if the dividend is strictly greater than the call's extrinsic value (price - intrinsic). Amounts compared exactly in cents. Return true/false.","evaluation_group":"w2-options_payoff_and_settlement-early-exercise-dividend","failed_approach":"Requiring a one-cent margin rejects dividends exactly one cent above.","family":"w2-options_payoff_and_settlement-early-exercise-dividend-break-even-tie","id":"FA-61786","implementations":{"attempt":{"sha256":"7c7c5f44d425e98dd5c718fde0b2a553d342e96fe3ba191342b96fad68c2eac2","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(call_price, S, K, dividend, last_cum_day):\n    c = round(call_price * 100)\n    intrinsic = max(round(S * 100) - round(K * 100), 0)\n    if not last_cum_day or intrinsic == 0:\n        return False\n    extrinsic = c - intrinsic\n    return round(dividend * 100) > extrinsic + 1\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression break-even tie 1', [15.5, 105.0, 90.0, 0.5, True], False], ['regression break-even tie 2', [8.5, 98.0, 90.0, 0.5, True], False], ['partial repair probe 1', [15.25, 105.0, 90.0, 0.26, True], True], ['partial repair probe 2', [5.5, 105.0, 100.0, 0.51, True], True], ['normal control 1', [21.0, 120.0, 100.0, 0.5, True], False], ['normal control 2', [0.5, 100.0, 100.0, 0.51, True], False], ['normal control 3', [0.5, 100.0, 100.0, 0.5, False], False], ['normal control 4', [1.5, 100.0, 110.0, 1.51, True], False]], [['regression break-even tie 1', [10.5, 100.0, 90.0, 0.5, True], False], ['regression break-even tie 2', [16.5, 105.0, 90.0, 1.5, True], False], ['partial repair probe 1', [15.5, 105.0, 90.0, 0.51, True], True], ['partial repair probe 2', [10.25, 120.0, 110.0, 0.26, True], True], ['normal control 1', [0.25, 98.0, 110.0, 1.0, True], False], ['normal control 2', [0.5, 98.0, 110.0, 0.5, True], False], ['normal control 3', [1.5, 100.0, 100.0, 1.0, True], False], ['normal control 4', [0.25, 98.0, 100.0, 0.26, True], False]], [['regression break-even tie 1', [8.5, 98.0, 90.0, 0.5, True], False], ['regression break-even tie 2', [11.5, 120.0, 110.0, 1.5, True], False], ['partial repair probe 1', [20.25, 120.0, 100.0, 0.26, True], True], ['partial repair probe 2', [11.5, 120.0, 110.0, 1.51, True], True], ['normal control 1', [5.05, 105.0, 100.0, 0.5, True], True], ['normal control 2', [0.25, 105.0, 110.0, 0.5, True], False], ['normal control 3', [10.5, 120.0, 110.0, 1.0, True], True], ['normal control 4', [1.0, 98.0, 100.0, 0.5, True], False]], [['regression break-even tie 1', [15.5, 105.0, 90.0, 0.5, True], False], ['regression break-even tie 2', [20.25, 120.0, 100.0, 0.25, True], False], ['partial repair probe 1', [11.0, 120.0, 110.0, 1.01, True], True], ['partial repair probe 2', [5.5, 105.0, 100.0, 0.51, True], True], ['normal control 1', [8.05, 98.0, 90.0, 0.05, False], False], ['normal control 2', [0.25, 100.0, 110.0, 0.5, True], False], ['normal control 3', [9.5, 98.0, 90.0, 1.51, False], False], ['normal control 4', [1.0, 98.0, 100.0, 1.0, True], False]], [['regression break-even tie 1', [10.25, 120.0, 110.0, 0.25, True], False], ['regression break-even tie 2', [11.0, 120.0, 110.0, 1.0, True], False], ['partial repair probe 1', [11.0, 120.0, 110.0, 1.01, True], True], ['partial repair probe 2', [6.5, 105.0, 100.0, 1.51, True], True], ['normal control 1', [0.5, 105.0, 110.0, 0.25, True], False], ['normal control 2', [1.0, 98.0, 100.0, 0.5, True], False], ['normal control 3', [8.05, 98.0, 90.0, 0.060000000000000005, False], False], ['normal control 4', [0.25, 98.0, 100.0, 1.0, True], False]]]\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":"fbdad43036c9d74161dc1dd1c3553207b3f9d04e3b5a2aa32b9fe6f024281a77","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(call_price, S, K, dividend, last_cum_day):\n    c = round(call_price * 100)\n    intrinsic = max(round(S * 100) - round(K * 100), 0)\n    if not last_cum_day or intrinsic == 0:\n        return False\n    extrinsic = c - intrinsic\n    return round(dividend * 100) >= extrinsic\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression break-even tie 1', [15.5, 105.0, 90.0, 0.5, True], False], ['regression break-even tie 2', [8.5, 98.0, 90.0, 0.5, True], False], ['partial repair probe 1', [15.25, 105.0, 90.0, 0.26, True], True], ['partial repair probe 2', [5.5, 105.0, 100.0, 0.51, True], True], ['normal control 1', [21.0, 120.0, 100.0, 0.5, True], False], ['normal control 2', [0.5, 100.0, 100.0, 0.51, True], False], ['normal control 3', [0.5, 100.0, 100.0, 0.5, False], False], ['normal control 4', [1.5, 100.0, 110.0, 1.51, True], False]], [['regression break-even tie 1', [10.5, 100.0, 90.0, 0.5, True], False], ['regression break-even tie 2', [16.5, 105.0, 90.0, 1.5, True], False], ['partial repair probe 1', [15.5, 105.0, 90.0, 0.51, True], True], ['partial repair probe 2', [10.25, 120.0, 110.0, 0.26, True], True], ['normal control 1', [0.25, 98.0, 110.0, 1.0, True], False], ['normal control 2', [0.5, 98.0, 110.0, 0.5, True], False], ['normal control 3', [1.5, 100.0, 100.0, 1.0, True], False], ['normal control 4', [0.25, 98.0, 100.0, 0.26, True], False]], [['regression break-even tie 1', [8.5, 98.0, 90.0, 0.5, True], False], ['regression break-even tie 2', [11.5, 120.0, 110.0, 1.5, True], False], ['partial repair probe 1', [20.25, 120.0, 100.0, 0.26, True], True], ['partial repair probe 2', [11.5, 120.0, 110.0, 1.51, True], True], ['normal control 1', [5.05, 105.0, 100.0, 0.5, True], True], ['normal control 2', [0.25, 105.0, 110.0, 0.5, True], False], ['normal control 3', [10.5, 120.0, 110.0, 1.0, True], True], ['normal control 4', [1.0, 98.0, 100.0, 0.5, True], False]], [['regression break-even tie 1', [15.5, 105.0, 90.0, 0.5, True], False], ['regression break-even tie 2', [20.25, 120.0, 100.0, 0.25, True], False], ['partial repair probe 1', [11.0, 120.0, 110.0, 1.01, True], True], ['partial repair probe 2', [5.5, 105.0, 100.0, 0.51, True], True], ['normal control 1', [8.05, 98.0, 90.0, 0.05, False], False], ['normal control 2', [0.25, 100.0, 110.0, 0.5, True], False], ['normal control 3', [9.5, 98.0, 90.0, 1.51, False], False], ['normal control 4', [1.0, 98.0, 100.0, 1.0, True], False]], [['regression break-even tie 1', [10.25, 120.0, 110.0, 0.25, True], False], ['regression break-even tie 2', [11.0, 120.0, 110.0, 1.0, True], False], ['partial repair probe 1', [11.0, 120.0, 110.0, 1.01, True], True], ['partial repair probe 2', [6.5, 105.0, 100.0, 1.51, True], True], ['normal control 1', [0.5, 105.0, 110.0, 0.25, True], False], ['normal control 2', [1.0, 98.0, 100.0, 0.5, True], False], ['normal control 3', [8.05, 98.0, 90.0, 0.060000000000000005, False], False], ['normal control 4', [0.25, 98.0, 100.0, 1.0, True], False]]]\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":"33d57d828a5552e3c164ae04b857a1e32d57f4c2e8570bbb10d3d806cd5e9faf","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(call_price, S, K, dividend, last_cum_day):\n    c = round(call_price * 100)\n    intrinsic = max(round(S * 100) - round(K * 100), 0)\n    if not last_cum_day or intrinsic == 0:\n        return False\n    extrinsic = c - intrinsic\n    return round(dividend * 100) > extrinsic\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression break-even tie 1', [15.5, 105.0, 90.0, 0.5, True], False], ['regression break-even tie 2', [8.5, 98.0, 90.0, 0.5, True], False], ['partial repair probe 1', [15.25, 105.0, 90.0, 0.26, True], True], ['partial repair probe 2', [5.5, 105.0, 100.0, 0.51, True], True], ['normal control 1', [21.0, 120.0, 100.0, 0.5, True], False], ['normal control 2', [0.5, 100.0, 100.0, 0.51, True], False], ['normal control 3', [0.5, 100.0, 100.0, 0.5, False], False], ['normal control 4', [1.5, 100.0, 110.0, 1.51, True], False]], [['regression break-even tie 1', [10.5, 100.0, 90.0, 0.5, True], False], ['regression break-even tie 2', [16.5, 105.0, 90.0, 1.5, True], False], ['partial repair probe 1', [15.5, 105.0, 90.0, 0.51, True], True], ['partial repair probe 2', [10.25, 120.0, 110.0, 0.26, True], True], ['normal control 1', [0.25, 98.0, 110.0, 1.0, True], False], ['normal control 2', [0.5, 98.0, 110.0, 0.5, True], False], ['normal control 3', [1.5, 100.0, 100.0, 1.0, True], False], ['normal control 4', [0.25, 98.0, 100.0, 0.26, True], False]], [['regression break-even tie 1', [8.5, 98.0, 90.0, 0.5, True], False], ['regression break-even tie 2', [11.5, 120.0, 110.0, 1.5, True], False], ['partial repair probe 1', [20.25, 120.0, 100.0, 0.26, True], True], ['partial repair probe 2', [11.5, 120.0, 110.0, 1.51, True], True], ['normal control 1', [5.05, 105.0, 100.0, 0.5, True], True], ['normal control 2', [0.25, 105.0, 110.0, 0.5, True], False], ['normal control 3', [10.5, 120.0, 110.0, 1.0, True], True], ['normal control 4', [1.0, 98.0, 100.0, 0.5, True], False]], [['regression break-even tie 1', [15.5, 105.0, 90.0, 0.5, True], False], ['regression break-even tie 2', [20.25, 120.0, 100.0, 0.25, True], False], ['partial repair probe 1', [11.0, 120.0, 110.0, 1.01, True], True], ['partial repair probe 2', [5.5, 105.0, 100.0, 0.51, True], True], ['normal control 1', [8.05, 98.0, 90.0, 0.05, False], False], ['normal control 2', [0.25, 100.0, 110.0, 0.5, True], False], ['normal control 3', [9.5, 98.0, 90.0, 1.51, False], False], ['normal control 4', [1.0, 98.0, 100.0, 1.0, True], False]], [['regression break-even tie 1', [10.25, 120.0, 110.0, 0.25, True], False], ['regression break-even tie 2', [11.0, 120.0, 110.0, 1.0, True], False], ['partial repair probe 1', [11.0, 120.0, 110.0, 1.01, True], True], ['partial repair probe 2', [6.5, 105.0, 100.0, 1.51, True], True], ['normal control 1', [0.5, 105.0, 110.0, 0.25, True], False], ['normal control 2', [1.0, 98.0, 100.0, 0.5, True], False], ['normal control 3', [8.05, 98.0, 90.0, 0.060000000000000005, False], False], ['normal control 4', [0.25, 98.0, 100.0, 1.0, True], False]]]\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 contract stated explicitly in the contract field; no claim of conformance to any exchange or clearing rulebook. 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-options_payoff_and_settlement-early-exercise-dividend-break-even-tie","generated_at":"2026-09-29T14:46:58.517489+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Option expiry, exercise and settlement engines move cash and shares; a wrong branch misstates obligations.","repair":"Exercise only when the dividend strictly exceeds extrinsic value.","root_cause":"The comparison is >=.","sha256":"06fe5b26b6e7121c9643c453ffa2feb98e58c1ea8e1ae1c523023f28ac4c00b7","title":"Early call exercise before an ex-dividend date: a dividend equal to extrinsic value triggers exercise · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":41.763,"exit_code":1,"observations":[{"actual":false,"check":"regression break-even tie 1","expected":false,"passed":true},{"actual":false,"check":"regression break-even tie 2","expected":false,"passed":true},{"actual":false,"check":"partial repair probe 1","expected":true,"passed":false},{"actual":false,"check":"partial repair probe 2","expected":true,"passed":false},{"actual":false,"check":"normal control 1","expected":false,"passed":true},{"actual":false,"check":"normal control 2","expected":false,"passed":true},{"actual":false,"check":"normal control 3","expected":false,"passed":true},{"actual":false,"check":"normal control 4","expected":false,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression break-even tie 1\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"regression break-even tie 2\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"partial repair probe 1\", \"actual\": false, \"expected\": true, \"passed\": false}, {\"check\": \"partial repair probe 2\", \"actual\": false, \"expected\": true, \"passed\": false}, {\"check\": \"normal control 1\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"normal control 3\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"normal control 4\", \"actual\": false, \"expected\": false, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":43.169,"exit_code":1,"observations":[{"actual":true,"check":"regression break-even tie 1","expected":false,"passed":false},{"actual":true,"check":"regression break-even tie 2","expected":false,"passed":false},{"actual":true,"check":"partial repair probe 1","expected":true,"passed":true},{"actual":true,"check":"partial repair probe 2","expected":true,"passed":true},{"actual":false,"check":"normal control 1","expected":false,"passed":true},{"actual":false,"check":"normal control 2","expected":false,"passed":true},{"actual":false,"check":"normal control 3","expected":false,"passed":true},{"actual":false,"check":"normal control 4","expected":false,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression break-even tie 1\", \"actual\": true, \"expected\": false, \"passed\": false}, {\"check\": \"regression break-even tie 2\", \"actual\": true, \"expected\": false, \"passed\": false}, {\"check\": \"partial repair probe 1\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"partial repair probe 2\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"normal control 1\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"normal control 3\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"normal control 4\", \"actual\": false, \"expected\": false, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":41.758,"exit_code":0,"observations":[{"actual":false,"check":"regression break-even tie 1","expected":false,"passed":true},{"actual":false,"check":"regression break-even tie 2","expected":false,"passed":true},{"actual":true,"check":"partial repair probe 1","expected":true,"passed":true},{"actual":true,"check":"partial repair probe 2","expected":true,"passed":true},{"actual":false,"check":"normal control 1","expected":false,"passed":true},{"actual":false,"check":"normal control 2","expected":false,"passed":true},{"actual":false,"check":"normal control 3","expected":false,"passed":true},{"actual":false,"check":"normal control 4","expected":false,"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression break-even tie 1\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"regression break-even tie 2\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"partial repair probe 1\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"partial repair probe 2\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"normal control 1\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"normal control 3\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"normal control 4\", \"actual\": false, \"expected\": false, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}