log1p
double log1p(double);
#define log1p(a) __TG_FN1(log1p, (a))
*rx = log1p(Am1 + sqrt(Am1 * (A + 1)));
*rx = log1p((y - 1) + sqrt((y - 1) * (y + 1)));
rx = log1p(4 * ax / sum_squares(ax - 1, ay)) / 4;
return(log1p(t*(t+sqrt(x+1.0))));
if(x>big) {t=log1p(x)+ln2lo; return(t+ln2hi);}
s=one/t; return(copysign(log1p(t+t/(s+sqrt(one+s*s))),x)); }
{s=log1p(t)+ln2lo; return(copysign(s+ln2hi,x));}
return( z*log1p(x+x) );
case 0: r -= log1p(x); /* FALLTHROUGH */
r -= rr.b; r -= log1p(x);
__weak_alias(log1p, _log1p)
log1p(double x)
return log1p(x);
return log1p(t+sqrt(2.0*t+t*t));
t = 0.5*log1p(t+t*x/(one-x));
t = 0.5*log1p((x+x)/(one-x));
w =log1p(fabs(x)+t/(one+__ieee754_sqrt(one+t)));
__weak_alias(log1p, _log1p)
log1p(double x)
DFUNC_DBL(log1p)
CHECK_NAN(i, log1p, log1pf_invalid[i]);
CHECK_NAN(i, log1p, log1p_invalid[i]);
CHECK_EQ(0, log1p, -1., -HUGE_VAL);
CHECK_EQ(0, log1p, -DBL_MIN, -DBL_MIN);
CHECK_EQ(1, log1p, -0., 0);
CHECK_EQ(2, log1p, +0., 0);
CHECK_EQ(3, log1p, 1, log(2));
CHECK_EQ(0, log1p, -DBL_DENORM_MIN, -DBL_DENORM_MIN);
ATF_CHECK_MSG(fabs((log1p(em1) - 1)/1) < 2*DBL_EPSILON,
"log1p(e)=%a=%.17g", log1p(em1), log1p(em1));
ATF_CHECK_MSG(fabs((log1p(e2m1) - 2)/2) < 2*DBL_EPSILON,
"log1p(e^2)=%a=%.17g", log1p(em1), log1p(em1));
CHECK_EQ(0, log1p, INFINITY, INFINITY);
TEST(log1p(M_PI));