SNG_FRACBITS
#define SNG_SHIFT (SNG_FRACBITS - FP_LG)
frac = i & mask(SNG_FRACBITS);
#define SNG_EXP(e) ((e) << SNG_FRACBITS) /* makes e an exponent */
(void) __fpu_shr(fp, FP_NMANT - 1 - SNG_FRACBITS);
(void) __fpu_shr(fp, FP_NMANT - FP_NG - SNG_FRACBITS - exp);
(void) __fpu_shr(fp, FP_NMANT - FP_NG - 1 - SNG_FRACBITS);