instr_v iv = DA_INIT;
unsigned long d, i;
unsigned op;
- size_t w, b;
+ size_t w, b, bb;
/* --- Fill in the easy stuff --- */
st = Z;
#endif
+ bb = MPW_BITS - (d + 1)%MPW_BITS;
for (i = 0, mp_scan(&sc, p); i < d && mp_step(&sc); i++) {
switch (st | mp_bit(&sc)) {
case Z | 1: st = Z1; break;
case X0 | 0: st = Z; op = MPRI_SUB; goto instr;
instr:
w = (d - i)/MPW_BITS + 1;
- b = (MPW_BITS + i - d - 1)%MPW_BITS;
+ b = (bb + i)%MPW_BITS;
INSTR(op | !!b, w, b);
}
}
}
}
DA_DESTROY(&iv);
+
+#ifdef DEBUG
+ mpreduce_dump(r, stdout);
+#endif
return (0);
}