DBL_ULP
test_tol(cexp, x, result, tol * DBL_ULP()); \
test_tol(cexp, cpackl(a, b), cpackl(x, y), 3 * DBL_ULP());
cpackl(INFINITY, 8.94674309915433533273e-16), DBL_ULP());
cpackl(INFINITY, 9.73344457300016401328e+110), DBL_ULP());
cpackl(INFINITY, 5.08228858149196559681e+284), DBL_ULP());
cpackl(INFINITY, 7.42156649354218408074e+83), DBL_ULP());
cpackl(INFINITY, 3.87514844965996756704e+257), DBL_ULP());
test_tol(func, x, result, tol * DBL_ULP()); \
test_tol(func, x, result, tol * DBL_ULP()); \
test_tol(func, -x, -result, tol * DBL_ULP()); \
test_tol(func, x, result, tol * DBL_ULP()); \
test_tol(func, -x, result, tol * DBL_ULP()); \
test_tol(func, x, result, (tol) * DBL_ULP()); \