Bug #5 fix: (sorted_ids.unsqueeze(1) == expert_id_range.unsqueeze(0)).sum(dim=0) materializes a (num_slots × num_experts) bool tensor every forward — 48K × 384 = 18M elements. torch.bincount(sorted_ids, minlength=num_experts) gives the same result in O(n) with no intermediate allocation. ~200× less work. Also removes the now-unused _expert_id_range buffer.