about summary refs log tree commit diff
path: root/src/math/i386/asin.s
diff options
context:
space:
mode:
Diffstat (limited to 'src/math/i386/asin.s')
-rw-r--r--src/math/i386/asin.s32
1 files changed, 7 insertions, 25 deletions
diff --git a/src/math/i386/asin.s b/src/math/i386/asin.s
index 920d967a..2bc8356f 100644
--- a/src/math/i386/asin.s
+++ b/src/math/i386/asin.s
@@ -1,23 +1,3 @@
-.global asinf
-.type asinf,@function
-asinf:
-	flds 4(%esp)
-	mov 4(%esp),%eax
-	add %eax,%eax
-	cmp $0x01000000,%eax
-	jae 1f
-		# subnormal x, return x with underflow
-	fld %st(0)
-	fmul %st(1)
-	fstps 4(%esp)
-	ret
-
-.global asinl
-.type asinl,@function
-asinl:
-	fldt 4(%esp)
-	jmp 1f
-
 .global asin
 .type asin,@function
 asin:
@@ -25,15 +5,17 @@ asin:
 	mov 8(%esp),%eax
 	add %eax,%eax
 	cmp $0x00200000,%eax
-	jae 1f
-		# subnormal x, return x with underflow
-	fsts 4(%esp)
-	ret
-1:	fld %st(0)
+	jb 1f
+	fld %st(0)
 	fld1
 	fsub %st(0),%st(1)
 	fadd %st(2)
 	fmulp
 	fsqrt
 	fpatan
+	fstpl 4(%esp)
+	fldl 4(%esp)
+	ret
+		# subnormal x, return x with underflow
+1:	fsts 4(%esp)
 	ret