UPPER_BIT_RUBIN
while ((rs->q >= UPPER_BIT_RUBIN) ||
((rs->p + rs->q) <= UPPER_BIT_RUBIN)) {
ret = pushbit(&rs->pp, (rs->q & UPPER_BIT_RUBIN) ? 1 : 0, 0);
pushbit(&rs->pp, (UPPER_BIT_RUBIN & rs->q) ? 1 : 0, 1);
} while ((q >= UPPER_BIT_RUBIN) || ((p + q) <= UPPER_BIT_RUBIN));
if (q >= UPPER_BIT_RUBIN || ((p + q) <= UPPER_BIT_RUBIN))
rs->p = (long) (2 * UPPER_BIT_RUBIN);