if (rsq) { \
if (b##_i_##n >= rn) \
lmmp_mul_(dst, b##_i_, b##_i_##n, sq, rn); \
else \
lmmp_mul_(dst, sq, rn, b##_i_, b##_i_##n); \
rn += b##_i_##n; \
rn -= (dst[rn - 1] == 0) ? 1 : 0; \
rsq = false; \
} else { \
if (b##_i_##n >= rn) \
lmmp_mul_(sq, b##_i_, b##_i_##n, dst, rn); \
else \
lmmp_mul_(sq, dst, rn, b##_i_, b##_i_##n); \
rn += b##_i_##n; \
rn -= (sq[rn - 1] == 0) ? 1 : 0; \
rsq = true; \
}
12 { \
13 if (b##_i_##n >= rn) \
14 lmmp_mul_(dst, b##_i_, b##_i_##n, sq, rn); \
15 else \
16 lmmp_mul_(dst, sq, rn, b##_i_, b##_i_##n); \
17 rn += b##_i_##n; \
18 rn -= (dst[rn - 1] == 0) ? 1 : 0; \
19 rsq = false; \
20 } else { \
21 if (b##_i_##n >= rn) \
22 lmmp_mul_(sq, b##_i_, b##_i_##n, dst, rn); \
23 else \
24 lmmp_mul_(sq, dst, rn, b##_i_, b##_i_##n); \
25 rn += b##_i_##n; \
26 rn -= (sq[rn - 1] == 0) ? 1 : 0; \
27 rsq = true; \
28 }