DBL_ULP
test_tol(cexp, CMPLXL(a, b), CMPLXL(x, y), 3 * DBL_ULP());
CMPLXL(INFINITY, 8.94674309915433533273e-16), DBL_ULP());
CMPLXL(INFINITY, 9.73344457300016401328e+110), DBL_ULP());
CMPLXL(INFINITY, 5.08228858149196559681e+284), DBL_ULP());
CMPLXL(INFINITY, 7.42156649354218408074e+83), DBL_ULP());
CMPLXL(INFINITY, 3.87514844965996756704e+257), DBL_ULP());
test_tol(cexp, x, result, tol * DBL_ULP()); \
test_tol(func, x, result, tol * DBL_ULP()); \
test_odd_tol(func, x, result, tol * DBL_ULP()); \
test_even_tol(func, x, result, tol * DBL_ULP()); \
test_odd_tol(csinh, z, CMPLXL(sinh(nums[i]), 0), DBL_ULP());
test_even_tol(ccosh, z, CMPLXL(cosh(nums[i]), 0), DBL_ULP());
test_odd_tol(ctanh, z, CMPLXL(tanh(nums[i]), 0), DBL_ULP());
copysign(0, cos(nums[i]))), DBL_ULP());
-copysign(0, sin(nums[i]))), DBL_ULP());
test_odd_tol(ctan, z, CMPLXL(tan(nums[i]), 0), DBL_ULP());
sin(nums[i])), DBL_ULP());
copysign(0, sin(nums[i]))), DBL_ULP());
test_odd_tol(ctanh, z, CMPLXL(0, tan(nums[i])), DBL_ULP());
test_odd_tol(csin, z, CMPLXL(0, sinh(nums[i])), DBL_ULP());
test_even_tol(ccos, z, CMPLXL(cosh(nums[i]), -0.0), DBL_ULP());
test_odd_tol(ctan, z, CMPLXL(0, tanh(nums[i])), DBL_ULP());
DBL_ULP());
DBL_ULP());
DBL_ULP());
1.43917579766621073533185387499658944e308L), DBL_ULP());
1.43917579766621073533185387499658944e308L), DBL_ULP());
test_tol(func, x, result, (tol) * DBL_ULP()); \
test_tol(log2, tests[i].x, tests[i].log2x, DBL_ULP());
test_tol(log, tests[i].x, tests[i].logex, DBL_ULP());
test_tol(log10, tests[i].x, tests[i].log10x, DBL_ULP());
DBL_ULP());
1.82321556793954589204283870982629267635e-1L, DBL_ULP());
-2.23143551314209700255143859052009022937e-1L, DBL_ULP());