tan
double tan(double);
#define tan(x) __tg_full(x, tan)
PROTO_NORMAL(tan);
DEF_STD(tan);
LDBL_MAYBE_UNUSED_CLONE(tan);
{"tan", tan, 7.85398163397448278999E-1, 9.999847412109375e-1,
{"tan", tan, 1.17809724509617241850E0, 2.41419982910156250000E0,
{"tan", tan, 1.96349540849362069750E0, -2.41421508789062500000E0,
{"tan", tan, 2.35619449019234483700E0, -1.00001525878906250000E0,
{"tan", tan, 2.74889357189106897650E0, -4.14215087890625000000E-1,
double tan (double);
{"tan", tan, 32767., 1.9089234430221485740826E-1, 0},
{"tan", tan, 8388607., -8.0354556223613614748329E0, 0},
{"tan", tan, &NAN, &NAN, 0},
{"tan", tan, &ZERO, &ZERO, 0},
{"tan", tan, &MZERO, &MZERO, 0},
{"tan", tan, &INF, &NAN, 0},
{"tan", tan, &MINF, &NAN, 0},
double tan (double);
#define F tan
test_odd_tol(ctan, z, CMPLXL(tan(nums[i]), 0), DBL_ULP());
test_odd_tol(ctanh, z, CMPLXL(0, tan(nums[i])), DBL_ULP());
testall(tan, INFINITY, NAN, ALL_STD_EXCEPT, FE_INVALID);
testall(tan, -INFINITY, NAN, ALL_STD_EXCEPT, FE_INVALID);
testall(tan, NAN, NAN, ALL_STD_EXCEPT, 0);
ATF_CHECK(fabs(tan(f_pi_odd[i])) < FLT_EPSILON);
ATF_CHECK(fabs(tan(d_pi_odd[i])) < 2 * DBL_EPSILON);
ATF_CHECK(fabs(tan(-d_pi_odd[i])) < 2 * DBL_EPSILON);
ATF_CHECK(fabs(tan(d_pi_odd[i] * 2)) < 2 * DBL_EPSILON);
ATF_CHECK(fabs(tan(-d_pi_odd[i] * 2)) < 2 * DBL_EPSILON);
testall(tan, 0xd.50ee515fe4aea16p-114L, 0xd.50ee515fe4aea16p-114L,
testacc(tan, -0.15862817413325692897L, -0.15997221861309522115L,
testacc(tan, 0.38374784931303813530L, 0.40376500259976759951L,
testall(tan, 0.0, 0.0, ALL_STD_EXCEPT, 0);
testall(tan, -0.0, -0.0, ALL_STD_EXCEPT, 0);