extu_frach
ux.extu_frach = (x >> (64 - EXT_FRACHBITS));
extu.extu_frach = (unsigned int)(x >> (64 - EXT_FRACHBITS));
u.extu_frach < 0x921fb54442d1LL)) {
if (u.extu_frach != 0
v.extu_frach = 0;
u.ieee.extu_frach |= 1ULL << 47; /* make it a quiet NaN */
if (ex < BIAS + 25 || (ex == BIAS + 25 && u.extu_frach < 0xc90fdaa2U)) {
u.ieee.extu_frach |= 0xc0000000; /* make it a quiet NaN */
if(expt==BIAS && ((u.extu_frach&~LDBL_NBIT)|u.extu_fracl)==0) {
if(expt==BIAS && ((u.extu_frach&~LDBL_NBIT)|u.extu_fracl)==0)
if(u.extu_frach>=THRESH) { /* if |x| is close to 1 */
if(exptx==0 && ((ux.extu_frach&~LDBL_NBIT)|ux.extu_fracl)==0)
((ux.extu_frach&~LDBL_NBIT)|ux.extu_fracl)!=0) || /* x is NaN */
((uy.extu_frach&~LDBL_NBIT)|uy.extu_fracl)!=0)) /* y is NaN */
if (expsignx==BIAS && ((ux.extu_frach&~LDBL_NBIT)|ux.extu_fracl)==0)
if(expty==0 && ((uy.extu_frach&~LDBL_NBIT)|uy.extu_fracl)==0) {
hx = SET_NBIT(ux.extu_frach);
hy = SET_NBIT(uy.extu_frach);
ux.extu_frach = hx; /* The significand is truncated here if needed. */
if((uy.extu_exp|uy.extu_frach|uy.extu_fracl)==0 || /* y=0 */
((uy.extu_frach&~LDBL_NBIT)|uy.extu_fracl)!=0)) /* or y is NaN */
(ux.extu_frach<=uy.extu_frach &&
(ux.extu_frach<uy.extu_frach ||
if(ux.extu_frach==uy.extu_frach && ux.extu_fracl==uy.extu_fracl) {
h = uv.extu_frach; \
if ((ux.extu_frach | ux.extu_fracl | ux.extu_exp) == 0)
if (++ux.extu_frach == 0) {
ux.extu_frach |= LDBL_NBIT;
if (ux.extu_frach-- == LDBL_NBIT) {
ux.extu_frach |= LDBL_NBIT;
(((uint64_t)(u)->extu_frach << EXT_FRACLBITS) | (u)->extu_fracl)
(u)->extu_frach = (v) >> EXT_FRACLBITS)
(ix1) = ew_u.extu_frach; \
iw_u.extu_frach = (ix1); \
.extu_frach = __CONCAT(m, ULL) >> EXT_FRACLBITS, \
u.extu_frach &= ~m; \
((u.extu_frach&~LDBL_NBIT)|u.extu_fracl)!=0)
expman = (expt << 8) | ((u.extu_frach >> (MANH_SIZE - 9)) & 0xff);
if ((u.extu_frach | u.extu_fracl) == 0)
uint64_t oi = ux.extu_frach; \
ux.extu_frach += (c); \
if (ux.extu_frach < oi) \
uint64_t oi = ux.extu_frach; \
ux.extu_frach += (c); \
if (ux.extu_frach < oi) { \
ux.extu_frach |= 1llu << (EXT_FRACHBITS - 1); \
(ux.extu_frach | ux.extu_fracl) != 0)
if (((ux.extu_frach & m) | ux.extu_fracl) == 0)
ux.extu_frach &= ~m;
uint64_t oi = ux.extu_frach; \
ux.extu_frach += (c); \
if (ux.extu_frach < oi) \
uint64_t oi = ux.extu_frach; \
ux.extu_frach += (c); \
if (ux.extu_frach < oi) { \
ux.extu_frach |= 1llu << (EXT_FRACHBITS - 1); \
(ux.extu_frach | ux.extu_fracl) != 0)
if (((ux.extu_frach & m) | ux.extu_fracl) == 0)
ux.extu_frach &= ~m;
if ((GETFRAC(ux.extu_frach, HIBITS - 1 - e) |
ux.extu_frach >>= HIBITS - 1 - e;
ux.extu_frach <<= HIBITS - 1 - e;
if (ux.extu_exp == 0 && (ux.extu_frach & LDBL_NBIT) == 0) {
((ux.extu_frach &~ LDBL_NBIT)|ux.extu_fracl) != 0) ||
((uy.extu_frach &~ LDBL_NBIT)|uy.extu_fracl) != 0))
ux.extu_frach = 0; /* return +-minsubnormal */
uint32_t nbit = (ux.extu_frach & LDBL_NBIT);
if ((ux.extu_frach & ~LDBL_NBIT) == 0) {
ux.extu_frach = (ux.extu_frach - 1) | nbit;
ux.extu_frach = (ux.extu_frach + 1) | nbit;
if ((ux.extu_frach & ~LDBL_NBIT) == 0) {
ux.extu_frach |= LDBL_NBIT;
((uy.extu_frach & ~LDBL_NBIT) | uy.extu_fracl) != 0))
(ux.extu_frach<=uy.extu_frach &&
(ux.extu_frach<uy.extu_frach ||
if(ux.extu_frach==uy.extu_frach && ux.extu_fracl==uy.extu_fracl) {
hx = SET_NBIT(ux.extu_frach);
hy = SET_NBIT(uy.extu_frach);
ux.extu_frach = hx; /* The integer bit is truncated here if needed. */
if((uy.extu_exp|uy.extu_frach|uy.extu_fracl)==0 || /* y=0 */
((uy.extu_frach&~LDBL_NBIT)|uy.extu_fracl)!=0)) /* or y is NaN */
if (((ux.extu_frach & m) | ux.extu_fracl) == 0)
ux.extu_frach &= ~m;
#define mask_nbit_l(u) ((u).extu_frach &= ~LDBL_NBIT)
#define mask_nbit_l(u) ((u).extu_frach &= ~LDBL_NBIT)
#define EXTU_ZEROFRAC_P(u) (((u).extu_frach|(u).extu_fracl) != 0)
u.extu_frach &= ~(LDBL_QNANBITH|LDBL_SNANBITH);
u.extu_frach |= bith;
((u.extu_frach & (LDBL_SNANBITH|LDBL_QNANBITH)) == LDBL_SNANBITH);