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);
if ((int)u.s.dbl_exp - DBL_EXP_BIAS > DBL_FRACBITS - 1) {
frac >>= DBL_FRACBITS - (u.s.dbl_exp - DBL_EXP_BIAS);
frac <<= DBL_FRACBITS - (u.s.dbl_exp - DBL_EXP_BIAS);
if (e < DBL_FRACBITS) {
shift = e - DBL_FRACBITS;
mant32 |= frame->tf_fprl >> (DBL_FRACBITS - SNG_FRACBITS);
mant64 <<= (DBL_FRACBITS - FPRH_MANTH_BITS + 1);
if ((mant64 & (1LL << DBL_FRACBITS)) == 0) {
mant64 |= 1LL << DBL_FRACBITS;
mant64 <<= (63 - DBL_FRACBITS - 1);
result |= ls >> (DBL_FRACBITS - SNG_FRACBITS);
#define ONE_F64 (float64)((uint64_t)DBL_EXP_BIAS << 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);