fn mulShift128(m: u128, mul: *const [4]u64, j: u32) u128
fn mulShift128(m: u128, mul: *const [4]u64, j: u32) u128 { std.debug.assert(j > 128); const a: [2]u64 = .{ @truncate(m), @truncate(m >> 64) }; const r = mul_128_256_shift(&a, mul, j, 0); return (@as(u128, r[1]) << 64) | r[0]; }