* sysdeps/ieee754/ldbl-96/e_asinl.c: Correct handling of +-Inf.
* sysdeps/i386/fpu/e_asinl.S: Removed. Too inaccurate.
2001-04-05 Ulrich Drepper <drepper@redhat.com>
+ * sysdeps/ieee754/ldbl-96/e_asinl.c: Correct handling of +-Inf.
+ * sysdeps/i386/fpu/e_asinl.S: Removed. Too inaccurate.
+
* login/tst-utmp.c: Make file usable again in tst-utmpx.c.
2001-04-04 Ulrich Drepper <drepper@redhat.com>
+++ /dev/null
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- *
- * Adapted for `long double' by Ulrich Drepper <drepper@cygnus.com>.
- */
-
-#include <machine/asm.h>
-
-RCSID("$NetBSD: $")
-
-/* asinl = atanl (x / sqrtl(1 - x^2)) */
-ENTRY(__ieee754_asinl)
- fldt 4(%esp) /* x */
- fld %st
- fmul %st(0) /* x^2 */
- fld1
- fsubp /* 1 - x^2 */
- fsqrt /* sqrt (1 - x^2) */
- fpatan
- ret
-END (__ieee754_asinl)
ix = (ix << 16) | (i0 >> 16);
if (ix >= 0x3fff8000)
{ /* |x|>= 1 */
- if (((i0 - 0x80000000) | i1) == 0)
+ if (ix < 0x7fff0000 && ((i0 - 0x80000000) | i1) == 0)
/* asin(1)=+-pi/2 with inexact */
return x * pio2_hi + x * pio2_lo;
return (x - x) / (x - x); /* asin(|x|>1) is NaN */