atan
double atan(double);
#define atan(x) __tg_full(x, atan)
PROTO_NORMAL(atan);
else z=atan(fabs(y/x)); /* safe to do y/x */
if(((hx-0x3ff00000)|lx)==0) return atan(y); /* x=1.0 */
DEF_STD(atan);
LDBL_MAYBE_CLONE(atan);
{"atan", atan, 4.14213562373094923430E-1, 3.92684936523437500000E-1,
{"atan", atan, 1.0, 7.85385131835937500000E-1,
{"atan", atan, 2.41421356237309492343E0, 1.17808532714843750000E0,
{"atan", atan, -2.41421356237309514547E0, -1.17810058593750000000E0,
{"atan", atan, -1.0, -7.85400390625000000000E-1,
{"atan", atan, -4.14213562373095145475E-1, -3.92700195312500000000E-1,
double atan (double);
{"atan", atan, &NAN, &NAN, 0},
{"atan", atan, &ZERO, &ZERO, 0},
{"atan", atan, &MZERO, &MZERO, 0},
{"atan", atan, &INF, &PIO2, 0},
{"atan", atan, &MINF, &MPIO2, 0},
double atan (double);
{"atan", atan, &ONE, &PIO4, 0},
#define F atan
testall_tol(catan, z, CMPLXL(atan(nums[i]), 0), 1);
testall(atan, 0.0, 0.0, 0);
testall(atan, -0.0, -0.0, 0);
testall(atan, INFINITY, pi / 2, FE_INEXACT);
testall(atan, -INFINITY, -pi / 2, FE_INEXACT);
testall(atan, NAN, NAN, 0);
testall(atan, 1.0, pi / 4, FE_INEXACT);
testall(atan, -1.0, -pi / 4, FE_INEXACT);
testall_tol(atan, sqrtl(3), pio3, 1, FE_INEXACT);
testall_tol(atan, -sqrtl(3), -pio3, 1, FE_INEXACT);
testall_tol(atan, sqrt2m1, pi / 8, 1, FE_INEXACT);
testall_tol(atan, -sqrt2m1, -pi / 8, 1, FE_INEXACT);
testall(atan, tiny, tiny, FE_INEXACT);
testall(atan, -tiny, -tiny, FE_INEXACT);
testall(atan, huge, pi / 2, FE_INEXACT);
testall(atan, -huge, -pi / 2, FE_INEXACT);
return (tanl(atan(x)));