test_tol
test_tol(cexp, x, result, tol * DBL_ULP()); \
test_tol(cexpf, x, result, tol * FLT_ULP()); \
test_tol(cexp, cpackl(a, b), cpackl(x, y), 3 * DBL_ULP());
test_tol(cexpf, cpackl(a, b), cpackl(x, y), 1 * FLT_ULP());
test_tol(cexp, cpackl(709.79, 0x1p-1074),
test_tol(cexp, cpackl(1000, 0x1p-1074),
test_tol(cexp, cpackl(1400, 0x1p-1074),
test_tol(cexp, cpackl(900, 0x1.23456789abcdep-1020),
test_tol(cexp, cpackl(1300, 0x1.23456789abcdep-1020),
test_tol(cexpf, cpackl(88.73, 0x1p-149),
test_tol(cexpf, cpackl(90, 0x1p-149),
test_tol(cexpf, cpackl(192, 0x1p-149),
test_tol(cexpf, cpackl(120, 0x1.234568p-120),
test_tol(cexpf, cpackl(170, 0x1.234568p-120),
test_tol(func, x, result, tol * DBL_ULP()); \
test_tol(func##f, x, result, tol * FLT_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##f, x, result, (tol) * FLT_ULP()); \
test_tol(func, (x), (result), 0, (excepts))
test_tol(prefix, (double)(x), (double)(result), \
test_tol(prefix##f, (float)(x), (float)(result), \
test_tol(prefix##l, (x), (result), \