1.global asinf
2.type asinf,@function
3asinf:
4	flds 4(%esp)
5	mov 4(%esp),%eax
6	add %eax,%eax
7	cmp $0x01000000,%eax
8	jae 1f
9		# subnormal x, return x with underflow
10	fld %st(0)
11	fmul %st(1)
12	fstps 4(%esp)
13	ret
14
15.global asinl
16.type asinl,@function
17asinl:
18	fldt 4(%esp)
19	jmp 1f
20
21.global asin
22.type asin,@function
23asin:
24	fldl 4(%esp)
25	mov 8(%esp),%eax
26	add %eax,%eax
27	cmp $0x00200000,%eax
28	jae 1f
29		# subnormal x, return x with underflow
30	fsts 4(%esp)
31	ret
321:	fld %st(0)
33	fld1
34	fsub %st(0),%st(1)
35	fadd %st(2)
36	fmulp
37	fsqrt
38	fpatan
39	ret
40