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