- * Since asin(x) = x + x^3/6 + x^5*3/40 + x^7*15/336 + ...
- * we approximate asin(x) on [0,0.5] by
- * asin(x) = x + x*x^2*R(x^2)
+ * Since asin(x) = x + x^3/6 + x^5*3/40 + x^7*15/336 + ...
+ * we approximate asin(x) on [0,0.5] by
+ * asin(x) = x + x*x^2*R(x^2)
- * if x is NaN, return x itself;
- * if |x|>1, return NaN with invalid signal.
+ * if x is NaN, return x itself;
+ * if |x|>1, return NaN with invalid signal.
pio2_lo = 4.3359050650618905123985220130216759843812E-35L,
pio4_hi = 7.8539816339744830961566084581987569936977E-1L,
pio2_lo = 4.3359050650618905123985220130216759843812E-35L,
pio4_hi = 7.8539816339744830961566084581987569936977E-1L,
}
else if (x < 0.5L) /* |x| < 0.5 */
{
if (x < 0.000000000000000006938893903907228377647697925567626953125L) /* |x| < 2**-57 */
}
else if (x < 0.5L) /* |x| < 0.5 */
{
if (x < 0.000000000000000006938893903907228377647697925567626953125L) /* |x| < 2**-57 */
1.5707963267948966192313216916397514420984L);
printf ("%.18Lg %.18Lg\n",
acosl(0.7071067811865475244008443621048490392848L),
1.5707963267948966192313216916397514420984L);
printf ("%.18Lg %.18Lg\n",
acosl(0.7071067811865475244008443621048490392848L),
0.7853981633974483096156608458198757210492L);
printf ("%.18Lg %.18Lg\n",
acosl(0.5L),
0.7853981633974483096156608458198757210492L);
printf ("%.18Lg %.18Lg\n",
acosl(0.5L),
0.5235987755982988730771072305465838140328L);
printf ("%.18Lg %.18Lg\n",
acosl(0.3090169943749474241022934171828190588600L),
0.5235987755982988730771072305465838140328L);
printf ("%.18Lg %.18Lg\n",
acosl(0.3090169943749474241022934171828190588600L),
0.3141592653589793238462643383279502884196L);
printf ("%.18Lg %.18Lg\n",
acosl(-1.0L),
0.3141592653589793238462643383279502884196L);
printf ("%.18Lg %.18Lg\n",
acosl(-1.0L),
-1.5707963267948966192313216916397514420984L);
printf ("%.18Lg %.18Lg\n",
acosl(-0.7071067811865475244008443621048490392848L),
-1.5707963267948966192313216916397514420984L);
printf ("%.18Lg %.18Lg\n",
acosl(-0.7071067811865475244008443621048490392848L),
-0.7853981633974483096156608458198757210492L);
printf ("%.18Lg %.18Lg\n",
acosl(-0.5L),
-0.7853981633974483096156608458198757210492L);
printf ("%.18Lg %.18Lg\n",
acosl(-0.5L),
-0.5235987755982988730771072305465838140328L);
printf ("%.18Lg %.18Lg\n",
acosl(-0.3090169943749474241022934171828190588600L),
-0.5235987755982988730771072305465838140328L);
printf ("%.18Lg %.18Lg\n",
acosl(-0.3090169943749474241022934171828190588600L),