2013-11-29 17:27:55 +01:00
|
|
|
# libm test inputs for gen-auto-libm-tests.c.
|
2015-01-02 17:28:19 +01:00
|
|
|
# Copyright (C) 1997-2015 Free Software Foundation, Inc.
|
2013-11-29 17:27:55 +01:00
|
|
|
# This file is part of the GNU C Library.
|
|
|
|
#
|
|
|
|
# The GNU C Library is free software; you can redistribute it and/or
|
|
|
|
# modify it under the terms of the GNU Lesser General Public
|
|
|
|
# License as published by the Free Software Foundation; either
|
|
|
|
# version 2.1 of the License, or (at your option) any later version.
|
|
|
|
#
|
|
|
|
# The GNU C Library is distributed in the hope that it will be useful,
|
|
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
# Lesser General Public License for more details.
|
|
|
|
#
|
|
|
|
# You should have received a copy of the GNU Lesser General Public
|
|
|
|
# License along with the GNU C Library; if not, see
|
|
|
|
# <http://www.gnu.org/licenses/>. */
|
|
|
|
|
2013-11-30 23:04:13 +01:00
|
|
|
acos 0
|
|
|
|
acos -0
|
|
|
|
acos 1
|
|
|
|
acos -1
|
|
|
|
acos 0.5
|
|
|
|
acos -0.5
|
|
|
|
acos 0.75
|
|
|
|
acos 2e-17
|
|
|
|
acos 0.0625
|
|
|
|
acos 0x0.ffffffp0
|
|
|
|
acos -0x0.ffffffp0
|
|
|
|
acos 0x0.ffffffff8p0
|
|
|
|
acos -0x0.ffffffff8p0
|
|
|
|
acos 0x0.ffffffffffffp0
|
|
|
|
acos -0x0.ffffffffffffp0
|
|
|
|
acos 0x0.ffffffffffffffffp0
|
|
|
|
acos -0x0.ffffffffffffffffp0
|
2015-02-26 22:06:34 +01:00
|
|
|
acos 0x1p-5
|
|
|
|
acos 0x1p-10
|
|
|
|
acos 0x1p-15
|
|
|
|
acos 0x1p-20
|
|
|
|
acos 0x1p-25
|
|
|
|
acos 0x1p-30
|
|
|
|
acos 0x1p-35
|
|
|
|
acos 0x1p-40
|
|
|
|
acos 0x1p-45
|
|
|
|
acos 0x1p-50
|
|
|
|
acos 0x1p-55
|
|
|
|
acos 0x1p-60
|
|
|
|
acos 0x1p-65
|
|
|
|
acos 0x1p-70
|
|
|
|
acos 0x1p-75
|
|
|
|
acos 0x1p-80
|
|
|
|
acos 0x1p-85
|
|
|
|
acos 0x1p-90
|
|
|
|
acos 0x1p-95
|
|
|
|
acos 0x1p-100
|
|
|
|
acos 0x1p-105
|
|
|
|
acos 0x1p-110
|
|
|
|
acos 0x1p-115
|
|
|
|
acos 0x1p-120
|
|
|
|
acos -0x1p-5
|
|
|
|
acos -0x1p-25
|
|
|
|
acos -0x1p-45
|
|
|
|
acos -0x1p-65
|
|
|
|
acos -0x1p-85
|
|
|
|
acos -0x1p-105
|
|
|
|
acos -0x1p-125
|
2015-03-25 01:30:10 +01:00
|
|
|
acos -0x2.0089a4p-4
|
|
|
|
acos 0xf.04aeep-4
|
|
|
|
acos 0x5.dd258006121b8p-4
|
|
|
|
acos -0x2.35f051e70dbc4p-4
|
|
|
|
acos 0xe.9a5c0d7fabb9aa1p-4
|
|
|
|
acos 0xe.17513589de79b75p-4
|
Add more libm-test coverage of [a-c]* real functions.
Various libm functions have inadequate test coverage in libm-test.inc
/ auto-libm-test-in - failing to cover all the usual special cases
(infinities, NaNs, zero, large and small finite values, subnormals) as
well as a reasonable range of ordinary inputs and, where appropriate,
inputs close to the thresholds for underflow and overflow.
This patch improves test coverage for real functions [a-c]* (with the
expectation of adding more coverage for other functions later).
Tested x86_64 and x86 and ulps updated accordingly (and eight glibc
bugs and one C11 DR filed for issues found in the process).
* math/auto-libm-test-in: Add more tests of acos, acosh, asin,
asinh, atan, atan2, atanh, cbrt, cos and cosh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (acosh_test_data): Add more tests.
(atanh_test_data): Likewise.
(ceil_test_data): Likewise.
(copysign_test_data): Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 22:03:39 +01:00
|
|
|
acos min
|
|
|
|
acos -min
|
|
|
|
acos min_subnorm
|
|
|
|
acos -min_subnorm
|
2013-11-30 23:04:13 +01:00
|
|
|
|
|
|
|
acosh 1
|
Add more libm-test coverage of [a-c]* real functions.
Various libm functions have inadequate test coverage in libm-test.inc
/ auto-libm-test-in - failing to cover all the usual special cases
(infinities, NaNs, zero, large and small finite values, subnormals) as
well as a reasonable range of ordinary inputs and, where appropriate,
inputs close to the thresholds for underflow and overflow.
This patch improves test coverage for real functions [a-c]* (with the
expectation of adding more coverage for other functions later).
Tested x86_64 and x86 and ulps updated accordingly (and eight glibc
bugs and one C11 DR filed for issues found in the process).
* math/auto-libm-test-in: Add more tests of acos, acosh, asin,
asinh, atan, atan2, atanh, cbrt, cos and cosh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (acosh_test_data): Add more tests.
(atanh_test_data): Likewise.
(ceil_test_data): Likewise.
(copysign_test_data): Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 22:03:39 +01:00
|
|
|
acosh 1.625
|
2013-11-30 23:04:13 +01:00
|
|
|
acosh 7
|
Add more libm-test coverage of [a-c]* real functions.
Various libm functions have inadequate test coverage in libm-test.inc
/ auto-libm-test-in - failing to cover all the usual special cases
(infinities, NaNs, zero, large and small finite values, subnormals) as
well as a reasonable range of ordinary inputs and, where appropriate,
inputs close to the thresholds for underflow and overflow.
This patch improves test coverage for real functions [a-c]* (with the
expectation of adding more coverage for other functions later).
Tested x86_64 and x86 and ulps updated accordingly (and eight glibc
bugs and one C11 DR filed for issues found in the process).
* math/auto-libm-test-in: Add more tests of acos, acosh, asin,
asinh, atan, atan2, atanh, cbrt, cos and cosh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (acosh_test_data): Add more tests.
(atanh_test_data): Likewise.
(ceil_test_data): Likewise.
(copysign_test_data): Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 22:03:39 +01:00
|
|
|
acosh 100
|
|
|
|
acosh 1e5
|
2015-02-25 01:01:15 +01:00
|
|
|
acosh 0x1p8
|
|
|
|
acosh 0x1p9
|
|
|
|
acosh 0x1p10
|
|
|
|
acosh 0x1p11
|
|
|
|
acosh 0x1p12
|
|
|
|
acosh 0x1p13
|
|
|
|
acosh 0x1p24
|
|
|
|
acosh 0x1p25
|
|
|
|
acosh 0x1p26
|
|
|
|
acosh 0x1p27
|
|
|
|
acosh 0x1p28
|
|
|
|
acosh 0x1p29
|
|
|
|
acosh 0x1p30
|
|
|
|
acosh 0x1p31
|
|
|
|
acosh 0x1p32
|
|
|
|
acosh 0x1p33
|
|
|
|
acosh 0x1p48
|
|
|
|
acosh 0x1p49
|
|
|
|
acosh 0x1p50
|
|
|
|
acosh 0x1p51
|
|
|
|
acosh 0x1p52
|
|
|
|
acosh 0x1p53
|
|
|
|
acosh 0x1p54
|
|
|
|
acosh 0x1p55
|
|
|
|
acosh 0x1p56
|
|
|
|
acosh 0x1p57
|
|
|
|
acosh 0x1p58
|
|
|
|
acosh 0x1p59
|
|
|
|
acosh 0x1p100
|
|
|
|
acosh 0x1p500
|
|
|
|
acosh 0x1p5000
|
2015-03-25 23:21:20 +01:00
|
|
|
acosh 0x1.80a368p+0
|
|
|
|
acosh 0x1.0b9d3e9fc19fbp+0
|
|
|
|
acosh 0x1.11eab6p+0
|
Add more libm-test coverage of [a-c]* real functions.
Various libm functions have inadequate test coverage in libm-test.inc
/ auto-libm-test-in - failing to cover all the usual special cases
(infinities, NaNs, zero, large and small finite values, subnormals) as
well as a reasonable range of ordinary inputs and, where appropriate,
inputs close to the thresholds for underflow and overflow.
This patch improves test coverage for real functions [a-c]* (with the
expectation of adding more coverage for other functions later).
Tested x86_64 and x86 and ulps updated accordingly (and eight glibc
bugs and one C11 DR filed for issues found in the process).
* math/auto-libm-test-in: Add more tests of acos, acosh, asin,
asinh, atan, atan2, atanh, cbrt, cos and cosh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (acosh_test_data): Add more tests.
(atanh_test_data): Likewise.
(ceil_test_data): Likewise.
(copysign_test_data): Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 22:03:39 +01:00
|
|
|
acosh max no-test-inline
|
2013-11-30 23:04:13 +01:00
|
|
|
|
|
|
|
asin 0
|
|
|
|
asin -0
|
|
|
|
asin 0.5
|
|
|
|
asin -0.5
|
|
|
|
asin 1.0
|
|
|
|
asin -1.0
|
|
|
|
asin 0.75
|
|
|
|
asin 0x0.ffffffp0
|
|
|
|
asin -0x0.ffffffp0
|
|
|
|
asin 0x0.ffffffff8p0
|
|
|
|
asin -0x0.ffffffff8p0
|
|
|
|
asin 0x0.ffffffffffffp0
|
|
|
|
asin -0x0.ffffffffffffp0
|
|
|
|
asin 0x0.ffffffffffffffffp0
|
|
|
|
asin -0x0.ffffffffffffffffp0
|
2015-03-25 18:53:58 +01:00
|
|
|
asin -0x2.18915cp-4
|
|
|
|
asin -0x3.746774p-4
|
|
|
|
asin -0x3.1c54d10e5c844p-4
|
|
|
|
asin 0xf.c9675fa6fe69f12p-4
|
2015-03-25 22:57:04 +01:00
|
|
|
asin -0xa.fc5afp-4
|
2015-02-26 18:18:54 +01:00
|
|
|
asin min
|
|
|
|
asin -min
|
|
|
|
asin min_subnorm
|
|
|
|
asin -min_subnorm
|
2013-11-30 23:04:13 +01:00
|
|
|
|
|
|
|
asinh 0
|
|
|
|
asinh -0
|
|
|
|
asinh 0.75
|
Add more libm-test coverage of [a-c]* real functions.
Various libm functions have inadequate test coverage in libm-test.inc
/ auto-libm-test-in - failing to cover all the usual special cases
(infinities, NaNs, zero, large and small finite values, subnormals) as
well as a reasonable range of ordinary inputs and, where appropriate,
inputs close to the thresholds for underflow and overflow.
This patch improves test coverage for real functions [a-c]* (with the
expectation of adding more coverage for other functions later).
Tested x86_64 and x86 and ulps updated accordingly (and eight glibc
bugs and one C11 DR filed for issues found in the process).
* math/auto-libm-test-in: Add more tests of acos, acosh, asin,
asinh, atan, atan2, atanh, cbrt, cos and cosh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (acosh_test_data): Add more tests.
(atanh_test_data): Likewise.
(ceil_test_data): Likewise.
(copysign_test_data): Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 22:03:39 +01:00
|
|
|
asinh 1
|
|
|
|
asinh 10
|
|
|
|
asinh 100
|
|
|
|
asinh 1e6
|
2015-02-25 12:13:41 +01:00
|
|
|
asinh 0x1p8
|
|
|
|
asinh 0x1p9
|
|
|
|
asinh 0x1p10
|
|
|
|
asinh 0x1p11
|
|
|
|
asinh 0x1p12
|
|
|
|
asinh 0x1p13
|
|
|
|
asinh 0x1p24
|
|
|
|
asinh 0x1p25
|
|
|
|
asinh 0x1p26
|
|
|
|
asinh 0x1p27
|
|
|
|
asinh 0x1p28
|
|
|
|
asinh 0x1p29
|
|
|
|
asinh 0x1p30
|
|
|
|
asinh 0x1p31
|
|
|
|
asinh 0x1p32
|
|
|
|
asinh 0x1p33
|
|
|
|
asinh 0x1p48
|
|
|
|
asinh 0x1p49
|
|
|
|
asinh 0x1p50
|
|
|
|
asinh 0x1p51
|
|
|
|
asinh 0x1p52
|
|
|
|
asinh 0x1p53
|
|
|
|
asinh 0x1p54
|
|
|
|
asinh 0x1p55
|
|
|
|
asinh 0x1p56
|
|
|
|
asinh 0x1p57
|
|
|
|
asinh 0x1p58
|
|
|
|
asinh 0x1p59
|
Add more libm-test coverage of [a-c]* real functions.
Various libm functions have inadequate test coverage in libm-test.inc
/ auto-libm-test-in - failing to cover all the usual special cases
(infinities, NaNs, zero, large and small finite values, subnormals) as
well as a reasonable range of ordinary inputs and, where appropriate,
inputs close to the thresholds for underflow and overflow.
This patch improves test coverage for real functions [a-c]* (with the
expectation of adding more coverage for other functions later).
Tested x86_64 and x86 and ulps updated accordingly (and eight glibc
bugs and one C11 DR filed for issues found in the process).
* math/auto-libm-test-in: Add more tests of acos, acosh, asin,
asinh, atan, atan2, atanh, cbrt, cos and cosh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (acosh_test_data): Add more tests.
(atanh_test_data): Likewise.
(ceil_test_data): Likewise.
(copysign_test_data): Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 22:03:39 +01:00
|
|
|
asinh 0x1p100
|
2015-02-25 12:13:41 +01:00
|
|
|
asinh 0x1p500
|
|
|
|
asinh 0x1p5000
|
|
|
|
asinh 0x1p-8
|
|
|
|
asinh 0x1p-9
|
|
|
|
asinh 0x1p-10
|
|
|
|
asinh 0x1p-11
|
|
|
|
asinh 0x1p-12
|
|
|
|
asinh 0x1p-13
|
|
|
|
asinh 0x1p-24
|
|
|
|
asinh 0x1p-25
|
|
|
|
asinh 0x1p-26
|
|
|
|
asinh 0x1p-27
|
|
|
|
asinh 0x1p-28
|
|
|
|
asinh 0x1p-29
|
|
|
|
asinh 0x1p-30
|
|
|
|
asinh 0x1p-31
|
|
|
|
asinh 0x1p-32
|
|
|
|
asinh 0x1p-33
|
|
|
|
asinh 0x1p-48
|
|
|
|
asinh 0x1p-49
|
|
|
|
asinh 0x1p-50
|
|
|
|
asinh 0x1p-51
|
|
|
|
asinh 0x1p-52
|
|
|
|
asinh 0x1p-53
|
|
|
|
asinh 0x1p-54
|
|
|
|
asinh 0x1p-55
|
|
|
|
asinh 0x1p-56
|
|
|
|
asinh 0x1p-57
|
|
|
|
asinh 0x1p-58
|
|
|
|
asinh 0x1p-59
|
|
|
|
asinh 0x1p-100
|
2015-03-25 23:21:20 +01:00
|
|
|
asinh -0x3.d26bb4p-4
|
|
|
|
asinh -0x3.bdeef4p-4
|
|
|
|
asinh -0x7.fc7fc8p-8
|
|
|
|
asinh -0x3.b94a52e6913c2p-4
|
|
|
|
asinh 0x7.d8e5a8p-4
|
|
|
|
asinh -0x7.63a06320c42e4p-4
|
|
|
|
asinh 0x6.f4a93p-4
|
|
|
|
asinh -0x7.88bcc8p-4
|
Add more libm-test coverage of [a-c]* real functions.
Various libm functions have inadequate test coverage in libm-test.inc
/ auto-libm-test-in - failing to cover all the usual special cases
(infinities, NaNs, zero, large and small finite values, subnormals) as
well as a reasonable range of ordinary inputs and, where appropriate,
inputs close to the thresholds for underflow and overflow.
This patch improves test coverage for real functions [a-c]* (with the
expectation of adding more coverage for other functions later).
Tested x86_64 and x86 and ulps updated accordingly (and eight glibc
bugs and one C11 DR filed for issues found in the process).
* math/auto-libm-test-in: Add more tests of acos, acosh, asin,
asinh, atan, atan2, atanh, cbrt, cos and cosh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (acosh_test_data): Add more tests.
(atanh_test_data): Likewise.
(ceil_test_data): Likewise.
(copysign_test_data): Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 22:03:39 +01:00
|
|
|
# Bug 16350: underflow exception may be missing.
|
2015-02-25 12:13:41 +01:00
|
|
|
asinh 0x1p-500 missing-underflow
|
|
|
|
asinh 0x1p-5000 missing-underflow
|
Add more libm-test coverage of [a-c]* real functions.
Various libm functions have inadequate test coverage in libm-test.inc
/ auto-libm-test-in - failing to cover all the usual special cases
(infinities, NaNs, zero, large and small finite values, subnormals) as
well as a reasonable range of ordinary inputs and, where appropriate,
inputs close to the thresholds for underflow and overflow.
This patch improves test coverage for real functions [a-c]* (with the
expectation of adding more coverage for other functions later).
Tested x86_64 and x86 and ulps updated accordingly (and eight glibc
bugs and one C11 DR filed for issues found in the process).
* math/auto-libm-test-in: Add more tests of acos, acosh, asin,
asinh, atan, atan2, atanh, cbrt, cos and cosh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (acosh_test_data): Add more tests.
(atanh_test_data): Likewise.
(ceil_test_data): Likewise.
(copysign_test_data): Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 22:03:39 +01:00
|
|
|
asinh min missing-underflow
|
|
|
|
asinh -min missing-underflow
|
|
|
|
asinh min_subnorm missing-underflow
|
|
|
|
asinh -min_subnorm missing-underflow
|
|
|
|
asinh max no-test-inline
|
|
|
|
asinh -max no-test-inline
|
2013-11-30 23:04:13 +01:00
|
|
|
|
|
|
|
atan 0
|
|
|
|
atan -0
|
|
|
|
atan max
|
|
|
|
atan -max
|
|
|
|
atan 1
|
|
|
|
atan -1
|
|
|
|
atan 0.75
|
Add more libm-test coverage of [a-c]* real functions.
Various libm functions have inadequate test coverage in libm-test.inc
/ auto-libm-test-in - failing to cover all the usual special cases
(infinities, NaNs, zero, large and small finite values, subnormals) as
well as a reasonable range of ordinary inputs and, where appropriate,
inputs close to the thresholds for underflow and overflow.
This patch improves test coverage for real functions [a-c]* (with the
expectation of adding more coverage for other functions later).
Tested x86_64 and x86 and ulps updated accordingly (and eight glibc
bugs and one C11 DR filed for issues found in the process).
* math/auto-libm-test-in: Add more tests of acos, acosh, asin,
asinh, atan, atan2, atanh, cbrt, cos and cosh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (acosh_test_data): Add more tests.
(atanh_test_data): Likewise.
(ceil_test_data): Likewise.
(copysign_test_data): Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 22:03:39 +01:00
|
|
|
atan 0x1p-5
|
|
|
|
atan 2.5
|
|
|
|
atan 10
|
|
|
|
atan 1e6
|
Fix atan / atan2 missing underflows (bug 15319).
This patch fixes bug 15319, missing underflows from atan / atan2 when
the result of atan is very close to its small argument (or that of
atan2 is very close to the ratio of its arguments, which may be an
exact division).
The usual approach of doing an underflowing computation if the
computed result is subnormal is followed. For 32-bit x86, there are
extra complications: the inline __ieee754_atan2 in bits/mathinline.h
needs to be disabled for float and double because other libm functions
using it generally rely on getting proper underflow exceptions from
it, while the out-of-line functions have to remove excess range and
precision from the underflowing result so as to return an exact 0 in
the case where errno should be set for underflow to 0. (The failures
I saw without that are similar to those Carlos reported for other
functions, where I haven't seen a response to
<https://sourceware.org/ml/libc-alpha/2015-01/msg00485.html>
confirming if my diagnosis is correct. Arguably all libm functions
with float and double returns should remove excess range and
precision, but that's a separate matter.)
The x86_64 long double case reported in a comment in bug 15319 is not
a bug (it's an argument of LDBL_MIN, and x86_64 is an after-rounding
architecture so the correct IEEE result is not to raise underflow in
the given rounding mode, in addition to treating the result as an
exact LDBL_MIN being within the newly clarified documentation of
accuracy goals). I'm presuming that the fpatan instruction can be
trusted to raise appropriate exceptions when the (long double) result
underflows (after rounding) and so no changes are needed for x86 /
x86_64 long double functions here; empirically this is the case for
the cases covered in the testsuite, on my system.
Tested for x86_64, x86, powerpc and mips64. Only 32-bit x86 needs
ulps updates (for the changes to inlines meaning some functions no
longer get excess precision from their __ieee754_atan2* calls).
[BZ #15319]
* sysdeps/i386/fpu/e_atan2.S (dbl_min): New object.
(MO): New macro.
(__ieee754_atan2): For results with small absolute value, force
underflow exception and remove excess range and precision from
return value.
* sysdeps/i386/fpu/e_atan2f.S (flt_min): New object.
(MO): New macro.
(__ieee754_atan2f): For results with small absolute value, force
underflow exception and remove excess range and precision from
return value.
* sysdeps/i386/fpu/s_atan.S (dbl_min): New object.
(MO): New macro.
(__atan): For results with small absolute value, force underflow
exception and remove excess range and precision from return value.
* sysdeps/i386/fpu/s_atanf.S (flt_min): New object.
(MO): New macro.
(__atanf): For results with small absolute value, force underflow
exception and remove excess range and precision from return value.
* sysdeps/ieee754/dbl-64/e_atan2.c: Include <float.h> and
<math.h>.
(__ieee754_atan2): Force underflow exception for results with
small absolute value.
* sysdeps/ieee754/dbl-64/s_atan.c: Include <float.h> and
<math_private.h>.
(atan): Force underflow exception for results with small absolute
value.
* sysdeps/ieee754/flt-32/s_atanf.c: Include <float.h>.
(__atanf): Force underflow exception for results with small
absolute value.
* sysdeps/ieee754/ldbl-128/s_atanl.c: Include <float.h> and
<math.h>.
(__atanl): Force underflow exception for results with small
absolute value.
* sysdeps/ieee754/ldbl-128ibm/s_atanl.c: Include <float.h>.
(__atanl): Force underflow exception for results with small
absolute value.
* sysdeps/x86/fpu/bits/mathinline.h
[!__SSE2_MATH__ && !__x86_64__ && __LIBC_INTERNAL_MATH_INLINES]
(__ieee754_atan2): Only define inline for long double.
* sysdeps/x86_64/fpu/multiarch/e_atan2.c
[HAVE_FMA4_SUPPORT || HAVE_AVX_SUPPORT]: Include <math.h>.
* math/auto-libm-test-in: Do not mark underflow exceptions as
possibly missing for bug 15319. Add more tests of atan2.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (casin_test_data): Do not mark underflow
exceptions as possibly missing for bug 15319.
(casinh_test_data): Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Update.
2015-02-18 22:10:49 +01:00
|
|
|
atan 0x1p-100
|
|
|
|
atan 0x1p-600
|
|
|
|
atan 0x1p-10000
|
|
|
|
atan min
|
|
|
|
atan -min
|
|
|
|
atan min_subnorm
|
|
|
|
atan -min_subnorm
|
2013-11-30 23:04:13 +01:00
|
|
|
|
2013-12-16 22:18:07 +01:00
|
|
|
# atan2 (0,x) == 0 for x > 0.
|
|
|
|
atan2 0 1
|
|
|
|
# atan2 (-0,x) == -0 for x > 0.
|
|
|
|
atan2 -0 1
|
|
|
|
atan2 0 0
|
|
|
|
atan2 -0 0
|
|
|
|
# atan2 (+0,x) == +pi for x < 0.
|
|
|
|
atan2 0 -1
|
|
|
|
# atan2 (-0,x) == -pi for x < 0.
|
|
|
|
atan2 -0 -1
|
|
|
|
atan2 0 -0
|
|
|
|
atan2 -0 -0
|
|
|
|
# atan2 (y,+0) == pi/2 for y > 0.
|
|
|
|
atan2 1 0
|
|
|
|
# atan2 (y,-0) == pi/2 for y > 0.
|
|
|
|
atan2 1 -0
|
|
|
|
# atan2 (y,+0) == -pi/2 for y < 0.
|
|
|
|
atan2 -1 0
|
|
|
|
# atan2 (y,-0) == -pi/2 for y < 0.
|
|
|
|
atan2 -1 -0
|
|
|
|
atan2 max max
|
Add more libm-test coverage of [a-c]* real functions.
Various libm functions have inadequate test coverage in libm-test.inc
/ auto-libm-test-in - failing to cover all the usual special cases
(infinities, NaNs, zero, large and small finite values, subnormals) as
well as a reasonable range of ordinary inputs and, where appropriate,
inputs close to the thresholds for underflow and overflow.
This patch improves test coverage for real functions [a-c]* (with the
expectation of adding more coverage for other functions later).
Tested x86_64 and x86 and ulps updated accordingly (and eight glibc
bugs and one C11 DR filed for issues found in the process).
* math/auto-libm-test-in: Add more tests of acos, acosh, asin,
asinh, atan, atan2, atanh, cbrt, cos and cosh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (acosh_test_data): Add more tests.
(atanh_test_data): Likewise.
(ceil_test_data): Likewise.
(copysign_test_data): Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 22:03:39 +01:00
|
|
|
atan2 max -max
|
|
|
|
atan2 -max max
|
|
|
|
atan2 -max -max
|
2013-12-16 22:18:07 +01:00
|
|
|
atan2 max min
|
|
|
|
atan2 -max -min
|
Add more libm-test coverage of [a-c]* real functions.
Various libm functions have inadequate test coverage in libm-test.inc
/ auto-libm-test-in - failing to cover all the usual special cases
(infinities, NaNs, zero, large and small finite values, subnormals) as
well as a reasonable range of ordinary inputs and, where appropriate,
inputs close to the thresholds for underflow and overflow.
This patch improves test coverage for real functions [a-c]* (with the
expectation of adding more coverage for other functions later).
Tested x86_64 and x86 and ulps updated accordingly (and eight glibc
bugs and one C11 DR filed for issues found in the process).
* math/auto-libm-test-in: Add more tests of acos, acosh, asin,
asinh, atan, atan2, atanh, cbrt, cos and cosh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (acosh_test_data): Add more tests.
(atanh_test_data): Likewise.
(ceil_test_data): Likewise.
(copysign_test_data): Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 22:03:39 +01:00
|
|
|
atan2 -max min
|
|
|
|
atan2 max -min
|
|
|
|
atan2 max min_subnorm
|
|
|
|
atan2 -max -min_subnorm
|
|
|
|
atan2 -max min_subnorm
|
|
|
|
atan2 max -min_subnorm
|
2013-12-16 22:18:07 +01:00
|
|
|
atan2 0.75 1
|
|
|
|
atan2 -0.75 1.0
|
|
|
|
atan2 0.75 -1.0
|
|
|
|
atan2 -0.75 -1.0
|
|
|
|
atan2 0.390625 .00029
|
|
|
|
atan2 1.390625 0.9296875
|
|
|
|
atan2 -0.00756827042671106339 -.001792735857538728036
|
|
|
|
atan2 0x1.00000000000001p0 0x1.00000000000001p0
|
Add more libm-test coverage of [a-c]* real functions.
Various libm functions have inadequate test coverage in libm-test.inc
/ auto-libm-test-in - failing to cover all the usual special cases
(infinities, NaNs, zero, large and small finite values, subnormals) as
well as a reasonable range of ordinary inputs and, where appropriate,
inputs close to the thresholds for underflow and overflow.
This patch improves test coverage for real functions [a-c]* (with the
expectation of adding more coverage for other functions later).
Tested x86_64 and x86 and ulps updated accordingly (and eight glibc
bugs and one C11 DR filed for issues found in the process).
* math/auto-libm-test-in: Add more tests of acos, acosh, asin,
asinh, atan, atan2, atanh, cbrt, cos and cosh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (acosh_test_data): Add more tests.
(atanh_test_data): Likewise.
(ceil_test_data): Likewise.
(copysign_test_data): Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 22:03:39 +01:00
|
|
|
atan2 min min
|
|
|
|
atan2 min -min
|
|
|
|
atan2 -min min
|
|
|
|
atan2 -min -min
|
|
|
|
atan2 min_subnorm min_subnorm
|
|
|
|
atan2 min_subnorm -min_subnorm
|
|
|
|
atan2 -min_subnorm min_subnorm
|
|
|
|
atan2 -min_subnorm -min_subnorm
|
|
|
|
atan2 1 -max
|
|
|
|
atan2 -1 -max
|
|
|
|
atan2 min -max
|
|
|
|
atan2 -min -max
|
|
|
|
atan2 min_subnorm -max
|
|
|
|
atan2 -min_subnorm -max
|
Fix atan / atan2 missing underflows (bug 15319).
This patch fixes bug 15319, missing underflows from atan / atan2 when
the result of atan is very close to its small argument (or that of
atan2 is very close to the ratio of its arguments, which may be an
exact division).
The usual approach of doing an underflowing computation if the
computed result is subnormal is followed. For 32-bit x86, there are
extra complications: the inline __ieee754_atan2 in bits/mathinline.h
needs to be disabled for float and double because other libm functions
using it generally rely on getting proper underflow exceptions from
it, while the out-of-line functions have to remove excess range and
precision from the underflowing result so as to return an exact 0 in
the case where errno should be set for underflow to 0. (The failures
I saw without that are similar to those Carlos reported for other
functions, where I haven't seen a response to
<https://sourceware.org/ml/libc-alpha/2015-01/msg00485.html>
confirming if my diagnosis is correct. Arguably all libm functions
with float and double returns should remove excess range and
precision, but that's a separate matter.)
The x86_64 long double case reported in a comment in bug 15319 is not
a bug (it's an argument of LDBL_MIN, and x86_64 is an after-rounding
architecture so the correct IEEE result is not to raise underflow in
the given rounding mode, in addition to treating the result as an
exact LDBL_MIN being within the newly clarified documentation of
accuracy goals). I'm presuming that the fpatan instruction can be
trusted to raise appropriate exceptions when the (long double) result
underflows (after rounding) and so no changes are needed for x86 /
x86_64 long double functions here; empirically this is the case for
the cases covered in the testsuite, on my system.
Tested for x86_64, x86, powerpc and mips64. Only 32-bit x86 needs
ulps updates (for the changes to inlines meaning some functions no
longer get excess precision from their __ieee754_atan2* calls).
[BZ #15319]
* sysdeps/i386/fpu/e_atan2.S (dbl_min): New object.
(MO): New macro.
(__ieee754_atan2): For results with small absolute value, force
underflow exception and remove excess range and precision from
return value.
* sysdeps/i386/fpu/e_atan2f.S (flt_min): New object.
(MO): New macro.
(__ieee754_atan2f): For results with small absolute value, force
underflow exception and remove excess range and precision from
return value.
* sysdeps/i386/fpu/s_atan.S (dbl_min): New object.
(MO): New macro.
(__atan): For results with small absolute value, force underflow
exception and remove excess range and precision from return value.
* sysdeps/i386/fpu/s_atanf.S (flt_min): New object.
(MO): New macro.
(__atanf): For results with small absolute value, force underflow
exception and remove excess range and precision from return value.
* sysdeps/ieee754/dbl-64/e_atan2.c: Include <float.h> and
<math.h>.
(__ieee754_atan2): Force underflow exception for results with
small absolute value.
* sysdeps/ieee754/dbl-64/s_atan.c: Include <float.h> and
<math_private.h>.
(atan): Force underflow exception for results with small absolute
value.
* sysdeps/ieee754/flt-32/s_atanf.c: Include <float.h>.
(__atanf): Force underflow exception for results with small
absolute value.
* sysdeps/ieee754/ldbl-128/s_atanl.c: Include <float.h> and
<math.h>.
(__atanl): Force underflow exception for results with small
absolute value.
* sysdeps/ieee754/ldbl-128ibm/s_atanl.c: Include <float.h>.
(__atanl): Force underflow exception for results with small
absolute value.
* sysdeps/x86/fpu/bits/mathinline.h
[!__SSE2_MATH__ && !__x86_64__ && __LIBC_INTERNAL_MATH_INLINES]
(__ieee754_atan2): Only define inline for long double.
* sysdeps/x86_64/fpu/multiarch/e_atan2.c
[HAVE_FMA4_SUPPORT || HAVE_AVX_SUPPORT]: Include <math.h>.
* math/auto-libm-test-in: Do not mark underflow exceptions as
possibly missing for bug 15319. Add more tests of atan2.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (casin_test_data): Do not mark underflow
exceptions as possibly missing for bug 15319.
(casinh_test_data): Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Update.
2015-02-18 22:10:49 +01:00
|
|
|
atan2 1 max
|
|
|
|
atan2 -1 max
|
|
|
|
atan2 min max
|
|
|
|
atan2 -min max
|
|
|
|
atan2 min_subnorm max
|
|
|
|
atan2 -min_subnorm max
|
|
|
|
atan2 min 1
|
|
|
|
atan2 -min 1
|
|
|
|
atan2 min_subnorm 1
|
|
|
|
atan2 -min_subnorm 1
|
|
|
|
atan2 min -1
|
|
|
|
atan2 -min -1
|
|
|
|
atan2 min_subnorm -1
|
|
|
|
atan2 -min_subnorm -1
|
2013-12-16 22:18:07 +01:00
|
|
|
|
2013-11-30 23:04:13 +01:00
|
|
|
atanh 0
|
|
|
|
atanh -0
|
|
|
|
atanh 0.75
|
Add more libm-test coverage of [a-c]* real functions.
Various libm functions have inadequate test coverage in libm-test.inc
/ auto-libm-test-in - failing to cover all the usual special cases
(infinities, NaNs, zero, large and small finite values, subnormals) as
well as a reasonable range of ordinary inputs and, where appropriate,
inputs close to the thresholds for underflow and overflow.
This patch improves test coverage for real functions [a-c]* (with the
expectation of adding more coverage for other functions later).
Tested x86_64 and x86 and ulps updated accordingly (and eight glibc
bugs and one C11 DR filed for issues found in the process).
* math/auto-libm-test-in: Add more tests of acos, acosh, asin,
asinh, atan, atan2, atanh, cbrt, cos and cosh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (acosh_test_data): Add more tests.
(atanh_test_data): Likewise.
(ceil_test_data): Likewise.
(copysign_test_data): Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 22:03:39 +01:00
|
|
|
atanh -0.75
|
|
|
|
atanh 0.25
|
|
|
|
atanh 0x1p-5
|
|
|
|
atanh 0x1p-10
|
|
|
|
atanh 0x1.2345p-20
|
2015-02-27 18:48:37 +01:00
|
|
|
atanh 0x1p-8
|
|
|
|
atanh 0x1p-9
|
|
|
|
atanh 0x1p-10
|
|
|
|
atanh 0x1p-11
|
|
|
|
atanh 0x1p-12
|
|
|
|
atanh 0x1p-13
|
|
|
|
atanh 0x1p-24
|
|
|
|
atanh 0x1p-25
|
|
|
|
atanh 0x1p-26
|
|
|
|
atanh 0x1p-27
|
|
|
|
atanh 0x1p-28
|
|
|
|
atanh 0x1p-29
|
|
|
|
atanh 0x1p-30
|
|
|
|
atanh 0x1p-31
|
|
|
|
atanh 0x1p-32
|
|
|
|
atanh 0x1p-33
|
|
|
|
atanh 0x1p-48
|
|
|
|
atanh 0x1p-49
|
|
|
|
atanh 0x1p-50
|
|
|
|
atanh 0x1p-51
|
|
|
|
atanh 0x1p-52
|
|
|
|
atanh 0x1p-53
|
|
|
|
atanh 0x1p-54
|
|
|
|
atanh 0x1p-55
|
|
|
|
atanh 0x1p-56
|
|
|
|
atanh 0x1p-57
|
|
|
|
atanh 0x1p-58
|
|
|
|
atanh 0x1p-59
|
|
|
|
atanh 0x1p-100
|
2015-03-25 23:21:20 +01:00
|
|
|
atanh -0x6.e6c77p-20
|
|
|
|
atanh 0x3.2ca824p-4
|
|
|
|
atanh -0x1.cc1d66p-4
|
|
|
|
atanh -0xf.cd3809ca8fd28p-4 no-test-inline
|
|
|
|
atanh -0x1.04f386p-4
|
|
|
|
atanh -0x2.084568p-4
|
|
|
|
atanh -0x3.e0a5d8p-4
|
|
|
|
atanh 0x3.dfb1f5db0ceccp-4
|
|
|
|
atanh 0x2.251b2a64c85dep-4
|
Add more libm-test coverage of [a-c]* real functions.
Various libm functions have inadequate test coverage in libm-test.inc
/ auto-libm-test-in - failing to cover all the usual special cases
(infinities, NaNs, zero, large and small finite values, subnormals) as
well as a reasonable range of ordinary inputs and, where appropriate,
inputs close to the thresholds for underflow and overflow.
This patch improves test coverage for real functions [a-c]* (with the
expectation of adding more coverage for other functions later).
Tested x86_64 and x86 and ulps updated accordingly (and eight glibc
bugs and one C11 DR filed for issues found in the process).
* math/auto-libm-test-in: Add more tests of acos, acosh, asin,
asinh, atan, atan2, atanh, cbrt, cos and cosh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (acosh_test_data): Add more tests.
(atanh_test_data): Likewise.
(ceil_test_data): Likewise.
(copysign_test_data): Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 22:03:39 +01:00
|
|
|
# Bug 16352: underflow exception may be missing.
|
2015-02-27 18:48:37 +01:00
|
|
|
atanh 0x1p-500 missing-underflow
|
|
|
|
atanh 0x1p-5000 missing-underflow
|
Relax gen-auto-libm-tests may-underflow rules, test log1p in all rounding modes.
gen-auto-libm-tests presently allows but does not require underflow
exceptions for results with magnitude in the range (greatest
subnormal, least normal].
In some cases, the magnitude of the exact result is very slightly
above the least normal, but rounding in the implementation results in
it effectively computing an infinite-precision result that is slightly
below the least normal, so raising an underflow exception. This is in
accordance with the documented accuracy goals, but results in
testsuite failures.
This patch changes the logic to allow underflows when the mathematical
result is up to 0.5ulp above the least normal (so in any case where
the round-to-nearest result is the least normal). Ideally underflows
in all these cases would be accepted only when an underflow with the
actual result is consistent with the rounding mode (in FE_TOWARDZERO
mode, a return value of the least normal implies that the
infinite-precision result did not underflow so there should be no
underflow exception, for example), so as to match the documented goals
more precisely - whereas at present the tests for exceptions are
completely independent of the tests of the returned values. (The same
applies to overflow exceptions as well - they too should be checked
for consistency with the result, as in FE_TOWARDZERO mode a result
1ulp below the largest finite value should be inconsistent with an
overflow exception and cause a failure with overflow rather than
simply being considered a 1ulp error when overflow is expected.) But
the present patch at least deals with the cases causing spurious
failures so that (a) certain existing tests no longer need to be
marked as having spurious exceptions (such markings in
auto-libm-test-in end up applying to more cases than just those they
are needed for) and (b) log1p can be tested in all rounding modes
without introducing more such failures. This patch duly moves tests
of log1p to ALL_RM_TEST.
Tested x86_64 and x86 and ulps updated accordingly.
[BZ #16357]
[BZ #16599]
* math/gen-auto-libm-tests.c (fp_format_desc): Add field
min_plus_half.
(fp_formats): Update initializers.
(init_fp_formats): Initialize new field.
(output_for_one_input_case): Allow underflow for results up to
min_plus_half.
* math/libm-test.inc (log1p_test): Use ALL_RM_TEST.
* math/auto-libm-test-in: Don't mark some underflows from asin and
atanh as spurious.
* math/auto-libm-test-out: Regenerated.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2014-03-25 13:26:06 +01:00
|
|
|
atanh min missing-underflow
|
|
|
|
atanh -min missing-underflow
|
Add more libm-test coverage of [a-c]* real functions.
Various libm functions have inadequate test coverage in libm-test.inc
/ auto-libm-test-in - failing to cover all the usual special cases
(infinities, NaNs, zero, large and small finite values, subnormals) as
well as a reasonable range of ordinary inputs and, where appropriate,
inputs close to the thresholds for underflow and overflow.
This patch improves test coverage for real functions [a-c]* (with the
expectation of adding more coverage for other functions later).
Tested x86_64 and x86 and ulps updated accordingly (and eight glibc
bugs and one C11 DR filed for issues found in the process).
* math/auto-libm-test-in: Add more tests of acos, acosh, asin,
asinh, atan, atan2, atanh, cbrt, cos and cosh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (acosh_test_data): Add more tests.
(atanh_test_data): Likewise.
(ceil_test_data): Likewise.
(copysign_test_data): Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 22:03:39 +01:00
|
|
|
atanh min_subnorm missing-underflow
|
|
|
|
atanh -min_subnorm missing-underflow
|
2013-11-30 23:04:13 +01:00
|
|
|
|
2013-12-19 22:28:30 +01:00
|
|
|
# cabs (x,y) == cabs (y,x).
|
|
|
|
cabs 0.75 12.390625
|
|
|
|
# cabs (x,y) == cabs (-x,y).
|
|
|
|
cabs -12.390625 0.75
|
|
|
|
# cabs (x,y) == cabs (-y,x).
|
|
|
|
cabs -0.75 12.390625
|
|
|
|
# cabs (x,y) == cabs (-x,-y).
|
|
|
|
cabs -12.390625 -0.75
|
|
|
|
# cabs (x,y) == cabs (-y,-x).
|
|
|
|
cabs -0.75 -12.390625
|
|
|
|
# cabs (x,0) == fabs (x).
|
|
|
|
cabs -0.75 0
|
|
|
|
cabs 0.75 0
|
|
|
|
cabs -1.0 0
|
|
|
|
cabs 1.0 0
|
|
|
|
cabs -5.7e7 0
|
|
|
|
cabs 5.7e7 0
|
|
|
|
cabs 0.75 1.25
|
|
|
|
|
|
|
|
# carg (x + i 0) == 0 for x > 0.
|
|
|
|
carg 2.0 0
|
|
|
|
# carg (x - i 0) == -0 for x > 0.
|
|
|
|
carg 2.0 -0
|
|
|
|
carg 0 0
|
|
|
|
carg 0 -0
|
|
|
|
# carg (x + i 0) == +pi for x < 0.
|
|
|
|
carg -2.0 0
|
|
|
|
# carg (x - i 0) == -pi for x < 0.
|
|
|
|
carg -2.0 -0
|
|
|
|
carg -0 0
|
|
|
|
carg -0 -0
|
|
|
|
# carg (+0 + i y) == pi/2 for y > 0.
|
|
|
|
carg 0 2.0
|
|
|
|
# carg (-0 + i y) == pi/2 for y > 0.
|
|
|
|
carg -0 2.0
|
|
|
|
# carg (+0 + i y) == -pi/2 for y < 0.
|
|
|
|
carg 0 -2.0
|
|
|
|
# carg (-0 + i y) == -pi/2 for y < 0.
|
|
|
|
carg -0 -2.0
|
|
|
|
|
2013-11-30 23:04:13 +01:00
|
|
|
cbrt 0.0
|
|
|
|
cbrt -0
|
|
|
|
cbrt -0.001
|
|
|
|
cbrt 8
|
|
|
|
cbrt -27.0
|
|
|
|
cbrt 0.9921875
|
|
|
|
cbrt 0.75
|
|
|
|
cbrt 0x1p16383
|
|
|
|
cbrt 0x1p-16383
|
Add more libm-test coverage of [a-c]* real functions.
Various libm functions have inadequate test coverage in libm-test.inc
/ auto-libm-test-in - failing to cover all the usual special cases
(infinities, NaNs, zero, large and small finite values, subnormals) as
well as a reasonable range of ordinary inputs and, where appropriate,
inputs close to the thresholds for underflow and overflow.
This patch improves test coverage for real functions [a-c]* (with the
expectation of adding more coverage for other functions later).
Tested x86_64 and x86 and ulps updated accordingly (and eight glibc
bugs and one C11 DR filed for issues found in the process).
* math/auto-libm-test-in: Add more tests of acos, acosh, asin,
asinh, atan, atan2, atanh, cbrt, cos and cosh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (acosh_test_data): Add more tests.
(atanh_test_data): Likewise.
(ceil_test_data): Likewise.
(copysign_test_data): Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 22:03:39 +01:00
|
|
|
cbrt 1e5
|
|
|
|
cbrt max
|
|
|
|
cbrt -max
|
|
|
|
cbrt min
|
|
|
|
cbrt -min
|
|
|
|
cbrt min_subnorm
|
|
|
|
cbrt -min_subnorm
|
2013-11-30 23:04:13 +01:00
|
|
|
|
Move various TEST_c_c tests from libm-test.inc to auto-libm-test-inc.
This patch moves tests of ccos, ccosh, cexp, clog, csqrt, ctan and
ctanh to auto-libm-test-in, adding the required support to
gen-auto-libm-tests. Other TEST_c_c functions aren't moved for now
(although the relevant table entries are put in gen-auto-libm-tests
for it to know how to handle them): clog10 because of a known MPC bug
causing it to hang for at least some pure imaginary inputs (fixed in
SVN, but I'd rather not rely on unreleased versions of MPFR or MPC
even if relying on very recent releases); the inverse trig and
hyperbolic functions because of known slowness in special cases; and
csin / csinh because of observed slowness that I need to investigate
and report to the MPC maintainers. Slowness can be bypassed by moving
to incremental generation (only for new / changed tests) rather than
regenerating the whole of auto-libm-test-out every time, but that
needs implementing. (This patch takes the time for running
gen-auto-libm-tests from about one second to seven, on my system,
which I think is reasonable. The slow functions would make it take
several minutes at least, which seems unreasonable.)
Tested x86_64 and x86 and ulps updated accordingly.
* math/auto-libm-test-in: Add tests of ccos, ccosh, cexp, clog,
csqrt, ctan and ctanh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (TEST_COND_x86_64): New macro.
(TEST_COND_x86): Likewise.
(ccos_test_data): Use AUTO_TESTS_c_c.
(ccosh_test_data): Likewise.
(cexp_test_data): Likewise.
(clog_test_data): Likewise.
(csqrt_test_data): Likewise.
(ctan_test_data): Likewise.
(ctan_tonearest_test_data): Likewise.
(ctan_towardzero_test_data): Likewise.
(ctan_downward_test_data): Likewise.
(ctan_upward_test_data): Likewise.
(ctanh_test_data): Likewise.
(ctanh_tonearest_test_data): Likewise.
(ctanh_towardzero_test_data): Likewise.
(ctanh_downward_test_data): Likewise.
(ctanh_upward_test_data): Likewise.
* math/gen-auto-libm-tests.c (func_calc_method): Add value
mpc_c_c.
(func_calc_desc): Add mpc_c_c union field.
(FUNC_mpc_c_c): New macro.
(test_functions): Add cacos, cacosh, casin, casinh, catan, catanh,
ccos, ccosh, cexp, clog, clog10, csin, csinh, csqrt, ctan and
ctanh.
(special_fill_min_subnorm_p120): New function.
(special_real_inputs): Add min_subnorm_p120.
(calc_generic_results): Handle mpc_c_c.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 13:32:44 +01:00
|
|
|
ccos 0.0 0.0
|
|
|
|
ccos -0 0.0
|
|
|
|
ccos 0.0 -0
|
|
|
|
ccos -0 -0
|
|
|
|
|
|
|
|
ccos 0.75 1.25
|
|
|
|
ccos -2 -3
|
|
|
|
|
|
|
|
ccos 0.75 89.5
|
|
|
|
ccos 0.75 -89.5
|
|
|
|
ccos -0.75 89.5
|
|
|
|
ccos -0.75 -89.5
|
|
|
|
ccos 0.75 710.5
|
|
|
|
ccos 0.75 -710.5
|
|
|
|
ccos -0.75 710.5
|
|
|
|
ccos -0.75 -710.5
|
|
|
|
ccos 0.75 11357.25
|
|
|
|
ccos 0.75 -11357.25
|
|
|
|
ccos -0.75 11357.25
|
|
|
|
ccos -0.75 -11357.25
|
|
|
|
|
|
|
|
ccos 0x1p-149 180
|
|
|
|
ccos 0x1p-1074 1440
|
|
|
|
ccos 0x1p-16434 22730
|
|
|
|
|
|
|
|
ccos min_subnorm_p120 0x1p-120
|
|
|
|
ccos 0x1p-120 min_subnorm_p120
|
|
|
|
|
|
|
|
ccosh 0.0 0.0
|
|
|
|
ccosh -0 0.0
|
|
|
|
ccosh 0.0 -0
|
|
|
|
ccosh -0 -0
|
|
|
|
|
|
|
|
ccosh 0.75 1.25
|
|
|
|
ccosh -2 -3
|
|
|
|
|
|
|
|
ccosh 89.5 0.75
|
|
|
|
ccosh -89.5 0.75
|
|
|
|
ccosh 89.5 -0.75
|
|
|
|
ccosh -89.5 -0.75
|
|
|
|
ccosh 710.5 0.75
|
|
|
|
ccosh -710.5 0.75
|
|
|
|
ccosh 710.5 -0.75
|
|
|
|
ccosh -710.5 -0.75
|
|
|
|
ccosh 11357.25 0.75
|
|
|
|
ccosh -11357.25 0.75
|
|
|
|
ccosh 11357.25 -0.75
|
|
|
|
ccosh -11357.25 -0.75
|
|
|
|
|
|
|
|
ccosh 180 0x1p-149
|
|
|
|
ccosh 1440 0x1p-1074
|
|
|
|
ccosh 22730 0x1p-16434
|
|
|
|
|
|
|
|
ccosh min_subnorm_p120 0x1p-120
|
|
|
|
ccosh 0x1p-120 min_subnorm_p120
|
|
|
|
|
|
|
|
cexp 0 0
|
|
|
|
cexp -0 0
|
|
|
|
cexp 0 -0
|
|
|
|
cexp -0 -0
|
|
|
|
|
|
|
|
cexp 0.75 1.25
|
|
|
|
cexp -2.0 -3.0
|
|
|
|
|
|
|
|
cexp 0 0x1p65
|
|
|
|
cexp 0 -0x1p65
|
|
|
|
cexp 50 0x1p127
|
|
|
|
|
|
|
|
cexp 0 1e22
|
|
|
|
cexp 0 0x1p1023
|
|
|
|
cexp 500 0x1p1023
|
|
|
|
|
|
|
|
cexp 0 0x1p16383
|
|
|
|
cexp -10000 0x1p16383
|
|
|
|
|
|
|
|
cexp 88.75 0.75
|
|
|
|
cexp -95 0.75
|
|
|
|
cexp 709.8125 0.75
|
|
|
|
cexp -720 0.75
|
|
|
|
cexp 11356.5625 0.75
|
|
|
|
cexp -11370 0.75
|
|
|
|
|
|
|
|
cexp 180 0x1p-149
|
|
|
|
cexp 1440 0x1p-1074
|
|
|
|
cexp 22730 0x1p-16434
|
|
|
|
|
|
|
|
cexp 1e6 0
|
|
|
|
cexp 1e6 min
|
|
|
|
cexp 1e6 -min
|
|
|
|
|
|
|
|
# Bug 16348: spurious underflow may occur.
|
|
|
|
cexp min min_subnorm spurious-underflow:ldbl-96-intel:x86 spurious-underflow:ldbl-96-intel:x86_64
|
|
|
|
cexp min -min_subnorm spurious-underflow:ldbl-96-intel:x86 spurious-underflow:ldbl-96-intel:x86_64
|
|
|
|
|
|
|
|
clog 0.75 1.25
|
|
|
|
clog -2 -3
|
|
|
|
|
|
|
|
clog 0x1.fffffep+127 0x1.fffffep+127
|
|
|
|
clog 0x1.fffffep+127 1.0
|
|
|
|
clog 0x1p-149 0x1p-149
|
|
|
|
clog 0x1p-147 0x1p-147
|
|
|
|
clog 0x1.fffffffffffffp+1023 0x1.fffffffffffffp+1023
|
|
|
|
clog 0x1.fffffffffffffp+1023 0x1p+1023
|
|
|
|
clog 0x1p-1074 0x1p-1074
|
|
|
|
clog 0x1p-1073 0x1p-1073
|
|
|
|
clog 0x1.fp+16383 0x1.fp+16383
|
|
|
|
clog 0x1.fp+16383 0x1p+16383
|
|
|
|
clog 0x1p-16440 0x1p-16441
|
|
|
|
|
|
|
|
clog 0x1p-149 0x1.fp+127
|
|
|
|
clog -0x1p-149 0x1.fp+127
|
|
|
|
clog 0x1p-149 -0x1.fp+127
|
|
|
|
clog -0x1p-149 -0x1.fp+127
|
|
|
|
clog -0x1.fp+127 0x1p-149
|
|
|
|
clog -0x1.fp+127 -0x1p-149
|
|
|
|
clog 0x1.fp+127 0x1p-149
|
|
|
|
clog 0x1.fp+127 -0x1p-149
|
|
|
|
clog 0x1p-1074 0x1.fp+1023
|
|
|
|
clog -0x1p-1074 0x1.fp+1023
|
|
|
|
clog 0x1p-1074 -0x1.fp+1023
|
|
|
|
clog -0x1p-1074 -0x1.fp+1023
|
|
|
|
clog -0x1.fp+1023 0x1p-1074
|
|
|
|
clog -0x1.fp+1023 -0x1p-1074
|
|
|
|
clog 0x1.fp+1023 0x1p-1074
|
|
|
|
clog 0x1.fp+1023 -0x1p-1074
|
|
|
|
clog 0x1p-16445 0x1.fp+16383
|
|
|
|
clog -0x1p-16445 0x1.fp+16383
|
|
|
|
clog 0x1p-16445 -0x1.fp+16383
|
|
|
|
clog -0x1p-16445 -0x1.fp+16383
|
|
|
|
clog -0x1.fp+16383 0x1p-16445
|
|
|
|
clog -0x1.fp+16383 -0x1p-16445
|
|
|
|
clog 0x1.fp+16383 0x1p-16445
|
|
|
|
clog 0x1.fp+16383 -0x1p-16445
|
|
|
|
clog 0x1p-16494 0x1.fp+16383
|
|
|
|
clog -0x1p-16494 0x1.fp+16383
|
|
|
|
clog 0x1p-16494 -0x1.fp+16383
|
|
|
|
clog -0x1p-16494 -0x1.fp+16383
|
|
|
|
clog -0x1.fp+16383 0x1p-16494
|
|
|
|
clog -0x1.fp+16383 -0x1p-16494
|
|
|
|
clog 0x1.fp+16383 0x1p-16494
|
|
|
|
clog 0x1.fp+16383 -0x1p-16494
|
|
|
|
|
|
|
|
clog 1.0 0x1.234566p-10
|
|
|
|
clog -1.0 0x1.234566p-20
|
|
|
|
clog 0x1.234566p-30 1.0
|
|
|
|
clog -0x1.234566p-40 -1.0
|
|
|
|
clog 0x1.234566p-50 1.0
|
|
|
|
clog 0x1.234566p-60 1.0
|
|
|
|
clog 0x1p-62 1.0
|
|
|
|
clog 0x1p-63 1.0
|
|
|
|
clog 0x1p-64 1.0
|
|
|
|
clog 0x1p-510 1.0
|
|
|
|
clog 0x1p-511 1.0
|
|
|
|
clog 0x1p-512 1.0
|
|
|
|
clog 0x1p-8190 1.0
|
|
|
|
clog 0x1p-8191 1.0
|
|
|
|
clog 0x1p-8192 1.0
|
|
|
|
|
|
|
|
clog 0x1.000566p0 0x1.234p-10
|
|
|
|
clog 0x1.000566p0 0x1.234p-100
|
|
|
|
clog -0x1.0000000123456p0 0x1.2345678p-30
|
|
|
|
clog -0x1.0000000123456p0 0x1.2345678p-1000
|
|
|
|
clog 0x1.00000000000000123456789abcp0 0x1.23456789p-60
|
|
|
|
clog 0x1.00000000000000123456789abcp0 0x1.23456789p-1000
|
|
|
|
|
|
|
|
clog 0x0.ffffffp0 0x0.ffffffp-100
|
|
|
|
clog 0x0.fffffffffffff8p0 0x0.fffffffffffff8p-1000
|
|
|
|
clog 0x0.ffffffffffffffffp0 0x0.ffffffffffffffffp-15000
|
|
|
|
|
|
|
|
clog 0x1a6p-10 0x3a5p-10
|
|
|
|
clog 0xf2p-10 0x3e3p-10
|
|
|
|
clog 0x4d4ep-15 0x6605p-15
|
|
|
|
clog 0x2818p-15 0x798fp-15
|
|
|
|
clog 0x9b57bp-20 0xcb7b4p-20
|
|
|
|
clog 0x2731p-20 0xfffd0p-20
|
|
|
|
clog 0x2ede88p-23 0x771c3fp-23
|
|
|
|
clog 0x11682p-23 0x7ffed1p-23
|
|
|
|
clog 0xa1f2c1p-24 0xc643aep-24
|
|
|
|
clog 0x659feap-24 0xeaf6f9p-24
|
|
|
|
clog 0x4447d7175p-35 0x6c445e00ap-35
|
|
|
|
clog 0x2dd46725bp-35 0x7783a1284p-35
|
|
|
|
clog 0x164c74eea876p-45 0x16f393482f77p-45
|
|
|
|
clog 0xfe961079616p-45 0x1bc37e09e6d1p-45
|
|
|
|
clog 0xa4722f19346cp-51 0x7f9631c5e7f07p-51
|
|
|
|
clog 0x10673dd0f2481p-51 0x7ef1d17cefbd2p-51
|
|
|
|
clog 0x8ecbf810c4ae6p-52 0xd479468b09a37p-52
|
|
|
|
clog 0x5b06b680ea2ccp-52 0xef452b965da9fp-52
|
|
|
|
clog 0x659b70ab7971bp-53 0x1f5d111e08abecp-53
|
|
|
|
clog 0x15cfbd1990d1ffp-53 0x176a3973e09a9ap-53
|
|
|
|
clog 0x1367a310575591p-54 0x3cfcc0a0541f60p-54
|
|
|
|
clog 0x55cb6d0c83af5p-55 0x7fe33c0c7c4e90p-55
|
|
|
|
clog 0x298c62cb546588a7p-63 0x7911b1dfcc4ecdaep-63
|
|
|
|
clog 0x4d9c37e2b5cb4533p-63 0x65c98be2385a042ep-63
|
|
|
|
clog 0x602fd5037c4792efp-64 0xed3e2086dcca80b8p-64
|
|
|
|
clog 0x6b10b4f3520217b6p-64 0xe8893cbb449253a1p-64
|
|
|
|
clog 0x81b7efa81fc35ad1p-65 0x1ef4b835f1c79d812p-65
|
|
|
|
clog 0x3f96469050f650869c2p-75 0x6f16b2c9c8b05988335p-75
|
|
|
|
clog 0x3157fc1d73233e580c8p-75 0x761b52ccd435d7c7f5fp-75
|
|
|
|
clog 0x155f8afc4c48685bf63610p-85 0x17d0cf2652cdbeb1294e19p-85
|
|
|
|
clog 0x13836d58a13448d750b4b9p-85 0x195ca7bc3ab4f9161edbe6p-85
|
|
|
|
clog 0x1df515eb171a808b9e400266p-95 0x7c71eb0cd4688dfe98581c77p-95
|
|
|
|
clog 0xe33f66c9542ca25cc43c867p-95 0x7f35a68ebd3704a43c465864p-95
|
|
|
|
clog 0x6771f22c64ed551b857c128b4cp-105 0x1f570e7a13cc3cf2f44fd793ea1p-105
|
|
|
|
clog 0x15d8ab6ed05ca514086ac3a1e84p-105 0x1761e480aa094c0b10b34b09ce9p-105
|
|
|
|
clog 0x187190c1a334497bdbde5a95f48p-106 0x3b25f08062d0a095c4cfbbc338dp-106
|
|
|
|
clog 0x6241ef0da53f539f02fad67dabp-106 0x3fb46641182f7efd9caa769dac0p-106
|
|
|
|
clog 0x3e1d0a105ac4ebeacd9c6952d34cp-112 0xf859b3d1b06d005dcbb5516d5479p-112
|
|
|
|
clog 0x47017a2e36807acb1e5214b209dep-112 0xf5f4a550c9d75e3bb1839d865f0dp-112
|
|
|
|
clog 0x148f818cb7a9258fca942ade2a0cap-113 0x18854a34780b8333ec53310ad7001p-113
|
|
|
|
clog 0xfd95243681c055c2632286921092p-113 0x1bccabcd29ca2152860ec29e34ef7p-113
|
|
|
|
clog 0xdb85c467ee2aadd5f425fe0f4b8dp-114 0x3e83162a0f95f1dcbf97dddf410eap-114
|
|
|
|
clog 0x1415bcaf2105940d49a636e98ae59p-115 0x7e6a150adfcd1b0921d44b31f40f4p-115
|
|
|
|
|
2014-02-19 15:26:29 +01:00
|
|
|
clog10 0.75 1.25
|
|
|
|
clog10 -2 -3
|
|
|
|
|
|
|
|
clog10 0x1.fffffep+127 0x1.fffffep+127
|
|
|
|
clog10 0x1.fffffep+127 1.0
|
|
|
|
clog10 0x1p-149 0x1p-149
|
|
|
|
clog10 0x1p-147 0x1p-147
|
|
|
|
clog10 0x1.fffffffffffffp+1023 0x1.fffffffffffffp+1023
|
|
|
|
clog10 0x1.fffffffffffffp+1023 0x1p+1023
|
|
|
|
clog10 0x1p-1074 0x1p-1074
|
|
|
|
clog10 0x1p-1073 0x1p-1073
|
|
|
|
clog10 0x1.fp+16383 0x1.fp+16383
|
|
|
|
clog10 0x1.fp+16383 0x1p+16383
|
|
|
|
clog10 0x1p-16440 0x1p-16441
|
|
|
|
|
|
|
|
clog10 0x1p-149 0x1.fp+127
|
|
|
|
clog10 -0x1p-149 0x1.fp+127
|
|
|
|
clog10 0x1p-149 -0x1.fp+127
|
|
|
|
clog10 -0x1p-149 -0x1.fp+127
|
|
|
|
clog10 -0x1.fp+127 0x1p-149
|
|
|
|
clog10 -0x1.fp+127 -0x1p-149
|
|
|
|
clog10 0x1.fp+127 0x1p-149
|
|
|
|
clog10 0x1.fp+127 -0x1p-149
|
|
|
|
clog10 0x1p-1074 0x1.fp+1023
|
|
|
|
clog10 -0x1p-1074 0x1.fp+1023
|
|
|
|
clog10 0x1p-1074 -0x1.fp+1023
|
|
|
|
clog10 -0x1p-1074 -0x1.fp+1023
|
|
|
|
clog10 -0x1.fp+1023 0x1p-1074
|
|
|
|
clog10 -0x1.fp+1023 -0x1p-1074
|
|
|
|
clog10 0x1.fp+1023 0x1p-1074
|
|
|
|
clog10 0x1.fp+1023 -0x1p-1074
|
|
|
|
clog10 0x1p-16445 0x1.fp+16383
|
|
|
|
clog10 -0x1p-16445 0x1.fp+16383
|
|
|
|
clog10 0x1p-16445 -0x1.fp+16383
|
|
|
|
clog10 -0x1p-16445 -0x1.fp+16383
|
|
|
|
clog10 -0x1.fp+16383 0x1p-16445
|
|
|
|
clog10 -0x1.fp+16383 -0x1p-16445
|
|
|
|
clog10 0x1.fp+16383 0x1p-16445
|
|
|
|
clog10 0x1.fp+16383 -0x1p-16445
|
|
|
|
clog10 0x1p-16494 0x1.fp+16383
|
|
|
|
clog10 -0x1p-16494 0x1.fp+16383
|
|
|
|
clog10 0x1p-16494 -0x1.fp+16383
|
|
|
|
clog10 -0x1p-16494 -0x1.fp+16383
|
|
|
|
clog10 -0x1.fp+16383 0x1p-16494
|
|
|
|
clog10 -0x1.fp+16383 -0x1p-16494
|
|
|
|
clog10 0x1.fp+16383 0x1p-16494
|
|
|
|
clog10 0x1.fp+16383 -0x1p-16494
|
|
|
|
|
|
|
|
clog10 1.0 0x1.234566p-10
|
|
|
|
clog10 -1.0 0x1.234566p-20
|
|
|
|
clog10 0x1.234566p-30 1.0
|
|
|
|
clog10 -0x1.234566p-40 -1.0
|
|
|
|
clog10 0x1.234566p-50 1.0
|
|
|
|
clog10 0x1.234566p-60 1.0
|
|
|
|
clog10 0x1p-61 1.0
|
|
|
|
clog10 0x1p-62 1.0
|
|
|
|
clog10 0x1p-63 1.0
|
|
|
|
clog10 0x1p-509 1.0
|
|
|
|
clog10 0x1p-510 1.0
|
|
|
|
clog10 0x1p-511 1.0
|
|
|
|
clog10 0x1p-8189 1.0
|
|
|
|
clog10 0x1p-8190 1.0
|
|
|
|
clog10 0x1p-8191 1.0
|
|
|
|
|
|
|
|
clog10 0x1.000566p0 0x1.234p-10
|
|
|
|
clog10 0x1.000566p0 0x1.234p-100
|
|
|
|
clog10 -0x1.0000000123456p0 0x1.2345678p-30
|
|
|
|
clog10 -0x1.0000000123456p0 0x1.2345678p-1000
|
|
|
|
clog10 0x1.00000000000000123456789abcp0 0x1.23456789p-60
|
|
|
|
clog10 0x1.00000000000000123456789abcp0 0x1.23456789p-1000
|
|
|
|
|
|
|
|
clog10 0x0.ffffffp0 0x0.ffffffp-100
|
|
|
|
clog10 0x0.fffffffffffff8p0 0x0.fffffffffffff8p-1000
|
|
|
|
clog10 0x0.ffffffffffffffffp0 0x0.ffffffffffffffffp-15000
|
|
|
|
|
|
|
|
clog10 0x1a6p-10 0x3a5p-10
|
|
|
|
clog10 0xf2p-10 0x3e3p-10
|
|
|
|
clog10 0x4d4ep-15 0x6605p-15
|
|
|
|
clog10 0x2818p-15 0x798fp-15
|
|
|
|
clog10 0x9b57bp-20 0xcb7b4p-20
|
|
|
|
clog10 0x2731p-20 0xfffd0p-20
|
|
|
|
clog10 0x2ede88p-23 0x771c3fp-23
|
|
|
|
clog10 0x11682p-23 0x7ffed1p-23
|
|
|
|
clog10 0xa1f2c1p-24 0xc643aep-24
|
|
|
|
clog10 0x659feap-24 0xeaf6f9p-24
|
|
|
|
clog10 0x4447d7175p-35 0x6c445e00ap-35
|
|
|
|
clog10 0x2dd46725bp-35 0x7783a1284p-35
|
|
|
|
clog10 0x164c74eea876p-45 0x16f393482f77p-45
|
|
|
|
clog10 0xfe961079616p-45 0x1bc37e09e6d1p-45
|
|
|
|
clog10 0xa4722f19346cp-51 0x7f9631c5e7f07p-51
|
|
|
|
clog10 0x10673dd0f2481p-51 0x7ef1d17cefbd2p-51
|
|
|
|
clog10 0x8ecbf810c4ae6p-52 0xd479468b09a37p-52
|
|
|
|
clog10 0x5b06b680ea2ccp-52 0xef452b965da9fp-52
|
|
|
|
clog10 0x659b70ab7971bp-53 0x1f5d111e08abecp-53
|
|
|
|
clog10 0x15cfbd1990d1ffp-53 0x176a3973e09a9ap-53
|
|
|
|
clog10 0x1367a310575591p-54 0x3cfcc0a0541f60p-54
|
|
|
|
clog10 0x55cb6d0c83af5p-55 0x7fe33c0c7c4e90p-55
|
|
|
|
clog10 0x298c62cb546588a7p-63 0x7911b1dfcc4ecdaep-63
|
|
|
|
clog10 0x4d9c37e2b5cb4533p-63 0x65c98be2385a042ep-63
|
|
|
|
clog10 0x602fd5037c4792efp-64 0xed3e2086dcca80b8p-64
|
|
|
|
clog10 0x6b10b4f3520217b6p-64 0xe8893cbb449253a1p-64
|
|
|
|
clog10 0x81b7efa81fc35ad1p-65 0x1ef4b835f1c79d812p-65
|
|
|
|
clog10 0x3f96469050f650869c2p-75 0x6f16b2c9c8b05988335p-75
|
|
|
|
clog10 0x3157fc1d73233e580c8p-75 0x761b52ccd435d7c7f5fp-75
|
|
|
|
clog10 0x155f8afc4c48685bf63610p-85 0x17d0cf2652cdbeb1294e19p-85
|
|
|
|
clog10 0x13836d58a13448d750b4b9p-85 0x195ca7bc3ab4f9161edbe6p-85
|
|
|
|
clog10 0x1df515eb171a808b9e400266p-95 0x7c71eb0cd4688dfe98581c77p-95
|
|
|
|
clog10 0xe33f66c9542ca25cc43c867p-95 0x7f35a68ebd3704a43c465864p-95
|
|
|
|
clog10 0x6771f22c64ed551b857c128b4cp-105 0x1f570e7a13cc3cf2f44fd793ea1p-105
|
|
|
|
clog10 0x15d8ab6ed05ca514086ac3a1e84p-105 0x1761e480aa094c0b10b34b09ce9p-105
|
|
|
|
clog10 0x187190c1a334497bdbde5a95f48p-106 0x3b25f08062d0a095c4cfbbc338dp-106
|
|
|
|
clog10 0x6241ef0da53f539f02fad67dabp-106 0x3fb46641182f7efd9caa769dac0p-106
|
|
|
|
clog10 0x3e1d0a105ac4ebeacd9c6952d34cp-112 0xf859b3d1b06d005dcbb5516d5479p-112
|
|
|
|
clog10 0x47017a2e36807acb1e5214b209dep-112 0xf5f4a550c9d75e3bb1839d865f0dp-112
|
|
|
|
clog10 0x148f818cb7a9258fca942ade2a0cap-113 0x18854a34780b8333ec53310ad7001p-113
|
|
|
|
clog10 0xfd95243681c055c2632286921092p-113 0x1bccabcd29ca2152860ec29e34ef7p-113
|
|
|
|
clog10 0xdb85c467ee2aadd5f425fe0f4b8dp-114 0x3e83162a0f95f1dcbf97dddf410eap-114
|
|
|
|
clog10 0x1415bcaf2105940d49a636e98ae59p-115 0x7e6a150adfcd1b0921d44b31f40f4p-115
|
|
|
|
|
2013-11-30 23:04:13 +01:00
|
|
|
cos 0
|
|
|
|
cos -0
|
|
|
|
cos pi/3
|
|
|
|
cos 2pi/3
|
|
|
|
cos pi/2
|
|
|
|
cos 0.75
|
|
|
|
cos 0x1p65
|
|
|
|
cos -0x1p65
|
|
|
|
cos 0.80190127184058835
|
|
|
|
cos 0x1.442f74p+15
|
|
|
|
cos 1e22
|
|
|
|
cos 0x1p1023
|
|
|
|
cos 0x1p16383
|
|
|
|
cos 0x1p+120
|
|
|
|
cos 0x1p+127
|
|
|
|
cos 0x1.fffff8p+127
|
|
|
|
cos 0x1.fffffep+127
|
|
|
|
cos 0x1p+50
|
|
|
|
cos 0x1p+28
|
|
|
|
cos 0x1.000000cf4a2a2p0
|
|
|
|
cos 0x1.0000010b239a9p0
|
|
|
|
cos 0x1.00000162a932bp0
|
|
|
|
cos 0x1.000002d452a10p0
|
|
|
|
cos 0x1.000005bc7d86dp0
|
2014-02-27 16:42:09 +01:00
|
|
|
cos 0x1.200145a975ce6p32
|
2013-11-30 23:04:13 +01:00
|
|
|
cos 1
|
|
|
|
cos 2
|
|
|
|
cos 3
|
|
|
|
cos 4
|
|
|
|
cos 5
|
|
|
|
cos 6
|
|
|
|
cos 7
|
|
|
|
cos 8
|
|
|
|
cos 9
|
|
|
|
cos 10
|
Add more libm-test coverage of [a-c]* real functions.
Various libm functions have inadequate test coverage in libm-test.inc
/ auto-libm-test-in - failing to cover all the usual special cases
(infinities, NaNs, zero, large and small finite values, subnormals) as
well as a reasonable range of ordinary inputs and, where appropriate,
inputs close to the thresholds for underflow and overflow.
This patch improves test coverage for real functions [a-c]* (with the
expectation of adding more coverage for other functions later).
Tested x86_64 and x86 and ulps updated accordingly (and eight glibc
bugs and one C11 DR filed for issues found in the process).
* math/auto-libm-test-in: Add more tests of acos, acosh, asin,
asinh, atan, atan2, atanh, cbrt, cos and cosh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (acosh_test_data): Add more tests.
(atanh_test_data): Likewise.
(ceil_test_data): Likewise.
(copysign_test_data): Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 22:03:39 +01:00
|
|
|
cos max
|
|
|
|
cos -max
|
|
|
|
cos min
|
|
|
|
cos -min
|
|
|
|
cos min_subnorm
|
|
|
|
cos -min_subnorm
|
2013-11-30 23:04:13 +01:00
|
|
|
|
|
|
|
cosh 0
|
|
|
|
cosh -0
|
|
|
|
cosh 0.75
|
|
|
|
cosh 709.8893558127259666434838436543941497802734375
|
|
|
|
cosh -709.8893558127259666434838436543941497802734375
|
|
|
|
cosh 22
|
|
|
|
cosh 23
|
|
|
|
cosh 24
|
Add more libm-test coverage of [a-c]* real functions.
Various libm functions have inadequate test coverage in libm-test.inc
/ auto-libm-test-in - failing to cover all the usual special cases
(infinities, NaNs, zero, large and small finite values, subnormals) as
well as a reasonable range of ordinary inputs and, where appropriate,
inputs close to the thresholds for underflow and overflow.
This patch improves test coverage for real functions [a-c]* (with the
expectation of adding more coverage for other functions later).
Tested x86_64 and x86 and ulps updated accordingly (and eight glibc
bugs and one C11 DR filed for issues found in the process).
* math/auto-libm-test-in: Add more tests of acos, acosh, asin,
asinh, atan, atan2, atanh, cbrt, cos and cosh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (acosh_test_data): Add more tests.
(atanh_test_data): Likewise.
(ceil_test_data): Likewise.
(copysign_test_data): Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 22:03:39 +01:00
|
|
|
cosh 0x1p-5
|
|
|
|
cosh 0x1p-20
|
|
|
|
cosh -1
|
|
|
|
cosh 50
|
2015-03-25 00:48:04 +01:00
|
|
|
cosh -0xb.60713p+0
|
2014-01-03 18:08:10 +01:00
|
|
|
# GCC bug 59666: results on directed rounding may be incorrect.
|
|
|
|
cosh max no-test-inline xfail-rounding:ldbl-128ibm
|
|
|
|
cosh -max no-test-inline xfail-rounding:ldbl-128ibm
|
Fix cosh spurious underflows from expm1 (bug 16354), inaccurate results near 0 (bug 17061).
This patch fixes bug 16354, spurious underflows from cosh when a tiny
argument is passed to expm1 and expm1 correctly underflows although
the final result of cosh should be 1. As noted in that bug, some
cases are latent because of expm1 implementations not raising
underflow (bug 16353), but all the implementations are fixed
similarly. They already contained checks for tiny arguments, but the
checks were too late to avoid underflow from expm1 (although they
would avoid underflow from subsequent squaring of the result of
expm1); they are moved before the expm1 calls.
The thresholds used for considering arguments tiny are not
particularly consistent in how they relate to the precision of the
floating-point format in question. They are, however, all sufficient
to ensure that the round-to-nearest result of cosh is indeed 1 below
the threshold (although sometimes they are smaller than necessary).
But the previous logic did not return 1, but the previously computed 1
+ expm1(abs(x)) value. And the thresholds in the ldbl-128 and
ldbl-128ibm code (0x1p-71L - I suspect 0x3f8b was intended in the code
instead of 0x3fb8 - and (roughly) 0x1p-55L) are not sufficient for
that value to be 1. So by moving the test for tiny arguments, and
consequently returning 1 directly now the expm1 value hasn't been
computed by that point, this patch also fixes bug 17061, the (large
number of ulps) inaccuracy for small arguments in those
implementations. Tests for that bug are duly added.
Tested x86_64 and x86 and ulps updated accordingly. Also tested for
mips64 and powerpc32 to validate the ldbl-128 and ldbl-128ibm changes.
[BZ #16354]
[BZ #17061]
* sysdeps/ieee754/dbl-64/e_cosh.c (__ieee754_cosh): Check for
small arguments before calling __expm1.
* sysdeps/ieee754/flt-32/e_coshf.c (__ieee754_coshf): Check for
small arguments before calling __expm1f.
* sysdeps/ieee754/ldbl-128/e_coshl.c (__ieee754_coshl): Check for
small arguments before calling __expm1l.
* sysdeps/ieee754/ldbl-128ibm/e_coshl.c (__ieee754_coshl):
Likewise.
* sysdeps/ieee754/ldbl-96/e_coshl.c (__ieee754_coshl): Likewise.
* math/auto-libm-test-in: Add more cosh tests. Do not allow
spurious underflow for some cosh tests.
* math/auto-libm-test-out: Regenerated.
* sysdeps/i386/fpu/libm-test-ulps: Update.
2014-06-23 22:20:10 +02:00
|
|
|
cosh min
|
|
|
|
cosh -min
|
|
|
|
cosh min_subnorm
|
|
|
|
cosh -min_subnorm
|
|
|
|
cosh 0x1p-56
|
|
|
|
cosh -0x1p-56
|
|
|
|
cosh 0x1p-72
|
|
|
|
cosh -0x1p-72
|
Add more libm-test coverage of [a-c]* real functions.
Various libm functions have inadequate test coverage in libm-test.inc
/ auto-libm-test-in - failing to cover all the usual special cases
(infinities, NaNs, zero, large and small finite values, subnormals) as
well as a reasonable range of ordinary inputs and, where appropriate,
inputs close to the thresholds for underflow and overflow.
This patch improves test coverage for real functions [a-c]* (with the
expectation of adding more coverage for other functions later).
Tested x86_64 and x86 and ulps updated accordingly (and eight glibc
bugs and one C11 DR filed for issues found in the process).
* math/auto-libm-test-in: Add more tests of acos, acosh, asin,
asinh, atan, atan2, atanh, cbrt, cos and cosh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (acosh_test_data): Add more tests.
(atanh_test_data): Likewise.
(ceil_test_data): Likewise.
(copysign_test_data): Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 22:03:39 +01:00
|
|
|
# Test values either side of overflow for each floating-point format.
|
|
|
|
cosh 0x5.96a7ep+4
|
|
|
|
cosh 0x5.96a7e8p+4
|
|
|
|
cosh -0x5.96a7ep+4
|
|
|
|
cosh -0x5.96a7e8p+4
|
2014-01-03 18:08:10 +01:00
|
|
|
# GCC bug 59666: results on directed rounding may be incorrect.
|
|
|
|
cosh 0x2.c679d1f73f0fap+8 xfail-rounding:ldbl-128ibm
|
|
|
|
cosh 0x2.c679d1f73f0fcp+8 xfail-rounding:ldbl-128ibm
|
|
|
|
cosh -0x2.c679d1f73f0fap+8 xfail-rounding:ldbl-128ibm
|
|
|
|
cosh -0x2.c679d1f73f0fcp+8 xfail-rounding:ldbl-128ibm
|
|
|
|
cosh 0x2.c679d1f73f0fb624d358b213a7p+8 xfail-rounding:ldbl-128ibm
|
|
|
|
cosh 0x2.c679d1f73f0fb624d358b213a8p+8 xfail-rounding:ldbl-128ibm
|
|
|
|
cosh -0x2.c679d1f73f0fb624d358b213a7p+8 xfail-rounding:ldbl-128ibm
|
|
|
|
cosh -0x2.c679d1f73f0fb624d358b213a8p+8 xfail-rounding:ldbl-128ibm
|
|
|
|
cosh 0x2.c5d37700c6bb03a4p+12 no-test-inline xfail-rounding:ldbl-128ibm
|
|
|
|
cosh 0x2.c5d37700c6bb03a8p+12 no-test-inline xfail-rounding:ldbl-128ibm
|
|
|
|
cosh -0x2.c5d37700c6bb03a4p+12 no-test-inline xfail-rounding:ldbl-128ibm
|
|
|
|
cosh -0x2.c5d37700c6bb03a8p+12 no-test-inline xfail-rounding:ldbl-128ibm
|
|
|
|
cosh 0x2.c5d37700c6bb03a6c24b6c9b494cp+12 no-test-inline xfail-rounding:ldbl-128ibm
|
|
|
|
cosh 0x2.c5d37700c6bb03a6c24b6c9b494ep+12 no-test-inline xfail-rounding:ldbl-128ibm
|
|
|
|
cosh -0x2.c5d37700c6bb03a6c24b6c9b494cp+12 no-test-inline xfail-rounding:ldbl-128ibm
|
|
|
|
cosh -0x2.c5d37700c6bb03a6c24b6c9b494ep+12 no-test-inline xfail-rounding:ldbl-128ibm
|
2013-11-30 23:04:13 +01:00
|
|
|
|
2014-06-23 22:15:14 +02:00
|
|
|
cpow 1 0 0 0 ignore-zero-inf-sign
|
|
|
|
cpow 2 0 10 0 ignore-zero-inf-sign
|
2013-12-20 13:35:10 +01:00
|
|
|
# Bug 14473: cpow results inaccurate.
|
|
|
|
cpow e 0 0 2pi xfail
|
2014-06-23 22:15:14 +02:00
|
|
|
cpow 2 3 4 0 xfail-rounding
|
2013-12-20 13:35:10 +01:00
|
|
|
|
2014-06-23 22:15:14 +02:00
|
|
|
cpow 0.75 1.25 0.75 1.25 xfail-rounding
|
|
|
|
cpow 0.75 1.25 1.0 1.0 xfail-rounding
|
2013-12-20 13:35:10 +01:00
|
|
|
cpow 0.75 1.25 1.0 0.0
|
|
|
|
cpow 0.75 1.25 0.0 1.0
|
|
|
|
|
Move various TEST_c_c tests from libm-test.inc to auto-libm-test-inc.
This patch moves tests of ccos, ccosh, cexp, clog, csqrt, ctan and
ctanh to auto-libm-test-in, adding the required support to
gen-auto-libm-tests. Other TEST_c_c functions aren't moved for now
(although the relevant table entries are put in gen-auto-libm-tests
for it to know how to handle them): clog10 because of a known MPC bug
causing it to hang for at least some pure imaginary inputs (fixed in
SVN, but I'd rather not rely on unreleased versions of MPFR or MPC
even if relying on very recent releases); the inverse trig and
hyperbolic functions because of known slowness in special cases; and
csin / csinh because of observed slowness that I need to investigate
and report to the MPC maintainers. Slowness can be bypassed by moving
to incremental generation (only for new / changed tests) rather than
regenerating the whole of auto-libm-test-out every time, but that
needs implementing. (This patch takes the time for running
gen-auto-libm-tests from about one second to seven, on my system,
which I think is reasonable. The slow functions would make it take
several minutes at least, which seems unreasonable.)
Tested x86_64 and x86 and ulps updated accordingly.
* math/auto-libm-test-in: Add tests of ccos, ccosh, cexp, clog,
csqrt, ctan and ctanh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (TEST_COND_x86_64): New macro.
(TEST_COND_x86): Likewise.
(ccos_test_data): Use AUTO_TESTS_c_c.
(ccosh_test_data): Likewise.
(cexp_test_data): Likewise.
(clog_test_data): Likewise.
(csqrt_test_data): Likewise.
(ctan_test_data): Likewise.
(ctan_tonearest_test_data): Likewise.
(ctan_towardzero_test_data): Likewise.
(ctan_downward_test_data): Likewise.
(ctan_upward_test_data): Likewise.
(ctanh_test_data): Likewise.
(ctanh_tonearest_test_data): Likewise.
(ctanh_towardzero_test_data): Likewise.
(ctanh_downward_test_data): Likewise.
(ctanh_upward_test_data): Likewise.
* math/gen-auto-libm-tests.c (func_calc_method): Add value
mpc_c_c.
(func_calc_desc): Add mpc_c_c union field.
(FUNC_mpc_c_c): New macro.
(test_functions): Add cacos, cacosh, casin, casinh, catan, catanh,
ccos, ccosh, cexp, clog, clog10, csin, csinh, csqrt, ctan and
ctanh.
(special_fill_min_subnorm_p120): New function.
(special_real_inputs): Add min_subnorm_p120.
(calc_generic_results): Handle mpc_c_c.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 13:32:44 +01:00
|
|
|
csqrt 0 0
|
|
|
|
csqrt 0 -0
|
|
|
|
csqrt -0 0
|
|
|
|
csqrt -0 -0
|
|
|
|
|
|
|
|
csqrt 16.0 -30.0
|
|
|
|
csqrt -1 0
|
|
|
|
csqrt 0 2
|
|
|
|
csqrt 119 120
|
|
|
|
csqrt 0.75 1.25
|
|
|
|
csqrt -2 -3
|
|
|
|
csqrt -2 3
|
|
|
|
# Principal square root should be returned (i.e., non-negative real part).
|
|
|
|
csqrt 0 -1
|
|
|
|
|
|
|
|
csqrt 0x1.fffffep+127 0x1.fffffep+127
|
|
|
|
csqrt 0x1.fffffep+127 1.0
|
|
|
|
csqrt 0x1p-149 0x1p-149
|
|
|
|
csqrt 0x1p-147 0x1p-147
|
|
|
|
|
|
|
|
csqrt 0 0x1p-149
|
|
|
|
csqrt 0x1p-50 0x1p-149
|
|
|
|
csqrt 0x1p+127 0x1p-149
|
|
|
|
csqrt 0x1p-149 0x1p+127
|
|
|
|
csqrt 0x1.000002p-126 0x1.000002p-126
|
|
|
|
csqrt -0x1.000002p-126 -0x1.000002p-126
|
|
|
|
|
|
|
|
csqrt 0x1.fffffffffffffp+1023 0x1.fffffffffffffp+1023
|
|
|
|
csqrt 0x1.fffffffffffffp+1023 0x1p+1023
|
|
|
|
csqrt 0x1p-1074 0x1p-1074
|
|
|
|
csqrt 0x1p-1073 0x1p-1073
|
|
|
|
|
|
|
|
csqrt 0 0x1p-1074
|
|
|
|
csqrt 0x1p-500 0x1p-1074
|
|
|
|
csqrt 0x1p+1023 0x1p-1074
|
|
|
|
csqrt 0x1p-1074 0x1p+1023
|
|
|
|
csqrt 0x1.0000000000001p-1022 0x1.0000000000001p-1022
|
|
|
|
csqrt -0x1.0000000000001p-1022 -0x1.0000000000001p-1022
|
|
|
|
|
|
|
|
csqrt 0x1.fp+16383 0x1.fp+16383
|
|
|
|
csqrt 0x1.fp+16383 0x1p+16383
|
|
|
|
csqrt 0x1p-16440 0x1p-16441
|
|
|
|
|
|
|
|
csqrt 0 0x1p-16445
|
|
|
|
csqrt 0x1p-5000 0x1p-16445
|
|
|
|
csqrt 0x1p+16383 0x1p-16445
|
|
|
|
csqrt 0x1p-16445 0x1p+16383
|
|
|
|
csqrt 0x1.0000000000000002p-16382 0x1.0000000000000002p-16382
|
|
|
|
csqrt -0x1.0000000000000002p-16382 -0x1.0000000000000002p-16382
|
|
|
|
|
|
|
|
csqrt 0 0x1p-16494
|
|
|
|
csqrt 0x1p-5000 0x1p-16494
|
|
|
|
csqrt 0x1p+16383 0x1p-16494
|
|
|
|
csqrt 0x1p-16494 0x1p+16383
|
|
|
|
csqrt 0x1.0000000000000000000000000001p-16382 0x1.0000000000000000000000000001p-16382
|
|
|
|
csqrt -0x1.0000000000000000000000000001p-16382 -0x1.0000000000000000000000000001p-16382
|
|
|
|
|
|
|
|
ctan 0 0
|
|
|
|
ctan 0 -0
|
|
|
|
ctan -0 0
|
|
|
|
ctan -0 -0
|
|
|
|
|
|
|
|
ctan 0.75 1.25
|
|
|
|
ctan -2 -3
|
|
|
|
|
|
|
|
ctan 1 45
|
|
|
|
ctan 1 47
|
|
|
|
ctan 1 355
|
|
|
|
ctan 1 365
|
2014-01-07 23:41:58 +01:00
|
|
|
# GCC bug 59666: results on directed rounding may be incorrect.
|
|
|
|
ctan 1 5680 xfail-rounding:ldbl-128ibm
|
|
|
|
ctan 1 5690 xfail-rounding:ldbl-128ibm
|
Move various TEST_c_c tests from libm-test.inc to auto-libm-test-inc.
This patch moves tests of ccos, ccosh, cexp, clog, csqrt, ctan and
ctanh to auto-libm-test-in, adding the required support to
gen-auto-libm-tests. Other TEST_c_c functions aren't moved for now
(although the relevant table entries are put in gen-auto-libm-tests
for it to know how to handle them): clog10 because of a known MPC bug
causing it to hang for at least some pure imaginary inputs (fixed in
SVN, but I'd rather not rely on unreleased versions of MPFR or MPC
even if relying on very recent releases); the inverse trig and
hyperbolic functions because of known slowness in special cases; and
csin / csinh because of observed slowness that I need to investigate
and report to the MPC maintainers. Slowness can be bypassed by moving
to incremental generation (only for new / changed tests) rather than
regenerating the whole of auto-libm-test-out every time, but that
needs implementing. (This patch takes the time for running
gen-auto-libm-tests from about one second to seven, on my system,
which I think is reasonable. The slow functions would make it take
several minutes at least, which seems unreasonable.)
Tested x86_64 and x86 and ulps updated accordingly.
* math/auto-libm-test-in: Add tests of ccos, ccosh, cexp, clog,
csqrt, ctan and ctanh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (TEST_COND_x86_64): New macro.
(TEST_COND_x86): Likewise.
(ccos_test_data): Use AUTO_TESTS_c_c.
(ccosh_test_data): Likewise.
(cexp_test_data): Likewise.
(clog_test_data): Likewise.
(csqrt_test_data): Likewise.
(ctan_test_data): Likewise.
(ctan_tonearest_test_data): Likewise.
(ctan_towardzero_test_data): Likewise.
(ctan_downward_test_data): Likewise.
(ctan_upward_test_data): Likewise.
(ctanh_test_data): Likewise.
(ctanh_tonearest_test_data): Likewise.
(ctanh_towardzero_test_data): Likewise.
(ctanh_downward_test_data): Likewise.
(ctanh_upward_test_data): Likewise.
* math/gen-auto-libm-tests.c (func_calc_method): Add value
mpc_c_c.
(func_calc_desc): Add mpc_c_c union field.
(FUNC_mpc_c_c): New macro.
(test_functions): Add cacos, cacosh, casin, casinh, catan, catanh,
ccos, ccosh, cexp, clog, clog10, csin, csinh, csqrt, ctan and
ctanh.
(special_fill_min_subnorm_p120): New function.
(special_real_inputs): Add min_subnorm_p120.
(calc_generic_results): Handle mpc_c_c.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 13:32:44 +01:00
|
|
|
|
|
|
|
ctan 0x3.243f6cp-1 0
|
|
|
|
|
|
|
|
ctan 0x1p127 1
|
|
|
|
ctan 0x1p1023 1
|
|
|
|
ctan 0x1p16383 1
|
|
|
|
|
2014-01-07 23:41:58 +01:00
|
|
|
# GCC bug 59666: results on directed rounding may be incorrect.
|
|
|
|
ctan 50000 50000 xfail-rounding:ldbl-128ibm
|
|
|
|
ctan 50000 -50000 xfail-rounding:ldbl-128ibm
|
|
|
|
ctan -50000 50000 xfail-rounding:ldbl-128ibm
|
|
|
|
ctan -50000 -50000 xfail-rounding:ldbl-128ibm
|
Move various TEST_c_c tests from libm-test.inc to auto-libm-test-inc.
This patch moves tests of ccos, ccosh, cexp, clog, csqrt, ctan and
ctanh to auto-libm-test-in, adding the required support to
gen-auto-libm-tests. Other TEST_c_c functions aren't moved for now
(although the relevant table entries are put in gen-auto-libm-tests
for it to know how to handle them): clog10 because of a known MPC bug
causing it to hang for at least some pure imaginary inputs (fixed in
SVN, but I'd rather not rely on unreleased versions of MPFR or MPC
even if relying on very recent releases); the inverse trig and
hyperbolic functions because of known slowness in special cases; and
csin / csinh because of observed slowness that I need to investigate
and report to the MPC maintainers. Slowness can be bypassed by moving
to incremental generation (only for new / changed tests) rather than
regenerating the whole of auto-libm-test-out every time, but that
needs implementing. (This patch takes the time for running
gen-auto-libm-tests from about one second to seven, on my system,
which I think is reasonable. The slow functions would make it take
several minutes at least, which seems unreasonable.)
Tested x86_64 and x86 and ulps updated accordingly.
* math/auto-libm-test-in: Add tests of ccos, ccosh, cexp, clog,
csqrt, ctan and ctanh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (TEST_COND_x86_64): New macro.
(TEST_COND_x86): Likewise.
(ccos_test_data): Use AUTO_TESTS_c_c.
(ccosh_test_data): Likewise.
(cexp_test_data): Likewise.
(clog_test_data): Likewise.
(csqrt_test_data): Likewise.
(ctan_test_data): Likewise.
(ctan_tonearest_test_data): Likewise.
(ctan_towardzero_test_data): Likewise.
(ctan_downward_test_data): Likewise.
(ctan_upward_test_data): Likewise.
(ctanh_test_data): Likewise.
(ctanh_tonearest_test_data): Likewise.
(ctanh_towardzero_test_data): Likewise.
(ctanh_downward_test_data): Likewise.
(ctanh_upward_test_data): Likewise.
* math/gen-auto-libm-tests.c (func_calc_method): Add value
mpc_c_c.
(func_calc_desc): Add mpc_c_c union field.
(FUNC_mpc_c_c): New macro.
(test_functions): Add cacos, cacosh, casin, casinh, catan, catanh,
ccos, ccosh, cexp, clog, clog10, csin, csinh, csqrt, ctan and
ctanh.
(special_fill_min_subnorm_p120): New function.
(special_real_inputs): Add min_subnorm_p120.
(calc_generic_results): Handle mpc_c_c.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 13:32:44 +01:00
|
|
|
|
|
|
|
ctan 0x1.921fb6p+0 0x1p-149
|
|
|
|
ctan 0x1.921fb54442d18p+0 0x1p-1074
|
|
|
|
ctan 0x1.921fb54442d1846ap+0 0x1p-16445
|
|
|
|
|
|
|
|
ctanh 0 0
|
|
|
|
ctanh 0 -0
|
|
|
|
ctanh -0 0
|
|
|
|
ctanh -0 -0
|
|
|
|
|
|
|
|
ctanh 0 pi/4
|
|
|
|
|
|
|
|
ctanh 0.75 1.25
|
|
|
|
ctanh -2 -3
|
|
|
|
|
|
|
|
ctanh 45 1
|
|
|
|
ctanh 47 1
|
|
|
|
ctanh 355 1
|
|
|
|
ctanh 365 1
|
2014-01-07 23:41:58 +01:00
|
|
|
# GCC bug 59666: results on directed rounding may be incorrect.
|
|
|
|
ctanh 5680 1 xfail-rounding:ldbl-128ibm
|
|
|
|
ctanh 5690 1 xfail-rounding:ldbl-128ibm
|
Move various TEST_c_c tests from libm-test.inc to auto-libm-test-inc.
This patch moves tests of ccos, ccosh, cexp, clog, csqrt, ctan and
ctanh to auto-libm-test-in, adding the required support to
gen-auto-libm-tests. Other TEST_c_c functions aren't moved for now
(although the relevant table entries are put in gen-auto-libm-tests
for it to know how to handle them): clog10 because of a known MPC bug
causing it to hang for at least some pure imaginary inputs (fixed in
SVN, but I'd rather not rely on unreleased versions of MPFR or MPC
even if relying on very recent releases); the inverse trig and
hyperbolic functions because of known slowness in special cases; and
csin / csinh because of observed slowness that I need to investigate
and report to the MPC maintainers. Slowness can be bypassed by moving
to incremental generation (only for new / changed tests) rather than
regenerating the whole of auto-libm-test-out every time, but that
needs implementing. (This patch takes the time for running
gen-auto-libm-tests from about one second to seven, on my system,
which I think is reasonable. The slow functions would make it take
several minutes at least, which seems unreasonable.)
Tested x86_64 and x86 and ulps updated accordingly.
* math/auto-libm-test-in: Add tests of ccos, ccosh, cexp, clog,
csqrt, ctan and ctanh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (TEST_COND_x86_64): New macro.
(TEST_COND_x86): Likewise.
(ccos_test_data): Use AUTO_TESTS_c_c.
(ccosh_test_data): Likewise.
(cexp_test_data): Likewise.
(clog_test_data): Likewise.
(csqrt_test_data): Likewise.
(ctan_test_data): Likewise.
(ctan_tonearest_test_data): Likewise.
(ctan_towardzero_test_data): Likewise.
(ctan_downward_test_data): Likewise.
(ctan_upward_test_data): Likewise.
(ctanh_test_data): Likewise.
(ctanh_tonearest_test_data): Likewise.
(ctanh_towardzero_test_data): Likewise.
(ctanh_downward_test_data): Likewise.
(ctanh_upward_test_data): Likewise.
* math/gen-auto-libm-tests.c (func_calc_method): Add value
mpc_c_c.
(func_calc_desc): Add mpc_c_c union field.
(FUNC_mpc_c_c): New macro.
(test_functions): Add cacos, cacosh, casin, casinh, catan, catanh,
ccos, ccosh, cexp, clog, clog10, csin, csinh, csqrt, ctan and
ctanh.
(special_fill_min_subnorm_p120): New function.
(special_real_inputs): Add min_subnorm_p120.
(calc_generic_results): Handle mpc_c_c.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 13:32:44 +01:00
|
|
|
|
|
|
|
ctanh 0 0x3.243f6cp-1
|
|
|
|
|
|
|
|
ctanh 1 0x1p127
|
|
|
|
ctanh 1 0x1p1023
|
|
|
|
ctanh 1 0x1p16383
|
|
|
|
|
2014-01-07 23:41:58 +01:00
|
|
|
# GCC bug 59666: results on directed rounding may be incorrect.
|
|
|
|
ctanh 50000 50000 xfail-rounding:ldbl-128ibm
|
|
|
|
ctanh 50000 -50000 xfail-rounding:ldbl-128ibm
|
|
|
|
ctanh -50000 50000 xfail-rounding:ldbl-128ibm
|
|
|
|
ctanh -50000 -50000 xfail-rounding:ldbl-128ibm
|
Move various TEST_c_c tests from libm-test.inc to auto-libm-test-inc.
This patch moves tests of ccos, ccosh, cexp, clog, csqrt, ctan and
ctanh to auto-libm-test-in, adding the required support to
gen-auto-libm-tests. Other TEST_c_c functions aren't moved for now
(although the relevant table entries are put in gen-auto-libm-tests
for it to know how to handle them): clog10 because of a known MPC bug
causing it to hang for at least some pure imaginary inputs (fixed in
SVN, but I'd rather not rely on unreleased versions of MPFR or MPC
even if relying on very recent releases); the inverse trig and
hyperbolic functions because of known slowness in special cases; and
csin / csinh because of observed slowness that I need to investigate
and report to the MPC maintainers. Slowness can be bypassed by moving
to incremental generation (only for new / changed tests) rather than
regenerating the whole of auto-libm-test-out every time, but that
needs implementing. (This patch takes the time for running
gen-auto-libm-tests from about one second to seven, on my system,
which I think is reasonable. The slow functions would make it take
several minutes at least, which seems unreasonable.)
Tested x86_64 and x86 and ulps updated accordingly.
* math/auto-libm-test-in: Add tests of ccos, ccosh, cexp, clog,
csqrt, ctan and ctanh.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (TEST_COND_x86_64): New macro.
(TEST_COND_x86): Likewise.
(ccos_test_data): Use AUTO_TESTS_c_c.
(ccosh_test_data): Likewise.
(cexp_test_data): Likewise.
(clog_test_data): Likewise.
(csqrt_test_data): Likewise.
(ctan_test_data): Likewise.
(ctan_tonearest_test_data): Likewise.
(ctan_towardzero_test_data): Likewise.
(ctan_downward_test_data): Likewise.
(ctan_upward_test_data): Likewise.
(ctanh_test_data): Likewise.
(ctanh_tonearest_test_data): Likewise.
(ctanh_towardzero_test_data): Likewise.
(ctanh_downward_test_data): Likewise.
(ctanh_upward_test_data): Likewise.
* math/gen-auto-libm-tests.c (func_calc_method): Add value
mpc_c_c.
(func_calc_desc): Add mpc_c_c union field.
(FUNC_mpc_c_c): New macro.
(test_functions): Add cacos, cacosh, casin, casinh, catan, catanh,
ccos, ccosh, cexp, clog, clog10, csin, csinh, csqrt, ctan and
ctanh.
(special_fill_min_subnorm_p120): New function.
(special_real_inputs): Add min_subnorm_p120.
(calc_generic_results): Handle mpc_c_c.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-20 13:32:44 +01:00
|
|
|
|
|
|
|
ctanh 0x1p-149 0x1.921fb6p+0
|
|
|
|
ctanh 0x1p-1074 0x1.921fb54442d18p+0
|
|
|
|
ctanh 0x1p-16445 0x1.921fb54442d1846ap+0
|
|
|
|
|
2013-12-03 17:22:49 +01:00
|
|
|
erf 0
|
|
|
|
erf -0
|
|
|
|
erf 0.125
|
|
|
|
erf 0.75
|
|
|
|
erf 1.25
|
|
|
|
erf 2.0
|
|
|
|
erf 4.125
|
|
|
|
erf 27.0
|
|
|
|
erf -27.0
|
|
|
|
erf -0x1.fffffffffffff8p-2
|
2014-05-14 14:34:03 +02:00
|
|
|
erf 0x1.c5bf94p-127
|
|
|
|
erf 0x3.8b7fa8p-128
|
|
|
|
erf -0x3.8b7f12369ded8p-1024
|
|
|
|
erf 0x3.8b7f12369ded5518p-16384
|
2014-06-24 22:56:56 +02:00
|
|
|
erf 26.0
|
|
|
|
erf 28.0
|
|
|
|
erf 100
|
|
|
|
erf 106
|
|
|
|
erf 106.5
|
|
|
|
erf 106.625
|
|
|
|
erf 107
|
|
|
|
erf 108
|
|
|
|
erf 1000
|
|
|
|
erf max
|
2013-12-03 17:22:49 +01:00
|
|
|
|
|
|
|
erfc 0.0
|
|
|
|
erfc -0
|
|
|
|
erfc 0.125
|
|
|
|
erfc 0.75
|
|
|
|
erfc 1.25
|
|
|
|
erfc 2.0
|
|
|
|
erfc 0x1.f7303cp+1
|
|
|
|
erfc 4.125
|
|
|
|
erfc 0x1.ffa002p+2
|
|
|
|
erfc 0x1.ffffc8p+2
|
|
|
|
erfc -0x1.fffffffffffff8p-2
|
2013-12-03 17:25:18 +01:00
|
|
|
erfc 26.0
|
|
|
|
erfc 27.0
|
|
|
|
erfc 28.0
|
2013-12-03 17:22:49 +01:00
|
|
|
erfc 0x1.ffff56789abcdef0123456789a8p+2
|
2013-12-03 17:25:18 +01:00
|
|
|
erfc 100
|
|
|
|
erfc 106
|
|
|
|
erfc 106.5
|
|
|
|
erfc 106.625
|
|
|
|
erfc 107
|
|
|
|
erfc 108
|
|
|
|
erfc 1000
|
|
|
|
erfc max
|
2013-12-03 17:22:49 +01:00
|
|
|
|
|
|
|
exp 0
|
|
|
|
exp -0
|
|
|
|
exp 1
|
|
|
|
exp 2
|
|
|
|
exp 3
|
|
|
|
exp 0.75
|
|
|
|
exp 50.0
|
|
|
|
exp 88.72269439697265625
|
|
|
|
exp 709.75
|
2014-01-07 23:41:58 +01:00
|
|
|
# GCC bug 59666: results on directed rounding may be incorrect.
|
2014-03-24 13:18:45 +01:00
|
|
|
exp 1000.0 xfail-rounding:ldbl-128ibm
|
|
|
|
exp 710 xfail-rounding:ldbl-128ibm
|
2013-12-03 17:22:49 +01:00
|
|
|
exp -1234
|
2014-01-07 23:41:58 +01:00
|
|
|
# GCC bug 59666: results on directed rounding may be incorrect.
|
2014-03-24 13:18:45 +01:00
|
|
|
exp 0x2.c679d1f73f0fb628p+8 xfail-rounding:ldbl-128ibm
|
|
|
|
exp 1e5 xfail-rounding:ldbl-128ibm
|
|
|
|
exp max xfail-rounding:ldbl-128ibm
|
2013-12-03 22:49:56 +01:00
|
|
|
exp -7.4444006192138124e+02
|
|
|
|
exp -0x1.75f113c30b1c8p+9
|
2013-12-03 17:22:49 +01:00
|
|
|
exp -max
|
2014-02-11 13:47:47 +01:00
|
|
|
exp -11342.8125
|
2014-03-27 19:41:14 +01:00
|
|
|
exp 0x1p-10
|
|
|
|
exp -0x1p-10
|
|
|
|
exp 0x1p-20
|
|
|
|
exp -0x1p-20
|
|
|
|
exp 0x1p-30
|
|
|
|
exp -0x1p-30
|
|
|
|
exp 0x1p-40
|
|
|
|
exp -0x1p-40
|
|
|
|
exp 0x1p-50
|
|
|
|
exp -0x1p-50
|
|
|
|
exp 0x1p-60
|
|
|
|
exp -0x1p-60
|
|
|
|
exp 0x1p-100
|
|
|
|
exp -0x1p-100
|
|
|
|
exp min
|
|
|
|
exp -min
|
|
|
|
exp min_subnorm
|
|
|
|
exp -min_subnorm
|
2013-12-03 17:22:49 +01:00
|
|
|
|
|
|
|
exp10 0
|
|
|
|
exp10 -0
|
|
|
|
exp10 3
|
|
|
|
exp10 -1
|
|
|
|
exp10 36
|
|
|
|
exp10 -36
|
|
|
|
exp10 305
|
|
|
|
exp10 -305
|
2014-01-03 18:08:10 +01:00
|
|
|
# GCC bug 59666: results on directed rounding may be incorrect.
|
2014-03-24 13:18:45 +01:00
|
|
|
exp10 4932 xfail-rounding:ldbl-128ibm
|
Fix x86 / x86_64 expl / expl10l wild results in directed rounding modes (bug 16356).
This patch fixes bug 16356, bad results from x86 / x86_64 expl /
exp10l in directed rounding modes, the most serious of the bugs shown
up by my patch expanding libm test coverage. When I fixed bug 16293,
I thought it was only necessary to set round-to-nearest when using
frndint in expm1 functions, because in other cases the cancellation
error from having the resulting fractional part close to 1 or -1 would
not be significant. However, in expl and exp10l, the way the final
fractional part gets computed (something more complicated than a
simple subtraction, because more precision is needed than you'd get
that way) can result in a value outside the range [-1, 1] when the
argument to frndint was very close to an integer and was rounded the
"wrong" way because of the rounding mode - and the f2xm1 instruction
has undefined results if its argument is outside [-1, 1], so resulting
in the large errors seen. So this patch removes the USE_AS_EXPM1L
conditionals on the round-to-nearest settings, so all of expl, expm1l
and exp10l now get round-to-nearest used for frndint (meaning the
final fractional part can at most be slightly above 0.5 in
magnitude). Associated tests of exp and exp10 are added and testing
of exp10 in directed rounding modes enabled.
Tested x86_64 and x86 and ulps updated accordingly.
* sysdeps/i386/fpu/e_expl.S (IEEE754_EXPL): Also set
round-to-nearest for [!USE_AS_EXPM1L].
* sysdeps/x86_64/fpu/e_expl.S (IEEE754_EXPL): Likewise.
* math/auto-libm-test-in: Do not expect cosh tests to fail. Add
more tests of exp and exp10. Expect some exp10 tests to miss
exceptions or fail in directed rounding modes.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (exp10_tonearest_test_data): New array.
(exp10_test_tonearest): New function.
(exp10_towardzero_test_data): New array.
(exp10_test_towardzero): New function.
(exp10_downward_test_data): New array.
(exp10_test_downward): New function.
(exp10_upward_test_data): New array.
(exp10_test_upward): New function.
(main): Call the new functions.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2013-12-21 14:07:16 +01:00
|
|
|
# Bug 16361: underflow exception may be misssing
|
|
|
|
exp10 -4932 missing-underflow:ldbl-96-intel:x86 missing-underflow:ldbl-96-intel:x86_64
|
2014-01-03 18:08:10 +01:00
|
|
|
# GCC bug 59666: results on directed rounding may be incorrect.
|
2014-03-24 13:18:45 +01:00
|
|
|
exp10 1e5 xfail-rounding:ldbl-128ibm
|
2013-12-03 17:22:49 +01:00
|
|
|
exp10 -1e5
|
2014-01-03 18:08:10 +01:00
|
|
|
# GCC bug 59666: results on directed rounding may be incorrect.
|
2014-03-24 13:18:45 +01:00
|
|
|
exp10 1e6 xfail-rounding:ldbl-128ibm
|
2013-12-03 17:22:49 +01:00
|
|
|
exp10 -1e6
|
2014-01-03 18:08:10 +01:00
|
|
|
# GCC bug 59666: results on directed rounding may be incorrect.
|
2014-03-24 13:18:45 +01:00
|
|
|
exp10 max xfail-rounding:ldbl-128ibm
|
2013-12-03 17:22:49 +01:00
|
|
|
exp10 -max
|
|
|
|
exp10 0.75
|
2014-01-03 18:08:10 +01:00
|
|
|
# GCC bug 59666: results on directed rounding may be incorrect.
|
2014-03-24 13:18:45 +01:00
|
|
|
exp10 0x1.348e45573a1dd72cp+8 xfail-rounding:ldbl-128ibm
|
2014-06-25 13:33:22 +02:00
|
|
|
exp10 0x1p-10
|
|
|
|
exp10 -0x1p-10
|
|
|
|
exp10 0x1p-20
|
|
|
|
exp10 -0x1p-20
|
|
|
|
exp10 0x1p-30
|
|
|
|
exp10 -0x1p-30
|
|
|
|
exp10 0x1p-40
|
|
|
|
exp10 -0x1p-40
|
|
|
|
exp10 0x1p-50
|
|
|
|
exp10 -0x1p-50
|
|
|
|
exp10 0x1p-60
|
|
|
|
exp10 -0x1p-60
|
|
|
|
exp10 0x1p-100
|
|
|
|
exp10 -0x1p-100
|
|
|
|
exp10 min
|
|
|
|
exp10 -min
|
|
|
|
exp10 min_subnorm
|
|
|
|
exp10 -min_subnorm
|
2013-12-03 17:22:49 +01:00
|
|
|
|
|
|
|
exp2 0
|
|
|
|
exp2 -0
|
|
|
|
exp2 10
|
|
|
|
exp2 -1
|
|
|
|
exp2 1e6
|
2013-12-03 21:50:51 +01:00
|
|
|
exp2 -1e6
|
2013-12-03 17:22:49 +01:00
|
|
|
exp2 max
|
2013-12-03 21:50:51 +01:00
|
|
|
exp2 -max
|
2013-12-03 17:22:49 +01:00
|
|
|
exp2 0.75
|
|
|
|
exp2 100.5
|
|
|
|
exp2 127
|
|
|
|
exp2 -149
|
|
|
|
exp2 1000.25
|
|
|
|
exp2 1023
|
2013-12-03 21:50:51 +01:00
|
|
|
exp2 -1074
|
2013-12-03 17:22:49 +01:00
|
|
|
exp2 16383
|
2013-12-03 21:50:51 +01:00
|
|
|
exp2 -16400
|
2015-02-12 20:02:45 +01:00
|
|
|
exp2 0x1p-10
|
|
|
|
exp2 -0x1p-10
|
|
|
|
exp2 0x1p-20
|
|
|
|
exp2 -0x1p-20
|
|
|
|
exp2 0x1p-30
|
|
|
|
exp2 -0x1p-30
|
|
|
|
exp2 0x1p-40
|
|
|
|
exp2 -0x1p-40
|
|
|
|
exp2 0x1p-50
|
|
|
|
exp2 -0x1p-50
|
|
|
|
exp2 0x1p-60
|
|
|
|
exp2 -0x1p-60
|
|
|
|
exp2 0x1p-100
|
|
|
|
exp2 -0x1p-100
|
|
|
|
exp2 min
|
|
|
|
exp2 -min
|
|
|
|
exp2 min_subnorm
|
|
|
|
exp2 -min_subnorm
|
2013-12-03 17:22:49 +01:00
|
|
|
|
|
|
|
expm1 0
|
|
|
|
expm1 -0
|
|
|
|
expm1 1
|
|
|
|
expm1 0.75
|
|
|
|
expm1 50.0
|
|
|
|
expm1 127.0
|
|
|
|
expm1 500.0
|
2014-01-03 18:08:10 +01:00
|
|
|
# GCC bug 59666: results on directed rounding may be incorrect.
|
|
|
|
expm1 11356.25 xfail-rounding:ldbl-128ibm
|
2013-12-03 17:22:49 +01:00
|
|
|
expm1 -10.0
|
|
|
|
expm1 -16.0
|
|
|
|
expm1 -17.0
|
|
|
|
expm1 -18.0
|
|
|
|
expm1 -36.0
|
|
|
|
expm1 -37.0
|
|
|
|
expm1 -38.0
|
|
|
|
expm1 -44.0
|
|
|
|
expm1 -45.0
|
|
|
|
expm1 -46.0
|
|
|
|
expm1 -73.0
|
|
|
|
expm1 -74.0
|
|
|
|
expm1 -75.0
|
|
|
|
expm1 -78.0
|
|
|
|
expm1 -79.0
|
|
|
|
expm1 -80.0
|
|
|
|
expm1 -100.0
|
|
|
|
expm1 -1000.0
|
|
|
|
expm1 -10000.0
|
|
|
|
expm1 -100000.0
|
2014-01-03 18:08:10 +01:00
|
|
|
# GCC bug 59666: results on directed rounding may be incorrect.
|
|
|
|
expm1 100000.0 xfail-rounding:ldbl-128ibm
|
|
|
|
expm1 max xfail-rounding:ldbl-128ibm
|
2013-12-03 17:22:49 +01:00
|
|
|
expm1 -max
|
2013-12-19 14:36:10 +01:00
|
|
|
expm1 0x1p-2
|
|
|
|
expm1 -0x1p-2
|
|
|
|
expm1 0x1p-10
|
|
|
|
expm1 -0x1p-10
|
|
|
|
expm1 0x1p-20
|
|
|
|
expm1 -0x1p-20
|
|
|
|
expm1 0x1p-29
|
|
|
|
expm1 -0x1p-29
|
|
|
|
expm1 0x1p-32
|
|
|
|
expm1 -0x1p-32
|
|
|
|
expm1 0x1p-50
|
|
|
|
expm1 -0x1p-50
|
|
|
|
expm1 0x1p-64
|
|
|
|
expm1 -0x1p-64
|
|
|
|
expm1 0x1p-100
|
|
|
|
expm1 -0x1p-100
|
2015-03-25 01:05:13 +01:00
|
|
|
expm1 0xe.4152ac57cd1ea7ap-60
|
|
|
|
expm1 0x6.660247486aed8p-4
|
|
|
|
expm1 0x6.289a78p-4
|
|
|
|
expm1 0x6.1b4d318238d4a2a8p-4
|
2014-06-24 23:00:08 +02:00
|
|
|
# Bug 16353: underflow exception may be missing
|
|
|
|
expm1 0x4.0000000000000028p-16384 missing-underflow
|
2013-12-03 17:22:49 +01:00
|
|
|
|
Move tests of fma from libm-test.inc to auto-libm-test-in.
This patch moves tests of fma to auto-libm-test-in, adding the
required support to gen-auto-libm-tests.
Because fma can have exact zero results depending on the rounding
mode, results of fma cannot always be determined from a single value
computed in higher precision with a sticky bit. Thus, this patch adds
support for recomputing results with the original MPFR/MPC function in
the case where an exact zero is involved. (This also affects some
results for cpow; when we start testing cpow in all rounding modes, I
think it will be most appropriate to make those tests use
IGNORE_ZERO_INF_SIGN, since ISO C does not attempt to determine signs
of zero results, or special caes in general, for cpow, and I think
signs of zero for cpow are beyond the scope of glibc's accuracy
goals.)
Simply treating the existing test inputs for fma like those for other
functions (i.e., as representing the given value rounded up or down to
any of the supported floating-point formats) increases the size of
auto-libm-test-out by about 16MB (i.e., about half the file is fma
test data). While rounded versions of tests are perfectly reasonable
test inputs for fma, in this case having them seems excessive, so this
patch allows functions to specify in gen-auto-libm-tests that the
given test inputs are only to be interpreted exactly, not as
corresponding to values rounded up and down. This reduces the size of
the generated test data for fma to a more reasonable 2MB.
A consequence of this patch is that fma is now tested for correct
presence or absence of "inexact" exceptions, where previously this
wasn't tested because I didn't want to try to add that test coverage
manually to all the existing tests. As far as I know, the existing
fma implementations are already correct in this regard.
This patch provides the first cases where the gen-auto-libm-tests
support for distinguishing before-rounding/after-rounding underflow
actually produces separate entries in auto-libm-test-out (for
functions without exactly determined results, the affected cases are
all considered underflow-optional, so this only affects functions like
fma with exactly determined results). I didn't see any signs of
problems with this logic in the output.
Tested x86_64 and x86.
* math/auto-libm-test-in: Add tests of fma.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (fma_test_data): Use AUTO_TESTS_fff_f.
(fma_towardzero_test_data): Likewise.
(fma_downward_test_data): Likewise.
(fma_upward_test_data): Likewise.
* math/gen-auto-libm-tests.c (rounding_mode_desc): Add field
mpc_mode.
(rounding_modes): Add values for new field.
(func_calc_method): Add value mpfr_fff_f.
(func_calc_desc): Add mpfr_fff_f union field.
(test_function): Add field exact_args.
(FUNC): Add macro argument EXACT_ARGS.
(FUNC_mpfr_f_f): Update call to FUNC.
(FUNC_mpfr_f_f): Likewise.
(FUNC_mpfr_ff_f): Likewise.
(FUNC_mpfr_if_f): Likewise.
(FUNC_mpc_c_f): Likewise.
(FUNC_mpc_c_c): Likewise.
(test_functions): Add fma. Update calls to FUNC.
(handle_input_arg): Add argument exact_args.
(add_test): Update call to handle_input_arg.
(calc_generic_results): Add argument mode. Handle mpfr_fff_f.
(output_for_one_input_case): Update call to calc_generic_results.
Recalculate exact zero results in each rounding mode.
2014-02-18 22:48:51 +01:00
|
|
|
fma 1.0 2.0 3.0
|
|
|
|
fma 1.25 0.75 0.0625
|
|
|
|
|
|
|
|
fma 0 0 0
|
|
|
|
fma 0 0 -0
|
|
|
|
fma 0 -0 0
|
|
|
|
fma 0 -0 -0
|
|
|
|
fma -0 0 0
|
|
|
|
fma -0 0 -0
|
|
|
|
fma -0 -0 0
|
|
|
|
fma -0 -0 -0
|
|
|
|
fma 1.0 0 0
|
|
|
|
fma 1.0 0 -0
|
|
|
|
fma 1.0 -0 0
|
|
|
|
fma 1.0 -0 -0
|
|
|
|
fma -1.0 0 0
|
|
|
|
fma -1.0 0 -0
|
|
|
|
fma -1.0 -0 0
|
|
|
|
fma -1.0 -0 -0
|
|
|
|
fma 0 1.0 0
|
|
|
|
fma 0 1.0 -0
|
|
|
|
fma 0 -1.0 0
|
|
|
|
fma 0 -1.0 -0
|
|
|
|
fma -0 1.0 0
|
|
|
|
fma -0 1.0 -0
|
|
|
|
fma -0 -1.0 0
|
|
|
|
fma -0 -1.0 -0
|
|
|
|
|
|
|
|
fma 1.0 1.0 -1.0
|
|
|
|
fma 1.0 -1.0 1.0
|
|
|
|
fma -1.0 1.0 1.0
|
|
|
|
fma -1.0 -1.0 -1.0
|
|
|
|
|
2015-02-06 16:44:07 +01:00
|
|
|
fma 0 0 1
|
|
|
|
fma 0 0 2
|
|
|
|
fma 0 0 max
|
|
|
|
fma 0 1 1
|
|
|
|
fma 1 0 1
|
|
|
|
fma 0 1 2
|
|
|
|
fma 1 0 2
|
|
|
|
fma 0 1 max
|
|
|
|
fma 1 0 max
|
|
|
|
|
Move tests of fma from libm-test.inc to auto-libm-test-in.
This patch moves tests of fma to auto-libm-test-in, adding the
required support to gen-auto-libm-tests.
Because fma can have exact zero results depending on the rounding
mode, results of fma cannot always be determined from a single value
computed in higher precision with a sticky bit. Thus, this patch adds
support for recomputing results with the original MPFR/MPC function in
the case where an exact zero is involved. (This also affects some
results for cpow; when we start testing cpow in all rounding modes, I
think it will be most appropriate to make those tests use
IGNORE_ZERO_INF_SIGN, since ISO C does not attempt to determine signs
of zero results, or special caes in general, for cpow, and I think
signs of zero for cpow are beyond the scope of glibc's accuracy
goals.)
Simply treating the existing test inputs for fma like those for other
functions (i.e., as representing the given value rounded up or down to
any of the supported floating-point formats) increases the size of
auto-libm-test-out by about 16MB (i.e., about half the file is fma
test data). While rounded versions of tests are perfectly reasonable
test inputs for fma, in this case having them seems excessive, so this
patch allows functions to specify in gen-auto-libm-tests that the
given test inputs are only to be interpreted exactly, not as
corresponding to values rounded up and down. This reduces the size of
the generated test data for fma to a more reasonable 2MB.
A consequence of this patch is that fma is now tested for correct
presence or absence of "inexact" exceptions, where previously this
wasn't tested because I didn't want to try to add that test coverage
manually to all the existing tests. As far as I know, the existing
fma implementations are already correct in this regard.
This patch provides the first cases where the gen-auto-libm-tests
support for distinguishing before-rounding/after-rounding underflow
actually produces separate entries in auto-libm-test-out (for
functions without exactly determined results, the affected cases are
all considered underflow-optional, so this only affects functions like
fma with exactly determined results). I didn't see any signs of
problems with this logic in the output.
Tested x86_64 and x86.
* math/auto-libm-test-in: Add tests of fma.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (fma_test_data): Use AUTO_TESTS_fff_f.
(fma_towardzero_test_data): Likewise.
(fma_downward_test_data): Likewise.
(fma_upward_test_data): Likewise.
* math/gen-auto-libm-tests.c (rounding_mode_desc): Add field
mpc_mode.
(rounding_modes): Add values for new field.
(func_calc_method): Add value mpfr_fff_f.
(func_calc_desc): Add mpfr_fff_f union field.
(test_function): Add field exact_args.
(FUNC): Add macro argument EXACT_ARGS.
(FUNC_mpfr_f_f): Update call to FUNC.
(FUNC_mpfr_f_f): Likewise.
(FUNC_mpfr_ff_f): Likewise.
(FUNC_mpfr_if_f): Likewise.
(FUNC_mpc_c_f): Likewise.
(FUNC_mpc_c_c): Likewise.
(test_functions): Add fma. Update calls to FUNC.
(handle_input_arg): Add argument exact_args.
(add_test): Update call to handle_input_arg.
(calc_generic_results): Add argument mode. Handle mpfr_fff_f.
(output_for_one_input_case): Update call to calc_generic_results.
Recalculate exact zero results in each rounding mode.
2014-02-18 22:48:51 +01:00
|
|
|
# Bug 6801: errno setting may be missing.
|
|
|
|
fma min min 0 missing-errno
|
|
|
|
fma min min -0 missing-errno
|
|
|
|
fma min -min 0 missing-errno
|
|
|
|
fma min -min -0 missing-errno
|
|
|
|
fma -min min 0 missing-errno
|
|
|
|
fma -min min -0 missing-errno
|
|
|
|
fma -min -min 0 missing-errno
|
|
|
|
fma -min -min -0 missing-errno
|
|
|
|
|
|
|
|
# Bug 6801: errno setting may be missing.
|
|
|
|
# Bug 13304: results on directed rounding may be incorrect.
|
|
|
|
fma max max min missing-errno xfail-rounding:ldbl-128ibm
|
|
|
|
fma max max -min missing-errno xfail-rounding:ldbl-128ibm
|
|
|
|
fma max -max min missing-errno xfail-rounding:ldbl-128ibm
|
|
|
|
fma max -max -min missing-errno xfail-rounding:ldbl-128ibm
|
|
|
|
fma -max max min missing-errno xfail-rounding:ldbl-128ibm
|
|
|
|
fma -max max -min missing-errno xfail-rounding:ldbl-128ibm
|
|
|
|
fma -max -max min missing-errno xfail-rounding:ldbl-128ibm
|
|
|
|
fma -max -max -min missing-errno xfail-rounding:ldbl-128ibm
|
|
|
|
|
|
|
|
fma 0x1.7ff8p+13 0x1.000002p+0 0x1.ffffp-24
|
|
|
|
fma 0x1.fffp+0 0x1.00001p+0 -0x1.fffp+0
|
|
|
|
fma 0x1.9abcdep+127 0x0.9abcdep-126 -0x1.f08948p+0
|
|
|
|
fma 0x1.9abcdep+100 0x0.9abcdep-126 -0x1.f08948p-27
|
|
|
|
fma 0x1.fffffep+127 0x1.001p+0 -0x1.fffffep+127
|
|
|
|
fma -0x1.fffffep+127 0x1.fffffep+0 0x1.fffffep+127
|
|
|
|
fma 0x1.fffffep+127 2.0 -0x1.fffffep+127
|
|
|
|
fma 0x1.4p-126 0x1.000004p-1 0x1p-128
|
|
|
|
fma -0x1.4p-126 0x1.000004p-1 -0x1p-128
|
|
|
|
fma 0x1.fffff8p-126 0x1.000002p-1 0x1p-149
|
|
|
|
fma -0x1.fffff8p-126 0x1.000002p-1 -0x1p-149
|
|
|
|
fma 0x1p-149 0x1p-1 0x0.fffffep-126
|
|
|
|
fma -0x1p-149 0x1p-1 -0x0.fffffep-126
|
|
|
|
fma 0x1p-149 0x1.1p-1 0x0.fffffep-126
|
|
|
|
fma -0x1p-149 0x1.1p-1 -0x0.fffffep-126
|
|
|
|
fma 0x1p-149 0x1p-149 0x1p127
|
|
|
|
fma 0x1p-149 -0x1p-149 0x1p127
|
|
|
|
fma 0x1p-149 0x1p-149 -0x1p127
|
|
|
|
fma 0x1p-149 -0x1p-149 -0x1p127
|
|
|
|
fma 0x1p-149 0x1p-149 0x1p-126
|
|
|
|
fma 0x1p-149 -0x1p-149 0x1p-126
|
|
|
|
fma 0x1p-149 0x1p-149 -0x1p-126
|
|
|
|
fma 0x1p-149 -0x1p-149 -0x1p-126
|
|
|
|
fma 0x1p-149 0x1p-149 0x0.fffffep-126
|
|
|
|
fma 0x1p-149 -0x1p-149 0x0.fffffep-126
|
|
|
|
fma 0x1p-149 0x1p-149 -0x0.fffffep-126
|
|
|
|
fma 0x1p-149 -0x1p-149 -0x0.fffffep-126
|
|
|
|
fma 0x1p-149 0x1p-149 0x1p-149
|
|
|
|
# Bug 6801: errno setting may be missing.
|
|
|
|
fma 0x1p-149 -0x1p-149 0x1p-149 missing-errno
|
|
|
|
fma 0x1p-149 0x1p-149 -0x1p-149 missing-errno
|
|
|
|
fma 0x1p-149 -0x1p-149 -0x1p-149
|
|
|
|
fma 0x0.fffp0 0x0.fffp0 -0x0.ffep0
|
|
|
|
fma 0x0.fffp0 -0x0.fffp0 0x0.ffep0
|
|
|
|
fma -0x0.fffp0 0x0.fffp0 0x0.ffep0
|
|
|
|
fma -0x0.fffp0 -0x0.fffp0 -0x0.ffep0
|
|
|
|
fma 0x1.000002p-126 0x1.000002p-26 0x1p127
|
|
|
|
fma 0x1.000002p-126 -0x1.000002p-26 0x1p127
|
|
|
|
fma 0x1.000002p-126 0x1.000002p-26 -0x1p127
|
|
|
|
fma 0x1.000002p-126 -0x1.000002p-26 -0x1p127
|
|
|
|
fma 0x1.000002p-126 0x1.000002p-26 0x1p103
|
|
|
|
fma 0x1.000002p-126 -0x1.000002p-26 0x1p103
|
|
|
|
fma 0x1.000002p-126 0x1.000002p-26 -0x1p103
|
|
|
|
fma 0x1.000002p-126 -0x1.000002p-26 -0x1p103
|
|
|
|
|
|
|
|
fma 0x1.7fp+13 0x1.0000000000001p+0 0x1.ffep-48
|
|
|
|
fma 0x1.fffp+0 0x1.0000000000001p+0 -0x1.fffp+0
|
|
|
|
fma 0x1.0000002p+0 0x1.ffffffcp-1 0x1p-300
|
|
|
|
fma 0x1.0000002p+0 0x1.ffffffcp-1 -0x1p-300
|
|
|
|
fma 0x1.deadbeef2feedp+1023 0x0.deadbeef2feedp-1022 -0x1.a05f8c01a4bfbp+1
|
|
|
|
fma 0x1.deadbeef2feedp+900 0x0.deadbeef2feedp-1022 -0x1.a05f8c01a4bfbp-122
|
|
|
|
fma 0x1.fffffffffffffp+1023 0x1.001p+0 -0x1.fffffffffffffp+1023
|
|
|
|
fma -0x1.fffffffffffffp+1023 0x1.fffffffffffffp+0 0x1.fffffffffffffp+1023
|
|
|
|
fma 0x1.fffffffffffffp+1023 2.0 -0x1.fffffffffffffp+1023
|
|
|
|
# Bug 6801: errno setting may be missing.
|
|
|
|
fma 0x1.6a09e667f3bccp-538 0x1.6a09e667f3bccp-538 0.0 missing-errno
|
|
|
|
fma 0x1.deadbeef2feedp-495 0x1.deadbeef2feedp-495 -0x1.bf86a5786a574p-989
|
|
|
|
fma 0x1.deadbeef2feedp-503 0x1.deadbeef2feedp-503 -0x1.bf86a5786a574p-1005
|
|
|
|
fma 0x1p-537 0x1p-538 0x1p-1074
|
|
|
|
fma 0x1.7fffff8p-968 0x1p-106 0x0.000001p-1022
|
|
|
|
fma 0x1.4000004p-967 0x1p-106 0x0.000001p-1022
|
|
|
|
fma 0x1.4p-967 -0x1p-106 -0x0.000001p-1022
|
|
|
|
fma -0x1.19cab66d73e17p-959 0x1.c7108a8c5ff51p-107 -0x0.80b0ad65d9b64p-1022
|
|
|
|
fma -0x1.d2eaed6e8e9d3p-979 -0x1.4e066c62ac9ddp-63 -0x0.9245e6b003454p-1022
|
|
|
|
fma 0x1.153d650bb9f06p-907 0x1.2d01230d48407p-125 -0x0.b278d5acfc3cp-1022
|
|
|
|
fma -0x1.fffffffffffffp-711 0x1.fffffffffffffp-275 0x1.fffffe00007ffp-983
|
|
|
|
fma 0x1.4p-1022 0x1.0000000000002p-1 0x1p-1024
|
|
|
|
fma -0x1.4p-1022 0x1.0000000000002p-1 -0x1p-1024
|
|
|
|
fma 0x1.ffffffffffffcp-1022 0x1.0000000000001p-1 0x1p-1074
|
|
|
|
fma -0x1.ffffffffffffcp-1022 0x1.0000000000001p-1 -0x1p-1074
|
|
|
|
fma 0x1p-1074 0x1p-1 0x0.fffffffffffffp-1022
|
|
|
|
fma -0x1p-1074 0x1p-1 -0x0.fffffffffffffp-1022
|
|
|
|
fma 0x1p-1074 0x1.1p-1 0x0.fffffffffffffp-1022
|
|
|
|
fma -0x1p-1074 0x1.1p-1 -0x0.fffffffffffffp-1022
|
|
|
|
fma 0x1p-1074 0x1p-1074 0x1p1023
|
|
|
|
fma 0x1p-1074 -0x1p-1074 0x1p1023
|
|
|
|
fma 0x1p-1074 0x1p-1074 -0x1p1023
|
|
|
|
fma 0x1p-1074 -0x1p-1074 -0x1p1023
|
|
|
|
fma 0x1p-1074 0x1p-1074 0x1p-1022
|
|
|
|
fma 0x1p-1074 -0x1p-1074 0x1p-1022
|
|
|
|
fma 0x1p-1074 0x1p-1074 -0x1p-1022
|
|
|
|
fma 0x1p-1074 -0x1p-1074 -0x1p-1022
|
|
|
|
fma 0x1p-1074 0x1p-1074 0x0.fffffffffffffp-1022
|
|
|
|
fma 0x1p-1074 -0x1p-1074 0x0.fffffffffffffp-1022
|
|
|
|
fma 0x1p-1074 0x1p-1074 -0x0.fffffffffffffp-1022
|
|
|
|
fma 0x1p-1074 -0x1p-1074 -0x0.fffffffffffffp-1022
|
|
|
|
fma 0x1p-1074 0x1p-1074 0x1p-1074
|
|
|
|
# Bug 6801: errno setting may be missing.
|
|
|
|
fma 0x1p-1074 -0x1p-1074 0x1p-1074 missing-errno
|
|
|
|
fma 0x1p-1074 0x1p-1074 -0x1p-1074 missing-errno
|
|
|
|
fma 0x1p-1074 -0x1p-1074 -0x1p-1074
|
|
|
|
fma 0x0.fffffffffffff8p0 0x0.fffffffffffff8p0 -0x0.fffffffffffffp0
|
|
|
|
fma 0x0.fffffffffffff8p0 -0x0.fffffffffffff8p0 0x0.fffffffffffffp0
|
|
|
|
fma -0x0.fffffffffffff8p0 0x0.fffffffffffff8p0 0x0.fffffffffffffp0
|
|
|
|
fma -0x0.fffffffffffff8p0 -0x0.fffffffffffff8p0 -0x0.fffffffffffffp0
|
|
|
|
fma 0x1.0000000000001p-1022 0x1.0000000000001p-55 0x1p1023
|
|
|
|
fma 0x1.0000000000001p-1022 -0x1.0000000000001p-55 0x1p1023
|
|
|
|
fma 0x1.0000000000001p-1022 0x1.0000000000001p-55 -0x1p1023
|
|
|
|
fma 0x1.0000000000001p-1022 -0x1.0000000000001p-55 -0x1p1023
|
|
|
|
fma 0x1.0000000000001p-1022 0x1.0000000000001p-55 0x1p970
|
|
|
|
fma 0x1.0000000000001p-1022 -0x1.0000000000001p-55 0x1p970
|
|
|
|
fma 0x1.0000000000001p-1022 0x1.0000000000001p-55 -0x1p970
|
|
|
|
fma 0x1.0000000000001p-1022 -0x1.0000000000001p-55 -0x1p970
|
|
|
|
|
|
|
|
fma -0x8.03fcp+3696 0xf.fffffffffffffffp-6140 0x8.3ffffffffffffffp-2450
|
|
|
|
fma 0x9.fcp+2033 -0x8.000e1f000ff800fp-3613 -0xf.fffffffffffc0ffp-1579
|
|
|
|
fma 0xc.7fc000003ffffffp-1194 0x8.1e0003fffffffffp+15327 -0x8.fffep+14072
|
|
|
|
fma -0x8.0001fc000000003p+1798 0xcp-2230 0x8.f7e000000000007p-468
|
|
|
|
fma 0xc.0000000000007ffp+10130 -0x8.000000000000001p+4430 0xc.07000000001ffffp+14513
|
|
|
|
fma 0xb.ffffp-4777 0x8.000000fffffffffp-11612 -0x0.3800fff8p-16385
|
|
|
|
fma 0x1.4p-16382 0x1.0000000000000004p-1 0x1p-16384
|
|
|
|
fma -0x1.4p-16382 0x1.0000000000000004p-1 -0x1p-16384
|
|
|
|
fma 0x1.fffffffffffffff8p-16382 0x1.0000000000000002p-1 0x1p-16445
|
|
|
|
fma -0x1.fffffffffffffff8p-16382 0x1.0000000000000002p-1 -0x1p-16445
|
|
|
|
fma 0x1p-16445 0x1p-1 0x0.fffffffffffffffep-16382
|
|
|
|
fma -0x1p-16445 0x1p-1 -0x0.fffffffffffffffep-16382
|
|
|
|
fma 0x1p-16445 0x1.1p-1 0x0.fffffffffffffffep-16382
|
|
|
|
fma -0x1p-16445 0x1.1p-1 -0x0.fffffffffffffffep-16382
|
|
|
|
fma 0x1p-16445 0x1p-16445 0x1p16383
|
|
|
|
fma 0x1p-16445 -0x1p-16445 0x1p16383
|
|
|
|
fma 0x1p-16445 0x1p-16445 -0x1p16383
|
|
|
|
fma 0x1p-16445 -0x1p-16445 -0x1p16383
|
|
|
|
fma 0x1p-16445 0x1p-16445 0x1p-16382
|
|
|
|
fma 0x1p-16445 -0x1p-16445 0x1p-16382
|
|
|
|
fma 0x1p-16445 0x1p-16445 -0x1p-16382
|
|
|
|
fma 0x1p-16445 -0x1p-16445 -0x1p-16382
|
|
|
|
fma 0x1p-16445 0x1p-16445 0x0.fffffffffffffffep-16382
|
|
|
|
fma 0x1p-16445 -0x1p-16445 0x0.fffffffffffffffep-16382
|
|
|
|
fma 0x1p-16445 0x1p-16445 -0x0.fffffffffffffffep-16382
|
|
|
|
fma 0x1p-16445 -0x1p-16445 -0x0.fffffffffffffffep-16382
|
|
|
|
fma 0x1p-16445 0x1p-16445 0x1p-16445
|
|
|
|
# Bug 6801: errno setting may be missing.
|
|
|
|
fma 0x1p-16445 -0x1p-16445 0x1p-16445 missing-errno
|
|
|
|
fma 0x1p-16445 0x1p-16445 -0x1p-16445 missing-errno
|
|
|
|
fma 0x1p-16445 -0x1p-16445 -0x1p-16445
|
|
|
|
fma 0x0.ffffffffffffffffp0 0x0.ffffffffffffffffp0 -0x0.fffffffffffffffep0
|
|
|
|
fma 0x0.ffffffffffffffffp0 -0x0.ffffffffffffffffp0 0x0.fffffffffffffffep0
|
|
|
|
fma -0x0.ffffffffffffffffp0 0x0.ffffffffffffffffp0 0x0.fffffffffffffffep0
|
|
|
|
fma -0x0.ffffffffffffffffp0 -0x0.ffffffffffffffffp0 -0x0.fffffffffffffffep0
|
|
|
|
fma 0x1.0000000000000002p-16382 0x1.0000000000000002p-66 0x1p16383
|
|
|
|
fma 0x1.0000000000000002p-16382 -0x1.0000000000000002p-66 0x1p16383
|
|
|
|
fma 0x1.0000000000000002p-16382 0x1.0000000000000002p-66 -0x1p16383
|
|
|
|
fma 0x1.0000000000000002p-16382 -0x1.0000000000000002p-66 -0x1p16383
|
|
|
|
fma 0x1.0000000000000002p-16382 0x1.0000000000000002p-66 0x1p16319
|
|
|
|
fma 0x1.0000000000000002p-16382 -0x1.0000000000000002p-66 0x1p16319
|
|
|
|
fma 0x1.0000000000000002p-16382 0x1.0000000000000002p-66 -0x1p16319
|
|
|
|
fma 0x1.0000000000000002p-16382 -0x1.0000000000000002p-66 -0x1p16319
|
|
|
|
|
|
|
|
fma 0x1.bb2de33e02ccbbfa6e245a7c1f71p-2584 -0x1.6b500daf0580d987f1bc0cadfcddp-13777 0x1.613cd91d9fed34b33820e5ab9d8dp-16378
|
|
|
|
fma -0x1.f949b880cacb0f0c61540105321dp-5954 -0x1.3876cec84b4140f3bd6198731b7ep-10525 -0x0.a5dc1c6cfbc498c54fb0b504bf19p-16382
|
|
|
|
fma -0x1.0000fffffffffp-16221 0x1.0000001fffff8007fep-239 0x0.ff87ffffffffffffe000003fffffp-16382
|
|
|
|
fma -0x1.ac79c9376ef447f3827c9e9de008p-2228 -0x1.5ba830022b6139e21fbe7270cad8p-6314 0x1.e8282b6a26bb6a9daf5c8e73e9f9p-8616
|
|
|
|
fma -0x1.c69749ec574caaa2ab8e97ddb9f3p+2652 0x1.f34235ff9d095449c29b4831b62dp+3311 0x1.fbe4302df23354dbd0c4d3cfe606p+5879
|
|
|
|
fma -0x1.ca8835fc6ecfb5398625fc891be5p-1686 0x1.621e1972bbe2180e5be9dd7d8df5p-7671 -0x1.7d2d21b73b52cf20dec2a83902a4p-9395
|
|
|
|
fma -0x1.55cff679ec49c2541fab41fc843ep-11819 0x1.e60e9f464f9e8df0509647c7c971p+12325 0x1.eaa2a7649d765c2f564f7a5beca7p+454
|
|
|
|
fma 0x1.f0e7b1454908576f2537d863cf9bp+11432 0x1.cdce52f09d4ca76e68706f34b5d5p-1417 -0x1.2e986187c70f146235ea2066e486p+9979
|
|
|
|
fma 0x1.f102f7da4a57a3a4aab620e29452p-3098 -0x1.cc06a4ff40248f9e2dcc4b6afd84p-11727 0x1.d512a11126b5ac8ed8973b8580c8p-14849
|
|
|
|
fma -0x1.fc47ac7434b993cd8dcb2b431f25p-3816 0x1.fbc9750da8468852d84558e1db6dp-5773 -0x1.00a98abf783f75c40fe5b7a37d86p-9607
|
|
|
|
fma 0x1.00000000000007ffffffffffffffp-9045 -0x1.ffffffffffff80000001ffffffffp+4773 -0x1.f8p-4316
|
|
|
|
fma 0x1.4e922764c90701d4a2f21d01893dp-8683 -0x1.955a12e2d7c9447c27fa022fc865p+212 -0x1.e9634462eaef96528b90b6944578p-8521
|
|
|
|
fma 0x1.801181509c03bdbef10d6165588cp-15131 0x1.ad86f8e57d3d40bfa8007780af63p-368 -0x1.6e9df0dab1c9f1d7a6043c390741p-15507
|
|
|
|
fma 0x1.ffffffffffffffp0 0x1.000000000000008p0 -0x1p-1000
|
|
|
|
fma 0x1.4p-16382 0x1.0000000000000000000000000002p-1 0x1p-16384
|
|
|
|
fma -0x1.4p-16382 0x1.0000000000000000000000000002p-1 -0x1p-16384
|
|
|
|
fma 0x1.fffffffffffffffffffffffffffcp-16382 0x1.0000000000000000000000000001p-1 0x1p-16494
|
|
|
|
fma -0x1.fffffffffffffffffffffffffffcp-16382 0x1.0000000000000000000000000001p-1 -0x1p-16494
|
|
|
|
fma 0x1p-16494 0x1p-1 0x0.ffffffffffffffffffffffffffffp-16382
|
|
|
|
fma -0x1p-16494 0x1p-1 -0x0.ffffffffffffffffffffffffffffp-16382
|
|
|
|
fma 0x1p-16494 0x1.1p-1 0x0.ffffffffffffffffffffffffffffp-16382
|
|
|
|
fma -0x1p-16494 0x1.1p-1 -0x0.ffffffffffffffffffffffffffffp-16382
|
|
|
|
fma 0x1p-16494 0x1p-16494 0x1p16383
|
|
|
|
fma 0x1p-16494 -0x1p-16494 0x1p16383
|
|
|
|
fma 0x1p-16494 0x1p-16494 -0x1p16383
|
|
|
|
fma 0x1p-16494 -0x1p-16494 -0x1p16383
|
|
|
|
fma 0x1p-16494 0x1p-16494 0x1p-16382
|
|
|
|
fma 0x1p-16494 -0x1p-16494 0x1p-16382
|
|
|
|
fma 0x1p-16494 0x1p-16494 -0x1p-16382
|
|
|
|
fma 0x1p-16494 -0x1p-16494 -0x1p-16382
|
|
|
|
fma 0x1p-16494 0x1p-16494 0x0.ffffffffffffffffffffffffffffp-16382
|
|
|
|
fma 0x1p-16494 -0x1p-16494 0x0.ffffffffffffffffffffffffffffp-16382
|
|
|
|
fma 0x1p-16494 0x1p-16494 -0x0.ffffffffffffffffffffffffffffp-16382
|
|
|
|
fma 0x1p-16494 -0x1p-16494 -0x0.ffffffffffffffffffffffffffffp-16382
|
|
|
|
fma 0x1p-16494 0x1p-16494 0x1p-16494
|
|
|
|
# Bug 6801: errno setting may be missing.
|
|
|
|
fma 0x1p-16494 -0x1p-16494 0x1p-16494 missing-errno
|
|
|
|
fma 0x1p-16494 0x1p-16494 -0x1p-16494 missing-errno
|
|
|
|
fma 0x1p-16494 -0x1p-16494 -0x1p-16494
|
|
|
|
fma 0x0.ffffffffffffffffffffffffffff8p0 0x0.ffffffffffffffffffffffffffff8p0 -0x0.ffffffffffffffffffffffffffffp0
|
|
|
|
fma 0x0.ffffffffffffffffffffffffffff8p0 -0x0.ffffffffffffffffffffffffffff8p0 0x0.ffffffffffffffffffffffffffffp0
|
|
|
|
fma -0x0.ffffffffffffffffffffffffffff8p0 0x0.ffffffffffffffffffffffffffff8p0 0x0.ffffffffffffffffffffffffffffp0
|
|
|
|
fma -0x0.ffffffffffffffffffffffffffff8p0 -0x0.ffffffffffffffffffffffffffff8p0 -0x0.ffffffffffffffffffffffffffffp0
|
|
|
|
fma 0x1.0000000000000000000000000001p-16382 0x1.0000000000000000000000000001p-66 0x1p16383
|
|
|
|
fma 0x1.0000000000000000000000000001p-16382 -0x1.0000000000000000000000000001p-66 0x1p16383
|
|
|
|
fma 0x1.0000000000000000000000000001p-16382 0x1.0000000000000000000000000001p-66 -0x1p16383
|
|
|
|
fma 0x1.0000000000000000000000000001p-16382 -0x1.0000000000000000000000000001p-66 -0x1p16383
|
|
|
|
fma 0x1.0000000000000000000000000001p-16382 0x1.0000000000000000000000000001p-66 0x1p16319
|
|
|
|
fma 0x1.0000000000000000000000000001p-16382 -0x1.0000000000000000000000000001p-66 0x1p16319
|
|
|
|
fma 0x1.0000000000000000000000000001p-16382 0x1.0000000000000000000000000001p-66 -0x1p16319
|
|
|
|
fma 0x1.0000000000000000000000000001p-16382 -0x1.0000000000000000000000000001p-66 -0x1p16319
|
|
|
|
|
2013-12-17 14:42:13 +01:00
|
|
|
hypot 0 0
|
|
|
|
hypot 0 -0
|
|
|
|
hypot -0 0
|
|
|
|
hypot -0 -0
|
2013-12-16 22:18:07 +01:00
|
|
|
# hypot (x,y) == hypot (+-x, +-y).
|
|
|
|
hypot 0.7 12.4
|
|
|
|
hypot -0.7 12.4
|
|
|
|
hypot 0.7 -12.4
|
|
|
|
hypot -0.7 -12.4
|
|
|
|
hypot 12.4 0.7
|
|
|
|
hypot -12.4 0.7
|
|
|
|
hypot 12.4 -0.7
|
|
|
|
hypot -12.4 -0.7
|
|
|
|
# hypot (x,0) == fabs (x).
|
|
|
|
hypot 0.75 0
|
|
|
|
hypot -0.75 0
|
|
|
|
hypot -5.7e7 0
|
|
|
|
hypot 0.75 1.25
|
|
|
|
hypot 1.0 0x1p-61
|
|
|
|
hypot 0x1p+0 0x1.fp-129
|
2013-12-17 14:43:40 +01:00
|
|
|
hypot 0x1.23456789abcdef0123456789ab8p-500 0x1.23456789abcdef0123456789ab8p-500
|
2013-12-16 22:18:07 +01:00
|
|
|
hypot 0x3p125 0x4p125 no-test-inline:flt-32
|
|
|
|
hypot 0x1.234566p-126 0x1.234566p-126 no-test-inline:flt-32
|
|
|
|
hypot 0x3p1021 0x4p1021 no-test-inline:dbl-64
|
|
|
|
hypot 0x1p+0 0x0.3ep-1022 no-test-inline:dbl-64
|
|
|
|
hypot 0x3p16381 0x4p16381 no-test-inline
|
|
|
|
hypot 0x1p-149 0x1p-149
|
|
|
|
hypot 0x1p-1074 0x1p-1074
|
2013-12-17 14:42:13 +01:00
|
|
|
hypot 0x1p-16445 0x1p-16445 no-test-inline
|
|
|
|
hypot 0x1p-16494 0x1p-16494 no-test-inline
|
|
|
|
hypot 0x0.fffffep-126 0x0.fp-127
|
|
|
|
hypot 0x0.fffffep-126 0x0.fp-130
|
|
|
|
hypot 0x0.fffffffffffffp-1022 0x0.fp-1023
|
|
|
|
hypot 0x0.fffffffffffffp-1022 0x0.fp-1026
|
2013-12-18 12:46:16 +01:00
|
|
|
hypot 0x0.ffffffp-16382 0x0.fp-16383 no-test-inline
|
|
|
|
hypot 0x0.ffffffp-16382 0x0.fp-16386 no-test-inline
|
|
|
|
hypot 0 min_subnorm no-test-inline
|
2013-12-16 22:18:07 +01:00
|
|
|
|
2013-12-03 17:22:49 +01:00
|
|
|
j0 -1.0
|
|
|
|
j0 0.0
|
|
|
|
j0 0.125
|
|
|
|
j0 0.75
|
|
|
|
j0 1.0
|
|
|
|
j0 1.5
|
|
|
|
j0 2.0
|
|
|
|
j0 8.0
|
|
|
|
j0 10.0
|
|
|
|
j0 4.0
|
|
|
|
j0 -4.0
|
|
|
|
j0 0x1.d7ce3ap+107
|
|
|
|
j0 -0x1.001000001p+593
|
|
|
|
j0 0x1p1023
|
|
|
|
j0 0x1p16382
|
|
|
|
j0 0x1p16383
|
|
|
|
|
|
|
|
j1 -1.0
|
|
|
|
j1 0.0
|
|
|
|
j1 0.125
|
|
|
|
j1 0.75
|
|
|
|
j1 1.0
|
|
|
|
j1 1.5
|
|
|
|
j1 2.0
|
|
|
|
j1 8.0
|
|
|
|
j1 10.0
|
|
|
|
j1 0x1.3ffp+74
|
|
|
|
j1 0x1.ff00000000002p+840
|
|
|
|
j1 0x1p1023
|
|
|
|
j1 0x1p16382
|
|
|
|
j1 0x1p16383
|
|
|
|
|
2013-12-18 18:59:29 +01:00
|
|
|
# jn (0, x) == j0 (x).
|
|
|
|
jn 0 -1.0
|
|
|
|
jn 0 0.0
|
|
|
|
jn 0 0.125
|
|
|
|
jn 0 0.75
|
|
|
|
jn 0 1.0
|
|
|
|
jn 0 1.5
|
|
|
|
jn 0 2.0
|
|
|
|
jn 0 8.0
|
|
|
|
jn 0 10.0
|
|
|
|
jn 0 4.0
|
|
|
|
jn 0 -4.0
|
|
|
|
|
|
|
|
# jn (1, x) == j1 (x).
|
|
|
|
jn 1 -1.0
|
|
|
|
jn 1 0.0
|
|
|
|
jn 1 0.125
|
|
|
|
jn 1 0.75
|
|
|
|
jn 1 1.0
|
|
|
|
jn 1 1.5
|
|
|
|
jn 1 2.0
|
|
|
|
jn 1 8.0
|
|
|
|
jn 1 10.0
|
|
|
|
|
|
|
|
jn 3 -1.0
|
|
|
|
jn 3 0.0
|
|
|
|
jn 3 0.125
|
|
|
|
jn 3 0.75
|
|
|
|
jn 3 1.0
|
|
|
|
jn 3 2.0
|
|
|
|
jn 3 10.0
|
|
|
|
|
|
|
|
jn 10 -1.0
|
|
|
|
jn 10 0.0
|
|
|
|
jn 10 0.125
|
|
|
|
jn 10 0.75
|
|
|
|
jn 10 1.0
|
|
|
|
jn 10 2.0
|
|
|
|
jn 10 10.0
|
|
|
|
|
|
|
|
jn 2 2.4048255576957729
|
|
|
|
jn 3 2.4048255576957729
|
|
|
|
jn 4 2.4048255576957729
|
|
|
|
jn 5 2.4048255576957729
|
|
|
|
jn 6 2.4048255576957729
|
|
|
|
jn 7 2.4048255576957729
|
|
|
|
jn 8 2.4048255576957729
|
|
|
|
jn 9 2.4048255576957729
|
|
|
|
|
|
|
|
jn 2 0x1.ffff62p+99
|
|
|
|
jn 2 0x1p127
|
|
|
|
jn 2 0x1p1023
|
|
|
|
jn 2 0x1p16383
|
|
|
|
|
2013-12-09 00:56:28 +01:00
|
|
|
lgamma max
|
|
|
|
lgamma 1
|
|
|
|
lgamma 3
|
|
|
|
lgamma 0.5
|
|
|
|
lgamma -0.5
|
|
|
|
lgamma 0.7
|
|
|
|
lgamma 1.2
|
|
|
|
lgamma 0x1p-5
|
|
|
|
lgamma -0x1p-5
|
|
|
|
lgamma 0x1p-10
|
|
|
|
lgamma -0x1p-10
|
|
|
|
lgamma 0x1p-15
|
|
|
|
lgamma -0x1p-15
|
|
|
|
lgamma 0x1p-20
|
|
|
|
lgamma -0x1p-20
|
|
|
|
lgamma 0x1p-25
|
|
|
|
lgamma -0x1p-25
|
|
|
|
lgamma 0x1p-30
|
|
|
|
lgamma -0x1p-30
|
|
|
|
lgamma 0x1p-40
|
|
|
|
lgamma -0x1p-40
|
|
|
|
lgamma 0x1p-50
|
|
|
|
lgamma -0x1p-50
|
|
|
|
lgamma 0x1p-60
|
|
|
|
lgamma -0x1p-60
|
|
|
|
lgamma 0x1p-64
|
|
|
|
lgamma -0x1p-64
|
|
|
|
lgamma 0x1p-70
|
|
|
|
lgamma -0x1p-70
|
|
|
|
lgamma 0x1p-100
|
|
|
|
lgamma -0x1p-100
|
|
|
|
lgamma 0x1p-126
|
|
|
|
lgamma -0x1p-126
|
|
|
|
lgamma 0x1p-149
|
|
|
|
lgamma -0x1p-149
|
|
|
|
lgamma 0x1p-200
|
|
|
|
lgamma -0x1p-200
|
|
|
|
lgamma 0x1p-500
|
|
|
|
lgamma -0x1p-500
|
|
|
|
lgamma 0x1p-1000
|
|
|
|
lgamma -0x1p-1000
|
|
|
|
lgamma 0x1p-1022
|
|
|
|
lgamma -0x1p-1022
|
|
|
|
lgamma 0x1p-1074
|
|
|
|
lgamma -0x1p-1074
|
|
|
|
lgamma 0x1p-5000
|
|
|
|
lgamma -0x1p-5000
|
|
|
|
lgamma 0x1p-10000
|
|
|
|
lgamma -0x1p-10000
|
|
|
|
lgamma 0x1p-16382
|
|
|
|
lgamma -0x1p-16382
|
|
|
|
lgamma 0x1p-16445
|
|
|
|
lgamma -0x1p-16445
|
|
|
|
lgamma 0x1p-16494
|
|
|
|
lgamma -0x1p-16494
|
|
|
|
|
2013-12-05 14:54:50 +01:00
|
|
|
log 1
|
|
|
|
log e
|
|
|
|
log 1/e
|
|
|
|
log 2
|
|
|
|
log 10
|
|
|
|
log 0.75
|
2013-12-18 12:38:27 +01:00
|
|
|
log min
|
|
|
|
log min_subnorm
|
2013-12-05 14:54:50 +01:00
|
|
|
|
|
|
|
log10 1
|
|
|
|
log10 0.1
|
|
|
|
log10 10.0
|
|
|
|
log10 100.0
|
|
|
|
log10 10000.0
|
|
|
|
log10 e
|
|
|
|
log10 0.75
|
2013-12-18 12:38:27 +01:00
|
|
|
log10 min
|
|
|
|
log10 min_subnorm
|
2013-12-05 14:54:50 +01:00
|
|
|
|
|
|
|
log1p 0
|
|
|
|
log1p -0
|
|
|
|
log1p e-1
|
|
|
|
log1p -0.25
|
|
|
|
log1p -0.875
|
2013-12-18 12:38:27 +01:00
|
|
|
# Bug 16339: underflow exception may be missing.
|
|
|
|
log1p min missing-underflow
|
|
|
|
log1p min_subnorm missing-underflow
|
|
|
|
log1p -min missing-underflow
|
|
|
|
log1p -min_subnorm missing-underflow
|
2014-05-14 14:38:56 +02:00
|
|
|
log1p 0x1p10
|
|
|
|
log1p 0x1p20
|
|
|
|
log1p 0x1p30
|
|
|
|
log1p 0x1p50
|
|
|
|
log1p 0x1p60
|
|
|
|
log1p 0x1p100
|
|
|
|
log1p 0x1p1000
|
|
|
|
log1p max
|
2013-12-05 14:54:50 +01:00
|
|
|
|
|
|
|
log2 1
|
|
|
|
log2 e
|
|
|
|
log2 2.0
|
|
|
|
log2 16.0
|
|
|
|
log2 256.0
|
|
|
|
log2 0.75
|
Add more tests of log2.
In testing for x86_64 on an AMD processor, I observed libm test
failures of the form:
testing long double (without inline functions)
Failure: Test: log2_downward (0x2.b7e151628aed4p+0)
Result:
is: 1.44269504088896356633e+00 0xb.8aa3b295c17f67600000p-3
should be: 1.44269504088896356622e+00 0xb.8aa3b295c17f67500000p-3
difference: 1.08420217248550443400e-19 0x8.00000000000000000000p-66
ulp : 1.0000
max.ulp : 0.0000
Maximal error of `log2_downward'
is : 1 ulp
accepted: 0 ulp
These issues arise because the maximum ulps when regenerating on one
processor are not the same as on another processor, so regeneration on
several processors may be needed when updating libm-test-ulps to avoid
failures for some users testing glibc - but such regeneration on
multiple processors is inconvenient. Causes can be: on x86 and, for
x86_64, for long double, variation in results of x87 instructions for
transcendental operations between processors; on x86, variation in
compiler excess precision between compiler versions and
configurations; on any processor where the compiler may contract
expressions using fused multiply-add, variation in what contraction
occurs.
Although it's hard to be sure libm-test-ulps covers all ulps that may
be seen in any configuration for the given architecture, in practice
it helps simply to add wider test coverage to make it more likely
that, when testing on one processor, the ulps seen are the biggest
that can be seen for that function on that processor, and hopefully
they are also the biggest that can be seen for that function in other
configurations for that architecture. Thus, this patch adds some
tests of log2 that increase the ulps I see on x86_64 on an Intel
processor, so that hopefully future from-scratch regenerations on that
processor will produce ulps big enough not to have errors from testing
on AMD processors. These tests were found by randomly generating
inputs and seeing what produced ulps larger than those currently in
libm-test-ulps. Of course such increases also improve the accuracy of
the empirical table of known ulps generated from libm-test-ulps files
that goes in the manual.
Tested for x86_64 and x86 and ulps updated accordingly.
* math/auto-libm-test-in: Add more tests of log2.
* math/auto-libm-test-out: Regenerated.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2015-03-25 00:06:28 +01:00
|
|
|
log2 0x1.28d3b4p+0
|
|
|
|
log2 0xe.d99dap-4
|
|
|
|
log2 0x1.63d202d04392cp+0
|
|
|
|
log2 0xf.d9ce0b1a50e08p-4
|
|
|
|
log2 0x1.07465bdc7e41b52ep+0
|
|
|
|
log2 0xf.4dfb4p-48
|
2013-12-18 12:38:27 +01:00
|
|
|
log2 min
|
|
|
|
log2 min_subnorm
|
2013-12-05 14:54:50 +01:00
|
|
|
|
2013-12-16 22:18:07 +01:00
|
|
|
pow 0 0
|
|
|
|
pow 0 -0
|
|
|
|
pow -0 0
|
|
|
|
pow -0 -0
|
|
|
|
|
|
|
|
pow 10 0
|
|
|
|
pow 10 -0
|
|
|
|
pow -10 0
|
|
|
|
pow -10 -0
|
|
|
|
|
|
|
|
pow 1 1
|
|
|
|
pow 1 -1
|
|
|
|
pow 1 1.25
|
|
|
|
pow 1 -1.25
|
|
|
|
pow 1 0x1p62
|
|
|
|
pow 1 0x1p63
|
|
|
|
pow 1 0x1p64
|
|
|
|
pow 1 0x1p72
|
|
|
|
pow 1 min_subnorm
|
|
|
|
pow 1 -min_subnorm
|
|
|
|
|
|
|
|
# pow (x, +-0) == 1.
|
|
|
|
pow 32.75 0
|
|
|
|
pow 32.75 -0
|
|
|
|
pow -32.75 0
|
|
|
|
pow -32.75 -0
|
|
|
|
pow 0x1p72 0
|
|
|
|
pow 0x1p72 -0
|
|
|
|
pow 0x1p-72 0
|
|
|
|
pow 0x1p-72 -0
|
|
|
|
|
|
|
|
pow 0x1p72 0x1p72
|
|
|
|
pow 10 -0x1p72
|
|
|
|
pow max max
|
|
|
|
pow 10 -max
|
|
|
|
|
|
|
|
pow 0 1
|
|
|
|
pow 0 11
|
|
|
|
|
|
|
|
pow -0 1
|
|
|
|
pow -0 11
|
|
|
|
|
|
|
|
pow 0 2
|
|
|
|
pow 0 11.1
|
|
|
|
|
|
|
|
pow -0 2
|
|
|
|
pow -0 11.1
|
|
|
|
|
|
|
|
# pow (+0, y) == +0 for y an odd integer > 0.
|
|
|
|
pow 0.0 27
|
|
|
|
pow 0.0 0xffffff
|
|
|
|
pow 0.0 0x1.fffffffffffffp+52
|
|
|
|
pow 0.0 0x1.fffffffffffffffep+63
|
|
|
|
pow 0.0 0x1.ffffffffffffffffffffffffff8p+105
|
|
|
|
pow 0.0 0x1.ffffffffffffffffffffffffffffp+112
|
|
|
|
|
|
|
|
# pow (-0, y) == -0 for y an odd integer > 0.
|
|
|
|
pow -0 27
|
|
|
|
pow -0 0xffffff
|
|
|
|
pow -0 0x1fffffe
|
|
|
|
pow -0 0x1.fffffffffffffp+52
|
|
|
|
pow -0 0x1.fffffffffffffp+53
|
|
|
|
pow -0 0x1.fffffffffffffffep+63
|
|
|
|
pow -0 0x1.fffffffffffffffep+64
|
|
|
|
pow -0 0x1.ffffffffffffffffffffffffff8p+105
|
|
|
|
pow -0 0x1.ffffffffffffffffffffffffff8p+106
|
|
|
|
pow -0 0x1.ffffffffffffffffffffffffffffp+112
|
|
|
|
pow -0 0x1.ffffffffffffffffffffffffffffp+113
|
|
|
|
|
|
|
|
# pow (+0, y) == +0 for y > 0 and not an odd integer.
|
|
|
|
pow 0.0 4
|
|
|
|
pow 0.0 0x1p24
|
|
|
|
pow 0.0 0x1p127
|
|
|
|
pow 0.0 max
|
|
|
|
pow 0.0 min_subnorm
|
|
|
|
|
|
|
|
# pow (-0, y) == +0 for y > 0 and not an odd integer.
|
|
|
|
pow -0 4
|
|
|
|
pow -0 0x1p24
|
|
|
|
pow -0 0x1p127
|
|
|
|
pow -0 max
|
|
|
|
pow -0 min_subnorm
|
|
|
|
|
|
|
|
pow 16 0.25
|
|
|
|
pow 0x1p64 0.125
|
|
|
|
pow 2 4
|
|
|
|
pow 256 8
|
|
|
|
|
|
|
|
pow 0.75 1.25
|
|
|
|
|
|
|
|
pow -7.49321e+133 -9.80818e+16
|
|
|
|
|
|
|
|
pow -1.0 -0xffffff
|
|
|
|
pow -1.0 -0x1fffffe
|
|
|
|
pow -1.0 -0x1.fffffffffffffp+52
|
|
|
|
pow -1.0 -0x1.fffffffffffffp+53
|
|
|
|
pow -1.0 -0x1.fffffffffffffffep+63
|
|
|
|
pow -1.0 -0x1.fffffffffffffffep+64
|
|
|
|
pow -1.0 -0x1.ffffffffffffffffffffffffff8p+105
|
|
|
|
pow -1.0 -0x1.ffffffffffffffffffffffffff8p+106
|
|
|
|
pow -1.0 -0x1.ffffffffffffffffffffffffffffp+112
|
|
|
|
pow -1.0 -0x1.ffffffffffffffffffffffffffffp+113
|
|
|
|
pow -1.0 -max
|
|
|
|
|
|
|
|
pow -1.0 0xffffff
|
|
|
|
pow -1.0 0x1fffffe
|
|
|
|
pow -1.0 0x1.fffffffffffffp+52
|
|
|
|
pow -1.0 0x1.fffffffffffffp+53
|
|
|
|
pow -1.0 0x1.fffffffffffffffep+63
|
|
|
|
pow -1.0 0x1.fffffffffffffffep+64
|
|
|
|
pow -1.0 0x1.ffffffffffffffffffffffffff8p+105
|
|
|
|
pow -1.0 0x1.ffffffffffffffffffffffffff8p+106
|
|
|
|
pow -1.0 0x1.ffffffffffffffffffffffffffffp+112
|
|
|
|
pow -1.0 0x1.ffffffffffffffffffffffffffffp+113
|
|
|
|
pow -1.0 max
|
|
|
|
|
|
|
|
pow -2.0 126
|
|
|
|
pow -2.0 127
|
|
|
|
pow -2.0 -126
|
|
|
|
pow -2.0 -127
|
|
|
|
|
|
|
|
pow -2.0 -0xffffff
|
|
|
|
pow -2.0 -0x1fffffe
|
|
|
|
pow -2.0 -0x1.fffffffffffffp+52
|
|
|
|
pow -2.0 -0x1.fffffffffffffp+53
|
|
|
|
pow -2.0 -0x1.fffffffffffffffep+63
|
|
|
|
pow -2.0 -0x1.fffffffffffffffep+64
|
|
|
|
pow -2.0 -0x1.ffffffffffffffffffffffffff8p+105
|
|
|
|
pow -2.0 -0x1.ffffffffffffffffffffffffff8p+106
|
|
|
|
pow -2.0 -0x1.ffffffffffffffffffffffffffffp+112
|
|
|
|
pow -2.0 -0x1.ffffffffffffffffffffffffffffp+113
|
|
|
|
pow -2.0 -max
|
|
|
|
|
|
|
|
pow -2.0 0xffffff
|
|
|
|
pow -2.0 0x1fffffe
|
|
|
|
pow -2.0 0x1.fffffffffffffp+52
|
|
|
|
pow -2.0 0x1.fffffffffffffp+53
|
|
|
|
pow -2.0 0x1.fffffffffffffffep+63
|
|
|
|
pow -2.0 0x1.fffffffffffffffep+64
|
|
|
|
pow -2.0 0x1.ffffffffffffffffffffffffff8p+105
|
|
|
|
pow -2.0 0x1.ffffffffffffffffffffffffff8p+106
|
|
|
|
pow -2.0 0x1.ffffffffffffffffffffffffffffp+112
|
|
|
|
pow -2.0 0x1.ffffffffffffffffffffffffffffp+113
|
|
|
|
pow -2.0 max
|
|
|
|
|
|
|
|
pow -max -2
|
|
|
|
pow -max -3
|
|
|
|
pow -max 2
|
|
|
|
pow -max 3
|
|
|
|
|
|
|
|
pow -max -0xffffff
|
|
|
|
pow -max -0x1fffffe
|
|
|
|
pow -max -0x1.fffffffffffffp+52
|
|
|
|
pow -max -0x1.fffffffffffffp+53
|
|
|
|
pow -max -0x1.fffffffffffffffep+63
|
|
|
|
pow -max -0x1.fffffffffffffffep+64
|
|
|
|
pow -max -0x1.ffffffffffffffffffffffffff8p+105
|
|
|
|
pow -max -0x1.ffffffffffffffffffffffffff8p+106
|
|
|
|
pow -max -0x1.ffffffffffffffffffffffffffffp+112
|
|
|
|
pow -max -0x1.ffffffffffffffffffffffffffffp+113
|
|
|
|
pow -max -max
|
|
|
|
|
|
|
|
pow -max 0xffffff
|
|
|
|
pow -max 0x1fffffe
|
|
|
|
pow -max 0x1.fffffffffffffp+52
|
|
|
|
pow -max 0x1.fffffffffffffp+53
|
|
|
|
pow -max 0x1.fffffffffffffffep+63
|
|
|
|
pow -max 0x1.fffffffffffffffep+64
|
|
|
|
pow -max 0x1.ffffffffffffffffffffffffff8p+105
|
|
|
|
pow -max 0x1.ffffffffffffffffffffffffff8p+106
|
|
|
|
pow -max 0x1.ffffffffffffffffffffffffffffp+112
|
|
|
|
pow -max 0x1.ffffffffffffffffffffffffffffp+113
|
|
|
|
pow -max max
|
|
|
|
|
2014-06-23 22:12:33 +02:00
|
|
|
pow -0x1p65 2
|
|
|
|
pow -0x1p65 3
|
|
|
|
pow -0x1p65 4
|
|
|
|
pow -0x1p65 5
|
|
|
|
pow -0x1p43 3
|
|
|
|
pow -0x1p43 4
|
|
|
|
pow -0x1p43 5
|
|
|
|
pow -0x1p33 4
|
|
|
|
pow -0x1p33 5
|
|
|
|
pow -0x1p26 5
|
|
|
|
pow -0x1p-65 -2
|
|
|
|
pow -0x1p-65 -3
|
|
|
|
pow -0x1p-65 -4
|
|
|
|
pow -0x1p-65 -5
|
|
|
|
pow -0x1p-43 -3
|
|
|
|
pow -0x1p-43 -4
|
|
|
|
pow -0x1p-43 -5
|
|
|
|
pow -0x1p-33 -4
|
|
|
|
pow -0x1p-33 -5
|
|
|
|
pow -0x1p-26 -5
|
|
|
|
|
|
|
|
pow -0x1p513 2
|
|
|
|
pow -0x1p513 3
|
|
|
|
pow -0x1p513 4
|
|
|
|
pow -0x1p513 5
|
|
|
|
pow -0x1p342 3
|
|
|
|
pow -0x1p342 4
|
|
|
|
pow -0x1p342 5
|
|
|
|
pow -0x1p257 4
|
|
|
|
pow -0x1p257 5
|
|
|
|
pow -0x1p205 5
|
|
|
|
pow -0x1p-513 -2
|
|
|
|
pow -0x1p-513 -3
|
|
|
|
pow -0x1p-513 -4
|
|
|
|
pow -0x1p-513 -5
|
|
|
|
pow -0x1p-342 -3
|
|
|
|
pow -0x1p-342 -4
|
|
|
|
pow -0x1p-342 -5
|
|
|
|
pow -0x1p-257 -4
|
|
|
|
pow -0x1p-257 -5
|
|
|
|
pow -0x1p-205 -5
|
|
|
|
|
|
|
|
pow -0x1p8192 2
|
|
|
|
pow -0x1p8192 3
|
|
|
|
pow -0x1p8192 4
|
|
|
|
pow -0x1p8192 5
|
|
|
|
pow -0x1p5462 3
|
|
|
|
pow -0x1p5462 4
|
|
|
|
pow -0x1p5462 5
|
|
|
|
pow -0x1p4097 4
|
|
|
|
pow -0x1p4097 5
|
|
|
|
pow -0x1p3277 5
|
|
|
|
pow -0x1p64 257
|
|
|
|
pow -0x1p-8192 -2
|
|
|
|
pow -0x1p-8192 -3
|
|
|
|
pow -0x1p-8192 -4
|
|
|
|
pow -0x1p-8192 -5
|
|
|
|
pow -0x1p-5462 -3
|
|
|
|
pow -0x1p-5462 -4
|
|
|
|
pow -0x1p-5462 -5
|
|
|
|
pow -0x1p-4097 -4
|
|
|
|
pow -0x1p-4097 -5
|
|
|
|
pow -0x1p-3277 -5
|
|
|
|
pow -0x1p-64 -257
|
|
|
|
|
2013-12-16 22:18:07 +01:00
|
|
|
pow -0.5 126
|
|
|
|
pow -0.5 127
|
|
|
|
pow -0.5 -126
|
|
|
|
pow -0.5 -127
|
|
|
|
|
|
|
|
pow -0.5 -0xffffff
|
|
|
|
pow -0.5 -0x1fffffe
|
|
|
|
pow -0.5 -0x1.fffffffffffffp+52
|
|
|
|
pow -0.5 -0x1.fffffffffffffp+53
|
|
|
|
pow -0.5 -0x1.fffffffffffffffep+63
|
|
|
|
pow -0.5 -0x1.fffffffffffffffep+64
|
|
|
|
pow -0.5 -0x1.ffffffffffffffffffffffffff8p+105
|
|
|
|
pow -0.5 -0x1.ffffffffffffffffffffffffff8p+106
|
|
|
|
pow -0.5 -0x1.ffffffffffffffffffffffffffffp+112
|
|
|
|
pow -0.5 -0x1.ffffffffffffffffffffffffffffp+113
|
|
|
|
pow -0.5 -max
|
|
|
|
|
|
|
|
pow -0.5 0xffffff
|
|
|
|
pow -0.5 0x1fffffe
|
|
|
|
pow -0.5 0x1.fffffffffffffp+52
|
|
|
|
pow -0.5 0x1.fffffffffffffp+53
|
|
|
|
pow -0.5 0x1.fffffffffffffffep+63
|
|
|
|
pow -0.5 0x1.fffffffffffffffep+64
|
|
|
|
pow -0.5 0x1.ffffffffffffffffffffffffff8p+105
|
|
|
|
pow -0.5 0x1.ffffffffffffffffffffffffff8p+106
|
|
|
|
pow -0.5 0x1.ffffffffffffffffffffffffffffp+112
|
|
|
|
pow -0.5 0x1.ffffffffffffffffffffffffffffp+113
|
|
|
|
pow -0.5 max
|
|
|
|
|
|
|
|
pow -min -2
|
|
|
|
pow -min -3
|
|
|
|
pow -min 1
|
|
|
|
pow -min 2
|
|
|
|
pow -min 3
|
|
|
|
|
|
|
|
pow -min -0xffffff
|
|
|
|
pow -min -0x1fffffe
|
|
|
|
pow -min -0x1.fffffffffffffp+52
|
|
|
|
pow -min -0x1.fffffffffffffp+53
|
|
|
|
pow -min -0x1.fffffffffffffffep+63
|
|
|
|
pow -min -0x1.fffffffffffffffep+64
|
|
|
|
pow -min -0x1.ffffffffffffffffffffffffff8p+105
|
|
|
|
pow -min -0x1.ffffffffffffffffffffffffff8p+106
|
|
|
|
pow -min -0x1.ffffffffffffffffffffffffffffp+112
|
|
|
|
pow -min -0x1.ffffffffffffffffffffffffffffp+113
|
|
|
|
pow -min -max
|
|
|
|
|
|
|
|
pow -min 0xffffff
|
|
|
|
pow -min 0x1fffffe
|
|
|
|
pow -min 0x1.fffffffffffffp+52
|
|
|
|
pow -min 0x1.fffffffffffffp+53
|
|
|
|
pow -min 0x1.fffffffffffffffep+63
|
|
|
|
pow -min 0x1.fffffffffffffffep+64
|
|
|
|
pow -min 0x1.ffffffffffffffffffffffffff8p+105
|
|
|
|
pow -min 0x1.ffffffffffffffffffffffffff8p+106
|
|
|
|
pow -min 0x1.ffffffffffffffffffffffffffffp+112
|
|
|
|
pow -min 0x1.ffffffffffffffffffffffffffffp+113
|
|
|
|
pow -min max
|
|
|
|
|
|
|
|
pow 0x0.ffffffp0 10
|
|
|
|
pow 0x0.ffffffp0 100
|
|
|
|
pow 0x0.ffffffp0 1000
|
|
|
|
pow 0x0.ffffffp0 0x1p24
|
|
|
|
pow 0x0.ffffffp0 0x1p30
|
|
|
|
pow 0x0.ffffffp0 0x1.234566p30
|
|
|
|
pow 0x0.ffffffp0 -10
|
|
|
|
pow 0x0.ffffffp0 -100
|
|
|
|
pow 0x0.ffffffp0 -1000
|
|
|
|
pow 0x0.ffffffp0 -0x1p24
|
|
|
|
pow 0x0.ffffffp0 -0x1p30
|
|
|
|
pow 0x0.ffffffp0 -0x1.234566p30
|
|
|
|
pow 0x1.000002p0 0x1p24
|
|
|
|
pow 0x1.000002p0 0x1.234566p29
|
|
|
|
pow 0x1.000002p0 -0x1.234566p29
|
|
|
|
|
|
|
|
pow 0x0.fffffffffffff8p0 0x1.23456789abcdfp62
|
|
|
|
pow 0x0.fffffffffffff8p0 -0x1.23456789abcdfp62
|
|
|
|
pow 0x1.0000000000001p0 0x1.23456789abcdfp61
|
|
|
|
pow 0x1.0000000000001p0 -0x1.23456789abcdfp61
|
|
|
|
|
|
|
|
pow 0x0.ffffffffffffffffp0 0x1.23456789abcdef0ep77
|
|
|
|
pow 0x0.ffffffffffffffffp0 -0x1.23456789abcdef0ep77
|
|
|
|
pow 0x1.0000000000000002p0 0x1.23456789abcdef0ep76
|
|
|
|
pow 0x1.0000000000000002p0 -0x1.23456789abcdef0ep76
|
|
|
|
|
|
|
|
pow 0x0.ffffffffffffffffffffffffffff8p0 0x1.23456789abcdef0123456789abcdp126
|
|
|
|
pow 0x0.ffffffffffffffffffffffffffff8p0 -0x1.23456789abcdef0123456789abcdp126
|
|
|
|
pow 0x1.0000000000000000000000000001p0 0x1.23456789abcdef0123456789abcdp125
|
|
|
|
pow 0x1.0000000000000000000000000001p0 -0x1.23456789abcdef0123456789abcdp125
|
|
|
|
|
|
|
|
pow 1e4932 0.75
|
|
|
|
pow 1e4928 0.75
|
|
|
|
pow 1e4924 0.75
|
|
|
|
pow 1e4920 0.75
|
|
|
|
pow 10.0 4932.0
|
|
|
|
pow 10.0 4931.0
|
|
|
|
pow 10.0 4930.0
|
|
|
|
pow 10.0 4929.0
|
|
|
|
pow 10.0 -4931.0
|
|
|
|
pow 10.0 -4930.0
|
|
|
|
pow 10.0 -4929.0
|
|
|
|
pow 1e27 182.0
|
|
|
|
pow 1e27 -182.0
|
|
|
|
|
|
|
|
pow min_subnorm min_subnorm
|
|
|
|
pow min_subnorm -min_subnorm
|
|
|
|
pow max min_subnorm
|
|
|
|
pow max -min_subnorm
|
|
|
|
pow 0.99 min_subnorm
|
|
|
|
pow 0.99 -min_subnorm
|
|
|
|
pow 1.01 min_subnorm
|
|
|
|
pow 1.01 -min_subnorm
|
|
|
|
|
|
|
|
pow 2.0 -100000.0
|
|
|
|
|
|
|
|
pow 1.0625 1.125
|
|
|
|
pow 1.5 1.03125
|
2015-03-10 18:53:40 +01:00
|
|
|
pow 0x1.7d1a0a6f2p+681 1.5
|
2013-12-16 22:18:07 +01:00
|
|
|
|
2013-12-05 14:54:50 +01:00
|
|
|
sin 0
|
|
|
|
sin -0
|
|
|
|
sin pi/6
|
|
|
|
sin -pi/6
|
|
|
|
sin pi/2
|
|
|
|
sin -pi/2
|
|
|
|
sin 0.75
|
|
|
|
sin 0x1p65
|
|
|
|
sin -0x1p65
|
|
|
|
sin 0x1.7f4134p+103
|
|
|
|
sin 0.80190127184058835
|
|
|
|
sin 2.522464e-1
|
|
|
|
sin 1e22
|
|
|
|
sin 0x1p1023
|
|
|
|
sin 0x1p16383
|
|
|
|
sin 0x1p+120
|
|
|
|
sin 0x1p+127
|
|
|
|
sin 0x1.fffff8p+127
|
|
|
|
sin 0x1.fffffep+127
|
|
|
|
sin 0x1p+50
|
|
|
|
sin 0x1p+28
|
|
|
|
sin 0.93340582292648832662962377071381
|
|
|
|
sin 2.3328432680770916363144351635128
|
|
|
|
sin 3.7439477503636453548097051680088
|
|
|
|
sin 3.9225160069792437411706487182528
|
|
|
|
sin 4.0711651639931289992091478779912
|
|
|
|
sin 4.7858438478542097982426639646292
|
|
|
|
sin 5.9840767662578002727968851104379
|
|
|
|
sin 1
|
|
|
|
sin 2
|
|
|
|
sin 3
|
|
|
|
sin 4
|
|
|
|
sin 5
|
|
|
|
sin 6
|
|
|
|
sin 7
|
|
|
|
sin 8
|
|
|
|
sin 9
|
|
|
|
sin 10
|
2014-02-27 16:42:09 +01:00
|
|
|
sin 0x1.2001469775ce6p32
|
2013-12-05 14:54:50 +01:00
|
|
|
|
2013-12-19 18:21:01 +01:00
|
|
|
sincos 0
|
|
|
|
sincos -0
|
|
|
|
sincos pi/2
|
|
|
|
sincos pi/6
|
|
|
|
sincos pi/3
|
|
|
|
sincos 0.75
|
|
|
|
sincos 0x1p65
|
|
|
|
sincos -0x1p65
|
|
|
|
sincos 0.80190127184058835
|
|
|
|
sincos 1e22
|
|
|
|
sincos 0x1p1023
|
|
|
|
sincos 0x1p16383
|
|
|
|
sincos 0x1p+120
|
|
|
|
sincos 0x1p+127
|
|
|
|
sincos 0x1.fffff8p+127
|
|
|
|
sincos 0x1.fffffep+127
|
|
|
|
sincos 0x1p+50
|
|
|
|
sincos 0x1p+28
|
|
|
|
|
2013-12-05 14:54:50 +01:00
|
|
|
sinh 0
|
|
|
|
sinh -0
|
|
|
|
sinh 0.75
|
2013-12-19 14:36:10 +01:00
|
|
|
sinh 0x8p-32
|
2013-12-05 14:54:50 +01:00
|
|
|
sinh 22
|
|
|
|
sinh 23
|
|
|
|
sinh 24
|
2015-03-25 00:48:04 +01:00
|
|
|
sinh -0x7.55d7f8p-4
|
|
|
|
sinh -0x3.f392f8p-4
|
|
|
|
sinh 0x1.c56446p+0
|
|
|
|
sinh 0x6.cac622d51eebcp-4
|
|
|
|
sinh -0x5.c4cb02389c094p+0
|
|
|
|
sinh -0x1.646850f515ef2p+0
|
|
|
|
sinh -0x7.a8c5f68c81fae5dp-4
|
|
|
|
sinh 0x3.4a037p-4
|
|
|
|
sinh -0x3.eba6dbcbeceb2p-4
|
|
|
|
sinh -0x2.55f63p+0
|
2013-12-05 14:54:50 +01:00
|
|
|
|
2013-11-29 17:27:55 +01:00
|
|
|
sqrt 0
|
|
|
|
sqrt -0
|
|
|
|
sqrt 2209
|
|
|
|
sqrt 4
|
|
|
|
sqrt 2
|
|
|
|
sqrt 0.25
|
|
|
|
sqrt 6642.25
|
|
|
|
sqrt 15190.5625
|
|
|
|
sqrt 0.75
|
2013-11-29 17:31:16 +01:00
|
|
|
sqrt 0x1.fffffffffffffp+1023
|
|
|
|
sqrt 0x1.ffffffffffffbp+1023
|
|
|
|
sqrt 0x1.ffffffffffff7p+1023
|
|
|
|
sqrt 0x1.ffffffffffff3p+1023
|
|
|
|
sqrt 0x1.fffffffffffefp+1023
|
|
|
|
sqrt 0x1.fffffffffffebp+1023
|
|
|
|
sqrt 0x1.fffffffffffe7p+1023
|
|
|
|
sqrt 0x1.fffffffffffe3p+1023
|
|
|
|
sqrt 0x1.fffffffffffdfp+1023
|
|
|
|
sqrt 0x1.fffffffffffdbp+1023
|
|
|
|
sqrt 0x1.fffffffffffd7p+1023
|
|
|
|
sqrt 0x1.0000000000003p-1022
|
|
|
|
sqrt 0x1.0000000000007p-1022
|
|
|
|
sqrt 0x1.000000000000bp-1022
|
|
|
|
sqrt 0x1.000000000000fp-1022
|
|
|
|
sqrt 0x1.0000000000013p-1022
|
|
|
|
sqrt 0x1.0000000000017p-1022
|
|
|
|
sqrt 0x1.000000000001bp-1022
|
|
|
|
sqrt 0x1.000000000001fp-1022
|
|
|
|
sqrt 0x1.0000000000023p-1022
|
|
|
|
sqrt 0x1.0000000000027p-1022
|
|
|
|
sqrt 0x1.000000000002bp-1022
|
|
|
|
sqrt 0x1.000000000002fp-1022
|
|
|
|
sqrt 0x1.0000000000033p-1022
|
|
|
|
sqrt 0x1.0000000000037p-1022
|
|
|
|
sqrt 0x1.7167bc36eaa3bp+6
|
|
|
|
sqrt 0x1.7570994273ad7p+6
|
|
|
|
sqrt 0x1.7dae969442fe6p+6
|
|
|
|
sqrt 0x1.7f8444fcf67e5p+6
|
|
|
|
sqrt 0x1.8364650e63a54p+6
|
|
|
|
sqrt 0x1.85bedd274edd8p+6
|
|
|
|
sqrt 0x1.8609cf496ab77p+6
|
|
|
|
sqrt 0x1.873849c70a375p+6
|
|
|
|
sqrt 0x1.8919c962cbaaep+6
|
|
|
|
sqrt 0x1.8de4493e22dc6p+6
|
|
|
|
sqrt 0x1.924829a17a288p+6
|
|
|
|
sqrt 0x1.92702cd992f12p+6
|
|
|
|
sqrt 0x1.92b763a8311fdp+6
|
|
|
|
sqrt 0x1.947da013c7293p+6
|
|
|
|
sqrt 0x1.9536091c494d2p+6
|
|
|
|
sqrt 0x1.61b04c6p-1019
|
|
|
|
sqrt 0x1.93789f1p-1018
|
|
|
|
sqrt 0x1.a1989b4p-1018
|
|
|
|
sqrt 0x1.f93bc9p-1018
|
|
|
|
sqrt 0x1.2f675e3p-1017
|
|
|
|
sqrt 0x1.a158508p-1017
|
|
|
|
sqrt 0x1.cd31f078p-1017
|
|
|
|
sqrt 0x1.33b43b08p-1016
|
|
|
|
sqrt 0x1.6e66a858p-1016
|
|
|
|
sqrt 0x1.8661cbf8p-1016
|
|
|
|
sqrt 0x1.bbb221b4p-1016
|
|
|
|
sqrt 0x1.c4942f3cp-1016
|
|
|
|
sqrt 0x1.dbb258c8p-1016
|
|
|
|
sqrt 0x1.57103ea4p-1015
|
|
|
|
sqrt 0x1.9b294f88p-1015
|
|
|
|
sqrt 0x1.0000000000001p+0
|
|
|
|
sqrt 0x1.fffffffffffffp-1
|
2013-12-05 14:54:50 +01:00
|
|
|
|
|
|
|
tan 0
|
|
|
|
tan -0
|
|
|
|
tan pi/4
|
|
|
|
tan 0.75
|
|
|
|
tan 0x1p65
|
|
|
|
tan -0x1p65
|
|
|
|
tan 0xc.9p-4
|
|
|
|
tan 0xc.908p-4
|
|
|
|
tan 0xc.90cp-4
|
|
|
|
tan 0xc.90ep-4
|
|
|
|
tan 0xc.90fp-4
|
|
|
|
tan 0xc.90f8p-4
|
|
|
|
tan 0xc.90fcp-4
|
|
|
|
tan 0xc.90fdp-4
|
|
|
|
tan 0xc.90fd8p-4
|
|
|
|
tan 0xc.90fdap-4
|
|
|
|
tan 0xc.ap-4
|
|
|
|
tan 0xc.98p-4
|
|
|
|
tan 0xc.94p-4
|
|
|
|
tan 0xc.92p-4
|
|
|
|
tan 0xc.91p-4
|
|
|
|
tan 0xc.90fep-4
|
|
|
|
tan 0xc.90fdcp-4
|
|
|
|
tan 0xc.90fdbp-4
|
|
|
|
tan -0xc.9p-4
|
|
|
|
tan -0xc.908p-4
|
|
|
|
tan -0xc.90cp-4
|
|
|
|
tan -0xc.90ep-4
|
|
|
|
tan -0xc.90fp-4
|
|
|
|
tan -0xc.90f8p-4
|
|
|
|
tan -0xc.90fcp-4
|
|
|
|
tan -0xc.90fdp-4
|
|
|
|
tan -0xc.90fd8p-4
|
|
|
|
tan -0xc.90fdap-4
|
|
|
|
tan -0xc.ap-4
|
|
|
|
tan -0xc.98p-4
|
|
|
|
tan -0xc.94p-4
|
|
|
|
tan -0xc.92p-4
|
|
|
|
tan -0xc.91p-4
|
|
|
|
tan -0xc.90fep-4
|
|
|
|
tan -0xc.90fdcp-4
|
|
|
|
tan -0xc.90fdbp-4
|
|
|
|
tan 1e22
|
|
|
|
tan 0x1p1023
|
|
|
|
tan 0x1p16383
|
|
|
|
tan 1
|
|
|
|
tan 2
|
|
|
|
tan 3
|
|
|
|
tan 4
|
|
|
|
tan 5
|
|
|
|
tan 6
|
|
|
|
tan 7
|
|
|
|
tan 8
|
|
|
|
tan 9
|
|
|
|
tan 10
|
|
|
|
|
|
|
|
tanh 0
|
|
|
|
tanh -0
|
|
|
|
tanh 0.75
|
|
|
|
tanh -0.75
|
|
|
|
tanh 1.0
|
|
|
|
tanh -1.0
|
|
|
|
tanh 0x1p-57
|
|
|
|
|
|
|
|
tgamma 0.5
|
|
|
|
tgamma -0.5
|
|
|
|
|
|
|
|
tgamma 1
|
|
|
|
tgamma 2
|
|
|
|
tgamma 3
|
|
|
|
tgamma 4
|
|
|
|
tgamma 5
|
|
|
|
tgamma 6
|
|
|
|
tgamma 7
|
|
|
|
tgamma 8
|
|
|
|
tgamma 9
|
|
|
|
tgamma 10
|
|
|
|
|
|
|
|
tgamma 0.7
|
|
|
|
tgamma 1.2
|
|
|
|
|
|
|
|
tgamma 1.5
|
|
|
|
tgamma 2.5
|
|
|
|
tgamma 3.5
|
|
|
|
tgamma 4.5
|
|
|
|
tgamma 5.5
|
|
|
|
tgamma 6.5
|
|
|
|
tgamma 7.5
|
|
|
|
tgamma 8.5
|
|
|
|
tgamma 9.5
|
|
|
|
tgamma -1.5
|
|
|
|
tgamma -2.5
|
|
|
|
tgamma -3.5
|
|
|
|
tgamma -4.5
|
|
|
|
tgamma -5.5
|
|
|
|
tgamma -6.5
|
|
|
|
tgamma -7.5
|
|
|
|
tgamma -8.5
|
|
|
|
tgamma -9.5
|
|
|
|
tgamma 0x1p-24
|
|
|
|
tgamma -0x1p-24
|
|
|
|
tgamma 0x1p-53
|
|
|
|
tgamma -0x1p-53
|
|
|
|
tgamma 0x1p-64
|
|
|
|
tgamma -0x1p-64
|
|
|
|
tgamma 0x1p-106
|
|
|
|
tgamma -0x1p-106
|
|
|
|
tgamma 0x1p-113
|
|
|
|
tgamma -0x1p-113
|
|
|
|
tgamma 0x1p-127
|
|
|
|
tgamma -0x1p-127
|
|
|
|
tgamma 0x1p-128
|
|
|
|
tgamma -0x1p-128
|
|
|
|
tgamma 0x1p-149
|
|
|
|
tgamma -0x1p-149
|
|
|
|
tgamma 0x1p-1023
|
|
|
|
tgamma -0x1p-1023
|
|
|
|
tgamma 0x1p-1024
|
|
|
|
tgamma -0x1p-1024
|
|
|
|
tgamma 0x1p-1074
|
|
|
|
tgamma -0x1p-1074
|
|
|
|
tgamma 0x1p-16383
|
|
|
|
tgamma -0x1p-16383
|
|
|
|
tgamma 0x1p-16384
|
|
|
|
tgamma -0x1p-16384
|
|
|
|
tgamma 0x1p-16445
|
|
|
|
tgamma -0x1p-16445
|
|
|
|
tgamma 0x1p-16494
|
|
|
|
tgamma -0x1p-16494
|
|
|
|
tgamma 0x8.00001p0
|
|
|
|
tgamma 0x7.fffff8p0
|
|
|
|
tgamma 0x7.000008p0
|
|
|
|
tgamma 0x6.fffff8p0
|
|
|
|
tgamma 0x6.000008p0
|
|
|
|
tgamma 0x5.fffff8p0
|
|
|
|
tgamma 0x5.000008p0
|
|
|
|
tgamma 0x4.fffff8p0
|
|
|
|
tgamma 0x4.000008p0
|
|
|
|
tgamma 0x3.fffffcp0
|
|
|
|
tgamma 0x3.000004p0
|
|
|
|
tgamma 0x2.fffffcp0
|
|
|
|
tgamma 0x2.000004p0
|
|
|
|
tgamma 0x1.fffffep0
|
|
|
|
tgamma 0x1.000002p0
|
|
|
|
tgamma 0x0.ffffffp0
|
|
|
|
tgamma -0x0.ffffffp0
|
|
|
|
tgamma -0x1.000002p0
|
|
|
|
tgamma -0x1.fffffep0
|
|
|
|
tgamma -0x2.000004p0
|
|
|
|
tgamma -0x2.fffffcp0
|
|
|
|
tgamma -0x3.000004p0
|
|
|
|
tgamma -0x3.fffffcp0
|
|
|
|
tgamma -0x4.000008p0
|
|
|
|
tgamma -0x4.fffff8p0
|
|
|
|
tgamma -0x5.000008p0
|
|
|
|
tgamma -0x5.fffff8p0
|
|
|
|
tgamma -0x6.000008p0
|
|
|
|
tgamma -0x6.fffff8p0
|
|
|
|
tgamma -0x7.000008p0
|
|
|
|
tgamma -0x7.fffff8p0
|
|
|
|
tgamma -0x8.00001p0
|
|
|
|
tgamma -0x9.fffffp0
|
|
|
|
tgamma -0xa.00001p0
|
|
|
|
tgamma -0x13.ffffep0
|
|
|
|
tgamma -0x14.00002p0
|
|
|
|
tgamma -0x1d.ffffep0
|
|
|
|
tgamma -0x1e.00002p0
|
|
|
|
tgamma -0x27.ffffcp0
|
|
|
|
tgamma -0x28.00004p0
|
|
|
|
tgamma -0x28.ffffcp0
|
|
|
|
tgamma -0x29.00004p0
|
2013-12-05 15:01:41 +01:00
|
|
|
tgamma -0x29.ffffcp0
|
|
|
|
tgamma -0x2a.00004p0
|
2013-12-05 14:54:50 +01:00
|
|
|
tgamma 0x8.0000000000008p0
|
|
|
|
tgamma 0x7.ffffffffffffcp0
|
|
|
|
tgamma 0x7.0000000000004p0
|
|
|
|
tgamma 0x6.ffffffffffffcp0
|
|
|
|
tgamma 0x6.0000000000004p0
|
|
|
|
tgamma 0x5.ffffffffffffcp0
|
|
|
|
tgamma 0x5.0000000000004p0
|
|
|
|
tgamma 0x4.ffffffffffffcp0
|
|
|
|
tgamma 0x4.0000000000004p0
|
|
|
|
tgamma 0x3.ffffffffffffep0
|
|
|
|
tgamma 0x3.0000000000002p0
|
|
|
|
tgamma 0x2.ffffffffffffep0
|
|
|
|
tgamma 0x2.0000000000002p0
|
|
|
|
tgamma 0x1.fffffffffffffp0
|
|
|
|
tgamma 0x1.0000000000001p0
|
|
|
|
tgamma 0x0.fffffffffffff8p0
|
|
|
|
tgamma -0x0.fffffffffffff8p0
|
|
|
|
tgamma -0x1.0000000000001p0
|
|
|
|
tgamma -0x1.fffffffffffffp0
|
|
|
|
tgamma -0x2.0000000000002p0
|
|
|
|
tgamma -0x2.ffffffffffffep0
|
|
|
|
tgamma -0x3.0000000000002p0
|
|
|
|
tgamma -0x3.ffffffffffffep0
|
|
|
|
tgamma -0x4.0000000000004p0
|
|
|
|
tgamma -0x4.ffffffffffffcp0
|
|
|
|
tgamma -0x5.0000000000004p0
|
|
|
|
tgamma -0x5.ffffffffffffcp0
|
|
|
|
tgamma -0x6.0000000000004p0
|
|
|
|
tgamma -0x6.ffffffffffffcp0
|
|
|
|
tgamma -0x7.0000000000004p0
|
|
|
|
tgamma -0x7.ffffffffffffcp0
|
|
|
|
tgamma -0x8.0000000000008p0
|
|
|
|
tgamma -0x9.ffffffffffff8p0
|
|
|
|
tgamma -0xa.0000000000008p0
|
|
|
|
tgamma -0x13.ffffffffffffp0
|
|
|
|
tgamma -0x14.000000000001p0
|
|
|
|
tgamma -0x1d.ffffffffffffp0
|
|
|
|
tgamma -0x1e.000000000001p0
|
|
|
|
tgamma -0x27.fffffffffffep0
|
|
|
|
tgamma -0x28.000000000002p0
|
|
|
|
tgamma -0x28.fffffffffffep0
|
|
|
|
tgamma -0x29.000000000002p0
|
2013-12-05 15:01:41 +01:00
|
|
|
tgamma -0x29.fffffffffffep0
|
|
|
|
tgamma -0x2a.000000000002p0
|
|
|
|
tgamma -0x31.fffffffffffep0
|
|
|
|
tgamma -0x32.000000000002p0
|
|
|
|
tgamma -0x63.fffffffffffcp0
|
|
|
|
tgamma -0x64.000000000004p0
|
|
|
|
tgamma -0x95.fffffffffff8p0
|
|
|
|
tgamma -0x96.000000000008p0
|
|
|
|
tgamma -0xb4.fffffffffff8p0
|
|
|
|
tgamma -0xb5.000000000008p0
|
|
|
|
tgamma -0xb5.fffffffffff8p0
|
|
|
|
tgamma -0xb6.000000000008p0
|
|
|
|
tgamma -0xb6.fffffffffff8p0
|
|
|
|
tgamma -0xb7.000000000008p0
|
|
|
|
tgamma -0xb7.fffffffffff8p0
|
|
|
|
tgamma -0xb8.000000000008p0
|
2013-12-05 14:54:50 +01:00
|
|
|
tgamma 0x8.00000000000000000000000004p0
|
|
|
|
tgamma 0x7.fffffffffffffffffffffffffep0
|
|
|
|
tgamma 0x7.00000000000000000000000002p0
|
|
|
|
tgamma 0x6.fffffffffffffffffffffffffep0
|
|
|
|
tgamma 0x6.00000000000000000000000002p0
|
|
|
|
tgamma 0x5.fffffffffffffffffffffffffep0
|
|
|
|
tgamma 0x5.00000000000000000000000002p0
|
|
|
|
tgamma 0x4.fffffffffffffffffffffffffep0
|
|
|
|
tgamma 0x4.00000000000000000000000002p0
|
|
|
|
tgamma 0x3.ffffffffffffffffffffffffffp0
|
|
|
|
tgamma 0x3.00000000000000000000000001p0
|
|
|
|
tgamma 0x2.ffffffffffffffffffffffffffp0
|
|
|
|
tgamma 0x2.00000000000000000000000001p0
|
|
|
|
tgamma 0x1.ffffffffffffffffffffffffff8p0
|
|
|
|
tgamma 0x1.000000000000000000000000008p0
|
|
|
|
tgamma 0x0.ffffffffffffffffffffffffffcp0
|
|
|
|
tgamma -0x0.ffffffffffffffffffffffffffcp0
|
|
|
|
tgamma -0x1.000000000000000000000000008p0
|
|
|
|
tgamma -0x1.ffffffffffffffffffffffffff8p0
|
|
|
|
tgamma -0x2.00000000000000000000000001p0
|
|
|
|
tgamma -0x2.ffffffffffffffffffffffffffp0
|
|
|
|
tgamma -0x3.00000000000000000000000001p0
|
|
|
|
tgamma -0x3.ffffffffffffffffffffffffffp0
|
|
|
|
tgamma -0x4.00000000000000000000000002p0
|
|
|
|
tgamma -0x4.fffffffffffffffffffffffffep0
|
|
|
|
tgamma -0x5.00000000000000000000000002p0
|
|
|
|
tgamma -0x5.fffffffffffffffffffffffffep0
|
|
|
|
tgamma -0x6.00000000000000000000000002p0
|
|
|
|
tgamma -0x6.fffffffffffffffffffffffffep0
|
|
|
|
tgamma -0x7.00000000000000000000000002p0
|
|
|
|
tgamma -0x7.fffffffffffffffffffffffffep0
|
|
|
|
tgamma -0x8.00000000000000000000000004p0
|
|
|
|
tgamma -0x9.fffffffffffffffffffffffffcp0
|
|
|
|
tgamma -0xa.00000000000000000000000004p0
|
|
|
|
tgamma -0x13.fffffffffffffffffffffffff8p0
|
|
|
|
tgamma -0x14.00000000000000000000000008p0
|
|
|
|
tgamma -0x1d.fffffffffffffffffffffffff8p0
|
|
|
|
tgamma -0x1e.00000000000000000000000008p0
|
|
|
|
tgamma -0x27.fffffffffffffffffffffffffp0
|
|
|
|
tgamma -0x28.0000000000000000000000001p0
|
|
|
|
tgamma -0x28.fffffffffffffffffffffffffp0
|
|
|
|
tgamma -0x29.0000000000000000000000001p0
|
2013-12-05 15:01:41 +01:00
|
|
|
tgamma -0x29.fffffffffffffffffffffffffp0
|
|
|
|
tgamma -0x2a.0000000000000000000000001p0
|
|
|
|
tgamma -0x31.fffffffffffffffffffffffffp0
|
|
|
|
tgamma -0x32.0000000000000000000000001p0
|
|
|
|
tgamma -0x63.ffffffffffffffffffffffffep0
|
|
|
|
tgamma -0x64.0000000000000000000000002p0
|
|
|
|
tgamma -0x95.ffffffffffffffffffffffffcp0
|
|
|
|
tgamma -0x96.0000000000000000000000004p0
|
|
|
|
tgamma -0xb4.ffffffffffffffffffffffffcp0
|
|
|
|
tgamma -0xb5.0000000000000000000000004p0
|
|
|
|
tgamma -0xb5.ffffffffffffffffffffffffcp0
|
|
|
|
tgamma -0xb6.0000000000000000000000004p0
|
|
|
|
tgamma -0xb6.ffffffffffffffffffffffffcp0
|
|
|
|
tgamma -0xb7.0000000000000000000000004p0
|
|
|
|
tgamma -0xb7.ffffffffffffffffffffffffcp0
|
|
|
|
tgamma -0xb8.0000000000000000000000004p0
|
|
|
|
tgamma -0xbb.ffffffffffffffffffffffffcp0
|
|
|
|
tgamma -0xbc.0000000000000000000000004p0
|
|
|
|
tgamma -0xbc.ffffffffffffffffffffffffcp0
|
|
|
|
tgamma -0xbd.0000000000000000000000004p0
|
|
|
|
tgamma -0xbd.ffffffffffffffffffffffffcp0
|
|
|
|
tgamma -0xbe.0000000000000000000000004p0
|
|
|
|
tgamma -0xbe.ffffffffffffffffffffffffcp0
|
|
|
|
tgamma -0xbf.0000000000000000000000004p0
|
2013-12-05 14:54:50 +01:00
|
|
|
tgamma 0x8.000000000000001p0
|
|
|
|
tgamma 0x7.fffffffffffffff8p0
|
|
|
|
tgamma 0x7.0000000000000008p0
|
|
|
|
tgamma 0x6.fffffffffffffff8p0
|
|
|
|
tgamma 0x6.0000000000000008p0
|
|
|
|
tgamma 0x5.fffffffffffffff8p0
|
|
|
|
tgamma 0x5.0000000000000008p0
|
|
|
|
tgamma 0x4.fffffffffffffff8p0
|
|
|
|
tgamma 0x4.0000000000000008p0
|
|
|
|
tgamma 0x3.fffffffffffffffcp0
|
|
|
|
tgamma 0x3.0000000000000004p0
|
|
|
|
tgamma 0x2.fffffffffffffffcp0
|
|
|
|
tgamma 0x2.0000000000000004p0
|
|
|
|
tgamma 0x1.fffffffffffffffep0
|
|
|
|
tgamma 0x1.0000000000000002p0
|
|
|
|
tgamma 0x0.ffffffffffffffffp0
|
|
|
|
tgamma -0x0.ffffffffffffffffp0
|
|
|
|
tgamma -0x1.0000000000000002p0
|
|
|
|
tgamma -0x1.fffffffffffffffep0
|
|
|
|
tgamma -0x2.0000000000000004p0
|
|
|
|
tgamma -0x2.fffffffffffffffcp0
|
|
|
|
tgamma -0x3.0000000000000004p0
|
|
|
|
tgamma -0x3.fffffffffffffffcp0
|
|
|
|
tgamma -0x4.0000000000000008p0
|
|
|
|
tgamma -0x4.fffffffffffffff8p0
|
|
|
|
tgamma -0x5.0000000000000008p0
|
|
|
|
tgamma -0x5.fffffffffffffff8p0
|
|
|
|
tgamma -0x6.0000000000000008p0
|
|
|
|
tgamma -0x6.fffffffffffffff8p0
|
|
|
|
tgamma -0x7.0000000000000008p0
|
|
|
|
tgamma -0x7.fffffffffffffff8p0
|
|
|
|
tgamma -0x8.000000000000001p0
|
|
|
|
tgamma -0x9.fffffffffffffffp0
|
|
|
|
tgamma -0xa.000000000000001p0
|
|
|
|
tgamma -0x13.ffffffffffffffep0
|
|
|
|
tgamma -0x14.000000000000002p0
|
|
|
|
tgamma -0x1d.ffffffffffffffep0
|
|
|
|
tgamma -0x1e.000000000000002p0
|
|
|
|
tgamma -0x27.ffffffffffffffcp0
|
|
|
|
tgamma -0x28.000000000000004p0
|
|
|
|
tgamma -0x28.ffffffffffffffcp0
|
|
|
|
tgamma -0x29.000000000000004p0
|
2013-12-05 15:01:41 +01:00
|
|
|
tgamma -0x29.ffffffffffffffcp0
|
|
|
|
tgamma -0x2a.000000000000004p0
|
|
|
|
tgamma -0x31.ffffffffffffffcp0
|
|
|
|
tgamma -0x32.000000000000004p0
|
|
|
|
tgamma -0x63.ffffffffffffff8p0
|
|
|
|
tgamma -0x64.000000000000008p0
|
|
|
|
tgamma -0x95.ffffffffffffffp0
|
|
|
|
tgamma -0x96.00000000000001p0
|
|
|
|
tgamma -0xb4.ffffffffffffffp0
|
|
|
|
tgamma -0xb5.00000000000001p0
|
|
|
|
tgamma -0xb5.ffffffffffffffp0
|
|
|
|
tgamma -0xb6.00000000000001p0
|
|
|
|
tgamma -0xb6.ffffffffffffffp0
|
|
|
|
tgamma -0xb7.00000000000001p0
|
|
|
|
tgamma -0xb7.ffffffffffffffp0
|
|
|
|
tgamma -0xb8.00000000000001p0
|
|
|
|
tgamma -0xbb.ffffffffffffffp0
|
|
|
|
tgamma -0xbc.00000000000001p0
|
|
|
|
tgamma -0xbc.ffffffffffffffp0
|
|
|
|
tgamma -0xbd.00000000000001p0
|
|
|
|
tgamma -0xbd.ffffffffffffffp0
|
|
|
|
tgamma -0xbe.00000000000001p0
|
|
|
|
tgamma -0xbe.ffffffffffffffp0
|
|
|
|
tgamma -0xbf.00000000000001p0
|
|
|
|
tgamma -0xf9.ffffffffffffffp0
|
|
|
|
tgamma -0xfa.00000000000001p0
|
|
|
|
tgamma -0x1f3.fffffffffffffep0
|
|
|
|
tgamma -0x1f4.00000000000002p0
|
|
|
|
tgamma -0x2ed.fffffffffffffcp0
|
|
|
|
tgamma -0x2ee.00000000000004p0
|
|
|
|
tgamma -0x3e7.fffffffffffffcp0
|
|
|
|
tgamma -0x3e8.00000000000004p0
|
|
|
|
tgamma -0x4e1.fffffffffffff8p0
|
|
|
|
tgamma -0x4e2.00000000000008p0
|
|
|
|
tgamma -0x5db.fffffffffffff8p0
|
|
|
|
tgamma -0x5dc.00000000000008p0
|
|
|
|
tgamma -0x6d5.fffffffffffff8p0
|
|
|
|
tgamma -0x6d6.00000000000008p0
|
|
|
|
tgamma -0x6e2.fffffffffffff8p0
|
|
|
|
tgamma -0x6e3.00000000000008p0
|
|
|
|
tgamma -0x6e3.fffffffffffff8p0
|
|
|
|
tgamma -0x6e4.00000000000008p0
|
|
|
|
tgamma -0x6e4.fffffffffffff8p0
|
|
|
|
tgamma -0x6e5.00000000000008p0
|
|
|
|
tgamma -0x6e5.fffffffffffff8p0
|
|
|
|
tgamma -0x6e6.00000000000008p0
|
2013-12-05 14:54:50 +01:00
|
|
|
tgamma 0x8.0000000000000000000000000008p0
|
|
|
|
tgamma 0x7.fffffffffffffffffffffffffffcp0
|
|
|
|
tgamma 0x7.0000000000000000000000000004p0
|
|
|
|
tgamma 0x6.fffffffffffffffffffffffffffcp0
|
|
|
|
tgamma 0x6.0000000000000000000000000004p0
|
|
|
|
tgamma 0x5.fffffffffffffffffffffffffffcp0
|
|
|
|
tgamma 0x5.0000000000000000000000000004p0
|
|
|
|
tgamma 0x4.fffffffffffffffffffffffffffcp0
|
|
|
|
tgamma 0x4.0000000000000000000000000004p0
|
|
|
|
tgamma 0x3.fffffffffffffffffffffffffffep0
|
|
|
|
tgamma 0x3.0000000000000000000000000002p0
|
|
|
|
tgamma 0x2.fffffffffffffffffffffffffffep0
|
|
|
|
tgamma 0x2.0000000000000000000000000002p0
|
|
|
|
tgamma 0x1.ffffffffffffffffffffffffffffp0
|
|
|
|
tgamma 0x1.0000000000000000000000000001p0
|
|
|
|
tgamma 0x0.ffffffffffffffffffffffffffff8p0
|
|
|
|
tgamma -0x0.ffffffffffffffffffffffffffff8p0
|
|
|
|
tgamma -0x1.0000000000000000000000000001p0
|
|
|
|
tgamma -0x1.ffffffffffffffffffffffffffffp0
|
|
|
|
tgamma -0x2.0000000000000000000000000002p0
|
|
|
|
tgamma -0x2.fffffffffffffffffffffffffffep0
|
|
|
|
tgamma -0x3.0000000000000000000000000002p0
|
|
|
|
tgamma -0x3.fffffffffffffffffffffffffffep0
|
|
|
|
tgamma -0x4.0000000000000000000000000004p0
|
|
|
|
tgamma -0x4.fffffffffffffffffffffffffffcp0
|
|
|
|
tgamma -0x5.0000000000000000000000000004p0
|
|
|
|
tgamma -0x5.fffffffffffffffffffffffffffcp0
|
|
|
|
tgamma -0x6.0000000000000000000000000004p0
|
|
|
|
tgamma -0x6.fffffffffffffffffffffffffffcp0
|
|
|
|
tgamma -0x7.0000000000000000000000000004p0
|
|
|
|
tgamma -0x7.fffffffffffffffffffffffffffcp0
|
|
|
|
tgamma -0x8.0000000000000000000000000008p0
|
|
|
|
tgamma -0x9.fffffffffffffffffffffffffff8p0
|
|
|
|
tgamma -0xa.0000000000000000000000000008p0
|
|
|
|
tgamma -0x13.fffffffffffffffffffffffffffp0
|
|
|
|
tgamma -0x14.000000000000000000000000001p0
|
|
|
|
tgamma -0x1d.fffffffffffffffffffffffffffp0
|
|
|
|
tgamma -0x1e.000000000000000000000000001p0
|
|
|
|
tgamma -0x27.ffffffffffffffffffffffffffep0
|
|
|
|
tgamma -0x28.000000000000000000000000002p0
|
|
|
|
tgamma -0x28.ffffffffffffffffffffffffffep0
|
|
|
|
tgamma -0x29.000000000000000000000000002p0
|
2013-12-05 15:01:41 +01:00
|
|
|
tgamma -0x29.ffffffffffffffffffffffffffep0
|
|
|
|
tgamma -0x2a.000000000000000000000000002p0
|
|
|
|
tgamma -0x31.ffffffffffffffffffffffffffep0
|
|
|
|
tgamma -0x32.000000000000000000000000002p0
|
|
|
|
tgamma -0x63.ffffffffffffffffffffffffffcp0
|
|
|
|
tgamma -0x64.000000000000000000000000004p0
|
|
|
|
tgamma -0x95.ffffffffffffffffffffffffff8p0
|
|
|
|
tgamma -0x96.000000000000000000000000008p0
|
|
|
|
tgamma -0xb4.ffffffffffffffffffffffffff8p0
|
|
|
|
tgamma -0xb5.000000000000000000000000008p0
|
|
|
|
tgamma -0xb5.ffffffffffffffffffffffffff8p0
|
|
|
|
tgamma -0xb6.000000000000000000000000008p0
|
|
|
|
tgamma -0xb6.ffffffffffffffffffffffffff8p0
|
|
|
|
tgamma -0xb7.000000000000000000000000008p0
|
|
|
|
tgamma -0xb7.ffffffffffffffffffffffffff8p0
|
|
|
|
tgamma -0xb8.000000000000000000000000008p0
|
|
|
|
tgamma -0xbb.ffffffffffffffffffffffffff8p0
|
|
|
|
tgamma -0xbc.000000000000000000000000008p0
|
|
|
|
tgamma -0xbc.ffffffffffffffffffffffffff8p0
|
|
|
|
tgamma -0xbd.000000000000000000000000008p0
|
|
|
|
tgamma -0xbd.ffffffffffffffffffffffffff8p0
|
|
|
|
tgamma -0xbe.000000000000000000000000008p0
|
|
|
|
tgamma -0xbe.ffffffffffffffffffffffffff8p0
|
|
|
|
tgamma -0xbf.000000000000000000000000008p0
|
|
|
|
tgamma -0xf9.ffffffffffffffffffffffffff8p0
|
|
|
|
tgamma -0xfa.000000000000000000000000008p0
|
|
|
|
tgamma -0x1f3.ffffffffffffffffffffffffffp0
|
|
|
|
tgamma -0x1f4.00000000000000000000000001p0
|
|
|
|
tgamma -0x2ed.fffffffffffffffffffffffffep0
|
|
|
|
tgamma -0x2ee.00000000000000000000000002p0
|
|
|
|
tgamma -0x3e7.fffffffffffffffffffffffffep0
|
|
|
|
tgamma -0x3e8.00000000000000000000000002p0
|
|
|
|
tgamma -0x4e1.fffffffffffffffffffffffffcp0
|
|
|
|
tgamma -0x4e2.00000000000000000000000004p0
|
|
|
|
tgamma -0x5db.fffffffffffffffffffffffffcp0
|
|
|
|
tgamma -0x5dc.00000000000000000000000004p0
|
|
|
|
tgamma -0x6d5.fffffffffffffffffffffffffcp0
|
|
|
|
tgamma -0x6d6.00000000000000000000000004p0
|
|
|
|
tgamma -0x6e2.fffffffffffffffffffffffffcp0
|
|
|
|
tgamma -0x6e3.00000000000000000000000004p0
|
|
|
|
tgamma -0x6e3.fffffffffffffffffffffffffcp0
|
|
|
|
tgamma -0x6e4.00000000000000000000000004p0
|
|
|
|
tgamma -0x6e4.fffffffffffffffffffffffffcp0
|
|
|
|
tgamma -0x6e5.00000000000000000000000004p0
|
|
|
|
tgamma -0x6e5.fffffffffffffffffffffffffcp0
|
|
|
|
tgamma -0x6e6.00000000000000000000000004p0
|
|
|
|
tgamma -0x6eb.fffffffffffffffffffffffffcp0
|
|
|
|
tgamma -0x6ec.00000000000000000000000004p0
|
|
|
|
tgamma -0x6ec.fffffffffffffffffffffffffcp0
|
|
|
|
tgamma -0x6ed.00000000000000000000000004p0
|
|
|
|
tgamma -0x6ed.fffffffffffffffffffffffffcp0
|
|
|
|
tgamma -0x6ee.00000000000000000000000004p0
|
|
|
|
tgamma -0x6ee.fffffffffffffffffffffffffcp0
|
|
|
|
tgamma -0x6ef.00000000000000000000000004p0
|
2013-12-05 14:54:50 +01:00
|
|
|
tgamma -0x1.0a32a2p+5
|
2013-12-05 15:01:41 +01:00
|
|
|
tgamma -0x1.5800000080001p+7
|
2013-12-05 14:54:50 +01:00
|
|
|
tgamma 18.5
|
|
|
|
tgamma 19.5
|
|
|
|
tgamma 23.5
|
|
|
|
tgamma 29.5
|
|
|
|
tgamma 30.5
|
|
|
|
tgamma 31.5
|
|
|
|
tgamma 32.5
|
|
|
|
tgamma 33.5
|
|
|
|
tgamma 34.5
|
|
|
|
tgamma 0x2.30a43cp+4
|
|
|
|
tgamma 0x2.30a44p+4
|
|
|
|
tgamma 0xa.b9fd72b0fb238p+4
|
|
|
|
tgamma 0xa.b9fd72b0fb24p+4
|
|
|
|
tgamma 0xa.b9fd72b0fb23a9ddbf0d3804f4p+4
|
|
|
|
tgamma 0xa.b9fd72b0fb23a9ddbf0d3804f8p+4
|
|
|
|
tgamma 0x6.db8c603359a97108p+8
|
|
|
|
tgamma 0x6.db8c603359a9711p+8
|
|
|
|
tgamma 0x6.db8c603359a971081bc4a2e9dfdp+8
|
|
|
|
tgamma 0x6.db8c603359a971081bc4a2e9dfd4p+8
|
2013-12-05 15:01:41 +01:00
|
|
|
tgamma 1e3
|
|
|
|
tgamma -100000.5
|
2013-12-05 14:54:50 +01:00
|
|
|
|
|
|
|
y0 0.125
|
|
|
|
y0 0.75
|
|
|
|
y0 1.0
|
|
|
|
y0 1.5
|
|
|
|
y0 2.0
|
|
|
|
y0 8.0
|
|
|
|
y0 10.0
|
|
|
|
y0 0x1.3ffp+74
|
|
|
|
y0 0x1.ff00000000002p+840
|
|
|
|
y0 0x1p1023
|
|
|
|
y0 0x1p16382
|
|
|
|
y0 0x1p16383
|
|
|
|
y0 0x1p-10
|
|
|
|
y0 0x1p-20
|
|
|
|
y0 0x1p-30
|
|
|
|
y0 0x1p-40
|
|
|
|
y0 0x1p-50
|
|
|
|
y0 0x1p-60
|
|
|
|
y0 0x1p-70
|
|
|
|
y0 0x1p-80
|
|
|
|
y0 0x1p-90
|
|
|
|
y0 0x1p-100
|
|
|
|
y0 0x1p-110
|
2014-06-23 22:17:13 +02:00
|
|
|
y0 min
|
|
|
|
y0 min_subnorm
|
2013-12-05 14:54:50 +01:00
|
|
|
|
|
|
|
y1 0.125
|
|
|
|
y1 0.75
|
|
|
|
y1 1.0
|
|
|
|
y1 1.5
|
|
|
|
y1 2.0
|
|
|
|
y1 8.0
|
|
|
|
y1 10.0
|
|
|
|
y1 0x1.27e204p+99
|
|
|
|
y1 0x1.001000001p+593
|
|
|
|
y1 0x1p1023
|
|
|
|
y1 0x1p16382
|
|
|
|
y1 0x1p16383
|
|
|
|
y1 0x1p-10
|
|
|
|
y1 0x1p-20
|
|
|
|
y1 0x1p-30
|
|
|
|
y1 0x1p-40
|
|
|
|
y1 0x1p-50
|
|
|
|
y1 0x1p-60
|
|
|
|
y1 0x1p-70
|
|
|
|
y1 0x1p-80
|
|
|
|
y1 0x1p-90
|
|
|
|
y1 0x1p-100
|
|
|
|
y1 0x1p-110
|
2014-06-23 22:17:13 +02:00
|
|
|
y1 min
|
|
|
|
y1 min_subnorm
|
2013-12-18 18:59:29 +01:00
|
|
|
|
|
|
|
# yn (0, x) == y0 (x).
|
|
|
|
yn 0 0.125
|
|
|
|
yn 0 0.75
|
|
|
|
yn 0 1.0
|
|
|
|
yn 0 1.5
|
|
|
|
yn 0 2.0
|
|
|
|
yn 0 8.0
|
|
|
|
yn 0 10.0
|
|
|
|
|
|
|
|
# yn (1, x) == y1 (x).
|
|
|
|
yn 1 0.125
|
|
|
|
yn 1 0.75
|
|
|
|
yn 1 1.0
|
|
|
|
yn 1 1.5
|
|
|
|
yn 1 2.0
|
|
|
|
yn 1 8.0
|
|
|
|
yn 1 10.0
|
|
|
|
|
|
|
|
# yn (-1, x) == -y1 (x).
|
|
|
|
yn -1 1.0
|
|
|
|
|
|
|
|
# yn (3, x).
|
|
|
|
yn 3 0.125
|
|
|
|
yn 3 0.75
|
|
|
|
yn 3 1.0
|
|
|
|
yn 3 2.0
|
|
|
|
yn 3 10.0
|
|
|
|
|
|
|
|
# yn (10, x).
|
|
|
|
yn 10 0.125
|
|
|
|
yn 10 0.75
|
|
|
|
yn 10 1.0
|
|
|
|
yn 10 2.0
|
|
|
|
yn 10 10.0
|
|
|
|
|
|
|
|
yn -10 1.0
|
|
|
|
|
|
|
|
yn 10 min
|
|
|
|
|
|
|
|
yn 2 0x1.ffff62p+99
|
|
|
|
yn 2 0x1p127
|
|
|
|
yn 2 0x1p1023
|
|
|
|
yn 2 0x1p16383
|
2014-06-23 22:17:13 +02:00
|
|
|
|
|
|
|
yn 0 min
|
|
|
|
yn 0 min_subnorm
|
|
|
|
yn 1 min
|
|
|
|
yn 1 min_subnorm
|
|
|
|
yn -1 min
|
|
|
|
yn -1 min_subnorm
|
|
|
|
yn 2 min
|
|
|
|
yn 2 min_subnorm
|
|
|
|
yn -2 min
|
|
|
|
yn -2 min_subnorm
|
|
|
|
yn 17 min
|
|
|
|
yn 17 min_subnorm
|
|
|
|
yn -17 min
|
|
|
|
yn -17 min_subnorm
|
|
|
|
yn 42 min
|
|
|
|
yn 42 min_subnorm
|
|
|
|
yn -42 min
|
|
|
|
yn -42 min_subnorm
|