asin
double asin(double);
#define asin(x) __tg_full(x, asin)
PROTO_NORMAL(asin);
DEF_STD(asin);
LDBL_MAYBE_CLONE(asin);
w = asin (x) + 0.0 * I;
{"asin", asin, 3.82683432365089615246E-1, 3.92684936523437500000E-1,
{"asin", asin, 0.5, 5.23590087890625000000E-1,
{"asin", asin, 7.07106781186547461715E-1, 7.85385131835937500000E-1,
{"asin", asin, 9.23879532511286738483E-1, 1.17808532714843750000E0,
{"asin", asin, -0.5, -5.23605346679687500000E-1,
double asin (double);
{"asin", asin, &NAN, &NAN, 0},
{"asin", asin, &ZERO, &ZERO, 0},
{"asin", asin, &MZERO, &MZERO, 0},
{"asin", asin, &TWO, &NAN, 0},
{"asin", asin, &MTWO, &NAN, 0},
double asin (double);
#define F asin
testall(asin, 0.0, 0.0, 0);
testall(asin, -0.0, -0.0, 0);
testall(asin, INFINITY, NAN, FE_INVALID);
testall(asin, -INFINITY, NAN, FE_INVALID);
testall(asin, NAN, NAN, 0);
testall(asin, 1.0, pi / 2, FE_INEXACT);
testall(asin, -1.0, -pi / 2, FE_INEXACT);
testall_tol(asin, sqrtl(2) / 2, pi / 4, 1, FE_INEXACT);
testall_tol(asin, -sqrtl(2) / 2, -pi / 4, 1, FE_INEXACT);
testall_tol(asin, sqrtl(3) / 2, pio3, 1, FE_INEXACT);
testall_tol(asin, -sqrtl(3) / 2, -pio3, 1, FE_INEXACT);
testall(asin, tiny, tiny, FE_INEXACT);
testall(asin, -tiny, -tiny, FE_INEXACT);
return (sinl(asin(x)));