extu_exp
ux.extu_exp = EXT_EXP_BIAS + exponent;
extu.extu_exp = EXT_EXP_BIAS + (64 - (bit + 1));
u.extu_exp &= __BITS(0, EXT_EXPBITS - 1); \
u.extu_exp |= (r) << (EXT_EXPBITS - 1); \
u1.extu_exp = expsign1;
ex = u.extu_exp;
expsign = u.extu_exp | (u.extu_sign << 15);
ex1 = u2.extu_exp;
ex1 = u2.extu_exp;
u.ieee.extu_exp = 0x7fff;
ex1 = u2.extu_exp;
ex = u.extu_exp;
ex1 = u2.extu_exp;
u.ieee.extu_exp = 0x7fff;
if(ux.extu_exp == 0) { /* subnormal x */
ix = ux.extu_exp - (BIAS + 512);
ix = ux.extu_exp - BIAS;
if(uy.extu_exp == 0) { /* subnormal y */
iy = uy.extu_exp - (BIAS + 512);
iy = uy.extu_exp - BIAS;
ux.extu_exp = iy + (BIAS + 512);
ux.extu_exp = iy + BIAS;
if((uy.extu_exp|uy.extu_frach|uy.extu_fracl)==0 || /* y=0 */
(ux.extu_exp == BIAS + LDBL_MAX_EXP) || /* or x not finite */
(uy.extu_exp == BIAS + LDBL_MAX_EXP &&
if(ux.extu_exp<=uy.extu_exp) {
if((ux.extu_exp<uy.extu_exp) ||
if ((ux.extu_frach | ux.extu_fracl | ux.extu_exp) == 0)
if (ux.extu_exp == 0) {
if ((ux.extu_exp - EXT_EXP_BIAS) & 1) { /* n is even. */
k += ux.extu_exp - EXT_EXP_BIAS - 1; /* 2k = n - 2. */
ux.extu_exp = EXT_EXP_BIAS + 1; /* ux.extu_ld in [2,4). */
k += ux.extu_exp - EXT_EXP_BIAS; /* 2k = n - 1. */
ux.extu_exp = EXT_EXP_BIAS; /* ux.extu_ld in [1,2). */
ux.extu_exp += (k >> 1) - 1;
ux.extu_exp--;
ux.extu_exp++;
ux.extu_exp--;
if (ux.extu_exp == LDBL_MAX_EXP * 2 - 1)
(((u)->extu_sign << EXT_EXPBITS) | (u)->extu_exp)
(u)->extu_exp = (x), \
.extu_exp = (0x3fff + (ex)), \
e = u.extu_exp - 16383; \
k = u.extu_exp;
ux.extu_exp++; \
ux.extu_exp++; \
int e = ux.extu_exp - LDBL_MAX_EXP + 1;
if (ux.extu_exp > 0 ||
ux.extu_exp++;
if (z.extu_exp == 0)
if (z.extu_exp == 32767)
ux.extu_exp++; \
ux.extu_exp++; \
int e = ux.extu_exp - LDBL_MAX_EXP + 1;
if (ux.extu_exp > 0 ||
ux.extu_exp++;
int e = ux.extu_exp - LDBL_MAX_EXP + 1;
if (ux.extu_exp == EXT_EXP_INFNAN)
if (ux.extu_exp == 0 && (ux.extu_frach & LDBL_NBIT) == 0) {
if (ux.extu_exp == 0) { /* underflow */
if ((ux.extu_exp == EXT_EXP_INFNAN &&
(uy.extu_exp == EXT_EXP_INFNAN &&
if (ux.extu_exp == 0)
ux.extu_exp -= 1;
ux.extu_exp += 1;
(uy.extu_exp == 0x7fff &&
if((ux.extu_exp<uy.extu_exp) ||
if(ux.extu_exp == 0) { /* subnormal x */
ix = ux.extu_exp - (BIAS + 512);
ix = ux.extu_exp - BIAS;
if(uy.extu_exp == 0) { /* subnormal y */
iy = uy.extu_exp - (BIAS + 512);
iy = uy.extu_exp - BIAS;
ux.extu_exp = iy + (BIAS + 512);
ux.extu_exp = iy + BIAS;
if((uy.extu_exp|uy.extu_frach|uy.extu_fracl)==0 || /* y=0 */
(ux.extu_exp == BIAS + LDBL_MAX_EXP) || /* or x not finite */
(uy.extu_exp == BIAS + LDBL_MAX_EXP &&
if(ux.extu_exp<=uy.extu_exp) {
if (z.extu_exp == 0) {
if (z.extu_exp == 32767) {
if (z.extu_exp == 0)
if (z.extu_exp == 32767)
if (z.extu_exp == 0)
if (z.extu_exp == 32767)
int e = ux.extu_exp - LDBL_MAX_EXP + 1;