DBL_FRACBITS
#define DBL_SHIFT (DBL_FRACBITS - 32 - FP_LG)
frac = i & mask(DBL_FRACBITS - 32);
#define DBL_EXP(e) ((e) << (DBL_FRACBITS & 31))
(void) __fpu_shr(fp, FP_NMANT - 1 - DBL_FRACBITS);
(void) __fpu_shr(fp, FP_NMANT - FP_NG - DBL_FRACBITS - exp);
(void) __fpu_shr(fp, FP_NMANT - FP_NG - 1 - DBL_FRACBITS);