ctan
double complex ctan(double complex);
PROTO_NORMAL(ctan);
DEF_STD(ctan);
LDBL_MAYBE_UNUSED_CLONE(ctan);
testall_odd(ctan, zero, zero, ALL_STD_EXCEPT, 0, CS_BOTH);
testall_odd(ctan, z, nan_nan, ALL_STD_EXCEPT, 0, 0);
testall_odd(ctan, z, nan_nan, OPT_INVALID, 0, 0);
testall_odd(ctan, z, nan_nan, OPT_INVALID & ~FE_INEXACT, 0, 0);
testall_odd(ctan, z, CMPLXL(0, 1), ALL_STD_EXCEPT, 0, CS_IMAG);
testall_odd(ctan, z, nan_nan, OPT_INVALID, 0, 0);
testall_odd(ctan, z, CMPLXL(0, NAN), ALL_STD_EXCEPT, 0, CS_REAL);
testall_odd(ctan, z, CMPLXL(NAN, 0), ALL_STD_EXCEPT, 0, CS_IMAG);
testall_odd(ctan, z, CMPLXL(0, 1), ALL_STD_EXCEPT, 0, CS_REAL);
testall_odd(ctan, z, CMPLXL(0 * sin(finites[i] * 2), 1),
testall_odd(ctan, z, CMPLXL(NAN, 0), ALL_STD_EXCEPT, FE_INVALID, CS_IMAG);
testall_odd(ctan, z, CMPLXL(NAN, NAN), OPT_INEXACT, FE_INVALID, 0);
test_odd_tol(ctan, z, CMPLXL(tan(nums[i]), 0), DBL_ULP());
test_odd_tol(ctan, z, CMPLXL(0, tanh(nums[i])), DBL_ULP());