check ("exp (2) == e^2", FUNC(exp) (2), M_E * M_E); check ("exp (3) == e^3", FUNC(exp) (3), M_E * M_E * M_E);
check_eps ("exp (2) == e^2", FUNC(exp) (2), M_E * M_E, CHOOSE (1e-18, 0, 0)); check_eps ("exp (3) == e^3", FUNC(exp) (3), M_E * M_E * M_E, CHOOSE (1.5e-17, 0, 0));
exp_test (void){  check ("exp (+0) == 1", FUNC(exp) (0), 1);  check ("exp (-0) == 1", FUNC(exp) (minus_zero), 1);#ifndef TEST_INLINE  check_isinfp ("exp (+inf) == +inf", FUNC(exp) (plus_infty));  check ("exp (-inf) == 0", FUNC(exp) (minus_infty), 0);#endif  check_eps ("exp (1) == e", FUNC(exp) (1), M_E, CHOOSE (4e-18L, 5e-16, 0));  check ("exp (2) == e^2", FUNC(exp) (2), M_E * M_E);  check ("exp (3) == e^3", FUNC(exp) (3), M_E * M_E * M_E);  check_eps ("exp (0.7) == 2.0137527074...", FUNC(exp) (0.7),	     2.0137527074704765216L, CHOOSE(9e-17L, 0, 0));}