BIAS
if (ix <= (BIAS + DBL_MAX_EXP / 2 - CUTOFF) << 20)
if (ix <= (BIAS + FLT_MAX_EXP / 2 - CUTOFF) << 23)
if (ix <= BIAS + LDBL_MAX_EXP / 2 - CUTOFF)
e0 = ex - BIAS - 23; /* e0 = ilogb(|x|)-23; */
if (ex < BIAS + 45 || (ex == BIAS + 45 &&
#define ASIN_LINEAR (BIAS - 56) /* 2**-56 */
#define ACOS_CONST (BIAS - 113) /* 2**-113 */
#define ATAN_CONST (BIAS + 113) /* 2**113 */
#define ATAN_LINEAR (BIAS - 56) /* 2**-56 */
SET_LDBL_EXPSIGN(twopkm2, BIAS + k - 2);
SET_LDBL_EXPSIGN(scale1, BIAS + half_expt);
SET_LDBL_EXPSIGN(scale2, BIAS + expt - half_expt);
if (ix >= BIAS + 14) { /* |x| >= 16384 */
if (ix == BIAS + LDBL_MAX_EXP) {
} else if (ix <= BIAS - 115) { /* |x| < 0x1p-115 */
#define EXPMASK (BIAS + LDBL_MAX_EXP)
SET_LDBL_EXPSIGN(twopk, BIAS + k + 10000);
if (ix >= BIAS + 7) { /* |x| >= 128 or x is NaN */
if (ix == BIAS + LDBL_MAX_EXP) {
if (ix < BIAS - 113) { /* |x| < 0x1p-113 */
if (ix >= BIAS - 7)
SET_EXPSIGN(&v, BIAS + k);
SET_EXPSIGN(&v, BIAS - k);
if (ix >= BIAS + 13) { /* |x| >= 8192 or x is NaN */
if (ix == BIAS + LDBL_MAX_EXP) {
} else if (ix < BIAS - 114) { /* |x| < 0x1p-114 */
SET_LDBL_EXPSIGN(twopk, BIAS + k);
e0 = ex - BIAS - 23; /* e0 = ilogb(|x|)-23; */
if (ex < BIAS + 25 || (ex == BIAS + 25 && u.extu_frach < 0xc90fdaa2U)) {
#define ASIN_LINEAR (BIAS - 32) /* 2**-32 */
#define ACOS_CONST (BIAS - 65) /* 2**-65 */
#define ATAN_CONST (BIAS + 65) /* 2**65 */
#define ATAN_LINEAR (BIAS - 32) /* 2**-32 */
SET_LDBL_EXPSIGN(twopkm2, BIAS + k - 2);
SET_LDBL_EXPSIGN(scale1, BIAS + half_expt);
SET_LDBL_EXPSIGN(scale2, BIAS + expt - half_expt);
if (ix >= BIAS + 14) { /* |x| >= 16384 or x is NaN */
if (ix == BIAS + LDBL_MAX_EXP) {
} else if (ix <= BIAS - 66) { /* |x| < 0x1p-65 (includes pseudos) */
SET_EXPSIGN(&v, BIAS + k);
SET_EXPSIGN(&v, BIAS + k + 10000);
SET_LDBL_EXPSIGN(twopk, BIAS + k);
SET_LDBL_EXPSIGN(twopk, BIAS + k + 10000);
if (ix >= BIAS + 6) { /* |x| >= 64 or x is NaN */
if (ix == BIAS + LDBL_MAX_EXP) {
if (ix < BIAS - 74) { /* |x| < 0x1p-74 (includes pseudos) */
if (ix >= BIAS - 7)
SET_EXPSIGN(&v, BIAS + k);
SET_EXPSIGN(&v, BIAS - k);
if (ix >= BIAS + 13) { /* |x| >= 8192 or x is NaN */
if (ix == BIAS + LDBL_MAX_EXP) {
} else if (ix < BIAS - 75) { /* |x| < 0x1p-75 (includes pseudos) */
} else if (hx >= BIAS + EXP_LARGE) { /* x >= LARGE */
if(expt >= BIAS) { /* |x| >= 1 */
if(expt==BIAS && ((u.extu_frach&~LDBL_NBIT)|u.extu_fracl)==0) {
if(expt<BIAS-1) { /* |x| < 0.5 */
if(expt >= BIAS) { /* |x|>= 1 */
if(expt==BIAS && ((u.extu_frach&~LDBL_NBIT)|u.extu_fracl)==0)
} else if (expt<BIAS-1) { /* |x|<0.5 */
if(exptx==BIAS+LDBL_MAX_EXP) {
if(expty==BIAS+LDBL_MAX_EXP) {
if(expty==BIAS+LDBL_MAX_EXP)
if ((exptx==BIAS+LDBL_MAX_EXP &&
(expty==BIAS+LDBL_MAX_EXP &&
if (expsignx==BIAS && ((ux.extu_frach&~LDBL_NBIT)|ux.extu_fracl)==0)
if (ix < BIAS + EXP_TINY && (huge + x) > zero)
if (ix<BIAS-(LDBL_MANT_DIG+1)/2) /* |x| < TINY */
ix = ux.extu_exp - (BIAS + 512);
ix = ux.extu_exp - BIAS;
iy = uy.extu_exp - (BIAS + 512);
iy = uy.extu_exp - BIAS;
ux.extu_exp = iy + (BIAS + 512);
ux.extu_exp = iy + BIAS;
(ux.extu_exp == BIAS + LDBL_MAX_EXP) || /* or x not finite */
(uy.extu_exp == BIAS + LDBL_MAX_EXP &&
e0 = ex - BIAS - 23; /* e0 = ilogb(|x|)-23; */
if (ex < BIAS + 45 || ex == BIAS + 45 &&
if (ix<BIAS-(LDBL_MANT_DIG+1)/2) /* |x|<TINY */
if (ix < BIAS + EXP_TINY) { /* |x| < TINY, or misnormal */
if (ix >= BIAS + EXP_LARGE) { /* |x| >= LARGE, or misnormal */
if(expt == BIAS + LDBL_MAX_EXP &&
if (expman < ((BIAS - 2) << 8) + 0xc0) { /* |x| < 0.4375 */
if (expman < (BIAS << 8) + 0x30) { /* |x| < 1.1875 */
if (expman < ((BIAS - 1) << 8) + 0x60) { /* 7/16 <=|x|<11/16 */
if (expman < ((BIAS + 1) << 8) + 0x38) { /* |x| < 2.4375 */
if (k == BIAS + LDBL_MAX_EXP)
k -= BIAS + 514;
k -= BIAS;
SET_EXPSIGN(&u, BIAS);
SET_EXPSIGN(&v, (expsign & 0x8000) | (BIAS + k / 3));
ix = ux.extu_exp - (BIAS + 512);
ix = ux.extu_exp - BIAS;
iy = uy.extu_exp - (BIAS + 512);
iy = uy.extu_exp - BIAS;
ux.extu_exp = iy + (BIAS + 512);
ux.extu_exp = iy + BIAS;
(ux.extu_exp == BIAS + LDBL_MAX_EXP) || /* or x not finite */
(uy.extu_exp == BIAS + LDBL_MAX_EXP &&
if (ex >= BIAS + LDBL_MANT_DIG - 1) {
if (ex == BIAS + LDBL_MAX_EXP)
if (ex < BIAS && x == 0.0L)
if (__predict_false(ix<BIAS-(LDBL_MANT_DIG+1)/2)) { /* |x|<TINY */
#define v9next_frame(f) ((struct frame64*)(f->fr_fp+BIAS))
#define STKB BIAS
add %sp, -BIAS, %o0; /* Convert to 64-bits */ \
add %sp, +BIAS, %o0; /* Convert to 32-bits */ \
#define STACK_OFFSET BIAS
if ((unsigned)(tf->tf_out[6] + BIAS) > (unsigned)KERNBASE)
DDB_REGS->db_fr = *(struct frame64 *)(tf->tf_out[6] + BIAS);
copyin((void *)(tf->tf_out[6] + BIAS), &DDB_REGS->db_fr, sizeof(struct frame64));
f64 = (struct frame64 *)(frame + BIAS);
f64 = (struct frame64 *)(frame + BIAS);
frame = (uint64_t)((struct frame64 *)(u_long)(frame + BIAS))->fr_fp;
struct frame64* f = (struct frame64*)(u_long)(frame + BIAS);
frame += BIAS;
db_print_window(frame - BIAS);
#define STACK_OFFSET BIAS
fp64 = (struct frame64*)(((char*)fp)+BIAS);
void *pos = (char *)(u_long)tf->tf_out[6] + BIAS +
(void *)(long)(rwdest+BIAS));
rwdest += BIAS;
#define STACK_OFFSET BIAS