# Mid versus low costing, 2026-09-13

Release/native build, 24 Rayon threads, full 27-layer saved recipes. Expansion cache initially empty per invocation. Measurements include the reduction-output bypass. No placement, physical exchange scheduling or hardware execution in these benchmarks. run.sh reproduces them.

| Recipe | Restore/rebuild mid (ms) | Mid cost (ms) | Low expansion incl. cost (ms) | Re-cost with cached geometry (ms) | Footprint (ms) | Expanded process RSS (MiB) |
|---|---:|---:|---:|---:|---:|---:|
| BS1 saved | 991.8 | 16.8 | 6996.2 | 1210.0 | 1628.9 | 773.1 |
| BS1 GELU preserves bias owners | 876.2 | 16.9 | 8422.6 | 1197.5 | 1535.2 | 768.0 |
| BS2 saved | 766.9 | 10.8 | 8779.7 | 1644.3 | 2243.5 | 1056.7 |

The re-cost measurement is diagnostic, not an additional required production pass. Footprint is separately timed. Restore/rebuild time includes checkpoint deserialization and normal fixed-recipe mid lowering. RSS includes caches and retained allocations.

GELU ranking still reverses relative to prior placed estimates:
- mid: incumbent 18,688,103, preserve 18,969,740;
- unscheduled low: incumbent 19,864,272, preserve 20,233,254;
- previously measured placed estimates BEFORE bypass: incumbent 11,763,240, preserve 11,618,412.

Thus low costing is computationally plausible for a bounded fringe, but is not a reliable hard rejection bound. It still approximates unscheduled exchanges. Scheduling a bounded fringe or correcting the relevant estimator remains necessary to recover this example. Cross-candidate warm-cache savings were not measured.
