0576a06ef0
All bitwise & and | comparisons were missing parentheses — Zig's == and != bind tighter than & and |, so `flags & 0x8 == 0` parsed as `flags & (0x8 == 0)` = `flags & 0` = always 0. Affected: si_frustumCullBBox (behind-camera check never ran, occlusion flag check always passed), si_processLinkedListCollision (early-out never triggered, node skip broken, AABB hit test only checked X-axis). Also adds fastRecip (vrcpss+NR) and cvtss2si helpers for frustumCull perspective divide optimization (2.0x speedup, was 1.6x).