diff options
author | Szabolcs Nagy <nsz@port70.net> | 2012-12-16 17:30:29 +0100 |
---|---|---|
committer | Szabolcs Nagy <nsz@port70.net> | 2012-12-16 17:30:29 +0100 |
commit | 58bba42d1bd14e1ab01f3249ffc98afdbf841a6a (patch) | |
tree | 8790505fc53cfcd7a3bd6ecd4b1f7877018e2e17 /src/math/i386/expl.s | |
parent | 525ad96e0ef6e46b6ac28438ef2ffa1d5317fb64 (diff) | |
download | musl-58bba42d1bd14e1ab01f3249ffc98afdbf841a6a.tar.gz musl-58bba42d1bd14e1ab01f3249ffc98afdbf841a6a.tar.bz2 musl-58bba42d1bd14e1ab01f3249ffc98afdbf841a6a.tar.xz musl-58bba42d1bd14e1ab01f3249ffc98afdbf841a6a.zip |
math: x86_64 version of expl, fixed some comments in the i386 version
Diffstat (limited to 'src/math/i386/expl.s')
-rw-r--r-- | src/math/i386/expl.s | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/math/i386/expl.s b/src/math/i386/expl.s index 3f2f707d..8ceb40d2 100644 --- a/src/math/i386/expl.s +++ b/src/math/i386/expl.s @@ -1,6 +1,7 @@ # exp(x) = 2^hi + 2^hi (2^lo - 1) # where hi+lo = log2e*x with 128bit precision # exact log2e*x calculation depends on nearest rounding mode +# using the exact multiplication method of Dekker and Veltkamp .global expl .type expl,@function @@ -35,7 +36,6 @@ expl: # should be 0x1.71547652b82fe178p0 == 0x3fff b8aa3b29 5c17f0bc # it will be wrong on non-nearest rounding mode 3: fldl2e -# subl $32, %esp subl $44, %esp # hi = log2e_hi*x # 2^hi = exp2l(hi) @@ -54,7 +54,7 @@ expl: fldt 16(%esp) # fpu stack: 2^hi x hi # exact mult: x*log2e - fld %st(1) # x + fld %st(1) # c = 0x1p32+1 pushl $0x41f00000 pushl $0x00100000 |