__mpn_rshift
(void) __mpn_rshift (p.scale, p.scale + i, p.scalesize - i,
(void) __mpn_rshift (p.frac, p.frac + i, p.fracsize - i,
(void) __mpn_rshift (p.scale, p.scale + (i - 1),
(void) __mpn_rshift (p.frac, p.frac + (i - 1),
(void) __mpn_rshift (p.frac, p.tmp + i, p.tmpsize - i,
(void) __mpn_rshift (p.frac, p.tmp + (i - 1),
(void) __mpn_rshift (p.frac, p.tmp, p.tmpsize, MIN (4, p.exponent));
cy = __mpn_rshift (&retval[RETURN_LIMB_SIZE - numsize],
(void) __mpn_rshift (retval, &retval[shift / BITS_PER_MP_LIMB],
(void) __mpn_rshift (retval, retval, RETURN_LIMB_SIZE, shift);
(void) __mpn_rshift (retval, retval, RETURN_LIMB_SIZE, 1);