xref: /freebsd/contrib/arm-optimized-routines/math/test/testcases/directed/expm1f.tst (revision f3087bef11543b42e0d69b708f367097a4118d24)
1*f3087befSAndrew Turner; expm1f.tst
2*f3087befSAndrew Turner;
3*f3087befSAndrew Turner; Copyright (c) 2009-2024, Arm Limited.
4*f3087befSAndrew Turner; SPDX-License-Identifier: MIT OR Apache-2.0 WITH LLVM-exception
5*f3087befSAndrew Turner
6*f3087befSAndrew Turnerfunc=expm1f op1=7fc00001 result=7fc00001 errno=0
7*f3087befSAndrew Turnerfunc=expm1f op1=ffc00001 result=7fc00001 errno=0
8*f3087befSAndrew Turnerfunc=expm1f op1=7f800001 result=7fc00001 errno=0 status=i
9*f3087befSAndrew Turnerfunc=expm1f op1=ff800001 result=7fc00001 errno=0 status=i
10*f3087befSAndrew Turnerfunc=expm1f op1=7f800000 result=7f800000 errno=0
11*f3087befSAndrew Turnerfunc=expm1f op1=7f7fffff result=7f800000 errno=ERANGE status=ox
12*f3087befSAndrew Turnerfunc=expm1f op1=ff800000 result=bf800000 errno=0
13*f3087befSAndrew Turnerfunc=expm1f op1=ff7fffff result=bf800000 errno=0
14*f3087befSAndrew Turnerfunc=expm1f op1=00000000 result=00000000 errno=0
15*f3087befSAndrew Turnerfunc=expm1f op1=80000000 result=80000000 errno=0
16*f3087befSAndrew Turner
17*f3087befSAndrew Turner; No exception is raised with certain versions of glibc. Functions
18*f3087befSAndrew Turner; approximated by x near zero may not generate/implement flops and
19*f3087befSAndrew Turner; thus may not raise exceptions.
20*f3087befSAndrew Turner
21*f3087befSAndrew Turnerfunc=expm1f op1=00000001 result=00000001 errno=0 maybestatus=ux
22*f3087befSAndrew Turnerfunc=expm1f op1=80000001 result=80000001 errno=0 maybestatus=ux
23*f3087befSAndrew Turner
24*f3087befSAndrew Turnerfunc=expm1f op1=42b145c0 result=7f6ac2dd.9b8 errno=0
25*f3087befSAndrew Turner
26*f3087befSAndrew Turner; Check both sides of the over/underflow thresholds in the code.
27*f3087befSAndrew Turnerfunc=expm1f op1=c2000000 result=bf7fffff.fff error=0
28*f3087befSAndrew Turnerfunc=expm1f op1=c2000001 result=bf7fffff.fff error=0
29*f3087befSAndrew Turnerfunc=expm1f op1=43000000 result=7f800000 error=overflow
30*f3087befSAndrew Turnerfunc=expm1f op1=43000001 result=7f800000 error=overflow
31*f3087befSAndrew Turnerfunc=expm1f op1=c2a80000 result=bf800000.000 error=0
32*f3087befSAndrew Turnerfunc=expm1f op1=c2a80001 result=bf800000.000 error=0
33*f3087befSAndrew Turner
34*f3087befSAndrew Turner; Check values for which exp goes denormal. expm1f should not report
35*f3087befSAndrew Turner; spurious overflow.
36*f3087befSAndrew Turnerfunc=expm1f op1=c2b00f34 result=bf800000.000 error=0
37*f3087befSAndrew Turnerfunc=expm1f op1=c2ce8ed0 result=bf800000.000 error=0
38*f3087befSAndrew Turnerfunc=expm1f op1=c2dc6bba result=bf800000.000 error=0
39*f3087befSAndrew Turner
40*f3087befSAndrew Turner; Regression tests for significance loss when the two components of
41*f3087befSAndrew Turner; the result have opposite sign but similar magnitude
42*f3087befSAndrew Turnerfunc=expm1f op1=be8516c1 result=be6a652b.0dc error=0
43*f3087befSAndrew Turnerfunc=expm1f op1=be851714 result=be6a65ab.0e5 error=0
44*f3087befSAndrew Turnerfunc=expm1f op1=be851cc7 result=be6a6e75.111 error=0
45*f3087befSAndrew Turnerfunc=expm1f op1=be851d1a result=be6a6ef5.102 error=0
46*f3087befSAndrew Turnerfunc=expm1f op1=be851d6d result=be6a6f75.0f2 error=0
47*f3087befSAndrew Turnerfunc=expm1f op1=be852065 result=be6a7409.0e4 error=0
48*f3087befSAndrew Turnerfunc=expm1f op1=be8520b8 result=be6a7489.0c7 error=0
49*f3087befSAndrew Turnerfunc=expm1f op1=be85210b result=be6a7509.0a8 error=0
50*f3087befSAndrew Turnerfunc=expm1f op1=be855401 result=be6ac39b.0d5 error=0
51*f3087befSAndrew Turnerfunc=expm1f op1=be933307 result=be7fdbf0.d8d error=0
52*f3087befSAndrew Turnerfunc=expm1f op1=be92ed6b result=be7f737a.d81 error=0
53*f3087befSAndrew Turnerfunc=expm1f op1=be933b90 result=be7fe8be.d76 error=0
54*f3087befSAndrew Turnerfunc=expm1f op1=3eb11364 result=3ed38deb.0c0 error=0
55*f3087befSAndrew Turnerfunc=expm1f op1=3f28e830 result=3f6f344b.0da error=0
56*f3087befSAndrew Turnerfunc=expm1f op1=3eb1578f result=3ed3ee47.13b error=0
57*f3087befSAndrew Turnerfunc=expm1f op1=3f50176a result=3fa08e36.fea error=0
58