DIGIT_BIT
#define CARRYOUT(W) (mp_digit)((W)>>DIGIT_BIT)
for(bit = 0; bit < DIGIT_BIT; bit++) {
for(bit = 0; bit < DIGIT_BIT; bit++) {
bits = USED(mp) * DIGIT_BIT - 1;
prev = x >> (DIGIT_BIT - bshift);
kin = (d >> (DIGIT_BIT - 1));
mp_size ndig = (d / DIGIT_BIT), nbit = (d % DIGIT_BIT);
s_mp_rshd(mp, d / DIGIT_BIT);
d %= DIGIT_BIT;
DIGIT(mp, ix) = (DIGIT(mp, ix) >> d) | (save << (DIGIT_BIT - d));
w = (w << DIGIT_BIT) | DIGIT(mp, ix);
w = (w >> DIGIT_BIT) + ps[2*n+1]; \
w = (w >> DIGIT_BIT)
w = (w >> DIGIT_BIT);
dig = k / DIGIT_BIT;
bit = k % DIGIT_BIT;
s_mp_mod_2d(x, DIGIT_BIT * (USED(m) + 1));
s_mp_mod_2d(&q, DIGIT_BIT * (USED(m) + 1));