check ("acos (0.5) == pi/3", FUNC(acos) (0.5), M_PI_6 * 2.0); check ("acos (-0.5) == 2*pi/3", FUNC(acos) (-0.5), M_PI_6 * 4.0);
check_eps ("acos (0.5) == pi/3", FUNC(acos) (0.5), M_PI_6 * 2.0, CHOOSE (1e-18, 0, 0)); check_eps ("acos (-0.5) == 2*pi/3", FUNC(acos) (-0.5), M_PI_6 * 4.0, CHOOSE (1e-17, 0, 0));
acos_test (void){#ifndef TEST_INLINE  MATHTYPE x;  x = random_greater (1);  check_isnan_exc ("acos (x) == NaN plus invalid exception for |x| > 1",		   FUNC(acos) (x),		   INVALID_EXCEPTION);  x = random_less (1);  check_isnan_exc ("acos (x) == NaN plus invalid exception for |x| > 1",		   FUNC(acos) (x),		   INVALID_EXCEPTION);#endif  check ("acos (0) == pi/2", FUNC(acos) (0), M_PI_2);  check ("acos (-0) == pi/2", FUNC(acos) (minus_zero), M_PI_2);  check ("acos (1) == 0", FUNC(acos) (1), 0);  check ("acos (-1) == pi", FUNC(acos) (-1), M_PI);  check ("acos (0.5) == pi/3", FUNC(acos) (0.5), M_PI_6 * 2.0);  check ("acos (-0.5) == 2*pi/3", FUNC(acos) (-0.5), M_PI_6 * 4.0);  check_eps ("acos (0.7) == 0.795398830...", FUNC(acos) (0.7),	     0.7953988301841435554L, CHOOSE(7e-17L, 0, 0));}