ac7103fe9c
@woolcoxm's matmul_i4_grouped_pair reads x once instead of twice for the gate+up pair. Verified here against his branch (86e91b1 merged onto dev): correct to ~2e-8 relative vs the double reference, and BIT-EXACT against two separate matmul_i4_grouped calls on aligned shapes -- which is the shape the real g64 checkpoints have (I = 2048 / 6144, gs = 64). His kernel is good. Guarded behind COLI_HAVE_GROUPED_PAIR since the function only exists on that branch; add -DCOLI_HAVE_GROUPED_PAIR to the test's Makefile rule when #298 lands and the pair cases activate. The checks are deliberately asymmetric, and the reason is worth recording. Bit-exactness is asserted ONLY when I % gs == 0: there every group is covered by the AVX2 body, whose accumulation order matches the unfused kernel, so any difference is a real bug. With a partial last group the tail falls to scalar code and the compiler may contract/reassociate the fused body differently, producing ~1e-7 differences -- rounding, not logic. My first version demanded bit-exactness everywhere and duly "found" a bug in his kernel that did not exist; the tell was that only `up` differed and never `gate`, which is FP luck rather than a code path. Correctness is checked everywhere against the double reference; identity only where identity is actually implied. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>