{"item":"all","batch":"e08-protect-hinge","code":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.24;\n\nimport {AMMStrategyBase} from \"./AMMStrategyBase.sol\";\nimport {TradeInfo} from \"./IAMMStrategy.sol\";\n\ncontract Strategy is AMMStrategyBase {\n    uint256 constant ELAPSED_CAP = 8;\n    uint256 constant SIGNAL_THRESHOLD = WAD / 650;\n    uint256 constant DIR_DECAY = 750000000000000000;\n    uint256 constant ACT_DECAY = 530000000000000000;\n    uint256 constant SIZE_DECAY = 530000000000000000;\n    uint256 constant TOX_DECAY = 910000000000000000;\n    uint256 constant SIGMA_DECAY = 690000000000000000;\n    uint256 constant LAMBDA_DECAY = 990000000000000000;\n    uint256 constant SIZE_BLEND_DECAY = 828000000000000000;\n    uint256 constant TOX_BLEND_DECAY = 51000000000000000;\n    uint256 constant ACT_BLEND_DECAY = 985000000000000000;\n    uint256 constant PHAT_ALPHA = 270000000000000000;\n    uint256 constant PHAT_ALPHA_RETAIL = 60000000000000000;\n    uint256 constant PHAT_ALPHA_SAME = 120000000000000000;\n    uint256 constant REVERT_U = 0;\n    uint256 constant DIR_IMPACT_MULT = 4;\n    uint256 constant GATE_SIGMA_MULT = 7200000000000000000;\n    uint256 constant MIN_GATE = 30000000000000000;\n    uint256 constant TRADE_TOX_BOOST = 3500 * BPS;\n    uint256 constant STALE_ATTRACT_FRAC = 1050000000000000000;\n    uint256 constant RET_CAP = WAD / 35;\n    uint256 constant TOX_CAP = WAD / 5;\n    uint256 constant TRADE_RATIO_CAP = WAD / 5;\n    uint256 constant LAMBDA_CAP = 1820000000000000000;\n    uint256 constant STEP_COUNT_CAP = 64;\n    uint256 constant BASE_FEE = 4 * BPS;\n    uint256 constant SIGMA_COEF = 200000000000000000;\n    uint256 constant LAMBDA_COEF = 12 * BPS;\n    uint256 constant FLOW_SIZE_COEF = 4842 * BPS;\n    uint256 constant TOX_COEF = 300 * BPS;\n    uint256 constant TOX_QUAD_COEF = 15000 * BPS;\n    uint256 constant ACT_COEF = 91843 * BPS;\n    uint256 constant DIR_COEF = 20 * BPS;\n    uint256 constant DIR_TOX_COEF = 100 * BPS;\n    uint256 constant STALE_DIR_COEF = 6850 * BPS;\n    uint256 constant SIGMA_TOX_COEF = 500 * BPS;\n    uint256 constant TAIL_KNEE = 600 * BPS;\n    uint256 constant TAIL_SLOPE_PROTECT = 930000000000000000;\n    uint256 constant TAIL_SLOPE_ATTRACT = 850000000000000000;\n\n    function afterInitialize(uint256 initialX, uint256 initialY) external override returns (uint256, uint256) {\n        slots[0] = BASE_FEE; slots[1] = BASE_FEE; slots[3] = WAD; \n        slots[5] = initialX > 0 ? wdiv(initialY, initialX) : 100 * WAD;\n        slots[6] = 950000000000000; slots[7] = 800000000000000000; slots[8] = 2000000000000000;\n        slots[13] = 902500000000; slots[14] = slots[5]; \n        return (BASE_FEE, BASE_FEE);\n    }\n\n    function afterSwap(TradeInfo calldata trade) external override returns (uint256, uint256) {\n        uint256 prevBidFee = slots[0]; uint256 prevAskFee = slots[1]; uint256 lastTs = uint64(slots[2]);\n        uint256 dirState = slots[3]; uint256 actEma = slots[4]; uint256 pHat = slots[5];\n        uint256 sigmaHat = slots[6]; uint256 lambdaHat = slots[7]; uint256 sizeHat = slots[8];\n        uint256 toxEma = slots[9]; uint256 stepTradeCount = slots[10];\n\n        uint256 sigmaForFast = sigmaHat;\n        uint256 fastHat = slots[14];\n        uint256 uncertainty = slots[13];\n        uint256 silent = trade.timestamp > lastTs ? trade.timestamp - lastTs : 0;\n        bool isNewStep = trade.timestamp > lastTs;\n        if (isNewStep) {\n            uint256 elapsedRaw = trade.timestamp - lastTs;\n            uint256 elapsed = elapsedRaw > ELAPSED_CAP ? ELAPSED_CAP : elapsedRaw;\n            dirState = _decayCentered(dirState, DIR_DECAY, elapsed);\n            actEma = wmul(actEma, _powWad(ACT_DECAY, elapsed));\n            sizeHat = wmul(sizeHat, _powWad(SIZE_DECAY, elapsed));\n            toxEma = wmul(toxEma, _powWad(TOX_DECAY, elapsed));\n            if (stepTradeCount > 0 && elapsedRaw > 0) {\n                uint256 lambdaInst = (stepTradeCount * WAD) / elapsedRaw;\n                if (lambdaInst > LAMBDA_CAP) lambdaInst = LAMBDA_CAP;\n                lambdaHat = wmul(lambdaHat, LAMBDA_DECAY) + wmul(lambdaInst, WAD - LAMBDA_DECAY);\n            }\n            uncertainty += wmul(sigmaForFast, sigmaForFast) * elapsedRaw;\n            if (uncertainty > 100000000000000) uncertainty = 100000000000000;\n            stepTradeCount = 0;\n        }\n\n        bool firstInStep = stepTradeCount == 0;\n        uint256 spot = trade.reserveX > 0 ? wdiv(trade.reserveY, trade.reserveX) : pHat;\n        if (pHat == 0) pHat = spot;\n\n        uint256 feeUsed = trade.isBuy ? prevBidFee : prevAskFee;\n        uint256 gamma = feeUsed < WAD ? WAD - feeUsed : 0;\n        uint256 pImplied;\n        if (gamma == 0) { pImplied = spot; }\n        else { pImplied = trade.isBuy ? wmul(spot, gamma) : wdiv(spot, gamma); }\n\n        // S: infer a no-trade interval center from the last post-trade spot.\n        uint256 silenceScale = WAD;\n        if (firstInStep && silent > 1) {\n            uint256 g = silent - 1;\n            if (g > 1) g = 1;\n            uint256 w = WAD - _powWad(800000000000000000, g);\n            uint256 s = slots[2] >> 64;\n            if (s == 0) s = pHat;\n            uint256 c = (wmul(s, WAD - prevBidFee) + wdiv(s, WAD - prevAskFee)) / 2;\n            if (c >= pHat) pHat += wmul(w, c - pHat);\n            else pHat -= wmul(w, pHat - c);\n            silenceScale = WAD - wmul(300000000000000000, w);\n        }\n\n        {\n            uint256 ret = pHat > 0 ? wdiv(absDiff(pImplied, pHat), pHat) : 0;\n            uint256 alpha = firstInStep ? PHAT_ALPHA : PHAT_ALPHA_RETAIL;\n            uint256 prePhat = pHat;\n            bool secondPrint = !firstInStep && stepTradeCount == 1;\n            bool sameDir = false; bool oppDir = false;\n            if (secondPrint) {\n                bool up2 = pImplied >= pHat;\n                uint256 d1 = slots[12];\n                if (d1 != 0) { sameDir = (d1 == 1) == up2; oppDir = !sameDir; }\n                if (sameDir) alpha = PHAT_ALPHA_SAME;\n            }\n            if (firstInStep) { slots[12] = pImplied >= pHat ? 1 : 2; }\n            uint256 adaptiveGate = wmul(sigmaHat, GATE_SIGMA_MULT);\n            if (adaptiveGate < MIN_GATE) adaptiveGate = MIN_GATE;\n            alpha = wmul(alpha, silenceScale);\n            adaptiveGate = wmul(adaptiveGate, silenceScale);\n            if (ret <= adaptiveGate) { pHat = wmul(pHat, WAD - alpha) + wmul(pImplied, alpha); }\n            if (oppDir && REVERT_U > 0) {\n                uint256 pre = slots[11];\n                if (pre > pHat) pHat = pHat + wmul(pre - pHat, REVERT_U);\n                else pHat = pHat - wmul(pHat - pre, REVERT_U);\n            }\n            if (firstInStep) {\n                if (ret > RET_CAP) ret = RET_CAP;\n                sigmaHat = wmul(sigmaHat, SIGMA_DECAY) + wmul(ret, WAD - SIGMA_DECAY);\n            }\n        }\n\n        // Interior retail routing equalizes fee-adjusted marginal prices.\n        // Subsequent trades in a step cannot be the initial arbitrage trade.\n        if (!firstInStep && feeUsed > 30 * BPS && gamma > 0) {\n            uint256 normalSpot = trade.isBuy\n                ? wdiv(wmul(spot, gamma), WAD - 30 * BPS)\n                : wdiv(wmul(spot, WAD - 30 * BPS), gamma);\n            pHat = wmul(pHat, 90 * WAD / 100) + wmul(normalSpot, 10 * WAD / 100);\n        }\n\n        {\n            uint256 ret = fastHat > 0 ? wdiv(absDiff(pImplied, fastHat), fastHat) : 0;\n            uint256 alpha;\n            if (firstInStep) {\n                uint256 processSigma = sigmaForFast;\n                uint256 obsVar = uncertainty + wmul(processSigma, processSigma);\n                uint256 probArb;\n                uint256 z2 = wdiv(wmul(ret, ret), obsVar);\n                uint256 density = _powWad(wdiv(WAD, WAD + z2 / 16), 8);\n                uint256 sigmaObs = _isqrt(obsVar * WAD);\n                uint256 odds = wmul(density, wdiv(6700000000000000, sigmaObs));\n                bool arbFlag = ret <= wmul(sigmaForFast, 1220000000000000000);\n                uint256 prior = arbFlag ? 650000000000000000 : 400000000000000000;\n                uint256 tr = trade.reserveY > 0 ? wdiv(trade.amountY, trade.reserveY) : 0;\n                if (tr > 3000000000000000) prior = wmul(prior, 6 * WAD / 10);\n                if (silent > 1) prior = wmul(prior, 8 * WAD / 10);\n                odds = wmul(odds, wdiv(prior, WAD - prior));\n                probArb = wdiv(odds, WAD + odds);\n                alpha = wmul(probArb, 600000000000000000) + wmul(WAD - probArb, 80000000000000000);\n                slots[15] = pImplied >= fastHat ? 1 : 2;\n                uncertainty = wmul(uncertainty, WAD - alpha);\n            } else {\n                if ((slots[15] == 1) == (pImplied >= fastHat)) alpha = PHAT_ALPHA_RETAIL;\n            }\n            uint256 gate = wmul(sigmaHat, GATE_SIGMA_MULT);\n            if (gate < MIN_GATE) gate = MIN_GATE;\n            if (ret <= gate) fastHat = wmul(fastHat, WAD - alpha) + wmul(pImplied, alpha);\n            slots[13] = uncertainty;\n        }\n\n        if (!firstInStep && feeUsed > 30 * BPS && gamma > 0) {\n            uint256 normalObs = trade.isBuy\n                ? wdiv(wmul(spot, gamma), WAD - 30 * BPS)\n                : wdiv(wmul(spot, WAD - 30 * BPS), gamma);\n            if ((slots[15] == 1) == (normalObs >= fastHat)) {\n                fastHat = wmul(fastHat, 9 * WAD / 10) + wmul(normalObs, WAD / 10);\n            }\n        }\n        slots[14] = fastHat;\n        uint256 tradeRatio = trade.reserveY > 0 ? wdiv(trade.amountY, trade.reserveY) : 0;\n        if (tradeRatio > TRADE_RATIO_CAP) tradeRatio = TRADE_RATIO_CAP;\n\n        if (tradeRatio > SIGNAL_THRESHOLD) {\n            uint256 push = tradeRatio * DIR_IMPACT_MULT;\n            if (push > WAD / 4) push = WAD / 4;\n            if (trade.isBuy) {\n                dirState = dirState + push;\n                if (dirState > 2 * WAD) dirState = 2 * WAD;\n            } else {\n                dirState = dirState > push ? dirState - push : 0;\n            }\n            actEma = wmul(actEma, ACT_BLEND_DECAY) + wmul(tradeRatio, WAD - ACT_BLEND_DECAY);\n            sizeHat = wmul(sizeHat, SIZE_BLEND_DECAY) + wmul(tradeRatio, WAD - SIZE_BLEND_DECAY);\n            if (sizeHat > WAD) sizeHat = WAD;\n        }\n\n        uint256 tox = pHat > 0 ? wdiv(absDiff(spot, pHat), pHat) : 0;\n        if (tox > TOX_CAP) tox = TOX_CAP;\n        toxEma = wmul(toxEma, TOX_BLEND_DECAY) + wmul(tox, WAD - TOX_BLEND_DECAY);\n        uint256 toxSignal = toxEma;\n\n        stepTradeCount = stepTradeCount + 1;\n        if (stepTradeCount > STEP_COUNT_CAP) stepTradeCount = STEP_COUNT_CAP;\n\n        uint256 flowSize = wmul(lambdaHat, sizeHat);\n        uint256 fBase = BASE_FEE + wmul(SIGMA_COEF, sigmaHat) + wmul(LAMBDA_COEF, lambdaHat) + wmul(FLOW_SIZE_COEF, flowSize);\n        uint256 fMid = fBase + wmul(TOX_COEF, toxSignal) + wmul(TOX_QUAD_COEF, wmul(toxSignal, toxSignal)) + wmul(ACT_COEF, actEma);\n        fMid = fMid + wmul(SIGMA_TOX_COEF, wmul(sigmaHat, toxSignal));\n\n        uint256 dirDev; bool sellPressure;\n        if (dirState >= WAD) { dirDev = dirState - WAD; sellPressure = true; }\n        else { dirDev = WAD - dirState; sellPressure = false; }\n\n        uint256 skew = wmul(DIR_COEF, dirDev) + wmul(DIR_TOX_COEF, wmul(dirDev, toxSignal));\n        uint256 bidFee; uint256 askFee;\n        if (sellPressure) {\n            bidFee = fMid + skew;\n            askFee = fMid > skew ? fMid - skew : 0;\n        } else {\n            askFee = fMid + skew;\n            bidFee = fMid > skew ? fMid - skew : 0;\n        }\n\n        {\n            uint256 staleHat = wmul(pHat, 700000000000000000) + wmul(fastHat, 300000000000000000);\n            uint256 staleTox = wdiv(absDiff(spot, staleHat), staleHat);\n            if (staleTox > TOX_CAP) staleTox = TOX_CAP;\n            uint256 staleShift = wmul(STALE_DIR_COEF, staleTox);\n            uint256 attractShift = wmul(staleShift, STALE_ATTRACT_FRAC);\n            staleShift = wmul(STALE_DIR_COEF, staleTox < 150 * BPS ? staleTox : 150 * BPS) + wmul(500000000000000000, wmul(STALE_DIR_COEF, staleTox > 150 * BPS ? staleTox - 150 * BPS : 0));\n            if (spot >= staleHat) {\n                bidFee = bidFee + staleShift;\n                askFee = askFee > attractShift ? askFee - attractShift : 0;\n            } else {\n                askFee = askFee + staleShift;\n                bidFee = bidFee > attractShift ? bidFee - attractShift : 0;\n            }\n        }\n\n        {\n            bool tradeAligned = (trade.isBuy && spot >= pHat) || (!trade.isBuy && spot < pHat);\n            if (tradeAligned) {\n                uint256 tradeBoost = wmul(TRADE_TOX_BOOST, tradeRatio);\n                if (trade.isBuy) { bidFee = bidFee + tradeBoost; }\n                else { askFee = askFee + tradeBoost; }\n            }\n        }\n\n        if (sellPressure) {\n            bidFee = clampFee(_compressTailWithSlope(bidFee, TAIL_SLOPE_PROTECT));\n            askFee = clampFee(_compressTailWithSlope(askFee, TAIL_SLOPE_ATTRACT));\n        } else {\n            askFee = clampFee(_compressTailWithSlope(askFee, TAIL_SLOPE_PROTECT));\n            bidFee = clampFee(_compressTailWithSlope(bidFee, TAIL_SLOPE_ATTRACT));\n        }\n\n        slots[0] = bidFee; slots[1] = askFee; slots[2] = (spot << 64) | trade.timestamp;\n        slots[3] = dirState; slots[4] = actEma; slots[5] = pHat;\n        slots[6] = sigmaHat; slots[7] = lambdaHat; slots[8] = sizeHat;\n        slots[9] = toxEma; slots[10] = stepTradeCount;\n\n        return (bidFee, askFee);\n    }\n\n    function _compressTailWithSlope(uint256 fee, uint256 slope) internal pure returns (uint256) {\n        if (fee <= TAIL_KNEE) return fee;\n        return TAIL_KNEE + wmul(fee - TAIL_KNEE, slope);\n    }\n\n    function _powWad(uint256 factor, uint256 exp) internal pure returns (uint256 result) {\n        result = WAD;\n        while (exp > 0) {\n            if (exp & 1 == 1) result = wmul(result, factor);\n            factor = wmul(factor, factor);\n            exp >>= 1;\n        }\n    }\n\n    function _decayCentered(uint256 centered, uint256 decayFactor, uint256 elapsed) internal pure returns (uint256) {\n        uint256 mul = _powWad(decayFactor, elapsed);\n        if (centered >= WAD) { return WAD + wmul(centered - WAD, mul); }\n        uint256 below = wmul(WAD - centered, mul);\n        return below < WAD ? WAD - below : 0;\n    }\n\n    // Floor square root: bit-length seed and seven Newton steps (all uint256).\n    function _isqrt(uint256 x) internal pure returns (uint256 r) {\n        if (x == 0) return 0;\n        unchecked {\n            uint256 y = x;\n            r = 1;\n            if (y >> 128 != 0) { y >>= 128; r <<= 64; }\n            if (y >> 64 != 0) { y >>= 64; r <<= 32; }\n            if (y >> 32 != 0) { y >>= 32; r <<= 16; }\n            if (y >> 16 != 0) { y >>= 16; r <<= 8; }\n            if (y >> 8 != 0) { y >>= 8; r <<= 4; }\n            if (y >> 4 != 0) { y >>= 4; r <<= 2; }\n            if (y >> 2 != 0) { r <<= 1; }\n            r = (r + x / r) >> 1;\n            r = (r + x / r) >> 1;\n            r = (r + x / r) >> 1;\n            r = (r + x / r) >> 1;\n            r = (r + x / r) >> 1;\n            r = (r + x / r) >> 1;\n            r = (r + x / r) >> 1;\n            uint256 t = x / r;\n            return r < t ? r : t;\n        }\n    }\n\n    function getName() external pure override returns (string memory) { return \"no_cubic\"; }\n}\n","sha256":"34d3a64648932a2044193575d1791b4740bb0c9c9d1b2a1f457e6bc953133986","base_sha256":"610c1905e7dd5559b84e40a3b2d6f8e0b53a7b0ac7574ae33b6c1770a28367cb","v2_sha256":"28417e116f57f1029fdd1803832e852574902c1ae7253c05657f317db76da4ab","variant_params":[{"name":"K50_m0.5","K_bps":50,"m":0.5,"sha256":"672cf6d237ab284faac31077992ee7d48a36b01d8e6ce4379ce3678c799174dc"},{"name":"K50_m1.5","K_bps":50,"m":1.5,"sha256":"a2503e950ec1a0cdd16d59429b0ec04b966be3727224196478dc9691ddad26fb"},{"name":"K150_m0.5","K_bps":150,"m":0.5,"sha256":"34d3a64648932a2044193575d1791b4740bb0c9c9d1b2a1f457e6bc953133986"},{"name":"K150_m1.5","K_bps":150,"m":1.5,"sha256":"f1ab92e56de40fe66680c24f1cb39aa60f4ac91bd6aaf776c6650785c5069026"}],"stages":[{"name":"G","valid":true,"invalid_reasons":[],"seeds":{"start":30000,"end_inclusive":30255,"step":1,"excluded":[]},"paired":{"label":"G","n":256,"mean_diff":0.0003932124874872489,"se":0.0003607526598012146,"sd":0.005772042556819433,"n_nonzero":2,"max_abs_diff":0.09197746979708654,"worst":[{"seed":30000,"diff":0.0,"edge_a":490.43030304499365,"edge_b":490.43030304499365},{"seed":30001,"diff":0.0,"edge_a":640.6988000735296,"edge_b":640.6988000735296},{"seed":30002,"diff":0.0,"edge_a":680.0029777999026,"edge_b":680.0029777999026},{"seed":30003,"diff":0.0,"edge_a":583.630660051081,"edge_b":583.630660051081},{"seed":30004,"diff":0.0,"edge_a":656.0379548574365,"edge_b":656.0379548574365}],"stage":"tuning"},"gas":{"max_ok(afterSwap)":208815,"init_max":220944,"oog":0,"other_errors":0,"oog_seeds":[],"calls":{"afterInitialize":256,"afterSwap":2652730,"getName":256}},"v2_gas":{"max_ok(afterSwap)":243625,"init_max":236377,"oog":3,"other_errors":0,"oog_seeds":[[30105,2],[30238,1]],"calls":{"afterInitialize":256,"afterSwap":2652730,"getName":256}},"edge_deltas":{"retail":{"n":256,"mean":0.0002381134441145072,"se":0.0002091768131132237,"sd":0.003346829009811579},"arb":{"n":256,"mean":0.0001550990433659416,"se":0.00015233428170305052,"sd":0.0024373485072488083}},"v2_volume_terciles":[{"tercile":1,"n":86,"volume_min":57958.17377782431,"volume_max":71485.34483236399,"paired":{"label":"G","n":86,"mean_diff":0.001170492986008555,"se":0.0010730792516950019,"sd":0.00995132759565146,"n_nonzero":2,"max_abs_diff":0.09197746979708654,"worst":[{"seed":30254,"diff":0.0,"edge_a":342.28977304213146,"edge_b":342.28977304213146},{"seed":30132,"diff":0.0,"edge_a":387.92270380482074,"edge_b":387.92270380482074},{"seed":30181,"diff":0.0,"edge_a":368.5128862960632,"edge_b":368.5128862960632},{"seed":30235,"diff":0.0,"edge_a":372.57705330022225,"edge_b":372.57705330022225},{"seed":30219,"diff":0.0,"edge_a":408.6629757817495,"edge_b":408.6629757817495}]},"edge_deltas":{"retail":{"n":86,"mean":0.0007088028103873702,"se":0.0006219459550474521,"sd":0.005767689511926791},"arb":{"n":86,"mean":0.00046169017560094243,"se":0.00045339530249910166,"sd":0.004204615063026539}}},{"tercile":2,"n":85,"volume_min":71497.3766961701,"volume_max":82014.301586867,"paired":{"label":"G","n":85,"mean_diff":0.0,"se":0.0,"sd":0.0,"n_nonzero":0,"max_abs_diff":0.0,"worst":[{"seed":30018,"diff":0.0,"edge_a":499.31425787221343,"edge_b":499.31425787221343},{"seed":30114,"diff":0.0,"edge_a":476.1467502463215,"edge_b":476.1467502463215},{"seed":30026,"diff":0.0,"edge_a":446.7420389519712,"edge_b":446.7420389519712},{"seed":30211,"diff":0.0,"edge_a":441.2203001690204,"edge_b":441.2203001690204},{"seed":30133,"diff":0.0,"edge_a":465.2250544964568,"edge_b":465.2250544964568}]},"edge_deltas":{"retail":{"n":85,"mean":0.0,"se":0.0,"sd":0.0},"arb":{"n":85,"mean":0.0,"se":0.0,"sd":0.0}}},{"tercile":3,"n":85,"volume_min":82190.63221225118,"volume_max":94014.40846824742,"paired":{"label":"G","n":85,"mean_diff":0.0,"se":0.0,"sd":0.0,"n_nonzero":0,"max_abs_diff":0.0,"worst":[{"seed":30155,"diff":0.0,"edge_a":564.2023567794456,"edge_b":564.2023567794456},{"seed":30222,"diff":0.0,"edge_a":572.1108068024882,"edge_b":572.1108068024882},{"seed":30174,"diff":0.0,"edge_a":600.5029049806617,"edge_b":600.5029049806617},{"seed":30190,"diff":0.0,"edge_a":636.6699255559304,"edge_b":636.6699255559304},{"seed":30138,"diff":0.0,"edge_a":562.897559479123,"edge_b":562.897559479123}]},"edge_deltas":{"retail":{"n":85,"mean":0.0,"se":0.0,"sd":0.0},"arb":{"n":85,"mean":0.0,"se":0.0,"sd":0.0}}}],"phase":"screening","checks":{"candidate":{"complete":true,"n_requested":256,"n_returned":256,"error":null,"counters_per_seed_match_global":true,"max_abs_reconciliation_error":6.764366844436154e-12,"Vanilla":{"oog":0,"other_errors":0}},"V2":{"complete":true,"n_requested":256,"n_returned":256,"error":null,"counters_per_seed_match_global":true,"max_abs_reconciliation_error":6.764366844436154e-12,"Vanilla":{"oog":0,"other_errors":0}}}},{"name":"K150_m0.5","valid":true,"invalid_reasons":[],"seeds":{"start":30000,"end_inclusive":30255,"step":1,"excluded":[]},"paired":{"label":"K150_m0.5","n":256,"mean_diff":-6.929073252360988,"se":0.18959978025276797,"sd":3.0335964840442875,"n_nonzero":256,"max_abs_diff":19.167961330138155,"worst":[{"seed":30203,"diff":-19.167961330138155,"edge_a":709.4473255834313,"edge_b":728.6152869135694},{"seed":30217,"diff":-17.638372373907373,"edge_a":695.3811913510897,"edge_b":713.019563724997},{"seed":30044,"diff":-16.431188206368915,"edge_a":721.380103997173,"edge_b":737.8112922035419},{"seed":30064,"diff":-15.689502241490914,"edge_a":684.8839027971246,"edge_b":700.5734050386155},{"seed":30190,"diff":-15.127632548395809,"edge_a":621.5422930075346,"edge_b":636.6699255559304}],"stage":"tuning"},"gas":{"max_ok(afterSwap)":209111,"init_max":220944,"oog":0,"other_errors":0,"oog_seeds":[],"calls":{"afterInitialize":256,"afterSwap":2654132,"getName":256}},"v2_gas":{"max_ok(afterSwap)":243625,"init_max":236377,"oog":3,"other_errors":0,"oog_seeds":[[30105,2],[30238,1]],"calls":{"afterInitialize":256,"afterSwap":2652730,"getName":256}},"edge_deltas":{"retail":{"n":256,"mean":2.7602782053493713,"se":0.08341680304981733,"sd":1.3346688487970773},"arb":{"n":256,"mean":-9.68935145771052,"se":0.22039092993540596,"sd":3.5262548789664954}},"v2_volume_terciles":[{"tercile":1,"n":86,"volume_min":57958.17377782431,"volume_max":71485.34483236399,"paired":{"label":"K150_m0.5","n":86,"mean_diff":-5.872071639811989,"se":0.2390564772274011,"sd":2.216918568684074,"n_nonzero":86,"max_abs_diff":12.295853286711747,"worst":[{"seed":30057,"diff":-12.295853286711747,"edge_a":456.68689761795883,"edge_b":468.9827509046706},{"seed":30099,"diff":-12.07894477835248,"edge_a":495.47390816229245,"edge_b":507.5528529406449},{"seed":30163,"diff":-10.394359167581285,"edge_a":418.6635752500824,"edge_b":429.05793441766366},{"seed":30101,"diff":-10.125155386000586,"edge_a":427.83493128435447,"edge_b":437.96008667035505},{"seed":30045,"diff":-9.858866760451065,"edge_a":461.1010025583342,"edge_b":470.95986931878525}]},"edge_deltas":{"retail":{"n":86,"mean":1.9855539758682683,"se":0.10960981010285392,"sd":1.016479562257598},"arb":{"n":86,"mean":-7.857625615680662,"se":0.2608786157477823,"sd":2.419288756077951}}},{"tercile":2,"n":85,"volume_min":71497.3766961701,"volume_max":82014.301586867,"paired":{"label":"K150_m0.5","n":85,"mean_diff":-6.649509343520472,"se":0.28422326980063595,"sd":2.6204090717241137,"n_nonzero":85,"max_abs_diff":13.938127705180932,"worst":[{"seed":30031,"diff":-13.938127705180932,"edge_a":644.7600459976959,"edge_b":658.6981737028768},{"seed":30241,"diff":-12.166940027808096,"edge_a":533.6534699370479,"edge_b":545.820409964856},{"seed":30239,"diff":-11.99951172100566,"edge_a":539.5754811737985,"edge_b":551.5749928948042},{"seed":30144,"diff":-11.88806877417494,"edge_a":538.4975384970552,"edge_b":550.3856072712301},{"seed":30006,"diff":-11.324314150415148,"edge_a":514.1073031991164,"edge_b":525.4316173495315}]},"edge_deltas":{"retail":{"n":85,"mean":2.723045285063312,"se":0.11929406861118645,"sd":1.0998369690521814},"arb":{"n":85,"mean":-9.372554628583627,"se":0.305328258339326,"sd":2.8149874518272235}}},{"tercile":3,"n":85,"volume_min":82190.63221225118,"volume_max":94014.40846824742,"paired":{"label":"K150_m0.5","n":85,"mean_diff":-8.278074086839315,"se":0.39156703376572544,"sd":3.6100696758134108,"n_nonzero":85,"max_abs_diff":19.167961330138155,"worst":[{"seed":30203,"diff":-19.167961330138155,"edge_a":709.4473255834313,"edge_b":728.6152869135694},{"seed":30217,"diff":-17.638372373907373,"edge_a":695.3811913510897,"edge_b":713.019563724997},{"seed":30044,"diff":-16.431188206368915,"edge_a":721.380103997173,"edge_b":737.8112922035419},{"seed":30064,"diff":-15.689502241490914,"edge_a":684.8839027971246,"edge_b":700.5734050386155},{"seed":30190,"diff":-15.127632548395809,"edge_a":621.5422930075346,"edge_b":636.6699255559304}]},"edge_deltas":{"retail":{"n":85,"mean":3.581349757816311,"se":0.14770378411404542,"sd":1.3617616041498326},"arb":{"n":85,"mean":-11.859423844655861,"se":0.42838659377824395,"sd":3.9495292462467884}}}],"phase":"screening","checks":{"candidate":{"complete":true,"n_requested":256,"n_returned":256,"error":null,"counters_per_seed_match_global":true,"max_abs_reconciliation_error":6.110667527536862e-12,"Vanilla":{"oog":0,"other_errors":0}},"V2":{"complete":true,"n_requested":256,"n_returned":256,"error":null,"counters_per_seed_match_global":true,"max_abs_reconciliation_error":6.764366844436154e-12,"Vanilla":{"oog":0,"other_errors":0}}}},{"name":"K150_m0.5","valid":true,"invalid_reasons":[],"seeds":{"start":32000,"end_inclusive":32511,"step":1,"excluded":[]},"paired":{"label":"K150_m0.5","n":512,"mean_diff":-7.394108484822134,"se":0.14338504685137904,"sd":3.2444332463795504,"n_nonzero":512,"max_abs_diff":20.188369122965582,"worst":[{"seed":32320,"diff":-20.188369122965582,"edge_a":697.7780483101985,"edge_b":717.9664174331641},{"seed":32328,"diff":-19.951893707747672,"edge_a":724.9928984183547,"edge_b":744.9447921261024},{"seed":32300,"diff":-19.400497544559244,"edge_a":745.2408234288381,"edge_b":764.6413209733973},{"seed":32115,"diff":-18.560173602470854,"edge_a":537.8544160866389,"edge_b":556.4145896891098},{"seed":32433,"diff":-18.207353108960774,"edge_a":798.067472654876,"edge_b":816.2748257638368}],"stage":"tuning"},"gas":{"max_ok(afterSwap)":211441,"init_max":220944,"oog":0,"other_errors":0,"oog_seeds":[],"calls":{"afterInitialize":512,"afterSwap":5343160,"getName":512}},"v2_gas":{"max_ok(afterSwap)":243734,"init_max":236377,"oog":8,"other_errors":0,"oog_seeds":[[32338,2],[32341,3],[32485,1],[32491,2]],"calls":{"afterInitialize":512,"afterSwap":5340623,"getName":512}},"edge_deltas":{"retail":{"n":512,"mean":2.760446130526503,"se":0.055997860123932694,"sd":1.2670869320181943},"arb":{"n":512,"mean":-10.15455461534856,"se":0.1671518810958294,"sd":3.7822153155503506}},"v2_volume_terciles":[{"tercile":1,"n":171,"volume_min":56052.948368340294,"volume_max":72627.84617869866,"paired":{"label":"K150_m0.5","n":171,"mean_diff":-5.7182290566404275,"se":0.19067819095511898,"sd":2.493440895331545,"n_nonzero":171,"max_abs_diff":14.014990752887229,"worst":[{"seed":32112,"diff":-14.014990752887229,"edge_a":496.6569436118896,"edge_b":510.6719343647768},{"seed":32202,"diff":-13.096101774644012,"edge_a":514.6023053985821,"edge_b":527.6984071732261},{"seed":32385,"diff":-12.164835876233496,"edge_a":528.1007231752769,"edge_b":540.2655590515104},{"seed":32183,"diff":-11.946117249009944,"edge_a":536.681278887807,"edge_b":548.627396136817},{"seed":32180,"diff":-11.900364345955381,"edge_a":518.7095629152069,"edge_b":530.6099272611623}]},"edge_deltas":{"retail":{"n":171,"mean":2.0520716530970966,"se":0.06776433616884402,"sd":0.8861336800083278},"arb":{"n":171,"mean":-7.770300709737448,"se":0.2088109593888495,"sd":2.7305576108393117}}},{"tercile":2,"n":171,"volume_min":72763.77394574737,"volume_max":82827.67478912619,"paired":{"label":"K150_m0.5","n":171,"mean_diff":-7.5536132171763315,"se":0.22828666834562059,"sd":2.985235552428437,"n_nonzero":171,"max_abs_diff":18.560173602470854,"worst":[{"seed":32115,"diff":-18.560173602470854,"edge_a":537.8544160866389,"edge_b":556.4145896891098},{"seed":32375,"diff":-17.2504152376481,"edge_a":634.6221598123965,"edge_b":651.8725750500446},{"seed":32119,"diff":-14.620087831572732,"edge_a":633.4589507549191,"edge_b":648.0790385864918},{"seed":32342,"diff":-13.768883170539766,"edge_a":587.0432081145366,"edge_b":600.8120912850763},{"seed":32316,"diff":-13.486617531938577,"edge_a":559.6768024917681,"edge_b":573.1634200237066}]},"edge_deltas":{"retail":{"n":171,"mean":2.6145634687003407,"se":0.09011085169162121,"sd":1.178352288720474},"arb":{"n":171,"mean":-10.1681766858767,"se":0.23904353671809422,"sd":3.1258998589821814}}},{"tercile":3,"n":170,"volume_min":82869.38384853436,"volume_max":96206.62367075487,"paired":{"label":"K150_m0.5","n":170,"mean_diff":-8.919403031801568,"se":0.2589792710237768,"sd":3.376676573111669,"n_nonzero":170,"max_abs_diff":20.188369122965582,"worst":[{"seed":32320,"diff":-20.188369122965582,"edge_a":697.7780483101985,"edge_b":717.9664174331641},{"seed":32328,"diff":-19.951893707747672,"edge_a":724.9928984183547,"edge_b":744.9447921261024},{"seed":32300,"diff":-19.400497544559244,"edge_a":745.2408234288381,"edge_b":764.6413209733973},{"seed":32433,"diff":-18.207353108960774,"edge_a":798.067472654876,"edge_b":816.2748257638368},{"seed":32026,"diff":-16.525525330605547,"edge_a":691.0669670698569,"edge_b":707.5924924004624}]},"edge_deltas":{"retail":{"n":170,"mean":3.619728311777692,"se":0.09061610617976183,"sd":1.181489474714404},"arb":{"n":170,"mean":-12.539131343579081,"se":0.2915771489927368,"sd":3.801700902031162}}}],"phase":"followup_training","checks":{"candidate":{"complete":true,"n_requested":512,"n_returned":512,"error":null,"counters_per_seed_match_global":true,"max_abs_reconciliation_error":6.473044322774513e-12,"Vanilla":{"oog":0,"other_errors":0}},"V2":{"complete":true,"n_requested":512,"n_returned":512,"error":null,"counters_per_seed_match_global":true,"max_abs_reconciliation_error":7.44648787076585e-12,"Vanilla":{"oog":0,"other_errors":0}}}},{"name":"K150_m1.5","valid":true,"invalid_reasons":[],"seeds":{"start":30000,"end_inclusive":30255,"step":1,"excluded":[]},"paired":{"label":"K150_m1.5","n":256,"mean_diff":-39.19740272978897,"se":1.725596601770138,"sd":27.60954562832221,"n_nonzero":256,"max_abs_diff":167.8013929138083,"worst":[{"seed":30203,"diff":-167.8013929138083,"edge_a":560.8138939997611,"edge_b":728.6152869135694},{"seed":30037,"diff":-119.44499434379236,"edge_a":431.7468594427671,"edge_b":551.1918537865595},{"seed":30028,"diff":-115.00565995910927,"edge_a":580.5973218173549,"edge_b":695.6029817764642},{"seed":30110,"diff":-114.78058922394234,"edge_a":458.4217192893682,"edge_b":573.2023085133105},{"seed":30190,"diff":-107.48732799070149,"edge_a":529.1825975652289,"edge_b":636.6699255559304}],"stage":"tuning"},"gas":{"max_ok(afterSwap)":209105,"init_max":220944,"oog":0,"other_errors":0,"oog_seeds":[],"calls":{"afterInitialize":256,"afterSwap":2207402,"getName":256}},"v2_gas":{"max_ok(afterSwap)":243625,"init_max":236377,"oog":3,"other_errors":0,"oog_seeds":[[30105,2],[30238,1]],"calls":{"afterInitialize":256,"afterSwap":2652730,"getName":256}},"edge_deltas":{"retail":{"n":256,"mean":-47.25709392391896,"se":1.87179345441007,"sd":29.94869527056112},"arb":{"n":256,"mean":8.059691194129867,"se":0.22246954618779455,"sd":3.5595127390047128}},"v2_volume_terciles":[{"tercile":1,"n":86,"volume_min":57958.17377782431,"volume_max":71485.34483236399,"paired":{"label":"K150_m1.5","n":86,"mean_diff":-28.135308614753715,"se":1.9292020160463128,"sd":17.890683497554686,"n_nonzero":86,"max_abs_diff":71.49562520223935,"worst":[{"seed":30045,"diff":-71.49562520223935,"edge_a":399.4642441165459,"edge_b":470.95986931878525},{"seed":30099,"diff":-68.488519851452,"edge_a":439.0643330891929,"edge_b":507.5528529406449},{"seed":30088,"diff":-67.11662888810628,"edge_a":378.45238644226845,"edge_b":445.5690153303747},{"seed":30225,"diff":-66.69610040663821,"edge_a":347.9936698553819,"edge_b":414.6897702620201},{"seed":30007,"diff":-65.78947380579973,"edge_a":360.3357658630548,"edge_b":426.12523966885453}]},"edge_deltas":{"retail":{"n":86,"mean":-35.00676298146253,"se":2.1046039060504547,"sd":19.517293708842},"arb":{"n":86,"mean":6.871454366708574,"se":0.4326878519961131,"sd":4.012582067047462}}},{"tercile":2,"n":85,"volume_min":71497.3766961701,"volume_max":82014.301586867,"paired":{"label":"K150_m1.5","n":85,"mean_diff":-41.716110691339075,"se":3.100079197972164,"sd":28.581317986833245,"n_nonzero":85,"max_abs_diff":119.44499434379236,"worst":[{"seed":30037,"diff":-119.44499434379236,"edge_a":431.7468594427671,"edge_b":551.1918537865595},{"seed":30110,"diff":-114.78058922394234,"edge_a":458.4217192893682,"edge_b":573.2023085133105},{"seed":30156,"diff":-107.16320471367385,"edge_a":434.733668740173,"edge_b":541.8968734538469},{"seed":30011,"diff":-106.95199732340024,"edge_a":424.43127878128456,"edge_b":531.3832761046848},{"seed":30093,"diff":-101.7479742985895,"edge_a":461.86455140571843,"edge_b":563.6125257043079}]},"edge_deltas":{"retail":{"n":85,"mean":-49.598543378477004,"se":3.3595459930826688,"sd":30.973483639545847},"arb":{"n":85,"mean":7.882432687137817,"se":0.2983580961953284,"sd":2.7507257320660976}}},{"tercile":3,"n":85,"volume_min":82190.63221225118,"volume_max":94014.40846824742,"paired":{"label":"K150_m1.5","n":85,"mean_diff":-47.87093116698042,"se":3.370247392395728,"sd":31.07214566626784,"n_nonzero":85,"max_abs_diff":167.8013929138083,"worst":[{"seed":30203,"diff":-167.8013929138083,"edge_a":560.8138939997611,"edge_b":728.6152869135694},{"seed":30028,"diff":-115.00565995910927,"edge_a":580.5973218173549,"edge_b":695.6029817764642},{"seed":30190,"diff":-107.48732799070149,"edge_a":529.1825975652289,"edge_b":636.6699255559304},{"seed":30141,"diff":-107.13997786599111,"edge_a":552.3511178215889,"edge_b":659.49109568758},{"seed":30012,"diff":-106.54264474413469,"edge_a":533.7421322164735,"edge_b":640.2847769606082}]},"edge_deltas":{"retail":{"n":85,"mean":-57.31009695231683,"se":3.6243172621691677,"sd":33.41455412590268},"arb":{"n":85,"mean":9.4391657853364,"se":0.36301015532933273,"sd":3.3467882655075796}}}],"phase":"screening","checks":{"candidate":{"complete":true,"n_requested":256,"n_returned":256,"error":null,"counters_per_seed_match_global":true,"max_abs_reconciliation_error":1.2732925824820995e-11,"Vanilla":{"oog":0,"other_errors":0}},"V2":{"complete":true,"n_requested":256,"n_returned":256,"error":null,"counters_per_seed_match_global":true,"max_abs_reconciliation_error":6.764366844436154e-12,"Vanilla":{"oog":0,"other_errors":0}}}},{"name":"K50_m0.5","valid":true,"invalid_reasons":[],"seeds":{"start":30000,"end_inclusive":30255,"step":1,"excluded":[]},"paired":{"label":"K50_m0.5","n":256,"mean_diff":-16.412375300385815,"se":0.29515400953214876,"sd":4.72246415251438,"n_nonzero":256,"max_abs_diff":34.85198750103564,"worst":[{"seed":30044,"diff":-34.85198750103564,"edge_a":702.9593047025063,"edge_b":737.8112922035419},{"seed":30217,"diff":-33.621878269560625,"edge_a":679.3976854554364,"edge_b":713.019563724997},{"seed":30203,"diff":-33.13879775460339,"edge_a":695.476489158966,"edge_b":728.6152869135694},{"seed":30064,"diff":-30.608051274479067,"edge_a":669.9653537641365,"edge_b":700.5734050386155},{"seed":30193,"diff":-27.717033533278936,"edge_a":651.2348221800619,"edge_b":678.9518557133408}],"stage":"tuning"},"gas":{"max_ok(afterSwap)":209111,"init_max":220944,"oog":0,"other_errors":0,"oog_seeds":[],"calls":{"afterInitialize":256,"afterSwap":2747742,"getName":256}},"v2_gas":{"max_ok(afterSwap)":243625,"init_max":236377,"oog":3,"other_errors":0,"oog_seeds":[[30105,2],[30238,1]],"calls":{"afterInitialize":256,"afterSwap":2652730,"getName":256}},"edge_deltas":{"retail":{"n":256,"mean":11.927649977451903,"se":0.17478239819601335,"sd":2.7965183711362136},"arb":{"n":256,"mean":-28.340025277837714,"se":0.39183739255962424,"sd":6.269398280953988}},"v2_volume_terciles":[{"tercile":1,"n":86,"volume_min":57958.17377782431,"volume_max":71485.34483236399,"paired":{"label":"K50_m0.5","n":86,"mean_diff":-14.030284310364875,"se":0.3549615607800229,"sd":3.2917780952396427,"n_nonzero":86,"max_abs_diff":22.238331738859927,"worst":[{"seed":30057,"diff":-22.238331738859927,"edge_a":446.74441916581065,"edge_b":468.9827509046706},{"seed":30099,"diff":-22.18882905573355,"edge_a":485.3640238849114,"edge_b":507.5528529406449},{"seed":30045,"diff":-20.7573819115471,"edge_a":450.20248740723815,"edge_b":470.95986931878525},{"seed":30163,"diff":-20.404209031618393,"edge_a":408.65372538604527,"edge_b":429.05793441766366},{"seed":30216,"diff":-20.227671877389014,"edge_a":459.5899037867071,"edge_b":479.8175756640961}]},"edge_deltas":{"retail":{"n":86,"mean":9.237392547793092,"se":0.17334494631984668,"sd":1.6075349002924402},"arb":{"n":86,"mean":-23.267676858158058,"se":0.39071424572622576,"sd":3.6233348556203806}}},{"tercile":2,"n":85,"volume_min":71497.3766961701,"volume_max":82014.301586867,"paired":{"label":"K50_m0.5","n":85,"mean_diff":-15.966198336414024,"se":0.42142592136945056,"sd":3.885355017521266,"n_nonzero":85,"max_abs_diff":24.55185732480652,"worst":[{"seed":30031,"diff":-24.55185732480652,"edge_a":634.1463163780703,"edge_b":658.6981737028768},{"seed":30144,"diff":-23.981129483213408,"edge_a":526.4044777880167,"edge_b":550.3856072712301},{"seed":30239,"diff":-23.85864406520284,"edge_a":527.7163488296013,"edge_b":551.5749928948042},{"seed":30166,"diff":-23.230515576784114,"edge_a":554.8434701883119,"edge_b":578.073985765096},{"seed":30241,"diff":-23.17331835948221,"edge_a":522.6470916053738,"edge_b":545.820409964856}]},"edge_deltas":{"retail":{"n":85,"mean":12.05388942098776,"se":0.2024660246549054,"sd":1.8666445153972582},"arb":{"n":85,"mean":-28.020087757401743,"se":0.44848913174175004,"sd":4.134865488705751}}},{"tercile":3,"n":85,"volume_min":82190.63221225118,"volume_max":94014.40846824742,"paired":{"label":"K50_m0.5","n":85,"mean_diff":-19.268667854261146,"se":0.5674947085336906,"sd":5.2320426946048295,"n_nonzero":85,"max_abs_diff":34.85198750103564,"worst":[{"seed":30044,"diff":-34.85198750103564,"edge_a":702.9593047025063,"edge_b":737.8112922035419},{"seed":30217,"diff":-33.621878269560625,"edge_a":679.3976854554364,"edge_b":713.019563724997},{"seed":30203,"diff":-33.13879775460339,"edge_a":695.476489158966,"edge_b":728.6152869135694},{"seed":30064,"diff":-30.608051274479067,"edge_a":669.9653537641365,"edge_b":700.5734050386155},{"seed":30193,"diff":-27.717033533278936,"edge_a":651.2348221800619,"edge_b":678.9518557133408}]},"edge_deltas":{"retail":{"n":85,"mean":14.52331805098261,"se":0.19993886634842853,"sd":1.8433452670400776},"arb":{"n":85,"mean":-33.791985905243685,"se":0.617540193748428,"sd":5.693439270428894}}}],"phase":"screening","checks":{"candidate":{"complete":true,"n_requested":256,"n_returned":256,"error":null,"counters_per_seed_match_global":true,"max_abs_reconciliation_error":8.01492205937393e-12,"Vanilla":{"oog":0,"other_errors":0}},"V2":{"complete":true,"n_requested":256,"n_returned":256,"error":null,"counters_per_seed_match_global":true,"max_abs_reconciliation_error":6.764366844436154e-12,"Vanilla":{"oog":0,"other_errors":0}}}},{"name":"K50_m1.5","valid":true,"invalid_reasons":[],"seeds":{"start":30000,"end_inclusive":30255,"step":1,"excluded":[]},"paired":{"label":"K50_m1.5","n":256,"mean_diff":-91.9342056568618,"se":2.401082906866264,"sd":38.417326509860224,"n_nonzero":256,"max_abs_diff":226.7002839927717,"worst":[{"seed":30203,"diff":-226.7002839927717,"edge_a":501.91500292079775,"edge_b":728.6152869135694},{"seed":30103,"diff":-216.3812463486443,"edge_a":331.8023199199294,"edge_b":548.1835662685737},{"seed":30141,"diff":-191.7219000063052,"edge_a":467.7691956812748,"edge_b":659.49109568758},{"seed":30037,"diff":-180.12370674409766,"edge_a":371.0681470424618,"edge_b":551.1918537865595},{"seed":30110,"diff":-175.54630042201234,"edge_a":397.6560080912982,"edge_b":573.2023085133105}],"stage":"tuning"},"gas":{"max_ok(afterSwap)":209105,"init_max":220944,"oog":0,"other_errors":0,"oog_seeds":[],"calls":{"afterInitialize":256,"afterSwap":1364413,"getName":256}},"v2_gas":{"max_ok(afterSwap)":243625,"init_max":236377,"oog":3,"other_errors":0,"oog_seeds":[[30105,2],[30238,1]],"calls":{"afterInitialize":256,"afterSwap":2652730,"getName":256}},"edge_deltas":{"retail":{"n":256,"mean":-109.51815948513637,"se":2.541315134263639,"sd":40.66104214821822},"arb":{"n":256,"mean":17.58395382827454,"se":0.2821382285973438,"sd":4.5142116575575}},"v2_volume_terciles":[{"tercile":1,"n":86,"volume_min":57958.17377782431,"volume_max":71485.34483236399,"paired":{"label":"K50_m1.5","n":86,"mean_diff":-73.0938190475048,"se":3.1732062967221553,"sd":29.42710460330601,"n_nonzero":86,"max_abs_diff":166.08576314709182,"worst":[{"seed":30095,"diff":-166.08576314709182,"edge_a":287.8020772873999,"edge_b":453.88784043449175},{"seed":30131,"diff":-156.78523182124445,"edge_a":294.1461950659283,"edge_b":450.93142688717273},{"seed":30041,"diff":-155.72036394073808,"edge_a":283.6398752511783,"edge_b":439.3602391919164},{"seed":30179,"diff":-140.52267585294317,"edge_a":307.4664495452089,"edge_b":447.98912539815205},{"seed":30225,"diff":-136.15902429101664,"edge_a":278.53074597100345,"edge_b":414.6897702620201}]},"edge_deltas":{"retail":{"n":86,"mean":-88.67571580440321,"se":3.3392326219151065,"sd":30.966769403354544},"arb":{"n":86,"mean":15.581896756898308,"se":0.46692979823649694,"sd":4.330128813024055}}},{"tercile":2,"n":85,"volume_min":71497.3766961701,"volume_max":82014.301586867,"paired":{"label":"K50_m1.5","n":85,"mean_diff":-95.18579374387666,"se":4.250281061231647,"sd":39.185655200015155,"n_nonzero":85,"max_abs_diff":216.3812463486443,"worst":[{"seed":30103,"diff":-216.3812463486443,"edge_a":331.8023199199294,"edge_b":548.1835662685737},{"seed":30037,"diff":-180.12370674409766,"edge_a":371.0681470424618,"edge_b":551.1918537865595},{"seed":30110,"diff":-175.54630042201234,"edge_a":397.6560080912982,"edge_b":573.2023085133105},{"seed":30156,"diff":-172.48152379481832,"edge_a":369.41534965902855,"edge_b":541.8968734538469},{"seed":30093,"diff":-170.52710696289114,"edge_a":393.0854187414168,"edge_b":563.6125257043079}]},"edge_deltas":{"retail":{"n":85,"mean":-113.09836635581674,"se":4.476682610216541,"sd":41.27297434608136},"arb":{"n":85,"mean":17.912572611940153,"se":0.5545659848408879,"sd":5.11284575174298}}},{"tercile":3,"n":85,"volume_min":82190.63221225118,"volume_max":94014.40846824742,"paired":{"label":"K50_m1.5","n":85,"mean_diff":-107.74465578637285,"se":4.118177519445032,"sd":37.967720723547615,"n_nonzero":85,"max_abs_diff":226.7002839927717,"worst":[{"seed":30203,"diff":-226.7002839927717,"edge_a":501.91500292079775,"edge_b":728.6152869135694},{"seed":30141,"diff":-191.7219000063052,"edge_a":467.7691956812748,"edge_b":659.49109568758},{"seed":30192,"diff":-166.59794623446675,"edge_a":475.76006274894,"edge_b":642.3580089834068},{"seed":30255,"diff":-162.9734567447074,"edge_a":472.0211142513682,"edge_b":634.9945709960756},{"seed":30188,"diff":-159.65237356918834,"edge_a":511.99095706737336,"edge_b":671.6433306365617}]},"edge_deltas":{"retail":{"n":85,"mean":-127.02560151496247,"se":4.307739397273203,"sd":39.71539488359237},"arb":{"n":85,"mean":19.280945728589597,"se":0.33642902160035754,"sd":3.101722321368045}}}],"phase":"screening","checks":{"candidate":{"complete":true,"n_requested":256,"n_returned":256,"error":null,"counters_per_seed_match_global":true,"max_abs_reconciliation_error":7.73070496506989e-12,"Vanilla":{"oog":0,"other_errors":0}},"V2":{"complete":true,"n_requested":256,"n_returned":256,"error":null,"counters_per_seed_match_global":true,"max_abs_reconciliation_error":6.764366844436154e-12,"Vanilla":{"oog":0,"other_errors":0}}}}],"paired":{"label":"K150_m0.5","n":512,"mean_diff":-7.394108484822134,"se":0.14338504685137904,"sd":3.2444332463795504,"n_nonzero":512,"max_abs_diff":20.188369122965582,"worst":[{"seed":32320,"diff":-20.188369122965582,"edge_a":697.7780483101985,"edge_b":717.9664174331641},{"seed":32328,"diff":-19.951893707747672,"edge_a":724.9928984183547,"edge_b":744.9447921261024},{"seed":32300,"diff":-19.400497544559244,"edge_a":745.2408234288381,"edge_b":764.6413209733973},{"seed":32115,"diff":-18.560173602470854,"edge_a":537.8544160866389,"edge_b":556.4145896891098},{"seed":32433,"diff":-18.207353108960774,"edge_a":798.067472654876,"edge_b":816.2748257638368}],"stage":"tuning"},"selection":{"selected":"K150_m0.5","rule":"highest mean paired gain among valid four variants on 30000..30255","sha256":"34d3a64648932a2044193575d1791b4740bb0c9c9d1b2a1f457e6bc953133986"},"freeze":{"selected":"K150_m0.5","sha256":"34d3a64648932a2044193575d1791b4740bb0c9c9d1b2a1f457e6bc953133986","source_frozen":true,"confirmation":null},"confirmation":null,"blocked":null,"G-control":{"name":"G","valid":true,"invalid_reasons":[],"seeds":{"start":30000,"end_inclusive":30255,"step":1,"excluded":[]},"paired":{"label":"G","n":256,"mean_diff":0.0003932124874872489,"se":0.0003607526598012146,"sd":0.005772042556819433,"n_nonzero":2,"max_abs_diff":0.09197746979708654,"worst":[{"seed":30000,"diff":0.0,"edge_a":490.43030304499365,"edge_b":490.43030304499365},{"seed":30001,"diff":0.0,"edge_a":640.6988000735296,"edge_b":640.6988000735296},{"seed":30002,"diff":0.0,"edge_a":680.0029777999026,"edge_b":680.0029777999026},{"seed":30003,"diff":0.0,"edge_a":583.630660051081,"edge_b":583.630660051081},{"seed":30004,"diff":0.0,"edge_a":656.0379548574365,"edge_b":656.0379548574365}],"stage":"tuning"},"gas":{"max_ok(afterSwap)":208815,"init_max":220944,"oog":0,"other_errors":0,"oog_seeds":[],"calls":{"afterInitialize":256,"afterSwap":2652730,"getName":256}},"v2_gas":{"max_ok(afterSwap)":243625,"init_max":236377,"oog":3,"other_errors":0,"oog_seeds":[[30105,2],[30238,1]],"calls":{"afterInitialize":256,"afterSwap":2652730,"getName":256}},"edge_deltas":{"retail":{"n":256,"mean":0.0002381134441145072,"se":0.0002091768131132237,"sd":0.003346829009811579},"arb":{"n":256,"mean":0.0001550990433659416,"se":0.00015233428170305052,"sd":0.0024373485072488083}},"v2_volume_terciles":[{"tercile":1,"n":86,"volume_min":57958.17377782431,"volume_max":71485.34483236399,"paired":{"label":"G","n":86,"mean_diff":0.001170492986008555,"se":0.0010730792516950019,"sd":0.00995132759565146,"n_nonzero":2,"max_abs_diff":0.09197746979708654,"worst":[{"seed":30254,"diff":0.0,"edge_a":342.28977304213146,"edge_b":342.28977304213146},{"seed":30132,"diff":0.0,"edge_a":387.92270380482074,"edge_b":387.92270380482074},{"seed":30181,"diff":0.0,"edge_a":368.5128862960632,"edge_b":368.5128862960632},{"seed":30235,"diff":0.0,"edge_a":372.57705330022225,"edge_b":372.57705330022225},{"seed":30219,"diff":0.0,"edge_a":408.6629757817495,"edge_b":408.6629757817495}]},"edge_deltas":{"retail":{"n":86,"mean":0.0007088028103873702,"se":0.0006219459550474521,"sd":0.005767689511926791},"arb":{"n":86,"mean":0.00046169017560094243,"se":0.00045339530249910166,"sd":0.004204615063026539}}},{"tercile":2,"n":85,"volume_min":71497.3766961701,"volume_max":82014.301586867,"paired":{"label":"G","n":85,"mean_diff":0.0,"se":0.0,"sd":0.0,"n_nonzero":0,"max_abs_diff":0.0,"worst":[{"seed":30018,"diff":0.0,"edge_a":499.31425787221343,"edge_b":499.31425787221343},{"seed":30114,"diff":0.0,"edge_a":476.1467502463215,"edge_b":476.1467502463215},{"seed":30026,"diff":0.0,"edge_a":446.7420389519712,"edge_b":446.7420389519712},{"seed":30211,"diff":0.0,"edge_a":441.2203001690204,"edge_b":441.2203001690204},{"seed":30133,"diff":0.0,"edge_a":465.2250544964568,"edge_b":465.2250544964568}]},"edge_deltas":{"retail":{"n":85,"mean":0.0,"se":0.0,"sd":0.0},"arb":{"n":85,"mean":0.0,"se":0.0,"sd":0.0}}},{"tercile":3,"n":85,"volume_min":82190.63221225118,"volume_max":94014.40846824742,"paired":{"label":"G","n":85,"mean_diff":0.0,"se":0.0,"sd":0.0,"n_nonzero":0,"max_abs_diff":0.0,"worst":[{"seed":30155,"diff":0.0,"edge_a":564.2023567794456,"edge_b":564.2023567794456},{"seed":30222,"diff":0.0,"edge_a":572.1108068024882,"edge_b":572.1108068024882},{"seed":30174,"diff":0.0,"edge_a":600.5029049806617,"edge_b":600.5029049806617},{"seed":30190,"diff":0.0,"edge_a":636.6699255559304,"edge_b":636.6699255559304},{"seed":30138,"diff":0.0,"edge_a":562.897559479123,"edge_b":562.897559479123}]},"edge_deltas":{"retail":{"n":85,"mean":0.0,"se":0.0,"sd":0.0},"arb":{"n":85,"mean":0.0,"se":0.0,"sd":0.0}}}],"phase":"screening","checks":{"candidate":{"complete":true,"n_requested":256,"n_returned":256,"error":null,"counters_per_seed_match_global":true,"max_abs_reconciliation_error":6.764366844436154e-12,"Vanilla":{"oog":0,"other_errors":0}},"V2":{"complete":true,"n_requested":256,"n_returned":256,"error":null,"counters_per_seed_match_global":true,"max_abs_reconciliation_error":6.764366844436154e-12,"Vanilla":{"oog":0,"other_errors":0}}}},"method":{"simulator_commit":"6b6921f8d463314aa7c96234e1be25a25245f704","workers":8,"chunk_size":32,"n_steps":10000,"afterSwap_gas_limit":250000,"markets":"Each strategy separately versus Vanilla; V2 rows reused only within screening.","gate":"all afterSwap calls; no firstInStep gate","seed_selection":"Direct MatchRunner config draws: size, rate, sigma via default_rng(seed); price seed; retail seed+1. All requested seeds retained.","terciles":"Sorted by V2 submission retail_volume_y, ties by seed, split into three nearly equal count groups.","validity":"Complete unique finite rows, per-seed/global counters equal, retail+arb reconciliation <1e-8, no non-OOG errors in either strategy, no Vanilla errors, candidate total OOG <= same-seed V2 OOG."},"generator":{"base_url":"https://api.imd.fun/artifacts/206a4888de6fa1bda53cd2c9bad1632ccdbb63d32e7f09b6a332746b7a3ac3c3","python":"def generate(G, K_bps, m_wad):\n    anchor = '            uint256 attractShift = wmul(staleShift, STALE_ATTRACT_FRAC);'\n    assert G.count(anchor) == 1\n    return G.replace(anchor, anchor + f'\\n            staleShift = wmul(STALE_DIR_COEF, staleTox < {K_bps} * BPS ? staleTox : {K_bps} * BPS) + wmul({m_wad}, wmul(STALE_DIR_COEF, staleTox > {K_bps} * BPS ? staleTox - {K_bps} * BPS : 0));')\n","rounding":"Integer WAD floors each multiplication: coefficient times capped d plus m times coefficient times excess. Original x computed first; attraction computed before overwriting protecting shift."},"checks":{"G_sha256_matches":true,"V2_sha256_matches":true,"variant_scope":"Each variant differs from exact G only by a single reassignment of staleShift after attractShift is computed; removing it restores exact G.","tests.json":{"matchrunner_equal_10000_10031":true,"far_block_len":4,"far_block_seconds":0.0003,"allocation_scales_with_n":true,"far_seed_equals_single":true,"validity_cases":{"cand_oog_equal_v2_valid":true,"cand_oog_less_valid":true,"cand_oog_more_invalid":true,"v2_oog_alone_not_invalid":true,"revert_invalid":true,"ref_revert_invalid":true,"vanilla_oog_invalid":true,"vanilla_other_invalid":true,"incomplete_invalid":true,"counter_mismatch_invalid":true,"reconciliation_threshold_invalid":true,"control_oog_match_valid":true,"control_oog_mismatch_invalid":true},"all_pass":true},"validate.json":{"G":{"exit_code":0,"output":"Validating strategy...\nCompiling strategy...\nStrategy 'no_cubic' validated successfully!\n"},"V2":{"exit_code":0,"output":"Validating strategy...\nCompiling strategy...\nStrategy 'no_cubic' validated successfully!\n"},"K50_m0.5":{"exit_code":0,"output":"Validating strategy...\nCompiling strategy...\nStrategy 'no_cubic' validated successfully!\n"},"K50_m1.5":{"exit_code":0,"output":"Validating strategy...\nCompiling strategy...\nStrategy 'no_cubic' validated successfully!\n"},"K150_m0.5":{"exit_code":0,"output":"Validating strategy...\nCompiling strategy...\nStrategy 'no_cubic' validated successfully!\n"},"K150_m1.5":{"exit_code":0,"output":"Validating strategy...\nCompiling strategy...\nStrategy 'no_cubic' validated successfully!\n"}},"independent_checks.json":{"all_pass":true,"stages":[{"name":"G","seed_start":30000,"n":256,"independent_recompute_pass":true},{"name":"K150_m0.5","seed_start":30000,"n":256,"independent_recompute_pass":true},{"name":"K150_m0.5","seed_start":32000,"n":512,"independent_recompute_pass":true},{"name":"K150_m1.5","seed_start":30000,"n":256,"independent_recompute_pass":true},{"name":"K50_m0.5","seed_start":30000,"n":256,"independent_recompute_pass":true},{"name":"K50_m1.5","seed_start":30000,"n":256,"independent_recompute_pass":true}],"generator_hashes_match":true,"independent_statistics_and_gas_recomputed":true},"firstInStep_before_increment":true,"under_60min":true},"gas":{"max_ok(afterSwap)":211441,"init_max":220944,"oog":0,"other_errors":0,"oog_seeds":[],"calls":{"afterInitialize":512,"afterSwap":5343160,"getName":512}},"v2_gas":{"max_ok(afterSwap)":243734,"init_max":236377,"oog":8,"other_errors":0,"oog_seeds":[[32338,2],[32341,3],[32485,1],[32491,2]],"calls":{"afterInitialize":512,"afterSwap":5340623,"getName":512}},"training_summary":"All four hinge variants underperformed V2 on screening; the highest valid mean was selected for the requested follow-up training block.","elapsed_seconds_to_freeze":1305.9136488437653}
