Hot-path lookups into __DISPATCH, __DEFAULT_CHILD, __PATH_RANGE,
__PATH_DATA, __TERMINATE_RANGE and __TERMINATE_DATA all index by
state ids the codegen produces (current state, transition targets,
__PATH_RANGE-emitted offsets), every one of which is provably in
bounds by codegen invariant. Replace the `[idx]` / `[s..e]` checked
forms with `get_unchecked`.
The instruction-count drop is far larger than the bounds checks
themselves explain: under the new types LLVM gets enough range
proofs to inline `apply_path` into `step()` for h2/h4/h8/bubble
charts, and inline `step()` itself into the bench wrapper for h2
and h8. The cold-path enter chain on h2_cold_start collapses to a
single u16 store.
Bench deltas (vs. gungraun_initial baseline, instructions):
h2_cold_start 131 → 24 -82% (full inline)
h2_warm_lateral 119 → 53 -55%
h4_cross_tree 128 → 93 -27%
h4_up 114 → 88 -23%
h4_self 128 → 93 -27%
h8_cross_tree 97 → 53 -45% (full inline)
bubble_leaf/mid/top 129 → 94 -27%
timer_fire_dispatch 221 → 212 -4%
terminate_event 68 → 53 -22%
bubble_cross_tree 120 → 85 -29%
chain_self_emit 500 → 439 -12%
All 68 hsmc behavior tests pass. Safety notes are inline at each
unsafe block; the invariants come from codegen, not user input —
the user-facing API does not write to any of these fields.