DBL_EXP
#define DBL_MASK (DBL_EXP(1) - 1)
sign |= DBL_EXP(DBL_EXP_INFNAN);
if (fpround(fe, fp) && fp->fp_mant[2] == DBL_EXP(1)) {
return (sign | DBL_EXP(1) | 0);
if (fpround(fe, fp) && fp->fp_mant[2] == DBL_EXP(2))
return (sign | DBL_EXP(DBL_EXP_INFNAN) | 0);
return (sign | DBL_EXP(DBL_EXP_INFNAN) | DBL_MASK);
return (sign | DBL_EXP(exp) | (fp->fp_mant[2] & DBL_MASK));
#define DBL_MASK (DBL_EXP(1) - 1)
sign |= DBL_EXP(DBL_EXP_INFNAN);
if (fpu_round(fe, fp) && fp->fp_mant[2] == DBL_EXP(1)) {
return (sign | DBL_EXP(1) | 0);
if (fpu_round(fe, fp) && fp->fp_mant[2] == DBL_EXP(2))
return (sign | DBL_EXP(DBL_EXP_INFNAN) | 0);
return (sign | DBL_EXP(DBL_EXP_INFNAN) | DBL_MASK);
return (sign | DBL_EXP(exp) | (fp->fp_mant[2] & DBL_MASK));