Card RR-1 - written 2026-09-26 16:02:44 -0700 (clock-read) BEFORE compiling
Function: _widget_instance_render_recursive (lane HEAD 1b00eeea). Change: the argb argument of draw_bitmap_in_rect
becomes a call of the TU's own exact public helper: `modulate_pixel32_by_real_alpha(0xFFFFFFFF, alpha)`, replacing
`alpha *= 255.0f;` + `(fast_ftol(alpha) << 24) | 0x00FFFFFF`. File scratch/rf/workers/RF-E/w2/rr1.c.
Evidence (first-party):
 - /Od halo_cache_symbols.exe 0x66a020 +0x31d..+0x332: `push alpha([ebp-0x28]); push -1; call 0x6627d0` and the
   result is the draw_bitmap_in_rect argb argument; 0x6627d0 (od_dis.py) = (argb & 0xffffff) |
   (ftol((argb >> 24) * alpha) << 24) = our EXACT _modulate_pixel32_by_real_alpha (ui_widget.c:2018).
 - January: _modulate_pixel32_by_real_alpha is defined (public) in ui_widget.obj and has ZERO call relocations in
   any January object -> consistent with every January call site being inlined (/O2 = /Ob2).
 - January render_recursive bytes = the inline of that helper with argb 0xFFFFFFFF: fmul 255.0f (constant-folded
   (0xFFFFFFFF>>24)), a store/reload of a named real (fstp [ebp-0x18]; fld [ebp-0x18]) = `modulated_alpha`, fistp,
   shl 24, or 0xFFFFFF.
Mechanism prediction: VC7 inlines the helper (defined earlier in the TU); the inline's parameter/local objects change
the frame-object set, so the frame allocator re-sorts the homes: alpha stops taking the dead `widget` parameter home
[ebp+8] and `clip` takes it (January), modulated_alpha shares alpha's slot. P(EXACT) 35%; P(frame homes change toward
January) 60%; P(not inlined -> call emitted, worse) 15%.
Decisive: gate --all, alndiff, keyed diff.
