{"abstract":"Additive fair probabilities sum to well below one.","category":"Betting odds conversion","checks":8,"contract":"Remove the bookmaker margin from decimal prices (implied p = 1/d, book = sum p > 1 assumed). multiplicative: p / book. additive: p - (book - 1) / n; if any result is negative return \"additive infeasible\". power: p ** k with k found by 60 bisection steps on [1, 10] so that the powered probabilities sum to 1 (k = midpoint of the final bracket). Any other method returns \"invalid method\". Return the fair probabilities formatted \"%.4f\".","evaluation_group":"w2-odds-conversion-margin-removal-methods","failed_approach":"Dividing by n - 1 over-corrects every outcome.","family":"w2-odds-conversion-margin-removal-methods-additive-share","id":"FA-84431","implementations":{"attempt":{"sha256":"a02cd8c16a262da22697ceb24e3900966e0544352563f9e015aa4a565c705655","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(prices, method):\n    ps = [1 / float(d) for d in prices]\n    book = sum(ps)\n    n = len(ps)\n    if method == 'multiplicative':\n        fair = [p / book for p in ps]\n    elif method == 'additive':\n        fair = [p - (book - 1) / (n - 1) for p in ps]\n        if any(x < 0 for x in fair):\n            return 'additive infeasible'\n    elif method == 'power':\n        lo, hi = 1.0, 10.0\n        for _ in range(60):\n            mid = (lo + hi) / 2\n            if sum(p ** mid for p in ps) > 1:\n                lo = mid\n            else:\n                hi = mid\n        k = (lo + hi) / 2\n        fair = [p ** k for p in ps]\n    else:\n        return 'invalid method'\n    return ['%.4f' % x for x in fair]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ndef run(args):\n    try:\n        return solve(*args)\n    except Exception as exc:\n        return 'raised ' + type(exc).__name__\ncases = [[('control multiplicative', (['1.80', '2.00'], 'multiplicative'), ['0.5263', '0.4737']),\n  ('control additive', (['1.80', '2.00'], 'additive'), ['0.5278', '0.4722']),\n  ('control power', (['1.80', '2.00'], 'power'), ['0.5285', '0.4715']),\n  ('boundary additive longshot',\n   (['1.01', '15.00', '100.00', '100.00'], 'additive'),\n   'additive infeasible'),\n  ('boundary unknown method', (['1.80', '2.00'], 'shin'), 'invalid method'),\n  ('regression: additive share',\n   (['4.24', '2.41', '2.26'], 'additive'),\n   ['0.2048', '0.3838', '0.4114']),\n  ('variant scenario 1',\n   (['3.13', '10.94', '3.74', '3.80', '7.37'], 'power'),\n   ['0.3013', '0.0808', '0.2498', '0.2457', '0.1224']),\n  ('variant scenario 2', (['2.76', '4.20', '18.02', '17.82', '2.41'], 'shin'), 'invalid method')],\n [('control multiplicative', (['1.80', '2.00'], 'multiplicative'), ['0.5263', '0.4737']),\n  ('control additive', (['1.80', '2.00'], 'additive'), ['0.5278', '0.4722']),\n  ('control power', (['1.80', '2.00'], 'power'), ['0.5285', '0.4715']),\n  ('boundary additive longshot',\n   (['1.01', '15.00', '100.00', '100.00'], 'additive'),\n   'additive infeasible'),\n  ('boundary unknown method', (['1.80', '2.00'], 'shin'), 'invalid method'),\n  ('regression: additive share', (['1.06', '13.81'], 'additive'), ['0.9355', '0.0645']),\n  ('variant scenario 1',\n   (['4.95', '1.53', '3.74'], 'multiplicative'),\n   ['0.1799', '0.5820', '0.2381']),\n  ('variant scenario 2', (['2.57', '2.14', '3.17'], 'power'), ['0.3310', '0.4102', '0.2589'])],\n [('control multiplicative', (['1.80', '2.00'], 'multiplicative'), ['0.5263', '0.4737']),\n  ('control additive', (['1.80', '2.00'], 'additive'), ['0.5278', '0.4722']),\n  ('control power', (['1.80', '2.00'], 'power'), ['0.5285', '0.4715']),\n  ('boundary additive longshot',\n   (['1.01', '15.00', '100.00', '100.00'], 'additive'),\n   'additive infeasible'),\n  ('boundary unknown method', (['1.80', '2.00'], 'shin'), 'invalid method'),\n  ('regression: additive share',\n   (['5.15', '6.00', '9.30', '3.30', '3.41'], 'additive'),\n   ['0.1812', '0.1537', '0.0946', '0.2901', '0.2803']),\n  ('variant scenario 1', (['3.47', '2.27', '4.50', '6.40', '11.33'], 'shin'), 'invalid method'),\n  ('variant scenario 2',\n   (['1.19', '4.17', '10.00'], 'multiplicative'),\n   ['0.7121', '0.2032', '0.0847'])],\n [('control multiplicative', (['1.80', '2.00'], 'multiplicative'), ['0.5263', '0.4737']),\n  ('control additive', (['1.80', '2.00'], 'additive'), ['0.5278', '0.4722']),\n  ('control power', (['1.80', '2.00'], 'power'), ['0.5285', '0.4715']),\n  ('boundary additive longshot',\n   (['1.01', '15.00', '100.00', '100.00'], 'additive'),\n   'additive infeasible'),\n  ('boundary unknown method', (['1.80', '2.00'], 'shin'), 'invalid method'),\n  ('regression: additive share',\n   (['12.06', '6.47', '2.90', '3.41', '4.16'], 'additive'),\n   ['0.0597', '0.1314', '0.3216', '0.2701', '0.2172']),\n  ('variant scenario 1', (['1.79', '3.93', '3.07'], 'power'), ['0.5138', '0.2090', '0.2772']),\n  ('variant scenario 2',\n   (['34.48', '3.06', '3.75', '8.76', '3.57'], 'multiplicative'),\n   ['0.0285', '0.3214', '0.2623', '0.1123', '0.2755'])],\n [('control multiplicative', (['1.80', '2.00'], 'multiplicative'), ['0.5263', '0.4737']),\n  ('control additive', (['1.80', '2.00'], 'additive'), ['0.5278', '0.4722']),\n  ('control power', (['1.80', '2.00'], 'power'), ['0.5285', '0.4715']),\n  ('boundary additive longshot',\n   (['1.01', '15.00', '100.00', '100.00'], 'additive'),\n   'additive infeasible'),\n  ('boundary unknown method', (['1.80', '2.00'], 'shin'), 'invalid method'),\n  ('regression: additive share',\n   (['2.21', '2.18', '7.95', '13.06'], 'additive'),\n   ['0.4241', '0.4303', '0.0974', '0.0482']),\n  ('variant scenario 1',\n   (['2.60', '6.34', '4.18', '2.94'], 'power'),\n   ['0.3514', '0.1325', '0.2090', '0.3072']),\n  ('variant scenario 2',\n   (['2.29', '2.38', '4.59', '9.61'], 'power'),\n   ['0.3850', '0.3683', '0.1728', '0.0738'])]]\nfor label, args, expected in cases[N - 1]:\n    check(label, run(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":"9c8c69feb4bfe539052267b95792cfd311ef0ce7f98b639cdccd4e6c40e53986","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(prices, method):\n    ps = [1 / float(d) for d in prices]\n    book = sum(ps)\n    n = len(ps)\n    if method == 'multiplicative':\n        fair = [p / book for p in ps]\n    elif method == 'additive':\n        fair = [p - (book - 1) for p in ps]\n        if any(x < 0 for x in fair):\n            return 'additive infeasible'\n    elif method == 'power':\n        lo, hi = 1.0, 10.0\n        for _ in range(60):\n            mid = (lo + hi) / 2\n            if sum(p ** mid for p in ps) > 1:\n                lo = mid\n            else:\n                hi = mid\n        k = (lo + hi) / 2\n        fair = [p ** k for p in ps]\n    else:\n        return 'invalid method'\n    return ['%.4f' % x for x in fair]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ndef run(args):\n    try:\n        return solve(*args)\n    except Exception as exc:\n        return 'raised ' + type(exc).__name__\ncases = [[('control multiplicative', (['1.80', '2.00'], 'multiplicative'), ['0.5263', '0.4737']),\n  ('control additive', (['1.80', '2.00'], 'additive'), ['0.5278', '0.4722']),\n  ('control power', (['1.80', '2.00'], 'power'), ['0.5285', '0.4715']),\n  ('boundary additive longshot',\n   (['1.01', '15.00', '100.00', '100.00'], 'additive'),\n   'additive infeasible'),\n  ('boundary unknown method', (['1.80', '2.00'], 'shin'), 'invalid method'),\n  ('regression: additive share',\n   (['4.24', '2.41', '2.26'], 'additive'),\n   ['0.2048', '0.3838', '0.4114']),\n  ('variant scenario 1',\n   (['3.13', '10.94', '3.74', '3.80', '7.37'], 'power'),\n   ['0.3013', '0.0808', '0.2498', '0.2457', '0.1224']),\n  ('variant scenario 2', (['2.76', '4.20', '18.02', '17.82', '2.41'], 'shin'), 'invalid method')],\n [('control multiplicative', (['1.80', '2.00'], 'multiplicative'), ['0.5263', '0.4737']),\n  ('control additive', (['1.80', '2.00'], 'additive'), ['0.5278', '0.4722']),\n  ('control power', (['1.80', '2.00'], 'power'), ['0.5285', '0.4715']),\n  ('boundary additive longshot',\n   (['1.01', '15.00', '100.00', '100.00'], 'additive'),\n   'additive infeasible'),\n  ('boundary unknown method', (['1.80', '2.00'], 'shin'), 'invalid method'),\n  ('regression: additive share', (['1.06', '13.81'], 'additive'), ['0.9355', '0.0645']),\n  ('variant scenario 1',\n   (['4.95', '1.53', '3.74'], 'multiplicative'),\n   ['0.1799', '0.5820', '0.2381']),\n  ('variant scenario 2', (['2.57', '2.14', '3.17'], 'power'), ['0.3310', '0.4102', '0.2589'])],\n [('control multiplicative', (['1.80', '2.00'], 'multiplicative'), ['0.5263', '0.4737']),\n  ('control additive', (['1.80', '2.00'], 'additive'), ['0.5278', '0.4722']),\n  ('control power', (['1.80', '2.00'], 'power'), ['0.5285', '0.4715']),\n  ('boundary additive longshot',\n   (['1.01', '15.00', '100.00', '100.00'], 'additive'),\n   'additive infeasible'),\n  ('boundary unknown method', (['1.80', '2.00'], 'shin'), 'invalid method'),\n  ('regression: additive share',\n   (['5.15', '6.00', '9.30', '3.30', '3.41'], 'additive'),\n   ['0.1812', '0.1537', '0.0946', '0.2901', '0.2803']),\n  ('variant scenario 1', (['3.47', '2.27', '4.50', '6.40', '11.33'], 'shin'), 'invalid method'),\n  ('variant scenario 2',\n   (['1.19', '4.17', '10.00'], 'multiplicative'),\n   ['0.7121', '0.2032', '0.0847'])],\n [('control multiplicative', (['1.80', '2.00'], 'multiplicative'), ['0.5263', '0.4737']),\n  ('control additive', (['1.80', '2.00'], 'additive'), ['0.5278', '0.4722']),\n  ('control power', (['1.80', '2.00'], 'power'), ['0.5285', '0.4715']),\n  ('boundary additive longshot',\n   (['1.01', '15.00', '100.00', '100.00'], 'additive'),\n   'additive infeasible'),\n  ('boundary unknown method', (['1.80', '2.00'], 'shin'), 'invalid method'),\n  ('regression: additive share',\n   (['12.06', '6.47', '2.90', '3.41', '4.16'], 'additive'),\n   ['0.0597', '0.1314', '0.3216', '0.2701', '0.2172']),\n  ('variant scenario 1', (['1.79', '3.93', '3.07'], 'power'), ['0.5138', '0.2090', '0.2772']),\n  ('variant scenario 2',\n   (['34.48', '3.06', '3.75', '8.76', '3.57'], 'multiplicative'),\n   ['0.0285', '0.3214', '0.2623', '0.1123', '0.2755'])],\n [('control multiplicative', (['1.80', '2.00'], 'multiplicative'), ['0.5263', '0.4737']),\n  ('control additive', (['1.80', '2.00'], 'additive'), ['0.5278', '0.4722']),\n  ('control power', (['1.80', '2.00'], 'power'), ['0.5285', '0.4715']),\n  ('boundary additive longshot',\n   (['1.01', '15.00', '100.00', '100.00'], 'additive'),\n   'additive infeasible'),\n  ('boundary unknown method', (['1.80', '2.00'], 'shin'), 'invalid method'),\n  ('regression: additive share',\n   (['2.21', '2.18', '7.95', '13.06'], 'additive'),\n   ['0.4241', '0.4303', '0.0974', '0.0482']),\n  ('variant scenario 1',\n   (['2.60', '6.34', '4.18', '2.94'], 'power'),\n   ['0.3514', '0.1325', '0.2090', '0.3072']),\n  ('variant scenario 2',\n   (['2.29', '2.38', '4.59', '9.61'], 'power'),\n   ['0.3850', '0.3683', '0.1728', '0.0738'])]]\nfor label, args, expected in cases[N - 1]:\n    check(label, run(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":"6236d5a234d697cd34c075957924412f2441d0c6545b2e65d8cf62d83b20456e","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(prices, method):\n    ps = [1 / float(d) for d in prices]\n    book = sum(ps)\n    n = len(ps)\n    if method == 'multiplicative':\n        fair = [p / book for p in ps]\n    elif method == 'additive':\n        fair = [p - (book - 1) / n for p in ps]\n        if any(x < 0 for x in fair):\n            return 'additive infeasible'\n    elif method == 'power':\n        lo, hi = 1.0, 10.0\n        for _ in range(60):\n            mid = (lo + hi) / 2\n            if sum(p ** mid for p in ps) > 1:\n                lo = mid\n            else:\n                hi = mid\n        k = (lo + hi) / 2\n        fair = [p ** k for p in ps]\n    else:\n        return 'invalid method'\n    return ['%.4f' % x for x in fair]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ndef run(args):\n    try:\n        return solve(*args)\n    except Exception as exc:\n        return 'raised ' + type(exc).__name__\ncases = [[('control multiplicative', (['1.80', '2.00'], 'multiplicative'), ['0.5263', '0.4737']),\n  ('control additive', (['1.80', '2.00'], 'additive'), ['0.5278', '0.4722']),\n  ('control power', (['1.80', '2.00'], 'power'), ['0.5285', '0.4715']),\n  ('boundary additive longshot',\n   (['1.01', '15.00', '100.00', '100.00'], 'additive'),\n   'additive infeasible'),\n  ('boundary unknown method', (['1.80', '2.00'], 'shin'), 'invalid method'),\n  ('regression: additive share',\n   (['4.24', '2.41', '2.26'], 'additive'),\n   ['0.2048', '0.3838', '0.4114']),\n  ('variant scenario 1',\n   (['3.13', '10.94', '3.74', '3.80', '7.37'], 'power'),\n   ['0.3013', '0.0808', '0.2498', '0.2457', '0.1224']),\n  ('variant scenario 2', (['2.76', '4.20', '18.02', '17.82', '2.41'], 'shin'), 'invalid method')],\n [('control multiplicative', (['1.80', '2.00'], 'multiplicative'), ['0.5263', '0.4737']),\n  ('control additive', (['1.80', '2.00'], 'additive'), ['0.5278', '0.4722']),\n  ('control power', (['1.80', '2.00'], 'power'), ['0.5285', '0.4715']),\n  ('boundary additive longshot',\n   (['1.01', '15.00', '100.00', '100.00'], 'additive'),\n   'additive infeasible'),\n  ('boundary unknown method', (['1.80', '2.00'], 'shin'), 'invalid method'),\n  ('regression: additive share', (['1.06', '13.81'], 'additive'), ['0.9355', '0.0645']),\n  ('variant scenario 1',\n   (['4.95', '1.53', '3.74'], 'multiplicative'),\n   ['0.1799', '0.5820', '0.2381']),\n  ('variant scenario 2', (['2.57', '2.14', '3.17'], 'power'), ['0.3310', '0.4102', '0.2589'])],\n [('control multiplicative', (['1.80', '2.00'], 'multiplicative'), ['0.5263', '0.4737']),\n  ('control additive', (['1.80', '2.00'], 'additive'), ['0.5278', '0.4722']),\n  ('control power', (['1.80', '2.00'], 'power'), ['0.5285', '0.4715']),\n  ('boundary additive longshot',\n   (['1.01', '15.00', '100.00', '100.00'], 'additive'),\n   'additive infeasible'),\n  ('boundary unknown method', (['1.80', '2.00'], 'shin'), 'invalid method'),\n  ('regression: additive share',\n   (['5.15', '6.00', '9.30', '3.30', '3.41'], 'additive'),\n   ['0.1812', '0.1537', '0.0946', '0.2901', '0.2803']),\n  ('variant scenario 1', (['3.47', '2.27', '4.50', '6.40', '11.33'], 'shin'), 'invalid method'),\n  ('variant scenario 2',\n   (['1.19', '4.17', '10.00'], 'multiplicative'),\n   ['0.7121', '0.2032', '0.0847'])],\n [('control multiplicative', (['1.80', '2.00'], 'multiplicative'), ['0.5263', '0.4737']),\n  ('control additive', (['1.80', '2.00'], 'additive'), ['0.5278', '0.4722']),\n  ('control power', (['1.80', '2.00'], 'power'), ['0.5285', '0.4715']),\n  ('boundary additive longshot',\n   (['1.01', '15.00', '100.00', '100.00'], 'additive'),\n   'additive infeasible'),\n  ('boundary unknown method', (['1.80', '2.00'], 'shin'), 'invalid method'),\n  ('regression: additive share',\n   (['12.06', '6.47', '2.90', '3.41', '4.16'], 'additive'),\n   ['0.0597', '0.1314', '0.3216', '0.2701', '0.2172']),\n  ('variant scenario 1', (['1.79', '3.93', '3.07'], 'power'), ['0.5138', '0.2090', '0.2772']),\n  ('variant scenario 2',\n   (['34.48', '3.06', '3.75', '8.76', '3.57'], 'multiplicative'),\n   ['0.0285', '0.3214', '0.2623', '0.1123', '0.2755'])],\n [('control multiplicative', (['1.80', '2.00'], 'multiplicative'), ['0.5263', '0.4737']),\n  ('control additive', (['1.80', '2.00'], 'additive'), ['0.5278', '0.4722']),\n  ('control power', (['1.80', '2.00'], 'power'), ['0.5285', '0.4715']),\n  ('boundary additive longshot',\n   (['1.01', '15.00', '100.00', '100.00'], 'additive'),\n   'additive infeasible'),\n  ('boundary unknown method', (['1.80', '2.00'], 'shin'), 'invalid method'),\n  ('regression: additive share',\n   (['2.21', '2.18', '7.95', '13.06'], 'additive'),\n   ['0.4241', '0.4303', '0.0974', '0.0482']),\n  ('variant scenario 1',\n   (['2.60', '6.34', '4.18', '2.94'], 'power'),\n   ['0.3514', '0.1325', '0.2090', '0.3072']),\n  ('variant scenario 2',\n   (['2.29', '2.38', '4.59', '9.61'], 'power'),\n   ['0.3850', '0.3683', '0.1728', '0.0738'])]]\nfor label, args, expected in cases[N - 1]:\n    check(label, run(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, bounded toy contract stated in the contract field; not a claim of conformance with any operator, exchange or regulator rule set. 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-odds-conversion-margin-removal-methods-additive-share","generated_at":"2026-09-29T14:50:30.921937+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Pricing models strip margins differently; favourite-longshot bias makes the method matter.","repair":"Subtract (book - 1) / n from each outcome.","root_cause":"The overround is subtracted in full from each outcome instead of an equal share.","sha256":"fc76fd4d730f2163935d6302f7860e7448a907772cbd48025ff31dc9e99c808f","title":"Additive method subtracts the whole overround from every outcome · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":41.897,"exit_code":1,"observations":[{"actual":["0.5263","0.4737"],"check":"control multiplicative","expected":["0.5263","0.4737"],"passed":true},{"actual":["0.5000","0.4444"],"check":"control additive","expected":["0.5278","0.4722"],"passed":false},{"actual":["0.5285","0.4715"],"check":"control power","expected":["0.5285","0.4715"],"passed":true},{"actual":"additive infeasible","check":"boundary additive longshot","expected":"additive infeasible","passed":true},{"actual":"invalid method","check":"boundary unknown method","expected":"invalid method","passed":true},{"actual":["0.1892","0.3683","0.3958"],"check":"regression: additive share","expected":["0.2048","0.3838","0.4114"],"passed":false},{"actual":["0.3013","0.0808","0.2498","0.2457","0.1224"],"check":"variant scenario 1","expected":["0.3013","0.0808","0.2498","0.2457","0.1224"],"passed":true},{"actual":"invalid method","check":"variant scenario 2","expected":"invalid method","passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"control multiplicative\", \"actual\": [\"0.5263\", \"0.4737\"], \"expected\": [\"0.5263\", \"0.4737\"], \"passed\": true}, {\"check\": \"control additive\", \"actual\": [\"0.5000\", \"0.4444\"], \"expected\": [\"0.5278\", \"0.4722\"], \"passed\": false}, {\"check\": \"control power\", \"actual\": [\"0.5285\", \"0.4715\"], \"expected\": [\"0.5285\", \"0.4715\"], \"passed\": true}, {\"check\": \"boundary additive longshot\", \"actual\": \"additive infeasible\", \"expected\": \"additive infeasible\", \"passed\": true}, {\"check\": \"boundary unknown method\", \"actual\": \"invalid method\", \"expected\": \"invalid method\", \"passed\": true}, {\"check\": \"regression: additive share\", \"actual\": [\"0.1892\", \"0.3683\", \"0.3958\"], \"expected\": [\"0.2048\", \"0.3838\", \"0.4114\"], \"passed\": false}, {\"check\": \"variant scenario 1\", \"actual\": [\"0.3013\", \"0.0808\", \"0.2498\", \"0.2457\", \"0.1224\"], \"expected\": [\"0.3013\", \"0.0808\", \"0.2498\", \"0.2457\", \"0.1224\"], \"passed\": true}, {\"check\": \"variant scenario 2\", \"actual\": \"invalid method\", \"expected\": \"invalid method\", \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":42.588,"exit_code":1,"observations":[{"actual":["0.5263","0.4737"],"check":"control multiplicative","expected":["0.5263","0.4737"],"passed":true},{"actual":["0.5000","0.4444"],"check":"control additive","expected":["0.5278","0.4722"],"passed":false},{"actual":["0.5285","0.4715"],"check":"control power","expected":["0.5285","0.4715"],"passed":true},{"actual":"additive infeasible","check":"boundary additive longshot","expected":"additive infeasible","passed":true},{"actual":"invalid method","check":"boundary unknown method","expected":"invalid method","passed":true},{"actual":["0.1426","0.3217","0.3492"],"check":"regression: additive share","expected":["0.2048","0.3838","0.4114"],"passed":false},{"actual":["0.3013","0.0808","0.2498","0.2457","0.1224"],"check":"variant scenario 1","expected":["0.3013","0.0808","0.2498","0.2457","0.1224"],"passed":true},{"actual":"invalid method","check":"variant scenario 2","expected":"invalid method","passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"control multiplicative\", \"actual\": [\"0.5263\", \"0.4737\"], \"expected\": [\"0.5263\", \"0.4737\"], \"passed\": true}, {\"check\": \"control additive\", \"actual\": [\"0.5000\", \"0.4444\"], \"expected\": [\"0.5278\", \"0.4722\"], \"passed\": false}, {\"check\": \"control power\", \"actual\": [\"0.5285\", \"0.4715\"], \"expected\": [\"0.5285\", \"0.4715\"], \"passed\": true}, {\"check\": \"boundary additive longshot\", \"actual\": \"additive infeasible\", \"expected\": \"additive infeasible\", \"passed\": true}, {\"check\": \"boundary unknown method\", \"actual\": \"invalid method\", \"expected\": \"invalid method\", \"passed\": true}, {\"check\": \"regression: additive share\", \"actual\": [\"0.1426\", \"0.3217\", \"0.3492\"], \"expected\": [\"0.2048\", \"0.3838\", \"0.4114\"], \"passed\": false}, {\"check\": \"variant scenario 1\", \"actual\": [\"0.3013\", \"0.0808\", \"0.2498\", \"0.2457\", \"0.1224\"], \"expected\": [\"0.3013\", \"0.0808\", \"0.2498\", \"0.2457\", \"0.1224\"], \"passed\": true}, {\"check\": \"variant scenario 2\", \"actual\": \"invalid method\", \"expected\": \"invalid method\", \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":38.899,"exit_code":0,"observations":[{"actual":["0.5263","0.4737"],"check":"control multiplicative","expected":["0.5263","0.4737"],"passed":true},{"actual":["0.5278","0.4722"],"check":"control additive","expected":["0.5278","0.4722"],"passed":true},{"actual":["0.5285","0.4715"],"check":"control power","expected":["0.5285","0.4715"],"passed":true},{"actual":"additive infeasible","check":"boundary additive longshot","expected":"additive infeasible","passed":true},{"actual":"invalid method","check":"boundary unknown method","expected":"invalid method","passed":true},{"actual":["0.2048","0.3838","0.4114"],"check":"regression: additive share","expected":["0.2048","0.3838","0.4114"],"passed":true},{"actual":["0.3013","0.0808","0.2498","0.2457","0.1224"],"check":"variant scenario 1","expected":["0.3013","0.0808","0.2498","0.2457","0.1224"],"passed":true},{"actual":"invalid method","check":"variant scenario 2","expected":"invalid method","passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"control multiplicative\", \"actual\": [\"0.5263\", \"0.4737\"], \"expected\": [\"0.5263\", \"0.4737\"], \"passed\": true}, {\"check\": \"control additive\", \"actual\": [\"0.5278\", \"0.4722\"], \"expected\": [\"0.5278\", \"0.4722\"], \"passed\": true}, {\"check\": \"control power\", \"actual\": [\"0.5285\", \"0.4715\"], \"expected\": [\"0.5285\", \"0.4715\"], \"passed\": true}, {\"check\": \"boundary additive longshot\", \"actual\": \"additive infeasible\", \"expected\": \"additive infeasible\", \"passed\": true}, {\"check\": \"boundary unknown method\", \"actual\": \"invalid method\", \"expected\": \"invalid method\", \"passed\": true}, {\"check\": \"regression: additive share\", \"actual\": [\"0.2048\", \"0.3838\", \"0.4114\"], \"expected\": [\"0.2048\", \"0.3838\", \"0.4114\"], \"passed\": true}, {\"check\": \"variant scenario 1\", \"actual\": [\"0.3013\", \"0.0808\", \"0.2498\", \"0.2457\", \"0.1224\"], \"expected\": [\"0.3013\", \"0.0808\", \"0.2498\", \"0.2457\", \"0.1224\"], \"passed\": true}, {\"check\": \"variant scenario 2\", \"actual\": \"invalid method\", \"expected\": \"invalid method\", \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}