ML_DSA_Q
if (gamma2 == ((ML_DSA_Q - 1) / 32)) {
*r0 -= (((int32_t)ML_DSA_Q_MINUS1_DIV2 - *r0) >> 31) & (int32_t)ML_DSA_Q;
return constant_time_select_32(constant_time_lt_32(x, ML_DSA_Q), x, x - ML_DSA_Q);
return reduce_once(ML_DSA_Q + a - b);
ML_DSA_Q - x, x);
#define ML_DSA_Q_MINUS1_DIV2 ((ML_DSA_Q - 1) / 2)
#define ML_DSA_GAMMA2_Q_MINUS1_DIV32 ((ML_DSA_Q - 1) / 32)
#define ML_DSA_GAMMA2_Q_MINUS1_DIV88 ((ML_DSA_Q - 1) / 88)
const uint32_t step_root = ML_DSA_Q - zetas_montgomery[step + (step - 1 - i)];
* (uint64_t)(ML_DSA_Q + even - odd));
uint64_t b = a + t * ML_DSA_Q; /* a - t * q */
return *out < ML_DSA_Q;