DBL_EXPBITS
exp = (i >> (32 - 1 - DBL_EXPBITS)) & mask(DBL_EXPBITS);
s = e >> DBL_EXPBITS;
result = hs << (DBL_EXPBITS - SNG_EXPBITS);