|
1 ------------------------------------------------------------------------ |
|
2 -- fma.decTest -- decimal fused multiply add -- |
|
3 -- Copyright (c) IBM Corporation, 1981, 2008. All rights reserved. -- |
|
4 ------------------------------------------------------------------------ |
|
5 -- Please see the document "General Decimal Arithmetic Testcases" -- |
|
6 -- at http://www2.hursley.ibm.com/decimal for the description of -- |
|
7 -- these testcases. -- |
|
8 -- -- |
|
9 -- These testcases are experimental ('beta' versions), and they -- |
|
10 -- may contain errors. They are offered on an as-is basis. In -- |
|
11 -- particular, achieving the same results as the tests here is not -- |
|
12 -- a guarantee that an implementation complies with any Standard -- |
|
13 -- or specification. The tests are not exhaustive. -- |
|
14 -- -- |
|
15 -- Please send comments, suggestions, and corrections to the author: -- |
|
16 -- Mike Cowlishaw, IBM Fellow -- |
|
17 -- IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK -- |
|
18 -- mfc@uk.ibm.com -- |
|
19 ------------------------------------------------------------------------ |
|
20 version: 2.58 |
|
21 |
|
22 extended: 1 |
|
23 precision: 9 |
|
24 rounding: half_up |
|
25 maxExponent: 384 |
|
26 minexponent: -383 |
|
27 |
|
28 -- These tests comprese three parts: |
|
29 -- 1. Sanity checks and other three-operand tests (especially those |
|
30 -- where the fused operation makes a difference) |
|
31 -- 2. Multiply tests (third operand is neutral zero [0E+emax]) |
|
32 -- 3. Addition tests (first operand is 1) |
|
33 -- The multiply and addition tests are extensive because FMA may have |
|
34 -- its own dedicated multiplication or addition routine(s), and they |
|
35 -- also inherently check the left-to-right properties. |
|
36 |
|
37 -- Sanity checks |
|
38 fmax0001 fma 1 1 1 -> 2 |
|
39 fmax0002 fma 1 1 2 -> 3 |
|
40 fmax0003 fma 2 2 3 -> 7 |
|
41 fmax0004 fma 9 9 9 -> 90 |
|
42 fmax0005 fma -1 1 1 -> 0 |
|
43 fmax0006 fma -1 1 2 -> 1 |
|
44 fmax0007 fma -2 2 3 -> -1 |
|
45 fmax0008 fma -9 9 9 -> -72 |
|
46 fmax0011 fma 1 -1 1 -> 0 |
|
47 fmax0012 fma 1 -1 2 -> 1 |
|
48 fmax0013 fma 2 -2 3 -> -1 |
|
49 fmax0014 fma 9 -9 9 -> -72 |
|
50 fmax0015 fma 1 1 -1 -> 0 |
|
51 fmax0016 fma 1 1 -2 -> -1 |
|
52 fmax0017 fma 2 2 -3 -> 1 |
|
53 fmax0018 fma 9 9 -9 -> 72 |
|
54 fmax0019 fma 3 5 7 -> 22 |
|
55 fmax0029 fma 3 -5 7 -> -8 |
|
56 |
|
57 -- non-integer exacts |
|
58 fma0100 fma 25.2 63.6 -438 -> 1164.72 |
|
59 fma0101 fma 0.301 0.380 334 -> 334.114380 |
|
60 fma0102 fma 49.2 -4.8 23.3 -> -212.86 |
|
61 fma0103 fma 4.22 0.079 -94.6 -> -94.26662 |
|
62 fma0104 fma 903 0.797 0.887 -> 720.578 |
|
63 fma0105 fma 6.13 -161 65.9 -> -921.03 |
|
64 fma0106 fma 28.2 727 5.45 -> 20506.85 |
|
65 fma0107 fma 4 605 688 -> 3108 |
|
66 fma0108 fma 93.3 0.19 0.226 -> 17.953 |
|
67 fma0109 fma 0.169 -341 5.61 -> -52.019 |
|
68 fma0110 fma -72.2 30 -51.2 -> -2217.2 |
|
69 fma0111 fma -0.409 13 20.4 -> 15.083 |
|
70 fma0112 fma 317 77.0 19.0 -> 24428.0 |
|
71 fma0113 fma 47 6.58 1.62 -> 310.88 |
|
72 fma0114 fma 1.36 0.984 0.493 -> 1.83124 |
|
73 fma0115 fma 72.7 274 1.56 -> 19921.36 |
|
74 fma0116 fma 335 847 83 -> 283828 |
|
75 fma0117 fma 666 0.247 25.4 -> 189.902 |
|
76 fma0118 fma -3.87 3.06 78.0 -> 66.1578 |
|
77 fma0119 fma 0.742 192 35.6 -> 178.064 |
|
78 fma0120 fma -91.6 5.29 0.153 -> -484.411 |
|
79 |
|
80 -- cases where result is different from separate multiply + add; each |
|
81 -- is preceded by the result of unfused multiply and add |
|
82 -- [this is about 20% of all similar cases in general] |
|
83 -- 888565290 1557.96930 -86087.7578 -> 1.38435735E+12 |
|
84 fma0201 fma 888565290 1557.96930 -86087.7578 -> 1.38435736E+12 Inexact Rounded |
|
85 -- -85519342.9 735155419 42010431 -> -6.28700084E+16 |
|
86 fma0205 fma -85519342.9 735155419 42010431 -> -6.28700083E+16 Inexact Rounded |
|
87 -- -98025.5 -294603.472 10414348.2 -> 2.88890669E+10 |
|
88 fma0208 fma -98025.5 -294603.472 10414348.2 -> 2.88890670E+10 Inexact Rounded |
|
89 -- 5967627.39 83526540.6 498494.810 -> 4.98455271E+14 |
|
90 fma0211 fma 5967627.39 83526540.6 498494.810 -> 4.98455272E+14 Inexact Rounded |
|
91 -- 3456.9433 874.39518 197866.615 -> 3220601.18 |
|
92 fma0216 fma 3456.9433 874.39518 197866.615 -> 3220601.17 Inexact Rounded |
|
93 -- 62769.8287 2096.98927 48.420317 -> 131627705 |
|
94 fma0218 fma 62769.8287 2096.98927 48.420317 -> 131627706 Inexact Rounded |
|
95 -- -68.81500 59961113.9 -8988862 -> -4.13521291E+9 |
|
96 fma0219 fma -68.81500 59961113.9 -8988862 -> -4.13521292E+9 Inexact Rounded |
|
97 -- 2126341.02 63491.5152 302427455 -> 1.35307040E+11 |
|
98 fma0226 fma 2126341.02 63491.5152 302427455 -> 1.35307041E+11 Inexact Rounded |
|
99 |
|
100 |
|
101 -- Infinite combinations |
|
102 fmax0800 fma Inf Inf Inf -> Infinity |
|
103 fmax0801 fma Inf Inf -Inf -> NaN Invalid_operation |
|
104 fmax0802 fma Inf -Inf Inf -> NaN Invalid_operation |
|
105 fmax0803 fma Inf -Inf -Inf -> -Infinity |
|
106 fmax0804 fma -Inf Inf Inf -> NaN Invalid_operation |
|
107 fmax0805 fma -Inf Inf -Inf -> -Infinity |
|
108 fmax0806 fma -Inf -Inf Inf -> Infinity |
|
109 fmax0807 fma -Inf -Inf -Inf -> NaN Invalid_operation |
|
110 fmax0808 fma -Inf 0 1 -> NaN Invalid_operation |
|
111 fmax0809 fma -Inf 0 NaN -> NaN Invalid_operation |
|
112 |
|
113 -- Triple NaN propagation |
|
114 fmax0900 fma NaN2 NaN3 NaN5 -> NaN2 |
|
115 fmax0901 fma 0 NaN3 NaN5 -> NaN3 |
|
116 fmax0902 fma 0 0 NaN5 -> NaN5 |
|
117 -- first sNaN wins (consider qNaN from earlier sNaN being |
|
118 -- overridden by an sNaN in third operand) |
|
119 fmax0903 fma sNaN1 sNaN2 sNaN3 -> NaN1 Invalid_operation |
|
120 fmax0904 fma 0 sNaN2 sNaN3 -> NaN2 Invalid_operation |
|
121 fmax0905 fma 0 0 sNaN3 -> NaN3 Invalid_operation |
|
122 fmax0906 fma sNaN1 sNaN2 sNaN3 -> NaN1 Invalid_operation |
|
123 fmax0907 fma NaN7 sNaN2 sNaN3 -> NaN2 Invalid_operation |
|
124 fmax0908 fma NaN7 NaN5 sNaN3 -> NaN3 Invalid_operation |
|
125 |
|
126 -- MULTIPLICATION TESTS ------------------------------------------------ |
|
127 -- sanity checks (as base, above) |
|
128 fmax2000 fma 2 2 0E+999999 -> 4 |
|
129 fmax2001 fma 2 3 0E+999999 -> 6 |
|
130 fmax2002 fma 5 1 0E+999999 -> 5 |
|
131 fmax2003 fma 5 2 0E+999999 -> 10 |
|
132 fmax2004 fma 1.20 2 0E+999999 -> 2.40 |
|
133 fmax2005 fma 1.20 0 0E+999999 -> 0.00 |
|
134 fmax2006 fma 1.20 -2 0E+999999 -> -2.40 |
|
135 fmax2007 fma -1.20 2 0E+999999 -> -2.40 |
|
136 fmax2008 fma -1.20 0 0E+999999 -> 0.00 |
|
137 fmax2009 fma -1.20 -2 0E+999999 -> 2.40 |
|
138 fmax2010 fma 5.09 7.1 0E+999999 -> 36.139 |
|
139 fmax2011 fma 2.5 4 0E+999999 -> 10.0 |
|
140 fmax2012 fma 2.50 4 0E+999999 -> 10.00 |
|
141 fmax2013 fma 1.23456789 1.00000000 0E+999999 -> 1.23456789 Rounded |
|
142 fmax2014 fma 9.999999999 9.999999999 0E+999999 -> 100.000000 Inexact Rounded |
|
143 fmax2015 fma 2.50 4 0E+999999 -> 10.00 |
|
144 precision: 6 |
|
145 fmax2016 fma 2.50 4 0E+999999 -> 10.00 |
|
146 fmax2017 fma 9.999999 9.999999 0E+999999 -> 100.000 Inexact Rounded |
|
147 fmax2018 fma 9.999999 -9.999999 0E+999999 -> -100.000 Inexact Rounded |
|
148 fmax2019 fma -9.999999 9.999999 0E+999999 -> -100.000 Inexact Rounded |
|
149 fmax2020 fma -9.999999 -9.999999 0E+999999 -> 100.000 Inexact Rounded |
|
150 |
|
151 -- 1999.12.21: next one is a edge case if intermediate longs are used |
|
152 precision: 15 |
|
153 fmax2059 fma 999999999999 9765625 0E+999999 -> 9.76562499999023E+18 Inexact Rounded |
|
154 precision: 30 |
|
155 fmax2160 fma 999999999999 9765625 0E+999999 -> 9765624999990234375 |
|
156 precision: 9 |
|
157 ----- |
|
158 |
|
159 -- zeros, etc. |
|
160 fmax2021 fma 0 0 0E+999999 -> 0 |
|
161 fmax2022 fma 0 -0 0E+999999 -> 0 |
|
162 fmax2023 fma -0 0 0E+999999 -> 0 |
|
163 fmax2024 fma -0 -0 0E+999999 -> 0 |
|
164 fmax2025 fma -0.0 -0.0 0E+999999 -> 0.00 |
|
165 fmax2026 fma -0.0 -0.0 0E+999999 -> 0.00 |
|
166 fmax2027 fma -0.0 -0.0 0E+999999 -> 0.00 |
|
167 fmax2028 fma -0.0 -0.0 0E+999999 -> 0.00 |
|
168 fmax2030 fma 5.00 1E-3 0E+999999 -> 0.00500 |
|
169 fmax2031 fma 00.00 0.000 0E+999999 -> 0.00000 |
|
170 fmax2032 fma 00.00 0E-3 0E+999999 -> 0.00000 -- rhs is 0 |
|
171 fmax2033 fma 0E-3 00.00 0E+999999 -> 0.00000 -- lhs is 0 |
|
172 fmax2034 fma -5.00 1E-3 0E+999999 -> -0.00500 |
|
173 fmax2035 fma -00.00 0.000 0E+999999 -> 0.00000 |
|
174 fmax2036 fma -00.00 0E-3 0E+999999 -> 0.00000 -- rhs is 0 |
|
175 fmax2037 fma -0E-3 00.00 0E+999999 -> 0.00000 -- lhs is 0 |
|
176 fmax2038 fma 5.00 -1E-3 0E+999999 -> -0.00500 |
|
177 fmax2039 fma 00.00 -0.000 0E+999999 -> 0.00000 |
|
178 fmax2040 fma 00.00 -0E-3 0E+999999 -> 0.00000 -- rhs is 0 |
|
179 fmax2041 fma 0E-3 -00.00 0E+999999 -> 0.00000 -- lhs is 0 |
|
180 fmax2042 fma -5.00 -1E-3 0E+999999 -> 0.00500 |
|
181 fmax2043 fma -00.00 -0.000 0E+999999 -> 0.00000 |
|
182 fmax2044 fma -00.00 -0E-3 0E+999999 -> 0.00000 -- rhs is 0 |
|
183 fmax2045 fma -0E-3 -00.00 0E+999999 -> 0.00000 -- lhs is 0 |
|
184 |
|
185 -- examples from decarith multiply |
|
186 fmax2050 fma 1.20 3 0E+999999 -> 3.60 |
|
187 fmax2051 fma 7 3 0E+999999 -> 21 |
|
188 fmax2052 fma 0.9 0.8 0E+999999 -> 0.72 |
|
189 fmax2053 fma 0.9 -0 0E+999999 -> 0.0 |
|
190 fmax2054 fma 654321 654321 0E+999999 -> 4.28135971E+11 Inexact Rounded |
|
191 |
|
192 fmax2060 fma 123.45 1e7 0E+999999 -> 1.2345E+9 |
|
193 fmax2061 fma 123.45 1e8 0E+999999 -> 1.2345E+10 |
|
194 fmax2062 fma 123.45 1e+9 0E+999999 -> 1.2345E+11 |
|
195 fmax2063 fma 123.45 1e10 0E+999999 -> 1.2345E+12 |
|
196 fmax2064 fma 123.45 1e11 0E+999999 -> 1.2345E+13 |
|
197 fmax2065 fma 123.45 1e12 0E+999999 -> 1.2345E+14 |
|
198 fmax2066 fma 123.45 1e13 0E+999999 -> 1.2345E+15 |
|
199 |
|
200 |
|
201 -- test some intermediate lengths |
|
202 precision: 9 |
|
203 fmax2080 fma 0.1 123456789 0E+999999 -> 12345678.9 |
|
204 fmax2081 fma 0.1 1234567891 0E+999999 -> 123456789 Inexact Rounded |
|
205 fmax2082 fma 0.1 12345678912 0E+999999 -> 1.23456789E+9 Inexact Rounded |
|
206 fmax2083 fma 0.1 12345678912345 0E+999999 -> 1.23456789E+12 Inexact Rounded |
|
207 fmax2084 fma 0.1 123456789 0E+999999 -> 12345678.9 |
|
208 precision: 8 |
|
209 fmax2085 fma 0.1 12345678912 0E+999999 -> 1.2345679E+9 Inexact Rounded |
|
210 fmax2086 fma 0.1 12345678912345 0E+999999 -> 1.2345679E+12 Inexact Rounded |
|
211 precision: 7 |
|
212 fmax2087 fma 0.1 12345678912 0E+999999 -> 1.234568E+9 Inexact Rounded |
|
213 fmax2088 fma 0.1 12345678912345 0E+999999 -> 1.234568E+12 Inexact Rounded |
|
214 |
|
215 precision: 9 |
|
216 fmax2090 fma 123456789 0.1 0E+999999 -> 12345678.9 |
|
217 fmax2091 fma 1234567891 0.1 0E+999999 -> 123456789 Inexact Rounded |
|
218 fmax2092 fma 12345678912 0.1 0E+999999 -> 1.23456789E+9 Inexact Rounded |
|
219 fmax2093 fma 12345678912345 0.1 0E+999999 -> 1.23456789E+12 Inexact Rounded |
|
220 fmax2094 fma 123456789 0.1 0E+999999 -> 12345678.9 |
|
221 precision: 8 |
|
222 fmax2095 fma 12345678912 0.1 0E+999999 -> 1.2345679E+9 Inexact Rounded |
|
223 fmax2096 fma 12345678912345 0.1 0E+999999 -> 1.2345679E+12 Inexact Rounded |
|
224 precision: 7 |
|
225 fmax2097 fma 12345678912 0.1 0E+999999 -> 1.234568E+9 Inexact Rounded |
|
226 fmax2098 fma 12345678912345 0.1 0E+999999 -> 1.234568E+12 Inexact Rounded |
|
227 |
|
228 -- test some more edge cases and carries |
|
229 maxexponent: 9999 |
|
230 minexponent: -9999 |
|
231 precision: 33 |
|
232 fmax2101 fma 9 9 0E+999999 -> 81 |
|
233 fmax2102 fma 9 90 0E+999999 -> 810 |
|
234 fmax2103 fma 9 900 0E+999999 -> 8100 |
|
235 fmax2104 fma 9 9000 0E+999999 -> 81000 |
|
236 fmax2105 fma 9 90000 0E+999999 -> 810000 |
|
237 fmax2106 fma 9 900000 0E+999999 -> 8100000 |
|
238 fmax2107 fma 9 9000000 0E+999999 -> 81000000 |
|
239 fmax2108 fma 9 90000000 0E+999999 -> 810000000 |
|
240 fmax2109 fma 9 900000000 0E+999999 -> 8100000000 |
|
241 fmax2110 fma 9 9000000000 0E+999999 -> 81000000000 |
|
242 fmax2111 fma 9 90000000000 0E+999999 -> 810000000000 |
|
243 fmax2112 fma 9 900000000000 0E+999999 -> 8100000000000 |
|
244 fmax2113 fma 9 9000000000000 0E+999999 -> 81000000000000 |
|
245 fmax2114 fma 9 90000000000000 0E+999999 -> 810000000000000 |
|
246 fmax2115 fma 9 900000000000000 0E+999999 -> 8100000000000000 |
|
247 fmax2116 fma 9 9000000000000000 0E+999999 -> 81000000000000000 |
|
248 fmax2117 fma 9 90000000000000000 0E+999999 -> 810000000000000000 |
|
249 fmax2118 fma 9 900000000000000000 0E+999999 -> 8100000000000000000 |
|
250 fmax2119 fma 9 9000000000000000000 0E+999999 -> 81000000000000000000 |
|
251 fmax2120 fma 9 90000000000000000000 0E+999999 -> 810000000000000000000 |
|
252 fmax2121 fma 9 900000000000000000000 0E+999999 -> 8100000000000000000000 |
|
253 fmax2122 fma 9 9000000000000000000000 0E+999999 -> 81000000000000000000000 |
|
254 fmax2123 fma 9 90000000000000000000000 0E+999999 -> 810000000000000000000000 |
|
255 -- test some more edge cases without carries |
|
256 fmax2131 fma 3 3 0E+999999 -> 9 |
|
257 fmax2132 fma 3 30 0E+999999 -> 90 |
|
258 fmax2133 fma 3 300 0E+999999 -> 900 |
|
259 fmax2134 fma 3 3000 0E+999999 -> 9000 |
|
260 fmax2135 fma 3 30000 0E+999999 -> 90000 |
|
261 fmax2136 fma 3 300000 0E+999999 -> 900000 |
|
262 fmax2137 fma 3 3000000 0E+999999 -> 9000000 |
|
263 fmax2138 fma 3 30000000 0E+999999 -> 90000000 |
|
264 fmax2139 fma 3 300000000 0E+999999 -> 900000000 |
|
265 fmax2140 fma 3 3000000000 0E+999999 -> 9000000000 |
|
266 fmax2141 fma 3 30000000000 0E+999999 -> 90000000000 |
|
267 fmax2142 fma 3 300000000000 0E+999999 -> 900000000000 |
|
268 fmax2143 fma 3 3000000000000 0E+999999 -> 9000000000000 |
|
269 fmax2144 fma 3 30000000000000 0E+999999 -> 90000000000000 |
|
270 fmax2145 fma 3 300000000000000 0E+999999 -> 900000000000000 |
|
271 fmax2146 fma 3 3000000000000000 0E+999999 -> 9000000000000000 |
|
272 fmax2147 fma 3 30000000000000000 0E+999999 -> 90000000000000000 |
|
273 fmax2148 fma 3 300000000000000000 0E+999999 -> 900000000000000000 |
|
274 fmax2149 fma 3 3000000000000000000 0E+999999 -> 9000000000000000000 |
|
275 fmax2150 fma 3 30000000000000000000 0E+999999 -> 90000000000000000000 |
|
276 fmax2151 fma 3 300000000000000000000 0E+999999 -> 900000000000000000000 |
|
277 fmax2152 fma 3 3000000000000000000000 0E+999999 -> 9000000000000000000000 |
|
278 fmax2153 fma 3 30000000000000000000000 0E+999999 -> 90000000000000000000000 |
|
279 |
|
280 maxexponent: 999999 |
|
281 minexponent: -999999 |
|
282 precision: 9 |
|
283 -- test some cases that are close to exponent overflow/underflow |
|
284 fmax2170 fma 1 9e999999 0E+999999 -> 9E+999999 |
|
285 fmax2171 fma 1 9.9e999999 0E+999999 -> 9.9E+999999 |
|
286 fmax2172 fma 1 9.99e999999 0E+999999 -> 9.99E+999999 |
|
287 fmax2173 fma 9e999999 1 0E+999999 -> 9E+999999 |
|
288 fmax2174 fma 9.9e999999 1 0E+999999 -> 9.9E+999999 |
|
289 fmax2176 fma 9.99e999999 1 0E+999999 -> 9.99E+999999 |
|
290 fmax2177 fma 1 9.99999e999999 0E+999999 -> 9.99999E+999999 |
|
291 fmax2178 fma 9.99999e999999 1 0E+999999 -> 9.99999E+999999 |
|
292 |
|
293 fmax2180 fma 0.1 9e-999998 0E+999999 -> 9E-999999 |
|
294 fmax2181 fma 0.1 99e-999998 0E+999999 -> 9.9E-999998 |
|
295 fmax2182 fma 0.1 999e-999998 0E+999999 -> 9.99E-999997 |
|
296 |
|
297 fmax2183 fma 0.1 9e-999998 0E+999999 -> 9E-999999 |
|
298 fmax2184 fma 0.1 99e-999998 0E+999999 -> 9.9E-999998 |
|
299 fmax2185 fma 0.1 999e-999998 0E+999999 -> 9.99E-999997 |
|
300 fmax2186 fma 0.1 999e-999997 0E+999999 -> 9.99E-999996 |
|
301 fmax2187 fma 0.1 9999e-999997 0E+999999 -> 9.999E-999995 |
|
302 fmax2188 fma 0.1 99999e-999997 0E+999999 -> 9.9999E-999994 |
|
303 |
|
304 fmax2190 fma 1 9e-999998 0E+999999 -> 9E-999998 |
|
305 fmax2191 fma 1 99e-999998 0E+999999 -> 9.9E-999997 |
|
306 fmax2192 fma 1 999e-999998 0E+999999 -> 9.99E-999996 |
|
307 fmax2193 fma 9e-999998 1 0E+999999 -> 9E-999998 |
|
308 fmax2194 fma 99e-999998 1 0E+999999 -> 9.9E-999997 |
|
309 fmax2195 fma 999e-999998 1 0E+999999 -> 9.99E-999996 |
|
310 |
|
311 -- long operand triangle |
|
312 precision: 33 |
|
313 fmax2246 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.290801193369671916511992830 Inexact Rounded |
|
314 precision: 32 |
|
315 fmax2247 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.29080119336967191651199283 Inexact Rounded |
|
316 precision: 31 |
|
317 fmax2248 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.2908011933696719165119928 Inexact Rounded |
|
318 precision: 30 |
|
319 fmax2249 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.290801193369671916511993 Inexact Rounded |
|
320 precision: 29 |
|
321 fmax2250 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.29080119336967191651199 Inexact Rounded |
|
322 precision: 28 |
|
323 fmax2251 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.2908011933696719165120 Inexact Rounded |
|
324 precision: 27 |
|
325 fmax2252 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.290801193369671916512 Inexact Rounded |
|
326 precision: 26 |
|
327 fmax2253 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.29080119336967191651 Inexact Rounded |
|
328 precision: 25 |
|
329 fmax2254 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.2908011933696719165 Inexact Rounded |
|
330 precision: 24 |
|
331 fmax2255 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.290801193369671917 Inexact Rounded |
|
332 precision: 23 |
|
333 fmax2256 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.29080119336967192 Inexact Rounded |
|
334 precision: 22 |
|
335 fmax2257 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.2908011933696719 Inexact Rounded |
|
336 precision: 21 |
|
337 fmax2258 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.290801193369672 Inexact Rounded |
|
338 precision: 20 |
|
339 fmax2259 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.29080119336967 Inexact Rounded |
|
340 precision: 19 |
|
341 fmax2260 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.2908011933697 Inexact Rounded |
|
342 precision: 18 |
|
343 fmax2261 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.290801193370 Inexact Rounded |
|
344 precision: 17 |
|
345 fmax2262 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.29080119337 Inexact Rounded |
|
346 precision: 16 |
|
347 fmax2263 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.2908011934 Inexact Rounded |
|
348 precision: 15 |
|
349 fmax2264 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.290801193 Inexact Rounded |
|
350 precision: 14 |
|
351 fmax2265 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.29080119 Inexact Rounded |
|
352 precision: 13 |
|
353 fmax2266 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.2908012 Inexact Rounded |
|
354 precision: 12 |
|
355 fmax2267 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.290801 Inexact Rounded |
|
356 precision: 11 |
|
357 fmax2268 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.29080 Inexact Rounded |
|
358 precision: 10 |
|
359 fmax2269 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.2908 Inexact Rounded |
|
360 precision: 9 |
|
361 fmax2270 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.291 Inexact Rounded |
|
362 precision: 8 |
|
363 fmax2271 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.29 Inexact Rounded |
|
364 precision: 7 |
|
365 fmax2272 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.3 Inexact Rounded |
|
366 precision: 6 |
|
367 fmax2273 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433 Inexact Rounded |
|
368 precision: 5 |
|
369 fmax2274 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 1.4543E+5 Inexact Rounded |
|
370 precision: 4 |
|
371 fmax2275 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 1.454E+5 Inexact Rounded |
|
372 precision: 3 |
|
373 fmax2276 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 1.45E+5 Inexact Rounded |
|
374 precision: 2 |
|
375 fmax2277 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 1.5E+5 Inexact Rounded |
|
376 precision: 1 |
|
377 fmax2278 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 1E+5 Inexact Rounded |
|
378 |
|
379 -- test some edge cases with exact rounding |
|
380 maxexponent: 9999 |
|
381 minexponent: -9999 |
|
382 precision: 9 |
|
383 fmax2301 fma 9 9 0E+999999 -> 81 |
|
384 fmax2302 fma 9 90 0E+999999 -> 810 |
|
385 fmax2303 fma 9 900 0E+999999 -> 8100 |
|
386 fmax2304 fma 9 9000 0E+999999 -> 81000 |
|
387 fmax2305 fma 9 90000 0E+999999 -> 810000 |
|
388 fmax2306 fma 9 900000 0E+999999 -> 8100000 |
|
389 fmax2307 fma 9 9000000 0E+999999 -> 81000000 |
|
390 fmax2308 fma 9 90000000 0E+999999 -> 810000000 |
|
391 fmax2309 fma 9 900000000 0E+999999 -> 8.10000000E+9 Rounded |
|
392 fmax2310 fma 9 9000000000 0E+999999 -> 8.10000000E+10 Rounded |
|
393 fmax2311 fma 9 90000000000 0E+999999 -> 8.10000000E+11 Rounded |
|
394 fmax2312 fma 9 900000000000 0E+999999 -> 8.10000000E+12 Rounded |
|
395 fmax2313 fma 9 9000000000000 0E+999999 -> 8.10000000E+13 Rounded |
|
396 fmax2314 fma 9 90000000000000 0E+999999 -> 8.10000000E+14 Rounded |
|
397 fmax2315 fma 9 900000000000000 0E+999999 -> 8.10000000E+15 Rounded |
|
398 fmax2316 fma 9 9000000000000000 0E+999999 -> 8.10000000E+16 Rounded |
|
399 fmax2317 fma 9 90000000000000000 0E+999999 -> 8.10000000E+17 Rounded |
|
400 fmax2318 fma 9 900000000000000000 0E+999999 -> 8.10000000E+18 Rounded |
|
401 fmax2319 fma 9 9000000000000000000 0E+999999 -> 8.10000000E+19 Rounded |
|
402 fmax2320 fma 9 90000000000000000000 0E+999999 -> 8.10000000E+20 Rounded |
|
403 fmax2321 fma 9 900000000000000000000 0E+999999 -> 8.10000000E+21 Rounded |
|
404 fmax2322 fma 9 9000000000000000000000 0E+999999 -> 8.10000000E+22 Rounded |
|
405 fmax2323 fma 9 90000000000000000000000 0E+999999 -> 8.10000000E+23 Rounded |
|
406 |
|
407 -- fastpath breakers |
|
408 precision: 29 |
|
409 fmax2330 fma 1.491824697641270317824852952837224 1.105170918075647624811707826490246514675628614562883537345747603 0E+999999 -> 1.6487212707001281468486507878 Inexact Rounded |
|
410 precision: 55 |
|
411 fmax2331 fma 0.8958341352965282506768545828765117803873717284891040428 0.8958341352965282506768545828765117803873717284891040428 0E+999999 -> 0.8025187979624784829842553829934069955890983696752228299 Inexact Rounded |
|
412 |
|
413 |
|
414 -- tryzeros cases |
|
415 precision: 7 |
|
416 rounding: half_up |
|
417 maxExponent: 92 |
|
418 minexponent: -92 |
|
419 fmax2504 fma 0E-60 1000E-60 0E+999999 -> 0E-98 Clamped |
|
420 fmax2505 fma 100E+60 0E+60 0E+999999 -> 0E+92 Clamped |
|
421 |
|
422 -- mixed with zeros |
|
423 maxexponent: 999999 |
|
424 minexponent: -999999 |
|
425 precision: 9 |
|
426 fmax2541 fma 0 -1 0E+999999 -> 0 |
|
427 fmax2542 fma -0 -1 0E+999999 -> 0 |
|
428 fmax2543 fma 0 1 0E+999999 -> 0 |
|
429 fmax2544 fma -0 1 0E+999999 -> 0 |
|
430 fmax2545 fma -1 0 0E+999999 -> 0 |
|
431 fmax2546 fma -1 -0 0E+999999 -> 0 |
|
432 fmax2547 fma 1 0 0E+999999 -> 0 |
|
433 fmax2548 fma 1 -0 0E+999999 -> 0 |
|
434 |
|
435 fmax2551 fma 0.0 -1 0E+999999 -> 0.0 |
|
436 fmax2552 fma -0.0 -1 0E+999999 -> 0.0 |
|
437 fmax2553 fma 0.0 1 0E+999999 -> 0.0 |
|
438 fmax2554 fma -0.0 1 0E+999999 -> 0.0 |
|
439 fmax2555 fma -1.0 0 0E+999999 -> 0.0 |
|
440 fmax2556 fma -1.0 -0 0E+999999 -> 0.0 |
|
441 fmax2557 fma 1.0 0 0E+999999 -> 0.0 |
|
442 fmax2558 fma 1.0 -0 0E+999999 -> 0.0 |
|
443 |
|
444 fmax2561 fma 0 -1.0 0E+999999 -> 0.0 |
|
445 fmax2562 fma -0 -1.0 0E+999999 -> 0.0 |
|
446 fmax2563 fma 0 1.0 0E+999999 -> 0.0 |
|
447 fmax2564 fma -0 1.0 0E+999999 -> 0.0 |
|
448 fmax2565 fma -1 0.0 0E+999999 -> 0.0 |
|
449 fmax2566 fma -1 -0.0 0E+999999 -> 0.0 |
|
450 fmax2567 fma 1 0.0 0E+999999 -> 0.0 |
|
451 fmax2568 fma 1 -0.0 0E+999999 -> 0.0 |
|
452 |
|
453 fmax2571 fma 0.0 -1.0 0E+999999 -> 0.00 |
|
454 fmax2572 fma -0.0 -1.0 0E+999999 -> 0.00 |
|
455 fmax2573 fma 0.0 1.0 0E+999999 -> 0.00 |
|
456 fmax2574 fma -0.0 1.0 0E+999999 -> 0.00 |
|
457 fmax2575 fma -1.0 0.0 0E+999999 -> 0.00 |
|
458 fmax2576 fma -1.0 -0.0 0E+999999 -> 0.00 |
|
459 fmax2577 fma 1.0 0.0 0E+999999 -> 0.00 |
|
460 fmax2578 fma 1.0 -0.0 0E+999999 -> 0.00 |
|
461 |
|
462 |
|
463 -- Specials |
|
464 fmax2580 fma Inf -Inf 0E+999999 -> -Infinity |
|
465 fmax2581 fma Inf -1000 0E+999999 -> -Infinity |
|
466 fmax2582 fma Inf -1 0E+999999 -> -Infinity |
|
467 fmax2583 fma Inf -0 0E+999999 -> NaN Invalid_operation |
|
468 fmax2584 fma Inf 0 0E+999999 -> NaN Invalid_operation |
|
469 fmax2585 fma Inf 1 0E+999999 -> Infinity |
|
470 fmax2586 fma Inf 1000 0E+999999 -> Infinity |
|
471 fmax2587 fma Inf Inf 0E+999999 -> Infinity |
|
472 fmax2588 fma -1000 Inf 0E+999999 -> -Infinity |
|
473 fmax2589 fma -Inf Inf 0E+999999 -> -Infinity |
|
474 fmax2590 fma -1 Inf 0E+999999 -> -Infinity |
|
475 fmax2591 fma -0 Inf 0E+999999 -> NaN Invalid_operation |
|
476 fmax2592 fma 0 Inf 0E+999999 -> NaN Invalid_operation |
|
477 fmax2593 fma 1 Inf 0E+999999 -> Infinity |
|
478 fmax2594 fma 1000 Inf 0E+999999 -> Infinity |
|
479 fmax2595 fma Inf Inf 0E+999999 -> Infinity |
|
480 |
|
481 fmax2600 fma -Inf -Inf 0E+999999 -> Infinity |
|
482 fmax2601 fma -Inf -1000 0E+999999 -> Infinity |
|
483 fmax2602 fma -Inf -1 0E+999999 -> Infinity |
|
484 fmax2603 fma -Inf -0 0E+999999 -> NaN Invalid_operation |
|
485 fmax2604 fma -Inf 0 0E+999999 -> NaN Invalid_operation |
|
486 fmax2605 fma -Inf 1 0E+999999 -> -Infinity |
|
487 fmax2606 fma -Inf 1000 0E+999999 -> -Infinity |
|
488 fmax2607 fma -Inf Inf 0E+999999 -> -Infinity |
|
489 fmax2608 fma -1000 Inf 0E+999999 -> -Infinity |
|
490 fmax2609 fma -Inf -Inf 0E+999999 -> Infinity |
|
491 fmax2610 fma -1 -Inf 0E+999999 -> Infinity |
|
492 fmax2611 fma -0 -Inf 0E+999999 -> NaN Invalid_operation |
|
493 fmax2612 fma 0 -Inf 0E+999999 -> NaN Invalid_operation |
|
494 fmax2613 fma 1 -Inf 0E+999999 -> -Infinity |
|
495 fmax2614 fma 1000 -Inf 0E+999999 -> -Infinity |
|
496 fmax2615 fma Inf -Inf 0E+999999 -> -Infinity |
|
497 |
|
498 fmax2621 fma NaN -Inf 0E+999999 -> NaN |
|
499 fmax2622 fma NaN -1000 0E+999999 -> NaN |
|
500 fmax2623 fma NaN -1 0E+999999 -> NaN |
|
501 fmax2624 fma NaN -0 0E+999999 -> NaN |
|
502 fmax2625 fma NaN 0 0E+999999 -> NaN |
|
503 fmax2626 fma NaN 1 0E+999999 -> NaN |
|
504 fmax2627 fma NaN 1000 0E+999999 -> NaN |
|
505 fmax2628 fma NaN Inf 0E+999999 -> NaN |
|
506 fmax2629 fma NaN NaN 0E+999999 -> NaN |
|
507 fmax2630 fma -Inf NaN 0E+999999 -> NaN |
|
508 fmax2631 fma -1000 NaN 0E+999999 -> NaN |
|
509 fmax2632 fma -1 NaN 0E+999999 -> NaN |
|
510 fmax2633 fma -0 NaN 0E+999999 -> NaN |
|
511 fmax2634 fma 0 NaN 0E+999999 -> NaN |
|
512 fmax2635 fma 1 NaN 0E+999999 -> NaN |
|
513 fmax2636 fma 1000 NaN 0E+999999 -> NaN |
|
514 fmax2637 fma Inf NaN 0E+999999 -> NaN |
|
515 |
|
516 fmax2641 fma sNaN -Inf 0E+999999 -> NaN Invalid_operation |
|
517 fmax2642 fma sNaN -1000 0E+999999 -> NaN Invalid_operation |
|
518 fmax2643 fma sNaN -1 0E+999999 -> NaN Invalid_operation |
|
519 fmax2644 fma sNaN -0 0E+999999 -> NaN Invalid_operation |
|
520 fmax2645 fma sNaN 0 0E+999999 -> NaN Invalid_operation |
|
521 fmax2646 fma sNaN 1 0E+999999 -> NaN Invalid_operation |
|
522 fmax2647 fma sNaN 1000 0E+999999 -> NaN Invalid_operation |
|
523 fmax2648 fma sNaN NaN 0E+999999 -> NaN Invalid_operation |
|
524 fmax2649 fma sNaN sNaN 0E+999999 -> NaN Invalid_operation |
|
525 fmax2650 fma NaN sNaN 0E+999999 -> NaN Invalid_operation |
|
526 fmax2651 fma -Inf sNaN 0E+999999 -> NaN Invalid_operation |
|
527 fmax2652 fma -1000 sNaN 0E+999999 -> NaN Invalid_operation |
|
528 fmax2653 fma -1 sNaN 0E+999999 -> NaN Invalid_operation |
|
529 fmax2654 fma -0 sNaN 0E+999999 -> NaN Invalid_operation |
|
530 fmax2655 fma 0 sNaN 0E+999999 -> NaN Invalid_operation |
|
531 fmax2656 fma 1 sNaN 0E+999999 -> NaN Invalid_operation |
|
532 fmax2657 fma 1000 sNaN 0E+999999 -> NaN Invalid_operation |
|
533 fmax2658 fma Inf sNaN 0E+999999 -> NaN Invalid_operation |
|
534 fmax2659 fma NaN sNaN 0E+999999 -> NaN Invalid_operation |
|
535 |
|
536 -- propagating NaNs |
|
537 fmax2661 fma NaN9 -Inf 0E+999999 -> NaN9 |
|
538 fmax2662 fma NaN8 999 0E+999999 -> NaN8 |
|
539 fmax2663 fma NaN71 Inf 0E+999999 -> NaN71 |
|
540 fmax2664 fma NaN6 NaN5 0E+999999 -> NaN6 |
|
541 fmax2665 fma -Inf NaN4 0E+999999 -> NaN4 |
|
542 fmax2666 fma -999 NaN33 0E+999999 -> NaN33 |
|
543 fmax2667 fma Inf NaN2 0E+999999 -> NaN2 |
|
544 |
|
545 fmax2671 fma sNaN99 -Inf 0E+999999 -> NaN99 Invalid_operation |
|
546 fmax2672 fma sNaN98 -11 0E+999999 -> NaN98 Invalid_operation |
|
547 fmax2673 fma sNaN97 NaN 0E+999999 -> NaN97 Invalid_operation |
|
548 fmax2674 fma sNaN16 sNaN94 0E+999999 -> NaN16 Invalid_operation |
|
549 fmax2675 fma NaN95 sNaN93 0E+999999 -> NaN93 Invalid_operation |
|
550 fmax2676 fma -Inf sNaN92 0E+999999 -> NaN92 Invalid_operation |
|
551 fmax2677 fma 088 sNaN91 0E+999999 -> NaN91 Invalid_operation |
|
552 fmax2678 fma Inf sNaN90 0E+999999 -> NaN90 Invalid_operation |
|
553 fmax2679 fma NaN sNaN89 0E+999999 -> NaN89 Invalid_operation |
|
554 |
|
555 fmax2681 fma -NaN9 -Inf 0E+999999 -> -NaN9 |
|
556 fmax2682 fma -NaN8 999 0E+999999 -> -NaN8 |
|
557 fmax2683 fma -NaN71 Inf 0E+999999 -> -NaN71 |
|
558 fmax2684 fma -NaN6 -NaN5 0E+999999 -> -NaN6 |
|
559 fmax2685 fma -Inf -NaN4 0E+999999 -> -NaN4 |
|
560 fmax2686 fma -999 -NaN33 0E+999999 -> -NaN33 |
|
561 fmax2687 fma Inf -NaN2 0E+999999 -> -NaN2 |
|
562 |
|
563 fmax2691 fma -sNaN99 -Inf 0E+999999 -> -NaN99 Invalid_operation |
|
564 fmax2692 fma -sNaN98 -11 0E+999999 -> -NaN98 Invalid_operation |
|
565 fmax2693 fma -sNaN97 NaN 0E+999999 -> -NaN97 Invalid_operation |
|
566 fmax2694 fma -sNaN16 -sNaN94 0E+999999 -> -NaN16 Invalid_operation |
|
567 fmax2695 fma -NaN95 -sNaN93 0E+999999 -> -NaN93 Invalid_operation |
|
568 fmax2696 fma -Inf -sNaN92 0E+999999 -> -NaN92 Invalid_operation |
|
569 fmax2697 fma 088 -sNaN91 0E+999999 -> -NaN91 Invalid_operation |
|
570 fmax2698 fma Inf -sNaN90 0E+999999 -> -NaN90 Invalid_operation |
|
571 fmax2699 fma -NaN -sNaN89 0E+999999 -> -NaN89 Invalid_operation |
|
572 |
|
573 fmax2701 fma -NaN -Inf 0E+999999 -> -NaN |
|
574 fmax2702 fma -NaN 999 0E+999999 -> -NaN |
|
575 fmax2703 fma -NaN Inf 0E+999999 -> -NaN |
|
576 fmax2704 fma -NaN -NaN 0E+999999 -> -NaN |
|
577 fmax2705 fma -Inf -NaN0 0E+999999 -> -NaN |
|
578 fmax2706 fma -999 -NaN 0E+999999 -> -NaN |
|
579 fmax2707 fma Inf -NaN 0E+999999 -> -NaN |
|
580 |
|
581 fmax2711 fma -sNaN -Inf 0E+999999 -> -NaN Invalid_operation |
|
582 fmax2712 fma -sNaN -11 0E+999999 -> -NaN Invalid_operation |
|
583 fmax2713 fma -sNaN00 NaN 0E+999999 -> -NaN Invalid_operation |
|
584 fmax2714 fma -sNaN -sNaN 0E+999999 -> -NaN Invalid_operation |
|
585 fmax2715 fma -NaN -sNaN 0E+999999 -> -NaN Invalid_operation |
|
586 fmax2716 fma -Inf -sNaN 0E+999999 -> -NaN Invalid_operation |
|
587 fmax2717 fma 088 -sNaN 0E+999999 -> -NaN Invalid_operation |
|
588 fmax2718 fma Inf -sNaN 0E+999999 -> -NaN Invalid_operation |
|
589 fmax2719 fma -NaN -sNaN 0E+999999 -> -NaN Invalid_operation |
|
590 |
|
591 -- overflow and underflow tests .. note subnormal results |
|
592 maxexponent: 999999 |
|
593 minexponent: -999999 |
|
594 fmax2730 fma +1.23456789012345E-0 9E+999999 0E+999999 -> Infinity Inexact Overflow Rounded |
|
595 fmax2731 fma 9E+999999 +1.23456789012345E-0 0E+999999 -> Infinity Inexact Overflow Rounded |
|
596 fmax2732 fma +0.100 9E-999999 0E+999999 -> 9.00E-1000000 Subnormal |
|
597 fmax2733 fma 9E-999999 +0.100 0E+999999 -> 9.00E-1000000 Subnormal |
|
598 fmax2735 fma -1.23456789012345E-0 9E+999999 0E+999999 -> -Infinity Inexact Overflow Rounded |
|
599 fmax2736 fma 9E+999999 -1.23456789012345E-0 0E+999999 -> -Infinity Inexact Overflow Rounded |
|
600 fmax2737 fma -0.100 9E-999999 0E+999999 -> -9.00E-1000000 Subnormal |
|
601 fmax2738 fma 9E-999999 -0.100 0E+999999 -> -9.00E-1000000 Subnormal |
|
602 |
|
603 -- signs |
|
604 fmax2751 fma 1e+777777 1e+411111 0E+999999 -> Infinity Overflow Inexact Rounded |
|
605 fmax2752 fma 1e+777777 -1e+411111 0E+999999 -> -Infinity Overflow Inexact Rounded |
|
606 fmax2753 fma -1e+777777 1e+411111 0E+999999 -> -Infinity Overflow Inexact Rounded |
|
607 fmax2754 fma -1e+777777 -1e+411111 0E+999999 -> Infinity Overflow Inexact Rounded |
|
608 fmax2755 fma 1e-777777 1e-411111 0E+999999 -> 0E-1000007 Underflow Subnormal Inexact Rounded Clamped |
|
609 fmax2756 fma 1e-777777 -1e-411111 0E+999999 -> -0E-1000007 Underflow Subnormal Inexact Rounded Clamped |
|
610 fmax2757 fma -1e-777777 1e-411111 0E+999999 -> -0E-1000007 Underflow Subnormal Inexact Rounded Clamped |
|
611 fmax2758 fma -1e-777777 -1e-411111 0E+999999 -> 0E-1000007 Underflow Subnormal Inexact Rounded Clamped |
|
612 |
|
613 -- 'subnormal' boundary (all hard underflow or overflow in base arithemtic) |
|
614 precision: 9 |
|
615 fmax2760 fma 1e-600000 1e-400001 0E+999999 -> 1E-1000001 Subnormal |
|
616 fmax2761 fma 1e-600000 1e-400002 0E+999999 -> 1E-1000002 Subnormal |
|
617 fmax2762 fma 1e-600000 1e-400003 0E+999999 -> 1E-1000003 Subnormal |
|
618 fmax2763 fma 1e-600000 1e-400004 0E+999999 -> 1E-1000004 Subnormal |
|
619 fmax2764 fma 1e-600000 1e-400005 0E+999999 -> 1E-1000005 Subnormal |
|
620 fmax2765 fma 1e-600000 1e-400006 0E+999999 -> 1E-1000006 Subnormal |
|
621 fmax2766 fma 1e-600000 1e-400007 0E+999999 -> 1E-1000007 Subnormal |
|
622 fmax2767 fma 1e-600000 1e-400008 0E+999999 -> 0E-1000007 Underflow Subnormal Inexact Rounded Clamped |
|
623 fmax2768 fma 1e-600000 1e-400009 0E+999999 -> 0E-1000007 Underflow Subnormal Inexact Rounded Clamped |
|
624 fmax2769 fma 1e-600000 1e-400010 0E+999999 -> 0E-1000007 Underflow Subnormal Inexact Rounded Clamped |
|
625 -- [no equivalent of 'subnormal' for overflow] |
|
626 fmax2770 fma 1e+600000 1e+400001 0E+999999 -> Infinity Overflow Inexact Rounded |
|
627 fmax2771 fma 1e+600000 1e+400002 0E+999999 -> Infinity Overflow Inexact Rounded |
|
628 fmax2772 fma 1e+600000 1e+400003 0E+999999 -> Infinity Overflow Inexact Rounded |
|
629 fmax2773 fma 1e+600000 1e+400004 0E+999999 -> Infinity Overflow Inexact Rounded |
|
630 fmax2774 fma 1e+600000 1e+400005 0E+999999 -> Infinity Overflow Inexact Rounded |
|
631 fmax2775 fma 1e+600000 1e+400006 0E+999999 -> Infinity Overflow Inexact Rounded |
|
632 fmax2776 fma 1e+600000 1e+400007 0E+999999 -> Infinity Overflow Inexact Rounded |
|
633 fmax2777 fma 1e+600000 1e+400008 0E+999999 -> Infinity Overflow Inexact Rounded |
|
634 fmax2778 fma 1e+600000 1e+400009 0E+999999 -> Infinity Overflow Inexact Rounded |
|
635 fmax2779 fma 1e+600000 1e+400010 0E+999999 -> Infinity Overflow Inexact Rounded |
|
636 |
|
637 -- 'subnormal' test edge condition at higher precisions |
|
638 precision: 99 |
|
639 fmax2780 fma 1e-600000 1e-400007 0E+999999 -> 1E-1000007 Subnormal |
|
640 fmax2781 fma 1e-600000 1e-400008 0E+999999 -> 1E-1000008 Subnormal |
|
641 fmax2782 fma 1e-600000 1e-400097 0E+999999 -> 1E-1000097 Subnormal |
|
642 fmax2783 fma 1e-600000 1e-400098 0E+999999 -> 0E-1000097 Underflow Subnormal Inexact Rounded Clamped |
|
643 precision: 999 |
|
644 fmax2784 fma 1e-600000 1e-400997 0E+999999 -> 1E-1000997 Subnormal |
|
645 fmax2785 fma 1e-600000 1e-400998 0E+999999 -> 0E-1000997 Underflow Subnormal Inexact Rounded Clamped |
|
646 |
|
647 -- test subnormals rounding |
|
648 precision: 5 |
|
649 maxExponent: 999 |
|
650 minexponent: -999 |
|
651 rounding: half_even |
|
652 |
|
653 fmax2801 fma 1.0000E-999 1 0E+999999 -> 1.0000E-999 |
|
654 fmax2802 fma 1.000E-999 1e-1 0E+999999 -> 1.000E-1000 Subnormal |
|
655 fmax2803 fma 1.00E-999 1e-2 0E+999999 -> 1.00E-1001 Subnormal |
|
656 fmax2804 fma 1.0E-999 1e-3 0E+999999 -> 1.0E-1002 Subnormal |
|
657 fmax2805 fma 1.0E-999 1e-4 0E+999999 -> 1E-1003 Subnormal Rounded |
|
658 fmax2806 fma 1.3E-999 1e-4 0E+999999 -> 1E-1003 Underflow Subnormal Inexact Rounded |
|
659 fmax2807 fma 1.5E-999 1e-4 0E+999999 -> 2E-1003 Underflow Subnormal Inexact Rounded |
|
660 fmax2808 fma 1.7E-999 1e-4 0E+999999 -> 2E-1003 Underflow Subnormal Inexact Rounded |
|
661 fmax2809 fma 2.3E-999 1e-4 0E+999999 -> 2E-1003 Underflow Subnormal Inexact Rounded |
|
662 fmax2810 fma 2.5E-999 1e-4 0E+999999 -> 2E-1003 Underflow Subnormal Inexact Rounded |
|
663 fmax2811 fma 2.7E-999 1e-4 0E+999999 -> 3E-1003 Underflow Subnormal Inexact Rounded |
|
664 fmax2812 fma 1.49E-999 1e-4 0E+999999 -> 1E-1003 Underflow Subnormal Inexact Rounded |
|
665 fmax2813 fma 1.50E-999 1e-4 0E+999999 -> 2E-1003 Underflow Subnormal Inexact Rounded |
|
666 fmax2814 fma 1.51E-999 1e-4 0E+999999 -> 2E-1003 Underflow Subnormal Inexact Rounded |
|
667 fmax2815 fma 2.49E-999 1e-4 0E+999999 -> 2E-1003 Underflow Subnormal Inexact Rounded |
|
668 fmax2816 fma 2.50E-999 1e-4 0E+999999 -> 2E-1003 Underflow Subnormal Inexact Rounded |
|
669 fmax2817 fma 2.51E-999 1e-4 0E+999999 -> 3E-1003 Underflow Subnormal Inexact Rounded |
|
670 |
|
671 fmax2818 fma 1E-999 1e-4 0E+999999 -> 1E-1003 Subnormal |
|
672 fmax2819 fma 3E-999 1e-5 0E+999999 -> 0E-1003 Underflow Subnormal Inexact Rounded Clamped |
|
673 fmax2820 fma 5E-999 1e-5 0E+999999 -> 0E-1003 Underflow Subnormal Inexact Rounded Clamped |
|
674 fmax2821 fma 7E-999 1e-5 0E+999999 -> 1E-1003 Underflow Subnormal Inexact Rounded |
|
675 fmax2822 fma 9E-999 1e-5 0E+999999 -> 1E-1003 Underflow Subnormal Inexact Rounded |
|
676 fmax2823 fma 9.9E-999 1e-5 0E+999999 -> 1E-1003 Underflow Subnormal Inexact Rounded |
|
677 |
|
678 fmax2824 fma 1E-999 -1e-4 0E+999999 -> -1E-1003 Subnormal |
|
679 fmax2825 fma 3E-999 -1e-5 0E+999999 -> -0E-1003 Underflow Subnormal Inexact Rounded Clamped |
|
680 fmax2826 fma -5E-999 1e-5 0E+999999 -> -0E-1003 Underflow Subnormal Inexact Rounded Clamped |
|
681 fmax2827 fma 7E-999 -1e-5 0E+999999 -> -1E-1003 Underflow Subnormal Inexact Rounded |
|
682 fmax2828 fma -9E-999 1e-5 0E+999999 -> -1E-1003 Underflow Subnormal Inexact Rounded |
|
683 fmax2829 fma 9.9E-999 -1e-5 0E+999999 -> -1E-1003 Underflow Subnormal Inexact Rounded |
|
684 fmax2830 fma 3.0E-999 -1e-5 0E+999999 -> -0E-1003 Underflow Subnormal Inexact Rounded Clamped |
|
685 |
|
686 fmax2831 fma 1.0E-501 1e-501 0E+999999 -> 1.0E-1002 Subnormal |
|
687 fmax2832 fma 2.0E-501 2e-501 0E+999999 -> 4.0E-1002 Subnormal |
|
688 fmax2833 fma 4.0E-501 4e-501 0E+999999 -> 1.60E-1001 Subnormal |
|
689 fmax2834 fma 10.0E-501 10e-501 0E+999999 -> 1.000E-1000 Subnormal |
|
690 fmax2835 fma 30.0E-501 30e-501 0E+999999 -> 9.000E-1000 Subnormal |
|
691 fmax2836 fma 40.0E-501 40e-501 0E+999999 -> 1.6000E-999 |
|
692 |
|
693 -- squares |
|
694 fmax2840 fma 1E-502 1e-502 0E+999999 -> 0E-1003 Underflow Subnormal Inexact Rounded Clamped |
|
695 fmax2841 fma 1E-501 1e-501 0E+999999 -> 1E-1002 Subnormal |
|
696 fmax2842 fma 2E-501 2e-501 0E+999999 -> 4E-1002 Subnormal |
|
697 fmax2843 fma 4E-501 4e-501 0E+999999 -> 1.6E-1001 Subnormal |
|
698 fmax2844 fma 10E-501 10e-501 0E+999999 -> 1.00E-1000 Subnormal |
|
699 fmax2845 fma 30E-501 30e-501 0E+999999 -> 9.00E-1000 Subnormal |
|
700 fmax2846 fma 40E-501 40e-501 0E+999999 -> 1.600E-999 |
|
701 |
|
702 -- cubes |
|
703 fmax2850 fma 1E-670 1e-335 0E+999999 -> 0E-1003 Underflow Subnormal Inexact Rounded Clamped |
|
704 fmax2851 fma 1E-668 1e-334 0E+999999 -> 1E-1002 Subnormal |
|
705 fmax2852 fma 4E-668 2e-334 0E+999999 -> 8E-1002 Subnormal |
|
706 fmax2853 fma 9E-668 3e-334 0E+999999 -> 2.7E-1001 Subnormal |
|
707 fmax2854 fma 16E-668 4e-334 0E+999999 -> 6.4E-1001 Subnormal |
|
708 fmax2855 fma 25E-668 5e-334 0E+999999 -> 1.25E-1000 Subnormal |
|
709 fmax2856 fma 10E-668 100e-334 0E+999999 -> 1.000E-999 |
|
710 |
|
711 -- test derived from result of 0.099 ** 999 at 15 digits with unlimited exponent |
|
712 precision: 19 |
|
713 fmax2860 fma 6636851557994578716E-520 6636851557994578716E-520 0E+999999 -> 4.40477986028551E-1003 Underflow Subnormal Inexact Rounded |
|
714 |
|
715 -- Long operand overflow may be a different path |
|
716 precision: 3 |
|
717 maxExponent: 999999 |
|
718 minexponent: -999999 |
|
719 fmax2870 fma 1 9.999E+999999 0E+999999 -> Infinity Inexact Overflow Rounded |
|
720 fmax2871 fma 1 -9.999E+999999 0E+999999 -> -Infinity Inexact Overflow Rounded |
|
721 fmax2872 fma 9.999E+999999 1 0E+999999 -> Infinity Inexact Overflow Rounded |
|
722 fmax2873 fma -9.999E+999999 1 0E+999999 -> -Infinity Inexact Overflow Rounded |
|
723 |
|
724 -- check for double-rounded subnormals |
|
725 precision: 5 |
|
726 maxexponent: 79 |
|
727 minexponent: -79 |
|
728 fmax2881 fma 1.2347E-40 1.2347E-40 0E+999999 -> 1.524E-80 Inexact Rounded Subnormal Underflow |
|
729 fmax2882 fma 1.234E-40 1.234E-40 0E+999999 -> 1.523E-80 Inexact Rounded Subnormal Underflow |
|
730 fmax2883 fma 1.23E-40 1.23E-40 0E+999999 -> 1.513E-80 Inexact Rounded Subnormal Underflow |
|
731 fmax2884 fma 1.2E-40 1.2E-40 0E+999999 -> 1.44E-80 Subnormal |
|
732 fmax2885 fma 1.2E-40 1.2E-41 0E+999999 -> 1.44E-81 Subnormal |
|
733 fmax2886 fma 1.2E-40 1.2E-42 0E+999999 -> 1.4E-82 Subnormal Inexact Rounded Underflow |
|
734 fmax2887 fma 1.2E-40 1.3E-42 0E+999999 -> 1.6E-82 Subnormal Inexact Rounded Underflow |
|
735 fmax2888 fma 1.3E-40 1.3E-42 0E+999999 -> 1.7E-82 Subnormal Inexact Rounded Underflow |
|
736 fmax2889 fma 1.3E-40 1.3E-43 0E+999999 -> 2E-83 Subnormal Inexact Rounded Underflow |
|
737 fmax2890 fma 1.3E-41 1.3E-43 0E+999999 -> 0E-83 Clamped Subnormal Inexact Rounded Underflow |
|
738 |
|
739 fmax2891 fma 1.2345E-39 1.234E-40 0E+999999 -> 1.5234E-79 Inexact Rounded |
|
740 fmax2892 fma 1.23456E-39 1.234E-40 0E+999999 -> 1.5234E-79 Inexact Rounded |
|
741 fmax2893 fma 1.2345E-40 1.234E-40 0E+999999 -> 1.523E-80 Inexact Rounded Subnormal Underflow |
|
742 fmax2894 fma 1.23456E-40 1.234E-40 0E+999999 -> 1.523E-80 Inexact Rounded Subnormal Underflow |
|
743 fmax2895 fma 1.2345E-41 1.234E-40 0E+999999 -> 1.52E-81 Inexact Rounded Subnormal Underflow |
|
744 fmax2896 fma 1.23456E-41 1.234E-40 0E+999999 -> 1.52E-81 Inexact Rounded Subnormal Underflow |
|
745 |
|
746 -- Now explore the case where we get a normal result with Underflow |
|
747 precision: 16 |
|
748 rounding: half_up |
|
749 maxExponent: 384 |
|
750 minExponent: -383 |
|
751 |
|
752 fmax2900 fma 0.3000000000E-191 0.3000000000E-191 0E+999999 -> 9.00000000000000E-384 Subnormal Rounded |
|
753 fmax2901 fma 0.3000000001E-191 0.3000000001E-191 0E+999999 -> 9.00000000600000E-384 Underflow Inexact Subnormal Rounded |
|
754 fmax2902 fma 9.999999999999999E-383 0.0999999999999 0E+999999 -> 9.99999999999000E-384 Underflow Inexact Subnormal Rounded |
|
755 fmax2903 fma 9.999999999999999E-383 0.09999999999999 0E+999999 -> 9.99999999999900E-384 Underflow Inexact Subnormal Rounded |
|
756 fmax2904 fma 9.999999999999999E-383 0.099999999999999 0E+999999 -> 9.99999999999990E-384 Underflow Inexact Subnormal Rounded |
|
757 fmax2905 fma 9.999999999999999E-383 0.0999999999999999 0E+999999 -> 9.99999999999999E-384 Underflow Inexact Subnormal Rounded |
|
758 -- prove operands are exact |
|
759 fmax2906 fma 9.999999999999999E-383 1 0E+999999 -> 9.999999999999999E-383 |
|
760 fmax2907 fma 1 0.09999999999999999 0E+999999 -> 0.09999999999999999 |
|
761 -- the next rounds to Nmin |
|
762 fmax2908 fma 9.999999999999999E-383 0.09999999999999999 0E+999999 -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded |
|
763 fmax2909 fma 9.999999999999999E-383 0.099999999999999999 0E+999999 -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded |
|
764 fmax2910 fma 9.999999999999999E-383 0.0999999999999999999 0E+999999 -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded |
|
765 fmax2911 fma 9.999999999999999E-383 0.09999999999999999999 0E+999999 -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded |
|
766 |
|
767 -- Examples from SQL proposal (Krishna Kulkarni) |
|
768 precision: 34 |
|
769 rounding: half_up |
|
770 maxExponent: 6144 |
|
771 minExponent: -6143 |
|
772 fmax2921 fma 130E-2 120E-2 0E+999999 -> 1.5600 |
|
773 fmax2922 fma 130E-2 12E-1 0E+999999 -> 1.560 |
|
774 fmax2923 fma 130E-2 1E0 0E+999999 -> 1.30 |
|
775 |
|
776 -- Null tests |
|
777 fmax2990 fma # 10 0E+999999 -> NaN Invalid_operation |
|
778 fmax2991 fma 10 # 0E+999999 -> NaN Invalid_operation |
|
779 |
|
780 -- ADDITION TESTS ------------------------------------------------------ |
|
781 precision: 9 |
|
782 rounding: half_up |
|
783 maxExponent: 384 |
|
784 minexponent: -383 |
|
785 |
|
786 -- [first group are 'quick confidence check'] |
|
787 fmax3001 fma 1 1 1 -> 2 |
|
788 fmax3002 fma 1 2 3 -> 5 |
|
789 fmax3003 fma 1 '5.75' '3.3' -> 9.05 |
|
790 fmax3004 fma 1 '5' '-3' -> 2 |
|
791 fmax3005 fma 1 '-5' '-3' -> -8 |
|
792 fmax3006 fma 1 '-7' '2.5' -> -4.5 |
|
793 fmax3007 fma 1 '0.7' '0.3' -> 1.0 |
|
794 fmax3008 fma 1 '1.25' '1.25' -> 2.50 |
|
795 fmax3009 fma 1 '1.23456789' '1.00000000' -> '2.23456789' |
|
796 fmax3010 fma 1 '1.23456789' '1.00000011' -> '2.23456800' |
|
797 |
|
798 fmax3011 fma 1 '0.4444444444' '0.5555555555' -> '1.00000000' Inexact Rounded |
|
799 fmax3012 fma 1 '0.4444444440' '0.5555555555' -> '1.00000000' Inexact Rounded |
|
800 fmax3013 fma 1 '0.4444444444' '0.5555555550' -> '0.999999999' Inexact Rounded |
|
801 fmax3014 fma 1 '0.44444444449' '0' -> '0.444444444' Inexact Rounded |
|
802 fmax3015 fma 1 '0.444444444499' '0' -> '0.444444444' Inexact Rounded |
|
803 fmax3016 fma 1 '0.4444444444999' '0' -> '0.444444444' Inexact Rounded |
|
804 fmax3017 fma 1 '0.4444444445000' '0' -> '0.444444445' Inexact Rounded |
|
805 fmax3018 fma 1 '0.4444444445001' '0' -> '0.444444445' Inexact Rounded |
|
806 fmax3019 fma 1 '0.444444444501' '0' -> '0.444444445' Inexact Rounded |
|
807 fmax3020 fma 1 '0.44444444451' '0' -> '0.444444445' Inexact Rounded |
|
808 |
|
809 fmax3021 fma 1 0 1 -> 1 |
|
810 fmax3022 fma 1 1 1 -> 2 |
|
811 fmax3023 fma 1 2 1 -> 3 |
|
812 fmax3024 fma 1 3 1 -> 4 |
|
813 fmax3025 fma 1 4 1 -> 5 |
|
814 fmax3026 fma 1 5 1 -> 6 |
|
815 fmax3027 fma 1 6 1 -> 7 |
|
816 fmax3028 fma 1 7 1 -> 8 |
|
817 fmax3029 fma 1 8 1 -> 9 |
|
818 fmax3030 fma 1 9 1 -> 10 |
|
819 |
|
820 -- some carrying effects |
|
821 fmax3031 fma 1 '0.9998' '0.0000' -> '0.9998' |
|
822 fmax3032 fma 1 '0.9998' '0.0001' -> '0.9999' |
|
823 fmax3033 fma 1 '0.9998' '0.0002' -> '1.0000' |
|
824 fmax3034 fma 1 '0.9998' '0.0003' -> '1.0001' |
|
825 |
|
826 fmax3035 fma 1 '70' '10000e+9' -> '1.00000000E+13' Inexact Rounded |
|
827 fmax3036 fma 1 '700' '10000e+9' -> '1.00000000E+13' Inexact Rounded |
|
828 fmax3037 fma 1 '7000' '10000e+9' -> '1.00000000E+13' Inexact Rounded |
|
829 fmax3038 fma 1 '70000' '10000e+9' -> '1.00000001E+13' Inexact Rounded |
|
830 fmax3039 fma 1 '700000' '10000e+9' -> '1.00000007E+13' Rounded |
|
831 |
|
832 -- symmetry: |
|
833 fmax3040 fma 1 '10000e+9' '70' -> '1.00000000E+13' Inexact Rounded |
|
834 fmax3041 fma 1 '10000e+9' '700' -> '1.00000000E+13' Inexact Rounded |
|
835 fmax3042 fma 1 '10000e+9' '7000' -> '1.00000000E+13' Inexact Rounded |
|
836 fmax3044 fma 1 '10000e+9' '70000' -> '1.00000001E+13' Inexact Rounded |
|
837 fmax3045 fma 1 '10000e+9' '700000' -> '1.00000007E+13' Rounded |
|
838 |
|
839 -- same, higher precision |
|
840 precision: 15 |
|
841 fmax3046 fma 1 '10000e+9' '7' -> '10000000000007' |
|
842 fmax3047 fma 1 '10000e+9' '70' -> '10000000000070' |
|
843 fmax3048 fma 1 '10000e+9' '700' -> '10000000000700' |
|
844 fmax3049 fma 1 '10000e+9' '7000' -> '10000000007000' |
|
845 fmax3050 fma 1 '10000e+9' '70000' -> '10000000070000' |
|
846 fmax3051 fma 1 '10000e+9' '700000' -> '10000000700000' |
|
847 fmax3052 fma 1 '10000e+9' '7000000' -> '10000007000000' |
|
848 |
|
849 -- examples from decarith |
|
850 fmax3053 fma 1 '12' '7.00' -> '19.00' |
|
851 fmax3054 fma 1 '1.3' '-1.07' -> '0.23' |
|
852 fmax3055 fma 1 '1.3' '-1.30' -> '0.00' |
|
853 fmax3056 fma 1 '1.3' '-2.07' -> '-0.77' |
|
854 fmax3057 fma 1 '1E+2' '1E+4' -> '1.01E+4' |
|
855 |
|
856 -- zero preservation |
|
857 precision: 6 |
|
858 fmax3060 fma 1 '10000e+9' '70000' -> '1.00000E+13' Inexact Rounded |
|
859 fmax3061 fma 1 1 '0.0001' -> '1.0001' |
|
860 fmax3062 fma 1 1 '0.00001' -> '1.00001' |
|
861 fmax3063 fma 1 1 '0.000001' -> '1.00000' Inexact Rounded |
|
862 fmax3064 fma 1 1 '0.0000001' -> '1.00000' Inexact Rounded |
|
863 fmax3065 fma 1 1 '0.00000001' -> '1.00000' Inexact Rounded |
|
864 |
|
865 -- some funny zeros [in case of bad signum] |
|
866 fmax3070 fma 1 1 0 -> 1 |
|
867 fmax3071 fma 1 1 0. -> 1 |
|
868 fmax3072 fma 1 1 .0 -> 1.0 |
|
869 fmax3073 fma 1 1 0.0 -> 1.0 |
|
870 fmax3074 fma 1 1 0.00 -> 1.00 |
|
871 fmax3075 fma 1 0 1 -> 1 |
|
872 fmax3076 fma 1 0. 1 -> 1 |
|
873 fmax3077 fma 1 .0 1 -> 1.0 |
|
874 fmax3078 fma 1 0.0 1 -> 1.0 |
|
875 fmax3079 fma 1 0.00 1 -> 1.00 |
|
876 |
|
877 precision: 9 |
|
878 |
|
879 -- some carries |
|
880 fmax3080 fma 1 999999998 1 -> 999999999 |
|
881 fmax3081 fma 1 999999999 1 -> 1.00000000E+9 Rounded |
|
882 fmax3082 fma 1 99999999 1 -> 100000000 |
|
883 fmax3083 fma 1 9999999 1 -> 10000000 |
|
884 fmax3084 fma 1 999999 1 -> 1000000 |
|
885 fmax3085 fma 1 99999 1 -> 100000 |
|
886 fmax3086 fma 1 9999 1 -> 10000 |
|
887 fmax3087 fma 1 999 1 -> 1000 |
|
888 fmax3088 fma 1 99 1 -> 100 |
|
889 fmax3089 fma 1 9 1 -> 10 |
|
890 |
|
891 |
|
892 -- more LHS swaps |
|
893 fmax3090 fma 1 '-56267E-10' 0 -> '-0.0000056267' |
|
894 fmax3091 fma 1 '-56267E-6' 0 -> '-0.056267' |
|
895 fmax3092 fma 1 '-56267E-5' 0 -> '-0.56267' |
|
896 fmax3093 fma 1 '-56267E-4' 0 -> '-5.6267' |
|
897 fmax3094 fma 1 '-56267E-3' 0 -> '-56.267' |
|
898 fmax3095 fma 1 '-56267E-2' 0 -> '-562.67' |
|
899 fmax3096 fma 1 '-56267E-1' 0 -> '-5626.7' |
|
900 fmax3097 fma 1 '-56267E-0' 0 -> '-56267' |
|
901 fmax3098 fma 1 '-5E-10' 0 -> '-5E-10' |
|
902 fmax3099 fma 1 '-5E-7' 0 -> '-5E-7' |
|
903 fmax3100 fma 1 '-5E-6' 0 -> '-0.000005' |
|
904 fmax3101 fma 1 '-5E-5' 0 -> '-0.00005' |
|
905 fmax3102 fma 1 '-5E-4' 0 -> '-0.0005' |
|
906 fmax3103 fma 1 '-5E-1' 0 -> '-0.5' |
|
907 fmax3104 fma 1 '-5E0' 0 -> '-5' |
|
908 fmax3105 fma 1 '-5E1' 0 -> '-50' |
|
909 fmax3106 fma 1 '-5E5' 0 -> '-500000' |
|
910 fmax3107 fma 1 '-5E8' 0 -> '-500000000' |
|
911 fmax3108 fma 1 '-5E9' 0 -> '-5.00000000E+9' Rounded |
|
912 fmax3109 fma 1 '-5E10' 0 -> '-5.00000000E+10' Rounded |
|
913 fmax3110 fma 1 '-5E11' 0 -> '-5.00000000E+11' Rounded |
|
914 fmax3111 fma 1 '-5E100' 0 -> '-5.00000000E+100' Rounded |
|
915 |
|
916 -- more RHS swaps |
|
917 fmax3113 fma 1 0 '-56267E-10' -> '-0.0000056267' |
|
918 fmax3114 fma 1 0 '-56267E-6' -> '-0.056267' |
|
919 fmax3116 fma 1 0 '-56267E-5' -> '-0.56267' |
|
920 fmax3117 fma 1 0 '-56267E-4' -> '-5.6267' |
|
921 fmax3119 fma 1 0 '-56267E-3' -> '-56.267' |
|
922 fmax3120 fma 1 0 '-56267E-2' -> '-562.67' |
|
923 fmax3121 fma 1 0 '-56267E-1' -> '-5626.7' |
|
924 fmax3122 fma 1 0 '-56267E-0' -> '-56267' |
|
925 fmax3123 fma 1 0 '-5E-10' -> '-5E-10' |
|
926 fmax3124 fma 1 0 '-5E-7' -> '-5E-7' |
|
927 fmax3125 fma 1 0 '-5E-6' -> '-0.000005' |
|
928 fmax3126 fma 1 0 '-5E-5' -> '-0.00005' |
|
929 fmax3127 fma 1 0 '-5E-4' -> '-0.0005' |
|
930 fmax3128 fma 1 0 '-5E-1' -> '-0.5' |
|
931 fmax3129 fma 1 0 '-5E0' -> '-5' |
|
932 fmax3130 fma 1 0 '-5E1' -> '-50' |
|
933 fmax3131 fma 1 0 '-5E5' -> '-500000' |
|
934 fmax3132 fma 1 0 '-5E8' -> '-500000000' |
|
935 fmax3133 fma 1 0 '-5E9' -> '-5.00000000E+9' Rounded |
|
936 fmax3134 fma 1 0 '-5E10' -> '-5.00000000E+10' Rounded |
|
937 fmax3135 fma 1 0 '-5E11' -> '-5.00000000E+11' Rounded |
|
938 fmax3136 fma 1 0 '-5E100' -> '-5.00000000E+100' Rounded |
|
939 |
|
940 -- related |
|
941 fmax3137 fma 1 1 '0E-12' -> '1.00000000' Rounded |
|
942 fmax3138 fma 1 -1 '0E-12' -> '-1.00000000' Rounded |
|
943 fmax3139 fma 1 '0E-12' 1 -> '1.00000000' Rounded |
|
944 fmax3140 fma 1 '0E-12' -1 -> '-1.00000000' Rounded |
|
945 fmax3141 fma 1 1E+4 0.0000 -> '10000.0000' |
|
946 fmax3142 fma 1 1E+4 0.00000 -> '10000.0000' Rounded |
|
947 fmax3143 fma 1 0.000 1E+5 -> '100000.000' |
|
948 fmax3144 fma 1 0.0000 1E+5 -> '100000.000' Rounded |
|
949 |
|
950 -- [some of the next group are really constructor tests] |
|
951 fmax3146 fma 1 '00.0' 0 -> '0.0' |
|
952 fmax3147 fma 1 '0.00' 0 -> '0.00' |
|
953 fmax3148 fma 1 0 '0.00' -> '0.00' |
|
954 fmax3149 fma 1 0 '00.0' -> '0.0' |
|
955 fmax3150 fma 1 '00.0' '0.00' -> '0.00' |
|
956 fmax3151 fma 1 '0.00' '00.0' -> '0.00' |
|
957 fmax3152 fma 1 '3' '.3' -> '3.3' |
|
958 fmax3153 fma 1 '3.' '.3' -> '3.3' |
|
959 fmax3154 fma 1 '3.0' '.3' -> '3.3' |
|
960 fmax3155 fma 1 '3.00' '.3' -> '3.30' |
|
961 fmax3156 fma 1 '3' '3' -> '6' |
|
962 fmax3157 fma 1 '3' '+3' -> '6' |
|
963 fmax3158 fma 1 '3' '-3' -> '0' |
|
964 fmax3159 fma 1 '0.3' '-0.3' -> '0.0' |
|
965 fmax3160 fma 1 '0.03' '-0.03' -> '0.00' |
|
966 |
|
967 -- try borderline precision, with carries, etc. |
|
968 precision: 15 |
|
969 fmax3161 fma 1 '1E+12' '-1' -> '999999999999' |
|
970 fmax3162 fma 1 '1E+12' '1.11' -> '1000000000001.11' |
|
971 fmax3163 fma 1 '1.11' '1E+12' -> '1000000000001.11' |
|
972 fmax3164 fma 1 '-1' '1E+12' -> '999999999999' |
|
973 fmax3165 fma 1 '7E+12' '-1' -> '6999999999999' |
|
974 fmax3166 fma 1 '7E+12' '1.11' -> '7000000000001.11' |
|
975 fmax3167 fma 1 '1.11' '7E+12' -> '7000000000001.11' |
|
976 fmax3168 fma 1 '-1' '7E+12' -> '6999999999999' |
|
977 |
|
978 -- 123456789012345 123456789012345 1 23456789012345 |
|
979 fmax3170 fma 1 '0.444444444444444' '0.555555555555563' -> '1.00000000000001' Inexact Rounded |
|
980 fmax3171 fma 1 '0.444444444444444' '0.555555555555562' -> '1.00000000000001' Inexact Rounded |
|
981 fmax3172 fma 1 '0.444444444444444' '0.555555555555561' -> '1.00000000000001' Inexact Rounded |
|
982 fmax3173 fma 1 '0.444444444444444' '0.555555555555560' -> '1.00000000000000' Inexact Rounded |
|
983 fmax3174 fma 1 '0.444444444444444' '0.555555555555559' -> '1.00000000000000' Inexact Rounded |
|
984 fmax3175 fma 1 '0.444444444444444' '0.555555555555558' -> '1.00000000000000' Inexact Rounded |
|
985 fmax3176 fma 1 '0.444444444444444' '0.555555555555557' -> '1.00000000000000' Inexact Rounded |
|
986 fmax3177 fma 1 '0.444444444444444' '0.555555555555556' -> '1.00000000000000' Rounded |
|
987 fmax3178 fma 1 '0.444444444444444' '0.555555555555555' -> '0.999999999999999' |
|
988 fmax3179 fma 1 '0.444444444444444' '0.555555555555554' -> '0.999999999999998' |
|
989 fmax3180 fma 1 '0.444444444444444' '0.555555555555553' -> '0.999999999999997' |
|
990 fmax3181 fma 1 '0.444444444444444' '0.555555555555552' -> '0.999999999999996' |
|
991 fmax3182 fma 1 '0.444444444444444' '0.555555555555551' -> '0.999999999999995' |
|
992 fmax3183 fma 1 '0.444444444444444' '0.555555555555550' -> '0.999999999999994' |
|
993 |
|
994 -- and some more, including residue effects and different roundings |
|
995 precision: 9 |
|
996 rounding: half_up |
|
997 fmax3200 fma 1 '123456789' 0 -> '123456789' |
|
998 fmax3201 fma 1 '123456789' 0.000000001 -> '123456789' Inexact Rounded |
|
999 fmax3202 fma 1 '123456789' 0.000001 -> '123456789' Inexact Rounded |
|
1000 fmax3203 fma 1 '123456789' 0.1 -> '123456789' Inexact Rounded |
|
1001 fmax3204 fma 1 '123456789' 0.4 -> '123456789' Inexact Rounded |
|
1002 fmax3205 fma 1 '123456789' 0.49 -> '123456789' Inexact Rounded |
|
1003 fmax3206 fma 1 '123456789' 0.499999 -> '123456789' Inexact Rounded |
|
1004 fmax3207 fma 1 '123456789' 0.499999999 -> '123456789' Inexact Rounded |
|
1005 fmax3208 fma 1 '123456789' 0.5 -> '123456790' Inexact Rounded |
|
1006 fmax3209 fma 1 '123456789' 0.500000001 -> '123456790' Inexact Rounded |
|
1007 fmax3210 fma 1 '123456789' 0.500001 -> '123456790' Inexact Rounded |
|
1008 fmax3211 fma 1 '123456789' 0.51 -> '123456790' Inexact Rounded |
|
1009 fmax3212 fma 1 '123456789' 0.6 -> '123456790' Inexact Rounded |
|
1010 fmax3213 fma 1 '123456789' 0.9 -> '123456790' Inexact Rounded |
|
1011 fmax3214 fma 1 '123456789' 0.99999 -> '123456790' Inexact Rounded |
|
1012 fmax3215 fma 1 '123456789' 0.999999999 -> '123456790' Inexact Rounded |
|
1013 fmax3216 fma 1 '123456789' 1 -> '123456790' |
|
1014 fmax3217 fma 1 '123456789' 1.000000001 -> '123456790' Inexact Rounded |
|
1015 fmax3218 fma 1 '123456789' 1.00001 -> '123456790' Inexact Rounded |
|
1016 fmax3219 fma 1 '123456789' 1.1 -> '123456790' Inexact Rounded |
|
1017 |
|
1018 rounding: half_even |
|
1019 fmax3220 fma 1 '123456789' 0 -> '123456789' |
|
1020 fmax3221 fma 1 '123456789' 0.000000001 -> '123456789' Inexact Rounded |
|
1021 fmax3222 fma 1 '123456789' 0.000001 -> '123456789' Inexact Rounded |
|
1022 fmax3223 fma 1 '123456789' 0.1 -> '123456789' Inexact Rounded |
|
1023 fmax3224 fma 1 '123456789' 0.4 -> '123456789' Inexact Rounded |
|
1024 fmax3225 fma 1 '123456789' 0.49 -> '123456789' Inexact Rounded |
|
1025 fmax3226 fma 1 '123456789' 0.499999 -> '123456789' Inexact Rounded |
|
1026 fmax3227 fma 1 '123456789' 0.499999999 -> '123456789' Inexact Rounded |
|
1027 fmax3228 fma 1 '123456789' 0.5 -> '123456790' Inexact Rounded |
|
1028 fmax3229 fma 1 '123456789' 0.500000001 -> '123456790' Inexact Rounded |
|
1029 fmax3230 fma 1 '123456789' 0.500001 -> '123456790' Inexact Rounded |
|
1030 fmax3231 fma 1 '123456789' 0.51 -> '123456790' Inexact Rounded |
|
1031 fmax3232 fma 1 '123456789' 0.6 -> '123456790' Inexact Rounded |
|
1032 fmax3233 fma 1 '123456789' 0.9 -> '123456790' Inexact Rounded |
|
1033 fmax3234 fma 1 '123456789' 0.99999 -> '123456790' Inexact Rounded |
|
1034 fmax3235 fma 1 '123456789' 0.999999999 -> '123456790' Inexact Rounded |
|
1035 fmax3236 fma 1 '123456789' 1 -> '123456790' |
|
1036 fmax3237 fma 1 '123456789' 1.00000001 -> '123456790' Inexact Rounded |
|
1037 fmax3238 fma 1 '123456789' 1.00001 -> '123456790' Inexact Rounded |
|
1038 fmax3239 fma 1 '123456789' 1.1 -> '123456790' Inexact Rounded |
|
1039 -- critical few with even bottom digit... |
|
1040 fmax3240 fma 1 '123456788' 0.499999999 -> '123456788' Inexact Rounded |
|
1041 fmax3241 fma 1 '123456788' 0.5 -> '123456788' Inexact Rounded |
|
1042 fmax3242 fma 1 '123456788' 0.500000001 -> '123456789' Inexact Rounded |
|
1043 |
|
1044 rounding: down |
|
1045 fmax3250 fma 1 '123456789' 0 -> '123456789' |
|
1046 fmax3251 fma 1 '123456789' 0.000000001 -> '123456789' Inexact Rounded |
|
1047 fmax3252 fma 1 '123456789' 0.000001 -> '123456789' Inexact Rounded |
|
1048 fmax3253 fma 1 '123456789' 0.1 -> '123456789' Inexact Rounded |
|
1049 fmax3254 fma 1 '123456789' 0.4 -> '123456789' Inexact Rounded |
|
1050 fmax3255 fma 1 '123456789' 0.49 -> '123456789' Inexact Rounded |
|
1051 fmax3256 fma 1 '123456789' 0.499999 -> '123456789' Inexact Rounded |
|
1052 fmax3257 fma 1 '123456789' 0.499999999 -> '123456789' Inexact Rounded |
|
1053 fmax3258 fma 1 '123456789' 0.5 -> '123456789' Inexact Rounded |
|
1054 fmax3259 fma 1 '123456789' 0.500000001 -> '123456789' Inexact Rounded |
|
1055 fmax3260 fma 1 '123456789' 0.500001 -> '123456789' Inexact Rounded |
|
1056 fmax3261 fma 1 '123456789' 0.51 -> '123456789' Inexact Rounded |
|
1057 fmax3262 fma 1 '123456789' 0.6 -> '123456789' Inexact Rounded |
|
1058 fmax3263 fma 1 '123456789' 0.9 -> '123456789' Inexact Rounded |
|
1059 fmax3264 fma 1 '123456789' 0.99999 -> '123456789' Inexact Rounded |
|
1060 fmax3265 fma 1 '123456789' 0.999999999 -> '123456789' Inexact Rounded |
|
1061 fmax3266 fma 1 '123456789' 1 -> '123456790' |
|
1062 fmax3267 fma 1 '123456789' 1.00000001 -> '123456790' Inexact Rounded |
|
1063 fmax3268 fma 1 '123456789' 1.00001 -> '123456790' Inexact Rounded |
|
1064 fmax3269 fma 1 '123456789' 1.1 -> '123456790' Inexact Rounded |
|
1065 |
|
1066 -- input preparation tests (operands should not be rounded) |
|
1067 precision: 3 |
|
1068 rounding: half_up |
|
1069 |
|
1070 fmax3270 fma 1 '12345678900000' 9999999999999 -> '2.23E+13' Inexact Rounded |
|
1071 fmax3271 fma 1 '9999999999999' 12345678900000 -> '2.23E+13' Inexact Rounded |
|
1072 |
|
1073 fmax3272 fma 1 '12E+3' '3444' -> '1.54E+4' Inexact Rounded |
|
1074 fmax3273 fma 1 '12E+3' '3446' -> '1.54E+4' Inexact Rounded |
|
1075 fmax3274 fma 1 '12E+3' '3449.9' -> '1.54E+4' Inexact Rounded |
|
1076 fmax3275 fma 1 '12E+3' '3450.0' -> '1.55E+4' Inexact Rounded |
|
1077 fmax3276 fma 1 '12E+3' '3450.1' -> '1.55E+4' Inexact Rounded |
|
1078 fmax3277 fma 1 '12E+3' '3454' -> '1.55E+4' Inexact Rounded |
|
1079 fmax3278 fma 1 '12E+3' '3456' -> '1.55E+4' Inexact Rounded |
|
1080 |
|
1081 fmax3281 fma 1 '3444' '12E+3' -> '1.54E+4' Inexact Rounded |
|
1082 fmax3282 fma 1 '3446' '12E+3' -> '1.54E+4' Inexact Rounded |
|
1083 fmax3283 fma 1 '3449.9' '12E+3' -> '1.54E+4' Inexact Rounded |
|
1084 fmax3284 fma 1 '3450.0' '12E+3' -> '1.55E+4' Inexact Rounded |
|
1085 fmax3285 fma 1 '3450.1' '12E+3' -> '1.55E+4' Inexact Rounded |
|
1086 fmax3286 fma 1 '3454' '12E+3' -> '1.55E+4' Inexact Rounded |
|
1087 fmax3287 fma 1 '3456' '12E+3' -> '1.55E+4' Inexact Rounded |
|
1088 |
|
1089 rounding: half_down |
|
1090 fmax3291 fma 1 '3444' '12E+3' -> '1.54E+4' Inexact Rounded |
|
1091 fmax3292 fma 1 '3446' '12E+3' -> '1.54E+4' Inexact Rounded |
|
1092 fmax3293 fma 1 '3449.9' '12E+3' -> '1.54E+4' Inexact Rounded |
|
1093 fmax3294 fma 1 '3450.0' '12E+3' -> '1.54E+4' Inexact Rounded |
|
1094 fmax3295 fma 1 '3450.1' '12E+3' -> '1.55E+4' Inexact Rounded |
|
1095 fmax3296 fma 1 '3454' '12E+3' -> '1.55E+4' Inexact Rounded |
|
1096 fmax3297 fma 1 '3456' '12E+3' -> '1.55E+4' Inexact Rounded |
|
1097 |
|
1098 -- 1 in last place tests |
|
1099 rounding: half_up |
|
1100 fmax3301 fma 1 -1 1 -> 0 |
|
1101 fmax3302 fma 1 0 1 -> 1 |
|
1102 fmax3303 fma 1 1 1 -> 2 |
|
1103 fmax3304 fma 1 12 1 -> 13 |
|
1104 fmax3305 fma 1 98 1 -> 99 |
|
1105 fmax3306 fma 1 99 1 -> 100 |
|
1106 fmax3307 fma 1 100 1 -> 101 |
|
1107 fmax3308 fma 1 101 1 -> 102 |
|
1108 fmax3309 fma 1 -1 -1 -> -2 |
|
1109 fmax3310 fma 1 0 -1 -> -1 |
|
1110 fmax3311 fma 1 1 -1 -> 0 |
|
1111 fmax3312 fma 1 12 -1 -> 11 |
|
1112 fmax3313 fma 1 98 -1 -> 97 |
|
1113 fmax3314 fma 1 99 -1 -> 98 |
|
1114 fmax3315 fma 1 100 -1 -> 99 |
|
1115 fmax3316 fma 1 101 -1 -> 100 |
|
1116 |
|
1117 fmax3321 fma 1 -0.01 0.01 -> 0.00 |
|
1118 fmax3322 fma 1 0.00 0.01 -> 0.01 |
|
1119 fmax3323 fma 1 0.01 0.01 -> 0.02 |
|
1120 fmax3324 fma 1 0.12 0.01 -> 0.13 |
|
1121 fmax3325 fma 1 0.98 0.01 -> 0.99 |
|
1122 fmax3326 fma 1 0.99 0.01 -> 1.00 |
|
1123 fmax3327 fma 1 1.00 0.01 -> 1.01 |
|
1124 fmax3328 fma 1 1.01 0.01 -> 1.02 |
|
1125 fmax3329 fma 1 -0.01 -0.01 -> -0.02 |
|
1126 fmax3330 fma 1 0.00 -0.01 -> -0.01 |
|
1127 fmax3331 fma 1 0.01 -0.01 -> 0.00 |
|
1128 fmax3332 fma 1 0.12 -0.01 -> 0.11 |
|
1129 fmax3333 fma 1 0.98 -0.01 -> 0.97 |
|
1130 fmax3334 fma 1 0.99 -0.01 -> 0.98 |
|
1131 fmax3335 fma 1 1.00 -0.01 -> 0.99 |
|
1132 fmax3336 fma 1 1.01 -0.01 -> 1.00 |
|
1133 |
|
1134 -- some more cases where fma 1 ing 0 affects the coefficient |
|
1135 precision: 9 |
|
1136 fmax3340 fma 1 1E+3 0 -> 1000 |
|
1137 fmax3341 fma 1 1E+8 0 -> 100000000 |
|
1138 fmax3342 fma 1 1E+9 0 -> 1.00000000E+9 Rounded |
|
1139 fmax3343 fma 1 1E+10 0 -> 1.00000000E+10 Rounded |
|
1140 -- which simply follow from these cases ... |
|
1141 fmax3344 fma 1 1E+3 1 -> 1001 |
|
1142 fmax3345 fma 1 1E+8 1 -> 100000001 |
|
1143 fmax3346 fma 1 1E+9 1 -> 1.00000000E+9 Inexact Rounded |
|
1144 fmax3347 fma 1 1E+10 1 -> 1.00000000E+10 Inexact Rounded |
|
1145 fmax3348 fma 1 1E+3 7 -> 1007 |
|
1146 fmax3349 fma 1 1E+8 7 -> 100000007 |
|
1147 fmax3350 fma 1 1E+9 7 -> 1.00000001E+9 Inexact Rounded |
|
1148 fmax3351 fma 1 1E+10 7 -> 1.00000000E+10 Inexact Rounded |
|
1149 |
|
1150 -- tryzeros cases |
|
1151 precision: 7 |
|
1152 rounding: half_up |
|
1153 maxExponent: 92 |
|
1154 minexponent: -92 |
|
1155 fmax3361 fma 1 0E+50 10000E+1 -> 1.0000E+5 |
|
1156 fmax3362 fma 1 10000E+1 0E-50 -> 100000.0 Rounded |
|
1157 fmax3363 fma 1 10000E+1 10000E-50 -> 100000.0 Rounded Inexact |
|
1158 fmax3364 fma 1 9.999999E+92 -9.999999E+92 -> 0E+86 |
|
1159 |
|
1160 -- a curiosity from JSR 13 testing |
|
1161 rounding: half_down |
|
1162 precision: 10 |
|
1163 fmax3370 fma 1 99999999 81512 -> 100081511 |
|
1164 precision: 6 |
|
1165 fmax3371 fma 1 99999999 81512 -> 1.00082E+8 Rounded Inexact |
|
1166 rounding: half_up |
|
1167 precision: 10 |
|
1168 fmax3372 fma 1 99999999 81512 -> 100081511 |
|
1169 precision: 6 |
|
1170 fmax3373 fma 1 99999999 81512 -> 1.00082E+8 Rounded Inexact |
|
1171 rounding: half_even |
|
1172 precision: 10 |
|
1173 fmax3374 fma 1 99999999 81512 -> 100081511 |
|
1174 precision: 6 |
|
1175 fmax3375 fma 1 99999999 81512 -> 1.00082E+8 Rounded Inexact |
|
1176 |
|
1177 -- ulp replacement tests |
|
1178 precision: 9 |
|
1179 maxexponent: 999999 |
|
1180 minexponent: -999999 |
|
1181 fmax3400 fma 1 1 77e-7 -> 1.0000077 |
|
1182 fmax3401 fma 1 1 77e-8 -> 1.00000077 |
|
1183 fmax3402 fma 1 1 77e-9 -> 1.00000008 Inexact Rounded |
|
1184 fmax3403 fma 1 1 77e-10 -> 1.00000001 Inexact Rounded |
|
1185 fmax3404 fma 1 1 77e-11 -> 1.00000000 Inexact Rounded |
|
1186 fmax3405 fma 1 1 77e-12 -> 1.00000000 Inexact Rounded |
|
1187 fmax3406 fma 1 1 77e-999 -> 1.00000000 Inexact Rounded |
|
1188 fmax3407 fma 1 1 77e-999999 -> 1.00000000 Inexact Rounded |
|
1189 |
|
1190 fmax3410 fma 1 10 77e-7 -> 10.0000077 |
|
1191 fmax3411 fma 1 10 77e-8 -> 10.0000008 Inexact Rounded |
|
1192 fmax3412 fma 1 10 77e-9 -> 10.0000001 Inexact Rounded |
|
1193 fmax3413 fma 1 10 77e-10 -> 10.0000000 Inexact Rounded |
|
1194 fmax3414 fma 1 10 77e-11 -> 10.0000000 Inexact Rounded |
|
1195 fmax3415 fma 1 10 77e-12 -> 10.0000000 Inexact Rounded |
|
1196 fmax3416 fma 1 10 77e-999 -> 10.0000000 Inexact Rounded |
|
1197 fmax3417 fma 1 10 77e-999999 -> 10.0000000 Inexact Rounded |
|
1198 |
|
1199 fmax3420 fma 1 77e-7 1 -> 1.0000077 |
|
1200 fmax3421 fma 1 77e-8 1 -> 1.00000077 |
|
1201 fmax3422 fma 1 77e-9 1 -> 1.00000008 Inexact Rounded |
|
1202 fmax3423 fma 1 77e-10 1 -> 1.00000001 Inexact Rounded |
|
1203 fmax3424 fma 1 77e-11 1 -> 1.00000000 Inexact Rounded |
|
1204 fmax3425 fma 1 77e-12 1 -> 1.00000000 Inexact Rounded |
|
1205 fmax3426 fma 1 77e-999 1 -> 1.00000000 Inexact Rounded |
|
1206 fmax3427 fma 1 77e-999999 1 -> 1.00000000 Inexact Rounded |
|
1207 |
|
1208 fmax3430 fma 1 77e-7 10 -> 10.0000077 |
|
1209 fmax3431 fma 1 77e-8 10 -> 10.0000008 Inexact Rounded |
|
1210 fmax3432 fma 1 77e-9 10 -> 10.0000001 Inexact Rounded |
|
1211 fmax3433 fma 1 77e-10 10 -> 10.0000000 Inexact Rounded |
|
1212 fmax3434 fma 1 77e-11 10 -> 10.0000000 Inexact Rounded |
|
1213 fmax3435 fma 1 77e-12 10 -> 10.0000000 Inexact Rounded |
|
1214 fmax3436 fma 1 77e-999 10 -> 10.0000000 Inexact Rounded |
|
1215 fmax3437 fma 1 77e-999999 10 -> 10.0000000 Inexact Rounded |
|
1216 |
|
1217 -- negative ulps |
|
1218 fmax3440 fma 1 1 -77e-7 -> 0.9999923 |
|
1219 fmax3441 fma 1 1 -77e-8 -> 0.99999923 |
|
1220 fmax3442 fma 1 1 -77e-9 -> 0.999999923 |
|
1221 fmax3443 fma 1 1 -77e-10 -> 0.999999992 Inexact Rounded |
|
1222 fmax3444 fma 1 1 -77e-11 -> 0.999999999 Inexact Rounded |
|
1223 fmax3445 fma 1 1 -77e-12 -> 1.00000000 Inexact Rounded |
|
1224 fmax3446 fma 1 1 -77e-999 -> 1.00000000 Inexact Rounded |
|
1225 fmax3447 fma 1 1 -77e-999999 -> 1.00000000 Inexact Rounded |
|
1226 |
|
1227 fmax3450 fma 1 10 -77e-7 -> 9.9999923 |
|
1228 fmax3451 fma 1 10 -77e-8 -> 9.99999923 |
|
1229 fmax3452 fma 1 10 -77e-9 -> 9.99999992 Inexact Rounded |
|
1230 fmax3453 fma 1 10 -77e-10 -> 9.99999999 Inexact Rounded |
|
1231 fmax3454 fma 1 10 -77e-11 -> 10.0000000 Inexact Rounded |
|
1232 fmax3455 fma 1 10 -77e-12 -> 10.0000000 Inexact Rounded |
|
1233 fmax3456 fma 1 10 -77e-999 -> 10.0000000 Inexact Rounded |
|
1234 fmax3457 fma 1 10 -77e-999999 -> 10.0000000 Inexact Rounded |
|
1235 |
|
1236 fmax3460 fma 1 -77e-7 1 -> 0.9999923 |
|
1237 fmax3461 fma 1 -77e-8 1 -> 0.99999923 |
|
1238 fmax3462 fma 1 -77e-9 1 -> 0.999999923 |
|
1239 fmax3463 fma 1 -77e-10 1 -> 0.999999992 Inexact Rounded |
|
1240 fmax3464 fma 1 -77e-11 1 -> 0.999999999 Inexact Rounded |
|
1241 fmax3465 fma 1 -77e-12 1 -> 1.00000000 Inexact Rounded |
|
1242 fmax3466 fma 1 -77e-999 1 -> 1.00000000 Inexact Rounded |
|
1243 fmax3467 fma 1 -77e-999999 1 -> 1.00000000 Inexact Rounded |
|
1244 |
|
1245 fmax3470 fma 1 -77e-7 10 -> 9.9999923 |
|
1246 fmax3471 fma 1 -77e-8 10 -> 9.99999923 |
|
1247 fmax3472 fma 1 -77e-9 10 -> 9.99999992 Inexact Rounded |
|
1248 fmax3473 fma 1 -77e-10 10 -> 9.99999999 Inexact Rounded |
|
1249 fmax3474 fma 1 -77e-11 10 -> 10.0000000 Inexact Rounded |
|
1250 fmax3475 fma 1 -77e-12 10 -> 10.0000000 Inexact Rounded |
|
1251 fmax3476 fma 1 -77e-999 10 -> 10.0000000 Inexact Rounded |
|
1252 fmax3477 fma 1 -77e-999999 10 -> 10.0000000 Inexact Rounded |
|
1253 |
|
1254 -- negative ulps |
|
1255 fmax3480 fma 1 -1 77e-7 -> -0.9999923 |
|
1256 fmax3481 fma 1 -1 77e-8 -> -0.99999923 |
|
1257 fmax3482 fma 1 -1 77e-9 -> -0.999999923 |
|
1258 fmax3483 fma 1 -1 77e-10 -> -0.999999992 Inexact Rounded |
|
1259 fmax3484 fma 1 -1 77e-11 -> -0.999999999 Inexact Rounded |
|
1260 fmax3485 fma 1 -1 77e-12 -> -1.00000000 Inexact Rounded |
|
1261 fmax3486 fma 1 -1 77e-999 -> -1.00000000 Inexact Rounded |
|
1262 fmax3487 fma 1 -1 77e-999999 -> -1.00000000 Inexact Rounded |
|
1263 |
|
1264 fmax3490 fma 1 -10 77e-7 -> -9.9999923 |
|
1265 fmax3491 fma 1 -10 77e-8 -> -9.99999923 |
|
1266 fmax3492 fma 1 -10 77e-9 -> -9.99999992 Inexact Rounded |
|
1267 fmax3493 fma 1 -10 77e-10 -> -9.99999999 Inexact Rounded |
|
1268 fmax3494 fma 1 -10 77e-11 -> -10.0000000 Inexact Rounded |
|
1269 fmax3495 fma 1 -10 77e-12 -> -10.0000000 Inexact Rounded |
|
1270 fmax3496 fma 1 -10 77e-999 -> -10.0000000 Inexact Rounded |
|
1271 fmax3497 fma 1 -10 77e-999999 -> -10.0000000 Inexact Rounded |
|
1272 |
|
1273 fmax3500 fma 1 77e-7 -1 -> -0.9999923 |
|
1274 fmax3501 fma 1 77e-8 -1 -> -0.99999923 |
|
1275 fmax3502 fma 1 77e-9 -1 -> -0.999999923 |
|
1276 fmax3503 fma 1 77e-10 -1 -> -0.999999992 Inexact Rounded |
|
1277 fmax3504 fma 1 77e-11 -1 -> -0.999999999 Inexact Rounded |
|
1278 fmax3505 fma 1 77e-12 -1 -> -1.00000000 Inexact Rounded |
|
1279 fmax3506 fma 1 77e-999 -1 -> -1.00000000 Inexact Rounded |
|
1280 fmax3507 fma 1 77e-999999 -1 -> -1.00000000 Inexact Rounded |
|
1281 |
|
1282 fmax3510 fma 1 77e-7 -10 -> -9.9999923 |
|
1283 fmax3511 fma 1 77e-8 -10 -> -9.99999923 |
|
1284 fmax3512 fma 1 77e-9 -10 -> -9.99999992 Inexact Rounded |
|
1285 fmax3513 fma 1 77e-10 -10 -> -9.99999999 Inexact Rounded |
|
1286 fmax3514 fma 1 77e-11 -10 -> -10.0000000 Inexact Rounded |
|
1287 fmax3515 fma 1 77e-12 -10 -> -10.0000000 Inexact Rounded |
|
1288 fmax3516 fma 1 77e-999 -10 -> -10.0000000 Inexact Rounded |
|
1289 fmax3517 fma 1 77e-999999 -10 -> -10.0000000 Inexact Rounded |
|
1290 |
|
1291 |
|
1292 -- long operands |
|
1293 maxexponent: 999 |
|
1294 minexponent: -999 |
|
1295 precision: 9 |
|
1296 fmax3521 fma 1 12345678000 0 -> 1.23456780E+10 Rounded |
|
1297 fmax3522 fma 1 0 12345678000 -> 1.23456780E+10 Rounded |
|
1298 fmax3523 fma 1 1234567800 0 -> 1.23456780E+9 Rounded |
|
1299 fmax3524 fma 1 0 1234567800 -> 1.23456780E+9 Rounded |
|
1300 fmax3525 fma 1 1234567890 0 -> 1.23456789E+9 Rounded |
|
1301 fmax3526 fma 1 0 1234567890 -> 1.23456789E+9 Rounded |
|
1302 fmax3527 fma 1 1234567891 0 -> 1.23456789E+9 Inexact Rounded |
|
1303 fmax3528 fma 1 0 1234567891 -> 1.23456789E+9 Inexact Rounded |
|
1304 fmax3529 fma 1 12345678901 0 -> 1.23456789E+10 Inexact Rounded |
|
1305 fmax3530 fma 1 0 12345678901 -> 1.23456789E+10 Inexact Rounded |
|
1306 fmax3531 fma 1 1234567896 0 -> 1.23456790E+9 Inexact Rounded |
|
1307 fmax3532 fma 1 0 1234567896 -> 1.23456790E+9 Inexact Rounded |
|
1308 |
|
1309 precision: 15 |
|
1310 -- still checking |
|
1311 fmax3541 fma 1 12345678000 0 -> 12345678000 |
|
1312 fmax3542 fma 1 0 12345678000 -> 12345678000 |
|
1313 fmax3543 fma 1 1234567800 0 -> 1234567800 |
|
1314 fmax3544 fma 1 0 1234567800 -> 1234567800 |
|
1315 fmax3545 fma 1 1234567890 0 -> 1234567890 |
|
1316 fmax3546 fma 1 0 1234567890 -> 1234567890 |
|
1317 fmax3547 fma 1 1234567891 0 -> 1234567891 |
|
1318 fmax3548 fma 1 0 1234567891 -> 1234567891 |
|
1319 fmax3549 fma 1 12345678901 0 -> 12345678901 |
|
1320 fmax3550 fma 1 0 12345678901 -> 12345678901 |
|
1321 fmax3551 fma 1 1234567896 0 -> 1234567896 |
|
1322 fmax3552 fma 1 0 1234567896 -> 1234567896 |
|
1323 |
|
1324 -- verify a query |
|
1325 precision: 16 |
|
1326 maxExponent: +394 |
|
1327 minExponent: -393 |
|
1328 rounding: down |
|
1329 fmax3561 fma 1 1e-398 9.000000000000000E+384 -> 9.000000000000000E+384 Inexact Rounded |
|
1330 fmax3562 fma 1 0 9.000000000000000E+384 -> 9.000000000000000E+384 Rounded |
|
1331 -- and using decimal64 bounds... |
|
1332 precision: 16 |
|
1333 maxExponent: +384 |
|
1334 minExponent: -383 |
|
1335 rounding: down |
|
1336 fmax3563 fma 1 1e-388 9.000000000000000E+374 -> 9.000000000000000E+374 Inexact Rounded |
|
1337 fmax3564 fma 1 0 9.000000000000000E+374 -> 9.000000000000000E+374 Rounded |
|
1338 |
|
1339 |
|
1340 -- some more residue effects with extreme rounding |
|
1341 precision: 9 |
|
1342 rounding: half_up |
|
1343 fmax3601 fma 1 123456789 0.000001 -> 123456789 Inexact Rounded |
|
1344 rounding: half_even |
|
1345 fmax3602 fma 1 123456789 0.000001 -> 123456789 Inexact Rounded |
|
1346 rounding: half_down |
|
1347 fmax3603 fma 1 123456789 0.000001 -> 123456789 Inexact Rounded |
|
1348 rounding: floor |
|
1349 fmax3604 fma 1 123456789 0.000001 -> 123456789 Inexact Rounded |
|
1350 rounding: ceiling |
|
1351 fmax3605 fma 1 123456789 0.000001 -> 123456790 Inexact Rounded |
|
1352 rounding: up |
|
1353 fmax3606 fma 1 123456789 0.000001 -> 123456790 Inexact Rounded |
|
1354 rounding: down |
|
1355 fmax3607 fma 1 123456789 0.000001 -> 123456789 Inexact Rounded |
|
1356 |
|
1357 rounding: half_up |
|
1358 fmax3611 fma 1 123456789 -0.000001 -> 123456789 Inexact Rounded |
|
1359 rounding: half_even |
|
1360 fmax3612 fma 1 123456789 -0.000001 -> 123456789 Inexact Rounded |
|
1361 rounding: half_down |
|
1362 fmax3613 fma 1 123456789 -0.000001 -> 123456789 Inexact Rounded |
|
1363 rounding: floor |
|
1364 fmax3614 fma 1 123456789 -0.000001 -> 123456788 Inexact Rounded |
|
1365 rounding: ceiling |
|
1366 fmax3615 fma 1 123456789 -0.000001 -> 123456789 Inexact Rounded |
|
1367 rounding: up |
|
1368 fmax3616 fma 1 123456789 -0.000001 -> 123456789 Inexact Rounded |
|
1369 rounding: down |
|
1370 fmax3617 fma 1 123456789 -0.000001 -> 123456788 Inexact Rounded |
|
1371 |
|
1372 rounding: half_up |
|
1373 fmax3621 fma 1 123456789 0.499999 -> 123456789 Inexact Rounded |
|
1374 rounding: half_even |
|
1375 fmax3622 fma 1 123456789 0.499999 -> 123456789 Inexact Rounded |
|
1376 rounding: half_down |
|
1377 fmax3623 fma 1 123456789 0.499999 -> 123456789 Inexact Rounded |
|
1378 rounding: floor |
|
1379 fmax3624 fma 1 123456789 0.499999 -> 123456789 Inexact Rounded |
|
1380 rounding: ceiling |
|
1381 fmax3625 fma 1 123456789 0.499999 -> 123456790 Inexact Rounded |
|
1382 rounding: up |
|
1383 fmax3626 fma 1 123456789 0.499999 -> 123456790 Inexact Rounded |
|
1384 rounding: down |
|
1385 fmax3627 fma 1 123456789 0.499999 -> 123456789 Inexact Rounded |
|
1386 |
|
1387 rounding: half_up |
|
1388 fmax3631 fma 1 123456789 -0.499999 -> 123456789 Inexact Rounded |
|
1389 rounding: half_even |
|
1390 fmax3632 fma 1 123456789 -0.499999 -> 123456789 Inexact Rounded |
|
1391 rounding: half_down |
|
1392 fmax3633 fma 1 123456789 -0.499999 -> 123456789 Inexact Rounded |
|
1393 rounding: floor |
|
1394 fmax3634 fma 1 123456789 -0.499999 -> 123456788 Inexact Rounded |
|
1395 rounding: ceiling |
|
1396 fmax3635 fma 1 123456789 -0.499999 -> 123456789 Inexact Rounded |
|
1397 rounding: up |
|
1398 fmax3636 fma 1 123456789 -0.499999 -> 123456789 Inexact Rounded |
|
1399 rounding: down |
|
1400 fmax3637 fma 1 123456789 -0.499999 -> 123456788 Inexact Rounded |
|
1401 |
|
1402 rounding: half_up |
|
1403 fmax3641 fma 1 123456789 0.500001 -> 123456790 Inexact Rounded |
|
1404 rounding: half_even |
|
1405 fmax3642 fma 1 123456789 0.500001 -> 123456790 Inexact Rounded |
|
1406 rounding: half_down |
|
1407 fmax3643 fma 1 123456789 0.500001 -> 123456790 Inexact Rounded |
|
1408 rounding: floor |
|
1409 fmax3644 fma 1 123456789 0.500001 -> 123456789 Inexact Rounded |
|
1410 rounding: ceiling |
|
1411 fmax3645 fma 1 123456789 0.500001 -> 123456790 Inexact Rounded |
|
1412 rounding: up |
|
1413 fmax3646 fma 1 123456789 0.500001 -> 123456790 Inexact Rounded |
|
1414 rounding: down |
|
1415 fmax3647 fma 1 123456789 0.500001 -> 123456789 Inexact Rounded |
|
1416 |
|
1417 rounding: half_up |
|
1418 fmax3651 fma 1 123456789 -0.500001 -> 123456788 Inexact Rounded |
|
1419 rounding: half_even |
|
1420 fmax3652 fma 1 123456789 -0.500001 -> 123456788 Inexact Rounded |
|
1421 rounding: half_down |
|
1422 fmax3653 fma 1 123456789 -0.500001 -> 123456788 Inexact Rounded |
|
1423 rounding: floor |
|
1424 fmax3654 fma 1 123456789 -0.500001 -> 123456788 Inexact Rounded |
|
1425 rounding: ceiling |
|
1426 fmax3655 fma 1 123456789 -0.500001 -> 123456789 Inexact Rounded |
|
1427 rounding: up |
|
1428 fmax3656 fma 1 123456789 -0.500001 -> 123456789 Inexact Rounded |
|
1429 rounding: down |
|
1430 fmax3657 fma 1 123456789 -0.500001 -> 123456788 Inexact Rounded |
|
1431 |
|
1432 -- long operand triangle |
|
1433 rounding: half_up |
|
1434 precision: 37 |
|
1435 fmax3660 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211023638922337114834538 |
|
1436 precision: 36 |
|
1437 fmax3661 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221102363892233711483454 Inexact Rounded |
|
1438 precision: 35 |
|
1439 fmax3662 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422110236389223371148345 Inexact Rounded |
|
1440 precision: 34 |
|
1441 fmax3663 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211023638922337114835 Inexact Rounded |
|
1442 precision: 33 |
|
1443 fmax3664 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221102363892233711483 Inexact Rounded |
|
1444 precision: 32 |
|
1445 fmax3665 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422110236389223371148 Inexact Rounded |
|
1446 precision: 31 |
|
1447 fmax3666 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211023638922337115 Inexact Rounded |
|
1448 precision: 30 |
|
1449 fmax3667 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221102363892233711 Inexact Rounded |
|
1450 precision: 29 |
|
1451 fmax3668 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422110236389223371 Inexact Rounded |
|
1452 precision: 28 |
|
1453 fmax3669 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211023638922337 Inexact Rounded |
|
1454 precision: 27 |
|
1455 fmax3670 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221102363892234 Inexact Rounded |
|
1456 precision: 26 |
|
1457 fmax3671 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422110236389223 Inexact Rounded |
|
1458 precision: 25 |
|
1459 fmax3672 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211023638922 Inexact Rounded |
|
1460 precision: 24 |
|
1461 fmax3673 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221102363892 Inexact Rounded |
|
1462 precision: 23 |
|
1463 fmax3674 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422110236389 Inexact Rounded |
|
1464 precision: 22 |
|
1465 fmax3675 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211023639 Inexact Rounded |
|
1466 precision: 21 |
|
1467 fmax3676 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221102364 Inexact Rounded |
|
1468 precision: 20 |
|
1469 fmax3677 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422110236 Inexact Rounded |
|
1470 precision: 19 |
|
1471 fmax3678 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211024 Inexact Rounded |
|
1472 precision: 18 |
|
1473 fmax3679 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221102 Inexact Rounded |
|
1474 precision: 17 |
|
1475 fmax3680 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422110 Inexact Rounded |
|
1476 precision: 16 |
|
1477 fmax3681 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211 Inexact Rounded |
|
1478 precision: 15 |
|
1479 fmax3682 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221 Inexact Rounded |
|
1480 precision: 14 |
|
1481 fmax3683 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422 Inexact Rounded |
|
1482 precision: 13 |
|
1483 fmax3684 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42 Inexact Rounded |
|
1484 precision: 12 |
|
1485 fmax3685 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4 Inexact Rounded |
|
1486 precision: 11 |
|
1487 fmax3686 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166 Inexact Rounded |
|
1488 precision: 10 |
|
1489 fmax3687 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.847117417E+10 Inexact Rounded |
|
1490 precision: 9 |
|
1491 fmax3688 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.84711742E+10 Inexact Rounded |
|
1492 precision: 8 |
|
1493 fmax3689 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.8471174E+10 Inexact Rounded |
|
1494 precision: 7 |
|
1495 fmax3690 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.847117E+10 Inexact Rounded |
|
1496 precision: 6 |
|
1497 fmax3691 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.84712E+10 Inexact Rounded |
|
1498 precision: 5 |
|
1499 fmax3692 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.8471E+10 Inexact Rounded |
|
1500 precision: 4 |
|
1501 fmax3693 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.847E+10 Inexact Rounded |
|
1502 precision: 3 |
|
1503 fmax3694 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.85E+10 Inexact Rounded |
|
1504 precision: 2 |
|
1505 fmax3695 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.8E+10 Inexact Rounded |
|
1506 precision: 1 |
|
1507 fmax3696 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 1E+11 Inexact Rounded |
|
1508 |
|
1509 -- more zeros, etc. |
|
1510 rounding: half_up |
|
1511 precision: 9 |
|
1512 |
|
1513 fmax3701 fma 1 5.00 1.00E-3 -> 5.00100 |
|
1514 fmax3702 fma 1 00.00 0.000 -> 0.000 |
|
1515 fmax3703 fma 1 00.00 0E-3 -> 0.000 |
|
1516 fmax3704 fma 1 0E-3 00.00 -> 0.000 |
|
1517 |
|
1518 fmax3710 fma 1 0E+3 00.00 -> 0.00 |
|
1519 fmax3711 fma 1 0E+3 00.0 -> 0.0 |
|
1520 fmax3712 fma 1 0E+3 00. -> 0 |
|
1521 fmax3713 fma 1 0E+3 00.E+1 -> 0E+1 |
|
1522 fmax3714 fma 1 0E+3 00.E+2 -> 0E+2 |
|
1523 fmax3715 fma 1 0E+3 00.E+3 -> 0E+3 |
|
1524 fmax3716 fma 1 0E+3 00.E+4 -> 0E+3 |
|
1525 fmax3717 fma 1 0E+3 00.E+5 -> 0E+3 |
|
1526 fmax3718 fma 1 0E+3 -00.0 -> 0.0 |
|
1527 fmax3719 fma 1 0E+3 -00. -> 0 |
|
1528 fmax3731 fma 1 0E+3 -00.E+1 -> 0E+1 |
|
1529 |
|
1530 fmax3720 fma 1 00.00 0E+3 -> 0.00 |
|
1531 fmax3721 fma 1 00.0 0E+3 -> 0.0 |
|
1532 fmax3722 fma 1 00. 0E+3 -> 0 |
|
1533 fmax3723 fma 1 00.E+1 0E+3 -> 0E+1 |
|
1534 fmax3724 fma 1 00.E+2 0E+3 -> 0E+2 |
|
1535 fmax3725 fma 1 00.E+3 0E+3 -> 0E+3 |
|
1536 fmax3726 fma 1 00.E+4 0E+3 -> 0E+3 |
|
1537 fmax3727 fma 1 00.E+5 0E+3 -> 0E+3 |
|
1538 fmax3728 fma 1 -00.00 0E+3 -> 0.00 |
|
1539 fmax3729 fma 1 -00.0 0E+3 -> 0.0 |
|
1540 fmax3730 fma 1 -00. 0E+3 -> 0 |
|
1541 |
|
1542 fmax3732 fma 1 0 0 -> 0 |
|
1543 fmax3733 fma 1 0 -0 -> 0 |
|
1544 fmax3734 fma 1 -0 0 -> 0 |
|
1545 fmax3735 fma 1 -0 -0 -> -0 -- IEEE 854 special case |
|
1546 |
|
1547 fmax3736 fma 1 1 -1 -> 0 |
|
1548 fmax3737 fma 1 -1 -1 -> -2 |
|
1549 fmax3738 fma 1 1 1 -> 2 |
|
1550 fmax3739 fma 1 -1 1 -> 0 |
|
1551 |
|
1552 fmax3741 fma 1 0 -1 -> -1 |
|
1553 fmax3742 fma 1 -0 -1 -> -1 |
|
1554 fmax3743 fma 1 0 1 -> 1 |
|
1555 fmax3744 fma 1 -0 1 -> 1 |
|
1556 fmax3745 fma 1 -1 0 -> -1 |
|
1557 fmax3746 fma 1 -1 -0 -> -1 |
|
1558 fmax3747 fma 1 1 0 -> 1 |
|
1559 fmax3748 fma 1 1 -0 -> 1 |
|
1560 |
|
1561 fmax3751 fma 1 0.0 -1 -> -1.0 |
|
1562 fmax3752 fma 1 -0.0 -1 -> -1.0 |
|
1563 fmax3753 fma 1 0.0 1 -> 1.0 |
|
1564 fmax3754 fma 1 -0.0 1 -> 1.0 |
|
1565 fmax3755 fma 1 -1.0 0 -> -1.0 |
|
1566 fmax3756 fma 1 -1.0 -0 -> -1.0 |
|
1567 fmax3757 fma 1 1.0 0 -> 1.0 |
|
1568 fmax3758 fma 1 1.0 -0 -> 1.0 |
|
1569 |
|
1570 fmax3761 fma 1 0 -1.0 -> -1.0 |
|
1571 fmax3762 fma 1 -0 -1.0 -> -1.0 |
|
1572 fmax3763 fma 1 0 1.0 -> 1.0 |
|
1573 fmax3764 fma 1 -0 1.0 -> 1.0 |
|
1574 fmax3765 fma 1 -1 0.0 -> -1.0 |
|
1575 fmax3766 fma 1 -1 -0.0 -> -1.0 |
|
1576 fmax3767 fma 1 1 0.0 -> 1.0 |
|
1577 fmax3768 fma 1 1 -0.0 -> 1.0 |
|
1578 |
|
1579 fmax3771 fma 1 0.0 -1.0 -> -1.0 |
|
1580 fmax3772 fma 1 -0.0 -1.0 -> -1.0 |
|
1581 fmax3773 fma 1 0.0 1.0 -> 1.0 |
|
1582 fmax3774 fma 1 -0.0 1.0 -> 1.0 |
|
1583 fmax3775 fma 1 -1.0 0.0 -> -1.0 |
|
1584 fmax3776 fma 1 -1.0 -0.0 -> -1.0 |
|
1585 fmax3777 fma 1 1.0 0.0 -> 1.0 |
|
1586 fmax3778 fma 1 1.0 -0.0 -> 1.0 |
|
1587 |
|
1588 -- Specials |
|
1589 fmax3780 fma 1 -Inf -Inf -> -Infinity |
|
1590 fmax3781 fma 1 -Inf -1000 -> -Infinity |
|
1591 fmax3782 fma 1 -Inf -1 -> -Infinity |
|
1592 fmax3783 fma 1 -Inf -0 -> -Infinity |
|
1593 fmax3784 fma 1 -Inf 0 -> -Infinity |
|
1594 fmax3785 fma 1 -Inf 1 -> -Infinity |
|
1595 fmax3786 fma 1 -Inf 1000 -> -Infinity |
|
1596 fmax3787 fma 1 -1000 -Inf -> -Infinity |
|
1597 fmax3788 fma 1 -Inf -Inf -> -Infinity |
|
1598 fmax3789 fma 1 -1 -Inf -> -Infinity |
|
1599 fmax3790 fma 1 -0 -Inf -> -Infinity |
|
1600 fmax3791 fma 1 0 -Inf -> -Infinity |
|
1601 fmax3792 fma 1 1 -Inf -> -Infinity |
|
1602 fmax3793 fma 1 1000 -Inf -> -Infinity |
|
1603 fmax3794 fma 1 Inf -Inf -> NaN Invalid_operation |
|
1604 |
|
1605 fmax3800 fma 1 Inf -Inf -> NaN Invalid_operation |
|
1606 fmax3801 fma 1 Inf -1000 -> Infinity |
|
1607 fmax3802 fma 1 Inf -1 -> Infinity |
|
1608 fmax3803 fma 1 Inf -0 -> Infinity |
|
1609 fmax3804 fma 1 Inf 0 -> Infinity |
|
1610 fmax3805 fma 1 Inf 1 -> Infinity |
|
1611 fmax3806 fma 1 Inf 1000 -> Infinity |
|
1612 fmax3807 fma 1 Inf Inf -> Infinity |
|
1613 fmax3808 fma 1 -1000 Inf -> Infinity |
|
1614 fmax3809 fma 1 -Inf Inf -> NaN Invalid_operation |
|
1615 fmax3810 fma 1 -1 Inf -> Infinity |
|
1616 fmax3811 fma 1 -0 Inf -> Infinity |
|
1617 fmax3812 fma 1 0 Inf -> Infinity |
|
1618 fmax3813 fma 1 1 Inf -> Infinity |
|
1619 fmax3814 fma 1 1000 Inf -> Infinity |
|
1620 fmax3815 fma 1 Inf Inf -> Infinity |
|
1621 |
|
1622 fmax3821 fma 1 NaN -Inf -> NaN |
|
1623 fmax3822 fma 1 NaN -1000 -> NaN |
|
1624 fmax3823 fma 1 NaN -1 -> NaN |
|
1625 fmax3824 fma 1 NaN -0 -> NaN |
|
1626 fmax3825 fma 1 NaN 0 -> NaN |
|
1627 fmax3826 fma 1 NaN 1 -> NaN |
|
1628 fmax3827 fma 1 NaN 1000 -> NaN |
|
1629 fmax3828 fma 1 NaN Inf -> NaN |
|
1630 fmax3829 fma 1 NaN NaN -> NaN |
|
1631 fmax3830 fma 1 -Inf NaN -> NaN |
|
1632 fmax3831 fma 1 -1000 NaN -> NaN |
|
1633 fmax3832 fma 1 -1 NaN -> NaN |
|
1634 fmax3833 fma 1 -0 NaN -> NaN |
|
1635 fmax3834 fma 1 0 NaN -> NaN |
|
1636 fmax3835 fma 1 1 NaN -> NaN |
|
1637 fmax3836 fma 1 1000 NaN -> NaN |
|
1638 fmax3837 fma 1 Inf NaN -> NaN |
|
1639 |
|
1640 fmax3841 fma 1 sNaN -Inf -> NaN Invalid_operation |
|
1641 fmax3842 fma 1 sNaN -1000 -> NaN Invalid_operation |
|
1642 fmax3843 fma 1 sNaN -1 -> NaN Invalid_operation |
|
1643 fmax3844 fma 1 sNaN -0 -> NaN Invalid_operation |
|
1644 fmax3845 fma 1 sNaN 0 -> NaN Invalid_operation |
|
1645 fmax3846 fma 1 sNaN 1 -> NaN Invalid_operation |
|
1646 fmax3847 fma 1 sNaN 1000 -> NaN Invalid_operation |
|
1647 fmax3848 fma 1 sNaN NaN -> NaN Invalid_operation |
|
1648 fmax3849 fma 1 sNaN sNaN -> NaN Invalid_operation |
|
1649 fmax3850 fma 1 NaN sNaN -> NaN Invalid_operation |
|
1650 fmax3851 fma 1 -Inf sNaN -> NaN Invalid_operation |
|
1651 fmax3852 fma 1 -1000 sNaN -> NaN Invalid_operation |
|
1652 fmax3853 fma 1 -1 sNaN -> NaN Invalid_operation |
|
1653 fmax3854 fma 1 -0 sNaN -> NaN Invalid_operation |
|
1654 fmax3855 fma 1 0 sNaN -> NaN Invalid_operation |
|
1655 fmax3856 fma 1 1 sNaN -> NaN Invalid_operation |
|
1656 fmax3857 fma 1 1000 sNaN -> NaN Invalid_operation |
|
1657 fmax3858 fma 1 Inf sNaN -> NaN Invalid_operation |
|
1658 fmax3859 fma 1 NaN sNaN -> NaN Invalid_operation |
|
1659 |
|
1660 -- propagating NaNs |
|
1661 fmax3861 fma 1 NaN1 -Inf -> NaN1 |
|
1662 fmax3862 fma 1 +NaN2 -1000 -> NaN2 |
|
1663 fmax3863 fma 1 NaN3 1000 -> NaN3 |
|
1664 fmax3864 fma 1 NaN4 Inf -> NaN4 |
|
1665 fmax3865 fma 1 NaN5 +NaN6 -> NaN5 |
|
1666 fmax3866 fma 1 -Inf NaN7 -> NaN7 |
|
1667 fmax3867 fma 1 -1000 NaN8 -> NaN8 |
|
1668 fmax3868 fma 1 1000 NaN9 -> NaN9 |
|
1669 fmax3869 fma 1 Inf +NaN10 -> NaN10 |
|
1670 fmax3871 fma 1 sNaN11 -Inf -> NaN11 Invalid_operation |
|
1671 fmax3872 fma 1 sNaN12 -1000 -> NaN12 Invalid_operation |
|
1672 fmax3873 fma 1 sNaN13 1000 -> NaN13 Invalid_operation |
|
1673 fmax3874 fma 1 sNaN14 NaN17 -> NaN14 Invalid_operation |
|
1674 fmax3875 fma 1 sNaN15 sNaN18 -> NaN15 Invalid_operation |
|
1675 fmax3876 fma 1 NaN16 sNaN19 -> NaN19 Invalid_operation |
|
1676 fmax3877 fma 1 -Inf +sNaN20 -> NaN20 Invalid_operation |
|
1677 fmax3878 fma 1 -1000 sNaN21 -> NaN21 Invalid_operation |
|
1678 fmax3879 fma 1 1000 sNaN22 -> NaN22 Invalid_operation |
|
1679 fmax3880 fma 1 Inf sNaN23 -> NaN23 Invalid_operation |
|
1680 fmax3881 fma 1 +NaN25 +sNaN24 -> NaN24 Invalid_operation |
|
1681 fmax3882 fma 1 -NaN26 NaN28 -> -NaN26 |
|
1682 fmax3883 fma 1 -sNaN27 sNaN29 -> -NaN27 Invalid_operation |
|
1683 fmax3884 fma 1 1000 -NaN30 -> -NaN30 |
|
1684 fmax3885 fma 1 1000 -sNaN31 -> -NaN31 Invalid_operation |
|
1685 |
|
1686 -- overflow, underflow and subnormal tests |
|
1687 maxexponent: 999999 |
|
1688 minexponent: -999999 |
|
1689 precision: 9 |
|
1690 fmax3890 fma 1 1E+999999 9E+999999 -> Infinity Overflow Inexact Rounded |
|
1691 fmax3891 fma 1 9E+999999 1E+999999 -> Infinity Overflow Inexact Rounded |
|
1692 fmax3892 fma 1 -1.1E-999999 1E-999999 -> -1E-1000000 Subnormal |
|
1693 fmax3893 fma 1 1E-999999 -1.1e-999999 -> -1E-1000000 Subnormal |
|
1694 fmax3894 fma 1 -1.0001E-999999 1E-999999 -> -1E-1000003 Subnormal |
|
1695 fmax3895 fma 1 1E-999999 -1.0001e-999999 -> -1E-1000003 Subnormal |
|
1696 fmax3896 fma 1 -1E+999999 -9E+999999 -> -Infinity Overflow Inexact Rounded |
|
1697 fmax3897 fma 1 -9E+999999 -1E+999999 -> -Infinity Overflow Inexact Rounded |
|
1698 fmax3898 fma 1 +1.1E-999999 -1E-999999 -> 1E-1000000 Subnormal |
|
1699 fmax3899 fma 1 -1E-999999 +1.1e-999999 -> 1E-1000000 Subnormal |
|
1700 fmax3900 fma 1 +1.0001E-999999 -1E-999999 -> 1E-1000003 Subnormal |
|
1701 fmax3901 fma 1 -1E-999999 +1.0001e-999999 -> 1E-1000003 Subnormal |
|
1702 fmax3902 fma 1 -1E+999999 +9E+999999 -> 8E+999999 |
|
1703 fmax3903 fma 1 -9E+999999 +1E+999999 -> -8E+999999 |
|
1704 |
|
1705 precision: 3 |
|
1706 fmax3904 fma 1 0 -9.999E+999999 -> -Infinity Inexact Overflow Rounded |
|
1707 fmax3905 fma 1 -9.999E+999999 0 -> -Infinity Inexact Overflow Rounded |
|
1708 fmax3906 fma 1 0 9.999E+999999 -> Infinity Inexact Overflow Rounded |
|
1709 fmax3907 fma 1 9.999E+999999 0 -> Infinity Inexact Overflow Rounded |
|
1710 |
|
1711 precision: 3 |
|
1712 maxexponent: 999 |
|
1713 minexponent: -999 |
|
1714 fmax3910 fma 1 1.00E-999 0 -> 1.00E-999 |
|
1715 fmax3911 fma 1 0.1E-999 0 -> 1E-1000 Subnormal |
|
1716 fmax3912 fma 1 0.10E-999 0 -> 1.0E-1000 Subnormal |
|
1717 fmax3913 fma 1 0.100E-999 0 -> 1.0E-1000 Subnormal Rounded |
|
1718 fmax3914 fma 1 0.01E-999 0 -> 1E-1001 Subnormal |
|
1719 -- next is rounded to Nmin |
|
1720 fmax3915 fma 1 0.999E-999 0 -> 1.00E-999 Inexact Rounded Subnormal Underflow |
|
1721 fmax3916 fma 1 0.099E-999 0 -> 1.0E-1000 Inexact Rounded Subnormal Underflow |
|
1722 fmax3917 fma 1 0.009E-999 0 -> 1E-1001 Inexact Rounded Subnormal Underflow |
|
1723 fmax3918 fma 1 0.001E-999 0 -> 0E-1001 Inexact Rounded Subnormal Underflow Clamped |
|
1724 fmax3919 fma 1 0.0009E-999 0 -> 0E-1001 Inexact Rounded Subnormal Underflow Clamped |
|
1725 fmax3920 fma 1 0.0001E-999 0 -> 0E-1001 Inexact Rounded Subnormal Underflow Clamped |
|
1726 |
|
1727 fmax3930 fma 1 -1.00E-999 0 -> -1.00E-999 |
|
1728 fmax3931 fma 1 -0.1E-999 0 -> -1E-1000 Subnormal |
|
1729 fmax3932 fma 1 -0.10E-999 0 -> -1.0E-1000 Subnormal |
|
1730 fmax3933 fma 1 -0.100E-999 0 -> -1.0E-1000 Subnormal Rounded |
|
1731 fmax3934 fma 1 -0.01E-999 0 -> -1E-1001 Subnormal |
|
1732 -- next is rounded to Nmin |
|
1733 fmax3935 fma 1 -0.999E-999 0 -> -1.00E-999 Inexact Rounded Subnormal Underflow |
|
1734 fmax3936 fma 1 -0.099E-999 0 -> -1.0E-1000 Inexact Rounded Subnormal Underflow |
|
1735 fmax3937 fma 1 -0.009E-999 0 -> -1E-1001 Inexact Rounded Subnormal Underflow |
|
1736 fmax3938 fma 1 -0.001E-999 0 -> -0E-1001 Inexact Rounded Subnormal Underflow Clamped |
|
1737 fmax3939 fma 1 -0.0009E-999 0 -> -0E-1001 Inexact Rounded Subnormal Underflow Clamped |
|
1738 fmax3940 fma 1 -0.0001E-999 0 -> -0E-1001 Inexact Rounded Subnormal Underflow Clamped |
|
1739 |
|
1740 -- some non-zero subnormal fma 1 s |
|
1741 fmax3950 fma 1 1.00E-999 0.1E-999 -> 1.10E-999 |
|
1742 fmax3951 fma 1 0.1E-999 0.1E-999 -> 2E-1000 Subnormal |
|
1743 fmax3952 fma 1 0.10E-999 0.1E-999 -> 2.0E-1000 Subnormal |
|
1744 fmax3953 fma 1 0.100E-999 0.1E-999 -> 2.0E-1000 Subnormal Rounded |
|
1745 fmax3954 fma 1 0.01E-999 0.1E-999 -> 1.1E-1000 Subnormal |
|
1746 fmax3955 fma 1 0.999E-999 0.1E-999 -> 1.10E-999 Inexact Rounded |
|
1747 fmax3956 fma 1 0.099E-999 0.1E-999 -> 2.0E-1000 Inexact Rounded Subnormal Underflow |
|
1748 fmax3957 fma 1 0.009E-999 0.1E-999 -> 1.1E-1000 Inexact Rounded Subnormal Underflow |
|
1749 fmax3958 fma 1 0.001E-999 0.1E-999 -> 1.0E-1000 Inexact Rounded Subnormal Underflow |
|
1750 fmax3959 fma 1 0.0009E-999 0.1E-999 -> 1.0E-1000 Inexact Rounded Subnormal Underflow |
|
1751 fmax3960 fma 1 0.0001E-999 0.1E-999 -> 1.0E-1000 Inexact Rounded Subnormal Underflow |
|
1752 -- negatives... |
|
1753 fmax3961 fma 1 1.00E-999 -0.1E-999 -> 9.0E-1000 Subnormal |
|
1754 fmax3962 fma 1 0.1E-999 -0.1E-999 -> 0E-1000 |
|
1755 fmax3963 fma 1 0.10E-999 -0.1E-999 -> 0E-1001 |
|
1756 fmax3964 fma 1 0.100E-999 -0.1E-999 -> 0E-1001 Clamped |
|
1757 fmax3965 fma 1 0.01E-999 -0.1E-999 -> -9E-1001 Subnormal |
|
1758 fmax3966 fma 1 0.999E-999 -0.1E-999 -> 9.0E-1000 Inexact Rounded Subnormal Underflow |
|
1759 fmax3967 fma 1 0.099E-999 -0.1E-999 -> -0E-1001 Inexact Rounded Subnormal Underflow Clamped |
|
1760 fmax3968 fma 1 0.009E-999 -0.1E-999 -> -9E-1001 Inexact Rounded Subnormal Underflow |
|
1761 fmax3969 fma 1 0.001E-999 -0.1E-999 -> -1.0E-1000 Inexact Rounded Subnormal Underflow |
|
1762 fmax3970 fma 1 0.0009E-999 -0.1E-999 -> -1.0E-1000 Inexact Rounded Subnormal Underflow |
|
1763 fmax3971 fma 1 0.0001E-999 -0.1E-999 -> -1.0E-1000 Inexact Rounded Subnormal Underflow |
|
1764 |
|
1765 -- some 'real' numbers |
|
1766 maxExponent: 384 |
|
1767 minExponent: -383 |
|
1768 precision: 8 |
|
1769 fmax3566 fma 1 99999061735E-394 0E-394 -> 9.999906E-384 Inexact Rounded Underflow Subnormal |
|
1770 precision: 7 |
|
1771 fmax3567 fma 1 99999061735E-394 0E-394 -> 9.99991E-384 Inexact Rounded Underflow Subnormal |
|
1772 precision: 6 |
|
1773 fmax3568 fma 1 99999061735E-394 0E-394 -> 9.9999E-384 Inexact Rounded Underflow Subnormal |
|
1774 |
|
1775 -- now the case where we can get underflow but the result is normal |
|
1776 -- [note this can't happen if the operands are also bounded, as we |
|
1777 -- cannot represent 1E-399, for example] |
|
1778 precision: 16 |
|
1779 rounding: half_up |
|
1780 maxExponent: 384 |
|
1781 minExponent: -383 |
|
1782 |
|
1783 fmax3571 fma 1 1E-383 0 -> 1E-383 |
|
1784 fmax3572 fma 1 1E-384 0 -> 1E-384 Subnormal |
|
1785 fmax3573 fma 1 1E-383 1E-384 -> 1.1E-383 |
|
1786 fmax3574 subtract 1E-383 1E-384 -> 9E-384 Subnormal |
|
1787 |
|
1788 -- Here we explore the boundary of rounding a subnormal to Nmin |
|
1789 fmax3575 subtract 1E-383 1E-398 -> 9.99999999999999E-384 Subnormal |
|
1790 fmax3576 subtract 1E-383 1E-398 -> 9.99999999999999E-384 Subnormal |
|
1791 fmax3577 subtract 1E-383 1E-399 -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded |
|
1792 fmax3578 subtract 1E-383 1E-400 -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded |
|
1793 fmax3579 subtract 1E-383 1E-401 -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded |
|
1794 fmax3580 subtract 1E-383 1E-402 -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded |
|
1795 |
|
1796 -- check for double-rounded subnormals |
|
1797 precision: 5 |
|
1798 maxexponent: 79 |
|
1799 minexponent: -79 |
|
1800 -- Add: lhs and rhs 0 |
|
1801 fmax31001 fma 1 1.52444E-80 0 -> 1.524E-80 Inexact Rounded Subnormal Underflow |
|
1802 fmax31002 fma 1 1.52445E-80 0 -> 1.524E-80 Inexact Rounded Subnormal Underflow |
|
1803 fmax31003 fma 1 1.52446E-80 0 -> 1.524E-80 Inexact Rounded Subnormal Underflow |
|
1804 fmax31004 fma 1 0 1.52444E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow |
|
1805 fmax31005 fma 1 0 1.52445E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow |
|
1806 fmax31006 fma 1 0 1.52446E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow |
|
1807 |
|
1808 -- Add: lhs >> rhs and vice versa |
|
1809 fmax31011 fma 1 1.52444E-80 1E-100 -> 1.524E-80 Inexact Rounded Subnormal Underflow |
|
1810 fmax31012 fma 1 1.52445E-80 1E-100 -> 1.524E-80 Inexact Rounded Subnormal Underflow |
|
1811 fmax31013 fma 1 1.52446E-80 1E-100 -> 1.524E-80 Inexact Rounded Subnormal Underflow |
|
1812 fmax31014 fma 1 1E-100 1.52444E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow |
|
1813 fmax31015 fma 1 1E-100 1.52445E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow |
|
1814 fmax31016 fma 1 1E-100 1.52446E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow |
|
1815 |
|
1816 -- Add: lhs + rhs fma 1 ition carried out |
|
1817 fmax31021 fma 1 1.52443E-80 1.00001E-80 -> 2.524E-80 Inexact Rounded Subnormal Underflow |
|
1818 fmax31022 fma 1 1.52444E-80 1.00001E-80 -> 2.524E-80 Inexact Rounded Subnormal Underflow |
|
1819 fmax31023 fma 1 1.52445E-80 1.00001E-80 -> 2.524E-80 Inexact Rounded Subnormal Underflow |
|
1820 fmax31024 fma 1 1.00001E-80 1.52443E-80 -> 2.524E-80 Inexact Rounded Subnormal Underflow |
|
1821 fmax31025 fma 1 1.00001E-80 1.52444E-80 -> 2.524E-80 Inexact Rounded Subnormal Underflow |
|
1822 fmax31026 fma 1 1.00001E-80 1.52445E-80 -> 2.524E-80 Inexact Rounded Subnormal Underflow |
|
1823 |
|
1824 -- And for round down full and subnormal results |
|
1825 precision: 16 |
|
1826 maxExponent: +384 |
|
1827 minExponent: -383 |
|
1828 rounding: down |
|
1829 |
|
1830 fmax31100 fma 1 1e+2 -1e-383 -> 99.99999999999999 Rounded Inexact |
|
1831 fmax31101 fma 1 1e+1 -1e-383 -> 9.999999999999999 Rounded Inexact |
|
1832 fmax31103 fma 1 +1 -1e-383 -> 0.9999999999999999 Rounded Inexact |
|
1833 fmax31104 fma 1 1e-1 -1e-383 -> 0.09999999999999999 Rounded Inexact |
|
1834 fmax31105 fma 1 1e-2 -1e-383 -> 0.009999999999999999 Rounded Inexact |
|
1835 fmax31106 fma 1 1e-3 -1e-383 -> 0.0009999999999999999 Rounded Inexact |
|
1836 fmax31107 fma 1 1e-4 -1e-383 -> 0.00009999999999999999 Rounded Inexact |
|
1837 fmax31108 fma 1 1e-5 -1e-383 -> 0.000009999999999999999 Rounded Inexact |
|
1838 fmax31109 fma 1 1e-6 -1e-383 -> 9.999999999999999E-7 Rounded Inexact |
|
1839 |
|
1840 rounding: ceiling |
|
1841 fmax31110 fma 1 -1e+2 +1e-383 -> -99.99999999999999 Rounded Inexact |
|
1842 fmax31111 fma 1 -1e+1 +1e-383 -> -9.999999999999999 Rounded Inexact |
|
1843 fmax31113 fma 1 -1 +1e-383 -> -0.9999999999999999 Rounded Inexact |
|
1844 fmax31114 fma 1 -1e-1 +1e-383 -> -0.09999999999999999 Rounded Inexact |
|
1845 fmax31115 fma 1 -1e-2 +1e-383 -> -0.009999999999999999 Rounded Inexact |
|
1846 fmax31116 fma 1 -1e-3 +1e-383 -> -0.0009999999999999999 Rounded Inexact |
|
1847 fmax31117 fma 1 -1e-4 +1e-383 -> -0.00009999999999999999 Rounded Inexact |
|
1848 fmax31118 fma 1 -1e-5 +1e-383 -> -0.000009999999999999999 Rounded Inexact |
|
1849 fmax31119 fma 1 -1e-6 +1e-383 -> -9.999999999999999E-7 Rounded Inexact |
|
1850 |
|
1851 rounding: down |
|
1852 precision: 7 |
|
1853 maxExponent: +96 |
|
1854 minExponent: -95 |
|
1855 fmax31130 fma 1 1 -1e-200 -> 0.9999999 Rounded Inexact |
|
1856 -- subnormal boundary |
|
1857 fmax31131 fma 1 1.000000E-94 -1e-200 -> 9.999999E-95 Rounded Inexact |
|
1858 fmax31132 fma 1 1.000001E-95 -1e-200 -> 1.000000E-95 Rounded Inexact |
|
1859 fmax31133 fma 1 1.000000E-95 -1e-200 -> 9.99999E-96 Rounded Inexact Subnormal Underflow |
|
1860 fmax31134 fma 1 0.999999E-95 -1e-200 -> 9.99998E-96 Rounded Inexact Subnormal Underflow |
|
1861 fmax31135 fma 1 0.001000E-95 -1e-200 -> 9.99E-99 Rounded Inexact Subnormal Underflow |
|
1862 fmax31136 fma 1 0.000999E-95 -1e-200 -> 9.98E-99 Rounded Inexact Subnormal Underflow |
|
1863 fmax31137 fma 1 1.000000E-95 -1e-101 -> 9.99999E-96 Subnormal |
|
1864 fmax31138 fma 1 10000E-101 -1e-200 -> 9.999E-98 Subnormal Inexact Rounded Underflow |
|
1865 fmax31139 fma 1 1000E-101 -1e-200 -> 9.99E-99 Subnormal Inexact Rounded Underflow |
|
1866 fmax31140 fma 1 100E-101 -1e-200 -> 9.9E-100 Subnormal Inexact Rounded Underflow |
|
1867 fmax31141 fma 1 10E-101 -1e-200 -> 9E-101 Subnormal Inexact Rounded Underflow |
|
1868 fmax31142 fma 1 1E-101 -1e-200 -> 0E-101 Subnormal Inexact Rounded Underflow Clamped |
|
1869 fmax31143 fma 1 0E-101 -1e-200 -> -0E-101 Subnormal Inexact Rounded Underflow Clamped |
|
1870 fmax31144 fma 1 1E-102 -1e-200 -> 0E-101 Subnormal Inexact Rounded Underflow Clamped |
|
1871 |
|
1872 fmax31151 fma 1 10000E-102 -1e-200 -> 9.99E-99 Subnormal Inexact Rounded Underflow |
|
1873 fmax31152 fma 1 1000E-102 -1e-200 -> 9.9E-100 Subnormal Inexact Rounded Underflow |
|
1874 fmax31153 fma 1 100E-102 -1e-200 -> 9E-101 Subnormal Inexact Rounded Underflow |
|
1875 fmax31154 fma 1 10E-102 -1e-200 -> 0E-101 Subnormal Inexact Rounded Underflow Clamped |
|
1876 fmax31155 fma 1 1E-102 -1e-200 -> 0E-101 Subnormal Inexact Rounded Underflow Clamped |
|
1877 fmax31156 fma 1 0E-102 -1e-200 -> -0E-101 Subnormal Inexact Rounded Underflow Clamped |
|
1878 fmax31157 fma 1 1E-103 -1e-200 -> 0E-101 Subnormal Inexact Rounded Underflow Clamped |
|
1879 |
|
1880 fmax31160 fma 1 100E-105 -1e-101 -> -0E-101 Subnormal Inexact Rounded Underflow Clamped |
|
1881 fmax31161 fma 1 100E-105 -1e-201 -> 0E-101 Subnormal Inexact Rounded Underflow Clamped |
|
1882 |
|
1883 -- tests based on Gunnar Degnbol's edge case |
|
1884 precision: 15 |
|
1885 rounding: half_up |
|
1886 maxExponent: 384 |
|
1887 minexponent: -383 |
|
1888 |
|
1889 fmax31200 fma 1 1E15 -0.5 -> 1.00000000000000E+15 Inexact Rounded |
|
1890 fmax31201 fma 1 1E15 -0.50 -> 1.00000000000000E+15 Inexact Rounded |
|
1891 fmax31210 fma 1 1E15 -0.51 -> 999999999999999 Inexact Rounded |
|
1892 fmax31211 fma 1 1E15 -0.501 -> 999999999999999 Inexact Rounded |
|
1893 fmax31212 fma 1 1E15 -0.5001 -> 999999999999999 Inexact Rounded |
|
1894 fmax31213 fma 1 1E15 -0.50001 -> 999999999999999 Inexact Rounded |
|
1895 fmax31214 fma 1 1E15 -0.500001 -> 999999999999999 Inexact Rounded |
|
1896 fmax31215 fma 1 1E15 -0.5000001 -> 999999999999999 Inexact Rounded |
|
1897 fmax31216 fma 1 1E15 -0.50000001 -> 999999999999999 Inexact Rounded |
|
1898 fmax31217 fma 1 1E15 -0.500000001 -> 999999999999999 Inexact Rounded |
|
1899 fmax31218 fma 1 1E15 -0.5000000001 -> 999999999999999 Inexact Rounded |
|
1900 fmax31219 fma 1 1E15 -0.50000000001 -> 999999999999999 Inexact Rounded |
|
1901 fmax31220 fma 1 1E15 -0.500000000001 -> 999999999999999 Inexact Rounded |
|
1902 fmax31221 fma 1 1E15 -0.5000000000001 -> 999999999999999 Inexact Rounded |
|
1903 fmax31222 fma 1 1E15 -0.50000000000001 -> 999999999999999 Inexact Rounded |
|
1904 fmax31223 fma 1 1E15 -0.500000000000001 -> 999999999999999 Inexact Rounded |
|
1905 fmax31224 fma 1 1E15 -0.5000000000000001 -> 999999999999999 Inexact Rounded |
|
1906 fmax31225 fma 1 1E15 -0.5000000000000000 -> 1.00000000000000E+15 Inexact Rounded |
|
1907 fmax31230 fma 1 1E15 -5000000.000000001 -> 999999995000000 Inexact Rounded |
|
1908 |
|
1909 precision: 16 |
|
1910 |
|
1911 fmax31300 fma 1 1E16 -0.5 -> 1.000000000000000E+16 Inexact Rounded |
|
1912 fmax31310 fma 1 1E16 -0.51 -> 9999999999999999 Inexact Rounded |
|
1913 fmax31311 fma 1 1E16 -0.501 -> 9999999999999999 Inexact Rounded |
|
1914 fmax31312 fma 1 1E16 -0.5001 -> 9999999999999999 Inexact Rounded |
|
1915 fmax31313 fma 1 1E16 -0.50001 -> 9999999999999999 Inexact Rounded |
|
1916 fmax31314 fma 1 1E16 -0.500001 -> 9999999999999999 Inexact Rounded |
|
1917 fmax31315 fma 1 1E16 -0.5000001 -> 9999999999999999 Inexact Rounded |
|
1918 fmax31316 fma 1 1E16 -0.50000001 -> 9999999999999999 Inexact Rounded |
|
1919 fmax31317 fma 1 1E16 -0.500000001 -> 9999999999999999 Inexact Rounded |
|
1920 fmax31318 fma 1 1E16 -0.5000000001 -> 9999999999999999 Inexact Rounded |
|
1921 fmax31319 fma 1 1E16 -0.50000000001 -> 9999999999999999 Inexact Rounded |
|
1922 fmax31320 fma 1 1E16 -0.500000000001 -> 9999999999999999 Inexact Rounded |
|
1923 fmax31321 fma 1 1E16 -0.5000000000001 -> 9999999999999999 Inexact Rounded |
|
1924 fmax31322 fma 1 1E16 -0.50000000000001 -> 9999999999999999 Inexact Rounded |
|
1925 fmax31323 fma 1 1E16 -0.500000000000001 -> 9999999999999999 Inexact Rounded |
|
1926 fmax31324 fma 1 1E16 -0.5000000000000001 -> 9999999999999999 Inexact Rounded |
|
1927 fmax31325 fma 1 1E16 -0.5000000000000000 -> 1.000000000000000E+16 Inexact Rounded |
|
1928 fmax31326 fma 1 1E16 -0.500000000000000 -> 1.000000000000000E+16 Inexact Rounded |
|
1929 fmax31327 fma 1 1E16 -0.50000000000000 -> 1.000000000000000E+16 Inexact Rounded |
|
1930 fmax31328 fma 1 1E16 -0.5000000000000 -> 1.000000000000000E+16 Inexact Rounded |
|
1931 fmax31329 fma 1 1E16 -0.500000000000 -> 1.000000000000000E+16 Inexact Rounded |
|
1932 fmax31330 fma 1 1E16 -0.50000000000 -> 1.000000000000000E+16 Inexact Rounded |
|
1933 fmax31331 fma 1 1E16 -0.5000000000 -> 1.000000000000000E+16 Inexact Rounded |
|
1934 fmax31332 fma 1 1E16 -0.500000000 -> 1.000000000000000E+16 Inexact Rounded |
|
1935 fmax31333 fma 1 1E16 -0.50000000 -> 1.000000000000000E+16 Inexact Rounded |
|
1936 fmax31334 fma 1 1E16 -0.5000000 -> 1.000000000000000E+16 Inexact Rounded |
|
1937 fmax31335 fma 1 1E16 -0.500000 -> 1.000000000000000E+16 Inexact Rounded |
|
1938 fmax31336 fma 1 1E16 -0.50000 -> 1.000000000000000E+16 Inexact Rounded |
|
1939 fmax31337 fma 1 1E16 -0.5000 -> 1.000000000000000E+16 Inexact Rounded |
|
1940 fmax31338 fma 1 1E16 -0.500 -> 1.000000000000000E+16 Inexact Rounded |
|
1941 fmax31339 fma 1 1E16 -0.50 -> 1.000000000000000E+16 Inexact Rounded |
|
1942 |
|
1943 fmax31340 fma 1 1E16 -5000000.000010001 -> 9999999995000000 Inexact Rounded |
|
1944 fmax31341 fma 1 1E16 -5000000.000000001 -> 9999999995000000 Inexact Rounded |
|
1945 |
|
1946 fmax31349 fma 1 9999999999999999 0.4 -> 9999999999999999 Inexact Rounded |
|
1947 fmax31350 fma 1 9999999999999999 0.49 -> 9999999999999999 Inexact Rounded |
|
1948 fmax31351 fma 1 9999999999999999 0.499 -> 9999999999999999 Inexact Rounded |
|
1949 fmax31352 fma 1 9999999999999999 0.4999 -> 9999999999999999 Inexact Rounded |
|
1950 fmax31353 fma 1 9999999999999999 0.49999 -> 9999999999999999 Inexact Rounded |
|
1951 fmax31354 fma 1 9999999999999999 0.499999 -> 9999999999999999 Inexact Rounded |
|
1952 fmax31355 fma 1 9999999999999999 0.4999999 -> 9999999999999999 Inexact Rounded |
|
1953 fmax31356 fma 1 9999999999999999 0.49999999 -> 9999999999999999 Inexact Rounded |
|
1954 fmax31357 fma 1 9999999999999999 0.499999999 -> 9999999999999999 Inexact Rounded |
|
1955 fmax31358 fma 1 9999999999999999 0.4999999999 -> 9999999999999999 Inexact Rounded |
|
1956 fmax31359 fma 1 9999999999999999 0.49999999999 -> 9999999999999999 Inexact Rounded |
|
1957 fmax31360 fma 1 9999999999999999 0.499999999999 -> 9999999999999999 Inexact Rounded |
|
1958 fmax31361 fma 1 9999999999999999 0.4999999999999 -> 9999999999999999 Inexact Rounded |
|
1959 fmax31362 fma 1 9999999999999999 0.49999999999999 -> 9999999999999999 Inexact Rounded |
|
1960 fmax31363 fma 1 9999999999999999 0.499999999999999 -> 9999999999999999 Inexact Rounded |
|
1961 fmax31364 fma 1 9999999999999999 0.4999999999999999 -> 9999999999999999 Inexact Rounded |
|
1962 fmax31365 fma 1 9999999999999999 0.5000000000000000 -> 1.000000000000000E+16 Inexact Rounded |
|
1963 fmax31367 fma 1 9999999999999999 0.500000000000000 -> 1.000000000000000E+16 Inexact Rounded |
|
1964 fmax31368 fma 1 9999999999999999 0.50000000000000 -> 1.000000000000000E+16 Inexact Rounded |
|
1965 fmax31369 fma 1 9999999999999999 0.5000000000000 -> 1.000000000000000E+16 Inexact Rounded |
|
1966 fmax31370 fma 1 9999999999999999 0.500000000000 -> 1.000000000000000E+16 Inexact Rounded |
|
1967 fmax31371 fma 1 9999999999999999 0.50000000000 -> 1.000000000000000E+16 Inexact Rounded |
|
1968 fmax31372 fma 1 9999999999999999 0.5000000000 -> 1.000000000000000E+16 Inexact Rounded |
|
1969 fmax31373 fma 1 9999999999999999 0.500000000 -> 1.000000000000000E+16 Inexact Rounded |
|
1970 fmax31374 fma 1 9999999999999999 0.50000000 -> 1.000000000000000E+16 Inexact Rounded |
|
1971 fmax31375 fma 1 9999999999999999 0.5000000 -> 1.000000000000000E+16 Inexact Rounded |
|
1972 fmax31376 fma 1 9999999999999999 0.500000 -> 1.000000000000000E+16 Inexact Rounded |
|
1973 fmax31377 fma 1 9999999999999999 0.50000 -> 1.000000000000000E+16 Inexact Rounded |
|
1974 fmax31378 fma 1 9999999999999999 0.5000 -> 1.000000000000000E+16 Inexact Rounded |
|
1975 fmax31379 fma 1 9999999999999999 0.500 -> 1.000000000000000E+16 Inexact Rounded |
|
1976 fmax31380 fma 1 9999999999999999 0.50 -> 1.000000000000000E+16 Inexact Rounded |
|
1977 fmax31381 fma 1 9999999999999999 0.5 -> 1.000000000000000E+16 Inexact Rounded |
|
1978 fmax31382 fma 1 9999999999999999 0.5000000000000001 -> 1.000000000000000E+16 Inexact Rounded |
|
1979 fmax31383 fma 1 9999999999999999 0.500000000000001 -> 1.000000000000000E+16 Inexact Rounded |
|
1980 fmax31384 fma 1 9999999999999999 0.50000000000001 -> 1.000000000000000E+16 Inexact Rounded |
|
1981 fmax31385 fma 1 9999999999999999 0.5000000000001 -> 1.000000000000000E+16 Inexact Rounded |
|
1982 fmax31386 fma 1 9999999999999999 0.500000000001 -> 1.000000000000000E+16 Inexact Rounded |
|
1983 fmax31387 fma 1 9999999999999999 0.50000000001 -> 1.000000000000000E+16 Inexact Rounded |
|
1984 fmax31388 fma 1 9999999999999999 0.5000000001 -> 1.000000000000000E+16 Inexact Rounded |
|
1985 fmax31389 fma 1 9999999999999999 0.500000001 -> 1.000000000000000E+16 Inexact Rounded |
|
1986 fmax31390 fma 1 9999999999999999 0.50000001 -> 1.000000000000000E+16 Inexact Rounded |
|
1987 fmax31391 fma 1 9999999999999999 0.5000001 -> 1.000000000000000E+16 Inexact Rounded |
|
1988 fmax31392 fma 1 9999999999999999 0.500001 -> 1.000000000000000E+16 Inexact Rounded |
|
1989 fmax31393 fma 1 9999999999999999 0.50001 -> 1.000000000000000E+16 Inexact Rounded |
|
1990 fmax31394 fma 1 9999999999999999 0.5001 -> 1.000000000000000E+16 Inexact Rounded |
|
1991 fmax31395 fma 1 9999999999999999 0.501 -> 1.000000000000000E+16 Inexact Rounded |
|
1992 fmax31396 fma 1 9999999999999999 0.51 -> 1.000000000000000E+16 Inexact Rounded |
|
1993 |
|
1994 -- More GD edge cases, where difference between the unadjusted |
|
1995 -- exponents is larger than the maximum precision and one side is 0 |
|
1996 precision: 15 |
|
1997 rounding: half_up |
|
1998 maxExponent: 384 |
|
1999 minexponent: -383 |
|
2000 |
|
2001 fmax31400 fma 1 0 1.23456789012345 -> 1.23456789012345 |
|
2002 fmax31401 fma 1 0 1.23456789012345E-1 -> 0.123456789012345 |
|
2003 fmax31402 fma 1 0 1.23456789012345E-2 -> 0.0123456789012345 |
|
2004 fmax31403 fma 1 0 1.23456789012345E-3 -> 0.00123456789012345 |
|
2005 fmax31404 fma 1 0 1.23456789012345E-4 -> 0.000123456789012345 |
|
2006 fmax31405 fma 1 0 1.23456789012345E-5 -> 0.0000123456789012345 |
|
2007 fmax31406 fma 1 0 1.23456789012345E-6 -> 0.00000123456789012345 |
|
2008 fmax31407 fma 1 0 1.23456789012345E-7 -> 1.23456789012345E-7 |
|
2009 fmax31408 fma 1 0 1.23456789012345E-8 -> 1.23456789012345E-8 |
|
2010 fmax31409 fma 1 0 1.23456789012345E-9 -> 1.23456789012345E-9 |
|
2011 fmax31410 fma 1 0 1.23456789012345E-10 -> 1.23456789012345E-10 |
|
2012 fmax31411 fma 1 0 1.23456789012345E-11 -> 1.23456789012345E-11 |
|
2013 fmax31412 fma 1 0 1.23456789012345E-12 -> 1.23456789012345E-12 |
|
2014 fmax31413 fma 1 0 1.23456789012345E-13 -> 1.23456789012345E-13 |
|
2015 fmax31414 fma 1 0 1.23456789012345E-14 -> 1.23456789012345E-14 |
|
2016 fmax31415 fma 1 0 1.23456789012345E-15 -> 1.23456789012345E-15 |
|
2017 fmax31416 fma 1 0 1.23456789012345E-16 -> 1.23456789012345E-16 |
|
2018 fmax31417 fma 1 0 1.23456789012345E-17 -> 1.23456789012345E-17 |
|
2019 fmax31418 fma 1 0 1.23456789012345E-18 -> 1.23456789012345E-18 |
|
2020 fmax31419 fma 1 0 1.23456789012345E-19 -> 1.23456789012345E-19 |
|
2021 |
|
2022 -- same, precision 16.. |
|
2023 precision: 16 |
|
2024 fmax31420 fma 1 0 1.123456789012345 -> 1.123456789012345 |
|
2025 fmax31421 fma 1 0 1.123456789012345E-1 -> 0.1123456789012345 |
|
2026 fmax31422 fma 1 0 1.123456789012345E-2 -> 0.01123456789012345 |
|
2027 fmax31423 fma 1 0 1.123456789012345E-3 -> 0.001123456789012345 |
|
2028 fmax31424 fma 1 0 1.123456789012345E-4 -> 0.0001123456789012345 |
|
2029 fmax31425 fma 1 0 1.123456789012345E-5 -> 0.00001123456789012345 |
|
2030 fmax31426 fma 1 0 1.123456789012345E-6 -> 0.000001123456789012345 |
|
2031 fmax31427 fma 1 0 1.123456789012345E-7 -> 1.123456789012345E-7 |
|
2032 fmax31428 fma 1 0 1.123456789012345E-8 -> 1.123456789012345E-8 |
|
2033 fmax31429 fma 1 0 1.123456789012345E-9 -> 1.123456789012345E-9 |
|
2034 fmax31430 fma 1 0 1.123456789012345E-10 -> 1.123456789012345E-10 |
|
2035 fmax31431 fma 1 0 1.123456789012345E-11 -> 1.123456789012345E-11 |
|
2036 fmax31432 fma 1 0 1.123456789012345E-12 -> 1.123456789012345E-12 |
|
2037 fmax31433 fma 1 0 1.123456789012345E-13 -> 1.123456789012345E-13 |
|
2038 fmax31434 fma 1 0 1.123456789012345E-14 -> 1.123456789012345E-14 |
|
2039 fmax31435 fma 1 0 1.123456789012345E-15 -> 1.123456789012345E-15 |
|
2040 fmax31436 fma 1 0 1.123456789012345E-16 -> 1.123456789012345E-16 |
|
2041 fmax31437 fma 1 0 1.123456789012345E-17 -> 1.123456789012345E-17 |
|
2042 fmax31438 fma 1 0 1.123456789012345E-18 -> 1.123456789012345E-18 |
|
2043 fmax31439 fma 1 0 1.123456789012345E-19 -> 1.123456789012345E-19 |
|
2044 |
|
2045 -- same, reversed 0 |
|
2046 fmax31440 fma 1 1.123456789012345 0 -> 1.123456789012345 |
|
2047 fmax31441 fma 1 1.123456789012345E-1 0 -> 0.1123456789012345 |
|
2048 fmax31442 fma 1 1.123456789012345E-2 0 -> 0.01123456789012345 |
|
2049 fmax31443 fma 1 1.123456789012345E-3 0 -> 0.001123456789012345 |
|
2050 fmax31444 fma 1 1.123456789012345E-4 0 -> 0.0001123456789012345 |
|
2051 fmax31445 fma 1 1.123456789012345E-5 0 -> 0.00001123456789012345 |
|
2052 fmax31446 fma 1 1.123456789012345E-6 0 -> 0.000001123456789012345 |
|
2053 fmax31447 fma 1 1.123456789012345E-7 0 -> 1.123456789012345E-7 |
|
2054 fmax31448 fma 1 1.123456789012345E-8 0 -> 1.123456789012345E-8 |
|
2055 fmax31449 fma 1 1.123456789012345E-9 0 -> 1.123456789012345E-9 |
|
2056 fmax31450 fma 1 1.123456789012345E-10 0 -> 1.123456789012345E-10 |
|
2057 fmax31451 fma 1 1.123456789012345E-11 0 -> 1.123456789012345E-11 |
|
2058 fmax31452 fma 1 1.123456789012345E-12 0 -> 1.123456789012345E-12 |
|
2059 fmax31453 fma 1 1.123456789012345E-13 0 -> 1.123456789012345E-13 |
|
2060 fmax31454 fma 1 1.123456789012345E-14 0 -> 1.123456789012345E-14 |
|
2061 fmax31455 fma 1 1.123456789012345E-15 0 -> 1.123456789012345E-15 |
|
2062 fmax31456 fma 1 1.123456789012345E-16 0 -> 1.123456789012345E-16 |
|
2063 fmax31457 fma 1 1.123456789012345E-17 0 -> 1.123456789012345E-17 |
|
2064 fmax31458 fma 1 1.123456789012345E-18 0 -> 1.123456789012345E-18 |
|
2065 fmax31459 fma 1 1.123456789012345E-19 0 -> 1.123456789012345E-19 |
|
2066 |
|
2067 -- same, Es on the 0 |
|
2068 fmax31460 fma 1 1.123456789012345 0E-0 -> 1.123456789012345 |
|
2069 fmax31461 fma 1 1.123456789012345 0E-1 -> 1.123456789012345 |
|
2070 fmax31462 fma 1 1.123456789012345 0E-2 -> 1.123456789012345 |
|
2071 fmax31463 fma 1 1.123456789012345 0E-3 -> 1.123456789012345 |
|
2072 fmax31464 fma 1 1.123456789012345 0E-4 -> 1.123456789012345 |
|
2073 fmax31465 fma 1 1.123456789012345 0E-5 -> 1.123456789012345 |
|
2074 fmax31466 fma 1 1.123456789012345 0E-6 -> 1.123456789012345 |
|
2075 fmax31467 fma 1 1.123456789012345 0E-7 -> 1.123456789012345 |
|
2076 fmax31468 fma 1 1.123456789012345 0E-8 -> 1.123456789012345 |
|
2077 fmax31469 fma 1 1.123456789012345 0E-9 -> 1.123456789012345 |
|
2078 fmax31470 fma 1 1.123456789012345 0E-10 -> 1.123456789012345 |
|
2079 fmax31471 fma 1 1.123456789012345 0E-11 -> 1.123456789012345 |
|
2080 fmax31472 fma 1 1.123456789012345 0E-12 -> 1.123456789012345 |
|
2081 fmax31473 fma 1 1.123456789012345 0E-13 -> 1.123456789012345 |
|
2082 fmax31474 fma 1 1.123456789012345 0E-14 -> 1.123456789012345 |
|
2083 fmax31475 fma 1 1.123456789012345 0E-15 -> 1.123456789012345 |
|
2084 -- next four flag Rounded because the 0 extends the result |
|
2085 fmax31476 fma 1 1.123456789012345 0E-16 -> 1.123456789012345 Rounded |
|
2086 fmax31477 fma 1 1.123456789012345 0E-17 -> 1.123456789012345 Rounded |
|
2087 fmax31478 fma 1 1.123456789012345 0E-18 -> 1.123456789012345 Rounded |
|
2088 fmax31479 fma 1 1.123456789012345 0E-19 -> 1.123456789012345 Rounded |
|
2089 |
|
2090 -- sum of two opposite-sign operands is exactly 0 and floor => -0 |
|
2091 precision: 16 |
|
2092 maxExponent: 384 |
|
2093 minexponent: -383 |
|
2094 |
|
2095 rounding: half_up |
|
2096 -- exact zeros from zeros |
|
2097 fmax31500 fma 1 0 0E-19 -> 0E-19 |
|
2098 fmax31501 fma 1 -0 0E-19 -> 0E-19 |
|
2099 fmax31502 fma 1 0 -0E-19 -> 0E-19 |
|
2100 fmax31503 fma 1 -0 -0E-19 -> -0E-19 |
|
2101 fmax31504 fma 1 0E-400 0E-19 -> 0E-398 Clamped |
|
2102 fmax31505 fma 1 -0E-400 0E-19 -> 0E-398 Clamped |
|
2103 fmax31506 fma 1 0E-400 -0E-19 -> 0E-398 Clamped |
|
2104 fmax31507 fma 1 -0E-400 -0E-19 -> -0E-398 Clamped |
|
2105 -- inexact zeros |
|
2106 fmax31511 fma 1 1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
2107 fmax31512 fma 1 -1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
2108 fmax31513 fma 1 1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
2109 fmax31514 fma 1 -1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
2110 -- some exact zeros from non-zeros |
|
2111 fmax31515 fma 1 1E-401 1E-401 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
2112 fmax31516 fma 1 -1E-401 1E-401 -> 0E-398 Clamped |
|
2113 fmax31517 fma 1 1E-401 -1E-401 -> 0E-398 Clamped |
|
2114 fmax31518 fma 1 -1E-401 -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
2115 |
|
2116 rounding: half_down |
|
2117 -- exact zeros from zeros |
|
2118 fmax31520 fma 1 0 0E-19 -> 0E-19 |
|
2119 fmax31521 fma 1 -0 0E-19 -> 0E-19 |
|
2120 fmax31522 fma 1 0 -0E-19 -> 0E-19 |
|
2121 fmax31523 fma 1 -0 -0E-19 -> -0E-19 |
|
2122 fmax31524 fma 1 0E-400 0E-19 -> 0E-398 Clamped |
|
2123 fmax31525 fma 1 -0E-400 0E-19 -> 0E-398 Clamped |
|
2124 fmax31526 fma 1 0E-400 -0E-19 -> 0E-398 Clamped |
|
2125 fmax31527 fma 1 -0E-400 -0E-19 -> -0E-398 Clamped |
|
2126 -- inexact zeros |
|
2127 fmax31531 fma 1 1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
2128 fmax31532 fma 1 -1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
2129 fmax31533 fma 1 1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
2130 fmax31534 fma 1 -1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
2131 -- some exact zeros from non-zeros |
|
2132 fmax31535 fma 1 1E-401 1E-401 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
2133 fmax31536 fma 1 -1E-401 1E-401 -> 0E-398 Clamped |
|
2134 fmax31537 fma 1 1E-401 -1E-401 -> 0E-398 Clamped |
|
2135 fmax31538 fma 1 -1E-401 -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
2136 |
|
2137 rounding: half_even |
|
2138 -- exact zeros from zeros |
|
2139 fmax31540 fma 1 0 0E-19 -> 0E-19 |
|
2140 fmax31541 fma 1 -0 0E-19 -> 0E-19 |
|
2141 fmax31542 fma 1 0 -0E-19 -> 0E-19 |
|
2142 fmax31543 fma 1 -0 -0E-19 -> -0E-19 |
|
2143 fmax31544 fma 1 0E-400 0E-19 -> 0E-398 Clamped |
|
2144 fmax31545 fma 1 -0E-400 0E-19 -> 0E-398 Clamped |
|
2145 fmax31546 fma 1 0E-400 -0E-19 -> 0E-398 Clamped |
|
2146 fmax31547 fma 1 -0E-400 -0E-19 -> -0E-398 Clamped |
|
2147 -- inexact zeros |
|
2148 fmax31551 fma 1 1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
2149 fmax31552 fma 1 -1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
2150 fmax31553 fma 1 1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
2151 fmax31554 fma 1 -1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
2152 -- some exact zeros from non-zeros |
|
2153 fmax31555 fma 1 1E-401 1E-401 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
2154 fmax31556 fma 1 -1E-401 1E-401 -> 0E-398 Clamped |
|
2155 fmax31557 fma 1 1E-401 -1E-401 -> 0E-398 Clamped |
|
2156 fmax31558 fma 1 -1E-401 -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
2157 |
|
2158 rounding: up |
|
2159 -- exact zeros from zeros |
|
2160 fmax31560 fma 1 0 0E-19 -> 0E-19 |
|
2161 fmax31561 fma 1 -0 0E-19 -> 0E-19 |
|
2162 fmax31562 fma 1 0 -0E-19 -> 0E-19 |
|
2163 fmax31563 fma 1 -0 -0E-19 -> -0E-19 |
|
2164 fmax31564 fma 1 0E-400 0E-19 -> 0E-398 Clamped |
|
2165 fmax31565 fma 1 -0E-400 0E-19 -> 0E-398 Clamped |
|
2166 fmax31566 fma 1 0E-400 -0E-19 -> 0E-398 Clamped |
|
2167 fmax31567 fma 1 -0E-400 -0E-19 -> -0E-398 Clamped |
|
2168 -- inexact zeros |
|
2169 fmax31571 fma 1 1E-401 1E-400 -> 1E-398 Subnormal Inexact Rounded Underflow |
|
2170 fmax31572 fma 1 -1E-401 1E-400 -> 1E-398 Subnormal Inexact Rounded Underflow |
|
2171 fmax31573 fma 1 1E-401 -1E-400 -> -1E-398 Subnormal Inexact Rounded Underflow |
|
2172 fmax31574 fma 1 -1E-401 -1E-400 -> -1E-398 Subnormal Inexact Rounded Underflow |
|
2173 -- some exact zeros from non-zeros |
|
2174 fmax31575 fma 1 1E-401 1E-401 -> 1E-398 Subnormal Inexact Rounded Underflow |
|
2175 fmax31576 fma 1 -1E-401 1E-401 -> 0E-398 Clamped |
|
2176 fmax31577 fma 1 1E-401 -1E-401 -> 0E-398 Clamped |
|
2177 fmax31578 fma 1 -1E-401 -1E-401 -> -1E-398 Subnormal Inexact Rounded Underflow |
|
2178 |
|
2179 rounding: down |
|
2180 -- exact zeros from zeros |
|
2181 fmax31580 fma 1 0 0E-19 -> 0E-19 |
|
2182 fmax31581 fma 1 -0 0E-19 -> 0E-19 |
|
2183 fmax31582 fma 1 0 -0E-19 -> 0E-19 |
|
2184 fmax31583 fma 1 -0 -0E-19 -> -0E-19 |
|
2185 fmax31584 fma 1 0E-400 0E-19 -> 0E-398 Clamped |
|
2186 fmax31585 fma 1 -0E-400 0E-19 -> 0E-398 Clamped |
|
2187 fmax31586 fma 1 0E-400 -0E-19 -> 0E-398 Clamped |
|
2188 fmax31587 fma 1 -0E-400 -0E-19 -> -0E-398 Clamped |
|
2189 -- inexact zeros |
|
2190 fmax31591 fma 1 1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
2191 fmax31592 fma 1 -1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
2192 fmax31593 fma 1 1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
2193 fmax31594 fma 1 -1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
2194 -- some exact zeros from non-zeros |
|
2195 fmax31595 fma 1 1E-401 1E-401 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
2196 fmax31596 fma 1 -1E-401 1E-401 -> 0E-398 Clamped |
|
2197 fmax31597 fma 1 1E-401 -1E-401 -> 0E-398 Clamped |
|
2198 fmax31598 fma 1 -1E-401 -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
2199 |
|
2200 rounding: ceiling |
|
2201 -- exact zeros from zeros |
|
2202 fmax31600 fma 1 0 0E-19 -> 0E-19 |
|
2203 fmax31601 fma 1 -0 0E-19 -> 0E-19 |
|
2204 fmax31602 fma 1 0 -0E-19 -> 0E-19 |
|
2205 fmax31603 fma 1 -0 -0E-19 -> -0E-19 |
|
2206 fmax31604 fma 1 0E-400 0E-19 -> 0E-398 Clamped |
|
2207 fmax31605 fma 1 -0E-400 0E-19 -> 0E-398 Clamped |
|
2208 fmax31606 fma 1 0E-400 -0E-19 -> 0E-398 Clamped |
|
2209 fmax31607 fma 1 -0E-400 -0E-19 -> -0E-398 Clamped |
|
2210 -- inexact zeros |
|
2211 fmax31611 fma 1 1E-401 1E-400 -> 1E-398 Subnormal Inexact Rounded Underflow |
|
2212 fmax31612 fma 1 -1E-401 1E-400 -> 1E-398 Subnormal Inexact Rounded Underflow |
|
2213 fmax31613 fma 1 1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
2214 fmax31614 fma 1 -1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
2215 -- some exact zeros from non-zeros |
|
2216 fmax31615 fma 1 1E-401 1E-401 -> 1E-398 Subnormal Inexact Rounded Underflow |
|
2217 fmax31616 fma 1 -1E-401 1E-401 -> 0E-398 Clamped |
|
2218 fmax31617 fma 1 1E-401 -1E-401 -> 0E-398 Clamped |
|
2219 fmax31618 fma 1 -1E-401 -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
2220 |
|
2221 -- and the extra-special ugly case; unusual minuses marked by -- * |
|
2222 rounding: floor |
|
2223 -- exact zeros from zeros |
|
2224 fmax31620 fma 1 0 0E-19 -> 0E-19 |
|
2225 fmax31621 fma 1 -0 0E-19 -> -0E-19 -- * |
|
2226 fmax31622 fma 1 0 -0E-19 -> -0E-19 -- * |
|
2227 fmax31623 fma 1 -0 -0E-19 -> -0E-19 |
|
2228 fmax31624 fma 1 0E-400 0E-19 -> 0E-398 Clamped |
|
2229 fmax31625 fma 1 -0E-400 0E-19 -> -0E-398 Clamped -- * |
|
2230 fmax31626 fma 1 0E-400 -0E-19 -> -0E-398 Clamped -- * |
|
2231 fmax31627 fma 1 -0E-400 -0E-19 -> -0E-398 Clamped |
|
2232 -- inexact zeros |
|
2233 fmax31631 fma 1 1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
2234 fmax31632 fma 1 -1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
2235 fmax31633 fma 1 1E-401 -1E-400 -> -1E-398 Subnormal Inexact Rounded Underflow |
|
2236 fmax31634 fma 1 -1E-401 -1E-400 -> -1E-398 Subnormal Inexact Rounded Underflow |
|
2237 -- some exact zeros from non-zeros |
|
2238 fmax31635 fma 1 1E-401 1E-401 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
2239 fmax31636 fma 1 -1E-401 1E-401 -> -0E-398 Clamped -- * |
|
2240 fmax31637 fma 1 1E-401 -1E-401 -> -0E-398 Clamped -- * |
|
2241 fmax31638 fma 1 -1E-401 -1E-401 -> -1E-398 Subnormal Inexact Rounded Underflow |
|
2242 |
|
2243 -- BigDecimal problem testcases 2006.01.23 |
|
2244 precision: 16 |
|
2245 maxExponent: 384 |
|
2246 minexponent: -383 |
|
2247 |
|
2248 rounding: down |
|
2249 precision: 7 |
|
2250 fmax31651 fma 1 10001E+2 -2E+1 -> 1.00008E+6 |
|
2251 precision: 6 |
|
2252 fmax31652 fma 1 10001E+2 -2E+1 -> 1.00008E+6 |
|
2253 precision: 5 |
|
2254 fmax31653 fma 1 10001E+2 -2E+1 -> 1.0000E+6 Inexact Rounded |
|
2255 precision: 4 |
|
2256 fmax31654 fma 1 10001E+2 -2E+1 -> 1.000E+6 Inexact Rounded |
|
2257 precision: 3 |
|
2258 fmax31655 fma 1 10001E+2 -2E+1 -> 1.00E+6 Inexact Rounded |
|
2259 precision: 2 |
|
2260 fmax31656 fma 1 10001E+2 -2E+1 -> 1.0E+6 Inexact Rounded |
|
2261 precision: 1 |
|
2262 fmax31657 fma 1 10001E+2 -2E+1 -> 1E+6 Inexact Rounded |
|
2263 |
|
2264 rounding: half_even |
|
2265 precision: 7 |
|
2266 fmax31661 fma 1 10001E+2 -2E+1 -> 1.00008E+6 |
|
2267 precision: 6 |
|
2268 fmax31662 fma 1 10001E+2 -2E+1 -> 1.00008E+6 |
|
2269 precision: 5 |
|
2270 fmax31663 fma 1 10001E+2 -2E+1 -> 1.0001E+6 Inexact Rounded |
|
2271 precision: 4 |
|
2272 fmax31664 fma 1 10001E+2 -2E+1 -> 1.000E+6 Inexact Rounded |
|
2273 precision: 3 |
|
2274 fmax31665 fma 1 10001E+2 -2E+1 -> 1.00E+6 Inexact Rounded |
|
2275 precision: 2 |
|
2276 fmax31666 fma 1 10001E+2 -2E+1 -> 1.0E+6 Inexact Rounded |
|
2277 precision: 1 |
|
2278 fmax31667 fma 1 10001E+2 -2E+1 -> 1E+6 Inexact Rounded |
|
2279 |
|
2280 rounding: up |
|
2281 precision: 7 |
|
2282 fmax31671 fma 1 10001E+2 -2E+1 -> 1.00008E+6 |
|
2283 precision: 6 |
|
2284 fmax31672 fma 1 10001E+2 -2E+1 -> 1.00008E+6 |
|
2285 precision: 5 |
|
2286 fmax31673 fma 1 10001E+2 -2E+1 -> 1.0001E+6 Inexact Rounded |
|
2287 precision: 4 |
|
2288 fmax31674 fma 1 10001E+2 -2E+1 -> 1.001E+6 Inexact Rounded |
|
2289 precision: 3 |
|
2290 fmax31675 fma 1 10001E+2 -2E+1 -> 1.01E+6 Inexact Rounded |
|
2291 precision: 2 |
|
2292 fmax31676 fma 1 10001E+2 -2E+1 -> 1.1E+6 Inexact Rounded |
|
2293 precision: 1 |
|
2294 fmax31677 fma 1 10001E+2 -2E+1 -> 2E+6 Inexact Rounded |
|
2295 |
|
2296 precision: 34 |
|
2297 rounding: half_up |
|
2298 maxExponent: 6144 |
|
2299 minExponent: -6143 |
|
2300 -- Examples from SQL proposal (Krishna Kulkarni) |
|
2301 fmax31701 fma 1 130E-2 120E-2 -> 2.50 |
|
2302 fmax31702 fma 1 130E-2 12E-1 -> 2.50 |
|
2303 fmax31703 fma 1 130E-2 1E0 -> 2.30 |
|
2304 fmax31704 fma 1 1E2 1E4 -> 1.01E+4 |
|
2305 fmax31705 subtract 130E-2 120E-2 -> 0.10 |
|
2306 fmax31706 subtract 130E-2 12E-1 -> 0.10 |
|
2307 fmax31707 subtract 130E-2 1E0 -> 0.30 |
|
2308 fmax31708 subtract 1E2 1E4 -> -9.9E+3 |
|
2309 |
|
2310 ------------------------------------------------------------------------ |
|
2311 -- Same as above, using decimal64 default parameters -- |
|
2312 ------------------------------------------------------------------------ |
|
2313 precision: 16 |
|
2314 rounding: half_even |
|
2315 maxExponent: 384 |
|
2316 minexponent: -383 |
|
2317 |
|
2318 -- [first group are 'quick confidence check'] |
|
2319 fmax36001 fma 1 1 1 -> 2 |
|
2320 fmax36002 fma 1 2 3 -> 5 |
|
2321 fmax36003 fma 1 '5.75' '3.3' -> 9.05 |
|
2322 fmax36004 fma 1 '5' '-3' -> 2 |
|
2323 fmax36005 fma 1 '-5' '-3' -> -8 |
|
2324 fmax36006 fma 1 '-7' '2.5' -> -4.5 |
|
2325 fmax36007 fma 1 '0.7' '0.3' -> 1.0 |
|
2326 fmax36008 fma 1 '1.25' '1.25' -> 2.50 |
|
2327 fmax36009 fma 1 '1.23456789' '1.00000000' -> '2.23456789' |
|
2328 fmax36010 fma 1 '1.23456789' '1.00000011' -> '2.23456800' |
|
2329 |
|
2330 fmax36011 fma 1 '0.44444444444444444' '0.55555555555555555' -> '1.000000000000000' Inexact Rounded |
|
2331 fmax36012 fma 1 '0.44444444444444440' '0.55555555555555555' -> '1.000000000000000' Inexact Rounded |
|
2332 fmax36013 fma 1 '0.44444444444444444' '0.55555555555555550' -> '0.9999999999999999' Inexact Rounded |
|
2333 fmax36014 fma 1 '0.444444444444444449' '0' -> '0.4444444444444444' Inexact Rounded |
|
2334 fmax36015 fma 1 '0.4444444444444444499' '0' -> '0.4444444444444444' Inexact Rounded |
|
2335 fmax36016 fma 1 '0.44444444444444444999' '0' -> '0.4444444444444444' Inexact Rounded |
|
2336 fmax36017 fma 1 '0.44444444444444445000' '0' -> '0.4444444444444444' Inexact Rounded |
|
2337 fmax36018 fma 1 '0.44444444444444445001' '0' -> '0.4444444444444445' Inexact Rounded |
|
2338 fmax36019 fma 1 '0.4444444444444444501' '0' -> '0.4444444444444445' Inexact Rounded |
|
2339 fmax36020 fma 1 '0.444444444444444451' '0' -> '0.4444444444444445' Inexact Rounded |
|
2340 |
|
2341 fmax36021 fma 1 0 1 -> 1 |
|
2342 fmax36022 fma 1 1 1 -> 2 |
|
2343 fmax36023 fma 1 2 1 -> 3 |
|
2344 fmax36024 fma 1 3 1 -> 4 |
|
2345 fmax36025 fma 1 4 1 -> 5 |
|
2346 fmax36026 fma 1 5 1 -> 6 |
|
2347 fmax36027 fma 1 6 1 -> 7 |
|
2348 fmax36028 fma 1 7 1 -> 8 |
|
2349 fmax36029 fma 1 8 1 -> 9 |
|
2350 fmax36030 fma 1 9 1 -> 10 |
|
2351 |
|
2352 -- some carrying effects |
|
2353 fmax36031 fma 1 '0.9998' '0.0000' -> '0.9998' |
|
2354 fmax36032 fma 1 '0.9998' '0.0001' -> '0.9999' |
|
2355 fmax36033 fma 1 '0.9998' '0.0002' -> '1.0000' |
|
2356 fmax36034 fma 1 '0.9998' '0.0003' -> '1.0001' |
|
2357 |
|
2358 fmax36035 fma 1 '70' '10000e+16' -> '1.000000000000000E+20' Inexact Rounded |
|
2359 fmax36036 fma 1 '700' '10000e+16' -> '1.000000000000000E+20' Inexact Rounded |
|
2360 fmax36037 fma 1 '7000' '10000e+16' -> '1.000000000000000E+20' Inexact Rounded |
|
2361 fmax36038 fma 1 '70000' '10000e+16' -> '1.000000000000001E+20' Inexact Rounded |
|
2362 fmax36039 fma 1 '700000' '10000e+16' -> '1.000000000000007E+20' Rounded |
|
2363 |
|
2364 -- symmetry: |
|
2365 fmax36040 fma 1 '10000e+16' '70' -> '1.000000000000000E+20' Inexact Rounded |
|
2366 fmax36041 fma 1 '10000e+16' '700' -> '1.000000000000000E+20' Inexact Rounded |
|
2367 fmax36042 fma 1 '10000e+16' '7000' -> '1.000000000000000E+20' Inexact Rounded |
|
2368 fmax36044 fma 1 '10000e+16' '70000' -> '1.000000000000001E+20' Inexact Rounded |
|
2369 fmax36045 fma 1 '10000e+16' '700000' -> '1.000000000000007E+20' Rounded |
|
2370 |
|
2371 fmax36046 fma 1 '10000e+9' '7' -> '10000000000007' |
|
2372 fmax36047 fma 1 '10000e+9' '70' -> '10000000000070' |
|
2373 fmax36048 fma 1 '10000e+9' '700' -> '10000000000700' |
|
2374 fmax36049 fma 1 '10000e+9' '7000' -> '10000000007000' |
|
2375 fmax36050 fma 1 '10000e+9' '70000' -> '10000000070000' |
|
2376 fmax36051 fma 1 '10000e+9' '700000' -> '10000000700000' |
|
2377 |
|
2378 -- examples from decarith |
|
2379 fmax36053 fma 1 '12' '7.00' -> '19.00' |
|
2380 fmax36054 fma 1 '1.3' '-1.07' -> '0.23' |
|
2381 fmax36055 fma 1 '1.3' '-1.30' -> '0.00' |
|
2382 fmax36056 fma 1 '1.3' '-2.07' -> '-0.77' |
|
2383 fmax36057 fma 1 '1E+2' '1E+4' -> '1.01E+4' |
|
2384 |
|
2385 -- from above |
|
2386 fmax36061 fma 1 1 '0.1' -> '1.1' |
|
2387 fmax36062 fma 1 1 '0.01' -> '1.01' |
|
2388 fmax36063 fma 1 1 '0.001' -> '1.001' |
|
2389 fmax36064 fma 1 1 '0.0001' -> '1.0001' |
|
2390 fmax36065 fma 1 1 '0.00001' -> '1.00001' |
|
2391 fmax36066 fma 1 1 '0.000001' -> '1.000001' |
|
2392 fmax36067 fma 1 1 '0.0000001' -> '1.0000001' |
|
2393 fmax36068 fma 1 1 '0.00000001' -> '1.00000001' |
|
2394 |
|
2395 -- some funny zeros [in case of bad signum] |
|
2396 fmax36070 fma 1 1 0 -> 1 |
|
2397 fmax36071 fma 1 1 0. -> 1 |
|
2398 fmax36072 fma 1 1 .0 -> 1.0 |
|
2399 fmax36073 fma 1 1 0.0 -> 1.0 |
|
2400 fmax36074 fma 1 1 0.00 -> 1.00 |
|
2401 fmax36075 fma 1 0 1 -> 1 |
|
2402 fmax36076 fma 1 0. 1 -> 1 |
|
2403 fmax36077 fma 1 .0 1 -> 1.0 |
|
2404 fmax36078 fma 1 0.0 1 -> 1.0 |
|
2405 fmax36079 fma 1 0.00 1 -> 1.00 |
|
2406 |
|
2407 -- some carries |
|
2408 fmax36080 fma 1 9999999999999998 1 -> 9999999999999999 |
|
2409 fmax36081 fma 1 9999999999999999 1 -> 1.000000000000000E+16 Rounded |
|
2410 fmax36082 fma 1 999999999999999 1 -> 1000000000000000 |
|
2411 fmax36083 fma 1 9999999999999 1 -> 10000000000000 |
|
2412 fmax36084 fma 1 99999999999 1 -> 100000000000 |
|
2413 fmax36085 fma 1 999999999 1 -> 1000000000 |
|
2414 fmax36086 fma 1 9999999 1 -> 10000000 |
|
2415 fmax36087 fma 1 99999 1 -> 100000 |
|
2416 fmax36088 fma 1 999 1 -> 1000 |
|
2417 fmax36089 fma 1 9 1 -> 10 |
|
2418 |
|
2419 |
|
2420 -- more LHS swaps |
|
2421 fmax36090 fma 1 '-56267E-10' 0 -> '-0.0000056267' |
|
2422 fmax36091 fma 1 '-56267E-6' 0 -> '-0.056267' |
|
2423 fmax36092 fma 1 '-56267E-5' 0 -> '-0.56267' |
|
2424 fmax36093 fma 1 '-56267E-4' 0 -> '-5.6267' |
|
2425 fmax36094 fma 1 '-56267E-3' 0 -> '-56.267' |
|
2426 fmax36095 fma 1 '-56267E-2' 0 -> '-562.67' |
|
2427 fmax36096 fma 1 '-56267E-1' 0 -> '-5626.7' |
|
2428 fmax36097 fma 1 '-56267E-0' 0 -> '-56267' |
|
2429 fmax36098 fma 1 '-5E-10' 0 -> '-5E-10' |
|
2430 fmax36099 fma 1 '-5E-7' 0 -> '-5E-7' |
|
2431 fmax36100 fma 1 '-5E-6' 0 -> '-0.000005' |
|
2432 fmax36101 fma 1 '-5E-5' 0 -> '-0.00005' |
|
2433 fmax36102 fma 1 '-5E-4' 0 -> '-0.0005' |
|
2434 fmax36103 fma 1 '-5E-1' 0 -> '-0.5' |
|
2435 fmax36104 fma 1 '-5E0' 0 -> '-5' |
|
2436 fmax36105 fma 1 '-5E1' 0 -> '-50' |
|
2437 fmax36106 fma 1 '-5E5' 0 -> '-500000' |
|
2438 fmax36107 fma 1 '-5E15' 0 -> '-5000000000000000' |
|
2439 fmax36108 fma 1 '-5E16' 0 -> '-5.000000000000000E+16' Rounded |
|
2440 fmax36109 fma 1 '-5E17' 0 -> '-5.000000000000000E+17' Rounded |
|
2441 fmax36110 fma 1 '-5E18' 0 -> '-5.000000000000000E+18' Rounded |
|
2442 fmax36111 fma 1 '-5E100' 0 -> '-5.000000000000000E+100' Rounded |
|
2443 |
|
2444 -- more RHS swaps |
|
2445 fmax36113 fma 1 0 '-56267E-10' -> '-0.0000056267' |
|
2446 fmax36114 fma 1 0 '-56267E-6' -> '-0.056267' |
|
2447 fmax36116 fma 1 0 '-56267E-5' -> '-0.56267' |
|
2448 fmax36117 fma 1 0 '-56267E-4' -> '-5.6267' |
|
2449 fmax36119 fma 1 0 '-56267E-3' -> '-56.267' |
|
2450 fmax36120 fma 1 0 '-56267E-2' -> '-562.67' |
|
2451 fmax36121 fma 1 0 '-56267E-1' -> '-5626.7' |
|
2452 fmax36122 fma 1 0 '-56267E-0' -> '-56267' |
|
2453 fmax36123 fma 1 0 '-5E-10' -> '-5E-10' |
|
2454 fmax36124 fma 1 0 '-5E-7' -> '-5E-7' |
|
2455 fmax36125 fma 1 0 '-5E-6' -> '-0.000005' |
|
2456 fmax36126 fma 1 0 '-5E-5' -> '-0.00005' |
|
2457 fmax36127 fma 1 0 '-5E-4' -> '-0.0005' |
|
2458 fmax36128 fma 1 0 '-5E-1' -> '-0.5' |
|
2459 fmax36129 fma 1 0 '-5E0' -> '-5' |
|
2460 fmax36130 fma 1 0 '-5E1' -> '-50' |
|
2461 fmax36131 fma 1 0 '-5E5' -> '-500000' |
|
2462 fmax36132 fma 1 0 '-5E15' -> '-5000000000000000' |
|
2463 fmax36133 fma 1 0 '-5E16' -> '-5.000000000000000E+16' Rounded |
|
2464 fmax36134 fma 1 0 '-5E17' -> '-5.000000000000000E+17' Rounded |
|
2465 fmax36135 fma 1 0 '-5E18' -> '-5.000000000000000E+18' Rounded |
|
2466 fmax36136 fma 1 0 '-5E100' -> '-5.000000000000000E+100' Rounded |
|
2467 |
|
2468 -- related |
|
2469 fmax36137 fma 1 1 '0E-19' -> '1.000000000000000' Rounded |
|
2470 fmax36138 fma 1 -1 '0E-19' -> '-1.000000000000000' Rounded |
|
2471 fmax36139 fma 1 '0E-19' 1 -> '1.000000000000000' Rounded |
|
2472 fmax36140 fma 1 '0E-19' -1 -> '-1.000000000000000' Rounded |
|
2473 fmax36141 fma 1 1E+11 0.0000 -> '100000000000.0000' |
|
2474 fmax36142 fma 1 1E+11 0.00000 -> '100000000000.0000' Rounded |
|
2475 fmax36143 fma 1 0.000 1E+12 -> '1000000000000.000' |
|
2476 fmax36144 fma 1 0.0000 1E+12 -> '1000000000000.000' Rounded |
|
2477 |
|
2478 -- [some of the next group are really constructor tests] |
|
2479 fmax36146 fma 1 '00.0' 0 -> '0.0' |
|
2480 fmax36147 fma 1 '0.00' 0 -> '0.00' |
|
2481 fmax36148 fma 1 0 '0.00' -> '0.00' |
|
2482 fmax36149 fma 1 0 '00.0' -> '0.0' |
|
2483 fmax36150 fma 1 '00.0' '0.00' -> '0.00' |
|
2484 fmax36151 fma 1 '0.00' '00.0' -> '0.00' |
|
2485 fmax36152 fma 1 '3' '.3' -> '3.3' |
|
2486 fmax36153 fma 1 '3.' '.3' -> '3.3' |
|
2487 fmax36154 fma 1 '3.0' '.3' -> '3.3' |
|
2488 fmax36155 fma 1 '3.00' '.3' -> '3.30' |
|
2489 fmax36156 fma 1 '3' '3' -> '6' |
|
2490 fmax36157 fma 1 '3' '+3' -> '6' |
|
2491 fmax36158 fma 1 '3' '-3' -> '0' |
|
2492 fmax36159 fma 1 '0.3' '-0.3' -> '0.0' |
|
2493 fmax36160 fma 1 '0.03' '-0.03' -> '0.00' |
|
2494 |
|
2495 -- try borderline precision, with carries, etc. |
|
2496 fmax36161 fma 1 '1E+13' '-1' -> '9999999999999' |
|
2497 fmax36162 fma 1 '1E+13' '1.11' -> '10000000000001.11' |
|
2498 fmax36163 fma 1 '1.11' '1E+13' -> '10000000000001.11' |
|
2499 fmax36164 fma 1 '-1' '1E+13' -> '9999999999999' |
|
2500 fmax36165 fma 1 '7E+13' '-1' -> '69999999999999' |
|
2501 fmax36166 fma 1 '7E+13' '1.11' -> '70000000000001.11' |
|
2502 fmax36167 fma 1 '1.11' '7E+13' -> '70000000000001.11' |
|
2503 fmax36168 fma 1 '-1' '7E+13' -> '69999999999999' |
|
2504 |
|
2505 -- 1234567890123456 1234567890123456 1 234567890123456 |
|
2506 fmax36170 fma 1 '0.4444444444444444' '0.5555555555555563' -> '1.000000000000001' Inexact Rounded |
|
2507 fmax36171 fma 1 '0.4444444444444444' '0.5555555555555562' -> '1.000000000000001' Inexact Rounded |
|
2508 fmax36172 fma 1 '0.4444444444444444' '0.5555555555555561' -> '1.000000000000000' Inexact Rounded |
|
2509 fmax36173 fma 1 '0.4444444444444444' '0.5555555555555560' -> '1.000000000000000' Inexact Rounded |
|
2510 fmax36174 fma 1 '0.4444444444444444' '0.5555555555555559' -> '1.000000000000000' Inexact Rounded |
|
2511 fmax36175 fma 1 '0.4444444444444444' '0.5555555555555558' -> '1.000000000000000' Inexact Rounded |
|
2512 fmax36176 fma 1 '0.4444444444444444' '0.5555555555555557' -> '1.000000000000000' Inexact Rounded |
|
2513 fmax36177 fma 1 '0.4444444444444444' '0.5555555555555556' -> '1.000000000000000' Rounded |
|
2514 fmax36178 fma 1 '0.4444444444444444' '0.5555555555555555' -> '0.9999999999999999' |
|
2515 fmax36179 fma 1 '0.4444444444444444' '0.5555555555555554' -> '0.9999999999999998' |
|
2516 fmax36180 fma 1 '0.4444444444444444' '0.5555555555555553' -> '0.9999999999999997' |
|
2517 fmax36181 fma 1 '0.4444444444444444' '0.5555555555555552' -> '0.9999999999999996' |
|
2518 fmax36182 fma 1 '0.4444444444444444' '0.5555555555555551' -> '0.9999999999999995' |
|
2519 fmax36183 fma 1 '0.4444444444444444' '0.5555555555555550' -> '0.9999999999999994' |
|
2520 |
|
2521 -- and some more, including residue effects and different roundings |
|
2522 rounding: half_up |
|
2523 fmax36200 fma 1 '6543210123456789' 0 -> '6543210123456789' |
|
2524 fmax36201 fma 1 '6543210123456789' 0.000000001 -> '6543210123456789' Inexact Rounded |
|
2525 fmax36202 fma 1 '6543210123456789' 0.000001 -> '6543210123456789' Inexact Rounded |
|
2526 fmax36203 fma 1 '6543210123456789' 0.1 -> '6543210123456789' Inexact Rounded |
|
2527 fmax36204 fma 1 '6543210123456789' 0.4 -> '6543210123456789' Inexact Rounded |
|
2528 fmax36205 fma 1 '6543210123456789' 0.49 -> '6543210123456789' Inexact Rounded |
|
2529 fmax36206 fma 1 '6543210123456789' 0.499999 -> '6543210123456789' Inexact Rounded |
|
2530 fmax36207 fma 1 '6543210123456789' 0.499999 -> '6543210123456789' Inexact Rounded |
|
2531 fmax36208 fma 1 '6543210123456789' 0.5 -> '6543210123456790' Inexact Rounded |
|
2532 fmax36209 fma 1 '6543210123456789' 0.500000001 -> '6543210123456790' Inexact Rounded |
|
2533 fmax36210 fma 1 '6543210123456789' 0.500001 -> '6543210123456790' Inexact Rounded |
|
2534 fmax36211 fma 1 '6543210123456789' 0.51 -> '6543210123456790' Inexact Rounded |
|
2535 fmax36212 fma 1 '6543210123456789' 0.6 -> '6543210123456790' Inexact Rounded |
|
2536 fmax36213 fma 1 '6543210123456789' 0.9 -> '6543210123456790' Inexact Rounded |
|
2537 fmax36214 fma 1 '6543210123456789' 0.99999 -> '6543210123456790' Inexact Rounded |
|
2538 fmax36215 fma 1 '6543210123456789' 0.999999 -> '6543210123456790' Inexact Rounded |
|
2539 fmax36216 fma 1 '6543210123456789' 1 -> '6543210123456790' |
|
2540 fmax36217 fma 1 '6543210123456789' 1.000000001 -> '6543210123456790' Inexact Rounded |
|
2541 fmax36218 fma 1 '6543210123456789' 1.00001 -> '6543210123456790' Inexact Rounded |
|
2542 fmax36219 fma 1 '6543210123456789' 1.1 -> '6543210123456790' Inexact Rounded |
|
2543 |
|
2544 rounding: half_even |
|
2545 fmax36220 fma 1 '6543210123456789' 0 -> '6543210123456789' |
|
2546 fmax36221 fma 1 '6543210123456789' 0.000000001 -> '6543210123456789' Inexact Rounded |
|
2547 fmax36222 fma 1 '6543210123456789' 0.000001 -> '6543210123456789' Inexact Rounded |
|
2548 fmax36223 fma 1 '6543210123456789' 0.1 -> '6543210123456789' Inexact Rounded |
|
2549 fmax36224 fma 1 '6543210123456789' 0.4 -> '6543210123456789' Inexact Rounded |
|
2550 fmax36225 fma 1 '6543210123456789' 0.49 -> '6543210123456789' Inexact Rounded |
|
2551 fmax36226 fma 1 '6543210123456789' 0.499999 -> '6543210123456789' Inexact Rounded |
|
2552 fmax36227 fma 1 '6543210123456789' 0.499999 -> '6543210123456789' Inexact Rounded |
|
2553 fmax36228 fma 1 '6543210123456789' 0.5 -> '6543210123456790' Inexact Rounded |
|
2554 fmax36229 fma 1 '6543210123456789' 0.500000001 -> '6543210123456790' Inexact Rounded |
|
2555 fmax36230 fma 1 '6543210123456789' 0.500001 -> '6543210123456790' Inexact Rounded |
|
2556 fmax36231 fma 1 '6543210123456789' 0.51 -> '6543210123456790' Inexact Rounded |
|
2557 fmax36232 fma 1 '6543210123456789' 0.6 -> '6543210123456790' Inexact Rounded |
|
2558 fmax36233 fma 1 '6543210123456789' 0.9 -> '6543210123456790' Inexact Rounded |
|
2559 fmax36234 fma 1 '6543210123456789' 0.99999 -> '6543210123456790' Inexact Rounded |
|
2560 fmax36235 fma 1 '6543210123456789' 0.999999 -> '6543210123456790' Inexact Rounded |
|
2561 fmax36236 fma 1 '6543210123456789' 1 -> '6543210123456790' |
|
2562 fmax36237 fma 1 '6543210123456789' 1.00000001 -> '6543210123456790' Inexact Rounded |
|
2563 fmax36238 fma 1 '6543210123456789' 1.00001 -> '6543210123456790' Inexact Rounded |
|
2564 fmax36239 fma 1 '6543210123456789' 1.1 -> '6543210123456790' Inexact Rounded |
|
2565 -- critical few with even bottom digit... |
|
2566 fmax36240 fma 1 '6543210123456788' 0.499999 -> '6543210123456788' Inexact Rounded |
|
2567 fmax36241 fma 1 '6543210123456788' 0.5 -> '6543210123456788' Inexact Rounded |
|
2568 fmax36242 fma 1 '6543210123456788' 0.500000001 -> '6543210123456789' Inexact Rounded |
|
2569 |
|
2570 rounding: down |
|
2571 fmax36250 fma 1 '6543210123456789' 0 -> '6543210123456789' |
|
2572 fmax36251 fma 1 '6543210123456789' 0.000000001 -> '6543210123456789' Inexact Rounded |
|
2573 fmax36252 fma 1 '6543210123456789' 0.000001 -> '6543210123456789' Inexact Rounded |
|
2574 fmax36253 fma 1 '6543210123456789' 0.1 -> '6543210123456789' Inexact Rounded |
|
2575 fmax36254 fma 1 '6543210123456789' 0.4 -> '6543210123456789' Inexact Rounded |
|
2576 fmax36255 fma 1 '6543210123456789' 0.49 -> '6543210123456789' Inexact Rounded |
|
2577 fmax36256 fma 1 '6543210123456789' 0.499999 -> '6543210123456789' Inexact Rounded |
|
2578 fmax36257 fma 1 '6543210123456789' 0.499999 -> '6543210123456789' Inexact Rounded |
|
2579 fmax36258 fma 1 '6543210123456789' 0.5 -> '6543210123456789' Inexact Rounded |
|
2580 fmax36259 fma 1 '6543210123456789' 0.500000001 -> '6543210123456789' Inexact Rounded |
|
2581 fmax36260 fma 1 '6543210123456789' 0.500001 -> '6543210123456789' Inexact Rounded |
|
2582 fmax36261 fma 1 '6543210123456789' 0.51 -> '6543210123456789' Inexact Rounded |
|
2583 fmax36262 fma 1 '6543210123456789' 0.6 -> '6543210123456789' Inexact Rounded |
|
2584 fmax36263 fma 1 '6543210123456789' 0.9 -> '6543210123456789' Inexact Rounded |
|
2585 fmax36264 fma 1 '6543210123456789' 0.99999 -> '6543210123456789' Inexact Rounded |
|
2586 fmax36265 fma 1 '6543210123456789' 0.999999 -> '6543210123456789' Inexact Rounded |
|
2587 fmax36266 fma 1 '6543210123456789' 1 -> '6543210123456790' |
|
2588 fmax36267 fma 1 '6543210123456789' 1.00000001 -> '6543210123456790' Inexact Rounded |
|
2589 fmax36268 fma 1 '6543210123456789' 1.00001 -> '6543210123456790' Inexact Rounded |
|
2590 fmax36269 fma 1 '6543210123456789' 1.1 -> '6543210123456790' Inexact Rounded |
|
2591 |
|
2592 -- 1 in last place tests |
|
2593 rounding: half_even |
|
2594 fmax36301 fma 1 -1 1 -> 0 |
|
2595 fmax36302 fma 1 0 1 -> 1 |
|
2596 fmax36303 fma 1 1 1 -> 2 |
|
2597 fmax36304 fma 1 12 1 -> 13 |
|
2598 fmax36305 fma 1 98 1 -> 99 |
|
2599 fmax36306 fma 1 99 1 -> 100 |
|
2600 fmax36307 fma 1 100 1 -> 101 |
|
2601 fmax36308 fma 1 101 1 -> 102 |
|
2602 fmax36309 fma 1 -1 -1 -> -2 |
|
2603 fmax36310 fma 1 0 -1 -> -1 |
|
2604 fmax36311 fma 1 1 -1 -> 0 |
|
2605 fmax36312 fma 1 12 -1 -> 11 |
|
2606 fmax36313 fma 1 98 -1 -> 97 |
|
2607 fmax36314 fma 1 99 -1 -> 98 |
|
2608 fmax36315 fma 1 100 -1 -> 99 |
|
2609 fmax36316 fma 1 101 -1 -> 100 |
|
2610 |
|
2611 fmax36321 fma 1 -0.01 0.01 -> 0.00 |
|
2612 fmax36322 fma 1 0.00 0.01 -> 0.01 |
|
2613 fmax36323 fma 1 0.01 0.01 -> 0.02 |
|
2614 fmax36324 fma 1 0.12 0.01 -> 0.13 |
|
2615 fmax36325 fma 1 0.98 0.01 -> 0.99 |
|
2616 fmax36326 fma 1 0.99 0.01 -> 1.00 |
|
2617 fmax36327 fma 1 1.00 0.01 -> 1.01 |
|
2618 fmax36328 fma 1 1.01 0.01 -> 1.02 |
|
2619 fmax36329 fma 1 -0.01 -0.01 -> -0.02 |
|
2620 fmax36330 fma 1 0.00 -0.01 -> -0.01 |
|
2621 fmax36331 fma 1 0.01 -0.01 -> 0.00 |
|
2622 fmax36332 fma 1 0.12 -0.01 -> 0.11 |
|
2623 fmax36333 fma 1 0.98 -0.01 -> 0.97 |
|
2624 fmax36334 fma 1 0.99 -0.01 -> 0.98 |
|
2625 fmax36335 fma 1 1.00 -0.01 -> 0.99 |
|
2626 fmax36336 fma 1 1.01 -0.01 -> 1.00 |
|
2627 |
|
2628 -- some more cases where fma 1 ing 0 affects the coefficient |
|
2629 fmax36340 fma 1 1E+3 0 -> 1000 |
|
2630 fmax36341 fma 1 1E+15 0 -> 1000000000000000 |
|
2631 fmax36342 fma 1 1E+16 0 -> 1.000000000000000E+16 Rounded |
|
2632 fmax36343 fma 1 1E+17 0 -> 1.000000000000000E+17 Rounded |
|
2633 -- which simply follow from these cases ... |
|
2634 fmax36344 fma 1 1E+3 1 -> 1001 |
|
2635 fmax36345 fma 1 1E+15 1 -> 1000000000000001 |
|
2636 fmax36346 fma 1 1E+16 1 -> 1.000000000000000E+16 Inexact Rounded |
|
2637 fmax36347 fma 1 1E+17 1 -> 1.000000000000000E+17 Inexact Rounded |
|
2638 fmax36348 fma 1 1E+3 7 -> 1007 |
|
2639 fmax36349 fma 1 1E+15 7 -> 1000000000000007 |
|
2640 fmax36350 fma 1 1E+16 7 -> 1.000000000000001E+16 Inexact Rounded |
|
2641 fmax36351 fma 1 1E+17 7 -> 1.000000000000000E+17 Inexact Rounded |
|
2642 |
|
2643 -- tryzeros cases |
|
2644 fmax36361 fma 1 0E+50 10000E+1 -> 1.0000E+5 |
|
2645 fmax36362 fma 1 10000E+1 0E-50 -> 100000.0000000000 Rounded |
|
2646 fmax36363 fma 1 10000E+1 10000E-50 -> 100000.0000000000 Rounded Inexact |
|
2647 fmax36364 fma 1 12.34 0e-398 -> 12.34000000000000 Rounded |
|
2648 |
|
2649 -- ulp replacement tests |
|
2650 fmax36400 fma 1 1 77e-14 -> 1.00000000000077 |
|
2651 fmax36401 fma 1 1 77e-15 -> 1.000000000000077 |
|
2652 fmax36402 fma 1 1 77e-16 -> 1.000000000000008 Inexact Rounded |
|
2653 fmax36403 fma 1 1 77e-17 -> 1.000000000000001 Inexact Rounded |
|
2654 fmax36404 fma 1 1 77e-18 -> 1.000000000000000 Inexact Rounded |
|
2655 fmax36405 fma 1 1 77e-19 -> 1.000000000000000 Inexact Rounded |
|
2656 fmax36406 fma 1 1 77e-99 -> 1.000000000000000 Inexact Rounded |
|
2657 |
|
2658 fmax36410 fma 1 10 77e-14 -> 10.00000000000077 |
|
2659 fmax36411 fma 1 10 77e-15 -> 10.00000000000008 Inexact Rounded |
|
2660 fmax36412 fma 1 10 77e-16 -> 10.00000000000001 Inexact Rounded |
|
2661 fmax36413 fma 1 10 77e-17 -> 10.00000000000000 Inexact Rounded |
|
2662 fmax36414 fma 1 10 77e-18 -> 10.00000000000000 Inexact Rounded |
|
2663 fmax36415 fma 1 10 77e-19 -> 10.00000000000000 Inexact Rounded |
|
2664 fmax36416 fma 1 10 77e-99 -> 10.00000000000000 Inexact Rounded |
|
2665 |
|
2666 fmax36420 fma 1 77e-14 1 -> 1.00000000000077 |
|
2667 fmax36421 fma 1 77e-15 1 -> 1.000000000000077 |
|
2668 fmax36422 fma 1 77e-16 1 -> 1.000000000000008 Inexact Rounded |
|
2669 fmax36423 fma 1 77e-17 1 -> 1.000000000000001 Inexact Rounded |
|
2670 fmax36424 fma 1 77e-18 1 -> 1.000000000000000 Inexact Rounded |
|
2671 fmax36425 fma 1 77e-19 1 -> 1.000000000000000 Inexact Rounded |
|
2672 fmax36426 fma 1 77e-99 1 -> 1.000000000000000 Inexact Rounded |
|
2673 |
|
2674 fmax36430 fma 1 77e-14 10 -> 10.00000000000077 |
|
2675 fmax36431 fma 1 77e-15 10 -> 10.00000000000008 Inexact Rounded |
|
2676 fmax36432 fma 1 77e-16 10 -> 10.00000000000001 Inexact Rounded |
|
2677 fmax36433 fma 1 77e-17 10 -> 10.00000000000000 Inexact Rounded |
|
2678 fmax36434 fma 1 77e-18 10 -> 10.00000000000000 Inexact Rounded |
|
2679 fmax36435 fma 1 77e-19 10 -> 10.00000000000000 Inexact Rounded |
|
2680 fmax36436 fma 1 77e-99 10 -> 10.00000000000000 Inexact Rounded |
|
2681 |
|
2682 -- negative ulps |
|
2683 fmax36440 fma 1 1 -77e-14 -> 0.99999999999923 |
|
2684 fmax36441 fma 1 1 -77e-15 -> 0.999999999999923 |
|
2685 fmax36442 fma 1 1 -77e-16 -> 0.9999999999999923 |
|
2686 fmax36443 fma 1 1 -77e-17 -> 0.9999999999999992 Inexact Rounded |
|
2687 fmax36444 fma 1 1 -77e-18 -> 0.9999999999999999 Inexact Rounded |
|
2688 fmax36445 fma 1 1 -77e-19 -> 1.000000000000000 Inexact Rounded |
|
2689 fmax36446 fma 1 1 -77e-99 -> 1.000000000000000 Inexact Rounded |
|
2690 |
|
2691 fmax36450 fma 1 10 -77e-14 -> 9.99999999999923 |
|
2692 fmax36451 fma 1 10 -77e-15 -> 9.999999999999923 |
|
2693 fmax36452 fma 1 10 -77e-16 -> 9.999999999999992 Inexact Rounded |
|
2694 fmax36453 fma 1 10 -77e-17 -> 9.999999999999999 Inexact Rounded |
|
2695 fmax36454 fma 1 10 -77e-18 -> 10.00000000000000 Inexact Rounded |
|
2696 fmax36455 fma 1 10 -77e-19 -> 10.00000000000000 Inexact Rounded |
|
2697 fmax36456 fma 1 10 -77e-99 -> 10.00000000000000 Inexact Rounded |
|
2698 |
|
2699 fmax36460 fma 1 -77e-14 1 -> 0.99999999999923 |
|
2700 fmax36461 fma 1 -77e-15 1 -> 0.999999999999923 |
|
2701 fmax36462 fma 1 -77e-16 1 -> 0.9999999999999923 |
|
2702 fmax36463 fma 1 -77e-17 1 -> 0.9999999999999992 Inexact Rounded |
|
2703 fmax36464 fma 1 -77e-18 1 -> 0.9999999999999999 Inexact Rounded |
|
2704 fmax36465 fma 1 -77e-19 1 -> 1.000000000000000 Inexact Rounded |
|
2705 fmax36466 fma 1 -77e-99 1 -> 1.000000000000000 Inexact Rounded |
|
2706 |
|
2707 fmax36470 fma 1 -77e-14 10 -> 9.99999999999923 |
|
2708 fmax36471 fma 1 -77e-15 10 -> 9.999999999999923 |
|
2709 fmax36472 fma 1 -77e-16 10 -> 9.999999999999992 Inexact Rounded |
|
2710 fmax36473 fma 1 -77e-17 10 -> 9.999999999999999 Inexact Rounded |
|
2711 fmax36474 fma 1 -77e-18 10 -> 10.00000000000000 Inexact Rounded |
|
2712 fmax36475 fma 1 -77e-19 10 -> 10.00000000000000 Inexact Rounded |
|
2713 fmax36476 fma 1 -77e-99 10 -> 10.00000000000000 Inexact Rounded |
|
2714 |
|
2715 -- negative ulps |
|
2716 fmax36480 fma 1 -1 77e-14 -> -0.99999999999923 |
|
2717 fmax36481 fma 1 -1 77e-15 -> -0.999999999999923 |
|
2718 fmax36482 fma 1 -1 77e-16 -> -0.9999999999999923 |
|
2719 fmax36483 fma 1 -1 77e-17 -> -0.9999999999999992 Inexact Rounded |
|
2720 fmax36484 fma 1 -1 77e-18 -> -0.9999999999999999 Inexact Rounded |
|
2721 fmax36485 fma 1 -1 77e-19 -> -1.000000000000000 Inexact Rounded |
|
2722 fmax36486 fma 1 -1 77e-99 -> -1.000000000000000 Inexact Rounded |
|
2723 |
|
2724 fmax36490 fma 1 -10 77e-14 -> -9.99999999999923 |
|
2725 fmax36491 fma 1 -10 77e-15 -> -9.999999999999923 |
|
2726 fmax36492 fma 1 -10 77e-16 -> -9.999999999999992 Inexact Rounded |
|
2727 fmax36493 fma 1 -10 77e-17 -> -9.999999999999999 Inexact Rounded |
|
2728 fmax36494 fma 1 -10 77e-18 -> -10.00000000000000 Inexact Rounded |
|
2729 fmax36495 fma 1 -10 77e-19 -> -10.00000000000000 Inexact Rounded |
|
2730 fmax36496 fma 1 -10 77e-99 -> -10.00000000000000 Inexact Rounded |
|
2731 |
|
2732 fmax36500 fma 1 77e-14 -1 -> -0.99999999999923 |
|
2733 fmax36501 fma 1 77e-15 -1 -> -0.999999999999923 |
|
2734 fmax36502 fma 1 77e-16 -1 -> -0.9999999999999923 |
|
2735 fmax36503 fma 1 77e-17 -1 -> -0.9999999999999992 Inexact Rounded |
|
2736 fmax36504 fma 1 77e-18 -1 -> -0.9999999999999999 Inexact Rounded |
|
2737 fmax36505 fma 1 77e-19 -1 -> -1.000000000000000 Inexact Rounded |
|
2738 fmax36506 fma 1 77e-99 -1 -> -1.000000000000000 Inexact Rounded |
|
2739 |
|
2740 fmax36510 fma 1 77e-14 -10 -> -9.99999999999923 |
|
2741 fmax36511 fma 1 77e-15 -10 -> -9.999999999999923 |
|
2742 fmax36512 fma 1 77e-16 -10 -> -9.999999999999992 Inexact Rounded |
|
2743 fmax36513 fma 1 77e-17 -10 -> -9.999999999999999 Inexact Rounded |
|
2744 fmax36514 fma 1 77e-18 -10 -> -10.00000000000000 Inexact Rounded |
|
2745 fmax36515 fma 1 77e-19 -10 -> -10.00000000000000 Inexact Rounded |
|
2746 fmax36516 fma 1 77e-99 -10 -> -10.00000000000000 Inexact Rounded |
|
2747 |
|
2748 |
|
2749 -- long operands |
|
2750 fmax36521 fma 1 101234562345678000 0 -> 1.012345623456780E+17 Rounded |
|
2751 fmax36522 fma 1 0 101234562345678000 -> 1.012345623456780E+17 Rounded |
|
2752 fmax36523 fma 1 10123456234567800 0 -> 1.012345623456780E+16 Rounded |
|
2753 fmax36524 fma 1 0 10123456234567800 -> 1.012345623456780E+16 Rounded |
|
2754 fmax36525 fma 1 10123456234567890 0 -> 1.012345623456789E+16 Rounded |
|
2755 fmax36526 fma 1 0 10123456234567890 -> 1.012345623456789E+16 Rounded |
|
2756 fmax36527 fma 1 10123456234567891 0 -> 1.012345623456789E+16 Inexact Rounded |
|
2757 fmax36528 fma 1 0 10123456234567891 -> 1.012345623456789E+16 Inexact Rounded |
|
2758 fmax36529 fma 1 101234562345678901 0 -> 1.012345623456789E+17 Inexact Rounded |
|
2759 fmax36530 fma 1 0 101234562345678901 -> 1.012345623456789E+17 Inexact Rounded |
|
2760 fmax36531 fma 1 10123456234567896 0 -> 1.012345623456790E+16 Inexact Rounded |
|
2761 fmax36532 fma 1 0 10123456234567896 -> 1.012345623456790E+16 Inexact Rounded |
|
2762 |
|
2763 -- verify a query |
|
2764 rounding: down |
|
2765 fmax36561 fma 1 1e-398 9.000000000000000E+384 -> 9.000000000000000E+384 Inexact Rounded |
|
2766 fmax36562 fma 1 0 9.000000000000000E+384 -> 9.000000000000000E+384 Rounded |
|
2767 -- and using decimal64 bounds... |
|
2768 rounding: down |
|
2769 fmax36563 fma 1 1e-388 9.000000000000000E+374 -> 9.000000000000000E+374 Inexact Rounded |
|
2770 fmax36564 fma 1 0 9.000000000000000E+374 -> 9.000000000000000E+374 Rounded |
|
2771 |
|
2772 -- more zeros, etc. |
|
2773 rounding: half_even |
|
2774 |
|
2775 fmax36701 fma 1 5.00 1.00E-3 -> 5.00100 |
|
2776 fmax36702 fma 1 00.00 0.000 -> 0.000 |
|
2777 fmax36703 fma 1 00.00 0E-3 -> 0.000 |
|
2778 fmax36704 fma 1 0E-3 00.00 -> 0.000 |
|
2779 |
|
2780 fmax36710 fma 1 0E+3 00.00 -> 0.00 |
|
2781 fmax36711 fma 1 0E+3 00.0 -> 0.0 |
|
2782 fmax36712 fma 1 0E+3 00. -> 0 |
|
2783 fmax36713 fma 1 0E+3 00.E+1 -> 0E+1 |
|
2784 fmax36714 fma 1 0E+3 00.E+2 -> 0E+2 |
|
2785 fmax36715 fma 1 0E+3 00.E+3 -> 0E+3 |
|
2786 fmax36716 fma 1 0E+3 00.E+4 -> 0E+3 |
|
2787 fmax36717 fma 1 0E+3 00.E+5 -> 0E+3 |
|
2788 fmax36718 fma 1 0E+3 -00.0 -> 0.0 |
|
2789 fmax36719 fma 1 0E+3 -00. -> 0 |
|
2790 fmax36731 fma 1 0E+3 -00.E+1 -> 0E+1 |
|
2791 |
|
2792 fmax36720 fma 1 00.00 0E+3 -> 0.00 |
|
2793 fmax36721 fma 1 00.0 0E+3 -> 0.0 |
|
2794 fmax36722 fma 1 00. 0E+3 -> 0 |
|
2795 fmax36723 fma 1 00.E+1 0E+3 -> 0E+1 |
|
2796 fmax36724 fma 1 00.E+2 0E+3 -> 0E+2 |
|
2797 fmax36725 fma 1 00.E+3 0E+3 -> 0E+3 |
|
2798 fmax36726 fma 1 00.E+4 0E+3 -> 0E+3 |
|
2799 fmax36727 fma 1 00.E+5 0E+3 -> 0E+3 |
|
2800 fmax36728 fma 1 -00.00 0E+3 -> 0.00 |
|
2801 fmax36729 fma 1 -00.0 0E+3 -> 0.0 |
|
2802 fmax36730 fma 1 -00. 0E+3 -> 0 |
|
2803 |
|
2804 fmax36732 fma 1 0 0 -> 0 |
|
2805 fmax36733 fma 1 0 -0 -> 0 |
|
2806 fmax36734 fma 1 -0 0 -> 0 |
|
2807 fmax36735 fma 1 -0 -0 -> -0 -- IEEE 854 special case |
|
2808 |
|
2809 fmax36736 fma 1 1 -1 -> 0 |
|
2810 fmax36737 fma 1 -1 -1 -> -2 |
|
2811 fmax36738 fma 1 1 1 -> 2 |
|
2812 fmax36739 fma 1 -1 1 -> 0 |
|
2813 |
|
2814 fmax36741 fma 1 0 -1 -> -1 |
|
2815 fmax36742 fma 1 -0 -1 -> -1 |
|
2816 fmax36743 fma 1 0 1 -> 1 |
|
2817 fmax36744 fma 1 -0 1 -> 1 |
|
2818 fmax36745 fma 1 -1 0 -> -1 |
|
2819 fmax36746 fma 1 -1 -0 -> -1 |
|
2820 fmax36747 fma 1 1 0 -> 1 |
|
2821 fmax36748 fma 1 1 -0 -> 1 |
|
2822 |
|
2823 fmax36751 fma 1 0.0 -1 -> -1.0 |
|
2824 fmax36752 fma 1 -0.0 -1 -> -1.0 |
|
2825 fmax36753 fma 1 0.0 1 -> 1.0 |
|
2826 fmax36754 fma 1 -0.0 1 -> 1.0 |
|
2827 fmax36755 fma 1 -1.0 0 -> -1.0 |
|
2828 fmax36756 fma 1 -1.0 -0 -> -1.0 |
|
2829 fmax36757 fma 1 1.0 0 -> 1.0 |
|
2830 fmax36758 fma 1 1.0 -0 -> 1.0 |
|
2831 |
|
2832 fmax36761 fma 1 0 -1.0 -> -1.0 |
|
2833 fmax36762 fma 1 -0 -1.0 -> -1.0 |
|
2834 fmax36763 fma 1 0 1.0 -> 1.0 |
|
2835 fmax36764 fma 1 -0 1.0 -> 1.0 |
|
2836 fmax36765 fma 1 -1 0.0 -> -1.0 |
|
2837 fmax36766 fma 1 -1 -0.0 -> -1.0 |
|
2838 fmax36767 fma 1 1 0.0 -> 1.0 |
|
2839 fmax36768 fma 1 1 -0.0 -> 1.0 |
|
2840 |
|
2841 fmax36771 fma 1 0.0 -1.0 -> -1.0 |
|
2842 fmax36772 fma 1 -0.0 -1.0 -> -1.0 |
|
2843 fmax36773 fma 1 0.0 1.0 -> 1.0 |
|
2844 fmax36774 fma 1 -0.0 1.0 -> 1.0 |
|
2845 fmax36775 fma 1 -1.0 0.0 -> -1.0 |
|
2846 fmax36776 fma 1 -1.0 -0.0 -> -1.0 |
|
2847 fmax36777 fma 1 1.0 0.0 -> 1.0 |
|
2848 fmax36778 fma 1 1.0 -0.0 -> 1.0 |
|
2849 |
|
2850 -- Specials |
|
2851 fmax36780 fma 1 -Inf -Inf -> -Infinity |
|
2852 fmax36781 fma 1 -Inf -1000 -> -Infinity |
|
2853 fmax36782 fma 1 -Inf -1 -> -Infinity |
|
2854 fmax36783 fma 1 -Inf -0 -> -Infinity |
|
2855 fmax36784 fma 1 -Inf 0 -> -Infinity |
|
2856 fmax36785 fma 1 -Inf 1 -> -Infinity |
|
2857 fmax36786 fma 1 -Inf 1000 -> -Infinity |
|
2858 fmax36787 fma 1 -1000 -Inf -> -Infinity |
|
2859 fmax36788 fma 1 -Inf -Inf -> -Infinity |
|
2860 fmax36789 fma 1 -1 -Inf -> -Infinity |
|
2861 fmax36790 fma 1 -0 -Inf -> -Infinity |
|
2862 fmax36791 fma 1 0 -Inf -> -Infinity |
|
2863 fmax36792 fma 1 1 -Inf -> -Infinity |
|
2864 fmax36793 fma 1 1000 -Inf -> -Infinity |
|
2865 fmax36794 fma 1 Inf -Inf -> NaN Invalid_operation |
|
2866 |
|
2867 fmax36800 fma 1 Inf -Inf -> NaN Invalid_operation |
|
2868 fmax36801 fma 1 Inf -1000 -> Infinity |
|
2869 fmax36802 fma 1 Inf -1 -> Infinity |
|
2870 fmax36803 fma 1 Inf -0 -> Infinity |
|
2871 fmax36804 fma 1 Inf 0 -> Infinity |
|
2872 fmax36805 fma 1 Inf 1 -> Infinity |
|
2873 fmax36806 fma 1 Inf 1000 -> Infinity |
|
2874 fmax36807 fma 1 Inf Inf -> Infinity |
|
2875 fmax36808 fma 1 -1000 Inf -> Infinity |
|
2876 fmax36809 fma 1 -Inf Inf -> NaN Invalid_operation |
|
2877 fmax36810 fma 1 -1 Inf -> Infinity |
|
2878 fmax36811 fma 1 -0 Inf -> Infinity |
|
2879 fmax36812 fma 1 0 Inf -> Infinity |
|
2880 fmax36813 fma 1 1 Inf -> Infinity |
|
2881 fmax36814 fma 1 1000 Inf -> Infinity |
|
2882 fmax36815 fma 1 Inf Inf -> Infinity |
|
2883 |
|
2884 fmax36821 fma 1 NaN -Inf -> NaN |
|
2885 fmax36822 fma 1 NaN -1000 -> NaN |
|
2886 fmax36823 fma 1 NaN -1 -> NaN |
|
2887 fmax36824 fma 1 NaN -0 -> NaN |
|
2888 fmax36825 fma 1 NaN 0 -> NaN |
|
2889 fmax36826 fma 1 NaN 1 -> NaN |
|
2890 fmax36827 fma 1 NaN 1000 -> NaN |
|
2891 fmax36828 fma 1 NaN Inf -> NaN |
|
2892 fmax36829 fma 1 NaN NaN -> NaN |
|
2893 fmax36830 fma 1 -Inf NaN -> NaN |
|
2894 fmax36831 fma 1 -1000 NaN -> NaN |
|
2895 fmax36832 fma 1 -1 NaN -> NaN |
|
2896 fmax36833 fma 1 -0 NaN -> NaN |
|
2897 fmax36834 fma 1 0 NaN -> NaN |
|
2898 fmax36835 fma 1 1 NaN -> NaN |
|
2899 fmax36836 fma 1 1000 NaN -> NaN |
|
2900 fmax36837 fma 1 Inf NaN -> NaN |
|
2901 |
|
2902 fmax36841 fma 1 sNaN -Inf -> NaN Invalid_operation |
|
2903 fmax36842 fma 1 sNaN -1000 -> NaN Invalid_operation |
|
2904 fmax36843 fma 1 sNaN -1 -> NaN Invalid_operation |
|
2905 fmax36844 fma 1 sNaN -0 -> NaN Invalid_operation |
|
2906 fmax36845 fma 1 sNaN 0 -> NaN Invalid_operation |
|
2907 fmax36846 fma 1 sNaN 1 -> NaN Invalid_operation |
|
2908 fmax36847 fma 1 sNaN 1000 -> NaN Invalid_operation |
|
2909 fmax36848 fma 1 sNaN NaN -> NaN Invalid_operation |
|
2910 fmax36849 fma 1 sNaN sNaN -> NaN Invalid_operation |
|
2911 fmax36850 fma 1 NaN sNaN -> NaN Invalid_operation |
|
2912 fmax36851 fma 1 -Inf sNaN -> NaN Invalid_operation |
|
2913 fmax36852 fma 1 -1000 sNaN -> NaN Invalid_operation |
|
2914 fmax36853 fma 1 -1 sNaN -> NaN Invalid_operation |
|
2915 fmax36854 fma 1 -0 sNaN -> NaN Invalid_operation |
|
2916 fmax36855 fma 1 0 sNaN -> NaN Invalid_operation |
|
2917 fmax36856 fma 1 1 sNaN -> NaN Invalid_operation |
|
2918 fmax36857 fma 1 1000 sNaN -> NaN Invalid_operation |
|
2919 fmax36858 fma 1 Inf sNaN -> NaN Invalid_operation |
|
2920 fmax36859 fma 1 NaN sNaN -> NaN Invalid_operation |
|
2921 |
|
2922 -- propagating NaNs |
|
2923 fmax36861 fma 1 NaN1 -Inf -> NaN1 |
|
2924 fmax36862 fma 1 +NaN2 -1000 -> NaN2 |
|
2925 fmax36863 fma 1 NaN3 1000 -> NaN3 |
|
2926 fmax36864 fma 1 NaN4 Inf -> NaN4 |
|
2927 fmax36865 fma 1 NaN5 +NaN6 -> NaN5 |
|
2928 fmax36866 fma 1 -Inf NaN7 -> NaN7 |
|
2929 fmax36867 fma 1 -1000 NaN8 -> NaN8 |
|
2930 fmax36868 fma 1 1000 NaN9 -> NaN9 |
|
2931 fmax36869 fma 1 Inf +NaN10 -> NaN10 |
|
2932 fmax36871 fma 1 sNaN11 -Inf -> NaN11 Invalid_operation |
|
2933 fmax36872 fma 1 sNaN12 -1000 -> NaN12 Invalid_operation |
|
2934 fmax36873 fma 1 sNaN13 1000 -> NaN13 Invalid_operation |
|
2935 fmax36874 fma 1 sNaN14 NaN17 -> NaN14 Invalid_operation |
|
2936 fmax36875 fma 1 sNaN15 sNaN18 -> NaN15 Invalid_operation |
|
2937 fmax36876 fma 1 NaN16 sNaN19 -> NaN19 Invalid_operation |
|
2938 fmax36877 fma 1 -Inf +sNaN20 -> NaN20 Invalid_operation |
|
2939 fmax36878 fma 1 -1000 sNaN21 -> NaN21 Invalid_operation |
|
2940 fmax36879 fma 1 1000 sNaN22 -> NaN22 Invalid_operation |
|
2941 fmax36880 fma 1 Inf sNaN23 -> NaN23 Invalid_operation |
|
2942 fmax36881 fma 1 +NaN25 +sNaN24 -> NaN24 Invalid_operation |
|
2943 fmax36882 fma 1 -NaN26 NaN28 -> -NaN26 |
|
2944 fmax36883 fma 1 -sNaN27 sNaN29 -> -NaN27 Invalid_operation |
|
2945 fmax36884 fma 1 1000 -NaN30 -> -NaN30 |
|
2946 fmax36885 fma 1 1000 -sNaN31 -> -NaN31 Invalid_operation |
|
2947 |
|
2948 -- now the case where we can get underflow but the result is normal |
|
2949 -- [note this can't happen if the operands are also bounded, as we |
|
2950 -- cannot represent 1E-399, for example] |
|
2951 |
|
2952 fmax36571 fma 1 1E-383 0 -> 1E-383 |
|
2953 fmax36572 fma 1 1E-384 0 -> 1E-384 Subnormal |
|
2954 fmax36573 fma 1 1E-383 1E-384 -> 1.1E-383 |
|
2955 fmax36574 subtract 1E-383 1E-384 -> 9E-384 Subnormal |
|
2956 |
|
2957 -- Here we explore the boundary of rounding a subnormal to Nmin |
|
2958 fmax36575 subtract 1E-383 1E-398 -> 9.99999999999999E-384 Subnormal |
|
2959 fmax36576 subtract 1E-383 1E-398 -> 9.99999999999999E-384 Subnormal |
|
2960 fmax36577 subtract 1E-383 1E-399 -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded |
|
2961 fmax36578 subtract 1E-383 1E-400 -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded |
|
2962 fmax36579 subtract 1E-383 1E-401 -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded |
|
2963 fmax36580 subtract 1E-383 1E-402 -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded |
|
2964 |
|
2965 -- check overflow edge case |
|
2966 -- 1234567890123456 |
|
2967 fmax36972 apply 9.999999999999999E+384 -> 9.999999999999999E+384 |
|
2968 fmax36973 fma 1 9.999999999999999E+384 1 -> 9.999999999999999E+384 Inexact Rounded |
|
2969 fmax36974 fma 1 9999999999999999E+369 1 -> 9.999999999999999E+384 Inexact Rounded |
|
2970 fmax36975 fma 1 9999999999999999E+369 1E+369 -> Infinity Overflow Inexact Rounded |
|
2971 fmax36976 fma 1 9999999999999999E+369 9E+368 -> Infinity Overflow Inexact Rounded |
|
2972 fmax36977 fma 1 9999999999999999E+369 8E+368 -> Infinity Overflow Inexact Rounded |
|
2973 fmax36978 fma 1 9999999999999999E+369 7E+368 -> Infinity Overflow Inexact Rounded |
|
2974 fmax36979 fma 1 9999999999999999E+369 6E+368 -> Infinity Overflow Inexact Rounded |
|
2975 fmax36980 fma 1 9999999999999999E+369 5E+368 -> Infinity Overflow Inexact Rounded |
|
2976 fmax36981 fma 1 9999999999999999E+369 4E+368 -> 9.999999999999999E+384 Inexact Rounded |
|
2977 fmax36982 fma 1 9999999999999999E+369 3E+368 -> 9.999999999999999E+384 Inexact Rounded |
|
2978 fmax36983 fma 1 9999999999999999E+369 2E+368 -> 9.999999999999999E+384 Inexact Rounded |
|
2979 fmax36984 fma 1 9999999999999999E+369 1E+368 -> 9.999999999999999E+384 Inexact Rounded |
|
2980 |
|
2981 fmax36985 apply -9.999999999999999E+384 -> -9.999999999999999E+384 |
|
2982 fmax36986 fma 1 -9.999999999999999E+384 -1 -> -9.999999999999999E+384 Inexact Rounded |
|
2983 fmax36987 fma 1 -9999999999999999E+369 -1 -> -9.999999999999999E+384 Inexact Rounded |
|
2984 fmax36988 fma 1 -9999999999999999E+369 -1E+369 -> -Infinity Overflow Inexact Rounded |
|
2985 fmax36989 fma 1 -9999999999999999E+369 -9E+368 -> -Infinity Overflow Inexact Rounded |
|
2986 fmax36990 fma 1 -9999999999999999E+369 -8E+368 -> -Infinity Overflow Inexact Rounded |
|
2987 fmax36991 fma 1 -9999999999999999E+369 -7E+368 -> -Infinity Overflow Inexact Rounded |
|
2988 fmax36992 fma 1 -9999999999999999E+369 -6E+368 -> -Infinity Overflow Inexact Rounded |
|
2989 fmax36993 fma 1 -9999999999999999E+369 -5E+368 -> -Infinity Overflow Inexact Rounded |
|
2990 fmax36994 fma 1 -9999999999999999E+369 -4E+368 -> -9.999999999999999E+384 Inexact Rounded |
|
2991 fmax36995 fma 1 -9999999999999999E+369 -3E+368 -> -9.999999999999999E+384 Inexact Rounded |
|
2992 fmax36996 fma 1 -9999999999999999E+369 -2E+368 -> -9.999999999999999E+384 Inexact Rounded |
|
2993 fmax36997 fma 1 -9999999999999999E+369 -1E+368 -> -9.999999999999999E+384 Inexact Rounded |
|
2994 |
|
2995 -- And for round down full and subnormal results |
|
2996 rounding: down |
|
2997 fmax361100 fma 1 1e+2 -1e-383 -> 99.99999999999999 Rounded Inexact |
|
2998 fmax361101 fma 1 1e+1 -1e-383 -> 9.999999999999999 Rounded Inexact |
|
2999 fmax361103 fma 1 +1 -1e-383 -> 0.9999999999999999 Rounded Inexact |
|
3000 fmax361104 fma 1 1e-1 -1e-383 -> 0.09999999999999999 Rounded Inexact |
|
3001 fmax361105 fma 1 1e-2 -1e-383 -> 0.009999999999999999 Rounded Inexact |
|
3002 fmax361106 fma 1 1e-3 -1e-383 -> 0.0009999999999999999 Rounded Inexact |
|
3003 fmax361107 fma 1 1e-4 -1e-383 -> 0.00009999999999999999 Rounded Inexact |
|
3004 fmax361108 fma 1 1e-5 -1e-383 -> 0.000009999999999999999 Rounded Inexact |
|
3005 fmax361109 fma 1 1e-6 -1e-383 -> 9.999999999999999E-7 Rounded Inexact |
|
3006 |
|
3007 rounding: ceiling |
|
3008 fmax361110 fma 1 -1e+2 +1e-383 -> -99.99999999999999 Rounded Inexact |
|
3009 fmax361111 fma 1 -1e+1 +1e-383 -> -9.999999999999999 Rounded Inexact |
|
3010 fmax361113 fma 1 -1 +1e-383 -> -0.9999999999999999 Rounded Inexact |
|
3011 fmax361114 fma 1 -1e-1 +1e-383 -> -0.09999999999999999 Rounded Inexact |
|
3012 fmax361115 fma 1 -1e-2 +1e-383 -> -0.009999999999999999 Rounded Inexact |
|
3013 fmax361116 fma 1 -1e-3 +1e-383 -> -0.0009999999999999999 Rounded Inexact |
|
3014 fmax361117 fma 1 -1e-4 +1e-383 -> -0.00009999999999999999 Rounded Inexact |
|
3015 fmax361118 fma 1 -1e-5 +1e-383 -> -0.000009999999999999999 Rounded Inexact |
|
3016 fmax361119 fma 1 -1e-6 +1e-383 -> -9.999999999999999E-7 Rounded Inexact |
|
3017 |
|
3018 -- tests based on Gunnar Degnbol's edge case |
|
3019 rounding: half_even |
|
3020 |
|
3021 fmax361300 fma 1 1E16 -0.5 -> 1.000000000000000E+16 Inexact Rounded |
|
3022 fmax361310 fma 1 1E16 -0.51 -> 9999999999999999 Inexact Rounded |
|
3023 fmax361311 fma 1 1E16 -0.501 -> 9999999999999999 Inexact Rounded |
|
3024 fmax361312 fma 1 1E16 -0.5001 -> 9999999999999999 Inexact Rounded |
|
3025 fmax361313 fma 1 1E16 -0.50001 -> 9999999999999999 Inexact Rounded |
|
3026 fmax361314 fma 1 1E16 -0.500001 -> 9999999999999999 Inexact Rounded |
|
3027 fmax361315 fma 1 1E16 -0.5000001 -> 9999999999999999 Inexact Rounded |
|
3028 fmax361316 fma 1 1E16 -0.50000001 -> 9999999999999999 Inexact Rounded |
|
3029 fmax361317 fma 1 1E16 -0.500000001 -> 9999999999999999 Inexact Rounded |
|
3030 fmax361318 fma 1 1E16 -0.5000000001 -> 9999999999999999 Inexact Rounded |
|
3031 fmax361319 fma 1 1E16 -0.50000000001 -> 9999999999999999 Inexact Rounded |
|
3032 fmax361320 fma 1 1E16 -0.500000000001 -> 9999999999999999 Inexact Rounded |
|
3033 fmax361321 fma 1 1E16 -0.5000000000001 -> 9999999999999999 Inexact Rounded |
|
3034 fmax361322 fma 1 1E16 -0.50000000000001 -> 9999999999999999 Inexact Rounded |
|
3035 fmax361323 fma 1 1E16 -0.500000000000001 -> 9999999999999999 Inexact Rounded |
|
3036 fmax361324 fma 1 1E16 -0.5000000000000001 -> 9999999999999999 Inexact Rounded |
|
3037 fmax361325 fma 1 1E16 -0.5000000000000000 -> 1.000000000000000E+16 Inexact Rounded |
|
3038 fmax361326 fma 1 1E16 -0.500000000000000 -> 1.000000000000000E+16 Inexact Rounded |
|
3039 fmax361327 fma 1 1E16 -0.50000000000000 -> 1.000000000000000E+16 Inexact Rounded |
|
3040 fmax361328 fma 1 1E16 -0.5000000000000 -> 1.000000000000000E+16 Inexact Rounded |
|
3041 fmax361329 fma 1 1E16 -0.500000000000 -> 1.000000000000000E+16 Inexact Rounded |
|
3042 fmax361330 fma 1 1E16 -0.50000000000 -> 1.000000000000000E+16 Inexact Rounded |
|
3043 fmax361331 fma 1 1E16 -0.5000000000 -> 1.000000000000000E+16 Inexact Rounded |
|
3044 fmax361332 fma 1 1E16 -0.500000000 -> 1.000000000000000E+16 Inexact Rounded |
|
3045 fmax361333 fma 1 1E16 -0.50000000 -> 1.000000000000000E+16 Inexact Rounded |
|
3046 fmax361334 fma 1 1E16 -0.5000000 -> 1.000000000000000E+16 Inexact Rounded |
|
3047 fmax361335 fma 1 1E16 -0.500000 -> 1.000000000000000E+16 Inexact Rounded |
|
3048 fmax361336 fma 1 1E16 -0.50000 -> 1.000000000000000E+16 Inexact Rounded |
|
3049 fmax361337 fma 1 1E16 -0.5000 -> 1.000000000000000E+16 Inexact Rounded |
|
3050 fmax361338 fma 1 1E16 -0.500 -> 1.000000000000000E+16 Inexact Rounded |
|
3051 fmax361339 fma 1 1E16 -0.50 -> 1.000000000000000E+16 Inexact Rounded |
|
3052 |
|
3053 fmax361340 fma 1 1E16 -5000000.000010001 -> 9999999995000000 Inexact Rounded |
|
3054 fmax361341 fma 1 1E16 -5000000.000000001 -> 9999999995000000 Inexact Rounded |
|
3055 |
|
3056 fmax361349 fma 1 9999999999999999 0.4 -> 9999999999999999 Inexact Rounded |
|
3057 fmax361350 fma 1 9999999999999999 0.49 -> 9999999999999999 Inexact Rounded |
|
3058 fmax361351 fma 1 9999999999999999 0.499 -> 9999999999999999 Inexact Rounded |
|
3059 fmax361352 fma 1 9999999999999999 0.4999 -> 9999999999999999 Inexact Rounded |
|
3060 fmax361353 fma 1 9999999999999999 0.49999 -> 9999999999999999 Inexact Rounded |
|
3061 fmax361354 fma 1 9999999999999999 0.499999 -> 9999999999999999 Inexact Rounded |
|
3062 fmax361355 fma 1 9999999999999999 0.4999999 -> 9999999999999999 Inexact Rounded |
|
3063 fmax361356 fma 1 9999999999999999 0.49999999 -> 9999999999999999 Inexact Rounded |
|
3064 fmax361357 fma 1 9999999999999999 0.499999999 -> 9999999999999999 Inexact Rounded |
|
3065 fmax361358 fma 1 9999999999999999 0.4999999999 -> 9999999999999999 Inexact Rounded |
|
3066 fmax361359 fma 1 9999999999999999 0.49999999999 -> 9999999999999999 Inexact Rounded |
|
3067 fmax361360 fma 1 9999999999999999 0.499999999999 -> 9999999999999999 Inexact Rounded |
|
3068 fmax361361 fma 1 9999999999999999 0.4999999999999 -> 9999999999999999 Inexact Rounded |
|
3069 fmax361362 fma 1 9999999999999999 0.49999999999999 -> 9999999999999999 Inexact Rounded |
|
3070 fmax361363 fma 1 9999999999999999 0.499999999999999 -> 9999999999999999 Inexact Rounded |
|
3071 fmax361364 fma 1 9999999999999999 0.4999999999999999 -> 9999999999999999 Inexact Rounded |
|
3072 fmax361365 fma 1 9999999999999999 0.5000000000000000 -> 1.000000000000000E+16 Inexact Rounded |
|
3073 fmax361367 fma 1 9999999999999999 0.500000000000000 -> 1.000000000000000E+16 Inexact Rounded |
|
3074 fmax361368 fma 1 9999999999999999 0.50000000000000 -> 1.000000000000000E+16 Inexact Rounded |
|
3075 fmax361369 fma 1 9999999999999999 0.5000000000000 -> 1.000000000000000E+16 Inexact Rounded |
|
3076 fmax361370 fma 1 9999999999999999 0.500000000000 -> 1.000000000000000E+16 Inexact Rounded |
|
3077 fmax361371 fma 1 9999999999999999 0.50000000000 -> 1.000000000000000E+16 Inexact Rounded |
|
3078 fmax361372 fma 1 9999999999999999 0.5000000000 -> 1.000000000000000E+16 Inexact Rounded |
|
3079 fmax361373 fma 1 9999999999999999 0.500000000 -> 1.000000000000000E+16 Inexact Rounded |
|
3080 fmax361374 fma 1 9999999999999999 0.50000000 -> 1.000000000000000E+16 Inexact Rounded |
|
3081 fmax361375 fma 1 9999999999999999 0.5000000 -> 1.000000000000000E+16 Inexact Rounded |
|
3082 fmax361376 fma 1 9999999999999999 0.500000 -> 1.000000000000000E+16 Inexact Rounded |
|
3083 fmax361377 fma 1 9999999999999999 0.50000 -> 1.000000000000000E+16 Inexact Rounded |
|
3084 fmax361378 fma 1 9999999999999999 0.5000 -> 1.000000000000000E+16 Inexact Rounded |
|
3085 fmax361379 fma 1 9999999999999999 0.500 -> 1.000000000000000E+16 Inexact Rounded |
|
3086 fmax361380 fma 1 9999999999999999 0.50 -> 1.000000000000000E+16 Inexact Rounded |
|
3087 fmax361381 fma 1 9999999999999999 0.5 -> 1.000000000000000E+16 Inexact Rounded |
|
3088 fmax361382 fma 1 9999999999999999 0.5000000000000001 -> 1.000000000000000E+16 Inexact Rounded |
|
3089 fmax361383 fma 1 9999999999999999 0.500000000000001 -> 1.000000000000000E+16 Inexact Rounded |
|
3090 fmax361384 fma 1 9999999999999999 0.50000000000001 -> 1.000000000000000E+16 Inexact Rounded |
|
3091 fmax361385 fma 1 9999999999999999 0.5000000000001 -> 1.000000000000000E+16 Inexact Rounded |
|
3092 fmax361386 fma 1 9999999999999999 0.500000000001 -> 1.000000000000000E+16 Inexact Rounded |
|
3093 fmax361387 fma 1 9999999999999999 0.50000000001 -> 1.000000000000000E+16 Inexact Rounded |
|
3094 fmax361388 fma 1 9999999999999999 0.5000000001 -> 1.000000000000000E+16 Inexact Rounded |
|
3095 fmax361389 fma 1 9999999999999999 0.500000001 -> 1.000000000000000E+16 Inexact Rounded |
|
3096 fmax361390 fma 1 9999999999999999 0.50000001 -> 1.000000000000000E+16 Inexact Rounded |
|
3097 fmax361391 fma 1 9999999999999999 0.5000001 -> 1.000000000000000E+16 Inexact Rounded |
|
3098 fmax361392 fma 1 9999999999999999 0.500001 -> 1.000000000000000E+16 Inexact Rounded |
|
3099 fmax361393 fma 1 9999999999999999 0.50001 -> 1.000000000000000E+16 Inexact Rounded |
|
3100 fmax361394 fma 1 9999999999999999 0.5001 -> 1.000000000000000E+16 Inexact Rounded |
|
3101 fmax361395 fma 1 9999999999999999 0.501 -> 1.000000000000000E+16 Inexact Rounded |
|
3102 fmax361396 fma 1 9999999999999999 0.51 -> 1.000000000000000E+16 Inexact Rounded |
|
3103 |
|
3104 -- More GD edge cases, where difference between the unadjusted |
|
3105 -- exponents is larger than the maximum precision and one side is 0 |
|
3106 fmax361420 fma 1 0 1.123456789012345 -> 1.123456789012345 |
|
3107 fmax361421 fma 1 0 1.123456789012345E-1 -> 0.1123456789012345 |
|
3108 fmax361422 fma 1 0 1.123456789012345E-2 -> 0.01123456789012345 |
|
3109 fmax361423 fma 1 0 1.123456789012345E-3 -> 0.001123456789012345 |
|
3110 fmax361424 fma 1 0 1.123456789012345E-4 -> 0.0001123456789012345 |
|
3111 fmax361425 fma 1 0 1.123456789012345E-5 -> 0.00001123456789012345 |
|
3112 fmax361426 fma 1 0 1.123456789012345E-6 -> 0.000001123456789012345 |
|
3113 fmax361427 fma 1 0 1.123456789012345E-7 -> 1.123456789012345E-7 |
|
3114 fmax361428 fma 1 0 1.123456789012345E-8 -> 1.123456789012345E-8 |
|
3115 fmax361429 fma 1 0 1.123456789012345E-9 -> 1.123456789012345E-9 |
|
3116 fmax361430 fma 1 0 1.123456789012345E-10 -> 1.123456789012345E-10 |
|
3117 fmax361431 fma 1 0 1.123456789012345E-11 -> 1.123456789012345E-11 |
|
3118 fmax361432 fma 1 0 1.123456789012345E-12 -> 1.123456789012345E-12 |
|
3119 fmax361433 fma 1 0 1.123456789012345E-13 -> 1.123456789012345E-13 |
|
3120 fmax361434 fma 1 0 1.123456789012345E-14 -> 1.123456789012345E-14 |
|
3121 fmax361435 fma 1 0 1.123456789012345E-15 -> 1.123456789012345E-15 |
|
3122 fmax361436 fma 1 0 1.123456789012345E-16 -> 1.123456789012345E-16 |
|
3123 fmax361437 fma 1 0 1.123456789012345E-17 -> 1.123456789012345E-17 |
|
3124 fmax361438 fma 1 0 1.123456789012345E-18 -> 1.123456789012345E-18 |
|
3125 fmax361439 fma 1 0 1.123456789012345E-19 -> 1.123456789012345E-19 |
|
3126 |
|
3127 -- same, reversed 0 |
|
3128 fmax361440 fma 1 1.123456789012345 0 -> 1.123456789012345 |
|
3129 fmax361441 fma 1 1.123456789012345E-1 0 -> 0.1123456789012345 |
|
3130 fmax361442 fma 1 1.123456789012345E-2 0 -> 0.01123456789012345 |
|
3131 fmax361443 fma 1 1.123456789012345E-3 0 -> 0.001123456789012345 |
|
3132 fmax361444 fma 1 1.123456789012345E-4 0 -> 0.0001123456789012345 |
|
3133 fmax361445 fma 1 1.123456789012345E-5 0 -> 0.00001123456789012345 |
|
3134 fmax361446 fma 1 1.123456789012345E-6 0 -> 0.000001123456789012345 |
|
3135 fmax361447 fma 1 1.123456789012345E-7 0 -> 1.123456789012345E-7 |
|
3136 fmax361448 fma 1 1.123456789012345E-8 0 -> 1.123456789012345E-8 |
|
3137 fmax361449 fma 1 1.123456789012345E-9 0 -> 1.123456789012345E-9 |
|
3138 fmax361450 fma 1 1.123456789012345E-10 0 -> 1.123456789012345E-10 |
|
3139 fmax361451 fma 1 1.123456789012345E-11 0 -> 1.123456789012345E-11 |
|
3140 fmax361452 fma 1 1.123456789012345E-12 0 -> 1.123456789012345E-12 |
|
3141 fmax361453 fma 1 1.123456789012345E-13 0 -> 1.123456789012345E-13 |
|
3142 fmax361454 fma 1 1.123456789012345E-14 0 -> 1.123456789012345E-14 |
|
3143 fmax361455 fma 1 1.123456789012345E-15 0 -> 1.123456789012345E-15 |
|
3144 fmax361456 fma 1 1.123456789012345E-16 0 -> 1.123456789012345E-16 |
|
3145 fmax361457 fma 1 1.123456789012345E-17 0 -> 1.123456789012345E-17 |
|
3146 fmax361458 fma 1 1.123456789012345E-18 0 -> 1.123456789012345E-18 |
|
3147 fmax361459 fma 1 1.123456789012345E-19 0 -> 1.123456789012345E-19 |
|
3148 |
|
3149 -- same, Es on the 0 |
|
3150 fmax361460 fma 1 1.123456789012345 0E-0 -> 1.123456789012345 |
|
3151 fmax361461 fma 1 1.123456789012345 0E-1 -> 1.123456789012345 |
|
3152 fmax361462 fma 1 1.123456789012345 0E-2 -> 1.123456789012345 |
|
3153 fmax361463 fma 1 1.123456789012345 0E-3 -> 1.123456789012345 |
|
3154 fmax361464 fma 1 1.123456789012345 0E-4 -> 1.123456789012345 |
|
3155 fmax361465 fma 1 1.123456789012345 0E-5 -> 1.123456789012345 |
|
3156 fmax361466 fma 1 1.123456789012345 0E-6 -> 1.123456789012345 |
|
3157 fmax361467 fma 1 1.123456789012345 0E-7 -> 1.123456789012345 |
|
3158 fmax361468 fma 1 1.123456789012345 0E-8 -> 1.123456789012345 |
|
3159 fmax361469 fma 1 1.123456789012345 0E-9 -> 1.123456789012345 |
|
3160 fmax361470 fma 1 1.123456789012345 0E-10 -> 1.123456789012345 |
|
3161 fmax361471 fma 1 1.123456789012345 0E-11 -> 1.123456789012345 |
|
3162 fmax361472 fma 1 1.123456789012345 0E-12 -> 1.123456789012345 |
|
3163 fmax361473 fma 1 1.123456789012345 0E-13 -> 1.123456789012345 |
|
3164 fmax361474 fma 1 1.123456789012345 0E-14 -> 1.123456789012345 |
|
3165 fmax361475 fma 1 1.123456789012345 0E-15 -> 1.123456789012345 |
|
3166 -- next four flag Rounded because the 0 extends the result |
|
3167 fmax361476 fma 1 1.123456789012345 0E-16 -> 1.123456789012345 Rounded |
|
3168 fmax361477 fma 1 1.123456789012345 0E-17 -> 1.123456789012345 Rounded |
|
3169 fmax361478 fma 1 1.123456789012345 0E-18 -> 1.123456789012345 Rounded |
|
3170 fmax361479 fma 1 1.123456789012345 0E-19 -> 1.123456789012345 Rounded |
|
3171 |
|
3172 -- sum of two opposite-sign operands is exactly 0 and floor => -0 |
|
3173 rounding: half_up |
|
3174 -- exact zeros from zeros |
|
3175 fmax361500 fma 1 0 0E-19 -> 0E-19 |
|
3176 fmax361501 fma 1 -0 0E-19 -> 0E-19 |
|
3177 fmax361502 fma 1 0 -0E-19 -> 0E-19 |
|
3178 fmax361503 fma 1 -0 -0E-19 -> -0E-19 |
|
3179 fmax361504 fma 1 0E-400 0E-19 -> 0E-398 Clamped |
|
3180 fmax361505 fma 1 -0E-400 0E-19 -> 0E-398 Clamped |
|
3181 fmax361506 fma 1 0E-400 -0E-19 -> 0E-398 Clamped |
|
3182 fmax361507 fma 1 -0E-400 -0E-19 -> -0E-398 Clamped |
|
3183 -- inexact zeros |
|
3184 fmax361511 fma 1 1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
3185 fmax361512 fma 1 -1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
3186 fmax361513 fma 1 1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
3187 fmax361514 fma 1 -1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
3188 -- some exact zeros from non-zeros |
|
3189 fmax361515 fma 1 1E-401 1E-401 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
3190 fmax361516 fma 1 -1E-401 1E-401 -> 0E-398 Clamped |
|
3191 fmax361517 fma 1 1E-401 -1E-401 -> 0E-398 Clamped |
|
3192 fmax361518 fma 1 -1E-401 -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
3193 |
|
3194 rounding: half_down |
|
3195 -- exact zeros from zeros |
|
3196 fmax361520 fma 1 0 0E-19 -> 0E-19 |
|
3197 fmax361521 fma 1 -0 0E-19 -> 0E-19 |
|
3198 fmax361522 fma 1 0 -0E-19 -> 0E-19 |
|
3199 fmax361523 fma 1 -0 -0E-19 -> -0E-19 |
|
3200 fmax361524 fma 1 0E-400 0E-19 -> 0E-398 Clamped |
|
3201 fmax361525 fma 1 -0E-400 0E-19 -> 0E-398 Clamped |
|
3202 fmax361526 fma 1 0E-400 -0E-19 -> 0E-398 Clamped |
|
3203 fmax361527 fma 1 -0E-400 -0E-19 -> -0E-398 Clamped |
|
3204 -- inexact zeros |
|
3205 fmax361531 fma 1 1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
3206 fmax361532 fma 1 -1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
3207 fmax361533 fma 1 1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
3208 fmax361534 fma 1 -1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
3209 -- some exact zeros from non-zeros |
|
3210 fmax361535 fma 1 1E-401 1E-401 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
3211 fmax361536 fma 1 -1E-401 1E-401 -> 0E-398 Clamped |
|
3212 fmax361537 fma 1 1E-401 -1E-401 -> 0E-398 Clamped |
|
3213 fmax361538 fma 1 -1E-401 -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
3214 |
|
3215 rounding: half_even |
|
3216 -- exact zeros from zeros |
|
3217 fmax361540 fma 1 0 0E-19 -> 0E-19 |
|
3218 fmax361541 fma 1 -0 0E-19 -> 0E-19 |
|
3219 fmax361542 fma 1 0 -0E-19 -> 0E-19 |
|
3220 fmax361543 fma 1 -0 -0E-19 -> -0E-19 |
|
3221 fmax361544 fma 1 0E-400 0E-19 -> 0E-398 Clamped |
|
3222 fmax361545 fma 1 -0E-400 0E-19 -> 0E-398 Clamped |
|
3223 fmax361546 fma 1 0E-400 -0E-19 -> 0E-398 Clamped |
|
3224 fmax361547 fma 1 -0E-400 -0E-19 -> -0E-398 Clamped |
|
3225 -- inexact zeros |
|
3226 fmax361551 fma 1 1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
3227 fmax361552 fma 1 -1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
3228 fmax361553 fma 1 1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
3229 fmax361554 fma 1 -1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
3230 -- some exact zeros from non-zeros |
|
3231 fmax361555 fma 1 1E-401 1E-401 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
3232 fmax361556 fma 1 -1E-401 1E-401 -> 0E-398 Clamped |
|
3233 fmax361557 fma 1 1E-401 -1E-401 -> 0E-398 Clamped |
|
3234 fmax361558 fma 1 -1E-401 -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
3235 |
|
3236 rounding: up |
|
3237 -- exact zeros from zeros |
|
3238 fmax361560 fma 1 0 0E-19 -> 0E-19 |
|
3239 fmax361561 fma 1 -0 0E-19 -> 0E-19 |
|
3240 fmax361562 fma 1 0 -0E-19 -> 0E-19 |
|
3241 fmax361563 fma 1 -0 -0E-19 -> -0E-19 |
|
3242 fmax361564 fma 1 0E-400 0E-19 -> 0E-398 Clamped |
|
3243 fmax361565 fma 1 -0E-400 0E-19 -> 0E-398 Clamped |
|
3244 fmax361566 fma 1 0E-400 -0E-19 -> 0E-398 Clamped |
|
3245 fmax361567 fma 1 -0E-400 -0E-19 -> -0E-398 Clamped |
|
3246 -- inexact zeros |
|
3247 fmax361571 fma 1 1E-401 1E-400 -> 1E-398 Subnormal Inexact Rounded Underflow |
|
3248 fmax361572 fma 1 -1E-401 1E-400 -> 1E-398 Subnormal Inexact Rounded Underflow |
|
3249 fmax361573 fma 1 1E-401 -1E-400 -> -1E-398 Subnormal Inexact Rounded Underflow |
|
3250 fmax361574 fma 1 -1E-401 -1E-400 -> -1E-398 Subnormal Inexact Rounded Underflow |
|
3251 -- some exact zeros from non-zeros |
|
3252 fmax361575 fma 1 1E-401 1E-401 -> 1E-398 Subnormal Inexact Rounded Underflow |
|
3253 fmax361576 fma 1 -1E-401 1E-401 -> 0E-398 Clamped |
|
3254 fmax361577 fma 1 1E-401 -1E-401 -> 0E-398 Clamped |
|
3255 fmax361578 fma 1 -1E-401 -1E-401 -> -1E-398 Subnormal Inexact Rounded Underflow |
|
3256 |
|
3257 rounding: down |
|
3258 -- exact zeros from zeros |
|
3259 fmax361580 fma 1 0 0E-19 -> 0E-19 |
|
3260 fmax361581 fma 1 -0 0E-19 -> 0E-19 |
|
3261 fmax361582 fma 1 0 -0E-19 -> 0E-19 |
|
3262 fmax361583 fma 1 -0 -0E-19 -> -0E-19 |
|
3263 fmax361584 fma 1 0E-400 0E-19 -> 0E-398 Clamped |
|
3264 fmax361585 fma 1 -0E-400 0E-19 -> 0E-398 Clamped |
|
3265 fmax361586 fma 1 0E-400 -0E-19 -> 0E-398 Clamped |
|
3266 fmax361587 fma 1 -0E-400 -0E-19 -> -0E-398 Clamped |
|
3267 -- inexact zeros |
|
3268 fmax361591 fma 1 1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
3269 fmax361592 fma 1 -1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
3270 fmax361593 fma 1 1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
3271 fmax361594 fma 1 -1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
3272 -- some exact zeros from non-zeros |
|
3273 fmax361595 fma 1 1E-401 1E-401 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
3274 fmax361596 fma 1 -1E-401 1E-401 -> 0E-398 Clamped |
|
3275 fmax361597 fma 1 1E-401 -1E-401 -> 0E-398 Clamped |
|
3276 fmax361598 fma 1 -1E-401 -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
3277 |
|
3278 rounding: ceiling |
|
3279 -- exact zeros from zeros |
|
3280 fmax361600 fma 1 0 0E-19 -> 0E-19 |
|
3281 fmax361601 fma 1 -0 0E-19 -> 0E-19 |
|
3282 fmax361602 fma 1 0 -0E-19 -> 0E-19 |
|
3283 fmax361603 fma 1 -0 -0E-19 -> -0E-19 |
|
3284 fmax361604 fma 1 0E-400 0E-19 -> 0E-398 Clamped |
|
3285 fmax361605 fma 1 -0E-400 0E-19 -> 0E-398 Clamped |
|
3286 fmax361606 fma 1 0E-400 -0E-19 -> 0E-398 Clamped |
|
3287 fmax361607 fma 1 -0E-400 -0E-19 -> -0E-398 Clamped |
|
3288 -- inexact zeros |
|
3289 fmax361611 fma 1 1E-401 1E-400 -> 1E-398 Subnormal Inexact Rounded Underflow |
|
3290 fmax361612 fma 1 -1E-401 1E-400 -> 1E-398 Subnormal Inexact Rounded Underflow |
|
3291 fmax361613 fma 1 1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
3292 fmax361614 fma 1 -1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
3293 -- some exact zeros from non-zeros |
|
3294 fmax361615 fma 1 1E-401 1E-401 -> 1E-398 Subnormal Inexact Rounded Underflow |
|
3295 fmax361616 fma 1 -1E-401 1E-401 -> 0E-398 Clamped |
|
3296 fmax361617 fma 1 1E-401 -1E-401 -> 0E-398 Clamped |
|
3297 fmax361618 fma 1 -1E-401 -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
3298 |
|
3299 -- and the extra-special ugly case; unusual minuses marked by -- * |
|
3300 rounding: floor |
|
3301 -- exact zeros from zeros |
|
3302 fmax361620 fma 1 0 0E-19 -> 0E-19 |
|
3303 fmax361621 fma 1 -0 0E-19 -> -0E-19 -- * |
|
3304 fmax361622 fma 1 0 -0E-19 -> -0E-19 -- * |
|
3305 fmax361623 fma 1 -0 -0E-19 -> -0E-19 |
|
3306 fmax361624 fma 1 0E-400 0E-19 -> 0E-398 Clamped |
|
3307 fmax361625 fma 1 -0E-400 0E-19 -> -0E-398 Clamped -- * |
|
3308 fmax361626 fma 1 0E-400 -0E-19 -> -0E-398 Clamped -- * |
|
3309 fmax361627 fma 1 -0E-400 -0E-19 -> -0E-398 Clamped |
|
3310 -- inexact zeros |
|
3311 fmax361631 fma 1 1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
3312 fmax361632 fma 1 -1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
3313 fmax361633 fma 1 1E-401 -1E-400 -> -1E-398 Subnormal Inexact Rounded Underflow |
|
3314 fmax361634 fma 1 -1E-401 -1E-400 -> -1E-398 Subnormal Inexact Rounded Underflow |
|
3315 -- some exact zeros from non-zeros |
|
3316 fmax361635 fma 1 1E-401 1E-401 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped |
|
3317 fmax361636 fma 1 -1E-401 1E-401 -> -0E-398 Clamped -- * |
|
3318 fmax361637 fma 1 1E-401 -1E-401 -> -0E-398 Clamped -- * |
|
3319 fmax361638 fma 1 -1E-401 -1E-401 -> -1E-398 Subnormal Inexact Rounded Underflow |
|
3320 |
|
3321 -- Examples from SQL proposal (Krishna Kulkarni) |
|
3322 fmax361701 fma 1 130E-2 120E-2 -> 2.50 |
|
3323 fmax361702 fma 1 130E-2 12E-1 -> 2.50 |
|
3324 fmax361703 fma 1 130E-2 1E0 -> 2.30 |
|
3325 fmax361704 fma 1 1E2 1E4 -> 1.01E+4 |
|
3326 fmax361705 subtract 130E-2 120E-2 -> 0.10 |
|
3327 fmax361706 subtract 130E-2 12E-1 -> 0.10 |
|
3328 fmax361707 subtract 130E-2 1E0 -> 0.30 |
|
3329 fmax361708 subtract 1E2 1E4 -> -9.9E+3 |
|
3330 |
|
3331 -- Gappy coefficients; check residue handling even with full coefficient gap |
|
3332 rounding: half_even |
|
3333 |
|
3334 fmax362001 fma 1 1234567890123456 1 -> 1234567890123457 |
|
3335 fmax362002 fma 1 1234567890123456 0.6 -> 1234567890123457 Inexact Rounded |
|
3336 fmax362003 fma 1 1234567890123456 0.06 -> 1234567890123456 Inexact Rounded |
|
3337 fmax362004 fma 1 1234567890123456 6E-3 -> 1234567890123456 Inexact Rounded |
|
3338 fmax362005 fma 1 1234567890123456 6E-4 -> 1234567890123456 Inexact Rounded |
|
3339 fmax362006 fma 1 1234567890123456 6E-5 -> 1234567890123456 Inexact Rounded |
|
3340 fmax362007 fma 1 1234567890123456 6E-6 -> 1234567890123456 Inexact Rounded |
|
3341 fmax362008 fma 1 1234567890123456 6E-7 -> 1234567890123456 Inexact Rounded |
|
3342 fmax362009 fma 1 1234567890123456 6E-8 -> 1234567890123456 Inexact Rounded |
|
3343 fmax362010 fma 1 1234567890123456 6E-9 -> 1234567890123456 Inexact Rounded |
|
3344 fmax362011 fma 1 1234567890123456 6E-10 -> 1234567890123456 Inexact Rounded |
|
3345 fmax362012 fma 1 1234567890123456 6E-11 -> 1234567890123456 Inexact Rounded |
|
3346 fmax362013 fma 1 1234567890123456 6E-12 -> 1234567890123456 Inexact Rounded |
|
3347 fmax362014 fma 1 1234567890123456 6E-13 -> 1234567890123456 Inexact Rounded |
|
3348 fmax362015 fma 1 1234567890123456 6E-14 -> 1234567890123456 Inexact Rounded |
|
3349 fmax362016 fma 1 1234567890123456 6E-15 -> 1234567890123456 Inexact Rounded |
|
3350 fmax362017 fma 1 1234567890123456 6E-16 -> 1234567890123456 Inexact Rounded |
|
3351 fmax362018 fma 1 1234567890123456 6E-17 -> 1234567890123456 Inexact Rounded |
|
3352 fmax362019 fma 1 1234567890123456 6E-18 -> 1234567890123456 Inexact Rounded |
|
3353 fmax362020 fma 1 1234567890123456 6E-19 -> 1234567890123456 Inexact Rounded |
|
3354 fmax362021 fma 1 1234567890123456 6E-20 -> 1234567890123456 Inexact Rounded |
|
3355 |
|
3356 -- widening second argument at gap |
|
3357 fmax362030 fma 1 12345678 1 -> 12345679 |
|
3358 fmax362031 fma 1 12345678 0.1 -> 12345678.1 |
|
3359 fmax362032 fma 1 12345678 0.12 -> 12345678.12 |
|
3360 fmax362033 fma 1 12345678 0.123 -> 12345678.123 |
|
3361 fmax362034 fma 1 12345678 0.1234 -> 12345678.1234 |
|
3362 fmax362035 fma 1 12345678 0.12345 -> 12345678.12345 |
|
3363 fmax362036 fma 1 12345678 0.123456 -> 12345678.123456 |
|
3364 fmax362037 fma 1 12345678 0.1234567 -> 12345678.1234567 |
|
3365 fmax362038 fma 1 12345678 0.12345678 -> 12345678.12345678 |
|
3366 fmax362039 fma 1 12345678 0.123456789 -> 12345678.12345679 Inexact Rounded |
|
3367 fmax362040 fma 1 12345678 0.123456785 -> 12345678.12345678 Inexact Rounded |
|
3368 fmax362041 fma 1 12345678 0.1234567850 -> 12345678.12345678 Inexact Rounded |
|
3369 fmax362042 fma 1 12345678 0.1234567851 -> 12345678.12345679 Inexact Rounded |
|
3370 fmax362043 fma 1 12345678 0.12345678501 -> 12345678.12345679 Inexact Rounded |
|
3371 fmax362044 fma 1 12345678 0.123456785001 -> 12345678.12345679 Inexact Rounded |
|
3372 fmax362045 fma 1 12345678 0.1234567850001 -> 12345678.12345679 Inexact Rounded |
|
3373 fmax362046 fma 1 12345678 0.12345678500001 -> 12345678.12345679 Inexact Rounded |
|
3374 fmax362047 fma 1 12345678 0.123456785000001 -> 12345678.12345679 Inexact Rounded |
|
3375 fmax362048 fma 1 12345678 0.1234567850000001 -> 12345678.12345679 Inexact Rounded |
|
3376 fmax362049 fma 1 12345678 0.1234567850000000 -> 12345678.12345678 Inexact Rounded |
|
3377 -- 90123456 |
|
3378 rounding: half_even |
|
3379 fmax362050 fma 1 12345678 0.0234567750000000 -> 12345678.02345678 Inexact Rounded |
|
3380 fmax362051 fma 1 12345678 0.0034567750000000 -> 12345678.00345678 Inexact Rounded |
|
3381 fmax362052 fma 1 12345678 0.0004567750000000 -> 12345678.00045678 Inexact Rounded |
|
3382 fmax362053 fma 1 12345678 0.0000567750000000 -> 12345678.00005678 Inexact Rounded |
|
3383 fmax362054 fma 1 12345678 0.0000067750000000 -> 12345678.00000678 Inexact Rounded |
|
3384 fmax362055 fma 1 12345678 0.0000007750000000 -> 12345678.00000078 Inexact Rounded |
|
3385 fmax362056 fma 1 12345678 0.0000000750000000 -> 12345678.00000008 Inexact Rounded |
|
3386 fmax362057 fma 1 12345678 0.0000000050000000 -> 12345678.00000000 Inexact Rounded |
|
3387 fmax362060 fma 1 12345678 0.0234567750000001 -> 12345678.02345678 Inexact Rounded |
|
3388 fmax362061 fma 1 12345678 0.0034567750000001 -> 12345678.00345678 Inexact Rounded |
|
3389 fmax362062 fma 1 12345678 0.0004567750000001 -> 12345678.00045678 Inexact Rounded |
|
3390 fmax362063 fma 1 12345678 0.0000567750000001 -> 12345678.00005678 Inexact Rounded |
|
3391 fmax362064 fma 1 12345678 0.0000067750000001 -> 12345678.00000678 Inexact Rounded |
|
3392 fmax362065 fma 1 12345678 0.0000007750000001 -> 12345678.00000078 Inexact Rounded |
|
3393 fmax362066 fma 1 12345678 0.0000000750000001 -> 12345678.00000008 Inexact Rounded |
|
3394 fmax362067 fma 1 12345678 0.0000000050000001 -> 12345678.00000001 Inexact Rounded |
|
3395 -- far-out residues (full coefficient gap is 16+15 digits) |
|
3396 rounding: up |
|
3397 fmax362070 fma 1 12345678 1E-8 -> 12345678.00000001 |
|
3398 fmax362071 fma 1 12345678 1E-9 -> 12345678.00000001 Inexact Rounded |
|
3399 fmax362072 fma 1 12345678 1E-10 -> 12345678.00000001 Inexact Rounded |
|
3400 fmax362073 fma 1 12345678 1E-11 -> 12345678.00000001 Inexact Rounded |
|
3401 fmax362074 fma 1 12345678 1E-12 -> 12345678.00000001 Inexact Rounded |
|
3402 fmax362075 fma 1 12345678 1E-13 -> 12345678.00000001 Inexact Rounded |
|
3403 fmax362076 fma 1 12345678 1E-14 -> 12345678.00000001 Inexact Rounded |
|
3404 fmax362077 fma 1 12345678 1E-15 -> 12345678.00000001 Inexact Rounded |
|
3405 fmax362078 fma 1 12345678 1E-16 -> 12345678.00000001 Inexact Rounded |
|
3406 fmax362079 fma 1 12345678 1E-17 -> 12345678.00000001 Inexact Rounded |
|
3407 fmax362080 fma 1 12345678 1E-18 -> 12345678.00000001 Inexact Rounded |
|
3408 fmax362081 fma 1 12345678 1E-19 -> 12345678.00000001 Inexact Rounded |
|
3409 fmax362082 fma 1 12345678 1E-20 -> 12345678.00000001 Inexact Rounded |
|
3410 fmax362083 fma 1 12345678 1E-25 -> 12345678.00000001 Inexact Rounded |
|
3411 fmax362084 fma 1 12345678 1E-30 -> 12345678.00000001 Inexact Rounded |
|
3412 fmax362085 fma 1 12345678 1E-31 -> 12345678.00000001 Inexact Rounded |
|
3413 fmax362086 fma 1 12345678 1E-32 -> 12345678.00000001 Inexact Rounded |
|
3414 fmax362087 fma 1 12345678 1E-33 -> 12345678.00000001 Inexact Rounded |
|
3415 fmax362088 fma 1 12345678 1E-34 -> 12345678.00000001 Inexact Rounded |
|
3416 fmax362089 fma 1 12345678 1E-35 -> 12345678.00000001 Inexact Rounded |
|
3417 |
|
3418 -- payload decapitate x3 |
|
3419 precision: 5 |
|
3420 fmax363000 fma 1 1 sNaN1234567890 -> NaN67890 Invalid_operation |
|
3421 fmax363001 fma 1 -sNaN1234512345 1 -> -NaN12345 Invalid_operation |
|
3422 fmax363002 fma sNaN1234554321 1 1 -> NaN54321 Invalid_operation |
|
3423 |
|
3424 -- Null tests |
|
3425 fmax39990 fma 1 10 # -> NaN Invalid_operation |
|
3426 fmax39991 fma 1 # 10 -> NaN Invalid_operation |