xe = xe;
                xs = xs;
 
-               if (xm >> (DP_MBITS + 1 + 3)) { /* carry out */
+               if (xm >> (DP_FBITS + 1 + 3)) { /* carry out */
                        xm = XDPSRS1(xm);
                        xe++;
                }
                                              IEEE754_RD);
 
                /* normalize to rounding precision */
-               while ((xm >> (DP_MBITS + 3)) == 0) {
+               while ((xm >> (DP_FBITS + 3)) == 0) {
                        xm <<= 1;
                        xe--;
                }
 
                int re = xe - ye;
                u64 bm;
 
-               for (bm = DP_MBIT(DP_MBITS + 2); bm; bm >>= 1) {
+               for (bm = DP_MBIT(DP_FBITS + 2); bm; bm >>= 1) {
                        if (xm >= ym) {
                                xm -= ym;
                                rm |= bm;
 
                /* normalise rm to rounding precision ?
                 */
-               while ((rm >> (DP_MBITS + 3)) == 0) {
+               while ((rm >> (DP_FBITS + 3)) == 0) {
                        rm <<= 1;
                        re--;
                }
 
        }
 
        /* normalize - result can never be inexact or overflow */
-       xe = DP_MBITS;
-       while ((xm >> DP_MBITS) == 0) {
+       xe = DP_FBITS;
+       while ((xm >> DP_FBITS) == 0) {
                xm <<= 1;
                xe--;
        }
 
        }
 
        /* normalize */
-       xe = DP_MBITS + 3;
-       if (xm >> (DP_MBITS + 1 + 3)) {
+       xe = DP_FBITS + 3;
+       if (xm >> (DP_FBITS + 1 + 3)) {
                /* shunt out overflow bits */
-               while (xm >> (DP_MBITS + 1 + 3)) {
+               while (xm >> (DP_FBITS + 1 + 3)) {
                        XDPSRSX1();
                }
        } else {
                /* normalize in grs extended double precision */
-               while ((xm >> (DP_MBITS + 3)) == 0) {
+               while ((xm >> (DP_FBITS + 3)) == 0) {
                        xm <<= 1;
                        xe--;
                }
 
                return ieee754dp_nanxcpt(builddp(xs,
                                                 DP_EMAX + 1 + DP_EBIAS,
                                                 ((u64) xm
-                                                 << (DP_MBITS -
-                                                     SP_MBITS))), "fsp",
+                                                 << (DP_FBITS -
+                                                     SP_FBITS))), "fsp",
                                         x);
        case IEEE754_CLASS_INF:
                return ieee754dp_inf(xs);
                return ieee754dp_zero(xs);
        case IEEE754_CLASS_DNORM:
                /* normalize */
-               while ((xm >> SP_MBITS) == 0) {
+               while ((xm >> SP_FBITS) == 0) {
                        xm <<= 1;
                        xe--;
                }
        xm &= ~SP_HIDDEN_BIT;
 
        return builddp(xs, xe + DP_EBIAS,
-                      (u64) xm << (DP_MBITS - SP_MBITS));
+                      (u64) xm << (DP_FBITS - SP_FBITS));
 }
 
                *ip = ieee754dp_zero(xs);
                return x;
        }
-       if (xe >= DP_MBITS) {
+       if (xe >= DP_FBITS) {
                *ip = x;
                return ieee754dp_zero(xs);
        }
        /* generate ipart mantissa by clearing bottom bits
         */
        *ip = builddp(xs, xe + DP_EBIAS,
-                     ((xm >> (DP_MBITS - xe)) << (DP_MBITS - xe)) &
+                     ((xm >> (DP_FBITS - xe)) << (DP_FBITS - xe)) &
                      ~DP_HIDDEN_BIT);
 
        /* generate fpart mantissa by clearing top bits
         * and normalizing (must be able to normalize)
         */
-       xm = (xm << (64 - (DP_MBITS - xe))) >> (64 - (DP_MBITS - xe));
+       xm = (xm << (64 - (DP_FBITS - xe))) >> (64 - (DP_FBITS - xe));
        if (xm == 0)
                return ieee754dp_zero(xs);
 
-       while ((xm >> DP_MBITS) == 0) {
+       while ((xm >> DP_FBITS) == 0) {
                xm <<= 1;
                xe--;
        }
 
                u64 rm;
 
                /* shunt to top of word */
-               xm <<= 64 - (DP_MBITS + 1);
-               ym <<= 64 - (DP_MBITS + 1);
+               xm <<= 64 - (DP_FBITS + 1);
+               ym <<= 64 - (DP_FBITS + 1);
 
                /* multiply 32bits xm,ym to give high 32bits rm with stickness
                 */
                 */
                if ((s64) rm < 0) {
                        rm =
-                           (rm >> (64 - (DP_MBITS + 1 + 3))) |
-                           ((rm << (DP_MBITS + 1 + 3)) != 0);
+                           (rm >> (64 - (DP_FBITS + 1 + 3))) |
+                           ((rm << (DP_FBITS + 1 + 3)) != 0);
                        re++;
                } else {
                        rm =
-                           (rm >> (64 - (DP_MBITS + 1 + 3 + 1))) |
-                           ((rm << (DP_MBITS + 1 + 3 + 1)) != 0);
+                           (rm >> (64 - (DP_FBITS + 1 + 3 + 1))) |
+                           ((rm << (DP_FBITS + 1 + 3 + 1)) != 0);
                }
                assert(rm & (DP_HIDDEN_BIT << 3));
                DPNORMRET2(rs, re, rm, "mul", x, y);
 
                xe = xe;
                xs = xs;
 
-               if (xm >> (DP_MBITS + 1 + 3)) { /* carry out */
+               if (xm >> (DP_FBITS + 1 + 3)) { /* carry out */
                        xm = XDPSRS1(xm);       /* shift preserving sticky */
                        xe++;
                }
 
                /* normalize to rounding precision
                 */
-               while ((xm >> (DP_MBITS + 3)) == 0) {
+               while ((xm >> (DP_FBITS + 3)) == 0) {
                        xm <<= 1;
                        xe--;
                }
 
                return ieee754si_xcpt(ieee754si_indef(), "dp_tint", x);
        }
        /* oh gawd */
-       if (xe > DP_MBITS) {
-               xm <<= xe - DP_MBITS;
-       } else if (xe < DP_MBITS) {
+       if (xe > DP_FBITS) {
+               xm <<= xe - DP_FBITS;
+       } else if (xe < DP_FBITS) {
                u64 residue;
                int round;
                int sticky;
                        sticky = residue != 0;
                        xm = 0;
                } else {
-                       residue = xm << (64 - DP_MBITS + xe);
+                       residue = xm << (64 - DP_FBITS + xe);
                        round = (residue >> 63) != 0;
                        sticky = (residue << 1) != 0;
-                       xm >>= DP_MBITS - xe;
+                       xm >>= DP_FBITS - xe;
                }
                /* Note: At this point upper 32 bits of xm are guaranteed
                   to be zero */
 
                return ieee754di_xcpt(ieee754di_indef(), "dp_tlong", x);
        }
        /* oh gawd */
-       if (xe > DP_MBITS) {
-               xm <<= xe - DP_MBITS;
-       } else if (xe < DP_MBITS) {
+       if (xe > DP_FBITS) {
+               xm <<= xe - DP_FBITS;
+       } else if (xe < DP_FBITS) {
                u64 residue;
                int round;
                int sticky;
                        * so we do it in two steps. Be aware that xe
                        * may be -1 */
                        residue = xm << (xe + 1);
-                       residue <<= 63 - DP_MBITS;
+                       residue <<= 63 - DP_FBITS;
                        round = (residue >> 63) != 0;
                        sticky = (residue << 1) != 0;
-                       xm >>= DP_MBITS - xe;
+                       xm >>= DP_FBITS - xe;
                }
                odd = (xm & 0x1) != 0x0;
                switch (ieee754_csr.rm) {
 
 int ieee754dp_issnan(union ieee754dp x)
 {
        assert(ieee754dp_isnan(x));
-       return ((DPMANT(x) & DP_MBIT(DP_MBITS-1)) == DP_MBIT(DP_MBITS-1));
+       return ((DPMANT(x) & DP_MBIT(DP_FBITS-1)) == DP_MBIT(DP_FBITS-1));
 }
 
 
 
        if (!ieee754_setandtestcx(IEEE754_INVALID_OPERATION)) {
                /* not enabled convert to a quiet NaN */
-               DPMANT(r) &= (~DP_MBIT(DP_MBITS-1));
+               DPMANT(r) &= (~DP_MBIT(DP_FBITS-1));
                if (ieee754dp_isnan(r))
                        return r;
                else
 {
        assert(xm);             /* we don't gen exact zeros (probably should) */
 
-       assert((xm >> (DP_MBITS + 1 + 3)) == 0);        /* no execess */
+       assert((xm >> (DP_FBITS + 1 + 3)) == 0);        /* no execess */
        assert(xm & (DP_HIDDEN_BIT << 3));
 
        if (xe < DP_EMIN) {
                }
 
                if (xe == DP_EMIN - 1
-                               && get_rounding(sn, xm) >> (DP_MBITS + 1 + 3))
+                               && get_rounding(sn, xm) >> (DP_FBITS + 1 + 3))
                {
                        /* Not tiny after rounding */
                        ieee754_setcx(IEEE754_INEXACT);
                xm = get_rounding(sn, xm);
                /* adjust exponent for rounding add overflowing
                 */
-               if (xm >> (DP_MBITS + 3 + 1)) {
+               if (xm >> (DP_FBITS + 3 + 1)) {
                        /* add causes mantissa overflow */
                        xm >>= 1;
                        xe++;
        /* strip grs bits */
        xm >>= 3;
 
-       assert((xm >> (DP_MBITS + 1)) == 0);    /* no execess */
+       assert((xm >> (DP_FBITS + 1)) == 0);    /* no execess */
        assert(xe >= DP_EMIN);
 
        if (xe > DP_EMAX) {
                        ieee754_setcx(IEEE754_UNDERFLOW);
                return builddp(sn, DP_EMIN - 1 + DP_EBIAS, xm);
        } else {
-               assert((xm >> (DP_MBITS + 1)) == 0);    /* no execess */
+               assert((xm >> (DP_FBITS + 1)) == 0);    /* no execess */
                assert(xm & DP_HIDDEN_BIT);
 
                return builddp(sn, xe + DP_EBIAS, xm & ~DP_HIDDEN_BIT);
 
 
 /* 3bit extended double precision sticky right shift */
 #define XDPSRS(v,rs)   \
-       ((rs > (DP_MBITS+3))?1:((v) >> (rs)) | ((v) << (64-(rs)) != 0))
+       ((rs > (DP_FBITS+3))?1:((v) >> (rs)) | ((v) << (64-(rs)) != 0))
 
 #define XDPSRSX1() \
        (xe++, (xm = (xm >> 1) | (xm & 1)))
 
 /* convert denormal to normalized with extended exponent */
 #define DPDNORMx(m,e) \
-       while ((m >> DP_MBITS) == 0) { m <<= 1; e--; }
+       while ((m >> DP_FBITS) == 0) { m <<= 1; e--; }
 #define DPDNORMX       DPDNORMx(xm, xe)
 #define DPDNORMY       DPDNORMx(ym, ye)
 
        assert((s) == 0 || (s) == 1);
        assert((bx) >= DP_EMIN - 1 + DP_EBIAS
               && (bx) <= DP_EMAX + 1 + DP_EBIAS);
-       assert(((m) >> DP_MBITS) == 0);
+       assert(((m) >> DP_FBITS) == 0);
 
        r.parts.sign = s;
        r.parts.bexp = bx;
 
 #define DP_EBIAS       1023
 #define DP_EMIN                (-1022)
 #define DP_EMAX                1023
-#define DP_MBITS       52
+#define DP_FBITS       52
 
 #define SP_EBIAS       127
 #define SP_EMIN                (-126)
 #define SP_EMAX                127
-#define SP_MBITS       23
+#define SP_FBITS       23
 
 #define DP_MBIT(x)     ((u64)1 << (x))
-#define DP_HIDDEN_BIT  DP_MBIT(DP_MBITS)
+#define DP_HIDDEN_BIT  DP_MBIT(DP_FBITS)
 #define DP_SIGN_BIT    DP_MBIT(63)
 
 #define SP_MBIT(x)     ((u32)1 << (x))
-#define SP_HIDDEN_BIT  SP_MBIT(SP_MBITS)
+#define SP_HIDDEN_BIT  SP_MBIT(SP_FBITS)
 #define SP_SIGN_BIT    SP_MBIT(31)
 
 
        if (ve == SP_EMAX+1+SP_EBIAS) {                                 \
                if (vm == 0)                                            \
                        vc = IEEE754_CLASS_INF;                         \
-               else if (vm & SP_MBIT(SP_MBITS-1))                      \
+               else if (vm & SP_MBIT(SP_FBITS-1))                      \
                        vc = IEEE754_CLASS_SNAN;                        \
        else                                                            \
                vc = IEEE754_CLASS_QNAN;                                \
        if (ve == DP_EMAX+1+DP_EBIAS) {                                 \
                if (vm == 0)                                            \
                        vc = IEEE754_CLASS_INF;                         \
-               else if (vm & DP_MBIT(DP_MBITS-1))                      \
+               else if (vm & DP_MBIT(DP_FBITS-1))                      \
                        vc = IEEE754_CLASS_SNAN;                        \
                else                                                    \
                        vc = IEEE754_CLASS_QNAN;                        \
 
 int ieee754sp_issnan(union ieee754sp x)
 {
        assert(ieee754sp_isnan(x));
-       return (SPMANT(x) & SP_MBIT(SP_MBITS-1));
+       return (SPMANT(x) & SP_MBIT(SP_FBITS-1));
 }
 
 
 
        if (!ieee754_setandtestcx(IEEE754_INVALID_OPERATION)) {
                /* not enabled convert to a quiet NaN */
-               SPMANT(r) &= (~SP_MBIT(SP_MBITS-1));
+               SPMANT(r) &= (~SP_MBIT(SP_FBITS-1));
                if (ieee754sp_isnan(r))
                        return r;
                else
 {
        assert(xm);             /* we don't gen exact zeros (probably should) */
 
-       assert((xm >> (SP_MBITS + 1 + 3)) == 0);        /* no execess */
+       assert((xm >> (SP_FBITS + 1 + 3)) == 0);        /* no execess */
        assert(xm & (SP_HIDDEN_BIT << 3));
 
        if (xe < SP_EMIN) {
                }
 
                if (xe == SP_EMIN - 1
-                               && get_rounding(sn, xm) >> (SP_MBITS + 1 + 3))
+                               && get_rounding(sn, xm) >> (SP_FBITS + 1 + 3))
                {
                        /* Not tiny after rounding */
                        ieee754_setcx(IEEE754_INEXACT);
                xm = get_rounding(sn, xm);
                /* adjust exponent for rounding add overflowing
                 */
-               if (xm >> (SP_MBITS + 1 + 3)) {
+               if (xm >> (SP_FBITS + 1 + 3)) {
                        /* add causes mantissa overflow */
                        xm >>= 1;
                        xe++;
        /* strip grs bits */
        xm >>= 3;
 
-       assert((xm >> (SP_MBITS + 1)) == 0);    /* no execess */
+       assert((xm >> (SP_FBITS + 1)) == 0);    /* no execess */
        assert(xe >= SP_EMIN);
 
        if (xe > SP_EMAX) {
                        ieee754_setcx(IEEE754_UNDERFLOW);
                return buildsp(sn, SP_EMIN - 1 + SP_EBIAS, xm);
        } else {
-               assert((xm >> (SP_MBITS + 1)) == 0);    /* no execess */
+               assert((xm >> (SP_FBITS + 1)) == 0);    /* no execess */
                assert(xm & SP_HIDDEN_BIT);
 
                return buildsp(sn, xe + SP_EBIAS, xm & ~SP_HIDDEN_BIT);
 
 /* 3bit extended single precision sticky right shift */
 #define SPXSRSXn(rs)                                                   \
        (xe += rs,                                                      \
-        xm = (rs > (SP_MBITS+3))?1:((xm) >> (rs)) | ((xm) << (32-(rs)) != 0))
+        xm = (rs > (SP_FBITS+3))?1:((xm) >> (rs)) | ((xm) << (32-(rs)) != 0))
 
 #define SPXSRSX1() \
        (xe++, (xm = (xm >> 1) | (xm & 1)))
 
 #define SPXSRSYn(rs)                                                           \
        (ye+=rs,                                                                \
-        ym = (rs > (SP_MBITS+3))?1:((ym) >> (rs)) | ((ym) << (32-(rs)) != 0))
+        ym = (rs > (SP_FBITS+3))?1:((ym) >> (rs)) | ((ym) << (32-(rs)) != 0))
 
 #define SPXSRSY1() \
        (ye++, (ym = (ym >> 1) | (ym & 1)))
 
 /* convert denormal to normalized with extended exponent */
 #define SPDNORMx(m,e) \
-       while ((m >> SP_MBITS) == 0) { m <<= 1; e--; }
+       while ((m >> SP_FBITS) == 0) { m <<= 1; e--; }
 #define SPDNORMX       SPDNORMx(xm, xe)
 #define SPDNORMY       SPDNORMx(ym, ye)
 
        assert((s) == 0 || (s) == 1);
        assert((bx) >= SP_EMIN - 1 + SP_EBIAS
               && (bx) <= SP_EMAX + 1 + SP_EBIAS);
-       assert(((m) >> SP_MBITS) == 0);
+       assert(((m) >> SP_FBITS) == 0);
 
        r.parts.sign = s;
        r.parts.bexp = bx;
 
                xe = xe;
                xs = xs;
 
-               if (xm >> (SP_MBITS + 1 + 3)) { /* carry out */
+               if (xm >> (SP_FBITS + 1 + 3)) { /* carry out */
                        SPXSRSX1();
                }
        } else {
                                              IEEE754_RD);
 
                /* normalize in extended single precision */
-               while ((xm >> (SP_MBITS + 3)) == 0) {
+               while ((xm >> (SP_FBITS + 3)) == 0) {
                        xm <<= 1;
                        xe--;
                }
 
                int re = xe - ye;
                unsigned bm;
 
-               for (bm = SP_MBIT(SP_MBITS + 2); bm; bm >>= 1) {
+               for (bm = SP_MBIT(SP_FBITS + 2); bm; bm >>= 1) {
                        if (xm >= ym) {
                                xm -= ym;
                                rm |= bm;
 
                /* normalise rm to rounding precision ?
                 */
-               while ((rm >> (SP_MBITS + 3)) == 0) {
+               while ((rm >> (SP_FBITS + 3)) == 0) {
                        rm <<= 1;
                        re--;
                }
 
                return ieee754sp_nanxcpt(ieee754sp_indef(), "fdp");
        case IEEE754_CLASS_QNAN:
                nan = buildsp(xs, SP_EMAX + 1 + SP_EBIAS, (u32)
-                               (xm >> (DP_MBITS - SP_MBITS)));
+                               (xm >> (DP_FBITS - SP_FBITS)));
                if (!ieee754sp_isnan(nan))
                        nan = ieee754sp_indef();
                return ieee754sp_nanxcpt(nan, "fdp", x);
        {
                u32 rm;
 
-               /* convert from DP_MBITS to SP_MBITS+3 with sticky right shift
+               /* convert from DP_FBITS to SP_FBITS+3 with sticky right shift
                 */
-               rm = (xm >> (DP_MBITS - (SP_MBITS + 3))) |
-                   ((xm << (64 - (DP_MBITS - (SP_MBITS + 3)))) != 0);
+               rm = (xm >> (DP_FBITS - (SP_FBITS + 3))) |
+                   ((xm << (64 - (DP_FBITS - (SP_FBITS + 3)))) != 0);
 
                SPNORMRET1(xs, xe, rm, "fdp", x);
        }
 
        } else {
                xm = x;
        }
-       xe = SP_MBITS + 3;
+       xe = SP_FBITS + 3;
 
-       if (xm >> (SP_MBITS + 1 + 3)) {
+       if (xm >> (SP_FBITS + 1 + 3)) {
                /* shunt out overflow bits
                 */
-               while (xm >> (SP_MBITS + 1 + 3)) {
+               while (xm >> (SP_FBITS + 1 + 3)) {
                        SPXSRSX1();
                }
        } else {
                /* normalize in grs extended single precision
                 */
-               while ((xm >> (SP_MBITS + 3)) == 0) {
+               while ((xm >> (SP_FBITS + 3)) == 0) {
                        xm <<= 1;
                        xe--;
                }
 
        } else {
                xm = x;
        }
-       xe = SP_MBITS + 3;
+       xe = SP_FBITS + 3;
 
-       if (xm >> (SP_MBITS + 1 + 3)) {
+       if (xm >> (SP_FBITS + 1 + 3)) {
                /* shunt out overflow bits
                 */
-               while (xm >> (SP_MBITS + 1 + 3)) {
+               while (xm >> (SP_FBITS + 1 + 3)) {
                        SPXSRSX1();
                }
        } else {
                /* normalize in grs extended single precision */
-               while ((xm >> (SP_MBITS + 3)) == 0) {
+               while ((xm >> (SP_FBITS + 3)) == 0) {
                        xm <<= 1;
                        xe--;
                }
 
                *ip = ieee754sp_zero(xs);
                return x;
        }
-       if (xe >= SP_MBITS) {
+       if (xe >= SP_FBITS) {
                *ip = x;
                return ieee754sp_zero(xs);
        }
        /* generate ipart mantissa by clearing bottom bits
         */
        *ip = buildsp(xs, xe + SP_EBIAS,
-                     ((xm >> (SP_MBITS - xe)) << (SP_MBITS - xe)) &
+                     ((xm >> (SP_FBITS - xe)) << (SP_FBITS - xe)) &
                      ~SP_HIDDEN_BIT);
 
        /* generate fpart mantissa by clearing top bits
         * and normalizing (must be able to normalize)
         */
-       xm = (xm << (32 - (SP_MBITS - xe))) >> (32 - (SP_MBITS - xe));
+       xm = (xm << (32 - (SP_FBITS - xe))) >> (32 - (SP_FBITS - xe));
        if (xm == 0)
                return ieee754sp_zero(xs);
 
-       while ((xm >> SP_MBITS) == 0) {
+       while ((xm >> SP_FBITS) == 0) {
                xm <<= 1;
                xe--;
        }
 
                unsigned rm;
 
                /* shunt to top of word */
-               xm <<= 32 - (SP_MBITS + 1);
-               ym <<= 32 - (SP_MBITS + 1);
+               xm <<= 32 - (SP_FBITS + 1);
+               ym <<= 32 - (SP_FBITS + 1);
 
                /* multiply 32bits xm,ym to give high 32bits rm with stickness
                 */
                 * sticky shift down to normal rounding precision
                 */
                if ((int) rm < 0) {
-                       rm = (rm >> (32 - (SP_MBITS + 1 + 3))) |
-                           ((rm << (SP_MBITS + 1 + 3)) != 0);
+                       rm = (rm >> (32 - (SP_FBITS + 1 + 3))) |
+                           ((rm << (SP_FBITS + 1 + 3)) != 0);
                        re++;
                } else {
-                       rm = (rm >> (32 - (SP_MBITS + 1 + 3 + 1))) |
-                           ((rm << (SP_MBITS + 1 + 3 + 1)) != 0);
+                       rm = (rm >> (32 - (SP_FBITS + 1 + 3 + 1))) |
+                           ((rm << (SP_FBITS + 1 + 3 + 1)) != 0);
                }
                assert(rm & (SP_HIDDEN_BIT << 3));
 
 
                xe = xe;
                xs = xs;
 
-               if (xm >> (SP_MBITS + 1 + 3)) { /* carry out */
+               if (xm >> (SP_FBITS + 1 + 3)) { /* carry out */
                        SPXSRSX1();     /* shift preserving sticky */
                }
        } else {
                }
                /* normalize to rounding precision
                 */
-               while ((xm >> (SP_MBITS + 3)) == 0) {
+               while ((xm >> (SP_FBITS + 3)) == 0) {
                        xm <<= 1;
                        xe--;
                }
 
                return ieee754si_xcpt(ieee754si_indef(), "sp_tint", x);
        }
        /* oh gawd */
-       if (xe > SP_MBITS) {
-               xm <<= xe - SP_MBITS;
+       if (xe > SP_FBITS) {
+               xm <<= xe - SP_FBITS;
        } else {
                u32 residue;
                int round;
                        * so we do it in two steps. Be aware that xe
                        * may be -1 */
                        residue = xm << (xe + 1);
-                       residue <<= 31 - SP_MBITS;
+                       residue <<= 31 - SP_FBITS;
                        round = (residue >> 31) != 0;
                        sticky = (residue << 1) != 0;
-                       xm >>= SP_MBITS - xe;
+                       xm >>= SP_FBITS - xe;
                }
                odd = (xm & 0x1) != 0x0;
                switch (ieee754_csr.rm) {
 
                return ieee754di_xcpt(ieee754di_indef(), "sp_tlong", x);
        }
        /* oh gawd */
-       if (xe > SP_MBITS) {
-               xm <<= xe - SP_MBITS;
-       } else if (xe < SP_MBITS) {
+       if (xe > SP_FBITS) {
+               xm <<= xe - SP_FBITS;
+       } else if (xe < SP_FBITS) {
                u32 residue;
                int round;
                int sticky;
                        sticky = residue != 0;
                        xm = 0;
                } else {
-                       residue = xm << (32 - SP_MBITS + xe);
+                       residue = xm << (32 - SP_FBITS + xe);
                        round = (residue >> 31) != 0;
                        sticky = (residue << 1) != 0;
-                       xm >>= SP_MBITS - xe;
+                       xm >>= SP_FBITS - xe;
                }
                odd = (xm & 0x1) != 0x0;
                switch (ieee754_csr.rm) {