{
 "credit": "Taylor (gtmcknight), github.com/gtmcknight/amm-sim@4812a6382311624e1506aca131ca35c378f930d9 research/solved: the solved policy, Gaussian filter, qm tables, exact-arithmetic arb/retail tell and U1 tables that LEAN and QLX5 are built on. This item only changes one constant of QLX5 (LEAN plus the drift-tolerant split test) and measures it on the engine; all credit for the policy is Taylor's.",
 "n": 18,
 "id": "rr_scale",
 "family": "rival clip and band widths",
 "find": "int256 rr=(ln(r)-m)*10000;",
 "lo": "int256 rr=(ln(r)-m)*7500;",
 "hi": "int256 rr=(ln(r)-m)*12500;",
 "meaning": "Scale of the rival offset ln r - m on the tables' column axis (lo shrinks the rival band 25%, hi widens it 25%).",
 "seeds": {
  "first": 10205304,
  "last": 10205431,
  "n": 128,
  "unused": 0,
  "unused_list": [],
  "burnt": [],
  "blocks_complete": 4,
  "block_size": 32
 },
 "arms": {
  "QLX5": {
   "mean_edge": 536.5138357921651,
   "peak_gas": 204614,
   "out_of_gas": 0,
   "runtime_bytes": 22440,
   "source_sha256": "e183e5bc3fb794b7067703b10a7da9920267aa5f4caa968e16ca101b02338f40",
   "source_chars": 47230,
   "runtime_sha256": "903a0cf860910022916e7c16aa1ffcfb94b0db9e25074665947d786615a44ae8",
   "afterSwap_calls": 1402119,
   "afterSwap_ok": 1402119,
   "mean_gas": 136618.1,
   "callback_errors_all_roles": 0,
   "engine_seconds": 39.925
  },
  "LO": {
   "mean_edge": 535.2575433260126,
   "peak_gas": 204810,
   "out_of_gas": 0,
   "runtime_bytes": 22437,
   "source_sha256": "3075e2e495fecf4b87dea2dd8cfb8665e1bb94890adba3712336c7f101c2c518",
   "source_chars": 47229,
   "runtime_sha256": "4ea59fde474f25b785b9da4198f79f76e0cb19469ee2264eff6d2e78d95b8d20",
   "afterSwap_calls": 1340178,
   "afterSwap_ok": 1340178,
   "mean_gas": 137284,
   "callback_errors_all_roles": 0,
   "engine_seconds": 38.232
  },
  "HI": {
   "mean_edge": 535.5683507544967,
   "peak_gas": 207689,
   "out_of_gas": 0,
   "runtime_bytes": 22437,
   "source_sha256": "212b65a9ce9e783c516110ab63f03887be9f226ad2f1c67c6a39bc48299a607b",
   "source_chars": 47230,
   "runtime_sha256": "06b21036c43482e88e3bede27231472b5747b4103d5b2e8f06b7f4c9e5782860",
   "afterSwap_calls": 1419266,
   "afterSwap_ok": 1419266,
   "mean_gas": 136453.1,
   "callback_errors_all_roles": 0,
   "engine_seconds": 40.409
  }
 },
 "diffs": {
  "LO-QLX5": {
   "n": 128,
   "mean_diff": -1.256292466152471,
   "se": 0.059481610143499446,
   "sum_d": -160.8054356675163,
   "sum_d2": 259.5333923276661,
   "seeds_positive": 4,
   "min": -3.372823448509223,
   "max": 0.6844108304628662
  },
  "HI-QLX5": {
   "n": 128,
   "mean_diff": -0.9454850376684591,
   "se": 0.04239213474334218,
   "sum_d": -121.02208482156277,
   "sum_d2": 143.6381156663466,
   "seeds_positive": 1,
   "min": -1.9310925819768272,
   "max": 0.8517459827725133
  },
  "HI-LO": {
   "n": 128,
   "mean_diff": 0.3108074284840119,
   "se": 0.07527287358642709,
   "sum_d": 39.78335084595352,
   "sum_d2": 104.47154634771711,
   "seeds_positive": 83,
   "min": -2.438128025974038,
   "max": 2.8311952258843576
  }
 },
 "pass_peak": {
  "LO": true,
  "HI": true,
  "QLX5": true,
  "rule": "afterSwap peak <= 245,000, 0 out of gas, no revert / halt / tx error / bad return in either pool, every Submission afterSwap call ok"
 },
 "reading": "Scaling the rival offset on the table column axis loses in both directions on these 128 fresh seeds: LO (x7500) - QLX5 = -1.2563 se 0.0595 (4/128 seeds positive) and HI (x12500) - QLX5 = -0.9455 se 0.0424 (1/128 positive), so QLX5's 10000 stays and this knob is not a candidate.",
 "by_block": [
  {
   "seeds": [
    10205304,
    10205335
   ],
   "LO-QLX5": [
    -1.2701,
    0.1354
   ],
   "HI-QLX5": [
    -1.0176,
    0.0956
   ]
  },
  {
   "seeds": [
    10205336,
    10205367
   ],
   "LO-QLX5": [
    -1.2963,
    0.1031
   ],
   "HI-QLX5": [
    -0.8449,
    0.0866
   ]
  },
  {
   "seeds": [
    10205368,
    10205399
   ],
   "LO-QLX5": [
    -1.2848,
    0.129
   ],
   "HI-QLX5": [
    -0.9274,
    0.0772
   ]
  },
  {
   "seeds": [
    10205400,
    10205431
   ],
   "LO-QLX5": [
    -1.174,
    0.1099
   ],
   "HI-QLX5": [
    -0.9921,
    0.0792
   ]
  }
 ],
 "limits": {
  "source_chars": {
   "QLX5": 47230,
   "LO": 47229,
   "HI": 47230,
   "limit": 50000
  },
  "runtime_bytes_limit": 24576,
  "peak_gas_limit": 245000,
  "all_within": true
 },
 "build": {
  "qlx5": "code_zb64.QLX5 of https://api.imd.fun/artifacts/1ef80bfb6d6791b877b1f4048a5e63cf2ae54153e6e8763ae3f8ab13132dfb15, base64 then zlib decoded; source sha256 e183e5bc3fb794b7067703b10a7da9920267aa5f4caa968e16ca101b02338f40 checked",
  "variants": "find asserted to occur exactly once in QLX5; LO = that one occurrence replaced by lo, HI = by hi; nothing else changed. The LO and HI source sha256 and runtime bytes equal the ones the c-map entry lists (3075e2e4..., 212b65a9..., 22437 bytes each).",
  "map": "knob n=18 of the c-map result (input after-map, sha256 f921f2133d55d8ce81b5d809494003e898fc2a72d1fe47cdc34606ff269d676e), read as data"
 },
 "method": {
  "engine": "benedictbrady/amm-challenge@6b6921f8d463314aa7c96234e1be25a25245f704, amm_sim_rs 0.1.0.post1 as installed by setup_fast.sh of identity-md-launches/goal-3178-build-shared-evaluation-kit@45e7563d1a29ffca9d608fdf60c90bf2624d2d01 (exit 0, 16 pinned downloads); native library sha256 ff88b6353c2aad7342f0a26194f7347e78b9c3b38d683a7449006d423978cd14",
  "compile": "driver compile_arm: kit SolidityCompiler, pinned solc 0.8.24, optimizer 200, viaIR, paris; compiler binary sha256 fb03a29a517452b9f12bcf459ef37d0a543765bb3bbc911e70a87d6a37c30d5f",
  "driver": "driver_zb64 of https://api.imd.fun/artifacts/764c9461a9f3bab6e277178f4bb48553d1b97c6cca33bed016f7c9bfd611cc42 (19802 bytes, sha256 d3f8646b541a76921a47e9d03247c8c9dfab594076a7c5dca79c36b6c048a282), unchanged: each arm alone against the 30 bps VanillaStrategy, blocks of 32 seeds, QLX5 then LO then HI inside each block, workers 8; one driver process, one command, exit 0; lease 10205304..10205431; configs compared with the kit's on all 128 seeds before the run and again before each block",
  "vanilla_creation_sha256": "3bcbd8a295b9d9c357e76df36a08c6232f8afa692a2189c643fe0d029a9efc05",
  "stats": "paired by seed on unrounded submission edges; se = sd of paired differences (n-1) over sqrt(n); sum_d and sum_d2 are the sums of the differences and of their squares; peak_gas = largest successful Submission afterSwap gas over the arm's four blocks. The driver's own summary (opposite sign) agrees to 1e-9.",
  "time": {
   "engine_seconds_all_arms": 118.566,
   "wall_seconds_driver_command": 121,
   "driver_commands": 1,
   "limit_minutes": 35
  },
  "each_seed_run_once": "ledger: 128 seeds complete for every arm, burnt 0, failures 0, partial 0, unused 0; no engine seed outside 10205304..10205431 was simulated (the only other engine calls were compile-only and config construction)"
 },
 "observation": "The fee change moves trade counts, not only the fee: Submission afterSwap calls are 1340178 (LO), 1402119 (QLX5) and 1419266 (HI) on the same seeds.",
 "rows_zb64": "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",
 "rows_format": "base64(zlib(csv)): header seed,QLX5,LO,HI; one line a seed; submission edges rounded to 6 decimals (the statistics above use the unrounded values)",
 "not_done": [
  "No submission to the leaderboard was made or prepared.",
  "Only the two map values (7500 and 12500) were tested; intermediate scales (for example 9000 or 11000) were not, so a small optimum near 10000 is not excluded, only a gain at +-25%.",
  "128 seeds, one knob alone: no stacking with other knobs, no 1,024-seed confirmation (not warranted: both arms are far below QLX5).",
  "Gates P, Q, T, F were not run (execution profile none; this item is the engine test only); G is covered as source characters, runtime bytes and the 128-seed afterSwap peak; qt1 was not an arm here.",
  "The afterSwap peaks come from these 128 seeds only; a larger sample can show a higher peak.",
  "No replica run and no analysis of why both directions lose (the tables are fitted for the unscaled rival offset, which is the likely cause, not a measured one)."
 ]
}
