Update decimal test data to the most recent set from Mike Cowlishaw.
[python.git] / Lib / test / decimaltestdata / ddFMA.decTest
blobf0acfc74d53d138fe3c00fac52f2e167bb10d355
1 ------------------------------------------------------------------------\r
2 -- ddFMA.decTest -- decDouble Fused Multiply Add                      --\r
3 -- Copyright (c) IBM Corporation, 1981, 2008.  All rights reserved.   --\r
4 ------------------------------------------------------------------------\r
5 -- Please see the document "General Decimal Arithmetic Testcases"     --\r
6 -- at http://www2.hursley.ibm.com/decimal for the description of      --\r
7 -- these testcases.                                                   --\r
8 --                                                                    --\r
9 -- These testcases are experimental ('beta' versions), and they       --\r
10 -- may contain errors.  They are offered on an as-is basis.  In       --\r
11 -- particular, achieving the same results as the tests here is not    --\r
12 -- a guarantee that an implementation complies with any Standard      --\r
13 -- or specification.  The tests are not exhaustive.                   --\r
14 --                                                                    --\r
15 -- Please send comments, suggestions, and corrections to the author:  --\r
16 --   Mike Cowlishaw, IBM Fellow                                       --\r
17 --   IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK         --\r
18 --   mfc@uk.ibm.com                                                   --\r
19 ------------------------------------------------------------------------\r
20 version: 2.59\r
22 precision:   16\r
23 maxExponent: 384\r
24 minExponent: -383\r
25 extended:    1\r
26 clamp:       1\r
27 rounding:    half_even\r
29 -- These tests comprese three parts:\r
30 --   1. Sanity checks and other three-operand tests (especially those\r
31 --      where the fused operation makes a difference)\r
32 --   2. Multiply tests (third operand is neutral zero [0E+emax])\r
33 --   3. Addition tests (first operand is 1)\r
34 -- The multiply and addition tests are extensive because FMA may have\r
35 -- its own dedicated multiplication or addition routine(s), and they\r
36 -- also inherently check the left-to-right properties.\r
38 -- Sanity checks\r
39 ddfma0001 fma  1   1   1 ->   2\r
40 ddfma0002 fma  1   1   2 ->   3\r
41 ddfma0003 fma  2   2   3 ->   7\r
42 ddfma0004 fma  9   9   9 ->  90\r
43 ddfma0005 fma -1   1   1 ->   0\r
44 ddfma0006 fma -1   1   2 ->   1\r
45 ddfma0007 fma -2   2   3 ->  -1\r
46 ddfma0008 fma -9   9   9 -> -72\r
47 ddfma0011 fma  1  -1   1 ->   0\r
48 ddfma0012 fma  1  -1   2 ->   1\r
49 ddfma0013 fma  2  -2   3 ->  -1\r
50 ddfma0014 fma  9  -9   9 -> -72\r
51 ddfma0015 fma  1   1  -1 ->   0\r
52 ddfma0016 fma  1   1  -2 ->  -1\r
53 ddfma0017 fma  2   2  -3 ->   1\r
54 ddfma0018 fma  9   9  -9 ->  72\r
56 -- non-integer exacts\r
57 ddfma0100  fma    25.2   63.6   -438  ->  1164.72\r
58 ddfma0101  fma   0.301  0.380    334  ->  334.114380\r
59 ddfma0102  fma    49.2   -4.8   23.3  ->  -212.86\r
60 ddfma0103  fma    4.22  0.079  -94.6  ->  -94.26662\r
61 ddfma0104  fma     903  0.797  0.887  ->  720.578\r
62 ddfma0105  fma    6.13   -161   65.9  ->  -921.03\r
63 ddfma0106  fma    28.2    727   5.45  ->  20506.85\r
64 ddfma0107  fma       4    605    688  ->  3108\r
65 ddfma0108  fma    93.3   0.19  0.226  ->  17.953\r
66 ddfma0109  fma   0.169   -341   5.61  ->  -52.019\r
67 ddfma0110  fma   -72.2     30  -51.2  ->  -2217.2\r
68 ddfma0111  fma  -0.409     13   20.4  ->  15.083\r
69 ddfma0112  fma     317   77.0   19.0  ->  24428.0\r
70 ddfma0113  fma      47   6.58   1.62  ->  310.88\r
71 ddfma0114  fma    1.36  0.984  0.493  ->  1.83124\r
72 ddfma0115  fma    72.7    274   1.56  ->  19921.36\r
73 ddfma0116  fma     335    847     83  ->  283828\r
74 ddfma0117  fma     666  0.247   25.4  ->  189.902\r
75 ddfma0118  fma   -3.87   3.06   78.0  ->  66.1578\r
76 ddfma0119  fma   0.742    192   35.6  ->  178.064\r
77 ddfma0120  fma   -91.6   5.29  0.153  ->  -484.411\r
79 -- cases where result is different from separate multiply + add; each\r
80 -- is preceded by the result of unfused multiply and add\r
81 -- [this is about 20% of all similar  cases in general]\r
82 --                                                                      ->  7.123356429257969E+16\r
83 ddfma0201  fma       27583489.6645      2582471078.04      2593183.42371  ->  7.123356429257970E+16  Inexact Rounded\r
84 --                                                                      ->  22813275328.80506\r
85 ddfma0208  fma        24280.355566      939577.397653        2032.013252  ->  22813275328.80507      Inexact Rounded\r
86 --                                                                      ->  -2.030397734278062E+16\r
87 ddfma0209  fma          7848976432      -2586831.2281      137903.517909  ->  -2.030397734278061E+16 Inexact Rounded\r
88 --                                                                      ->  2040774094814.077\r
89 ddfma0217  fma        56890.388731      35872030.4255      339337.123410  ->  2040774094814.078      Inexact Rounded\r
90 --                                                                      ->  2.714469575205049E+18\r
91 ddfma0220  fma       7533543.57445       360317763928      5073392.31638  ->  2.714469575205050E+18  Inexact Rounded\r
92 --                                                                      ->  1.011676297716716E+19\r
93 ddfma0223  fma       739945255.563      13672312784.1      -994381.53572  ->  1.011676297716715E+19  Inexact Rounded\r
94 --                                                                      ->  -2.914135721455315E+23\r
95 ddfma0224  fma       -413510957218       704729988550       9234162614.0  ->  -2.914135721455314E+23 Inexact Rounded\r
96 --                                                                      ->  2.620119863365786E+17\r
97 ddfma0226  fma        437484.00601       598906432790      894450638.442  ->  2.620119863365787E+17  Inexact Rounded\r
98 --                                                                      ->  1.272647995808178E+19\r
99 ddfma0253  fma         73287556929      173651305.784     -358312568.389  ->  1.272647995808177E+19  Inexact Rounded\r
100 --                                                                      ->  -1.753769320861851E+18\r
101 ddfma0257  fma        203258304486      -8628278.8066      153127.446727  ->  -1.753769320861850E+18 Inexact Rounded\r
102 --                                                                      ->  -1.550737835263346E+17\r
103 ddfma0260  fma       42560533.1774     -3643605282.86       178277.96377  ->  -1.550737835263347E+17 Inexact Rounded\r
104 --                                                                      ->  2.897624620576005E+22\r
105 ddfma0269  fma        142656587375       203118879670       604576103991  ->  2.897624620576004E+22  Inexact Rounded\r
107 -- Cases where multiply would overflow or underflow if separate\r
108 fma0300  fma   9e+384    10   0         -> Infinity  Overflow Inexact Rounded\r
109 fma0301  fma   1e+384    10   0         -> Infinity  Overflow Inexact Rounded\r
110 fma0302  fma   1e+384    10   -1e+384   -> 9.000000000000000E+384  Clamped\r
111 fma0303  fma   1e+384    10   -9e+384   -> 1.000000000000000E+384  Clamped\r
112 -- subnormal etc.\r
113 fma0305  fma   1e-398    0.1  0         -> 0E-398 Underflow Subnormal Inexact Rounded Clamped\r
114 fma0306  fma   1e-398    0.1  1         -> 1.000000000000000 Inexact Rounded\r
115 fma0307  fma   1e-398    0.1  1e-398    -> 1E-398 Underflow Subnormal Inexact Rounded\r
117 -- Infinite combinations\r
118 ddfma0800 fma  Inf   Inf   Inf    ->  Infinity\r
119 ddfma0801 fma  Inf   Inf  -Inf    ->  NaN Invalid_operation\r
120 ddfma0802 fma  Inf  -Inf   Inf    ->  NaN Invalid_operation\r
121 ddfma0803 fma  Inf  -Inf  -Inf    -> -Infinity\r
122 ddfma0804 fma -Inf   Inf   Inf    ->  NaN Invalid_operation\r
123 ddfma0805 fma -Inf   Inf  -Inf    -> -Infinity\r
124 ddfma0806 fma -Inf  -Inf   Inf    ->  Infinity\r
125 ddfma0807 fma -Inf  -Inf  -Inf    ->  NaN Invalid_operation\r
127 -- Triple NaN propagation\r
128 ddfma0900 fma  NaN2  NaN3  NaN5   ->  NaN2\r
129 ddfma0901 fma  0     NaN3  NaN5   ->  NaN3\r
130 ddfma0902 fma  0     0     NaN5   ->  NaN5\r
131 -- first sNaN wins (consider qNaN from earlier sNaN being\r
132 -- overridden by an sNaN in third operand)\r
133 ddfma0903 fma  sNaN1 sNaN2 sNaN3  ->  NaN1 Invalid_operation\r
134 ddfma0904 fma  0     sNaN2 sNaN3  ->  NaN2 Invalid_operation\r
135 ddfma0905 fma  0     0     sNaN3  ->  NaN3 Invalid_operation\r
136 ddfma0906 fma  sNaN1 sNaN2 sNaN3  ->  NaN1 Invalid_operation\r
137 ddfma0907 fma  NaN7  sNaN2 sNaN3  ->  NaN2 Invalid_operation\r
138 ddfma0908 fma  NaN7  NaN5  sNaN3  ->  NaN3 Invalid_operation\r
140 -- MULTIPLICATION TESTS ------------------------------------------------\r
142 -- sanity checks\r
143 ddfma2000 fma  2      2   0e+384  ->  4\r
144 ddfma2001 fma  2      3   0e+384  ->  6\r
145 ddfma2002 fma  5      1   0e+384  ->  5\r
146 ddfma2003 fma  5      2   0e+384  ->  10\r
147 ddfma2004 fma  1.20   2   0e+384  ->  2.40\r
148 ddfma2005 fma  1.20   0   0e+384  ->  0.00\r
149 ddfma2006 fma  1.20  -2   0e+384  ->  -2.40\r
150 ddfma2007 fma  -1.20  2   0e+384  ->  -2.40\r
151 ddfma2008 fma  -1.20  0   0e+384  ->  0.00\r
152 ddfma2009 fma  -1.20 -2   0e+384  ->  2.40\r
153 ddfma2010 fma  5.09 7.1   0e+384  ->  36.139\r
154 ddfma2011 fma  2.5    4   0e+384  ->  10.0\r
155 ddfma2012 fma  2.50   4   0e+384  ->  10.00\r
156 ddfma2013 fma  1.23456789 1.00000000   0e+384  ->  1.234567890000000 Rounded\r
157 ddfma2015 fma  2.50   4   0e+384  ->  10.00\r
158 ddfma2016 fma   9.999999999  9.999999999   0e+384  ->   99.99999998000000 Inexact Rounded\r
159 ddfma2017 fma   9.999999999 -9.999999999   0e+384  ->  -99.99999998000000 Inexact Rounded\r
160 ddfma2018 fma  -9.999999999  9.999999999   0e+384  ->  -99.99999998000000 Inexact Rounded\r
161 ddfma2019 fma  -9.999999999 -9.999999999   0e+384  ->   99.99999998000000 Inexact Rounded\r
163 -- zeros, etc.\r
164 ddfma2021 fma   0      0       0e+384  ->   0\r
165 ddfma2022 fma   0     -0       0e+384  ->   0\r
166 ddfma2023 fma  -0      0       0e+384  ->   0\r
167 ddfma2024 fma  -0     -0       0e+384  ->   0\r
168 ddfma2025 fma  -0.0   -0.0     0e+384  ->   0.00\r
169 ddfma2026 fma  -0.0   -0.0     0e+384  ->   0.00\r
170 ddfma2027 fma  -0.0   -0.0     0e+384  ->   0.00\r
171 ddfma2028 fma  -0.0   -0.0     0e+384  ->   0.00\r
172 ddfma2030 fma   5.00   1E-3    0e+384  ->   0.00500\r
173 ddfma2031 fma   00.00  0.000   0e+384  ->   0.00000\r
174 ddfma2032 fma   00.00  0E-3    0e+384  ->   0.00000     -- rhs is 0\r
175 ddfma2033 fma   0E-3   00.00   0e+384  ->   0.00000     -- lhs is 0\r
176 ddfma2034 fma  -5.00   1E-3    0e+384  ->  -0.00500\r
177 ddfma2035 fma  -00.00  0.000   0e+384  ->   0.00000\r
178 ddfma2036 fma  -00.00  0E-3    0e+384  ->   0.00000     -- rhs is 0\r
179 ddfma2037 fma  -0E-3   00.00   0e+384  ->   0.00000     -- lhs is 0\r
180 ddfma2038 fma   5.00  -1E-3    0e+384  ->  -0.00500\r
181 ddfma2039 fma   00.00 -0.000   0e+384  ->   0.00000\r
182 ddfma2040 fma   00.00 -0E-3    0e+384  ->   0.00000     -- rhs is 0\r
183 ddfma2041 fma   0E-3  -00.00   0e+384  ->   0.00000     -- lhs is 0\r
184 ddfma2042 fma  -5.00  -1E-3    0e+384  ->   0.00500\r
185 ddfma2043 fma  -00.00 -0.000   0e+384  ->   0.00000\r
186 ddfma2044 fma  -00.00 -0E-3    0e+384  ->   0.00000     -- rhs is 0\r
187 ddfma2045 fma  -0E-3  -00.00  -0e+384  ->   0.00000     -- lhs is 0\r
188 ddfma2046 fma  -0E-3   00.00  -0e+384  ->  -0.00000\r
189 ddfma2047 fma   0E-3  -00.00  -0e+384  ->  -0.00000\r
190 ddfma2048 fma   0E-3   00.00  -0e+384  ->   0.00000\r
192 -- examples from decarith\r
193 ddfma2050 fma  1.20 3          0e+384  ->  3.60\r
194 ddfma2051 fma  7    3          0e+384  ->  21\r
195 ddfma2052 fma  0.9  0.8        0e+384  ->  0.72\r
196 ddfma2053 fma  0.9  -0         0e+384  ->  0.0\r
197 ddfma2054 fma  654321 654321   0e+384  ->  428135971041\r
199 ddfma2060 fma  123.45 1e7    0e+384  ->   1.2345E+9\r
200 ddfma2061 fma  123.45 1e8    0e+384  ->   1.2345E+10\r
201 ddfma2062 fma  123.45 1e+9   0e+384  ->   1.2345E+11\r
202 ddfma2063 fma  123.45 1e10   0e+384  ->   1.2345E+12\r
203 ddfma2064 fma  123.45 1e11   0e+384  ->   1.2345E+13\r
204 ddfma2065 fma  123.45 1e12   0e+384  ->   1.2345E+14\r
205 ddfma2066 fma  123.45 1e13   0e+384  ->   1.2345E+15\r
208 -- test some intermediate lengths\r
209 --                    1234567890123456\r
210 ddfma2080 fma  0.1 1230123456456789       0e+384  ->  123012345645678.9\r
211 ddfma2084 fma  0.1 1230123456456789       0e+384  ->  123012345645678.9\r
212 ddfma2090 fma  1230123456456789     0.1   0e+384  ->  123012345645678.9\r
213 ddfma2094 fma  1230123456456789     0.1   0e+384  ->  123012345645678.9\r
215 -- test some more edge cases and carries\r
216 ddfma2101 fma  9 9     0e+384  ->  81\r
217 ddfma2102 fma  9 90     0e+384  ->  810\r
218 ddfma2103 fma  9 900     0e+384  ->  8100\r
219 ddfma2104 fma  9 9000     0e+384  ->  81000\r
220 ddfma2105 fma  9 90000     0e+384  ->  810000\r
221 ddfma2106 fma  9 900000     0e+384  ->  8100000\r
222 ddfma2107 fma  9 9000000     0e+384  ->  81000000\r
223 ddfma2108 fma  9 90000000     0e+384  ->  810000000\r
224 ddfma2109 fma  9 900000000     0e+384  ->  8100000000\r
225 ddfma2110 fma  9 9000000000     0e+384  ->  81000000000\r
226 ddfma2111 fma  9 90000000000     0e+384  ->  810000000000\r
227 ddfma2112 fma  9 900000000000     0e+384  ->  8100000000000\r
228 ddfma2113 fma  9 9000000000000     0e+384  ->  81000000000000\r
229 ddfma2114 fma  9 90000000000000     0e+384  ->  810000000000000\r
230 ddfma2115 fma  9 900000000000000     0e+384  ->  8100000000000000\r
231 --ddfma2116 fma  9 9000000000000000     0e+384  ->  81000000000000000\r
232 --ddfma2117 fma  9 90000000000000000     0e+384  ->  810000000000000000\r
233 --ddfma2118 fma  9 900000000000000000     0e+384  ->  8100000000000000000\r
234 --ddfma2119 fma  9 9000000000000000000     0e+384  ->  81000000000000000000\r
235 --ddfma2120 fma  9 90000000000000000000     0e+384  ->  810000000000000000000\r
236 --ddfma2121 fma  9 900000000000000000000     0e+384  ->  8100000000000000000000\r
237 --ddfma2122 fma  9 9000000000000000000000     0e+384  ->  81000000000000000000000\r
238 --ddfma2123 fma  9 90000000000000000000000     0e+384  ->  810000000000000000000000\r
239 -- test some more edge cases without carries\r
240 ddfma2131 fma  3 3     0e+384  ->  9\r
241 ddfma2132 fma  3 30     0e+384  ->  90\r
242 ddfma2133 fma  3 300     0e+384  ->  900\r
243 ddfma2134 fma  3 3000     0e+384  ->  9000\r
244 ddfma2135 fma  3 30000     0e+384  ->  90000\r
245 ddfma2136 fma  3 300000     0e+384  ->  900000\r
246 ddfma2137 fma  3 3000000     0e+384  ->  9000000\r
247 ddfma2138 fma  3 30000000     0e+384  ->  90000000\r
248 ddfma2139 fma  3 300000000     0e+384  ->  900000000\r
249 ddfma2140 fma  3 3000000000     0e+384  ->  9000000000\r
250 ddfma2141 fma  3 30000000000     0e+384  ->  90000000000\r
251 ddfma2142 fma  3 300000000000     0e+384  ->  900000000000\r
252 ddfma2143 fma  3 3000000000000     0e+384  ->  9000000000000\r
253 ddfma2144 fma  3 30000000000000     0e+384  ->  90000000000000\r
254 ddfma2145 fma  3 300000000000000     0e+384  ->  900000000000000\r
256 -- test some edge cases with exact rounding\r
257 ddfma2301 fma  9 9     0e+384  ->  81\r
258 ddfma2302 fma  9 90     0e+384  ->  810\r
259 ddfma2303 fma  9 900     0e+384  ->  8100\r
260 ddfma2304 fma  9 9000     0e+384  ->  81000\r
261 ddfma2305 fma  9 90000     0e+384  ->  810000\r
262 ddfma2306 fma  9 900000     0e+384  ->  8100000\r
263 ddfma2307 fma  9 9000000     0e+384  ->  81000000\r
264 ddfma2308 fma  9 90000000     0e+384  ->  810000000\r
265 ddfma2309 fma  9 900000000     0e+384  ->  8100000000\r
266 ddfma2310 fma  9 9000000000     0e+384  ->  81000000000\r
267 ddfma2311 fma  9 90000000000     0e+384  ->  810000000000\r
268 ddfma2312 fma  9 900000000000     0e+384  ->  8100000000000\r
269 ddfma2313 fma  9 9000000000000     0e+384  ->  81000000000000\r
270 ddfma2314 fma  9 90000000000000     0e+384  ->  810000000000000\r
271 ddfma2315 fma  9 900000000000000     0e+384  ->  8100000000000000\r
272 ddfma2316 fma  9 9000000000000000     0e+384  ->  8.100000000000000E+16  Rounded\r
273 ddfma2317 fma  90 9000000000000000     0e+384  ->  8.100000000000000E+17  Rounded\r
274 ddfma2318 fma  900 9000000000000000     0e+384  ->  8.100000000000000E+18  Rounded\r
275 ddfma2319 fma  9000 9000000000000000     0e+384  ->  8.100000000000000E+19  Rounded\r
276 ddfma2320 fma  90000 9000000000000000     0e+384  ->  8.100000000000000E+20  Rounded\r
277 ddfma2321 fma  900000 9000000000000000     0e+384  ->  8.100000000000000E+21  Rounded\r
278 ddfma2322 fma  9000000 9000000000000000     0e+384  ->  8.100000000000000E+22  Rounded\r
279 ddfma2323 fma  90000000 9000000000000000     0e+384  ->  8.100000000000000E+23  Rounded\r
281 -- tryzeros cases\r
282 ddfma2504  fma   0E-260 1000E-260    0e+384  ->  0E-398 Clamped\r
283 ddfma2505  fma   100E+260 0E+260     0e+384  ->  0E+369 Clamped\r
285 -- mixed with zeros\r
286 ddfma2541 fma   0    -1       0e+384  ->   0\r
287 ddfma2542 fma  -0    -1       0e+384  ->   0\r
288 ddfma2543 fma   0     1       0e+384  ->   0\r
289 ddfma2544 fma  -0     1       0e+384  ->   0\r
290 ddfma2545 fma  -1     0       0e+384  ->   0\r
291 ddfma2546 fma  -1    -0       0e+384  ->   0\r
292 ddfma2547 fma   1     0       0e+384  ->   0\r
293 ddfma2548 fma   1    -0       0e+384  ->   0\r
295 ddfma2551 fma   0.0  -1       0e+384  ->   0.0\r
296 ddfma2552 fma  -0.0  -1       0e+384  ->   0.0\r
297 ddfma2553 fma   0.0   1       0e+384  ->   0.0\r
298 ddfma2554 fma  -0.0   1       0e+384  ->   0.0\r
299 ddfma2555 fma  -1.0   0       0e+384  ->   0.0\r
300 ddfma2556 fma  -1.0  -0       0e+384  ->   0.0\r
301 ddfma2557 fma   1.0   0       0e+384  ->   0.0\r
302 ddfma2558 fma   1.0  -0       0e+384  ->   0.0\r
304 ddfma2561 fma   0    -1.0     0e+384  ->   0.0\r
305 ddfma2562 fma  -0    -1.0     0e+384  ->   0.0\r
306 ddfma2563 fma   0     1.0     0e+384  ->   0.0\r
307 ddfma2564 fma  -0     1.0     0e+384  ->   0.0\r
308 ddfma2565 fma  -1     0.0     0e+384  ->   0.0\r
309 ddfma2566 fma  -1    -0.0     0e+384  ->   0.0\r
310 ddfma2567 fma   1     0.0     0e+384  ->   0.0\r
311 ddfma2568 fma   1    -0.0     0e+384  ->   0.0\r
313 ddfma2571 fma   0.0  -1.0     0e+384  ->   0.00\r
314 ddfma2572 fma  -0.0  -1.0     0e+384  ->   0.00\r
315 ddfma2573 fma   0.0   1.0     0e+384  ->   0.00\r
316 ddfma2574 fma  -0.0   1.0     0e+384  ->   0.00\r
317 ddfma2575 fma  -1.0   0.0     0e+384  ->   0.00\r
318 ddfma2576 fma  -1.0  -0.0     0e+384  ->   0.00\r
319 ddfma2577 fma   1.0   0.0     0e+384  ->   0.00\r
320 ddfma2578 fma   1.0  -0.0     0e+384  ->   0.00\r
322 -- Specials\r
323 ddfma2580 fma   Inf  -Inf     0e+384  ->  -Infinity\r
324 ddfma2581 fma   Inf  -1000    0e+384  ->  -Infinity\r
325 ddfma2582 fma   Inf  -1       0e+384  ->  -Infinity\r
326 ddfma2583 fma   Inf  -0       0e+384  ->   NaN  Invalid_operation\r
327 ddfma2584 fma   Inf   0       0e+384  ->   NaN  Invalid_operation\r
328 ddfma2585 fma   Inf   1       0e+384  ->   Infinity\r
329 ddfma2586 fma   Inf   1000    0e+384  ->   Infinity\r
330 ddfma2587 fma   Inf   Inf     0e+384  ->   Infinity\r
331 ddfma2588 fma  -1000  Inf     0e+384  ->  -Infinity\r
332 ddfma2589 fma  -Inf   Inf     0e+384  ->  -Infinity\r
333 ddfma2590 fma  -1     Inf     0e+384  ->  -Infinity\r
334 ddfma2591 fma  -0     Inf     0e+384  ->   NaN  Invalid_operation\r
335 ddfma2592 fma   0     Inf     0e+384  ->   NaN  Invalid_operation\r
336 ddfma2593 fma   1     Inf     0e+384  ->   Infinity\r
337 ddfma2594 fma   1000  Inf     0e+384  ->   Infinity\r
338 ddfma2595 fma   Inf   Inf     0e+384  ->   Infinity\r
340 ddfma2600 fma  -Inf  -Inf     0e+384  ->   Infinity\r
341 ddfma2601 fma  -Inf  -1000    0e+384  ->   Infinity\r
342 ddfma2602 fma  -Inf  -1       0e+384  ->   Infinity\r
343 ddfma2603 fma  -Inf  -0       0e+384  ->   NaN  Invalid_operation\r
344 ddfma2604 fma  -Inf   0       0e+384  ->   NaN  Invalid_operation\r
345 ddfma2605 fma  -Inf   1       0e+384  ->  -Infinity\r
346 ddfma2606 fma  -Inf   1000    0e+384  ->  -Infinity\r
347 ddfma2607 fma  -Inf   Inf     0e+384  ->  -Infinity\r
348 ddfma2608 fma  -1000  Inf     0e+384  ->  -Infinity\r
349 ddfma2609 fma  -Inf  -Inf     0e+384  ->   Infinity\r
350 ddfma2610 fma  -1    -Inf     0e+384  ->   Infinity\r
351 ddfma2611 fma  -0    -Inf     0e+384  ->   NaN  Invalid_operation\r
352 ddfma2612 fma   0    -Inf     0e+384  ->   NaN  Invalid_operation\r
353 ddfma2613 fma   1    -Inf     0e+384  ->  -Infinity\r
354 ddfma2614 fma   1000 -Inf     0e+384  ->  -Infinity\r
355 ddfma2615 fma   Inf  -Inf     0e+384  ->  -Infinity\r
357 ddfma2621 fma   NaN -Inf      0e+384  ->   NaN\r
358 ddfma2622 fma   NaN -1000     0e+384  ->   NaN\r
359 ddfma2623 fma   NaN -1        0e+384  ->   NaN\r
360 ddfma2624 fma   NaN -0        0e+384  ->   NaN\r
361 ddfma2625 fma   NaN  0        0e+384  ->   NaN\r
362 ddfma2626 fma   NaN  1        0e+384  ->   NaN\r
363 ddfma2627 fma   NaN  1000     0e+384  ->   NaN\r
364 ddfma2628 fma   NaN  Inf      0e+384  ->   NaN\r
365 ddfma2629 fma   NaN  NaN      0e+384  ->   NaN\r
366 ddfma2630 fma  -Inf  NaN      0e+384  ->   NaN\r
367 ddfma2631 fma  -1000 NaN      0e+384  ->   NaN\r
368 ddfma2632 fma  -1    NaN      0e+384  ->   NaN\r
369 ddfma2633 fma  -0    NaN      0e+384  ->   NaN\r
370 ddfma2634 fma   0    NaN      0e+384  ->   NaN\r
371 ddfma2635 fma   1    NaN      0e+384  ->   NaN\r
372 ddfma2636 fma   1000 NaN      0e+384  ->   NaN\r
373 ddfma2637 fma   Inf  NaN      0e+384  ->   NaN\r
375 ddfma2641 fma   sNaN -Inf     0e+384  ->   NaN  Invalid_operation\r
376 ddfma2642 fma   sNaN -1000    0e+384  ->   NaN  Invalid_operation\r
377 ddfma2643 fma   sNaN -1       0e+384  ->   NaN  Invalid_operation\r
378 ddfma2644 fma   sNaN -0       0e+384  ->   NaN  Invalid_operation\r
379 ddfma2645 fma   sNaN  0       0e+384  ->   NaN  Invalid_operation\r
380 ddfma2646 fma   sNaN  1       0e+384  ->   NaN  Invalid_operation\r
381 ddfma2647 fma   sNaN  1000    0e+384  ->   NaN  Invalid_operation\r
382 ddfma2648 fma   sNaN  NaN     0e+384  ->   NaN  Invalid_operation\r
383 ddfma2649 fma   sNaN sNaN     0e+384  ->   NaN  Invalid_operation\r
384 ddfma2650 fma   NaN  sNaN     0e+384  ->   NaN  Invalid_operation\r
385 ddfma2651 fma  -Inf  sNaN     0e+384  ->   NaN  Invalid_operation\r
386 ddfma2652 fma  -1000 sNaN     0e+384  ->   NaN  Invalid_operation\r
387 ddfma2653 fma  -1    sNaN     0e+384  ->   NaN  Invalid_operation\r
388 ddfma2654 fma  -0    sNaN     0e+384  ->   NaN  Invalid_operation\r
389 ddfma2655 fma   0    sNaN     0e+384  ->   NaN  Invalid_operation\r
390 ddfma2656 fma   1    sNaN     0e+384  ->   NaN  Invalid_operation\r
391 ddfma2657 fma   1000 sNaN     0e+384  ->   NaN  Invalid_operation\r
392 ddfma2658 fma   Inf  sNaN     0e+384  ->   NaN  Invalid_operation\r
393 ddfma2659 fma   NaN  sNaN     0e+384  ->   NaN  Invalid_operation\r
395 -- propagating NaNs\r
396 ddfma2661 fma   NaN9 -Inf     0e+384  ->   NaN9\r
397 ddfma2662 fma   NaN8  999     0e+384  ->   NaN8\r
398 ddfma2663 fma   NaN71 Inf     0e+384  ->   NaN71\r
399 ddfma2664 fma   NaN6  NaN5    0e+384  ->   NaN6\r
400 ddfma2665 fma  -Inf   NaN4    0e+384  ->   NaN4\r
401 ddfma2666 fma  -999   NaN33   0e+384  ->   NaN33\r
402 ddfma2667 fma   Inf   NaN2    0e+384  ->   NaN2\r
404 ddfma2671 fma   sNaN99 -Inf      0e+384  ->   NaN99 Invalid_operation\r
405 ddfma2672 fma   sNaN98 -11       0e+384  ->   NaN98 Invalid_operation\r
406 ddfma2673 fma   sNaN97  NaN      0e+384  ->   NaN97 Invalid_operation\r
407 ddfma2674 fma   sNaN16 sNaN94    0e+384  ->   NaN16 Invalid_operation\r
408 ddfma2675 fma   NaN95  sNaN93    0e+384  ->   NaN93 Invalid_operation\r
409 ddfma2676 fma  -Inf    sNaN92    0e+384  ->   NaN92 Invalid_operation\r
410 ddfma2677 fma   088    sNaN91    0e+384  ->   NaN91 Invalid_operation\r
411 ddfma2678 fma   Inf    sNaN90    0e+384  ->   NaN90 Invalid_operation\r
412 ddfma2679 fma   NaN    sNaN89    0e+384  ->   NaN89 Invalid_operation\r
414 ddfma2681 fma  -NaN9 -Inf     0e+384  ->  -NaN9\r
415 ddfma2682 fma  -NaN8  999     0e+384  ->  -NaN8\r
416 ddfma2683 fma  -NaN71 Inf     0e+384  ->  -NaN71\r
417 ddfma2684 fma  -NaN6 -NaN5    0e+384  ->  -NaN6\r
418 ddfma2685 fma  -Inf  -NaN4    0e+384  ->  -NaN4\r
419 ddfma2686 fma  -999  -NaN33   0e+384  ->  -NaN33\r
420 ddfma2687 fma   Inf  -NaN2    0e+384  ->  -NaN2\r
422 ddfma2691 fma  -sNaN99 -Inf      0e+384  ->  -NaN99 Invalid_operation\r
423 ddfma2692 fma  -sNaN98 -11       0e+384  ->  -NaN98 Invalid_operation\r
424 ddfma2693 fma  -sNaN97  NaN      0e+384  ->  -NaN97 Invalid_operation\r
425 ddfma2694 fma  -sNaN16 -sNaN94   0e+384  ->  -NaN16 Invalid_operation\r
426 ddfma2695 fma  -NaN95  -sNaN93   0e+384  ->  -NaN93 Invalid_operation\r
427 ddfma2696 fma  -Inf    -sNaN92   0e+384  ->  -NaN92 Invalid_operation\r
428 ddfma2697 fma   088    -sNaN91   0e+384  ->  -NaN91 Invalid_operation\r
429 ddfma2698 fma   Inf    -sNaN90   0e+384  ->  -NaN90 Invalid_operation\r
430 ddfma2699 fma  -NaN    -sNaN89   0e+384  ->  -NaN89 Invalid_operation\r
432 ddfma2701 fma  -NaN  -Inf     0e+384  ->  -NaN\r
433 ddfma2702 fma  -NaN   999     0e+384  ->  -NaN\r
434 ddfma2703 fma  -NaN   Inf     0e+384  ->  -NaN\r
435 ddfma2704 fma  -NaN  -NaN     0e+384  ->  -NaN\r
436 ddfma2705 fma  -Inf  -NaN0    0e+384  ->  -NaN\r
437 ddfma2706 fma  -999  -NaN     0e+384  ->  -NaN\r
438 ddfma2707 fma   Inf  -NaN     0e+384  ->  -NaN\r
440 ddfma2711 fma  -sNaN   -Inf      0e+384  ->  -NaN Invalid_operation\r
441 ddfma2712 fma  -sNaN   -11       0e+384  ->  -NaN Invalid_operation\r
442 ddfma2713 fma  -sNaN00  NaN      0e+384  ->  -NaN Invalid_operation\r
443 ddfma2714 fma  -sNaN   -sNaN     0e+384  ->  -NaN Invalid_operation\r
444 ddfma2715 fma  -NaN    -sNaN     0e+384  ->  -NaN Invalid_operation\r
445 ddfma2716 fma  -Inf    -sNaN     0e+384  ->  -NaN Invalid_operation\r
446 ddfma2717 fma   088    -sNaN     0e+384  ->  -NaN Invalid_operation\r
447 ddfma2718 fma   Inf    -sNaN     0e+384  ->  -NaN Invalid_operation\r
448 ddfma2719 fma  -NaN    -sNaN     0e+384  ->  -NaN Invalid_operation\r
450 -- overflow and underflow tests .. note subnormal results\r
451 -- signs\r
452 ddfma2751 fma   1e+277  1e+311   0e+384  ->   Infinity Overflow Inexact Rounded\r
453 ddfma2752 fma   1e+277 -1e+311   0e+384  ->  -Infinity Overflow Inexact Rounded\r
454 ddfma2753 fma  -1e+277  1e+311   0e+384  ->  -Infinity Overflow Inexact Rounded\r
455 ddfma2754 fma  -1e+277 -1e+311   0e+384  ->   Infinity Overflow Inexact Rounded\r
456 ddfma2755 fma   1e-277  1e-311   0e+384  ->   0E-398 Underflow Subnormal Inexact Rounded Clamped\r
457 ddfma2756 fma   1e-277 -1e-311   0e+384  ->  -0E-398 Underflow Subnormal Inexact Rounded Clamped\r
458 ddfma2757 fma  -1e-277  1e-311   0e+384  ->  -0E-398 Underflow Subnormal Inexact Rounded Clamped\r
459 ddfma2758 fma  -1e-277 -1e-311   0e+384  ->   0E-398 Underflow Subnormal Inexact Rounded Clamped\r
461 -- 'subnormal' boundary (all hard underflow or overflow in base arithemtic)\r
462 ddfma2760 fma  1e-291 1e-101   0e+384  ->  1E-392 Subnormal\r
463 ddfma2761 fma  1e-291 1e-102   0e+384  ->  1E-393 Subnormal\r
464 ddfma2762 fma  1e-291 1e-103   0e+384  ->  1E-394 Subnormal\r
465 ddfma2763 fma  1e-291 1e-104   0e+384  ->  1E-395 Subnormal\r
466 ddfma2764 fma  1e-291 1e-105   0e+384  ->  1E-396 Subnormal\r
467 ddfma2765 fma  1e-291 1e-106   0e+384  ->  1E-397 Subnormal\r
468 ddfma2766 fma  1e-291 1e-107   0e+384  ->  1E-398 Subnormal\r
469 ddfma2767 fma  1e-291 1e-108   0e+384  ->  0E-398 Underflow Subnormal Inexact Rounded Clamped\r
470 ddfma2768 fma  1e-291 1e-109   0e+384  ->  0E-398 Underflow Subnormal Inexact Rounded Clamped\r
471 ddfma2769 fma  1e-291 1e-110   0e+384  ->  0E-398 Underflow Subnormal Inexact Rounded Clamped\r
472 -- [no equivalent of 'subnormal' for overflow]\r
473 ddfma2770 fma  1e+60 1e+321   0e+384  ->  1.000000000000E+381  Clamped\r
474 ddfma2771 fma  1e+60 1e+322   0e+384  ->  1.0000000000000E+382  Clamped\r
475 ddfma2772 fma  1e+60 1e+323   0e+384  ->  1.00000000000000E+383  Clamped\r
476 ddfma2773 fma  1e+60 1e+324   0e+384  ->  1.000000000000000E+384  Clamped\r
477 ddfma2774 fma  1e+60 1e+325   0e+384  ->  Infinity Overflow Inexact Rounded\r
478 ddfma2775 fma  1e+60 1e+326   0e+384  ->  Infinity Overflow Inexact Rounded\r
479 ddfma2776 fma  1e+60 1e+327   0e+384  ->  Infinity Overflow Inexact Rounded\r
480 ddfma2777 fma  1e+60 1e+328   0e+384  ->  Infinity Overflow Inexact Rounded\r
481 ddfma2778 fma  1e+60 1e+329   0e+384  ->  Infinity Overflow Inexact Rounded\r
482 ddfma2779 fma  1e+60 1e+330   0e+384  ->  Infinity Overflow Inexact Rounded\r
484 ddfma2801 fma   1.0000E-394  1       0e+384  ->  1.0000E-394 Subnormal\r
485 ddfma2802 fma   1.000E-394   1e-1    0e+384  ->  1.000E-395  Subnormal\r
486 ddfma2803 fma   1.00E-394    1e-2    0e+384  ->  1.00E-396   Subnormal\r
487 ddfma2804 fma   1.0E-394     1e-3    0e+384  ->  1.0E-397    Subnormal\r
488 ddfma2805 fma   1.0E-394     1e-4    0e+384  ->  1E-398     Subnormal Rounded\r
489 ddfma2806 fma   1.3E-394     1e-4    0e+384  ->  1E-398     Underflow Subnormal Inexact Rounded\r
490 ddfma2807 fma   1.5E-394     1e-4    0e+384  ->  2E-398     Underflow Subnormal Inexact Rounded\r
491 ddfma2808 fma   1.7E-394     1e-4    0e+384  ->  2E-398     Underflow Subnormal Inexact Rounded\r
492 ddfma2809 fma   2.3E-394     1e-4    0e+384  ->  2E-398     Underflow Subnormal Inexact Rounded\r
493 ddfma2810 fma   2.5E-394     1e-4    0e+384  ->  2E-398     Underflow Subnormal Inexact Rounded\r
494 ddfma2811 fma   2.7E-394     1e-4    0e+384  ->  3E-398     Underflow Subnormal Inexact Rounded\r
495 ddfma2812 fma   1.49E-394    1e-4    0e+384  ->  1E-398     Underflow Subnormal Inexact Rounded\r
496 ddfma2813 fma   1.50E-394    1e-4    0e+384  ->  2E-398     Underflow Subnormal Inexact Rounded\r
497 ddfma2814 fma   1.51E-394    1e-4    0e+384  ->  2E-398     Underflow Subnormal Inexact Rounded\r
498 ddfma2815 fma   2.49E-394    1e-4    0e+384  ->  2E-398     Underflow Subnormal Inexact Rounded\r
499 ddfma2816 fma   2.50E-394    1e-4    0e+384  ->  2E-398     Underflow Subnormal Inexact Rounded\r
500 ddfma2817 fma   2.51E-394    1e-4    0e+384  ->  3E-398     Underflow Subnormal Inexact Rounded\r
502 ddfma2818 fma   1E-394       1e-4    0e+384  ->  1E-398     Subnormal\r
503 ddfma2819 fma   3E-394       1e-5    0e+384  ->  0E-398     Underflow Subnormal Inexact Rounded Clamped\r
504 ddfma2820 fma   5E-394       1e-5    0e+384  ->  0E-398     Underflow Subnormal Inexact Rounded Clamped\r
505 ddfma2821 fma   7E-394       1e-5    0e+384  ->  1E-398     Underflow Subnormal Inexact Rounded\r
506 ddfma2822 fma   9E-394       1e-5    0e+384  ->  1E-398     Underflow Subnormal Inexact Rounded\r
507 ddfma2823 fma   9.9E-394     1e-5    0e+384  ->  1E-398     Underflow Subnormal Inexact Rounded\r
509 ddfma2824 fma   1E-394      -1e-4    0e+384  ->  -1E-398    Subnormal\r
510 ddfma2825 fma   3E-394      -1e-5    0e+384  ->  -0E-398    Underflow Subnormal Inexact Rounded Clamped\r
511 ddfma2826 fma  -5E-394       1e-5    0e+384  ->  -0E-398    Underflow Subnormal Inexact Rounded Clamped\r
512 ddfma2827 fma   7E-394      -1e-5    0e+384  ->  -1E-398    Underflow Subnormal Inexact Rounded\r
513 ddfma2828 fma  -9E-394       1e-5    0e+384  ->  -1E-398    Underflow Subnormal Inexact Rounded\r
514 ddfma2829 fma   9.9E-394    -1e-5    0e+384  ->  -1E-398    Underflow Subnormal Inexact Rounded\r
515 ddfma2830 fma   3.0E-394    -1e-5    0e+384  ->  -0E-398    Underflow Subnormal Inexact Rounded Clamped\r
517 ddfma2831 fma   1.0E-199     1e-200   0e+384  ->  0E-398 Underflow Subnormal Inexact Rounded Clamped\r
518 ddfma2832 fma   1.0E-199     1e-199   0e+384  ->  1E-398    Subnormal Rounded\r
519 ddfma2833 fma   1.0E-199     1e-198   0e+384  ->  1.0E-397    Subnormal\r
520 ddfma2834 fma   2.0E-199     2e-198   0e+384  ->  4.0E-397    Subnormal\r
521 ddfma2835 fma   4.0E-199     4e-198   0e+384  ->  1.60E-396   Subnormal\r
522 ddfma2836 fma  10.0E-199    10e-198   0e+384  ->  1.000E-395  Subnormal\r
523 ddfma2837 fma  30.0E-199    30e-198   0e+384  ->  9.000E-395  Subnormal\r
524 ddfma2838 fma  40.0E-199    40e-188   0e+384  ->  1.6000E-384 Subnormal\r
525 ddfma2839 fma  40.0E-199    40e-187   0e+384  ->  1.6000E-383\r
526 ddfma2840 fma  40.0E-199    40e-186   0e+384  ->  1.6000E-382\r
528 -- Long operand overflow may be a different path\r
529 ddfma2870 fma  100  9.999E+383           0e+384  ->   Infinity Inexact Overflow Rounded\r
530 ddfma2871 fma  100 -9.999E+383       0e+384  ->  -Infinity Inexact Overflow Rounded\r
531 ddfma2872 fma       9.999E+383 100   0e+384  ->   Infinity Inexact Overflow Rounded\r
532 ddfma2873 fma      -9.999E+383 100   0e+384  ->  -Infinity Inexact Overflow Rounded\r
534 -- check for double-rounded subnormals\r
535 ddfma2881 fma   1.2347E-355 1.2347E-40    0e+384  ->   1.524E-395 Inexact Rounded Subnormal Underflow\r
536 ddfma2882 fma   1.234E-355 1.234E-40      0e+384  ->   1.523E-395 Inexact Rounded Subnormal Underflow\r
537 ddfma2883 fma   1.23E-355  1.23E-40       0e+384  ->   1.513E-395 Inexact Rounded Subnormal Underflow\r
538 ddfma2884 fma   1.2E-355   1.2E-40        0e+384  ->   1.44E-395  Subnormal\r
539 ddfma2885 fma   1.2E-355   1.2E-41        0e+384  ->   1.44E-396  Subnormal\r
540 ddfma2886 fma   1.2E-355   1.2E-42        0e+384  ->   1.4E-397   Subnormal Inexact Rounded Underflow\r
541 ddfma2887 fma   1.2E-355   1.3E-42        0e+384  ->   1.6E-397   Subnormal Inexact Rounded Underflow\r
542 ddfma2888 fma   1.3E-355   1.3E-42        0e+384  ->   1.7E-397   Subnormal Inexact Rounded Underflow\r
543 ddfma2889 fma   1.3E-355   1.3E-43        0e+384  ->     2E-398   Subnormal Inexact Rounded Underflow\r
544 ddfma2890 fma   1.3E-356   1.3E-43        0e+384  ->     0E-398   Clamped Subnormal Inexact Rounded Underflow\r
546 ddfma2891 fma   1.2345E-39   1.234E-355   0e+384  ->   1.5234E-394 Inexact Rounded Subnormal Underflow\r
547 ddfma2892 fma   1.23456E-39  1.234E-355   0e+384  ->   1.5234E-394 Inexact Rounded Subnormal Underflow\r
548 ddfma2893 fma   1.2345E-40   1.234E-355   0e+384  ->   1.523E-395  Inexact Rounded Subnormal Underflow\r
549 ddfma2894 fma   1.23456E-40  1.234E-355   0e+384  ->   1.523E-395  Inexact Rounded Subnormal Underflow\r
550 ddfma2895 fma   1.2345E-41   1.234E-355   0e+384  ->   1.52E-396   Inexact Rounded Subnormal Underflow\r
551 ddfma2896 fma   1.23456E-41  1.234E-355   0e+384  ->   1.52E-396   Inexact Rounded Subnormal Underflow\r
553 -- Now explore the case where we get a normal result with Underflow\r
554 ddfma2900 fma   0.3000000000E-191 0.3000000000E-191   0e+384  ->  9.00000000000000E-384 Subnormal Rounded\r
555 ddfma2901 fma   0.3000000001E-191 0.3000000001E-191   0e+384  ->  9.00000000600000E-384 Underflow Inexact Subnormal Rounded\r
556 ddfma2902 fma   9.999999999999999E-383  0.0999999999999           0e+384  ->  9.99999999999000E-384 Underflow Inexact Subnormal Rounded\r
557 ddfma2903 fma   9.999999999999999E-383  0.09999999999999          0e+384  ->  9.99999999999900E-384 Underflow Inexact Subnormal Rounded\r
558 ddfma2904 fma   9.999999999999999E-383  0.099999999999999         0e+384  ->  9.99999999999990E-384 Underflow Inexact Subnormal Rounded\r
559 ddfma2905 fma   9.999999999999999E-383  0.0999999999999999        0e+384  ->  9.99999999999999E-384 Underflow Inexact Subnormal Rounded\r
560 -- prove operands are exact\r
561 ddfma2906 fma   9.999999999999999E-383  1                         0e+384  ->  9.999999999999999E-383\r
562 ddfma2907 fma                        1  0.09999999999999999       0e+384  ->  0.09999999999999999\r
563 -- the next rounds to Nmin\r
564 ddfma2908 fma   9.999999999999999E-383  0.09999999999999999       0e+384  ->  1.000000000000000E-383 Underflow Inexact Subnormal Rounded\r
566 -- hugest\r
567 ddfma2909 fma   9999999999999999 9999999999999999   0e+384  ->  9.999999999999998E+31 Inexact Rounded\r
569 -- Null tests\r
570 ddfma2990 fma  10  #   0e+384  ->  NaN Invalid_operation\r
571 ddfma2991 fma   # 10   0e+384  ->  NaN Invalid_operation\r
574 -- ADDITION TESTS ------------------------------------------------------\r
576 -- [first group are 'quick confidence check']\r
577 ddfma3001 fma  1  1       1       ->  2\r
578 ddfma3002 fma  1  2       3       ->  5\r
579 ddfma3003 fma  1  '5.75'  '3.3'   ->  9.05\r
580 ddfma3004 fma  1  '5'     '-3'    ->  2\r
581 ddfma3005 fma  1  '-5'    '-3'    ->  -8\r
582 ddfma3006 fma  1  '-7'    '2.5'   ->  -4.5\r
583 ddfma3007 fma  1  '0.7'   '0.3'   ->  1.0\r
584 ddfma3008 fma  1  '1.25'  '1.25'  ->  2.50\r
585 ddfma3009 fma  1  '1.23456789'  '1.00000000' -> '2.23456789'\r
586 ddfma3010 fma  1  '1.23456789'  '1.00000011' -> '2.23456800'\r
588 --             1234567890123456      1234567890123456\r
589 ddfma3011 fma  1  '0.4444444444444446'  '0.5555555555555555' -> '1.000000000000000' Inexact Rounded\r
590 ddfma3012 fma  1  '0.4444444444444445'  '0.5555555555555555' -> '1.000000000000000' Rounded\r
591 ddfma3013 fma  1  '0.4444444444444444'  '0.5555555555555555' -> '0.9999999999999999'\r
592 ddfma3014 fma  1    '4444444444444444' '0.49'   -> '4444444444444444' Inexact Rounded\r
593 ddfma3015 fma  1    '4444444444444444' '0.499'  -> '4444444444444444' Inexact Rounded\r
594 ddfma3016 fma  1    '4444444444444444' '0.4999' -> '4444444444444444' Inexact Rounded\r
595 ddfma3017 fma  1    '4444444444444444' '0.5000' -> '4444444444444444' Inexact Rounded\r
596 ddfma3018 fma  1    '4444444444444444' '0.5001' -> '4444444444444445' Inexact Rounded\r
597 ddfma3019 fma  1    '4444444444444444' '0.501'  -> '4444444444444445' Inexact Rounded\r
598 ddfma3020 fma  1    '4444444444444444' '0.51'   -> '4444444444444445' Inexact Rounded\r
600 ddfma3021 fma  1  0 1 -> 1\r
601 ddfma3022 fma  1  1 1 -> 2\r
602 ddfma3023 fma  1  2 1 -> 3\r
603 ddfma3024 fma  1  3 1 -> 4\r
604 ddfma3025 fma  1  4 1 -> 5\r
605 ddfma3026 fma  1  5 1 -> 6\r
606 ddfma3027 fma  1  6 1 -> 7\r
607 ddfma3028 fma  1  7 1 -> 8\r
608 ddfma3029 fma  1  8 1 -> 9\r
609 ddfma3030 fma  1  9 1 -> 10\r
611 -- some carrying effects\r
612 ddfma3031 fma  1  '0.9998'  '0.0000' -> '0.9998'\r
613 ddfma3032 fma  1  '0.9998'  '0.0001' -> '0.9999'\r
614 ddfma3033 fma  1  '0.9998'  '0.0002' -> '1.0000'\r
615 ddfma3034 fma  1  '0.9998'  '0.0003' -> '1.0001'\r
617 ddfma3035 fma  1  '70'  '10000e+16' -> '1.000000000000000E+20' Inexact Rounded\r
618 ddfma3036 fma  1  '700'  '10000e+16' -> '1.000000000000000E+20' Inexact Rounded\r
619 ddfma3037 fma  1  '7000'  '10000e+16' -> '1.000000000000000E+20' Inexact Rounded\r
620 ddfma3038 fma  1  '70000'  '10000e+16' -> '1.000000000000001E+20' Inexact Rounded\r
621 ddfma3039 fma  1  '700000'  '10000e+16' -> '1.000000000000007E+20' Rounded\r
623 -- symmetry:\r
624 ddfma3040 fma  1  '10000e+16'  '70' -> '1.000000000000000E+20' Inexact Rounded\r
625 ddfma3041 fma  1  '10000e+16'  '700' -> '1.000000000000000E+20' Inexact Rounded\r
626 ddfma3042 fma  1  '10000e+16'  '7000' -> '1.000000000000000E+20' Inexact Rounded\r
627 ddfma3044 fma  1  '10000e+16'  '70000' -> '1.000000000000001E+20' Inexact Rounded\r
628 ddfma3045 fma  1  '10000e+16'  '700000' -> '1.000000000000007E+20' Rounded\r
630 -- same, without rounding\r
631 ddfma3046 fma  1  '10000e+9'  '7' -> '10000000000007'\r
632 ddfma3047 fma  1  '10000e+9'  '70' -> '10000000000070'\r
633 ddfma3048 fma  1  '10000e+9'  '700' -> '10000000000700'\r
634 ddfma3049 fma  1  '10000e+9'  '7000' -> '10000000007000'\r
635 ddfma3050 fma  1  '10000e+9'  '70000' -> '10000000070000'\r
636 ddfma3051 fma  1  '10000e+9'  '700000' -> '10000000700000'\r
637 ddfma3052 fma  1  '10000e+9'  '7000000' -> '10000007000000'\r
639 -- examples from decarith\r
640 ddfma3053 fma  1  '12' '7.00' -> '19.00'\r
641 ddfma3054 fma  1  '1.3' '-1.07' -> '0.23'\r
642 ddfma3055 fma  1  '1.3' '-1.30' -> '0.00'\r
643 ddfma3056 fma  1  '1.3' '-2.07' -> '-0.77'\r
644 ddfma3057 fma  1  '1E+2' '1E+4' -> '1.01E+4'\r
646 -- leading zero preservation\r
647 ddfma3061 fma  1  1 '0.0001' -> '1.0001'\r
648 ddfma3062 fma  1  1 '0.00001' -> '1.00001'\r
649 ddfma3063 fma  1  1 '0.000001' -> '1.000001'\r
650 ddfma3064 fma  1  1 '0.0000001' -> '1.0000001'\r
651 ddfma3065 fma  1  1 '0.00000001' -> '1.00000001'\r
653 -- some funny zeros [in case of bad signum]\r
654 ddfma3070 fma  1  1  0    -> 1\r
655 ddfma3071 fma  1  1 0.    -> 1\r
656 ddfma3072 fma  1  1  .0   -> 1.0\r
657 ddfma3073 fma  1  1 0.0   -> 1.0\r
658 ddfma3074 fma  1  1 0.00  -> 1.00\r
659 ddfma3075 fma  1   0  1   -> 1\r
660 ddfma3076 fma  1  0.  1   -> 1\r
661 ddfma3077 fma  1   .0 1   -> 1.0\r
662 ddfma3078 fma  1  0.0 1   -> 1.0\r
663 ddfma3079 fma  1  0.00 1  -> 1.00\r
665 -- some carries\r
666 ddfma3080 fma  1  999999998 1  -> 999999999\r
667 ddfma3081 fma  1  999999999 1  -> 1000000000\r
668 ddfma3082 fma  1   99999999 1  -> 100000000\r
669 ddfma3083 fma  1    9999999 1  -> 10000000\r
670 ddfma3084 fma  1     999999 1  -> 1000000\r
671 ddfma3085 fma  1      99999 1  -> 100000\r
672 ddfma3086 fma  1       9999 1  -> 10000\r
673 ddfma3087 fma  1        999 1  -> 1000\r
674 ddfma3088 fma  1         99 1  -> 100\r
675 ddfma3089 fma  1          9 1  -> 10\r
678 -- more LHS swaps\r
679 ddfma3090 fma  1  '-56267E-10'   0 ->  '-0.0000056267'\r
680 ddfma3091 fma  1  '-56267E-6'    0 ->  '-0.056267'\r
681 ddfma3092 fma  1  '-56267E-5'    0 ->  '-0.56267'\r
682 ddfma3093 fma  1  '-56267E-4'    0 ->  '-5.6267'\r
683 ddfma3094 fma  1  '-56267E-3'    0 ->  '-56.267'\r
684 ddfma3095 fma  1  '-56267E-2'    0 ->  '-562.67'\r
685 ddfma3096 fma  1  '-56267E-1'    0 ->  '-5626.7'\r
686 ddfma3097 fma  1  '-56267E-0'    0 ->  '-56267'\r
687 ddfma3098 fma  1  '-5E-10'       0 ->  '-5E-10'\r
688 ddfma3099 fma  1  '-5E-7'        0 ->  '-5E-7'\r
689 ddfma3100 fma  1  '-5E-6'        0 ->  '-0.000005'\r
690 ddfma3101 fma  1  '-5E-5'        0 ->  '-0.00005'\r
691 ddfma3102 fma  1  '-5E-4'        0 ->  '-0.0005'\r
692 ddfma3103 fma  1  '-5E-1'        0 ->  '-0.5'\r
693 ddfma3104 fma  1  '-5E0'         0 ->  '-5'\r
694 ddfma3105 fma  1  '-5E1'         0 ->  '-50'\r
695 ddfma3106 fma  1  '-5E5'         0 ->  '-500000'\r
696 ddfma3107 fma  1  '-5E15'        0 ->  '-5000000000000000'\r
697 ddfma3108 fma  1  '-5E16'        0 ->  '-5.000000000000000E+16'  Rounded\r
698 ddfma3109 fma  1  '-5E17'        0 ->  '-5.000000000000000E+17'  Rounded\r
699 ddfma3110 fma  1  '-5E18'        0 ->  '-5.000000000000000E+18'  Rounded\r
700 ddfma3111 fma  1  '-5E100'       0 ->  '-5.000000000000000E+100' Rounded\r
702 -- more RHS swaps\r
703 ddfma3113 fma  1  0  '-56267E-10' ->  '-0.0000056267'\r
704 ddfma3114 fma  1  0  '-56267E-6'  ->  '-0.056267'\r
705 ddfma3116 fma  1  0  '-56267E-5'  ->  '-0.56267'\r
706 ddfma3117 fma  1  0  '-56267E-4'  ->  '-5.6267'\r
707 ddfma3119 fma  1  0  '-56267E-3'  ->  '-56.267'\r
708 ddfma3120 fma  1  0  '-56267E-2'  ->  '-562.67'\r
709 ddfma3121 fma  1  0  '-56267E-1'  ->  '-5626.7'\r
710 ddfma3122 fma  1  0  '-56267E-0'  ->  '-56267'\r
711 ddfma3123 fma  1  0  '-5E-10'     ->  '-5E-10'\r
712 ddfma3124 fma  1  0  '-5E-7'      ->  '-5E-7'\r
713 ddfma3125 fma  1  0  '-5E-6'      ->  '-0.000005'\r
714 ddfma3126 fma  1  0  '-5E-5'      ->  '-0.00005'\r
715 ddfma3127 fma  1  0  '-5E-4'      ->  '-0.0005'\r
716 ddfma3128 fma  1  0  '-5E-1'      ->  '-0.5'\r
717 ddfma3129 fma  1  0  '-5E0'       ->  '-5'\r
718 ddfma3130 fma  1  0  '-5E1'       ->  '-50'\r
719 ddfma3131 fma  1  0  '-5E5'       ->  '-500000'\r
720 ddfma3132 fma  1  0  '-5E15'      ->  '-5000000000000000'\r
721 ddfma3133 fma  1  0  '-5E16'      ->  '-5.000000000000000E+16'   Rounded\r
722 ddfma3134 fma  1  0  '-5E17'      ->  '-5.000000000000000E+17'   Rounded\r
723 ddfma3135 fma  1  0  '-5E18'      ->  '-5.000000000000000E+18'   Rounded\r
724 ddfma3136 fma  1  0  '-5E100'     ->  '-5.000000000000000E+100'  Rounded\r
726 -- related\r
727 ddfma3137 fma  1   1  '0E-19'      ->  '1.000000000000000'  Rounded\r
728 ddfma3138 fma  1  -1  '0E-19'      ->  '-1.000000000000000' Rounded\r
729 ddfma3139 fma  1  '0E-19' 1        ->  '1.000000000000000'  Rounded\r
730 ddfma3140 fma  1  '0E-19' -1       ->  '-1.000000000000000' Rounded\r
731 ddfma3141 fma  1  1E+11   0.0000   ->  '100000000000.0000'\r
732 ddfma3142 fma  1  1E+11   0.00000  ->  '100000000000.0000'  Rounded\r
733 ddfma3143 fma  1  0.000   1E+12    ->  '1000000000000.000'\r
734 ddfma3144 fma  1  0.0000  1E+12    ->  '1000000000000.000'  Rounded\r
736 -- [some of the next group are really constructor tests]\r
737 ddfma3146 fma  1  '00.0'  0       ->  '0.0'\r
738 ddfma3147 fma  1  '0.00'  0       ->  '0.00'\r
739 ddfma3148 fma  1   0      '0.00'  ->  '0.00'\r
740 ddfma3149 fma  1   0      '00.0'  ->  '0.0'\r
741 ddfma3150 fma  1  '00.0'  '0.00'  ->  '0.00'\r
742 ddfma3151 fma  1  '0.00'  '00.0'  ->  '0.00'\r
743 ddfma3152 fma  1  '3'     '.3'    ->  '3.3'\r
744 ddfma3153 fma  1  '3.'    '.3'    ->  '3.3'\r
745 ddfma3154 fma  1  '3.0'   '.3'    ->  '3.3'\r
746 ddfma3155 fma  1  '3.00'  '.3'    ->  '3.30'\r
747 ddfma3156 fma  1  '3'     '3'     ->  '6'\r
748 ddfma3157 fma  1  '3'     '+3'    ->  '6'\r
749 ddfma3158 fma  1  '3'     '-3'    ->  '0'\r
750 ddfma3159 fma  1  '0.3'   '-0.3'  ->  '0.0'\r
751 ddfma3160 fma  1  '0.03'  '-0.03' ->  '0.00'\r
753 -- try borderline precision, with carries, etc.\r
754 ddfma3161 fma  1  '1E+12' '-1'    -> '999999999999'\r
755 ddfma3162 fma  1  '1E+12'  '1.11' -> '1000000000001.11'\r
756 ddfma3163 fma  1  '1.11'  '1E+12' -> '1000000000001.11'\r
757 ddfma3164 fma  1  '-1'    '1E+12' -> '999999999999'\r
758 ddfma3165 fma  1  '7E+12' '-1'    -> '6999999999999'\r
759 ddfma3166 fma  1  '7E+12'  '1.11' -> '7000000000001.11'\r
760 ddfma3167 fma  1  '1.11'  '7E+12' -> '7000000000001.11'\r
761 ddfma3168 fma  1  '-1'    '7E+12' -> '6999999999999'\r
763 rounding: half_up\r
764 --           1.234567890123456      1234567890123456      1 234567890123456\r
765 ddfma3170 fma  1  '4.444444444444444'  '0.5555555555555567' -> '5.000000000000001' Inexact Rounded\r
766 ddfma3171 fma  1  '4.444444444444444'  '0.5555555555555566' -> '5.000000000000001' Inexact Rounded\r
767 ddfma3172 fma  1  '4.444444444444444'  '0.5555555555555565' -> '5.000000000000001' Inexact Rounded\r
768 ddfma3173 fma  1  '4.444444444444444'  '0.5555555555555564' -> '5.000000000000000' Inexact Rounded\r
769 ddfma3174 fma  1  '4.444444444444444'  '0.5555555555555553' -> '4.999999999999999' Inexact Rounded\r
770 ddfma3175 fma  1  '4.444444444444444'  '0.5555555555555552' -> '4.999999999999999' Inexact Rounded\r
771 ddfma3176 fma  1  '4.444444444444444'  '0.5555555555555551' -> '4.999999999999999' Inexact Rounded\r
772 ddfma3177 fma  1  '4.444444444444444'  '0.5555555555555550' -> '4.999999999999999' Rounded\r
773 ddfma3178 fma  1  '4.444444444444444'  '0.5555555555555545' -> '4.999999999999999' Inexact Rounded\r
774 ddfma3179 fma  1  '4.444444444444444'  '0.5555555555555544' -> '4.999999999999998' Inexact Rounded\r
775 ddfma3180 fma  1  '4.444444444444444'  '0.5555555555555543' -> '4.999999999999998' Inexact Rounded\r
776 ddfma3181 fma  1  '4.444444444444444'  '0.5555555555555542' -> '4.999999999999998' Inexact Rounded\r
777 ddfma3182 fma  1  '4.444444444444444'  '0.5555555555555541' -> '4.999999999999998' Inexact Rounded\r
778 ddfma3183 fma  1  '4.444444444444444'  '0.5555555555555540' -> '4.999999999999998' Rounded\r
780 -- and some more, including residue effects and different roundings\r
781 rounding: half_up\r
782 ddfma3200 fma  1  '1234560123456789' 0             -> '1234560123456789'\r
783 ddfma3201 fma  1  '1234560123456789' 0.000000001   -> '1234560123456789' Inexact Rounded\r
784 ddfma3202 fma  1  '1234560123456789' 0.000001      -> '1234560123456789' Inexact Rounded\r
785 ddfma3203 fma  1  '1234560123456789' 0.1           -> '1234560123456789' Inexact Rounded\r
786 ddfma3204 fma  1  '1234560123456789' 0.4           -> '1234560123456789' Inexact Rounded\r
787 ddfma3205 fma  1  '1234560123456789' 0.49          -> '1234560123456789' Inexact Rounded\r
788 ddfma3206 fma  1  '1234560123456789' 0.499999      -> '1234560123456789' Inexact Rounded\r
789 ddfma3207 fma  1  '1234560123456789' 0.499999999   -> '1234560123456789' Inexact Rounded\r
790 ddfma3208 fma  1  '1234560123456789' 0.5           -> '1234560123456790' Inexact Rounded\r
791 ddfma3209 fma  1  '1234560123456789' 0.500000001   -> '1234560123456790' Inexact Rounded\r
792 ddfma3210 fma  1  '1234560123456789' 0.500001      -> '1234560123456790' Inexact Rounded\r
793 ddfma3211 fma  1  '1234560123456789' 0.51          -> '1234560123456790' Inexact Rounded\r
794 ddfma3212 fma  1  '1234560123456789' 0.6           -> '1234560123456790' Inexact Rounded\r
795 ddfma3213 fma  1  '1234560123456789' 0.9           -> '1234560123456790' Inexact Rounded\r
796 ddfma3214 fma  1  '1234560123456789' 0.99999       -> '1234560123456790' Inexact Rounded\r
797 ddfma3215 fma  1  '1234560123456789' 0.999999999   -> '1234560123456790' Inexact Rounded\r
798 ddfma3216 fma  1  '1234560123456789' 1             -> '1234560123456790'\r
799 ddfma3217 fma  1  '1234560123456789' 1.000000001   -> '1234560123456790' Inexact Rounded\r
800 ddfma3218 fma  1  '1234560123456789' 1.00001       -> '1234560123456790' Inexact Rounded\r
801 ddfma3219 fma  1  '1234560123456789' 1.1           -> '1234560123456790' Inexact Rounded\r
803 rounding: half_even\r
804 ddfma3220 fma  1  '1234560123456789' 0             -> '1234560123456789'\r
805 ddfma3221 fma  1  '1234560123456789' 0.000000001   -> '1234560123456789' Inexact Rounded\r
806 ddfma3222 fma  1  '1234560123456789' 0.000001      -> '1234560123456789' Inexact Rounded\r
807 ddfma3223 fma  1  '1234560123456789' 0.1           -> '1234560123456789' Inexact Rounded\r
808 ddfma3224 fma  1  '1234560123456789' 0.4           -> '1234560123456789' Inexact Rounded\r
809 ddfma3225 fma  1  '1234560123456789' 0.49          -> '1234560123456789' Inexact Rounded\r
810 ddfma3226 fma  1  '1234560123456789' 0.499999      -> '1234560123456789' Inexact Rounded\r
811 ddfma3227 fma  1  '1234560123456789' 0.499999999   -> '1234560123456789' Inexact Rounded\r
812 ddfma3228 fma  1  '1234560123456789' 0.5           -> '1234560123456790' Inexact Rounded\r
813 ddfma3229 fma  1  '1234560123456789' 0.500000001   -> '1234560123456790' Inexact Rounded\r
814 ddfma3230 fma  1  '1234560123456789' 0.500001      -> '1234560123456790' Inexact Rounded\r
815 ddfma3231 fma  1  '1234560123456789' 0.51          -> '1234560123456790' Inexact Rounded\r
816 ddfma3232 fma  1  '1234560123456789' 0.6           -> '1234560123456790' Inexact Rounded\r
817 ddfma3233 fma  1  '1234560123456789' 0.9           -> '1234560123456790' Inexact Rounded\r
818 ddfma3234 fma  1  '1234560123456789' 0.99999       -> '1234560123456790' Inexact Rounded\r
819 ddfma3235 fma  1  '1234560123456789' 0.999999999   -> '1234560123456790' Inexact Rounded\r
820 ddfma3236 fma  1  '1234560123456789' 1             -> '1234560123456790'\r
821 ddfma3237 fma  1  '1234560123456789' 1.00000001    -> '1234560123456790' Inexact Rounded\r
822 ddfma3238 fma  1  '1234560123456789' 1.00001       -> '1234560123456790' Inexact Rounded\r
823 ddfma3239 fma  1  '1234560123456789' 1.1           -> '1234560123456790' Inexact Rounded\r
824 -- critical few with even bottom digit...\r
825 ddfma3240 fma  1  '1234560123456788' 0.499999999   -> '1234560123456788' Inexact Rounded\r
826 ddfma3241 fma  1  '1234560123456788' 0.5           -> '1234560123456788' Inexact Rounded\r
827 ddfma3242 fma  1  '1234560123456788' 0.500000001   -> '1234560123456789' Inexact Rounded\r
829 rounding: down\r
830 ddfma3250 fma  1  '1234560123456789' 0             -> '1234560123456789'\r
831 ddfma3251 fma  1  '1234560123456789' 0.000000001   -> '1234560123456789' Inexact Rounded\r
832 ddfma3252 fma  1  '1234560123456789' 0.000001      -> '1234560123456789' Inexact Rounded\r
833 ddfma3253 fma  1  '1234560123456789' 0.1           -> '1234560123456789' Inexact Rounded\r
834 ddfma3254 fma  1  '1234560123456789' 0.4           -> '1234560123456789' Inexact Rounded\r
835 ddfma3255 fma  1  '1234560123456789' 0.49          -> '1234560123456789' Inexact Rounded\r
836 ddfma3256 fma  1  '1234560123456789' 0.499999      -> '1234560123456789' Inexact Rounded\r
837 ddfma3257 fma  1  '1234560123456789' 0.499999999   -> '1234560123456789' Inexact Rounded\r
838 ddfma3258 fma  1  '1234560123456789' 0.5           -> '1234560123456789' Inexact Rounded\r
839 ddfma3259 fma  1  '1234560123456789' 0.500000001   -> '1234560123456789' Inexact Rounded\r
840 ddfma3260 fma  1  '1234560123456789' 0.500001      -> '1234560123456789' Inexact Rounded\r
841 ddfma3261 fma  1  '1234560123456789' 0.51          -> '1234560123456789' Inexact Rounded\r
842 ddfma3262 fma  1  '1234560123456789' 0.6           -> '1234560123456789' Inexact Rounded\r
843 ddfma3263 fma  1  '1234560123456789' 0.9           -> '1234560123456789' Inexact Rounded\r
844 ddfma3264 fma  1  '1234560123456789' 0.99999       -> '1234560123456789' Inexact Rounded\r
845 ddfma3265 fma  1  '1234560123456789' 0.999999999   -> '1234560123456789' Inexact Rounded\r
846 ddfma3266 fma  1  '1234560123456789' 1             -> '1234560123456790'\r
847 ddfma3267 fma  1  '1234560123456789' 1.00000001    -> '1234560123456790' Inexact Rounded\r
848 ddfma3268 fma  1  '1234560123456789' 1.00001       -> '1234560123456790' Inexact Rounded\r
849 ddfma3269 fma  1  '1234560123456789' 1.1           -> '1234560123456790' Inexact Rounded\r
851 -- 1 in last place tests\r
852 rounding: half_up\r
853 ddfma3301 fma  1   -1   1      ->   0\r
854 ddfma3302 fma  1    0   1      ->   1\r
855 ddfma3303 fma  1    1   1      ->   2\r
856 ddfma3304 fma  1   12   1      ->  13\r
857 ddfma3305 fma  1   98   1      ->  99\r
858 ddfma3306 fma  1   99   1      -> 100\r
859 ddfma3307 fma  1  100   1      -> 101\r
860 ddfma3308 fma  1  101   1      -> 102\r
861 ddfma3309 fma  1   -1  -1      ->  -2\r
862 ddfma3310 fma  1    0  -1      ->  -1\r
863 ddfma3311 fma  1    1  -1      ->   0\r
864 ddfma3312 fma  1   12  -1      ->  11\r
865 ddfma3313 fma  1   98  -1      ->  97\r
866 ddfma3314 fma  1   99  -1      ->  98\r
867 ddfma3315 fma  1  100  -1      ->  99\r
868 ddfma3316 fma  1  101  -1      -> 100\r
870 ddfma3321 fma  1  -0.01  0.01    ->  0.00\r
871 ddfma3322 fma  1   0.00  0.01    ->  0.01\r
872 ddfma3323 fma  1   0.01  0.01    ->  0.02\r
873 ddfma3324 fma  1   0.12  0.01    ->  0.13\r
874 ddfma3325 fma  1   0.98  0.01    ->  0.99\r
875 ddfma3326 fma  1   0.99  0.01    ->  1.00\r
876 ddfma3327 fma  1   1.00  0.01    ->  1.01\r
877 ddfma3328 fma  1   1.01  0.01    ->  1.02\r
878 ddfma3329 fma  1  -0.01 -0.01    -> -0.02\r
879 ddfma3330 fma  1   0.00 -0.01    -> -0.01\r
880 ddfma3331 fma  1   0.01 -0.01    ->  0.00\r
881 ddfma3332 fma  1   0.12 -0.01    ->  0.11\r
882 ddfma3333 fma  1   0.98 -0.01    ->  0.97\r
883 ddfma3334 fma  1   0.99 -0.01    ->  0.98\r
884 ddfma3335 fma  1   1.00 -0.01    ->  0.99\r
885 ddfma3336 fma  1   1.01 -0.01    ->  1.00\r
887 -- some more cases where adding 0 affects the coefficient\r
888 ddfma3340 fma  1  1E+3    0    ->         1000\r
889 ddfma3341 fma  1  1E+15   0    ->    1000000000000000\r
890 ddfma3342 fma  1  1E+16   0    ->   1.000000000000000E+16  Rounded\r
891 ddfma3343 fma  1  1E+20   0    ->   1.000000000000000E+20  Rounded\r
892 -- which simply follow from these cases ...\r
893 ddfma3344 fma  1  1E+3    1    ->         1001\r
894 ddfma3345 fma  1  1E+15   1    ->    1000000000000001\r
895 ddfma3346 fma  1  1E+16   1    ->   1.000000000000000E+16  Inexact Rounded\r
896 ddfma3347 fma  1  1E+20   1    ->   1.000000000000000E+20  Inexact Rounded\r
897 ddfma3348 fma  1  1E+3    7    ->         1007\r
898 ddfma3349 fma  1  1E+15   7    ->    1000000000000007\r
899 ddfma3350 fma  1  1E+16   7    ->   1.000000000000001E+16  Inexact Rounded\r
900 ddfma3351 fma  1  1E+20   7    ->   1.000000000000000E+20  Inexact Rounded\r
902 -- tryzeros cases\r
903 rounding:    half_up\r
904 ddfma3360  fma  1  0E+50 10000E+1  -> 1.0000E+5\r
905 ddfma3361  fma  1  0E-50 10000E+1  -> 100000.0000000000 Rounded\r
906 ddfma3362  fma  1  10000E+1 0E-50  -> 100000.0000000000 Rounded\r
907 ddfma3363  fma  1  10000E+1 10000E-50  -> 100000.0000000000 Rounded Inexact\r
908 ddfma3364  fma  1  9.999999999999999E+384 -9.999999999999999E+384 -> 0E+369\r
910 -- a curiosity from JSR 13 testing\r
911 rounding:    half_down\r
912 ddfma3370 fma  1   999999999999999 815 -> 1000000000000814\r
913 ddfma3371 fma  1  9999999999999999 815 -> 1.000000000000081E+16 Rounded Inexact\r
914 rounding:    half_up\r
915 ddfma3372 fma  1   999999999999999 815 -> 1000000000000814\r
916 ddfma3373 fma  1  9999999999999999 815 -> 1.000000000000081E+16 Rounded Inexact\r
917 rounding:    half_even\r
918 ddfma3374 fma  1   999999999999999 815 -> 1000000000000814\r
919 ddfma3375 fma  1  9999999999999999 815 -> 1.000000000000081E+16 Rounded Inexact\r
921 -- ulp replacement tests\r
922 ddfma3400 fma  1    1   77e-14      ->  1.00000000000077\r
923 ddfma3401 fma  1    1   77e-15      ->  1.000000000000077\r
924 ddfma3402 fma  1    1   77e-16      ->  1.000000000000008 Inexact Rounded\r
925 ddfma3403 fma  1    1   77e-17      ->  1.000000000000001 Inexact Rounded\r
926 ddfma3404 fma  1    1   77e-18      ->  1.000000000000000 Inexact Rounded\r
927 ddfma3405 fma  1    1   77e-19      ->  1.000000000000000 Inexact Rounded\r
928 ddfma3406 fma  1    1   77e-299     ->  1.000000000000000 Inexact Rounded\r
930 ddfma3410 fma  1   10   77e-14      ->  10.00000000000077\r
931 ddfma3411 fma  1   10   77e-15      ->  10.00000000000008 Inexact Rounded\r
932 ddfma3412 fma  1   10   77e-16      ->  10.00000000000001 Inexact Rounded\r
933 ddfma3413 fma  1   10   77e-17      ->  10.00000000000000 Inexact Rounded\r
934 ddfma3414 fma  1   10   77e-18      ->  10.00000000000000 Inexact Rounded\r
935 ddfma3415 fma  1   10   77e-19      ->  10.00000000000000 Inexact Rounded\r
936 ddfma3416 fma  1   10   77e-299     ->  10.00000000000000 Inexact Rounded\r
938 ddfma3420 fma  1   77e-14       1   ->  1.00000000000077\r
939 ddfma3421 fma  1   77e-15       1   ->  1.000000000000077\r
940 ddfma3422 fma  1   77e-16       1   ->  1.000000000000008 Inexact Rounded\r
941 ddfma3423 fma  1   77e-17       1   ->  1.000000000000001 Inexact Rounded\r
942 ddfma3424 fma  1   77e-18       1   ->  1.000000000000000 Inexact Rounded\r
943 ddfma3425 fma  1   77e-19       1   ->  1.000000000000000 Inexact Rounded\r
944 ddfma3426 fma  1   77e-299      1   ->  1.000000000000000 Inexact Rounded\r
946 ddfma3430 fma  1   77e-14      10   ->  10.00000000000077\r
947 ddfma3431 fma  1   77e-15      10   ->  10.00000000000008 Inexact Rounded\r
948 ddfma3432 fma  1   77e-16      10   ->  10.00000000000001 Inexact Rounded\r
949 ddfma3433 fma  1   77e-17      10   ->  10.00000000000000 Inexact Rounded\r
950 ddfma3434 fma  1   77e-18      10   ->  10.00000000000000 Inexact Rounded\r
951 ddfma3435 fma  1   77e-19      10   ->  10.00000000000000 Inexact Rounded\r
952 ddfma3436 fma  1   77e-299     10   ->  10.00000000000000 Inexact Rounded\r
954 -- negative ulps\r
955 ddfma36440 fma  1    1   -77e-14      ->  0.99999999999923\r
956 ddfma36441 fma  1    1   -77e-15      ->  0.999999999999923\r
957 ddfma36442 fma  1    1   -77e-16      ->  0.9999999999999923\r
958 ddfma36443 fma  1    1   -77e-17      ->  0.9999999999999992 Inexact Rounded\r
959 ddfma36444 fma  1    1   -77e-18      ->  0.9999999999999999 Inexact Rounded\r
960 ddfma36445 fma  1    1   -77e-19      ->  1.000000000000000 Inexact Rounded\r
961 ddfma36446 fma  1    1   -77e-99      ->  1.000000000000000 Inexact Rounded\r
963 ddfma36450 fma  1   10   -77e-14      ->   9.99999999999923\r
964 ddfma36451 fma  1   10   -77e-15      ->   9.999999999999923\r
965 ddfma36452 fma  1   10   -77e-16      ->   9.999999999999992 Inexact Rounded\r
966 ddfma36453 fma  1   10   -77e-17      ->   9.999999999999999 Inexact Rounded\r
967 ddfma36454 fma  1   10   -77e-18      ->  10.00000000000000 Inexact Rounded\r
968 ddfma36455 fma  1   10   -77e-19      ->  10.00000000000000 Inexact Rounded\r
969 ddfma36456 fma  1   10   -77e-99      ->  10.00000000000000 Inexact Rounded\r
971 ddfma36460 fma  1   -77e-14       1   ->  0.99999999999923\r
972 ddfma36461 fma  1   -77e-15       1   ->  0.999999999999923\r
973 ddfma36462 fma  1   -77e-16       1   ->  0.9999999999999923\r
974 ddfma36463 fma  1   -77e-17       1   ->  0.9999999999999992 Inexact Rounded\r
975 ddfma36464 fma  1   -77e-18       1   ->  0.9999999999999999 Inexact Rounded\r
976 ddfma36465 fma  1   -77e-19       1   ->  1.000000000000000 Inexact Rounded\r
977 ddfma36466 fma  1   -77e-99       1   ->  1.000000000000000 Inexact Rounded\r
979 ddfma36470 fma  1   -77e-14      10   ->   9.99999999999923\r
980 ddfma36471 fma  1   -77e-15      10   ->   9.999999999999923\r
981 ddfma36472 fma  1   -77e-16      10   ->   9.999999999999992 Inexact Rounded\r
982 ddfma36473 fma  1   -77e-17      10   ->   9.999999999999999 Inexact Rounded\r
983 ddfma36474 fma  1   -77e-18      10   ->  10.00000000000000 Inexact Rounded\r
984 ddfma36475 fma  1   -77e-19      10   ->  10.00000000000000 Inexact Rounded\r
985 ddfma36476 fma  1   -77e-99      10   ->  10.00000000000000 Inexact Rounded\r
987 -- negative ulps\r
988 ddfma36480 fma  1   -1    77e-14      ->  -0.99999999999923\r
989 ddfma36481 fma  1   -1    77e-15      ->  -0.999999999999923\r
990 ddfma36482 fma  1   -1    77e-16      ->  -0.9999999999999923\r
991 ddfma36483 fma  1   -1    77e-17      ->  -0.9999999999999992 Inexact Rounded\r
992 ddfma36484 fma  1   -1    77e-18      ->  -0.9999999999999999 Inexact Rounded\r
993 ddfma36485 fma  1   -1    77e-19      ->  -1.000000000000000 Inexact Rounded\r
994 ddfma36486 fma  1   -1    77e-99      ->  -1.000000000000000 Inexact Rounded\r
996 ddfma36490 fma  1  -10    77e-14      ->   -9.99999999999923\r
997 ddfma36491 fma  1  -10    77e-15      ->   -9.999999999999923\r
998 ddfma36492 fma  1  -10    77e-16      ->   -9.999999999999992 Inexact Rounded\r
999 ddfma36493 fma  1  -10    77e-17      ->   -9.999999999999999 Inexact Rounded\r
1000 ddfma36494 fma  1  -10    77e-18      ->  -10.00000000000000 Inexact Rounded\r
1001 ddfma36495 fma  1  -10    77e-19      ->  -10.00000000000000 Inexact Rounded\r
1002 ddfma36496 fma  1  -10    77e-99      ->  -10.00000000000000 Inexact Rounded\r
1004 ddfma36500 fma  1    77e-14      -1   ->  -0.99999999999923\r
1005 ddfma36501 fma  1    77e-15      -1   ->  -0.999999999999923\r
1006 ddfma36502 fma  1    77e-16      -1   ->  -0.9999999999999923\r
1007 ddfma36503 fma  1    77e-17      -1   ->  -0.9999999999999992 Inexact Rounded\r
1008 ddfma36504 fma  1    77e-18      -1   ->  -0.9999999999999999 Inexact Rounded\r
1009 ddfma36505 fma  1    77e-19      -1   ->  -1.000000000000000 Inexact Rounded\r
1010 ddfma36506 fma  1    77e-99      -1   ->  -1.000000000000000 Inexact Rounded\r
1012 ddfma36510 fma  1    77e-14      -10  ->   -9.99999999999923\r
1013 ddfma36511 fma  1    77e-15      -10  ->   -9.999999999999923\r
1014 ddfma36512 fma  1    77e-16      -10  ->   -9.999999999999992 Inexact Rounded\r
1015 ddfma36513 fma  1    77e-17      -10  ->   -9.999999999999999 Inexact Rounded\r
1016 ddfma36514 fma  1    77e-18      -10  ->  -10.00000000000000 Inexact Rounded\r
1017 ddfma36515 fma  1    77e-19      -10  ->  -10.00000000000000 Inexact Rounded\r
1018 ddfma36516 fma  1    77e-99      -10  ->  -10.00000000000000 Inexact Rounded\r
1020 -- and a couple more with longer RHS\r
1021 ddfma36520 fma  1    1   -7777e-16      ->  0.9999999999992223\r
1022 ddfma36521 fma  1    1   -7777e-17      ->  0.9999999999999222 Inexact Rounded\r
1023 ddfma36522 fma  1    1   -7777e-18      ->  0.9999999999999922 Inexact Rounded\r
1024 ddfma36523 fma  1    1   -7777e-19      ->  0.9999999999999992 Inexact Rounded\r
1025 ddfma36524 fma  1    1   -7777e-20      ->  0.9999999999999999 Inexact Rounded\r
1026 ddfma36525 fma  1    1   -7777e-21      ->  1.000000000000000 Inexact Rounded\r
1027 ddfma36526 fma  1    1   -7777e-22      ->  1.000000000000000 Inexact Rounded\r
1030 -- and some more residue effects and different roundings\r
1031 rounding: half_up\r
1032 ddfma36540 fma  1  '6543210123456789' 0             -> '6543210123456789'\r
1033 ddfma36541 fma  1  '6543210123456789' 0.000000001   -> '6543210123456789' Inexact Rounded\r
1034 ddfma36542 fma  1  '6543210123456789' 0.000001      -> '6543210123456789' Inexact Rounded\r
1035 ddfma36543 fma  1  '6543210123456789' 0.1           -> '6543210123456789' Inexact Rounded\r
1036 ddfma36544 fma  1  '6543210123456789' 0.4           -> '6543210123456789' Inexact Rounded\r
1037 ddfma36545 fma  1  '6543210123456789' 0.49          -> '6543210123456789' Inexact Rounded\r
1038 ddfma36546 fma  1  '6543210123456789' 0.499999      -> '6543210123456789' Inexact Rounded\r
1039 ddfma36547 fma  1  '6543210123456789' 0.499999999   -> '6543210123456789' Inexact Rounded\r
1040 ddfma36548 fma  1  '6543210123456789' 0.5           -> '6543210123456790' Inexact Rounded\r
1041 ddfma36549 fma  1  '6543210123456789' 0.500000001   -> '6543210123456790' Inexact Rounded\r
1042 ddfma36550 fma  1  '6543210123456789' 0.500001      -> '6543210123456790' Inexact Rounded\r
1043 ddfma36551 fma  1  '6543210123456789' 0.51          -> '6543210123456790' Inexact Rounded\r
1044 ddfma36552 fma  1  '6543210123456789' 0.6           -> '6543210123456790' Inexact Rounded\r
1045 ddfma36553 fma  1  '6543210123456789' 0.9           -> '6543210123456790' Inexact Rounded\r
1046 ddfma36554 fma  1  '6543210123456789' 0.99999       -> '6543210123456790' Inexact Rounded\r
1047 ddfma36555 fma  1  '6543210123456789' 0.999999999   -> '6543210123456790' Inexact Rounded\r
1048 ddfma36556 fma  1  '6543210123456789' 1             -> '6543210123456790'\r
1049 ddfma36557 fma  1  '6543210123456789' 1.000000001   -> '6543210123456790' Inexact Rounded\r
1050 ddfma36558 fma  1  '6543210123456789' 1.00001       -> '6543210123456790' Inexact Rounded\r
1051 ddfma36559 fma  1  '6543210123456789' 1.1           -> '6543210123456790' Inexact Rounded\r
1053 rounding: half_even\r
1054 ddfma36560 fma  1  '6543210123456789' 0             -> '6543210123456789'\r
1055 ddfma36561 fma  1  '6543210123456789' 0.000000001   -> '6543210123456789' Inexact Rounded\r
1056 ddfma36562 fma  1  '6543210123456789' 0.000001      -> '6543210123456789' Inexact Rounded\r
1057 ddfma36563 fma  1  '6543210123456789' 0.1           -> '6543210123456789' Inexact Rounded\r
1058 ddfma36564 fma  1  '6543210123456789' 0.4           -> '6543210123456789' Inexact Rounded\r
1059 ddfma36565 fma  1  '6543210123456789' 0.49          -> '6543210123456789' Inexact Rounded\r
1060 ddfma36566 fma  1  '6543210123456789' 0.499999      -> '6543210123456789' Inexact Rounded\r
1061 ddfma36567 fma  1  '6543210123456789' 0.499999999   -> '6543210123456789' Inexact Rounded\r
1062 ddfma36568 fma  1  '6543210123456789' 0.5           -> '6543210123456790' Inexact Rounded\r
1063 ddfma36569 fma  1  '6543210123456789' 0.500000001   -> '6543210123456790' Inexact Rounded\r
1064 ddfma36570 fma  1  '6543210123456789' 0.500001      -> '6543210123456790' Inexact Rounded\r
1065 ddfma36571 fma  1  '6543210123456789' 0.51          -> '6543210123456790' Inexact Rounded\r
1066 ddfma36572 fma  1  '6543210123456789' 0.6           -> '6543210123456790' Inexact Rounded\r
1067 ddfma36573 fma  1  '6543210123456789' 0.9           -> '6543210123456790' Inexact Rounded\r
1068 ddfma36574 fma  1  '6543210123456789' 0.99999       -> '6543210123456790' Inexact Rounded\r
1069 ddfma36575 fma  1  '6543210123456789' 0.999999999   -> '6543210123456790' Inexact Rounded\r
1070 ddfma36576 fma  1  '6543210123456789' 1             -> '6543210123456790'\r
1071 ddfma36577 fma  1  '6543210123456789' 1.00000001    -> '6543210123456790' Inexact Rounded\r
1072 ddfma36578 fma  1  '6543210123456789' 1.00001       -> '6543210123456790' Inexact Rounded\r
1073 ddfma36579 fma  1  '6543210123456789' 1.1           -> '6543210123456790' Inexact Rounded\r
1075 -- critical few with even bottom digit...\r
1076 ddfma37540 fma  1  '6543210123456788' 0.499999999   -> '6543210123456788' Inexact Rounded\r
1077 ddfma37541 fma  1  '6543210123456788' 0.5           -> '6543210123456788' Inexact Rounded\r
1078 ddfma37542 fma  1  '6543210123456788' 0.500000001   -> '6543210123456789' Inexact Rounded\r
1080 rounding: down\r
1081 ddfma37550 fma  1  '6543210123456789' 0             -> '6543210123456789'\r
1082 ddfma37551 fma  1  '6543210123456789' 0.000000001   -> '6543210123456789' Inexact Rounded\r
1083 ddfma37552 fma  1  '6543210123456789' 0.000001      -> '6543210123456789' Inexact Rounded\r
1084 ddfma37553 fma  1  '6543210123456789' 0.1           -> '6543210123456789' Inexact Rounded\r
1085 ddfma37554 fma  1  '6543210123456789' 0.4           -> '6543210123456789' Inexact Rounded\r
1086 ddfma37555 fma  1  '6543210123456789' 0.49          -> '6543210123456789' Inexact Rounded\r
1087 ddfma37556 fma  1  '6543210123456789' 0.499999      -> '6543210123456789' Inexact Rounded\r
1088 ddfma37557 fma  1  '6543210123456789' 0.499999999   -> '6543210123456789' Inexact Rounded\r
1089 ddfma37558 fma  1  '6543210123456789' 0.5           -> '6543210123456789' Inexact Rounded\r
1090 ddfma37559 fma  1  '6543210123456789' 0.500000001   -> '6543210123456789' Inexact Rounded\r
1091 ddfma37560 fma  1  '6543210123456789' 0.500001      -> '6543210123456789' Inexact Rounded\r
1092 ddfma37561 fma  1  '6543210123456789' 0.51          -> '6543210123456789' Inexact Rounded\r
1093 ddfma37562 fma  1  '6543210123456789' 0.6           -> '6543210123456789' Inexact Rounded\r
1094 ddfma37563 fma  1  '6543210123456789' 0.9           -> '6543210123456789' Inexact Rounded\r
1095 ddfma37564 fma  1  '6543210123456789' 0.99999       -> '6543210123456789' Inexact Rounded\r
1096 ddfma37565 fma  1  '6543210123456789' 0.999999999   -> '6543210123456789' Inexact Rounded\r
1097 ddfma37566 fma  1  '6543210123456789' 1             -> '6543210123456790'\r
1098 ddfma37567 fma  1  '6543210123456789' 1.00000001    -> '6543210123456790' Inexact Rounded\r
1099 ddfma37568 fma  1  '6543210123456789' 1.00001       -> '6543210123456790' Inexact Rounded\r
1100 ddfma37569 fma  1  '6543210123456789' 1.1           -> '6543210123456790' Inexact Rounded\r
1103 -- verify a query\r
1104 rounding:     down\r
1105 ddfma37661 fma  1  1e-398 9.000000000000000E+384 -> 9.000000000000000E+384 Inexact Rounded\r
1106 ddfma37662 fma  1       0 9.000000000000000E+384 -> 9.000000000000000E+384 Rounded\r
1107 ddfma37663 fma  1  1e-388 9.000000000000000E+374 -> 9.000000000000000E+374 Inexact Rounded\r
1108 ddfma37664 fma  1       0 9.000000000000000E+374 -> 9.000000000000000E+374 Rounded\r
1110 -- more zeros, etc.\r
1111 rounding: half_even\r
1113 ddfma37701 fma  1  5.00 1.00E-3 -> 5.00100\r
1114 ddfma37702 fma  1  00.00 0.000  -> 0.000\r
1115 ddfma37703 fma  1  00.00 0E-3   -> 0.000\r
1116 ddfma37704 fma  1  0E-3  00.00  -> 0.000\r
1118 ddfma37710 fma  1  0E+3  00.00  -> 0.00\r
1119 ddfma37711 fma  1  0E+3  00.0   -> 0.0\r
1120 ddfma37712 fma  1  0E+3  00.    -> 0\r
1121 ddfma37713 fma  1  0E+3  00.E+1 -> 0E+1\r
1122 ddfma37714 fma  1  0E+3  00.E+2 -> 0E+2\r
1123 ddfma37715 fma  1  0E+3  00.E+3 -> 0E+3\r
1124 ddfma37716 fma  1  0E+3  00.E+4 -> 0E+3\r
1125 ddfma37717 fma  1  0E+3  00.E+5 -> 0E+3\r
1126 ddfma37718 fma  1  0E+3  -00.0   -> 0.0\r
1127 ddfma37719 fma  1  0E+3  -00.    -> 0\r
1128 ddfma37731 fma  1  0E+3  -00.E+1 -> 0E+1\r
1130 ddfma37720 fma  1  00.00  0E+3  -> 0.00\r
1131 ddfma37721 fma  1  00.0   0E+3  -> 0.0\r
1132 ddfma37722 fma  1  00.    0E+3  -> 0\r
1133 ddfma37723 fma  1  00.E+1 0E+3  -> 0E+1\r
1134 ddfma37724 fma  1  00.E+2 0E+3  -> 0E+2\r
1135 ddfma37725 fma  1  00.E+3 0E+3  -> 0E+3\r
1136 ddfma37726 fma  1  00.E+4 0E+3  -> 0E+3\r
1137 ddfma37727 fma  1  00.E+5 0E+3  -> 0E+3\r
1138 ddfma37728 fma  1  -00.00 0E+3  -> 0.00\r
1139 ddfma37729 fma  1  -00.0  0E+3  -> 0.0\r
1140 ddfma37730 fma  1  -00.   0E+3  -> 0\r
1142 ddfma37732 fma  1   0     0     ->  0\r
1143 ddfma37733 fma  1   0    -0     ->  0\r
1144 ddfma37734 fma  1  -0     0     ->  0\r
1145 ddfma37735 fma  1  -0    -0     -> -0     -- IEEE 854 special case\r
1147 ddfma37736 fma  1   1    -1     ->  0\r
1148 ddfma37737 fma  1  -1    -1     -> -2\r
1149 ddfma37738 fma  1   1     1     ->  2\r
1150 ddfma37739 fma  1  -1     1     ->  0\r
1152 ddfma37741 fma  1   0    -1     -> -1\r
1153 ddfma37742 fma  1  -0    -1     -> -1\r
1154 ddfma37743 fma  1   0     1     ->  1\r
1155 ddfma37744 fma  1  -0     1     ->  1\r
1156 ddfma37745 fma  1  -1     0     -> -1\r
1157 ddfma37746 fma  1  -1    -0     -> -1\r
1158 ddfma37747 fma  1   1     0     ->  1\r
1159 ddfma37748 fma  1   1    -0     ->  1\r
1161 ddfma37751 fma  1   0.0  -1     -> -1.0\r
1162 ddfma37752 fma  1  -0.0  -1     -> -1.0\r
1163 ddfma37753 fma  1   0.0   1     ->  1.0\r
1164 ddfma37754 fma  1  -0.0   1     ->  1.0\r
1165 ddfma37755 fma  1  -1.0   0     -> -1.0\r
1166 ddfma37756 fma  1  -1.0  -0     -> -1.0\r
1167 ddfma37757 fma  1   1.0   0     ->  1.0\r
1168 ddfma37758 fma  1   1.0  -0     ->  1.0\r
1170 ddfma37761 fma  1   0    -1.0   -> -1.0\r
1171 ddfma37762 fma  1  -0    -1.0   -> -1.0\r
1172 ddfma37763 fma  1   0     1.0   ->  1.0\r
1173 ddfma37764 fma  1  -0     1.0   ->  1.0\r
1174 ddfma37765 fma  1  -1     0.0   -> -1.0\r
1175 ddfma37766 fma  1  -1    -0.0   -> -1.0\r
1176 ddfma37767 fma  1   1     0.0   ->  1.0\r
1177 ddfma37768 fma  1   1    -0.0   ->  1.0\r
1179 ddfma37771 fma  1   0.0  -1.0   -> -1.0\r
1180 ddfma37772 fma  1  -0.0  -1.0   -> -1.0\r
1181 ddfma37773 fma  1   0.0   1.0   ->  1.0\r
1182 ddfma37774 fma  1  -0.0   1.0   ->  1.0\r
1183 ddfma37775 fma  1  -1.0   0.0   -> -1.0\r
1184 ddfma37776 fma  1  -1.0  -0.0   -> -1.0\r
1185 ddfma37777 fma  1   1.0   0.0   ->  1.0\r
1186 ddfma37778 fma  1   1.0  -0.0   ->  1.0\r
1188 -- Specials\r
1189 ddfma37780 fma  1  -Inf  -Inf   -> -Infinity\r
1190 ddfma37781 fma  1  -Inf  -1000  -> -Infinity\r
1191 ddfma37782 fma  1  -Inf  -1     -> -Infinity\r
1192 ddfma37783 fma  1  -Inf  -0     -> -Infinity\r
1193 ddfma37784 fma  1  -Inf   0     -> -Infinity\r
1194 ddfma37785 fma  1  -Inf   1     -> -Infinity\r
1195 ddfma37786 fma  1  -Inf   1000  -> -Infinity\r
1196 ddfma37787 fma  1  -1000 -Inf   -> -Infinity\r
1197 ddfma37788 fma  1  -Inf  -Inf   -> -Infinity\r
1198 ddfma37789 fma  1  -1    -Inf   -> -Infinity\r
1199 ddfma37790 fma  1  -0    -Inf   -> -Infinity\r
1200 ddfma37791 fma  1   0    -Inf   -> -Infinity\r
1201 ddfma37792 fma  1   1    -Inf   -> -Infinity\r
1202 ddfma37793 fma  1   1000 -Inf   -> -Infinity\r
1203 ddfma37794 fma  1   Inf  -Inf   ->  NaN  Invalid_operation\r
1205 ddfma37800 fma  1   Inf  -Inf   ->  NaN  Invalid_operation\r
1206 ddfma37801 fma  1   Inf  -1000  ->  Infinity\r
1207 ddfma37802 fma  1   Inf  -1     ->  Infinity\r
1208 ddfma37803 fma  1   Inf  -0     ->  Infinity\r
1209 ddfma37804 fma  1   Inf   0     ->  Infinity\r
1210 ddfma37805 fma  1   Inf   1     ->  Infinity\r
1211 ddfma37806 fma  1   Inf   1000  ->  Infinity\r
1212 ddfma37807 fma  1   Inf   Inf   ->  Infinity\r
1213 ddfma37808 fma  1  -1000  Inf   ->  Infinity\r
1214 ddfma37809 fma  1  -Inf   Inf   ->  NaN  Invalid_operation\r
1215 ddfma37810 fma  1  -1     Inf   ->  Infinity\r
1216 ddfma37811 fma  1  -0     Inf   ->  Infinity\r
1217 ddfma37812 fma  1   0     Inf   ->  Infinity\r
1218 ddfma37813 fma  1   1     Inf   ->  Infinity\r
1219 ddfma37814 fma  1   1000  Inf   ->  Infinity\r
1220 ddfma37815 fma  1   Inf   Inf   ->  Infinity\r
1222 ddfma37821 fma  1   NaN -Inf    ->  NaN\r
1223 ddfma37822 fma  1   NaN -1000   ->  NaN\r
1224 ddfma37823 fma  1   NaN -1      ->  NaN\r
1225 ddfma37824 fma  1   NaN -0      ->  NaN\r
1226 ddfma37825 fma  1   NaN  0      ->  NaN\r
1227 ddfma37826 fma  1   NaN  1      ->  NaN\r
1228 ddfma37827 fma  1   NaN  1000   ->  NaN\r
1229 ddfma37828 fma  1   NaN  Inf    ->  NaN\r
1230 ddfma37829 fma  1   NaN  NaN    ->  NaN\r
1231 ddfma37830 fma  1  -Inf  NaN    ->  NaN\r
1232 ddfma37831 fma  1  -1000 NaN    ->  NaN\r
1233 ddfma37832 fma  1  -1    NaN    ->  NaN\r
1234 ddfma37833 fma  1  -0    NaN    ->  NaN\r
1235 ddfma37834 fma  1   0    NaN    ->  NaN\r
1236 ddfma37835 fma  1   1    NaN    ->  NaN\r
1237 ddfma37836 fma  1   1000 NaN    ->  NaN\r
1238 ddfma37837 fma  1   Inf  NaN    ->  NaN\r
1240 ddfma37841 fma  1   sNaN -Inf   ->  NaN  Invalid_operation\r
1241 ddfma37842 fma  1   sNaN -1000  ->  NaN  Invalid_operation\r
1242 ddfma37843 fma  1   sNaN -1     ->  NaN  Invalid_operation\r
1243 ddfma37844 fma  1   sNaN -0     ->  NaN  Invalid_operation\r
1244 ddfma37845 fma  1   sNaN  0     ->  NaN  Invalid_operation\r
1245 ddfma37846 fma  1   sNaN  1     ->  NaN  Invalid_operation\r
1246 ddfma37847 fma  1   sNaN  1000  ->  NaN  Invalid_operation\r
1247 ddfma37848 fma  1   sNaN  NaN   ->  NaN  Invalid_operation\r
1248 ddfma37849 fma  1   sNaN sNaN   ->  NaN  Invalid_operation\r
1249 ddfma37850 fma  1   NaN  sNaN   ->  NaN  Invalid_operation\r
1250 ddfma37851 fma  1  -Inf  sNaN   ->  NaN  Invalid_operation\r
1251 ddfma37852 fma  1  -1000 sNaN   ->  NaN  Invalid_operation\r
1252 ddfma37853 fma  1  -1    sNaN   ->  NaN  Invalid_operation\r
1253 ddfma37854 fma  1  -0    sNaN   ->  NaN  Invalid_operation\r
1254 ddfma37855 fma  1   0    sNaN   ->  NaN  Invalid_operation\r
1255 ddfma37856 fma  1   1    sNaN   ->  NaN  Invalid_operation\r
1256 ddfma37857 fma  1   1000 sNaN   ->  NaN  Invalid_operation\r
1257 ddfma37858 fma  1   Inf  sNaN   ->  NaN  Invalid_operation\r
1258 ddfma37859 fma  1   NaN  sNaN   ->  NaN  Invalid_operation\r
1260 -- propagating NaNs\r
1261 ddfma37861 fma  1   NaN1   -Inf    ->  NaN1\r
1262 ddfma37862 fma  1  +NaN2   -1000   ->  NaN2\r
1263 ddfma37863 fma  1   NaN3    1000   ->  NaN3\r
1264 ddfma37864 fma  1   NaN4    Inf    ->  NaN4\r
1265 ddfma37865 fma  1   NaN5   +NaN6   ->  NaN5\r
1266 ddfma37866 fma  1  -Inf     NaN7   ->  NaN7\r
1267 ddfma37867 fma  1  -1000    NaN8   ->  NaN8\r
1268 ddfma37868 fma  1   1000    NaN9   ->  NaN9\r
1269 ddfma37869 fma  1   Inf    +NaN10  ->  NaN10\r
1270 ddfma37871 fma  1   sNaN11  -Inf   ->  NaN11  Invalid_operation\r
1271 ddfma37872 fma  1   sNaN12  -1000  ->  NaN12  Invalid_operation\r
1272 ddfma37873 fma  1   sNaN13   1000  ->  NaN13  Invalid_operation\r
1273 ddfma37874 fma  1   sNaN14   NaN17 ->  NaN14  Invalid_operation\r
1274 ddfma37875 fma  1   sNaN15  sNaN18 ->  NaN15  Invalid_operation\r
1275 ddfma37876 fma  1   NaN16   sNaN19 ->  NaN19  Invalid_operation\r
1276 ddfma37877 fma  1  -Inf    +sNaN20 ->  NaN20  Invalid_operation\r
1277 ddfma37878 fma  1  -1000    sNaN21 ->  NaN21  Invalid_operation\r
1278 ddfma37879 fma  1   1000    sNaN22 ->  NaN22  Invalid_operation\r
1279 ddfma37880 fma  1   Inf     sNaN23 ->  NaN23  Invalid_operation\r
1280 ddfma37881 fma  1  +NaN25  +sNaN24 ->  NaN24  Invalid_operation\r
1281 ddfma37882 fma  1  -NaN26    NaN28 -> -NaN26\r
1282 ddfma37883 fma  1  -sNaN27  sNaN29 -> -NaN27  Invalid_operation\r
1283 ddfma37884 fma  1   1000    -NaN30 -> -NaN30\r
1284 ddfma37885 fma  1   1000   -sNaN31 -> -NaN31  Invalid_operation\r
1286 -- Here we explore near the boundary of rounding a subnormal to Nmin\r
1287 ddfma37575 fma  1   1E-383 -1E-398 ->  9.99999999999999E-384  Subnormal\r
1288 ddfma37576 fma  1  -1E-383 +1E-398 -> -9.99999999999999E-384  Subnormal\r
1290 -- check overflow edge case\r
1291 --               1234567890123456\r
1292 ddfma37972 apply   9.999999999999999E+384         -> 9.999999999999999E+384\r
1293 ddfma37973 fma  1      9.999999999999999E+384  1      -> 9.999999999999999E+384 Inexact Rounded\r
1294 ddfma37974 fma  1       9999999999999999E+369  1      -> 9.999999999999999E+384 Inexact Rounded\r
1295 ddfma37975 fma  1       9999999999999999E+369  1E+369  -> Infinity Overflow Inexact Rounded\r
1296 ddfma37976 fma  1       9999999999999999E+369  9E+368  -> Infinity Overflow Inexact Rounded\r
1297 ddfma37977 fma  1       9999999999999999E+369  8E+368  -> Infinity Overflow Inexact Rounded\r
1298 ddfma37978 fma  1       9999999999999999E+369  7E+368  -> Infinity Overflow Inexact Rounded\r
1299 ddfma37979 fma  1       9999999999999999E+369  6E+368  -> Infinity Overflow Inexact Rounded\r
1300 ddfma37980 fma  1       9999999999999999E+369  5E+368  -> Infinity Overflow Inexact Rounded\r
1301 ddfma37981 fma  1       9999999999999999E+369  4E+368  -> 9.999999999999999E+384 Inexact Rounded\r
1302 ddfma37982 fma  1       9999999999999999E+369  3E+368  -> 9.999999999999999E+384 Inexact Rounded\r
1303 ddfma37983 fma  1       9999999999999999E+369  2E+368  -> 9.999999999999999E+384 Inexact Rounded\r
1304 ddfma37984 fma  1       9999999999999999E+369  1E+368  -> 9.999999999999999E+384 Inexact Rounded\r
1306 ddfma37985 apply  -9.999999999999999E+384         -> -9.999999999999999E+384\r
1307 ddfma37986 fma  1     -9.999999999999999E+384 -1      -> -9.999999999999999E+384 Inexact Rounded\r
1308 ddfma37987 fma  1      -9999999999999999E+369 -1      -> -9.999999999999999E+384 Inexact Rounded\r
1309 ddfma37988 fma  1      -9999999999999999E+369 -1E+369  -> -Infinity Overflow Inexact Rounded\r
1310 ddfma37989 fma  1      -9999999999999999E+369 -9E+368  -> -Infinity Overflow Inexact Rounded\r
1311 ddfma37990 fma  1      -9999999999999999E+369 -8E+368  -> -Infinity Overflow Inexact Rounded\r
1312 ddfma37991 fma  1      -9999999999999999E+369 -7E+368  -> -Infinity Overflow Inexact Rounded\r
1313 ddfma37992 fma  1      -9999999999999999E+369 -6E+368  -> -Infinity Overflow Inexact Rounded\r
1314 ddfma37993 fma  1      -9999999999999999E+369 -5E+368  -> -Infinity Overflow Inexact Rounded\r
1315 ddfma37994 fma  1      -9999999999999999E+369 -4E+368  -> -9.999999999999999E+384 Inexact Rounded\r
1316 ddfma37995 fma  1      -9999999999999999E+369 -3E+368  -> -9.999999999999999E+384 Inexact Rounded\r
1317 ddfma37996 fma  1      -9999999999999999E+369 -2E+368  -> -9.999999999999999E+384 Inexact Rounded\r
1318 ddfma37997 fma  1      -9999999999999999E+369 -1E+368  -> -9.999999999999999E+384 Inexact Rounded\r
1320 -- And for round down full and subnormal results\r
1321 rounding:     down\r
1322 ddfma371100 fma  1  1e+2 -1e-383    -> 99.99999999999999 Rounded Inexact\r
1323 ddfma371101 fma  1  1e+1 -1e-383    -> 9.999999999999999  Rounded Inexact\r
1324 ddfma371103 fma  1    +1 -1e-383    -> 0.9999999999999999  Rounded Inexact\r
1325 ddfma371104 fma  1  1e-1 -1e-383    -> 0.09999999999999999  Rounded Inexact\r
1326 ddfma371105 fma  1  1e-2 -1e-383    -> 0.009999999999999999  Rounded Inexact\r
1327 ddfma371106 fma  1  1e-3 -1e-383    -> 0.0009999999999999999  Rounded Inexact\r
1328 ddfma371107 fma  1  1e-4 -1e-383    -> 0.00009999999999999999  Rounded Inexact\r
1329 ddfma371108 fma  1  1e-5 -1e-383    -> 0.000009999999999999999  Rounded Inexact\r
1330 ddfma371109 fma  1  1e-6 -1e-383    -> 9.999999999999999E-7  Rounded Inexact\r
1332 rounding:     ceiling\r
1333 ddfma371110 fma  1  -1e+2 +1e-383   -> -99.99999999999999 Rounded Inexact\r
1334 ddfma371111 fma  1  -1e+1 +1e-383   -> -9.999999999999999  Rounded Inexact\r
1335 ddfma371113 fma  1     -1 +1e-383   -> -0.9999999999999999  Rounded Inexact\r
1336 ddfma371114 fma  1  -1e-1 +1e-383   -> -0.09999999999999999  Rounded Inexact\r
1337 ddfma371115 fma  1  -1e-2 +1e-383   -> -0.009999999999999999  Rounded Inexact\r
1338 ddfma371116 fma  1  -1e-3 +1e-383   -> -0.0009999999999999999  Rounded Inexact\r
1339 ddfma371117 fma  1  -1e-4 +1e-383   -> -0.00009999999999999999  Rounded Inexact\r
1340 ddfma371118 fma  1  -1e-5 +1e-383   -> -0.000009999999999999999  Rounded Inexact\r
1341 ddfma371119 fma  1  -1e-6 +1e-383   -> -9.999999999999999E-7  Rounded Inexact\r
1343 -- tests based on Gunnar Degnbol's edge case\r
1344 rounding:     half_even\r
1346 ddfma371300 fma  1  1E16  -0.5                 ->  1.000000000000000E+16 Inexact Rounded\r
1347 ddfma371310 fma  1  1E16  -0.51                ->  9999999999999999      Inexact Rounded\r
1348 ddfma371311 fma  1  1E16  -0.501               ->  9999999999999999      Inexact Rounded\r
1349 ddfma371312 fma  1  1E16  -0.5001              ->  9999999999999999      Inexact Rounded\r
1350 ddfma371313 fma  1  1E16  -0.50001             ->  9999999999999999      Inexact Rounded\r
1351 ddfma371314 fma  1  1E16  -0.500001            ->  9999999999999999      Inexact Rounded\r
1352 ddfma371315 fma  1  1E16  -0.5000001           ->  9999999999999999      Inexact Rounded\r
1353 ddfma371316 fma  1  1E16  -0.50000001          ->  9999999999999999      Inexact Rounded\r
1354 ddfma371317 fma  1  1E16  -0.500000001         ->  9999999999999999      Inexact Rounded\r
1355 ddfma371318 fma  1  1E16  -0.5000000001        ->  9999999999999999      Inexact Rounded\r
1356 ddfma371319 fma  1  1E16  -0.50000000001       ->  9999999999999999      Inexact Rounded\r
1357 ddfma371320 fma  1  1E16  -0.500000000001      ->  9999999999999999      Inexact Rounded\r
1358 ddfma371321 fma  1  1E16  -0.5000000000001     ->  9999999999999999      Inexact Rounded\r
1359 ddfma371322 fma  1  1E16  -0.50000000000001    ->  9999999999999999      Inexact Rounded\r
1360 ddfma371323 fma  1  1E16  -0.500000000000001   ->  9999999999999999      Inexact Rounded\r
1361 ddfma371324 fma  1  1E16  -0.5000000000000001  ->  9999999999999999      Inexact Rounded\r
1362 ddfma371325 fma  1  1E16  -0.5000000000000000  ->  1.000000000000000E+16 Inexact Rounded\r
1363 ddfma371326 fma  1  1E16  -0.500000000000000   ->  1.000000000000000E+16 Inexact Rounded\r
1364 ddfma371327 fma  1  1E16  -0.50000000000000    ->  1.000000000000000E+16 Inexact Rounded\r
1365 ddfma371328 fma  1  1E16  -0.5000000000000     ->  1.000000000000000E+16 Inexact Rounded\r
1366 ddfma371329 fma  1  1E16  -0.500000000000      ->  1.000000000000000E+16 Inexact Rounded\r
1367 ddfma371330 fma  1  1E16  -0.50000000000       ->  1.000000000000000E+16 Inexact Rounded\r
1368 ddfma371331 fma  1  1E16  -0.5000000000        ->  1.000000000000000E+16 Inexact Rounded\r
1369 ddfma371332 fma  1  1E16  -0.500000000         ->  1.000000000000000E+16 Inexact Rounded\r
1370 ddfma371333 fma  1  1E16  -0.50000000          ->  1.000000000000000E+16 Inexact Rounded\r
1371 ddfma371334 fma  1  1E16  -0.5000000           ->  1.000000000000000E+16 Inexact Rounded\r
1372 ddfma371335 fma  1  1E16  -0.500000            ->  1.000000000000000E+16 Inexact Rounded\r
1373 ddfma371336 fma  1  1E16  -0.50000             ->  1.000000000000000E+16 Inexact Rounded\r
1374 ddfma371337 fma  1  1E16  -0.5000              ->  1.000000000000000E+16 Inexact Rounded\r
1375 ddfma371338 fma  1  1E16  -0.500               ->  1.000000000000000E+16 Inexact Rounded\r
1376 ddfma371339 fma  1  1E16  -0.50                ->  1.000000000000000E+16 Inexact Rounded\r
1378 ddfma371340 fma  1  1E16  -5000000.000010001   ->  9999999995000000      Inexact Rounded\r
1379 ddfma371341 fma  1  1E16  -5000000.000000001   ->  9999999995000000      Inexact Rounded\r
1381 ddfma371349 fma  1  9999999999999999 0.4                 ->  9999999999999999      Inexact Rounded\r
1382 ddfma371350 fma  1  9999999999999999 0.49                ->  9999999999999999      Inexact Rounded\r
1383 ddfma371351 fma  1  9999999999999999 0.499               ->  9999999999999999      Inexact Rounded\r
1384 ddfma371352 fma  1  9999999999999999 0.4999              ->  9999999999999999      Inexact Rounded\r
1385 ddfma371353 fma  1  9999999999999999 0.49999             ->  9999999999999999      Inexact Rounded\r
1386 ddfma371354 fma  1  9999999999999999 0.499999            ->  9999999999999999      Inexact Rounded\r
1387 ddfma371355 fma  1  9999999999999999 0.4999999           ->  9999999999999999      Inexact Rounded\r
1388 ddfma371356 fma  1  9999999999999999 0.49999999          ->  9999999999999999      Inexact Rounded\r
1389 ddfma371357 fma  1  9999999999999999 0.499999999         ->  9999999999999999      Inexact Rounded\r
1390 ddfma371358 fma  1  9999999999999999 0.4999999999        ->  9999999999999999      Inexact Rounded\r
1391 ddfma371359 fma  1  9999999999999999 0.49999999999       ->  9999999999999999      Inexact Rounded\r
1392 ddfma371360 fma  1  9999999999999999 0.499999999999      ->  9999999999999999      Inexact Rounded\r
1393 ddfma371361 fma  1  9999999999999999 0.4999999999999     ->  9999999999999999      Inexact Rounded\r
1394 ddfma371362 fma  1  9999999999999999 0.49999999999999    ->  9999999999999999      Inexact Rounded\r
1395 ddfma371363 fma  1  9999999999999999 0.499999999999999   ->  9999999999999999      Inexact Rounded\r
1396 ddfma371364 fma  1  9999999999999999 0.4999999999999999  ->  9999999999999999      Inexact Rounded\r
1397 ddfma371365 fma  1  9999999999999999 0.5000000000000000  ->  1.000000000000000E+16 Inexact Rounded\r
1398 ddfma371367 fma  1  9999999999999999 0.500000000000000   ->  1.000000000000000E+16 Inexact Rounded\r
1399 ddfma371368 fma  1  9999999999999999 0.50000000000000    ->  1.000000000000000E+16 Inexact Rounded\r
1400 ddfma371369 fma  1  9999999999999999 0.5000000000000     ->  1.000000000000000E+16 Inexact Rounded\r
1401 ddfma371370 fma  1  9999999999999999 0.500000000000      ->  1.000000000000000E+16 Inexact Rounded\r
1402 ddfma371371 fma  1  9999999999999999 0.50000000000       ->  1.000000000000000E+16 Inexact Rounded\r
1403 ddfma371372 fma  1  9999999999999999 0.5000000000        ->  1.000000000000000E+16 Inexact Rounded\r
1404 ddfma371373 fma  1  9999999999999999 0.500000000         ->  1.000000000000000E+16 Inexact Rounded\r
1405 ddfma371374 fma  1  9999999999999999 0.50000000          ->  1.000000000000000E+16 Inexact Rounded\r
1406 ddfma371375 fma  1  9999999999999999 0.5000000           ->  1.000000000000000E+16 Inexact Rounded\r
1407 ddfma371376 fma  1  9999999999999999 0.500000            ->  1.000000000000000E+16 Inexact Rounded\r
1408 ddfma371377 fma  1  9999999999999999 0.50000             ->  1.000000000000000E+16 Inexact Rounded\r
1409 ddfma371378 fma  1  9999999999999999 0.5000              ->  1.000000000000000E+16 Inexact Rounded\r
1410 ddfma371379 fma  1  9999999999999999 0.500               ->  1.000000000000000E+16 Inexact Rounded\r
1411 ddfma371380 fma  1  9999999999999999 0.50                ->  1.000000000000000E+16 Inexact Rounded\r
1412 ddfma371381 fma  1  9999999999999999 0.5                 ->  1.000000000000000E+16 Inexact Rounded\r
1413 ddfma371382 fma  1  9999999999999999 0.5000000000000001  ->  1.000000000000000E+16 Inexact Rounded\r
1414 ddfma371383 fma  1  9999999999999999 0.500000000000001   ->  1.000000000000000E+16 Inexact Rounded\r
1415 ddfma371384 fma  1  9999999999999999 0.50000000000001    ->  1.000000000000000E+16 Inexact Rounded\r
1416 ddfma371385 fma  1  9999999999999999 0.5000000000001     ->  1.000000000000000E+16 Inexact Rounded\r
1417 ddfma371386 fma  1  9999999999999999 0.500000000001      ->  1.000000000000000E+16 Inexact Rounded\r
1418 ddfma371387 fma  1  9999999999999999 0.50000000001       ->  1.000000000000000E+16 Inexact Rounded\r
1419 ddfma371388 fma  1  9999999999999999 0.5000000001        ->  1.000000000000000E+16 Inexact Rounded\r
1420 ddfma371389 fma  1  9999999999999999 0.500000001         ->  1.000000000000000E+16 Inexact Rounded\r
1421 ddfma371390 fma  1  9999999999999999 0.50000001          ->  1.000000000000000E+16 Inexact Rounded\r
1422 ddfma371391 fma  1  9999999999999999 0.5000001           ->  1.000000000000000E+16 Inexact Rounded\r
1423 ddfma371392 fma  1  9999999999999999 0.500001            ->  1.000000000000000E+16 Inexact Rounded\r
1424 ddfma371393 fma  1  9999999999999999 0.50001             ->  1.000000000000000E+16 Inexact Rounded\r
1425 ddfma371394 fma  1  9999999999999999 0.5001              ->  1.000000000000000E+16 Inexact Rounded\r
1426 ddfma371395 fma  1  9999999999999999 0.501               ->  1.000000000000000E+16 Inexact Rounded\r
1427 ddfma371396 fma  1  9999999999999999 0.51                ->  1.000000000000000E+16 Inexact Rounded\r
1429 -- More GD edge cases, where difference between the unadjusted\r
1430 -- exponents is larger than the maximum precision and one side is 0\r
1431 ddfma371420 fma  1   0 1.123456789012345     -> 1.123456789012345\r
1432 ddfma371421 fma  1   0 1.123456789012345E-1  -> 0.1123456789012345\r
1433 ddfma371422 fma  1   0 1.123456789012345E-2  -> 0.01123456789012345\r
1434 ddfma371423 fma  1   0 1.123456789012345E-3  -> 0.001123456789012345\r
1435 ddfma371424 fma  1   0 1.123456789012345E-4  -> 0.0001123456789012345\r
1436 ddfma371425 fma  1   0 1.123456789012345E-5  -> 0.00001123456789012345\r
1437 ddfma371426 fma  1   0 1.123456789012345E-6  -> 0.000001123456789012345\r
1438 ddfma371427 fma  1   0 1.123456789012345E-7  -> 1.123456789012345E-7\r
1439 ddfma371428 fma  1   0 1.123456789012345E-8  -> 1.123456789012345E-8\r
1440 ddfma371429 fma  1   0 1.123456789012345E-9  -> 1.123456789012345E-9\r
1441 ddfma371430 fma  1   0 1.123456789012345E-10 -> 1.123456789012345E-10\r
1442 ddfma371431 fma  1   0 1.123456789012345E-11 -> 1.123456789012345E-11\r
1443 ddfma371432 fma  1   0 1.123456789012345E-12 -> 1.123456789012345E-12\r
1444 ddfma371433 fma  1   0 1.123456789012345E-13 -> 1.123456789012345E-13\r
1445 ddfma371434 fma  1   0 1.123456789012345E-14 -> 1.123456789012345E-14\r
1446 ddfma371435 fma  1   0 1.123456789012345E-15 -> 1.123456789012345E-15\r
1447 ddfma371436 fma  1   0 1.123456789012345E-16 -> 1.123456789012345E-16\r
1448 ddfma371437 fma  1   0 1.123456789012345E-17 -> 1.123456789012345E-17\r
1449 ddfma371438 fma  1   0 1.123456789012345E-18 -> 1.123456789012345E-18\r
1450 ddfma371439 fma  1   0 1.123456789012345E-19 -> 1.123456789012345E-19\r
1452 -- same, reversed 0\r
1453 ddfma371440 fma  1  1.123456789012345     0 -> 1.123456789012345\r
1454 ddfma371441 fma  1  1.123456789012345E-1  0 -> 0.1123456789012345\r
1455 ddfma371442 fma  1  1.123456789012345E-2  0 -> 0.01123456789012345\r
1456 ddfma371443 fma  1  1.123456789012345E-3  0 -> 0.001123456789012345\r
1457 ddfma371444 fma  1  1.123456789012345E-4  0 -> 0.0001123456789012345\r
1458 ddfma371445 fma  1  1.123456789012345E-5  0 -> 0.00001123456789012345\r
1459 ddfma371446 fma  1  1.123456789012345E-6  0 -> 0.000001123456789012345\r
1460 ddfma371447 fma  1  1.123456789012345E-7  0 -> 1.123456789012345E-7\r
1461 ddfma371448 fma  1  1.123456789012345E-8  0 -> 1.123456789012345E-8\r
1462 ddfma371449 fma  1  1.123456789012345E-9  0 -> 1.123456789012345E-9\r
1463 ddfma371450 fma  1  1.123456789012345E-10 0 -> 1.123456789012345E-10\r
1464 ddfma371451 fma  1  1.123456789012345E-11 0 -> 1.123456789012345E-11\r
1465 ddfma371452 fma  1  1.123456789012345E-12 0 -> 1.123456789012345E-12\r
1466 ddfma371453 fma  1  1.123456789012345E-13 0 -> 1.123456789012345E-13\r
1467 ddfma371454 fma  1  1.123456789012345E-14 0 -> 1.123456789012345E-14\r
1468 ddfma371455 fma  1  1.123456789012345E-15 0 -> 1.123456789012345E-15\r
1469 ddfma371456 fma  1  1.123456789012345E-16 0 -> 1.123456789012345E-16\r
1470 ddfma371457 fma  1  1.123456789012345E-17 0 -> 1.123456789012345E-17\r
1471 ddfma371458 fma  1  1.123456789012345E-18 0 -> 1.123456789012345E-18\r
1472 ddfma371459 fma  1  1.123456789012345E-19 0 -> 1.123456789012345E-19\r
1474 -- same, Es on the 0\r
1475 ddfma371460 fma  1  1.123456789012345  0E-0   -> 1.123456789012345\r
1476 ddfma371461 fma  1  1.123456789012345  0E-1   -> 1.123456789012345\r
1477 ddfma371462 fma  1  1.123456789012345  0E-2   -> 1.123456789012345\r
1478 ddfma371463 fma  1  1.123456789012345  0E-3   -> 1.123456789012345\r
1479 ddfma371464 fma  1  1.123456789012345  0E-4   -> 1.123456789012345\r
1480 ddfma371465 fma  1  1.123456789012345  0E-5   -> 1.123456789012345\r
1481 ddfma371466 fma  1  1.123456789012345  0E-6   -> 1.123456789012345\r
1482 ddfma371467 fma  1  1.123456789012345  0E-7   -> 1.123456789012345\r
1483 ddfma371468 fma  1  1.123456789012345  0E-8   -> 1.123456789012345\r
1484 ddfma371469 fma  1  1.123456789012345  0E-9   -> 1.123456789012345\r
1485 ddfma371470 fma  1  1.123456789012345  0E-10  -> 1.123456789012345\r
1486 ddfma371471 fma  1  1.123456789012345  0E-11  -> 1.123456789012345\r
1487 ddfma371472 fma  1  1.123456789012345  0E-12  -> 1.123456789012345\r
1488 ddfma371473 fma  1  1.123456789012345  0E-13  -> 1.123456789012345\r
1489 ddfma371474 fma  1  1.123456789012345  0E-14  -> 1.123456789012345\r
1490 ddfma371475 fma  1  1.123456789012345  0E-15  -> 1.123456789012345\r
1491 -- next four flag Rounded because the 0 extends the result\r
1492 ddfma371476 fma  1  1.123456789012345  0E-16  -> 1.123456789012345 Rounded\r
1493 ddfma371477 fma  1  1.123456789012345  0E-17  -> 1.123456789012345 Rounded\r
1494 ddfma371478 fma  1  1.123456789012345  0E-18  -> 1.123456789012345 Rounded\r
1495 ddfma371479 fma  1  1.123456789012345  0E-19  -> 1.123456789012345 Rounded\r
1497 -- sum of two opposite-sign operands is exactly 0 and floor => -0\r
1498 rounding:    half_up\r
1499 -- exact zeros from zeros\r
1500 ddfma371500 fma  1   0        0E-19  ->  0E-19\r
1501 ddfma371501 fma  1  -0        0E-19  ->  0E-19\r
1502 ddfma371502 fma  1   0       -0E-19  ->  0E-19\r
1503 ddfma371503 fma  1  -0       -0E-19  -> -0E-19\r
1504 -- exact zeros from non-zeros\r
1505 ddfma371511 fma  1  -11      11    ->  0\r
1506 ddfma371512 fma  1   11     -11    ->  0\r
1508 rounding:    half_down\r
1509 -- exact zeros from zeros\r
1510 ddfma371520 fma  1   0        0E-19  ->  0E-19\r
1511 ddfma371521 fma  1  -0        0E-19  ->  0E-19\r
1512 ddfma371522 fma  1   0       -0E-19  ->  0E-19\r
1513 ddfma371523 fma  1  -0       -0E-19  -> -0E-19\r
1514 -- exact zeros from non-zeros\r
1515 ddfma371531 fma  1  -11      11    ->  0\r
1516 ddfma371532 fma  1   11     -11    ->  0\r
1518 rounding:    half_even\r
1519 -- exact zeros from zeros\r
1520 ddfma371540 fma  1   0        0E-19  ->  0E-19\r
1521 ddfma371541 fma  1  -0        0E-19  ->  0E-19\r
1522 ddfma371542 fma  1   0       -0E-19  ->  0E-19\r
1523 ddfma371543 fma  1  -0       -0E-19  -> -0E-19\r
1524 -- exact zeros from non-zeros\r
1525 ddfma371551 fma  1  -11      11    ->  0\r
1526 ddfma371552 fma  1   11     -11    ->  0\r
1528 rounding:    up\r
1529 -- exact zeros from zeros\r
1530 ddfma371560 fma  1   0        0E-19  ->  0E-19\r
1531 ddfma371561 fma  1  -0        0E-19  ->  0E-19\r
1532 ddfma371562 fma  1   0       -0E-19  ->  0E-19\r
1533 ddfma371563 fma  1  -0       -0E-19  -> -0E-19\r
1534 -- exact zeros from non-zeros\r
1535 ddfma371571 fma  1  -11      11    ->  0\r
1536 ddfma371572 fma  1   11     -11    ->  0\r
1538 rounding:    down\r
1539 -- exact zeros from zeros\r
1540 ddfma371580 fma  1   0        0E-19  ->  0E-19\r
1541 ddfma371581 fma  1  -0        0E-19  ->  0E-19\r
1542 ddfma371582 fma  1   0       -0E-19  ->  0E-19\r
1543 ddfma371583 fma  1  -0       -0E-19  -> -0E-19\r
1544 -- exact zeros from non-zeros\r
1545 ddfma371591 fma  1  -11      11    ->  0\r
1546 ddfma371592 fma  1   11     -11    ->  0\r
1548 rounding:    ceiling\r
1549 -- exact zeros from zeros\r
1550 ddfma371600 fma  1   0        0E-19  ->  0E-19\r
1551 ddfma371601 fma  1  -0        0E-19  ->  0E-19\r
1552 ddfma371602 fma  1   0       -0E-19  ->  0E-19\r
1553 ddfma371603 fma  1  -0       -0E-19  -> -0E-19\r
1554 -- exact zeros from non-zeros\r
1555 ddfma371611 fma  1  -11      11    ->  0\r
1556 ddfma371612 fma  1   11     -11    ->  0\r
1558 -- and the extra-special ugly case; unusual minuses marked by -- *\r
1559 rounding:    floor\r
1560 -- exact zeros from zeros\r
1561 ddfma371620 fma  1   0        0E-19  ->  0E-19\r
1562 ddfma371621 fma  1  -0        0E-19  -> -0E-19           -- *\r
1563 ddfma371622 fma  1   0       -0E-19  -> -0E-19           -- *\r
1564 ddfma371623 fma  1  -0       -0E-19  -> -0E-19\r
1565 -- exact zeros from non-zeros\r
1566 ddfma371631 fma  1  -11      11    ->  -0                -- *\r
1567 ddfma371632 fma  1   11     -11    ->  -0                -- *\r
1569 -- Examples from SQL proposal (Krishna Kulkarni)\r
1570 ddfma371701 fma  1  130E-2    120E-2    -> 2.50\r
1571 ddfma371702 fma  1  130E-2    12E-1     -> 2.50\r
1572 ddfma371703 fma  1  130E-2    1E0       -> 2.30\r
1573 ddfma371704 fma  1  1E2       1E4       -> 1.01E+4\r
1574 ddfma371705 fma  1  130E-2   -120E-2 -> 0.10\r
1575 ddfma371706 fma  1  130E-2   -12E-1  -> 0.10\r
1576 ddfma371707 fma  1  130E-2   -1E0    -> 0.30\r
1577 ddfma371708 fma  1  1E2      -1E4    -> -9.9E+3\r
1579 -- Gappy coefficients; check residue handling even with full coefficient gap\r
1580 rounding: half_even\r
1582 ddfma375001 fma  1  1234567890123456 1      -> 1234567890123457\r
1583 ddfma375002 fma  1  1234567890123456 0.6    -> 1234567890123457  Inexact Rounded\r
1584 ddfma375003 fma  1  1234567890123456 0.06   -> 1234567890123456  Inexact Rounded\r
1585 ddfma375004 fma  1  1234567890123456 6E-3   -> 1234567890123456  Inexact Rounded\r
1586 ddfma375005 fma  1  1234567890123456 6E-4   -> 1234567890123456  Inexact Rounded\r
1587 ddfma375006 fma  1  1234567890123456 6E-5   -> 1234567890123456  Inexact Rounded\r
1588 ddfma375007 fma  1  1234567890123456 6E-6   -> 1234567890123456  Inexact Rounded\r
1589 ddfma375008 fma  1  1234567890123456 6E-7   -> 1234567890123456  Inexact Rounded\r
1590 ddfma375009 fma  1  1234567890123456 6E-8   -> 1234567890123456  Inexact Rounded\r
1591 ddfma375010 fma  1  1234567890123456 6E-9   -> 1234567890123456  Inexact Rounded\r
1592 ddfma375011 fma  1  1234567890123456 6E-10  -> 1234567890123456  Inexact Rounded\r
1593 ddfma375012 fma  1  1234567890123456 6E-11  -> 1234567890123456  Inexact Rounded\r
1594 ddfma375013 fma  1  1234567890123456 6E-12  -> 1234567890123456  Inexact Rounded\r
1595 ddfma375014 fma  1  1234567890123456 6E-13  -> 1234567890123456  Inexact Rounded\r
1596 ddfma375015 fma  1  1234567890123456 6E-14  -> 1234567890123456  Inexact Rounded\r
1597 ddfma375016 fma  1  1234567890123456 6E-15  -> 1234567890123456  Inexact Rounded\r
1598 ddfma375017 fma  1  1234567890123456 6E-16  -> 1234567890123456  Inexact Rounded\r
1599 ddfma375018 fma  1  1234567890123456 6E-17  -> 1234567890123456  Inexact Rounded\r
1600 ddfma375019 fma  1  1234567890123456 6E-18  -> 1234567890123456  Inexact Rounded\r
1601 ddfma375020 fma  1  1234567890123456 6E-19  -> 1234567890123456  Inexact Rounded\r
1602 ddfma375021 fma  1  1234567890123456 6E-20  -> 1234567890123456  Inexact Rounded\r
1604 -- widening second argument at gap\r
1605 ddfma375030 fma  1  12345678 1                       -> 12345679\r
1606 ddfma375031 fma  1  12345678 0.1                     -> 12345678.1\r
1607 ddfma375032 fma  1  12345678 0.12                    -> 12345678.12\r
1608 ddfma375033 fma  1  12345678 0.123                   -> 12345678.123\r
1609 ddfma375034 fma  1  12345678 0.1234                  -> 12345678.1234\r
1610 ddfma375035 fma  1  12345678 0.12345                 -> 12345678.12345\r
1611 ddfma375036 fma  1  12345678 0.123456                -> 12345678.123456\r
1612 ddfma375037 fma  1  12345678 0.1234567               -> 12345678.1234567\r
1613 ddfma375038 fma  1  12345678 0.12345678              -> 12345678.12345678\r
1614 ddfma375039 fma  1  12345678 0.123456789             -> 12345678.12345679 Inexact Rounded\r
1615 ddfma375040 fma  1  12345678 0.123456785             -> 12345678.12345678 Inexact Rounded\r
1616 ddfma375041 fma  1  12345678 0.1234567850            -> 12345678.12345678 Inexact Rounded\r
1617 ddfma375042 fma  1  12345678 0.1234567851            -> 12345678.12345679 Inexact Rounded\r
1618 ddfma375043 fma  1  12345678 0.12345678501           -> 12345678.12345679 Inexact Rounded\r
1619 ddfma375044 fma  1  12345678 0.123456785001          -> 12345678.12345679 Inexact Rounded\r
1620 ddfma375045 fma  1  12345678 0.1234567850001         -> 12345678.12345679 Inexact Rounded\r
1621 ddfma375046 fma  1  12345678 0.12345678500001        -> 12345678.12345679 Inexact Rounded\r
1622 ddfma375047 fma  1  12345678 0.123456785000001       -> 12345678.12345679 Inexact Rounded\r
1623 ddfma375048 fma  1  12345678 0.1234567850000001      -> 12345678.12345679 Inexact Rounded\r
1624 ddfma375049 fma  1  12345678 0.1234567850000000      -> 12345678.12345678 Inexact Rounded\r
1625 --                               90123456\r
1626 rounding: half_even\r
1627 ddfma375050 fma  1  12345678 0.0234567750000000      -> 12345678.02345678 Inexact Rounded\r
1628 ddfma375051 fma  1  12345678 0.0034567750000000      -> 12345678.00345678 Inexact Rounded\r
1629 ddfma375052 fma  1  12345678 0.0004567750000000      -> 12345678.00045678 Inexact Rounded\r
1630 ddfma375053 fma  1  12345678 0.0000567750000000      -> 12345678.00005678 Inexact Rounded\r
1631 ddfma375054 fma  1  12345678 0.0000067750000000      -> 12345678.00000678 Inexact Rounded\r
1632 ddfma375055 fma  1  12345678 0.0000007750000000      -> 12345678.00000078 Inexact Rounded\r
1633 ddfma375056 fma  1  12345678 0.0000000750000000      -> 12345678.00000008 Inexact Rounded\r
1634 ddfma375057 fma  1  12345678 0.0000000050000000      -> 12345678.00000000 Inexact Rounded\r
1635 ddfma375060 fma  1  12345678 0.0234567750000001      -> 12345678.02345678 Inexact Rounded\r
1636 ddfma375061 fma  1  12345678 0.0034567750000001      -> 12345678.00345678 Inexact Rounded\r
1637 ddfma375062 fma  1  12345678 0.0004567750000001      -> 12345678.00045678 Inexact Rounded\r
1638 ddfma375063 fma  1  12345678 0.0000567750000001      -> 12345678.00005678 Inexact Rounded\r
1639 ddfma375064 fma  1  12345678 0.0000067750000001      -> 12345678.00000678 Inexact Rounded\r
1640 ddfma375065 fma  1  12345678 0.0000007750000001      -> 12345678.00000078 Inexact Rounded\r
1641 ddfma375066 fma  1  12345678 0.0000000750000001      -> 12345678.00000008 Inexact Rounded\r
1642 ddfma375067 fma  1  12345678 0.0000000050000001      -> 12345678.00000001 Inexact Rounded\r
1643 -- far-out residues (full coefficient gap is 16+15 digits)\r
1644 rounding: up\r
1645 ddfma375070 fma  1  12345678 1E-8                    -> 12345678.00000001\r
1646 ddfma375071 fma  1  12345678 1E-9                    -> 12345678.00000001 Inexact Rounded\r
1647 ddfma375072 fma  1  12345678 1E-10                   -> 12345678.00000001 Inexact Rounded\r
1648 ddfma375073 fma  1  12345678 1E-11                   -> 12345678.00000001 Inexact Rounded\r
1649 ddfma375074 fma  1  12345678 1E-12                   -> 12345678.00000001 Inexact Rounded\r
1650 ddfma375075 fma  1  12345678 1E-13                   -> 12345678.00000001 Inexact Rounded\r
1651 ddfma375076 fma  1  12345678 1E-14                   -> 12345678.00000001 Inexact Rounded\r
1652 ddfma375077 fma  1  12345678 1E-15                   -> 12345678.00000001 Inexact Rounded\r
1653 ddfma375078 fma  1  12345678 1E-16                   -> 12345678.00000001 Inexact Rounded\r
1654 ddfma375079 fma  1  12345678 1E-17                   -> 12345678.00000001 Inexact Rounded\r
1655 ddfma375080 fma  1  12345678 1E-18                   -> 12345678.00000001 Inexact Rounded\r
1656 ddfma375081 fma  1  12345678 1E-19                   -> 12345678.00000001 Inexact Rounded\r
1657 ddfma375082 fma  1  12345678 1E-20                   -> 12345678.00000001 Inexact Rounded\r
1658 ddfma375083 fma  1  12345678 1E-25                   -> 12345678.00000001 Inexact Rounded\r
1659 ddfma375084 fma  1  12345678 1E-30                   -> 12345678.00000001 Inexact Rounded\r
1660 ddfma375085 fma  1  12345678 1E-31                   -> 12345678.00000001 Inexact Rounded\r
1661 ddfma375086 fma  1  12345678 1E-32                   -> 12345678.00000001 Inexact Rounded\r
1662 ddfma375087 fma  1  12345678 1E-33                   -> 12345678.00000001 Inexact Rounded\r
1663 ddfma375088 fma  1  12345678 1E-34                   -> 12345678.00000001 Inexact Rounded\r
1664 ddfma375089 fma  1  12345678 1E-35                   -> 12345678.00000001 Inexact Rounded\r
1666 -- desctructive subtraction (from remainder tests)\r
1668 -- +++ some of these will be off-by-one remainder vs remainderNear\r
1670 ddfma4000  fma  -1234567890123454   1.000000000000001    1234567890123456  ->  0.765432109876546\r
1671 ddfma4001  fma  -1234567890123443    1.00000000000001    1234567890123456  ->  0.65432109876557\r
1672 ddfma4002  fma  -1234567890123332     1.0000000000001    1234567890123456  ->  0.5432109876668\r
1673 ddfma4003  fma   -308641972530863   4.000000000000001    1234567890123455  ->  2.691358027469137\r
1674 ddfma4004  fma   -308641972530863   4.000000000000001    1234567890123456  ->  3.691358027469137\r
1675 ddfma4005  fma   -246913578024696     4.9999999999999    1234567890123456  ->  0.6913578024696\r
1676 ddfma4006  fma   -246913578024691    4.99999999999999    1234567890123456  ->  3.46913578024691\r
1677 ddfma4007  fma   -246913578024691   4.999999999999999    1234567890123456  ->  1.246913578024691\r
1678 ddfma4008  fma   -246913578024691   5.000000000000001    1234567890123456  ->  0.753086421975309\r
1679 ddfma4009  fma   -246913578024690    5.00000000000001    1234567890123456  ->  3.53086421975310\r
1680 ddfma4010  fma   -246913578024686     5.0000000000001    1234567890123456  ->  1.3086421975314\r
1681 ddfma4011  fma  -1234567890123455   1.000000000000001    1234567890123456  ->  -0.234567890123455\r
1682 ddfma4012  fma  -1234567890123444    1.00000000000001    1234567890123456  ->  -0.34567890123444\r
1683 ddfma4013  fma  -1234567890123333     1.0000000000001    1234567890123456  ->  -0.4567890123333\r
1684 ddfma4014  fma   -308641972530864   4.000000000000001    1234567890123455  ->  -1.308641972530864\r
1685 ddfma4015  fma   -308641972530864   4.000000000000001    1234567890123456  ->  -0.308641972530864\r
1686 ddfma4016  fma   -246913578024696     4.9999999999999    1234567890123456  ->  0.6913578024696\r
1687 ddfma4017  fma   -246913578024692    4.99999999999999    1234567890123456  ->  -1.53086421975308\r
1688 ddfma4018  fma   -246913578024691   4.999999999999999    1234567890123456  ->  1.246913578024691\r
1689 ddfma4019  fma   -246913578024691   5.000000000000001    1234567890123456  ->  0.753086421975309\r
1690 ddfma4020  fma   -246913578024691    5.00000000000001    1234567890123456  ->  -1.46913578024691\r
1691 ddfma4021  fma   -246913578024686     5.0000000000001    1234567890123456  ->  1.3086421975314\r
1694 -- Null tests\r
1695 ddfma39990 fma  1  10  # -> NaN Invalid_operation\r
1696 ddfma39991 fma  1   # 10 -> NaN Invalid_operation\r