1/*
2 * Public domain.
3 */
4
5#include <machine/asm.h>
6#include <i386-math-asm.h>
7#include <libm-alias-finite.h>
8
9RCSID("$NetBSD: $")
10
11	.section .rodata.cst4,"aM",@progbits,4
12
13DEFINE_FLT_MIN
14
15#ifdef PIC
16# define MO(op) op##@GOTOFF(%ecx)
17#else
18# define MO(op) op
19#endif
20
21	.text
22
23/* asin = atan (x / sqrt(1 - x^2)) */
24ENTRY(__ieee754_asinf)
25#ifdef  PIC
26	LOAD_PIC_REG (cx)
27#endif
28	flds	4(%esp)			/* x */
29	fld	%st
30	fmul	%st(0)			/* x^2 */
31	fld1
32	fsubp				/* 1 - x^2 */
33	fsqrt				/* sqrt (1 - x^2) */
34	fpatan
35	FLT_CHECK_FORCE_UFLOW
36	ret
37END (__ieee754_asinf)
38libm_alias_finite (__ieee754_asinf, __asinf)
39