{"blocked": null, "divisions": [{"expression": "(stepTradeCount * WAD) / elapsedRaw", "location": "afterSwap L75", "zero_when": "never: guarded by elapsedRaw > 0"}, {"expression": "wdiv(spot, gamma)", "location": "afterSwap L92 (pImplied, sell)", "zero_when": "never: gamma == 0 branch handled; fees <= MAX_FEE so gamma >= 0.9"}, {"expression": "wdiv(s, WAD - prevAskFee)", "location": "afterSwap L102 (silence center)", "zero_when": "never: prevAskFee <= MAX_FEE = 0.1"}, {"expression": "wdiv(absDiff(pImplied, pHat), pHat)", "location": "afterSwap L109", "zero_when": "never: guarded pHat > 0"}, {"expression": "wdiv(wmul(spot, gamma), WAD - 30*BPS) / wdiv(wmul(spot, WAD - 30*BPS), gamma)", "location": "afterSwap L141-142 (route)", "zero_when": "never: constant divisor; gamma > 0 guarded"}, {"expression": "wdiv(trade.amountY, trade.reserveY)", "location": "afterSwap L151, L155, L311", "zero_when": "never: guarded reserveY > 0"}, {"expression": "wdiv(trade.reserveY, trade.reserveX)", "location": "afterSwap L85 (spot)", "zero_when": "never: guarded reserveX > 0"}, {"expression": "(toxEma - runMean) / sampleCount", "location": "afterSwap L183-184 (anchor)", "zero_when": "never: sampleCount incremented to >= 1 before use"}, {"expression": "count / silent", "location": "afterSwap L205 (flow rate)", "zero_when": "never: only on isNewStep, which implies silent >= 1"}, {"expression": "wdiv(weight, WAD - missing)", "location": "afterSwap L216", "zero_when": "never: missing capped at 1/3 WAD"}, {"expression": "wdiv(absDiff(spot, pHat), pHat)", "location": "afterSwap L172 (tox)", "zero_when": "never: guarded pHat > 0"}, {"expression": "wdiv(absDiff(spot, staleHat), staleHat)", "location": "afterSwap L255", "zero_when": "staleHat = 0.7*pHat + 0.3*fastHat (wmul-floored) == 0, i.e. pHat < 2 wei and fastHat < 4 wei; not reached (pHat, fastHat track spot)"}, {"expression": "(spot - nh) * 500000000 / int256(nh)", "location": "afterSwap L303 (nx[6])", "zero_when": "nh == 0 (same as staleHat); Solidity division panics even inside unchecked"}, {"expression": "wdiv(wmul(spot, WAD-30*BPS), gamma) ; ... * 1e18 / int256(nh)", "location": "afterSwap L315 (nx[18])", "zero_when": "gamma == 0 (unguarded here, but fees <= MAX_FEE keep gamma >= 0.9) or nh == 0"}, {"expression": "constant divisors: /1e12, /1e6, /8, /1e18, /WAD in wmul, /1000000 in _head, / 2", "location": "afterSwap L102, L296-321, _head L348-372", "zero_when": "never (constants)"}, {"expression": "wdiv(x.preSpot, WAD - x.ask)", "location": "_posterior L391", "zero_when": "never: ask <= 0.1"}, {"expression": "wdiv(..., WAD - 30*BPS) / wdiv(..., WAD - fee)", "location": "_posterior L411-412", "zero_when": "never"}, {"expression": "wdiv(absDiff(normal, x.mu), x.mu)", "location": "_posterior L413", "zero_when": "x.mu == 0: not reachable, mu reset to spot when 0 at L388"}, {"expression": "wdiv(x.v, x.v + noise)", "location": "_posterior L415", "zero_when": "never: v >= 1e10"}, {"expression": "wdiv(absDiff(x.obs, x.mu), x.mu); wdiv(hi-lo, x.mu); wdiv(distance, x.mu); wdiv(absDiff(mArb,mRetail), x.mu)", "location": "_posterior L420, L428, L430, L438", "zero_when": "x.mu == 0: requires _band (L396) to return m == 0; not observed"}, {"expression": "wdiv(wmul(e,e), totalV); wdiv(x.v, totalV)", "location": "_posterior L422, L435", "zero_when": "never: totalV >= 3.25e10"}, {"expression": "wdiv(WAD, WAD + z/8)", "location": "_posterior L423", "zero_when": "never"}, {"expression": "wdiv(4e15, _isqrt(totalV*WAD))", "location": "_posterior L424", "zero_when": "never: isqrt(>=3.25e28) > 0"}, {"expression": "wdiv(wdiv(distance, x.mu), sd)", "location": "_posterior L430", "zero_when": "sd = isqrt(v*WAD) == 0: never (v >= 1e10 -> sd >= 1e14)"}, {"expression": "wdiv(width, width + 2*sd); wdiv(WAD, WAD + zBand^2)", "location": "_posterior L431", "zero_when": "never: sd > 0"}, {"expression": "wdiv(odds, mass); wdiv(odds, WAD + odds)", "location": "_posterior L433-434", "zero_when": "never: mass floored at WAD/100"}, {"expression": "wdiv(distance, sd)", "location": "_band L455", "zero_when": "never: guarded sd > 0"}, {"expression": "wdiv(WAD, WAD + 4*wmul(z,z))", "location": "_band L456", "zero_when": "never (>= WAD); but the RESULT likelihood floors to 0 when 4*z^2/WAD > WAD^2, i.e. z > ~5e8 (in real units)"}, {"expression": "wdiv(absDiff(p, mu), mu)", "location": "_band L459", "zero_when": "mu == 0: only if a previous _band returned m == 0"}, {"expression": "wdiv(acc[1], acc[0]); wdiv(acc[2], acc[0])", "location": "_band L462, L464", "zero_when": "acc[0] == 0: every node weight wmul(w*WAD, likelihood) is 0, i.e. likelihood == 0 at all 7 nodes, i.e. distance(node, [lo,hi]) / sd > ~5e8 for all nodes: the fast estimate mu is far outside the band [preSpot*(1-bid), preSpot/(1-ask)] relative to sd = mu*sqrt(v)"}, {"expression": "wdiv(absDiff(m, mu), mu)", "location": "_band L463", "zero_when": "mu == 0 (as L459)"}, {"expression": "x / r inside _isqrt", "location": "_isqrt L502-509", "zero_when": "never: x == 0 returns early; r >= 1"}, {"expression": "wdiv(initialY, initialX)", "location": "afterInitialize L50", "zero_when": "never: guarded initialX > 0"}], "culprit": {"expression": "uint256 m=wdiv(acc[1],acc[0]);  (also second=wdiv(acc[2],acc[0]) on L464)", "location": "T03.sol _band, line 462, reached from the second _band call in _posterior (L404: x.first && x.preSpot > 0)", "zero_variable": "acc[0] (sum of the 7 quadrature-node weights wmul(w*WAD, likelihood))", "why": "The harness drains reserve X (100 -> 0.067) so spot runs from 100 to 2.25e8 while the fast estimate fastHat (mu) stays ~141: once mu is far outside the censoring band [preSpot*(1-bid), preSpot/(1-ask)] (~1.47e8..1.63e8), each node z = distance/sd ~ (band - mu)/(mu*sqrt(v)) exceeds ~5e8, so likelihood = wdiv(WAD, WAD+4*wmul(z,z)) floors to 0 at all nodes; m then stays ~mu (it cannot pull mu toward the band, which is why mu never catches up), and when v is at its 1e10 floor the second call has the smaller sd that pushes z past the threshold. Real-engine and canonical replica paths keep spot within ~72..138 so z stays below ~317."}, "reproduction": {"harness": "pyrevm 0.3.7, fresh deployment of T03 (solc 0.8.24 via amm_competition SolidityCompiler), afterInitialize(100,10000), then afterSwap with elapsed from [0,0,0,1,1,2,8,13], np.random.default_rng(seed) lognormal(-2,1.5) X amounts capped at 15% of reserve X, side 50/50, CPMM reserves per amm.py (fee on input, fees outside reserves), gas 250000", "sequence_seed": 440145, "callback_index": 1223, "state": {"trade": {"isBuy": false, "amount_x": 0.011757256707262529, "amount_y": 2256507.8552624695, "timestamp": 3939, "reserve_x": 0.06662445467448766, "reserve_y": 15009503.715801882, "pre_reserves": [0.0783817113817502, 12758078.158431599]}, "slots_before_call": {"prevBidFee": "98172876300000000", "prevAskFee": "2252284600000000", "lastTs": 3931, "preSpot_slot2_hi": "162768558296649980734296000", "fastHat_slot14": "141152173913043478260", "uncertainty_slot13": "10000000000", "pHat_slot5": "46192888531258868218781979", "stepTradeCount": 3}, "spot_wad": "225285201794671277957699682", "band_lo": "146789100757463623471270575", "band_hi": "163135986967803364948998809", "silent": 8}, "output": {"evm": "Revert { gas_used: 62599, output: 0x4e487b710000000000000000000000000000000000000000000000000000000000000012 }", "gas_used": 62599, "integer_replay_of_band_calls": {"first_band_L396": {"mu": "141152173913043478260", "v": "6327500000000", "sd": "355061552843858633", "acc": ["184", "25968", "0"], "m": "141130434782608695652", "v_out": "10000000000", "note": "every node likelihood == 1 wei (z ~4.1e8 real), acc[0]=184 > 0"}, "second_band_L404": {"mu": "141130434782608695652", "v": "912500000000", "sd": "134814658531665062", "node_z_min": "1088820465232327074649150676", "likelihoods": [0, 0, 0, 0, 0, 0, 0], "acc": ["0", "0", "0"], "note": "sd smaller after v floored to 1e10+9.025e11 -> z ~1.089e9 real -> every likelihood 0 -> acc[0]=0 -> wdiv(acc[1],acc[0]) Panic(0x12)"}}, "instrumented_confirmation": "T03 with only `if (acc[0] == 0) revert(\"BAND_ACC0_ZERO\");` inserted before L462 reverts with Error(\"BAND_ACC0_ZERO\") at the same callback on all 3 reverting stress seeds (440145 cb 1223, 440202 cb 1979, 440247 cb 1662)", "other_reverting_seeds": [{"seed": 440145, "callback": 1223, "reserve_x": 0.06662445467448766, "reserve_y": 15009503.715801882, "timestamp": 3939}, {"seed": 440202, "callback": 1979, "reserve_x": 0.05285022527848222, "reserve_y": 18921395.220753185, "timestamp": 6190}, {"seed": 440247, "callback": 1662, "reserve_x": 0.07227786385991702, "reserve_y": 13835494.667331591, "timestamp": 5277}]}, "match_to_FACT": "same sequence position (seq 42 = rng seed 440145, callback 1223, timestamp 3939); reserves X 0.06662445 vs reported 0.06663319, Y 15009503.7 vs 15007537.1, gas 62599 vs 62659; small differences come from my reconstruction of the amount_y/reserve formulas"}, "margins": {"source": "T03 float port (t03_port.py, port sha256 732c0fb6...) instrumented at each non-constant divisor, replica market engine (replica_source sha256 1e4c44b4...), seeds 1359000000..1359000511, configs per MatchRunner._build_configs (market_config), 10000 steps, port alone vs 30 bps vanilla pool; values in real units (Solidity value = value*1e18 wei)", "markets": 512, "markets_per_s": 1975.1, "per_divisor": {"band_mu": {"min_abs": 75.56285107054522, "at_seed": 1359000171}, "band_sd": {"min_abs": 0.07654502751790139, "at_seed": 1359000390}, "band_acc0": {"min_abs": 0.0004499701197264239, "at_seed": 1359000222}, "post_mu": {"min_abs": 75.56285107054522, "at_seed": 1359000171}, "post_totalV": {"min_abs": 9.537829588020831e-07, "at_seed": 1359000377}, "post_sqrt_totalV": {"min_abs": 0.000976618123322562, "at_seed": 1359000377}, "post_sd": {"min_abs": 0.0009650300300001462, "at_seed": 1359000377}, "post_mass": {"min_abs": 0.01, "at_seed": 1359000000}, "post_v_plus_noise": {"min_abs": 9.029577437823878e-06, "at_seed": 1359000343}, "stale_nh": {"min_abs": 75.6019233863513, "at_seed": 1359000171}, "gamma": {"min_abs": 0.9, "at_seed": 1359000009}, "elapsed_raw": {"min_abs": 1.0, "at_seed": 1359000000}, "flow_silent": {"min_abs": 1.0, "at_seed": 1359000000}, "anchor_count": {"min_abs": 1.0, "at_seed": 1359000000}, "one_minus_ask": {"min_abs": 0.9, "at_seed": 1359000009}, "one_minus_missing": {"min_abs": 0.6666666666666666, "at_seed": 1359000000}, "phat": {"min_abs": 75.61470924340605, "at_seed": 1359000171}, "one_minus_prevask_silence": {"min_abs": 0.9, "at_seed": 1359000049}}, "band_node_z": {"max over calls of the smallest node z": 316.7371194562687, "zero threshold (likelihood floors to 0)": "~5e8", "failing state second _band smallest node z": "1.0888e9", "band_likelihood_min_canonical": 2.400165171112122e-06}, "band_acc0_canonical_min_real": 0.0004499701197264239, "band_acc0_failing_state": 0, "reserve_x_range": [85.1173609868418, 118.18433492208788], "reserve_y_range": [8461.358272729158, 11748.48454423519], "spot_range": [71.59458381948203, 138.0268890861334], "failing_state": {"reserve_x": 0.06662445467448766, "reserve_y": 15009503.715801882, "spot": 225285201.79467127, "band_mu": 141.1304347826087, "band_acc0": 0}, "note": "reserve/spot ranges recorded at every port callback (post-trade). Canonical minima of mu-type divisors (band_mu, post_mu, stale_nh, phat ~75.6) and sd-type divisors are all far from 0; acc[0] min 4.5e-4 (4.5e14 wei) vs 0 at failure."}, "guard": {"diff": "@@ -459,6 +459,7 @@\n             uint256 d=wdiv(absDiff(p,mu),mu);\n             acc[2]+=wmul(w,wmul(d,d));\n         }\n+        if (acc[0] == 0) return (mu, v);\n         uint256 m=wdiv(acc[1],acc[0]);\n         uint256 d=wdiv(absDiff(m,mu),mu);\n         uint256 second=wdiv(acc[2],acc[0]);", "rationale": "One line: when every node weight is 0, _band returns its inputs (mu, v) unchanged (the previous estimate), which is what the float port effectively returns there (all likelihoods equal, m ~ mu). The other offered option, clamping acc[0] to 1, was tested as T03C: it yields m = 0, which makes the next _band divide by mu = 0 (L459) when the first call hits it, and on stress seeds 440145/440247 it drifted 1000 / 963 bps from the port; so it was not chosen.", "gate_C": {"sequences": 50, "callbacks_per_sequence": 2000, "commands": "5 commands x 10 sequences", "seeds": [9100000, 9100049], "cap": "amounts <= 2% of reserve X", "spot_band": "trade side flipped (or skipped) to keep spot within 4x of 100", "reverts": 0, "max_bps": 0.0003015469542816396, "threshold_bps": 0.1, "passed": true, "harness_peak_gas": 194748}, "stress": {"sequences": 10, "seeds": [440145, 440202, 440247, 440100, 440101, 440102, 440103, 440104, 440105, 440106], "cap": "15% of reserve X, no spot band", "reverts": 1, "panic_0x12": 0, "revert_detail": [{"seed": 440145, "callback": 1825, "err": "Revert { gas_used: 32008, output: 0x4e487b710000000000000000000000000000000000000000000000000000000000000011 }", "trade": {"isBuy": true, "amount_x": 5.857842745775008e-09, "amount_y": 3051176876936.797, "timestamp": 5862, "reserve_x": 4.433504644634257e-08, "reserve_y": 22555519395029.125, "pre_reserves": [3.905228497183339e-08, 25606696271965.92]}}], "max_bps": 4.12001201357723, "max_bps_per_seq": {"440145": 4.12001201357723, "440202": 3.7433319999999326, "440247": 3.7433319999999326, "440100": 6.009367489734352e-05, "440101": 9.302587797299644e-05, "440102": 0.00010594040138200977, "440103": 7.257761364121151e-05, "440104": 0.00013572752616264339, "440105": 3.187444502783521e-05, "440106": 0.00017524008570635186}, "note": "T03G removes every Panic(0x12) (all 3 seeds that panicked in T03 run past it), but seed 440145 continues to reserve X 4.4e-8 / Y 2.26e13 (spot ~5.1e20) and reverts at callback 1825 with Panic(0x11) arithmetic overflow, a different fault outside this guard. The >1 bps drifts (3.74 bps on 440202/440247, 4.12 bps on 440145 at callback 1198) are on the 3 sequences that drain reserve X (final reserve X 0.037 and 0.00018 on 440202/440247); the 7 other stress seeds stay <= 1.8e-4 bps."}}, "real": {"engine": "amm_sim_rs.run_batch(X, VanillaStrategy, configs, 8), each arm alone, configs per MatchRunner._build_configs with seed i -> seed", "seeds": [8147456, 8147711], "commands": "4 x 64 seeds per arm", "n": 256, "mean_diff": 0.0, "se": 0.0, "max_abs_per_seed_diff": 0.0, "comparison": "T03G minus T03, per-seed edge", "retail_volume_y_delta": 0.0, "arb_volume_y_delta": 0.0, "mean_edge": {"T03": 524.8435837515818, "T03G": 524.8435837515818}}, "gas": {"afterSwap_peak": {"T03": 235575, "T03G": 235575}, "oog": {"T03": 0, "T03G": 0}, "reverts": {"T03": 0, "T03G": 0}, "gas_stats": {"T03": {"Baseline/afterInitialize": {"calls": 256, "ok": 256, "max_ok_gas": 21796, "oog": 0, "revert": 0, "other_halt": 0, "tx_error": 0, "bad_return": 0}, "Baseline/afterSwap": {"calls": 2721812, "ok": 2721812, "max_ok_gas": 22592, "oog": 0, "revert": 0, "other_halt": 0, "tx_error": 0, "bad_return": 0}, "Baseline/getName": {"calls": 256, "ok": 256, "max_ok_gas": 21526, "oog": 0, "revert": 0, "other_halt": 0, "tx_error": 0, "bad_return": 0}, "Submission/afterInitialize": {"calls": 256, "ok": 256, "max_ok_gas": 243234, "oog": 0, "revert": 0, "other_halt": 0, "tx_error": 0, "bad_return": 0}, "Submission/afterSwap": {"calls": 2759492, "ok": 2759492, "max_ok_gas": 235575, "oog": 0, "revert": 0, "other_halt": 0, "tx_error": 0, "bad_return": 0}, "Submission/getName": {"calls": 256, "ok": 256, "max_ok_gas": 21742, "oog": 0, "revert": 0, "other_halt": 0, "tx_error": 0, "bad_return": 0}}, "T03G": {"Baseline/afterInitialize": {"calls": 256, "ok": 256, "max_ok_gas": 21796, "oog": 0, "revert": 0, "other_halt": 0, "tx_error": 0, "bad_return": 0}, "Baseline/afterSwap": {"calls": 2721812, "ok": 2721812, "max_ok_gas": 22592, "oog": 0, "revert": 0, "other_halt": 0, "tx_error": 0, "bad_return": 0}, "Baseline/getName": {"calls": 256, "ok": 256, "max_ok_gas": 21526, "oog": 0, "revert": 0, "other_halt": 0, "tx_error": 0, "bad_return": 0}, "Submission/afterInitialize": {"calls": 256, "ok": 256, "max_ok_gas": 243234, "oog": 0, "revert": 0, "other_halt": 0, "tx_error": 0, "bad_return": 0}, "Submission/afterSwap": {"calls": 2759492, "ok": 2759492, "max_ok_gas": 235575, "oog": 0, "revert": 0, "other_halt": 0, "tx_error": 0, "bad_return": 0}, "Submission/getName": {"calls": 256, "ok": 256, "max_ok_gas": 21742, "oog": 0, "revert": 0, "other_halt": 0, "tx_error": 0, "bad_return": 0}}}}, "code_zb64": "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", "code_sha256": "26c960d885b46eec181dd12edf56c6bd0a6696e41f81a163028029481c005e85", "valid": false, "notes": ["Inputs checked: START artifact sha256 3d001532... equals URL id; its code sha256 cb6d9455... and port sha256 732c0fb6... match the brief; IB artifact sha256 afd5183e... (code sha256 301941829a...); replica artifact e8a7a2af... from IB hashes.artifact_urls.rep, replica_source sha256 1e4c44b4...", "SETUP ran verbatim at checkout 6b6921f8d463314aa7c96234e1be25a25245f704 (wheel sha256 aedb6828... verified, StarterStrategy validated).", "Port W vector built per START notes: [1], 19 multipliers, 19 offsets, W1 row-major, b1, W2 row-major, b2, three anchor constants (715, k_lin, k_quad), then TH_VALUES with params.constants substituted. T03 EVM vs this port on 3 uncapped normal sequences (440100-440102): <= 1.1e-4 bps.", "valid is false only because the uncapped stress sequence 440145 hits a Panic(0x11) overflow at spot ~5e20 after the guard lets it continue; Gate C passed, no OOG and no revert on 256 real-engine seeds per arm, afterSwap peak 235575 <= 245000 for both arms, and per-seed real edges are identical (max abs per-seed difference 0).", "No search was run (item brief: diagnose, no search). Replica speed with the instrumented port: ~1975 markets/s on 8 processes. No IB arm was run on the real engine; the real comparison is T03G vs T03 as the item asks.", "Margins are float-port values, not Solidity integers; Solidity integer values at the failing state come from an exact integer replay of _band reading the contract slots just before the reverting call."]}