fn le2Q(x: u32) u32
fn le2Q(x: u32) u32 { // Write x = x1 * 2^23 + x2 with x2 < 2^23 and x1 < 2^9 // Then x = x2 + x1 * 2^13 - x1 (mod q) // and x2 + x1 * 2^13 - x1 <= 2^23 + 2^13 < 2q const x1 = x >> 23; const x2 = x & 0x7FFFFF; // 2^23 - 1 return x2 +% (x1 << 13) -% x1; }