2 * Written by J.T. Conklin <jtc@NetBSD.org>.
5 * $NetBSD: e_expf.S,v 1.5 2003/07/26 19:24:58 salo Exp $
6 * $DragonFly: src/lib/libm/arch/i386/e_expf.S,v 1.1 2005/07/26 21:15:19 joerg Exp $
9 #include <machine/asm.h>
13 /* e^x = 2^(x * log2(e)) */
15 XMM_ONE_ARG_FLOAT_PROLOGUE
18 fmulp /* x * log2(e) */
20 frndint /* int(x * log2(e)) */
21 fsubr %st(0),%st(1) /* fract(x * log2(e)) */
23 f2xm1 /* 2^(fract(x * log2(e))) - 1 */
25 faddp /* 2^(fract(x * log2(e))) */