Update to 2.7.3
[profile/ivi/python.git] / Lib / test / decimaltestdata / fma.decTest
index b0a81ca..a8197ef 100644 (file)
-------------------------------------------------------------------------\r
--- fma.decTest -- decimal fused multiply add                          --\r
--- Copyright (c) IBM Corporation, 1981, 2008.  All rights reserved.   --\r
-------------------------------------------------------------------------\r
--- Please see the document "General Decimal Arithmetic Testcases"     --\r
--- at http://www2.hursley.ibm.com/decimal for the description of      --\r
--- these testcases.                                                   --\r
---                                                                    --\r
--- These testcases are experimental ('beta' versions), and they       --\r
--- may contain errors.  They are offered on an as-is basis.  In       --\r
--- particular, achieving the same results as the tests here is not    --\r
--- a guarantee that an implementation complies with any Standard      --\r
--- or specification.  The tests are not exhaustive.                   --\r
---                                                                    --\r
--- Please send comments, suggestions, and corrections to the author:  --\r
---   Mike Cowlishaw, IBM Fellow                                       --\r
---   IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK         --\r
---   mfc@uk.ibm.com                                                   --\r
-------------------------------------------------------------------------\r
-version: 2.59\r
-\r
-extended:    1\r
-precision:   9\r
-rounding:    half_up\r
-maxExponent: 384\r
-minexponent: -383\r
-\r
--- These tests comprese three parts:\r
---   1. Sanity checks and other three-operand tests (especially those\r
---      where the fused operation makes a difference)\r
---   2. Multiply tests (third operand is neutral zero [0E+emax])\r
---   3. Addition tests (first operand is 1)\r
--- The multiply and addition tests are extensive because FMA may have\r
--- its own dedicated multiplication or addition routine(s), and they\r
--- also inherently check the left-to-right properties.\r
-\r
--- Sanity checks\r
-fmax0001 fma  1   1   1 ->   2\r
-fmax0002 fma  1   1   2 ->   3\r
-fmax0003 fma  2   2   3 ->   7\r
-fmax0004 fma  9   9   9 ->  90\r
-fmax0005 fma -1   1   1 ->   0\r
-fmax0006 fma -1   1   2 ->   1\r
-fmax0007 fma -2   2   3 ->  -1\r
-fmax0008 fma -9   9   9 -> -72\r
-fmax0011 fma  1  -1   1 ->   0\r
-fmax0012 fma  1  -1   2 ->   1\r
-fmax0013 fma  2  -2   3 ->  -1\r
-fmax0014 fma  9  -9   9 -> -72\r
-fmax0015 fma  1   1  -1 ->   0\r
-fmax0016 fma  1   1  -2 ->  -1\r
-fmax0017 fma  2   2  -3 ->   1\r
-fmax0018 fma  9   9  -9 ->  72\r
-fmax0019 fma  3   5   7 ->  22\r
-fmax0029 fma  3  -5   7 ->  -8\r
-\r
--- non-integer exacts\r
-fma0100  fma    25.2   63.6   -438  ->  1164.72\r
-fma0101  fma   0.301  0.380    334  ->  334.114380\r
-fma0102  fma    49.2   -4.8   23.3  ->  -212.86\r
-fma0103  fma    4.22  0.079  -94.6  ->  -94.26662\r
-fma0104  fma     903  0.797  0.887  ->  720.578\r
-fma0105  fma    6.13   -161   65.9  ->  -921.03\r
-fma0106  fma    28.2    727   5.45  ->  20506.85\r
-fma0107  fma       4    605    688  ->  3108\r
-fma0108  fma    93.3   0.19  0.226  ->  17.953\r
-fma0109  fma   0.169   -341   5.61  ->  -52.019\r
-fma0110  fma   -72.2     30  -51.2  ->  -2217.2\r
-fma0111  fma  -0.409     13   20.4  ->  15.083\r
-fma0112  fma     317   77.0   19.0  ->  24428.0\r
-fma0113  fma      47   6.58   1.62  ->  310.88\r
-fma0114  fma    1.36  0.984  0.493  ->  1.83124\r
-fma0115  fma    72.7    274   1.56  ->  19921.36\r
-fma0116  fma     335    847     83  ->  283828\r
-fma0117  fma     666  0.247   25.4  ->  189.902\r
-fma0118  fma   -3.87   3.06   78.0  ->  66.1578\r
-fma0119  fma   0.742    192   35.6  ->  178.064\r
-fma0120  fma   -91.6   5.29  0.153  ->  -484.411\r
-\r
--- cases where result is different from separate multiply + add; each\r
--- is preceded by the result of unfused multiply and add\r
--- [this is about 20% of all similar  cases in general]\r
---               888565290   1557.96930  -86087.7578  -> 1.38435735E+12\r
-fma0201  fma     888565290   1557.96930  -86087.7578  -> 1.38435736E+12  Inexact Rounded\r
---             -85519342.9    735155419     42010431  -> -6.28700084E+16\r
-fma0205  fma   -85519342.9    735155419     42010431  -> -6.28700083E+16 Inexact Rounded\r
---                -98025.5  -294603.472   10414348.2  -> 2.88890669E+10\r
-fma0208  fma      -98025.5  -294603.472   10414348.2  -> 2.88890670E+10  Inexact Rounded\r
---              5967627.39   83526540.6   498494.810  -> 4.98455271E+14\r
-fma0211  fma    5967627.39   83526540.6   498494.810  -> 4.98455272E+14  Inexact Rounded\r
---               3456.9433    874.39518   197866.615  ->  3220601.18\r
-fma0216  fma     3456.9433    874.39518   197866.615  ->  3220601.17     Inexact Rounded\r
---              62769.8287   2096.98927    48.420317  ->  131627705\r
-fma0218  fma    62769.8287   2096.98927    48.420317  ->  131627706      Inexact Rounded\r
---               -68.81500   59961113.9     -8988862  -> -4.13521291E+9\r
-fma0219  fma     -68.81500   59961113.9     -8988862  -> -4.13521292E+9  Inexact Rounded\r
---              2126341.02   63491.5152    302427455  -> 1.35307040E+11\r
-fma0226  fma    2126341.02   63491.5152    302427455  -> 1.35307041E+11  Inexact Rounded\r
-\r
-\r
--- Infinite combinations\r
-fmax0800 fma  Inf   Inf   Inf    ->  Infinity\r
-fmax0801 fma  Inf   Inf  -Inf    ->  NaN Invalid_operation\r
-fmax0802 fma  Inf  -Inf   Inf    ->  NaN Invalid_operation\r
-fmax0803 fma  Inf  -Inf  -Inf    -> -Infinity\r
-fmax0804 fma -Inf   Inf   Inf    ->  NaN Invalid_operation\r
-fmax0805 fma -Inf   Inf  -Inf    -> -Infinity\r
-fmax0806 fma -Inf  -Inf   Inf    ->  Infinity\r
-fmax0807 fma -Inf  -Inf  -Inf    ->  NaN Invalid_operation\r
-fmax0808 fma -Inf   0       1    ->  NaN Invalid_operation\r
-fmax0809 fma -Inf   0     NaN    ->  NaN Invalid_operation\r
-\r
--- Triple NaN propagation\r
-fmax0900 fma  NaN2  NaN3  NaN5   ->  NaN2\r
-fmax0901 fma  0     NaN3  NaN5   ->  NaN3\r
-fmax0902 fma  0     0     NaN5   ->  NaN5\r
--- first sNaN wins (consider qNaN from earlier sNaN being\r
--- overridden by an sNaN in third operand)\r
-fmax0903 fma  sNaN1 sNaN2 sNaN3  ->  NaN1 Invalid_operation\r
-fmax0904 fma  0     sNaN2 sNaN3  ->  NaN2 Invalid_operation\r
-fmax0905 fma  0     0     sNaN3  ->  NaN3 Invalid_operation\r
-fmax0906 fma  sNaN1 sNaN2 sNaN3  ->  NaN1 Invalid_operation\r
-fmax0907 fma  NaN7  sNaN2 sNaN3  ->  NaN2 Invalid_operation\r
-fmax0908 fma  NaN7  NaN5  sNaN3  ->  NaN3 Invalid_operation\r
-\r
--- MULTIPLICATION TESTS ------------------------------------------------\r
--- sanity checks (as base, above)\r
-fmax2000 fma 2      2  0E+999999  -> 4\r
-fmax2001 fma 2      3  0E+999999  -> 6\r
-fmax2002 fma 5      1  0E+999999  -> 5\r
-fmax2003 fma 5      2  0E+999999  -> 10\r
-fmax2004 fma 1.20   2  0E+999999  -> 2.40\r
-fmax2005 fma 1.20   0  0E+999999  -> 0.00\r
-fmax2006 fma 1.20  -2  0E+999999  -> -2.40\r
-fmax2007 fma -1.20  2  0E+999999  -> -2.40\r
-fmax2008 fma -1.20  0  0E+999999  -> 0.00\r
-fmax2009 fma -1.20 -2  0E+999999  -> 2.40\r
-fmax2010 fma 5.09 7.1  0E+999999  -> 36.139\r
-fmax2011 fma 2.5    4  0E+999999  -> 10.0\r
-fmax2012 fma 2.50   4  0E+999999  -> 10.00\r
-fmax2013 fma 1.23456789 1.00000000  0E+999999  -> 1.23456789 Rounded\r
-fmax2014 fma 9.999999999 9.999999999  0E+999999  -> 100.000000 Inexact Rounded\r
-fmax2015 fma 2.50   4  0E+999999  -> 10.00\r
-precision: 6\r
-fmax2016 fma 2.50   4  0E+999999  -> 10.00\r
-fmax2017 fma  9.999999  9.999999  0E+999999  ->  100.000 Inexact Rounded\r
-fmax2018 fma  9.999999 -9.999999  0E+999999  -> -100.000 Inexact Rounded\r
-fmax2019 fma -9.999999  9.999999  0E+999999  -> -100.000 Inexact Rounded\r
-fmax2020 fma -9.999999 -9.999999  0E+999999  ->  100.000 Inexact Rounded\r
-\r
--- 1999.12.21: next one is a edge case if intermediate longs are used\r
-precision: 15\r
-fmax2059 fma 999999999999 9765625  0E+999999  -> 9.76562499999023E+18 Inexact Rounded\r
-precision: 30\r
-fmax2160 fma 999999999999 9765625  0E+999999  -> 9765624999990234375\r
-precision: 9\r
------\r
-\r
--- zeros, etc.\r
-fmax2021 fma  0      0      0E+999999  ->  0\r
-fmax2022 fma  0     -0      0E+999999  ->  0\r
-fmax2023 fma -0      0      0E+999999  ->  0\r
-fmax2024 fma -0     -0      0E+999999  ->  0\r
-fmax2025 fma -0.0   -0.0    0E+999999  ->  0.00\r
-fmax2026 fma -0.0   -0.0    0E+999999  ->  0.00\r
-fmax2027 fma -0.0   -0.0    0E+999999  ->  0.00\r
-fmax2028 fma -0.0   -0.0    0E+999999  ->  0.00\r
-fmax2030 fma  5.00   1E-3   0E+999999  ->  0.00500\r
-fmax2031 fma  00.00  0.000  0E+999999  ->  0.00000\r
-fmax2032 fma  00.00  0E-3   0E+999999  ->  0.00000     -- rhs is 0\r
-fmax2033 fma  0E-3   00.00  0E+999999  ->  0.00000     -- lhs is 0\r
-fmax2034 fma -5.00   1E-3   0E+999999  -> -0.00500\r
-fmax2035 fma -00.00  0.000  0E+999999  ->  0.00000\r
-fmax2036 fma -00.00  0E-3   0E+999999  ->  0.00000     -- rhs is 0\r
-fmax2037 fma -0E-3   00.00  0E+999999  ->  0.00000     -- lhs is 0\r
-fmax2038 fma  5.00  -1E-3   0E+999999  -> -0.00500\r
-fmax2039 fma  00.00 -0.000  0E+999999  ->  0.00000\r
-fmax2040 fma  00.00 -0E-3   0E+999999  ->  0.00000     -- rhs is 0\r
-fmax2041 fma  0E-3  -00.00  0E+999999  ->  0.00000     -- lhs is 0\r
-fmax2042 fma -5.00  -1E-3   0E+999999  ->  0.00500\r
-fmax2043 fma -00.00 -0.000  0E+999999  ->  0.00000\r
-fmax2044 fma -00.00 -0E-3   0E+999999  ->  0.00000     -- rhs is 0\r
-fmax2045 fma -0E-3  -00.00  0E+999999  ->  0.00000     -- lhs is 0\r
-\r
--- examples from decarith multiply\r
-fmax2050 fma 1.20 3         0E+999999  -> 3.60\r
-fmax2051 fma 7    3         0E+999999  -> 21\r
-fmax2052 fma 0.9  0.8       0E+999999  -> 0.72\r
-fmax2053 fma 0.9  -0        0E+999999  -> 0.0\r
-fmax2054 fma 654321 654321  0E+999999  -> 4.28135971E+11  Inexact Rounded\r
-\r
-fmax2060 fma 123.45 1e7   0E+999999  ->  1.2345E+9\r
-fmax2061 fma 123.45 1e8   0E+999999  ->  1.2345E+10\r
-fmax2062 fma 123.45 1e+9  0E+999999  ->  1.2345E+11\r
-fmax2063 fma 123.45 1e10  0E+999999  ->  1.2345E+12\r
-fmax2064 fma 123.45 1e11  0E+999999  ->  1.2345E+13\r
-fmax2065 fma 123.45 1e12  0E+999999  ->  1.2345E+14\r
-fmax2066 fma 123.45 1e13  0E+999999  ->  1.2345E+15\r
-\r
-\r
--- test some intermediate lengths\r
-precision: 9\r
-fmax2080 fma 0.1 123456789           0E+999999  -> 12345678.9\r
-fmax2081 fma 0.1 1234567891          0E+999999  -> 123456789 Inexact Rounded\r
-fmax2082 fma 0.1 12345678912         0E+999999  -> 1.23456789E+9 Inexact Rounded\r
-fmax2083 fma 0.1 12345678912345      0E+999999  -> 1.23456789E+12 Inexact Rounded\r
-fmax2084 fma 0.1 123456789           0E+999999  -> 12345678.9\r
-precision: 8\r
-fmax2085 fma 0.1 12345678912         0E+999999  -> 1.2345679E+9 Inexact Rounded\r
-fmax2086 fma 0.1 12345678912345      0E+999999  -> 1.2345679E+12 Inexact Rounded\r
-precision: 7\r
-fmax2087 fma 0.1 12345678912         0E+999999  -> 1.234568E+9 Inexact Rounded\r
-fmax2088 fma 0.1 12345678912345      0E+999999  -> 1.234568E+12 Inexact Rounded\r
-\r
-precision: 9\r
-fmax2090 fma 123456789          0.1  0E+999999  -> 12345678.9\r
-fmax2091 fma 1234567891         0.1  0E+999999  -> 123456789 Inexact Rounded\r
-fmax2092 fma 12345678912        0.1  0E+999999  -> 1.23456789E+9 Inexact Rounded\r
-fmax2093 fma 12345678912345     0.1  0E+999999  -> 1.23456789E+12 Inexact Rounded\r
-fmax2094 fma 123456789          0.1  0E+999999  -> 12345678.9\r
-precision: 8\r
-fmax2095 fma 12345678912        0.1  0E+999999  -> 1.2345679E+9 Inexact Rounded\r
-fmax2096 fma 12345678912345     0.1  0E+999999  -> 1.2345679E+12 Inexact Rounded\r
-precision: 7\r
-fmax2097 fma 12345678912        0.1  0E+999999  -> 1.234568E+9 Inexact Rounded\r
-fmax2098 fma 12345678912345     0.1  0E+999999  -> 1.234568E+12 Inexact Rounded\r
-\r
--- test some more edge cases and carries\r
-maxexponent: 9999\r
-minexponent: -9999\r
-precision: 33\r
-fmax2101 fma 9 9    0E+999999  -> 81\r
-fmax2102 fma 9 90    0E+999999  -> 810\r
-fmax2103 fma 9 900    0E+999999  -> 8100\r
-fmax2104 fma 9 9000    0E+999999  -> 81000\r
-fmax2105 fma 9 90000    0E+999999  -> 810000\r
-fmax2106 fma 9 900000    0E+999999  -> 8100000\r
-fmax2107 fma 9 9000000    0E+999999  -> 81000000\r
-fmax2108 fma 9 90000000    0E+999999  -> 810000000\r
-fmax2109 fma 9 900000000    0E+999999  -> 8100000000\r
-fmax2110 fma 9 9000000000    0E+999999  -> 81000000000\r
-fmax2111 fma 9 90000000000    0E+999999  -> 810000000000\r
-fmax2112 fma 9 900000000000    0E+999999  -> 8100000000000\r
-fmax2113 fma 9 9000000000000    0E+999999  -> 81000000000000\r
-fmax2114 fma 9 90000000000000    0E+999999  -> 810000000000000\r
-fmax2115 fma 9 900000000000000    0E+999999  -> 8100000000000000\r
-fmax2116 fma 9 9000000000000000    0E+999999  -> 81000000000000000\r
-fmax2117 fma 9 90000000000000000    0E+999999  -> 810000000000000000\r
-fmax2118 fma 9 900000000000000000    0E+999999  -> 8100000000000000000\r
-fmax2119 fma 9 9000000000000000000    0E+999999  -> 81000000000000000000\r
-fmax2120 fma 9 90000000000000000000    0E+999999  -> 810000000000000000000\r
-fmax2121 fma 9 900000000000000000000    0E+999999  -> 8100000000000000000000\r
-fmax2122 fma 9 9000000000000000000000    0E+999999  -> 81000000000000000000000\r
-fmax2123 fma 9 90000000000000000000000    0E+999999  -> 810000000000000000000000\r
--- test some more edge cases without carries\r
-fmax2131 fma 3 3    0E+999999  -> 9\r
-fmax2132 fma 3 30    0E+999999  -> 90\r
-fmax2133 fma 3 300    0E+999999  -> 900\r
-fmax2134 fma 3 3000    0E+999999  -> 9000\r
-fmax2135 fma 3 30000    0E+999999  -> 90000\r
-fmax2136 fma 3 300000    0E+999999  -> 900000\r
-fmax2137 fma 3 3000000    0E+999999  -> 9000000\r
-fmax2138 fma 3 30000000    0E+999999  -> 90000000\r
-fmax2139 fma 3 300000000    0E+999999  -> 900000000\r
-fmax2140 fma 3 3000000000    0E+999999  -> 9000000000\r
-fmax2141 fma 3 30000000000    0E+999999  -> 90000000000\r
-fmax2142 fma 3 300000000000    0E+999999  -> 900000000000\r
-fmax2143 fma 3 3000000000000    0E+999999  -> 9000000000000\r
-fmax2144 fma 3 30000000000000    0E+999999  -> 90000000000000\r
-fmax2145 fma 3 300000000000000    0E+999999  -> 900000000000000\r
-fmax2146 fma 3 3000000000000000    0E+999999  -> 9000000000000000\r
-fmax2147 fma 3 30000000000000000    0E+999999  -> 90000000000000000\r
-fmax2148 fma 3 300000000000000000    0E+999999  -> 900000000000000000\r
-fmax2149 fma 3 3000000000000000000    0E+999999  -> 9000000000000000000\r
-fmax2150 fma 3 30000000000000000000    0E+999999  -> 90000000000000000000\r
-fmax2151 fma 3 300000000000000000000    0E+999999  -> 900000000000000000000\r
-fmax2152 fma 3 3000000000000000000000    0E+999999  -> 9000000000000000000000\r
-fmax2153 fma 3 30000000000000000000000    0E+999999  -> 90000000000000000000000\r
-\r
-maxexponent: 999999\r
-minexponent: -999999\r
-precision: 9\r
--- test some cases that are close to exponent overflow/underflow\r
-fmax2170 fma 1 9e999999     0E+999999  -> 9E+999999\r
-fmax2171 fma 1 9.9e999999   0E+999999  -> 9.9E+999999\r
-fmax2172 fma 1 9.99e999999  0E+999999  -> 9.99E+999999\r
-fmax2173 fma 9e999999    1  0E+999999  -> 9E+999999\r
-fmax2174 fma 9.9e999999  1  0E+999999  -> 9.9E+999999\r
-fmax2176 fma 9.99e999999 1  0E+999999  -> 9.99E+999999\r
-fmax2177 fma 1 9.99999e999999  0E+999999  -> 9.99999E+999999\r
-fmax2178 fma 9.99999e999999 1  0E+999999  -> 9.99999E+999999\r
-\r
-fmax2180 fma 0.1 9e-999998    0E+999999  -> 9E-999999\r
-fmax2181 fma 0.1 99e-999998   0E+999999  -> 9.9E-999998\r
-fmax2182 fma 0.1 999e-999998  0E+999999  -> 9.99E-999997\r
-\r
-fmax2183 fma 0.1 9e-999998      0E+999999  -> 9E-999999\r
-fmax2184 fma 0.1 99e-999998     0E+999999  -> 9.9E-999998\r
-fmax2185 fma 0.1 999e-999998    0E+999999  -> 9.99E-999997\r
-fmax2186 fma 0.1 999e-999997    0E+999999  -> 9.99E-999996\r
-fmax2187 fma 0.1 9999e-999997   0E+999999  -> 9.999E-999995\r
-fmax2188 fma 0.1 99999e-999997  0E+999999  -> 9.9999E-999994\r
-\r
-fmax2190 fma 1 9e-999998    0E+999999  -> 9E-999998\r
-fmax2191 fma 1 99e-999998   0E+999999  -> 9.9E-999997\r
-fmax2192 fma 1 999e-999998  0E+999999  -> 9.99E-999996\r
-fmax2193 fma 9e-999998   1  0E+999999  -> 9E-999998\r
-fmax2194 fma 99e-999998  1  0E+999999  -> 9.9E-999997\r
-fmax2195 fma 999e-999998 1  0E+999999  -> 9.99E-999996\r
-\r
--- long operand triangle\r
-precision: 33\r
-fmax2246 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 145433.290801193369671916511992830 Inexact Rounded\r
-precision: 32\r
-fmax2247 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 145433.29080119336967191651199283  Inexact Rounded\r
-precision: 31\r
-fmax2248 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 145433.2908011933696719165119928   Inexact Rounded\r
-precision: 30\r
-fmax2249 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 145433.290801193369671916511993    Inexact Rounded\r
-precision: 29\r
-fmax2250 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 145433.29080119336967191651199     Inexact Rounded\r
-precision: 28\r
-fmax2251 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 145433.2908011933696719165120      Inexact Rounded\r
-precision: 27\r
-fmax2252 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 145433.290801193369671916512       Inexact Rounded\r
-precision: 26\r
-fmax2253 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 145433.29080119336967191651        Inexact Rounded\r
-precision: 25\r
-fmax2254 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 145433.2908011933696719165         Inexact Rounded\r
-precision: 24\r
-fmax2255 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 145433.290801193369671917          Inexact Rounded\r
-precision: 23\r
-fmax2256 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 145433.29080119336967192           Inexact Rounded\r
-precision: 22\r
-fmax2257 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 145433.2908011933696719            Inexact Rounded\r
-precision: 21\r
-fmax2258 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 145433.290801193369672             Inexact Rounded\r
-precision: 20\r
-fmax2259 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 145433.29080119336967              Inexact Rounded\r
-precision: 19\r
-fmax2260 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 145433.2908011933697               Inexact Rounded\r
-precision: 18\r
-fmax2261 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 145433.290801193370                Inexact Rounded\r
-precision: 17\r
-fmax2262 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 145433.29080119337                 Inexact Rounded\r
-precision: 16\r
-fmax2263 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 145433.2908011934                  Inexact Rounded\r
-precision: 15\r
-fmax2264 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 145433.290801193                   Inexact Rounded\r
-precision: 14\r
-fmax2265 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 145433.29080119                    Inexact Rounded\r
-precision: 13\r
-fmax2266 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 145433.2908012                     Inexact Rounded\r
-precision: 12\r
-fmax2267 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 145433.290801                      Inexact Rounded\r
-precision: 11\r
-fmax2268 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 145433.29080                       Inexact Rounded\r
-precision: 10\r
-fmax2269 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 145433.2908                        Inexact Rounded\r
-precision:  9\r
-fmax2270 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 145433.291                         Inexact Rounded\r
-precision:  8\r
-fmax2271 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 145433.29                          Inexact Rounded\r
-precision:  7\r
-fmax2272 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 145433.3                           Inexact Rounded\r
-precision:  6\r
-fmax2273 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 145433                            Inexact Rounded\r
-precision:  5\r
-fmax2274 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 1.4543E+5                         Inexact Rounded\r
-precision:  4\r
-fmax2275 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 1.454E+5                         Inexact Rounded\r
-precision:  3\r
-fmax2276 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 1.45E+5                         Inexact Rounded\r
-precision:  2\r
-fmax2277 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 1.5E+5                         Inexact Rounded\r
-precision:  1\r
-fmax2278 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 1E+5                          Inexact Rounded\r
-\r
--- test some edge cases with exact rounding\r
-maxexponent: 9999\r
-minexponent: -9999\r
-precision: 9\r
-fmax2301 fma 9 9    0E+999999  -> 81\r
-fmax2302 fma 9 90    0E+999999  -> 810\r
-fmax2303 fma 9 900    0E+999999  -> 8100\r
-fmax2304 fma 9 9000    0E+999999  -> 81000\r
-fmax2305 fma 9 90000    0E+999999  -> 810000\r
-fmax2306 fma 9 900000    0E+999999  -> 8100000\r
-fmax2307 fma 9 9000000    0E+999999  -> 81000000\r
-fmax2308 fma 9 90000000    0E+999999  -> 810000000\r
-fmax2309 fma 9 900000000    0E+999999  -> 8.10000000E+9   Rounded\r
-fmax2310 fma 9 9000000000    0E+999999  -> 8.10000000E+10  Rounded\r
-fmax2311 fma 9 90000000000    0E+999999  -> 8.10000000E+11  Rounded\r
-fmax2312 fma 9 900000000000    0E+999999  -> 8.10000000E+12  Rounded\r
-fmax2313 fma 9 9000000000000    0E+999999  -> 8.10000000E+13  Rounded\r
-fmax2314 fma 9 90000000000000    0E+999999  -> 8.10000000E+14  Rounded\r
-fmax2315 fma 9 900000000000000    0E+999999  -> 8.10000000E+15  Rounded\r
-fmax2316 fma 9 9000000000000000    0E+999999  -> 8.10000000E+16  Rounded\r
-fmax2317 fma 9 90000000000000000    0E+999999  -> 8.10000000E+17  Rounded\r
-fmax2318 fma 9 900000000000000000    0E+999999  -> 8.10000000E+18  Rounded\r
-fmax2319 fma 9 9000000000000000000    0E+999999  -> 8.10000000E+19  Rounded\r
-fmax2320 fma 9 90000000000000000000    0E+999999  -> 8.10000000E+20  Rounded\r
-fmax2321 fma 9 900000000000000000000    0E+999999  -> 8.10000000E+21  Rounded\r
-fmax2322 fma 9 9000000000000000000000    0E+999999  -> 8.10000000E+22  Rounded\r
-fmax2323 fma 9 90000000000000000000000    0E+999999  -> 8.10000000E+23  Rounded\r
-\r
--- fastpath breakers\r
-precision:   29\r
-fmax2330 fma 1.491824697641270317824852952837224 1.105170918075647624811707826490246514675628614562883537345747603  0E+999999  -> 1.6487212707001281468486507878 Inexact Rounded\r
-precision:   55\r
-fmax2331 fma 0.8958341352965282506768545828765117803873717284891040428 0.8958341352965282506768545828765117803873717284891040428  0E+999999  -> 0.8025187979624784829842553829934069955890983696752228299 Inexact Rounded\r
-\r
-\r
--- tryzeros cases\r
-precision:   7\r
-rounding:    half_up\r
-maxExponent: 92\r
-minexponent: -92\r
-fmax2504  fma  0E-60 1000E-60   0E+999999  -> 0E-98 Clamped\r
-fmax2505  fma  100E+60 0E+60    0E+999999  -> 0E+92 Clamped\r
-\r
--- mixed with zeros\r
-maxexponent: 999999\r
-minexponent: -999999\r
-precision: 9\r
-fmax2541 fma  0    -1      0E+999999  ->  0\r
-fmax2542 fma -0    -1      0E+999999  ->  0\r
-fmax2543 fma  0     1      0E+999999  ->  0\r
-fmax2544 fma -0     1      0E+999999  ->  0\r
-fmax2545 fma -1     0      0E+999999  ->  0\r
-fmax2546 fma -1    -0      0E+999999  ->  0\r
-fmax2547 fma  1     0      0E+999999  ->  0\r
-fmax2548 fma  1    -0      0E+999999  ->  0\r
-\r
-fmax2551 fma  0.0  -1      0E+999999  ->  0.0\r
-fmax2552 fma -0.0  -1      0E+999999  ->  0.0\r
-fmax2553 fma  0.0   1      0E+999999  ->  0.0\r
-fmax2554 fma -0.0   1      0E+999999  ->  0.0\r
-fmax2555 fma -1.0   0      0E+999999  ->  0.0\r
-fmax2556 fma -1.0  -0      0E+999999  ->  0.0\r
-fmax2557 fma  1.0   0      0E+999999  ->  0.0\r
-fmax2558 fma  1.0  -0      0E+999999  ->  0.0\r
-\r
-fmax2561 fma  0    -1.0    0E+999999  ->  0.0\r
-fmax2562 fma -0    -1.0    0E+999999  ->  0.0\r
-fmax2563 fma  0     1.0    0E+999999  ->  0.0\r
-fmax2564 fma -0     1.0    0E+999999  ->  0.0\r
-fmax2565 fma -1     0.0    0E+999999  ->  0.0\r
-fmax2566 fma -1    -0.0    0E+999999  ->  0.0\r
-fmax2567 fma  1     0.0    0E+999999  ->  0.0\r
-fmax2568 fma  1    -0.0    0E+999999  ->  0.0\r
-\r
-fmax2571 fma  0.0  -1.0    0E+999999  ->  0.00\r
-fmax2572 fma -0.0  -1.0    0E+999999  ->  0.00\r
-fmax2573 fma  0.0   1.0    0E+999999  ->  0.00\r
-fmax2574 fma -0.0   1.0    0E+999999  ->  0.00\r
-fmax2575 fma -1.0   0.0    0E+999999  ->  0.00\r
-fmax2576 fma -1.0  -0.0    0E+999999  ->  0.00\r
-fmax2577 fma  1.0   0.0    0E+999999  ->  0.00\r
-fmax2578 fma  1.0  -0.0    0E+999999  ->  0.00\r
-\r
-\r
--- Specials\r
-fmax2580 fma  Inf  -Inf    0E+999999  -> -Infinity\r
-fmax2581 fma  Inf  -1000   0E+999999  -> -Infinity\r
-fmax2582 fma  Inf  -1      0E+999999  -> -Infinity\r
-fmax2583 fma  Inf  -0      0E+999999  ->  NaN  Invalid_operation\r
-fmax2584 fma  Inf   0      0E+999999  ->  NaN  Invalid_operation\r
-fmax2585 fma  Inf   1      0E+999999  ->  Infinity\r
-fmax2586 fma  Inf   1000   0E+999999  ->  Infinity\r
-fmax2587 fma  Inf   Inf    0E+999999  ->  Infinity\r
-fmax2588 fma -1000  Inf    0E+999999  -> -Infinity\r
-fmax2589 fma -Inf   Inf    0E+999999  -> -Infinity\r
-fmax2590 fma -1     Inf    0E+999999  -> -Infinity\r
-fmax2591 fma -0     Inf    0E+999999  ->  NaN  Invalid_operation\r
-fmax2592 fma  0     Inf    0E+999999  ->  NaN  Invalid_operation\r
-fmax2593 fma  1     Inf    0E+999999  ->  Infinity\r
-fmax2594 fma  1000  Inf    0E+999999  ->  Infinity\r
-fmax2595 fma  Inf   Inf    0E+999999  ->  Infinity\r
-\r
-fmax2600 fma -Inf  -Inf    0E+999999  ->  Infinity\r
-fmax2601 fma -Inf  -1000   0E+999999  ->  Infinity\r
-fmax2602 fma -Inf  -1      0E+999999  ->  Infinity\r
-fmax2603 fma -Inf  -0      0E+999999  ->  NaN  Invalid_operation\r
-fmax2604 fma -Inf   0      0E+999999  ->  NaN  Invalid_operation\r
-fmax2605 fma -Inf   1      0E+999999  -> -Infinity\r
-fmax2606 fma -Inf   1000   0E+999999  -> -Infinity\r
-fmax2607 fma -Inf   Inf    0E+999999  -> -Infinity\r
-fmax2608 fma -1000  Inf    0E+999999  -> -Infinity\r
-fmax2609 fma -Inf  -Inf    0E+999999  ->  Infinity\r
-fmax2610 fma -1    -Inf    0E+999999  ->  Infinity\r
-fmax2611 fma -0    -Inf    0E+999999  ->  NaN  Invalid_operation\r
-fmax2612 fma  0    -Inf    0E+999999  ->  NaN  Invalid_operation\r
-fmax2613 fma  1    -Inf    0E+999999  -> -Infinity\r
-fmax2614 fma  1000 -Inf    0E+999999  -> -Infinity\r
-fmax2615 fma  Inf  -Inf    0E+999999  -> -Infinity\r
-\r
-fmax2621 fma  NaN -Inf     0E+999999  ->  NaN\r
-fmax2622 fma  NaN -1000    0E+999999  ->  NaN\r
-fmax2623 fma  NaN -1       0E+999999  ->  NaN\r
-fmax2624 fma  NaN -0       0E+999999  ->  NaN\r
-fmax2625 fma  NaN  0       0E+999999  ->  NaN\r
-fmax2626 fma  NaN  1       0E+999999  ->  NaN\r
-fmax2627 fma  NaN  1000    0E+999999  ->  NaN\r
-fmax2628 fma  NaN  Inf     0E+999999  ->  NaN\r
-fmax2629 fma  NaN  NaN     0E+999999  ->  NaN\r
-fmax2630 fma -Inf  NaN     0E+999999  ->  NaN\r
-fmax2631 fma -1000 NaN     0E+999999  ->  NaN\r
-fmax2632 fma -1    NaN     0E+999999  ->  NaN\r
-fmax2633 fma -0    NaN     0E+999999  ->  NaN\r
-fmax2634 fma  0    NaN     0E+999999  ->  NaN\r
-fmax2635 fma  1    NaN     0E+999999  ->  NaN\r
-fmax2636 fma  1000 NaN     0E+999999  ->  NaN\r
-fmax2637 fma  Inf  NaN     0E+999999  ->  NaN\r
-\r
-fmax2641 fma  sNaN -Inf    0E+999999  ->  NaN  Invalid_operation\r
-fmax2642 fma  sNaN -1000   0E+999999  ->  NaN  Invalid_operation\r
-fmax2643 fma  sNaN -1      0E+999999  ->  NaN  Invalid_operation\r
-fmax2644 fma  sNaN -0      0E+999999  ->  NaN  Invalid_operation\r
-fmax2645 fma  sNaN  0      0E+999999  ->  NaN  Invalid_operation\r
-fmax2646 fma  sNaN  1      0E+999999  ->  NaN  Invalid_operation\r
-fmax2647 fma  sNaN  1000   0E+999999  ->  NaN  Invalid_operation\r
-fmax2648 fma  sNaN  NaN    0E+999999  ->  NaN  Invalid_operation\r
-fmax2649 fma  sNaN sNaN    0E+999999  ->  NaN  Invalid_operation\r
-fmax2650 fma  NaN  sNaN    0E+999999  ->  NaN  Invalid_operation\r
-fmax2651 fma -Inf  sNaN    0E+999999  ->  NaN  Invalid_operation\r
-fmax2652 fma -1000 sNaN    0E+999999  ->  NaN  Invalid_operation\r
-fmax2653 fma -1    sNaN    0E+999999  ->  NaN  Invalid_operation\r
-fmax2654 fma -0    sNaN    0E+999999  ->  NaN  Invalid_operation\r
-fmax2655 fma  0    sNaN    0E+999999  ->  NaN  Invalid_operation\r
-fmax2656 fma  1    sNaN    0E+999999  ->  NaN  Invalid_operation\r
-fmax2657 fma  1000 sNaN    0E+999999  ->  NaN  Invalid_operation\r
-fmax2658 fma  Inf  sNaN    0E+999999  ->  NaN  Invalid_operation\r
-fmax2659 fma  NaN  sNaN    0E+999999  ->  NaN  Invalid_operation\r
-\r
--- propagating NaNs\r
-fmax2661 fma  NaN9 -Inf    0E+999999  ->  NaN9\r
-fmax2662 fma  NaN8  999    0E+999999  ->  NaN8\r
-fmax2663 fma  NaN71 Inf    0E+999999  ->  NaN71\r
-fmax2664 fma  NaN6  NaN5   0E+999999  ->  NaN6\r
-fmax2665 fma -Inf   NaN4   0E+999999  ->  NaN4\r
-fmax2666 fma -999   NaN33  0E+999999  ->  NaN33\r
-fmax2667 fma  Inf   NaN2   0E+999999  ->  NaN2\r
-\r
-fmax2671 fma  sNaN99 -Inf     0E+999999  ->  NaN99 Invalid_operation\r
-fmax2672 fma  sNaN98 -11      0E+999999  ->  NaN98 Invalid_operation\r
-fmax2673 fma  sNaN97  NaN     0E+999999  ->  NaN97 Invalid_operation\r
-fmax2674 fma  sNaN16 sNaN94   0E+999999  ->  NaN16 Invalid_operation\r
-fmax2675 fma  NaN95  sNaN93   0E+999999  ->  NaN93 Invalid_operation\r
-fmax2676 fma -Inf    sNaN92   0E+999999  ->  NaN92 Invalid_operation\r
-fmax2677 fma  088    sNaN91   0E+999999  ->  NaN91 Invalid_operation\r
-fmax2678 fma  Inf    sNaN90   0E+999999  ->  NaN90 Invalid_operation\r
-fmax2679 fma  NaN    sNaN89   0E+999999  ->  NaN89 Invalid_operation\r
-\r
-fmax2681 fma -NaN9 -Inf    0E+999999  -> -NaN9\r
-fmax2682 fma -NaN8  999    0E+999999  -> -NaN8\r
-fmax2683 fma -NaN71 Inf    0E+999999  -> -NaN71\r
-fmax2684 fma -NaN6 -NaN5   0E+999999  -> -NaN6\r
-fmax2685 fma -Inf  -NaN4   0E+999999  -> -NaN4\r
-fmax2686 fma -999  -NaN33  0E+999999  -> -NaN33\r
-fmax2687 fma  Inf  -NaN2   0E+999999  -> -NaN2\r
-\r
-fmax2691 fma -sNaN99 -Inf     0E+999999  -> -NaN99 Invalid_operation\r
-fmax2692 fma -sNaN98 -11      0E+999999  -> -NaN98 Invalid_operation\r
-fmax2693 fma -sNaN97  NaN     0E+999999  -> -NaN97 Invalid_operation\r
-fmax2694 fma -sNaN16 -sNaN94  0E+999999  -> -NaN16 Invalid_operation\r
-fmax2695 fma -NaN95  -sNaN93  0E+999999  -> -NaN93 Invalid_operation\r
-fmax2696 fma -Inf    -sNaN92  0E+999999  -> -NaN92 Invalid_operation\r
-fmax2697 fma  088    -sNaN91  0E+999999  -> -NaN91 Invalid_operation\r
-fmax2698 fma  Inf    -sNaN90  0E+999999  -> -NaN90 Invalid_operation\r
-fmax2699 fma -NaN    -sNaN89  0E+999999  -> -NaN89 Invalid_operation\r
-\r
-fmax2701 fma -NaN  -Inf    0E+999999  -> -NaN\r
-fmax2702 fma -NaN   999    0E+999999  -> -NaN\r
-fmax2703 fma -NaN   Inf    0E+999999  -> -NaN\r
-fmax2704 fma -NaN  -NaN    0E+999999  -> -NaN\r
-fmax2705 fma -Inf  -NaN0   0E+999999  -> -NaN\r
-fmax2706 fma -999  -NaN    0E+999999  -> -NaN\r
-fmax2707 fma  Inf  -NaN    0E+999999  -> -NaN\r
-\r
-fmax2711 fma -sNaN   -Inf     0E+999999  -> -NaN Invalid_operation\r
-fmax2712 fma -sNaN   -11      0E+999999  -> -NaN Invalid_operation\r
-fmax2713 fma -sNaN00  NaN     0E+999999  -> -NaN Invalid_operation\r
-fmax2714 fma -sNaN   -sNaN    0E+999999  -> -NaN Invalid_operation\r
-fmax2715 fma -NaN    -sNaN    0E+999999  -> -NaN Invalid_operation\r
-fmax2716 fma -Inf    -sNaN    0E+999999  -> -NaN Invalid_operation\r
-fmax2717 fma  088    -sNaN    0E+999999  -> -NaN Invalid_operation\r
-fmax2718 fma  Inf    -sNaN    0E+999999  -> -NaN Invalid_operation\r
-fmax2719 fma -NaN    -sNaN    0E+999999  -> -NaN Invalid_operation\r
-\r
--- overflow and underflow tests .. note subnormal results\r
-maxexponent: 999999\r
-minexponent: -999999\r
-fmax2730 fma +1.23456789012345E-0 9E+999999  0E+999999  -> Infinity Inexact Overflow Rounded\r
-fmax2731 fma 9E+999999 +1.23456789012345E-0  0E+999999  -> Infinity Inexact Overflow Rounded\r
-fmax2732 fma +0.100 9E-999999  0E+999999  -> 9.00E-1000000 Subnormal\r
-fmax2733 fma 9E-999999 +0.100  0E+999999  -> 9.00E-1000000 Subnormal\r
-fmax2735 fma -1.23456789012345E-0 9E+999999  0E+999999  -> -Infinity Inexact Overflow Rounded\r
-fmax2736 fma 9E+999999 -1.23456789012345E-0  0E+999999  -> -Infinity Inexact Overflow Rounded\r
-fmax2737 fma -0.100 9E-999999  0E+999999  -> -9.00E-1000000 Subnormal\r
-fmax2738 fma 9E-999999 -0.100  0E+999999  -> -9.00E-1000000 Subnormal\r
-\r
--- signs\r
-fmax2751 fma  1e+777777  1e+411111  0E+999999  ->  Infinity Overflow Inexact Rounded\r
-fmax2752 fma  1e+777777 -1e+411111  0E+999999  -> -Infinity Overflow Inexact Rounded\r
-fmax2753 fma -1e+777777  1e+411111  0E+999999  -> -Infinity Overflow Inexact Rounded\r
-fmax2754 fma -1e+777777 -1e+411111  0E+999999  ->  Infinity Overflow Inexact Rounded\r
-fmax2755 fma  1e-777777  1e-411111  0E+999999  ->  0E-1000007 Underflow Subnormal Inexact Rounded Clamped\r
-fmax2756 fma  1e-777777 -1e-411111  0E+999999  -> -0E-1000007 Underflow Subnormal Inexact Rounded Clamped\r
-fmax2757 fma -1e-777777  1e-411111  0E+999999  -> -0E-1000007 Underflow Subnormal Inexact Rounded Clamped\r
-fmax2758 fma -1e-777777 -1e-411111  0E+999999  ->  0E-1000007 Underflow Subnormal Inexact Rounded Clamped\r
-\r
--- 'subnormal' boundary (all hard underflow or overflow in base arithemtic)\r
-precision: 9\r
-fmax2760 fma 1e-600000 1e-400001  0E+999999  -> 1E-1000001 Subnormal\r
-fmax2761 fma 1e-600000 1e-400002  0E+999999  -> 1E-1000002 Subnormal\r
-fmax2762 fma 1e-600000 1e-400003  0E+999999  -> 1E-1000003 Subnormal\r
-fmax2763 fma 1e-600000 1e-400004  0E+999999  -> 1E-1000004 Subnormal\r
-fmax2764 fma 1e-600000 1e-400005  0E+999999  -> 1E-1000005 Subnormal\r
-fmax2765 fma 1e-600000 1e-400006  0E+999999  -> 1E-1000006 Subnormal\r
-fmax2766 fma 1e-600000 1e-400007  0E+999999  -> 1E-1000007 Subnormal\r
-fmax2767 fma 1e-600000 1e-400008  0E+999999  -> 0E-1000007 Underflow Subnormal Inexact Rounded Clamped\r
-fmax2768 fma 1e-600000 1e-400009  0E+999999  -> 0E-1000007 Underflow Subnormal Inexact Rounded Clamped\r
-fmax2769 fma 1e-600000 1e-400010  0E+999999  -> 0E-1000007 Underflow Subnormal Inexact Rounded Clamped\r
--- [no equivalent of 'subnormal' for overflow]\r
-fmax2770 fma 1e+600000 1e+400001  0E+999999  -> Infinity Overflow Inexact Rounded\r
-fmax2771 fma 1e+600000 1e+400002  0E+999999  -> Infinity Overflow Inexact Rounded\r
-fmax2772 fma 1e+600000 1e+400003  0E+999999  -> Infinity Overflow Inexact Rounded\r
-fmax2773 fma 1e+600000 1e+400004  0E+999999  -> Infinity Overflow Inexact Rounded\r
-fmax2774 fma 1e+600000 1e+400005  0E+999999  -> Infinity Overflow Inexact Rounded\r
-fmax2775 fma 1e+600000 1e+400006  0E+999999  -> Infinity Overflow Inexact Rounded\r
-fmax2776 fma 1e+600000 1e+400007  0E+999999  -> Infinity Overflow Inexact Rounded\r
-fmax2777 fma 1e+600000 1e+400008  0E+999999  -> Infinity Overflow Inexact Rounded\r
-fmax2778 fma 1e+600000 1e+400009  0E+999999  -> Infinity Overflow Inexact Rounded\r
-fmax2779 fma 1e+600000 1e+400010  0E+999999  -> Infinity Overflow Inexact Rounded\r
-\r
--- 'subnormal' test edge condition at higher precisions\r
-precision: 99\r
-fmax2780 fma 1e-600000 1e-400007  0E+999999  -> 1E-1000007 Subnormal\r
-fmax2781 fma 1e-600000 1e-400008  0E+999999  -> 1E-1000008 Subnormal\r
-fmax2782 fma 1e-600000 1e-400097  0E+999999  -> 1E-1000097 Subnormal\r
-fmax2783 fma 1e-600000 1e-400098  0E+999999  -> 0E-1000097 Underflow Subnormal Inexact Rounded Clamped\r
-precision: 999\r
-fmax2784 fma 1e-600000 1e-400997  0E+999999  -> 1E-1000997 Subnormal\r
-fmax2785 fma 1e-600000 1e-400998  0E+999999  -> 0E-1000997 Underflow Subnormal Inexact Rounded Clamped\r
-\r
--- test subnormals rounding\r
-precision:   5\r
-maxExponent: 999\r
-minexponent: -999\r
-rounding:    half_even\r
-\r
-fmax2801 fma  1.0000E-999  1      0E+999999  -> 1.0000E-999\r
-fmax2802 fma  1.000E-999   1e-1   0E+999999  -> 1.000E-1000 Subnormal\r
-fmax2803 fma  1.00E-999    1e-2   0E+999999  -> 1.00E-1001  Subnormal\r
-fmax2804 fma  1.0E-999     1e-3   0E+999999  -> 1.0E-1002   Subnormal\r
-fmax2805 fma  1.0E-999     1e-4   0E+999999  -> 1E-1003     Subnormal Rounded\r
-fmax2806 fma  1.3E-999     1e-4   0E+999999  -> 1E-1003     Underflow Subnormal Inexact Rounded\r
-fmax2807 fma  1.5E-999     1e-4   0E+999999  -> 2E-1003     Underflow Subnormal Inexact Rounded\r
-fmax2808 fma  1.7E-999     1e-4   0E+999999  -> 2E-1003     Underflow Subnormal Inexact Rounded\r
-fmax2809 fma  2.3E-999     1e-4   0E+999999  -> 2E-1003     Underflow Subnormal Inexact Rounded\r
-fmax2810 fma  2.5E-999     1e-4   0E+999999  -> 2E-1003     Underflow Subnormal Inexact Rounded\r
-fmax2811 fma  2.7E-999     1e-4   0E+999999  -> 3E-1003     Underflow Subnormal Inexact Rounded\r
-fmax2812 fma  1.49E-999    1e-4   0E+999999  -> 1E-1003     Underflow Subnormal Inexact Rounded\r
-fmax2813 fma  1.50E-999    1e-4   0E+999999  -> 2E-1003     Underflow Subnormal Inexact Rounded\r
-fmax2814 fma  1.51E-999    1e-4   0E+999999  -> 2E-1003     Underflow Subnormal Inexact Rounded\r
-fmax2815 fma  2.49E-999    1e-4   0E+999999  -> 2E-1003     Underflow Subnormal Inexact Rounded\r
-fmax2816 fma  2.50E-999    1e-4   0E+999999  -> 2E-1003     Underflow Subnormal Inexact Rounded\r
-fmax2817 fma  2.51E-999    1e-4   0E+999999  -> 3E-1003     Underflow Subnormal Inexact Rounded\r
-\r
-fmax2818 fma  1E-999       1e-4   0E+999999  -> 1E-1003     Subnormal\r
-fmax2819 fma  3E-999       1e-5   0E+999999  -> 0E-1003     Underflow Subnormal Inexact Rounded Clamped\r
-fmax2820 fma  5E-999       1e-5   0E+999999  -> 0E-1003     Underflow Subnormal Inexact Rounded Clamped\r
-fmax2821 fma  7E-999       1e-5   0E+999999  -> 1E-1003     Underflow Subnormal Inexact Rounded\r
-fmax2822 fma  9E-999       1e-5   0E+999999  -> 1E-1003     Underflow Subnormal Inexact Rounded\r
-fmax2823 fma  9.9E-999     1e-5   0E+999999  -> 1E-1003     Underflow Subnormal Inexact Rounded\r
-\r
-fmax2824 fma  1E-999      -1e-4   0E+999999  -> -1E-1003    Subnormal\r
-fmax2825 fma  3E-999      -1e-5   0E+999999  -> -0E-1003    Underflow Subnormal Inexact Rounded Clamped\r
-fmax2826 fma -5E-999       1e-5   0E+999999  -> -0E-1003    Underflow Subnormal Inexact Rounded Clamped\r
-fmax2827 fma  7E-999      -1e-5   0E+999999  -> -1E-1003    Underflow Subnormal Inexact Rounded\r
-fmax2828 fma -9E-999       1e-5   0E+999999  -> -1E-1003    Underflow Subnormal Inexact Rounded\r
-fmax2829 fma  9.9E-999    -1e-5   0E+999999  -> -1E-1003    Underflow Subnormal Inexact Rounded\r
-fmax2830 fma  3.0E-999    -1e-5   0E+999999  -> -0E-1003    Underflow Subnormal Inexact Rounded Clamped\r
-\r
-fmax2831 fma  1.0E-501     1e-501  0E+999999  -> 1.0E-1002   Subnormal\r
-fmax2832 fma  2.0E-501     2e-501  0E+999999  -> 4.0E-1002   Subnormal\r
-fmax2833 fma  4.0E-501     4e-501  0E+999999  -> 1.60E-1001  Subnormal\r
-fmax2834 fma 10.0E-501    10e-501  0E+999999  -> 1.000E-1000 Subnormal\r
-fmax2835 fma 30.0E-501    30e-501  0E+999999  -> 9.000E-1000 Subnormal\r
-fmax2836 fma 40.0E-501    40e-501  0E+999999  -> 1.6000E-999\r
-\r
--- squares\r
-fmax2840 fma  1E-502       1e-502  0E+999999  -> 0E-1003     Underflow Subnormal Inexact Rounded Clamped\r
-fmax2841 fma  1E-501       1e-501  0E+999999  -> 1E-1002     Subnormal\r
-fmax2842 fma  2E-501       2e-501  0E+999999  -> 4E-1002     Subnormal\r
-fmax2843 fma  4E-501       4e-501  0E+999999  -> 1.6E-1001   Subnormal\r
-fmax2844 fma 10E-501      10e-501  0E+999999  -> 1.00E-1000  Subnormal\r
-fmax2845 fma 30E-501      30e-501  0E+999999  -> 9.00E-1000  Subnormal\r
-fmax2846 fma 40E-501      40e-501  0E+999999  -> 1.600E-999\r
-\r
--- cubes\r
-fmax2850 fma  1E-670     1e-335  0E+999999  -> 0E-1003    Underflow Subnormal Inexact Rounded Clamped\r
-fmax2851 fma  1E-668     1e-334  0E+999999  -> 1E-1002    Subnormal\r
-fmax2852 fma  4E-668     2e-334  0E+999999  -> 8E-1002    Subnormal\r
-fmax2853 fma  9E-668     3e-334  0E+999999  -> 2.7E-1001  Subnormal\r
-fmax2854 fma 16E-668     4e-334  0E+999999  -> 6.4E-1001  Subnormal\r
-fmax2855 fma 25E-668     5e-334  0E+999999  -> 1.25E-1000 Subnormal\r
-fmax2856 fma 10E-668   100e-334  0E+999999  -> 1.000E-999\r
-\r
--- test derived from result of 0.099 ** 999 at 15 digits with unlimited exponent\r
-precision: 19\r
-fmax2860 fma  6636851557994578716E-520 6636851557994578716E-520  0E+999999  -> 4.40477986028551E-1003 Underflow Subnormal Inexact Rounded\r
-\r
--- Long operand overflow may be a different path\r
-precision: 3\r
-maxExponent: 999999\r
-minexponent: -999999\r
-fmax2870 fma 1  9.999E+999999    0E+999999  ->  Infinity Inexact Overflow Rounded\r
-fmax2871 fma 1 -9.999E+999999    0E+999999  -> -Infinity Inexact Overflow Rounded\r
-fmax2872 fma    9.999E+999999 1  0E+999999  ->  Infinity Inexact Overflow Rounded\r
-fmax2873 fma   -9.999E+999999 1  0E+999999  -> -Infinity Inexact Overflow Rounded\r
-\r
--- check for double-rounded subnormals\r
-precision:   5\r
-maxexponent: 79\r
-minexponent: -79\r
-fmax2881 fma  1.2347E-40  1.2347E-40   0E+999999  ->  1.524E-80  Inexact Rounded Subnormal Underflow\r
-fmax2882 fma  1.234E-40  1.234E-40     0E+999999  ->  1.523E-80  Inexact Rounded Subnormal Underflow\r
-fmax2883 fma  1.23E-40   1.23E-40      0E+999999  ->  1.513E-80  Inexact Rounded Subnormal Underflow\r
-fmax2884 fma  1.2E-40    1.2E-40       0E+999999  ->  1.44E-80   Subnormal\r
-fmax2885 fma  1.2E-40    1.2E-41       0E+999999  ->  1.44E-81   Subnormal\r
-fmax2886 fma  1.2E-40    1.2E-42       0E+999999  ->  1.4E-82    Subnormal Inexact Rounded Underflow\r
-fmax2887 fma  1.2E-40    1.3E-42       0E+999999  ->  1.6E-82    Subnormal Inexact Rounded Underflow\r
-fmax2888 fma  1.3E-40    1.3E-42       0E+999999  ->  1.7E-82    Subnormal Inexact Rounded Underflow\r
-fmax2889 fma  1.3E-40    1.3E-43       0E+999999  ->    2E-83    Subnormal Inexact Rounded Underflow\r
-fmax2890 fma  1.3E-41    1.3E-43       0E+999999  ->    0E-83    Clamped Subnormal Inexact Rounded Underflow\r
-\r
-fmax2891 fma  1.2345E-39   1.234E-40   0E+999999  ->  1.5234E-79 Inexact Rounded\r
-fmax2892 fma  1.23456E-39  1.234E-40   0E+999999  ->  1.5234E-79 Inexact Rounded\r
-fmax2893 fma  1.2345E-40   1.234E-40   0E+999999  ->  1.523E-80  Inexact Rounded Subnormal Underflow\r
-fmax2894 fma  1.23456E-40  1.234E-40   0E+999999  ->  1.523E-80  Inexact Rounded Subnormal Underflow\r
-fmax2895 fma  1.2345E-41   1.234E-40   0E+999999  ->  1.52E-81   Inexact Rounded Subnormal Underflow\r
-fmax2896 fma  1.23456E-41  1.234E-40   0E+999999  ->  1.52E-81   Inexact Rounded Subnormal Underflow\r
-\r
--- Now explore the case where we get a normal result with Underflow\r
-precision:   16\r
-rounding:    half_up\r
-maxExponent: 384\r
-minExponent: -383\r
-\r
-fmax2900 fma  0.3000000000E-191 0.3000000000E-191  0E+999999  -> 9.00000000000000E-384 Subnormal Rounded\r
-fmax2901 fma  0.3000000001E-191 0.3000000001E-191  0E+999999  -> 9.00000000600000E-384 Underflow Inexact Subnormal Rounded\r
-fmax2902 fma  9.999999999999999E-383  0.0999999999999          0E+999999  -> 9.99999999999000E-384 Underflow Inexact Subnormal Rounded\r
-fmax2903 fma  9.999999999999999E-383  0.09999999999999         0E+999999  -> 9.99999999999900E-384 Underflow Inexact Subnormal Rounded\r
-fmax2904 fma  9.999999999999999E-383  0.099999999999999        0E+999999  -> 9.99999999999990E-384 Underflow Inexact Subnormal Rounded\r
-fmax2905 fma  9.999999999999999E-383  0.0999999999999999       0E+999999  -> 9.99999999999999E-384 Underflow Inexact Subnormal Rounded\r
--- prove operands are exact\r
-fmax2906 fma  9.999999999999999E-383  1                        0E+999999  -> 9.999999999999999E-383\r
-fmax2907 fma                       1  0.09999999999999999      0E+999999  -> 0.09999999999999999\r
--- the next rounds to Nmin\r
-fmax2908 fma  9.999999999999999E-383  0.09999999999999999      0E+999999  -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded\r
-fmax2909 fma  9.999999999999999E-383  0.099999999999999999     0E+999999  -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded\r
-fmax2910 fma  9.999999999999999E-383  0.0999999999999999999    0E+999999  -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded\r
-fmax2911 fma  9.999999999999999E-383  0.09999999999999999999   0E+999999  -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded\r
-\r
--- Examples from SQL proposal (Krishna Kulkarni)\r
-precision:   34\r
-rounding:    half_up\r
-maxExponent: 6144\r
-minExponent: -6143\r
-fmax2921  fma 130E-2  120E-2  0E+999999  -> 1.5600\r
-fmax2922  fma 130E-2  12E-1   0E+999999  -> 1.560\r
-fmax2923  fma 130E-2  1E0     0E+999999  -> 1.30\r
-\r
--- Null tests\r
-fmax2990 fma  # 10  0E+999999  -> NaN Invalid_operation\r
-fmax2991 fma 10  #  0E+999999  -> NaN Invalid_operation\r
-\r
--- ADDITION TESTS ------------------------------------------------------\r
-precision:   9\r
-rounding:    half_up\r
-maxExponent: 384\r
-minexponent: -383\r
-\r
--- [first group are 'quick confidence check']\r
-fmax3001 fma  1   1       1       ->  2\r
-fmax3002 fma  1   2       3       ->  5\r
-fmax3003 fma  1   '5.75'  '3.3'   ->  9.05\r
-fmax3004 fma  1   '5'     '-3'    ->  2\r
-fmax3005 fma  1   '-5'    '-3'    ->  -8\r
-fmax3006 fma  1   '-7'    '2.5'   ->  -4.5\r
-fmax3007 fma  1   '0.7'   '0.3'   ->  1.0\r
-fmax3008 fma  1   '1.25'  '1.25'  ->  2.50\r
-fmax3009 fma  1   '1.23456789'  '1.00000000' -> '2.23456789'\r
-fmax3010 fma  1   '1.23456789'  '1.00000011' -> '2.23456800'\r
-\r
-fmax3011 fma  1   '0.4444444444'  '0.5555555555' -> '1.00000000' Inexact Rounded\r
-fmax3012 fma  1   '0.4444444440'  '0.5555555555' -> '1.00000000' Inexact Rounded\r
-fmax3013 fma  1   '0.4444444444'  '0.5555555550' -> '0.999999999' Inexact Rounded\r
-fmax3014 fma  1   '0.44444444449'    '0' -> '0.444444444' Inexact Rounded\r
-fmax3015 fma  1   '0.444444444499'   '0' -> '0.444444444' Inexact Rounded\r
-fmax3016 fma  1   '0.4444444444999'  '0' -> '0.444444444' Inexact Rounded\r
-fmax3017 fma  1   '0.4444444445000'  '0' -> '0.444444445' Inexact Rounded\r
-fmax3018 fma  1   '0.4444444445001'  '0' -> '0.444444445' Inexact Rounded\r
-fmax3019 fma  1   '0.444444444501'   '0' -> '0.444444445' Inexact Rounded\r
-fmax3020 fma  1   '0.44444444451'    '0' -> '0.444444445' Inexact Rounded\r
-\r
-fmax3021 fma  1   0 1 -> 1\r
-fmax3022 fma  1   1 1 -> 2\r
-fmax3023 fma  1   2 1 -> 3\r
-fmax3024 fma  1   3 1 -> 4\r
-fmax3025 fma  1   4 1 -> 5\r
-fmax3026 fma  1   5 1 -> 6\r
-fmax3027 fma  1   6 1 -> 7\r
-fmax3028 fma  1   7 1 -> 8\r
-fmax3029 fma  1   8 1 -> 9\r
-fmax3030 fma  1   9 1 -> 10\r
-\r
--- some carrying effects\r
-fmax3031 fma  1   '0.9998'  '0.0000' -> '0.9998'\r
-fmax3032 fma  1   '0.9998'  '0.0001' -> '0.9999'\r
-fmax3033 fma  1   '0.9998'  '0.0002' -> '1.0000'\r
-fmax3034 fma  1   '0.9998'  '0.0003' -> '1.0001'\r
-\r
-fmax3035 fma  1   '70'  '10000e+9' -> '1.00000000E+13' Inexact Rounded\r
-fmax3036 fma  1   '700'  '10000e+9' -> '1.00000000E+13' Inexact Rounded\r
-fmax3037 fma  1   '7000'  '10000e+9' -> '1.00000000E+13' Inexact Rounded\r
-fmax3038 fma  1   '70000'  '10000e+9' -> '1.00000001E+13' Inexact Rounded\r
-fmax3039 fma  1   '700000'  '10000e+9' -> '1.00000007E+13' Rounded\r
-\r
--- symmetry:\r
-fmax3040 fma  1   '10000e+9'  '70' -> '1.00000000E+13' Inexact Rounded\r
-fmax3041 fma  1   '10000e+9'  '700' -> '1.00000000E+13' Inexact Rounded\r
-fmax3042 fma  1   '10000e+9'  '7000' -> '1.00000000E+13' Inexact Rounded\r
-fmax3044 fma  1   '10000e+9'  '70000' -> '1.00000001E+13' Inexact Rounded\r
-fmax3045 fma  1   '10000e+9'  '700000' -> '1.00000007E+13' Rounded\r
-\r
--- same, higher precision\r
-precision: 15\r
-fmax3046 fma  1   '10000e+9'  '7' -> '10000000000007'\r
-fmax3047 fma  1   '10000e+9'  '70' -> '10000000000070'\r
-fmax3048 fma  1   '10000e+9'  '700' -> '10000000000700'\r
-fmax3049 fma  1   '10000e+9'  '7000' -> '10000000007000'\r
-fmax3050 fma  1   '10000e+9'  '70000' -> '10000000070000'\r
-fmax3051 fma  1   '10000e+9'  '700000' -> '10000000700000'\r
-fmax3052 fma  1   '10000e+9'  '7000000' -> '10000007000000'\r
-\r
--- examples from decarith\r
-fmax3053 fma  1   '12' '7.00' -> '19.00'\r
-fmax3054 fma  1   '1.3' '-1.07' -> '0.23'\r
-fmax3055 fma  1   '1.3' '-1.30' -> '0.00'\r
-fmax3056 fma  1   '1.3' '-2.07' -> '-0.77'\r
-fmax3057 fma  1   '1E+2' '1E+4' -> '1.01E+4'\r
-\r
--- zero preservation\r
-precision: 6\r
-fmax3060 fma  1   '10000e+9'  '70000' -> '1.00000E+13' Inexact Rounded\r
-fmax3061 fma  1   1 '0.0001' -> '1.0001'\r
-fmax3062 fma  1   1 '0.00001' -> '1.00001'\r
-fmax3063 fma  1   1 '0.000001' -> '1.00000' Inexact Rounded\r
-fmax3064 fma  1   1 '0.0000001' -> '1.00000' Inexact Rounded\r
-fmax3065 fma  1   1 '0.00000001' -> '1.00000' Inexact Rounded\r
-\r
--- some funny zeros [in case of bad signum]\r
-fmax3070 fma  1   1  0    -> 1\r
-fmax3071 fma  1   1 0.    -> 1\r
-fmax3072 fma  1   1  .0   -> 1.0\r
-fmax3073 fma  1   1 0.0   -> 1.0\r
-fmax3074 fma  1   1 0.00  -> 1.00\r
-fmax3075 fma  1    0  1   -> 1\r
-fmax3076 fma  1   0.  1   -> 1\r
-fmax3077 fma  1    .0 1   -> 1.0\r
-fmax3078 fma  1   0.0 1   -> 1.0\r
-fmax3079 fma  1   0.00 1  -> 1.00\r
-\r
-precision: 9\r
-\r
--- some carries\r
-fmax3080 fma  1   999999998 1  -> 999999999\r
-fmax3081 fma  1   999999999 1  -> 1.00000000E+9 Rounded\r
-fmax3082 fma  1    99999999 1  -> 100000000\r
-fmax3083 fma  1     9999999 1  -> 10000000\r
-fmax3084 fma  1      999999 1  -> 1000000\r
-fmax3085 fma  1       99999 1  -> 100000\r
-fmax3086 fma  1        9999 1  -> 10000\r
-fmax3087 fma  1         999 1  -> 1000\r
-fmax3088 fma  1          99 1  -> 100\r
-fmax3089 fma  1           9 1  -> 10\r
-\r
-\r
--- more LHS swaps\r
-fmax3090 fma  1   '-56267E-10'   0 ->  '-0.0000056267'\r
-fmax3091 fma  1   '-56267E-6'    0 ->  '-0.056267'\r
-fmax3092 fma  1   '-56267E-5'    0 ->  '-0.56267'\r
-fmax3093 fma  1   '-56267E-4'    0 ->  '-5.6267'\r
-fmax3094 fma  1   '-56267E-3'    0 ->  '-56.267'\r
-fmax3095 fma  1   '-56267E-2'    0 ->  '-562.67'\r
-fmax3096 fma  1   '-56267E-1'    0 ->  '-5626.7'\r
-fmax3097 fma  1   '-56267E-0'    0 ->  '-56267'\r
-fmax3098 fma  1   '-5E-10'       0 ->  '-5E-10'\r
-fmax3099 fma  1   '-5E-7'        0 ->  '-5E-7'\r
-fmax3100 fma  1   '-5E-6'        0 ->  '-0.000005'\r
-fmax3101 fma  1   '-5E-5'        0 ->  '-0.00005'\r
-fmax3102 fma  1   '-5E-4'        0 ->  '-0.0005'\r
-fmax3103 fma  1   '-5E-1'        0 ->  '-0.5'\r
-fmax3104 fma  1   '-5E0'         0 ->  '-5'\r
-fmax3105 fma  1   '-5E1'         0 ->  '-50'\r
-fmax3106 fma  1   '-5E5'         0 ->  '-500000'\r
-fmax3107 fma  1   '-5E8'         0 ->  '-500000000'\r
-fmax3108 fma  1   '-5E9'         0 ->  '-5.00000000E+9'   Rounded\r
-fmax3109 fma  1   '-5E10'        0 ->  '-5.00000000E+10'  Rounded\r
-fmax3110 fma  1   '-5E11'        0 ->  '-5.00000000E+11'  Rounded\r
-fmax3111 fma  1   '-5E100'       0 ->  '-5.00000000E+100' Rounded\r
-\r
--- more RHS swaps\r
-fmax3113 fma  1   0  '-56267E-10' ->  '-0.0000056267'\r
-fmax3114 fma  1   0  '-56267E-6'  ->  '-0.056267'\r
-fmax3116 fma  1   0  '-56267E-5'  ->  '-0.56267'\r
-fmax3117 fma  1   0  '-56267E-4'  ->  '-5.6267'\r
-fmax3119 fma  1   0  '-56267E-3'  ->  '-56.267'\r
-fmax3120 fma  1   0  '-56267E-2'  ->  '-562.67'\r
-fmax3121 fma  1   0  '-56267E-1'  ->  '-5626.7'\r
-fmax3122 fma  1   0  '-56267E-0'  ->  '-56267'\r
-fmax3123 fma  1   0  '-5E-10'     ->  '-5E-10'\r
-fmax3124 fma  1   0  '-5E-7'      ->  '-5E-7'\r
-fmax3125 fma  1   0  '-5E-6'      ->  '-0.000005'\r
-fmax3126 fma  1   0  '-5E-5'      ->  '-0.00005'\r
-fmax3127 fma  1   0  '-5E-4'      ->  '-0.0005'\r
-fmax3128 fma  1   0  '-5E-1'      ->  '-0.5'\r
-fmax3129 fma  1   0  '-5E0'       ->  '-5'\r
-fmax3130 fma  1   0  '-5E1'       ->  '-50'\r
-fmax3131 fma  1   0  '-5E5'       ->  '-500000'\r
-fmax3132 fma  1   0  '-5E8'       ->  '-500000000'\r
-fmax3133 fma  1   0  '-5E9'       ->  '-5.00000000E+9'    Rounded\r
-fmax3134 fma  1   0  '-5E10'      ->  '-5.00000000E+10'   Rounded\r
-fmax3135 fma  1   0  '-5E11'      ->  '-5.00000000E+11'   Rounded\r
-fmax3136 fma  1   0  '-5E100'     ->  '-5.00000000E+100'  Rounded\r
-\r
--- related\r
-fmax3137 fma  1    1  '0E-12'      ->  '1.00000000'  Rounded\r
-fmax3138 fma  1   -1  '0E-12'      ->  '-1.00000000' Rounded\r
-fmax3139 fma  1   '0E-12' 1        ->  '1.00000000'  Rounded\r
-fmax3140 fma  1   '0E-12' -1       ->  '-1.00000000' Rounded\r
-fmax3141 fma  1   1E+4    0.0000   ->  '10000.0000'\r
-fmax3142 fma  1   1E+4    0.00000  ->  '10000.0000'  Rounded\r
-fmax3143 fma  1   0.000   1E+5     ->  '100000.000'\r
-fmax3144 fma  1   0.0000  1E+5     ->  '100000.000'  Rounded\r
-\r
--- [some of the next group are really constructor tests]\r
-fmax3146 fma  1   '00.0'  0       ->  '0.0'\r
-fmax3147 fma  1   '0.00'  0       ->  '0.00'\r
-fmax3148 fma  1    0      '0.00'  ->  '0.00'\r
-fmax3149 fma  1    0      '00.0'  ->  '0.0'\r
-fmax3150 fma  1   '00.0'  '0.00'  ->  '0.00'\r
-fmax3151 fma  1   '0.00'  '00.0'  ->  '0.00'\r
-fmax3152 fma  1   '3'     '.3'    ->  '3.3'\r
-fmax3153 fma  1   '3.'    '.3'    ->  '3.3'\r
-fmax3154 fma  1   '3.0'   '.3'    ->  '3.3'\r
-fmax3155 fma  1   '3.00'  '.3'    ->  '3.30'\r
-fmax3156 fma  1   '3'     '3'     ->  '6'\r
-fmax3157 fma  1   '3'     '+3'    ->  '6'\r
-fmax3158 fma  1   '3'     '-3'    ->  '0'\r
-fmax3159 fma  1   '0.3'   '-0.3'  ->  '0.0'\r
-fmax3160 fma  1   '0.03'  '-0.03' ->  '0.00'\r
-\r
--- try borderline precision, with carries, etc.\r
-precision: 15\r
-fmax3161 fma  1   '1E+12' '-1'    -> '999999999999'\r
-fmax3162 fma  1   '1E+12'  '1.11' -> '1000000000001.11'\r
-fmax3163 fma  1   '1.11'  '1E+12' -> '1000000000001.11'\r
-fmax3164 fma  1   '-1'    '1E+12' -> '999999999999'\r
-fmax3165 fma  1   '7E+12' '-1'    -> '6999999999999'\r
-fmax3166 fma  1   '7E+12'  '1.11' -> '7000000000001.11'\r
-fmax3167 fma  1   '1.11'  '7E+12' -> '7000000000001.11'\r
-fmax3168 fma  1   '-1'    '7E+12' -> '6999999999999'\r
-\r
---             123456789012345      123456789012345      1 23456789012345\r
-fmax3170 fma  1   '0.444444444444444'  '0.555555555555563' -> '1.00000000000001' Inexact Rounded\r
-fmax3171 fma  1   '0.444444444444444'  '0.555555555555562' -> '1.00000000000001' Inexact Rounded\r
-fmax3172 fma  1   '0.444444444444444'  '0.555555555555561' -> '1.00000000000001' Inexact Rounded\r
-fmax3173 fma  1   '0.444444444444444'  '0.555555555555560' -> '1.00000000000000' Inexact Rounded\r
-fmax3174 fma  1   '0.444444444444444'  '0.555555555555559' -> '1.00000000000000' Inexact Rounded\r
-fmax3175 fma  1   '0.444444444444444'  '0.555555555555558' -> '1.00000000000000' Inexact Rounded\r
-fmax3176 fma  1   '0.444444444444444'  '0.555555555555557' -> '1.00000000000000' Inexact Rounded\r
-fmax3177 fma  1   '0.444444444444444'  '0.555555555555556' -> '1.00000000000000' Rounded\r
-fmax3178 fma  1   '0.444444444444444'  '0.555555555555555' -> '0.999999999999999'\r
-fmax3179 fma  1   '0.444444444444444'  '0.555555555555554' -> '0.999999999999998'\r
-fmax3180 fma  1   '0.444444444444444'  '0.555555555555553' -> '0.999999999999997'\r
-fmax3181 fma  1   '0.444444444444444'  '0.555555555555552' -> '0.999999999999996'\r
-fmax3182 fma  1   '0.444444444444444'  '0.555555555555551' -> '0.999999999999995'\r
-fmax3183 fma  1   '0.444444444444444'  '0.555555555555550' -> '0.999999999999994'\r
-\r
--- and some more, including residue effects and different roundings\r
-precision: 9\r
-rounding: half_up\r
-fmax3200 fma  1   '123456789' 0             -> '123456789'\r
-fmax3201 fma  1   '123456789' 0.000000001   -> '123456789' Inexact Rounded\r
-fmax3202 fma  1   '123456789' 0.000001      -> '123456789' Inexact Rounded\r
-fmax3203 fma  1   '123456789' 0.1           -> '123456789' Inexact Rounded\r
-fmax3204 fma  1   '123456789' 0.4           -> '123456789' Inexact Rounded\r
-fmax3205 fma  1   '123456789' 0.49          -> '123456789' Inexact Rounded\r
-fmax3206 fma  1   '123456789' 0.499999      -> '123456789' Inexact Rounded\r
-fmax3207 fma  1   '123456789' 0.499999999   -> '123456789' Inexact Rounded\r
-fmax3208 fma  1   '123456789' 0.5           -> '123456790' Inexact Rounded\r
-fmax3209 fma  1   '123456789' 0.500000001   -> '123456790' Inexact Rounded\r
-fmax3210 fma  1   '123456789' 0.500001      -> '123456790' Inexact Rounded\r
-fmax3211 fma  1   '123456789' 0.51          -> '123456790' Inexact Rounded\r
-fmax3212 fma  1   '123456789' 0.6           -> '123456790' Inexact Rounded\r
-fmax3213 fma  1   '123456789' 0.9           -> '123456790' Inexact Rounded\r
-fmax3214 fma  1   '123456789' 0.99999       -> '123456790' Inexact Rounded\r
-fmax3215 fma  1   '123456789' 0.999999999   -> '123456790' Inexact Rounded\r
-fmax3216 fma  1   '123456789' 1             -> '123456790'\r
-fmax3217 fma  1   '123456789' 1.000000001   -> '123456790' Inexact Rounded\r
-fmax3218 fma  1   '123456789' 1.00001       -> '123456790' Inexact Rounded\r
-fmax3219 fma  1   '123456789' 1.1           -> '123456790' Inexact Rounded\r
-\r
-rounding: half_even\r
-fmax3220 fma  1   '123456789' 0             -> '123456789'\r
-fmax3221 fma  1   '123456789' 0.000000001   -> '123456789' Inexact Rounded\r
-fmax3222 fma  1   '123456789' 0.000001      -> '123456789' Inexact Rounded\r
-fmax3223 fma  1   '123456789' 0.1           -> '123456789' Inexact Rounded\r
-fmax3224 fma  1   '123456789' 0.4           -> '123456789' Inexact Rounded\r
-fmax3225 fma  1   '123456789' 0.49          -> '123456789' Inexact Rounded\r
-fmax3226 fma  1   '123456789' 0.499999      -> '123456789' Inexact Rounded\r
-fmax3227 fma  1   '123456789' 0.499999999   -> '123456789' Inexact Rounded\r
-fmax3228 fma  1   '123456789' 0.5           -> '123456790' Inexact Rounded\r
-fmax3229 fma  1   '123456789' 0.500000001   -> '123456790' Inexact Rounded\r
-fmax3230 fma  1   '123456789' 0.500001      -> '123456790' Inexact Rounded\r
-fmax3231 fma  1   '123456789' 0.51          -> '123456790' Inexact Rounded\r
-fmax3232 fma  1   '123456789' 0.6           -> '123456790' Inexact Rounded\r
-fmax3233 fma  1   '123456789' 0.9           -> '123456790' Inexact Rounded\r
-fmax3234 fma  1   '123456789' 0.99999       -> '123456790' Inexact Rounded\r
-fmax3235 fma  1   '123456789' 0.999999999   -> '123456790' Inexact Rounded\r
-fmax3236 fma  1   '123456789' 1             -> '123456790'\r
-fmax3237 fma  1   '123456789' 1.00000001    -> '123456790' Inexact Rounded\r
-fmax3238 fma  1   '123456789' 1.00001       -> '123456790' Inexact Rounded\r
-fmax3239 fma  1   '123456789' 1.1           -> '123456790' Inexact Rounded\r
--- critical few with even bottom digit...\r
-fmax3240 fma  1   '123456788' 0.499999999   -> '123456788' Inexact Rounded\r
-fmax3241 fma  1   '123456788' 0.5           -> '123456788' Inexact Rounded\r
-fmax3242 fma  1   '123456788' 0.500000001   -> '123456789' Inexact Rounded\r
-\r
-rounding: down\r
-fmax3250 fma  1   '123456789' 0             -> '123456789'\r
-fmax3251 fma  1   '123456789' 0.000000001   -> '123456789' Inexact Rounded\r
-fmax3252 fma  1   '123456789' 0.000001      -> '123456789' Inexact Rounded\r
-fmax3253 fma  1   '123456789' 0.1           -> '123456789' Inexact Rounded\r
-fmax3254 fma  1   '123456789' 0.4           -> '123456789' Inexact Rounded\r
-fmax3255 fma  1   '123456789' 0.49          -> '123456789' Inexact Rounded\r
-fmax3256 fma  1   '123456789' 0.499999      -> '123456789' Inexact Rounded\r
-fmax3257 fma  1   '123456789' 0.499999999   -> '123456789' Inexact Rounded\r
-fmax3258 fma  1   '123456789' 0.5           -> '123456789' Inexact Rounded\r
-fmax3259 fma  1   '123456789' 0.500000001   -> '123456789' Inexact Rounded\r
-fmax3260 fma  1   '123456789' 0.500001      -> '123456789' Inexact Rounded\r
-fmax3261 fma  1   '123456789' 0.51          -> '123456789' Inexact Rounded\r
-fmax3262 fma  1   '123456789' 0.6           -> '123456789' Inexact Rounded\r
-fmax3263 fma  1   '123456789' 0.9           -> '123456789' Inexact Rounded\r
-fmax3264 fma  1   '123456789' 0.99999       -> '123456789' Inexact Rounded\r
-fmax3265 fma  1   '123456789' 0.999999999   -> '123456789' Inexact Rounded\r
-fmax3266 fma  1   '123456789' 1             -> '123456790'\r
-fmax3267 fma  1   '123456789' 1.00000001    -> '123456790' Inexact Rounded\r
-fmax3268 fma  1   '123456789' 1.00001       -> '123456790' Inexact Rounded\r
-fmax3269 fma  1   '123456789' 1.1           -> '123456790' Inexact Rounded\r
-\r
--- input preparation tests (operands should not be rounded)\r
-precision: 3\r
-rounding: half_up\r
-\r
-fmax3270 fma  1   '12345678900000'  9999999999999 ->  '2.23E+13' Inexact Rounded\r
-fmax3271 fma  1    '9999999999999' 12345678900000 ->  '2.23E+13' Inexact Rounded\r
-\r
-fmax3272 fma  1   '12E+3'  '3444'   ->  '1.54E+4' Inexact Rounded\r
-fmax3273 fma  1   '12E+3'  '3446'   ->  '1.54E+4' Inexact Rounded\r
-fmax3274 fma  1   '12E+3'  '3449.9' ->  '1.54E+4' Inexact Rounded\r
-fmax3275 fma  1   '12E+3'  '3450.0' ->  '1.55E+4' Inexact Rounded\r
-fmax3276 fma  1   '12E+3'  '3450.1' ->  '1.55E+4' Inexact Rounded\r
-fmax3277 fma  1   '12E+3'  '3454'   ->  '1.55E+4' Inexact Rounded\r
-fmax3278 fma  1   '12E+3'  '3456'   ->  '1.55E+4' Inexact Rounded\r
-\r
-fmax3281 fma  1   '3444'   '12E+3'  ->  '1.54E+4' Inexact Rounded\r
-fmax3282 fma  1   '3446'   '12E+3'  ->  '1.54E+4' Inexact Rounded\r
-fmax3283 fma  1   '3449.9' '12E+3'  ->  '1.54E+4' Inexact Rounded\r
-fmax3284 fma  1   '3450.0' '12E+3'  ->  '1.55E+4' Inexact Rounded\r
-fmax3285 fma  1   '3450.1' '12E+3'  ->  '1.55E+4' Inexact Rounded\r
-fmax3286 fma  1   '3454'   '12E+3'  ->  '1.55E+4' Inexact Rounded\r
-fmax3287 fma  1   '3456'   '12E+3'  ->  '1.55E+4' Inexact Rounded\r
-\r
-rounding: half_down\r
-fmax3291 fma  1   '3444'   '12E+3'  ->  '1.54E+4' Inexact Rounded\r
-fmax3292 fma  1   '3446'   '12E+3'  ->  '1.54E+4' Inexact Rounded\r
-fmax3293 fma  1   '3449.9' '12E+3'  ->  '1.54E+4' Inexact Rounded\r
-fmax3294 fma  1   '3450.0' '12E+3'  ->  '1.54E+4' Inexact Rounded\r
-fmax3295 fma  1   '3450.1' '12E+3'  ->  '1.55E+4' Inexact Rounded\r
-fmax3296 fma  1   '3454'   '12E+3'  ->  '1.55E+4' Inexact Rounded\r
-fmax3297 fma  1   '3456'   '12E+3'  ->  '1.55E+4' Inexact Rounded\r
-\r
--- 1 in last place tests\r
-rounding: half_up\r
-fmax3301 fma  1    -1   1      ->   0\r
-fmax3302 fma  1     0   1      ->   1\r
-fmax3303 fma  1     1   1      ->   2\r
-fmax3304 fma  1    12   1      ->  13\r
-fmax3305 fma  1    98   1      ->  99\r
-fmax3306 fma  1    99   1      -> 100\r
-fmax3307 fma  1   100   1      -> 101\r
-fmax3308 fma  1   101   1      -> 102\r
-fmax3309 fma  1    -1  -1      ->  -2\r
-fmax3310 fma  1     0  -1      ->  -1\r
-fmax3311 fma  1     1  -1      ->   0\r
-fmax3312 fma  1    12  -1      ->  11\r
-fmax3313 fma  1    98  -1      ->  97\r
-fmax3314 fma  1    99  -1      ->  98\r
-fmax3315 fma  1   100  -1      ->  99\r
-fmax3316 fma  1   101  -1      -> 100\r
-\r
-fmax3321 fma  1   -0.01  0.01    ->  0.00\r
-fmax3322 fma  1    0.00  0.01    ->  0.01\r
-fmax3323 fma  1    0.01  0.01    ->  0.02\r
-fmax3324 fma  1    0.12  0.01    ->  0.13\r
-fmax3325 fma  1    0.98  0.01    ->  0.99\r
-fmax3326 fma  1    0.99  0.01    ->  1.00\r
-fmax3327 fma  1    1.00  0.01    ->  1.01\r
-fmax3328 fma  1    1.01  0.01    ->  1.02\r
-fmax3329 fma  1   -0.01 -0.01    -> -0.02\r
-fmax3330 fma  1    0.00 -0.01    -> -0.01\r
-fmax3331 fma  1    0.01 -0.01    ->  0.00\r
-fmax3332 fma  1    0.12 -0.01    ->  0.11\r
-fmax3333 fma  1    0.98 -0.01    ->  0.97\r
-fmax3334 fma  1    0.99 -0.01    ->  0.98\r
-fmax3335 fma  1    1.00 -0.01    ->  0.99\r
-fmax3336 fma  1    1.01 -0.01    ->  1.00\r
-\r
--- some more cases where fma  1  ing 0 affects the coefficient\r
-precision: 9\r
-fmax3340 fma  1   1E+3    0    ->         1000\r
-fmax3341 fma  1   1E+8    0    ->    100000000\r
-fmax3342 fma  1   1E+9    0    ->   1.00000000E+9   Rounded\r
-fmax3343 fma  1   1E+10   0    ->   1.00000000E+10  Rounded\r
--- which simply follow from these cases ...\r
-fmax3344 fma  1   1E+3    1    ->         1001\r
-fmax3345 fma  1   1E+8    1    ->    100000001\r
-fmax3346 fma  1   1E+9    1    ->   1.00000000E+9   Inexact Rounded\r
-fmax3347 fma  1   1E+10   1    ->   1.00000000E+10  Inexact Rounded\r
-fmax3348 fma  1   1E+3    7    ->         1007\r
-fmax3349 fma  1   1E+8    7    ->    100000007\r
-fmax3350 fma  1   1E+9    7    ->   1.00000001E+9   Inexact Rounded\r
-fmax3351 fma  1   1E+10   7    ->   1.00000000E+10  Inexact Rounded\r
-\r
--- tryzeros cases\r
-precision:   7\r
-rounding:    half_up\r
-maxExponent: 92\r
-minexponent: -92\r
-fmax3361  fma  1   0E+50 10000E+1  -> 1.0000E+5\r
-fmax3362  fma  1   10000E+1 0E-50  -> 100000.0  Rounded\r
-fmax3363  fma  1   10000E+1 10000E-50  -> 100000.0  Rounded Inexact\r
-fmax3364  fma  1   9.999999E+92 -9.999999E+92 -> 0E+86\r
-\r
--- a curiosity from JSR 13 testing\r
-rounding:    half_down\r
-precision:   10\r
-fmax3370 fma  1   99999999 81512 -> 100081511\r
-precision:      6\r
-fmax3371 fma  1   99999999 81512 -> 1.00082E+8 Rounded Inexact\r
-rounding:    half_up\r
-precision:   10\r
-fmax3372 fma  1   99999999 81512 -> 100081511\r
-precision:      6\r
-fmax3373 fma  1   99999999 81512 -> 1.00082E+8 Rounded Inexact\r
-rounding:    half_even\r
-precision:   10\r
-fmax3374 fma  1   99999999 81512 -> 100081511\r
-precision:      6\r
-fmax3375 fma  1   99999999 81512 -> 1.00082E+8 Rounded Inexact\r
-\r
--- ulp replacement tests\r
-precision: 9\r
-maxexponent: 999999\r
-minexponent: -999999\r
-fmax3400 fma  1     1   77e-7       ->  1.0000077\r
-fmax3401 fma  1     1   77e-8       ->  1.00000077\r
-fmax3402 fma  1     1   77e-9       ->  1.00000008 Inexact Rounded\r
-fmax3403 fma  1     1   77e-10      ->  1.00000001 Inexact Rounded\r
-fmax3404 fma  1     1   77e-11      ->  1.00000000 Inexact Rounded\r
-fmax3405 fma  1     1   77e-12      ->  1.00000000 Inexact Rounded\r
-fmax3406 fma  1     1   77e-999     ->  1.00000000 Inexact Rounded\r
-fmax3407 fma  1     1   77e-999999  ->  1.00000000 Inexact Rounded\r
-\r
-fmax3410 fma  1    10   77e-7       ->  10.0000077\r
-fmax3411 fma  1    10   77e-8       ->  10.0000008 Inexact Rounded\r
-fmax3412 fma  1    10   77e-9       ->  10.0000001 Inexact Rounded\r
-fmax3413 fma  1    10   77e-10      ->  10.0000000 Inexact Rounded\r
-fmax3414 fma  1    10   77e-11      ->  10.0000000 Inexact Rounded\r
-fmax3415 fma  1    10   77e-12      ->  10.0000000 Inexact Rounded\r
-fmax3416 fma  1    10   77e-999     ->  10.0000000 Inexact Rounded\r
-fmax3417 fma  1    10   77e-999999  ->  10.0000000 Inexact Rounded\r
-\r
-fmax3420 fma  1    77e-7        1   ->  1.0000077\r
-fmax3421 fma  1    77e-8        1   ->  1.00000077\r
-fmax3422 fma  1    77e-9        1   ->  1.00000008 Inexact Rounded\r
-fmax3423 fma  1    77e-10       1   ->  1.00000001 Inexact Rounded\r
-fmax3424 fma  1    77e-11       1   ->  1.00000000 Inexact Rounded\r
-fmax3425 fma  1    77e-12       1   ->  1.00000000 Inexact Rounded\r
-fmax3426 fma  1    77e-999      1   ->  1.00000000 Inexact Rounded\r
-fmax3427 fma  1    77e-999999   1   ->  1.00000000 Inexact Rounded\r
-\r
-fmax3430 fma  1    77e-7       10   ->  10.0000077\r
-fmax3431 fma  1    77e-8       10   ->  10.0000008 Inexact Rounded\r
-fmax3432 fma  1    77e-9       10   ->  10.0000001 Inexact Rounded\r
-fmax3433 fma  1    77e-10      10   ->  10.0000000 Inexact Rounded\r
-fmax3434 fma  1    77e-11      10   ->  10.0000000 Inexact Rounded\r
-fmax3435 fma  1    77e-12      10   ->  10.0000000 Inexact Rounded\r
-fmax3436 fma  1    77e-999     10   ->  10.0000000 Inexact Rounded\r
-fmax3437 fma  1    77e-999999  10   ->  10.0000000 Inexact Rounded\r
-\r
--- negative ulps\r
-fmax3440 fma  1     1   -77e-7       ->  0.9999923\r
-fmax3441 fma  1     1   -77e-8       ->  0.99999923\r
-fmax3442 fma  1     1   -77e-9       ->  0.999999923\r
-fmax3443 fma  1     1   -77e-10      ->  0.999999992 Inexact Rounded\r
-fmax3444 fma  1     1   -77e-11      ->  0.999999999 Inexact Rounded\r
-fmax3445 fma  1     1   -77e-12      ->  1.00000000 Inexact Rounded\r
-fmax3446 fma  1     1   -77e-999     ->  1.00000000 Inexact Rounded\r
-fmax3447 fma  1     1   -77e-999999  ->  1.00000000 Inexact Rounded\r
-\r
-fmax3450 fma  1    10   -77e-7       ->   9.9999923\r
-fmax3451 fma  1    10   -77e-8       ->   9.99999923\r
-fmax3452 fma  1    10   -77e-9       ->   9.99999992 Inexact Rounded\r
-fmax3453 fma  1    10   -77e-10      ->   9.99999999 Inexact Rounded\r
-fmax3454 fma  1    10   -77e-11      ->  10.0000000 Inexact Rounded\r
-fmax3455 fma  1    10   -77e-12      ->  10.0000000 Inexact Rounded\r
-fmax3456 fma  1    10   -77e-999     ->  10.0000000 Inexact Rounded\r
-fmax3457 fma  1    10   -77e-999999  ->  10.0000000 Inexact Rounded\r
-\r
-fmax3460 fma  1    -77e-7        1   ->  0.9999923\r
-fmax3461 fma  1    -77e-8        1   ->  0.99999923\r
-fmax3462 fma  1    -77e-9        1   ->  0.999999923\r
-fmax3463 fma  1    -77e-10       1   ->  0.999999992 Inexact Rounded\r
-fmax3464 fma  1    -77e-11       1   ->  0.999999999 Inexact Rounded\r
-fmax3465 fma  1    -77e-12       1   ->  1.00000000 Inexact Rounded\r
-fmax3466 fma  1    -77e-999      1   ->  1.00000000 Inexact Rounded\r
-fmax3467 fma  1    -77e-999999   1   ->  1.00000000 Inexact Rounded\r
-\r
-fmax3470 fma  1    -77e-7       10   ->   9.9999923\r
-fmax3471 fma  1    -77e-8       10   ->   9.99999923\r
-fmax3472 fma  1    -77e-9       10   ->   9.99999992 Inexact Rounded\r
-fmax3473 fma  1    -77e-10      10   ->   9.99999999 Inexact Rounded\r
-fmax3474 fma  1    -77e-11      10   ->  10.0000000 Inexact Rounded\r
-fmax3475 fma  1    -77e-12      10   ->  10.0000000 Inexact Rounded\r
-fmax3476 fma  1    -77e-999     10   ->  10.0000000 Inexact Rounded\r
-fmax3477 fma  1    -77e-999999  10   ->  10.0000000 Inexact Rounded\r
-\r
--- negative ulps\r
-fmax3480 fma  1    -1    77e-7       ->  -0.9999923\r
-fmax3481 fma  1    -1    77e-8       ->  -0.99999923\r
-fmax3482 fma  1    -1    77e-9       ->  -0.999999923\r
-fmax3483 fma  1    -1    77e-10      ->  -0.999999992 Inexact Rounded\r
-fmax3484 fma  1    -1    77e-11      ->  -0.999999999 Inexact Rounded\r
-fmax3485 fma  1    -1    77e-12      ->  -1.00000000 Inexact Rounded\r
-fmax3486 fma  1    -1    77e-999     ->  -1.00000000 Inexact Rounded\r
-fmax3487 fma  1    -1    77e-999999  ->  -1.00000000 Inexact Rounded\r
-\r
-fmax3490 fma  1   -10    77e-7       ->   -9.9999923\r
-fmax3491 fma  1   -10    77e-8       ->   -9.99999923\r
-fmax3492 fma  1   -10    77e-9       ->   -9.99999992 Inexact Rounded\r
-fmax3493 fma  1   -10    77e-10      ->   -9.99999999 Inexact Rounded\r
-fmax3494 fma  1   -10    77e-11      ->  -10.0000000 Inexact Rounded\r
-fmax3495 fma  1   -10    77e-12      ->  -10.0000000 Inexact Rounded\r
-fmax3496 fma  1   -10    77e-999     ->  -10.0000000 Inexact Rounded\r
-fmax3497 fma  1   -10    77e-999999  ->  -10.0000000 Inexact Rounded\r
-\r
-fmax3500 fma  1     77e-7       -1   ->  -0.9999923\r
-fmax3501 fma  1     77e-8       -1   ->  -0.99999923\r
-fmax3502 fma  1     77e-9       -1   ->  -0.999999923\r
-fmax3503 fma  1     77e-10      -1   ->  -0.999999992 Inexact Rounded\r
-fmax3504 fma  1     77e-11      -1   ->  -0.999999999 Inexact Rounded\r
-fmax3505 fma  1     77e-12      -1   ->  -1.00000000 Inexact Rounded\r
-fmax3506 fma  1     77e-999     -1   ->  -1.00000000 Inexact Rounded\r
-fmax3507 fma  1     77e-999999  -1   ->  -1.00000000 Inexact Rounded\r
-\r
-fmax3510 fma  1     77e-7       -10  ->   -9.9999923\r
-fmax3511 fma  1     77e-8       -10  ->   -9.99999923\r
-fmax3512 fma  1     77e-9       -10  ->   -9.99999992 Inexact Rounded\r
-fmax3513 fma  1     77e-10      -10  ->   -9.99999999 Inexact Rounded\r
-fmax3514 fma  1     77e-11      -10  ->  -10.0000000 Inexact Rounded\r
-fmax3515 fma  1     77e-12      -10  ->  -10.0000000 Inexact Rounded\r
-fmax3516 fma  1     77e-999     -10  ->  -10.0000000 Inexact Rounded\r
-fmax3517 fma  1     77e-999999  -10  ->  -10.0000000 Inexact Rounded\r
-\r
-\r
--- long operands\r
-maxexponent: 999\r
-minexponent: -999\r
-precision: 9\r
-fmax3521 fma  1   12345678000 0 -> 1.23456780E+10 Rounded\r
-fmax3522 fma  1   0 12345678000 -> 1.23456780E+10 Rounded\r
-fmax3523 fma  1   1234567800  0 -> 1.23456780E+9 Rounded\r
-fmax3524 fma  1   0 1234567800  -> 1.23456780E+9 Rounded\r
-fmax3525 fma  1   1234567890  0 -> 1.23456789E+9 Rounded\r
-fmax3526 fma  1   0 1234567890  -> 1.23456789E+9 Rounded\r
-fmax3527 fma  1   1234567891  0 -> 1.23456789E+9 Inexact Rounded\r
-fmax3528 fma  1   0 1234567891  -> 1.23456789E+9 Inexact Rounded\r
-fmax3529 fma  1   12345678901 0 -> 1.23456789E+10 Inexact Rounded\r
-fmax3530 fma  1   0 12345678901 -> 1.23456789E+10 Inexact Rounded\r
-fmax3531 fma  1   1234567896  0 -> 1.23456790E+9 Inexact Rounded\r
-fmax3532 fma  1   0 1234567896  -> 1.23456790E+9 Inexact Rounded\r
-\r
-precision: 15\r
--- still checking\r
-fmax3541 fma  1   12345678000 0 -> 12345678000\r
-fmax3542 fma  1   0 12345678000 -> 12345678000\r
-fmax3543 fma  1   1234567800  0 -> 1234567800\r
-fmax3544 fma  1   0 1234567800  -> 1234567800\r
-fmax3545 fma  1   1234567890  0 -> 1234567890\r
-fmax3546 fma  1   0 1234567890  -> 1234567890\r
-fmax3547 fma  1   1234567891  0 -> 1234567891\r
-fmax3548 fma  1   0 1234567891  -> 1234567891\r
-fmax3549 fma  1   12345678901 0 -> 12345678901\r
-fmax3550 fma  1   0 12345678901 -> 12345678901\r
-fmax3551 fma  1   1234567896  0 -> 1234567896\r
-fmax3552 fma  1   0 1234567896  -> 1234567896\r
-\r
--- verify a query\r
-precision:    16\r
-maxExponent: +394\r
-minExponent: -393\r
-rounding:     down\r
-fmax3561 fma  1   1e-398 9.000000000000000E+384 -> 9.000000000000000E+384 Inexact Rounded\r
-fmax3562 fma  1        0 9.000000000000000E+384 -> 9.000000000000000E+384 Rounded\r
--- and using decimal64 bounds...\r
-precision:    16\r
-maxExponent: +384\r
-minExponent: -383\r
-rounding:     down\r
-fmax3563 fma  1   1e-388 9.000000000000000E+374 -> 9.000000000000000E+374 Inexact Rounded\r
-fmax3564 fma  1        0 9.000000000000000E+374 -> 9.000000000000000E+374 Rounded\r
-\r
-\r
--- some more residue effects with extreme rounding\r
-precision:   9\r
-rounding: half_up\r
-fmax3601 fma  1   123456789  0.000001 -> 123456789 Inexact Rounded\r
-rounding: half_even\r
-fmax3602 fma  1   123456789  0.000001 -> 123456789 Inexact Rounded\r
-rounding: half_down\r
-fmax3603 fma  1   123456789  0.000001 -> 123456789 Inexact Rounded\r
-rounding: floor\r
-fmax3604 fma  1   123456789  0.000001 -> 123456789 Inexact Rounded\r
-rounding: ceiling\r
-fmax3605 fma  1   123456789  0.000001 -> 123456790 Inexact Rounded\r
-rounding: up\r
-fmax3606 fma  1   123456789  0.000001 -> 123456790 Inexact Rounded\r
-rounding: down\r
-fmax3607 fma  1   123456789  0.000001 -> 123456789 Inexact Rounded\r
-\r
-rounding: half_up\r
-fmax3611 fma  1   123456789 -0.000001 -> 123456789 Inexact Rounded\r
-rounding: half_even\r
-fmax3612 fma  1   123456789 -0.000001 -> 123456789 Inexact Rounded\r
-rounding: half_down\r
-fmax3613 fma  1   123456789 -0.000001 -> 123456789 Inexact Rounded\r
-rounding: floor\r
-fmax3614 fma  1   123456789 -0.000001 -> 123456788 Inexact Rounded\r
-rounding: ceiling\r
-fmax3615 fma  1   123456789 -0.000001 -> 123456789 Inexact Rounded\r
-rounding: up\r
-fmax3616 fma  1   123456789 -0.000001 -> 123456789 Inexact Rounded\r
-rounding: down\r
-fmax3617 fma  1   123456789 -0.000001 -> 123456788 Inexact Rounded\r
-\r
-rounding: half_up\r
-fmax3621 fma  1   123456789  0.499999 -> 123456789 Inexact Rounded\r
-rounding: half_even\r
-fmax3622 fma  1   123456789  0.499999 -> 123456789 Inexact Rounded\r
-rounding: half_down\r
-fmax3623 fma  1   123456789  0.499999 -> 123456789 Inexact Rounded\r
-rounding: floor\r
-fmax3624 fma  1   123456789  0.499999 -> 123456789 Inexact Rounded\r
-rounding: ceiling\r
-fmax3625 fma  1   123456789  0.499999 -> 123456790 Inexact Rounded\r
-rounding: up\r
-fmax3626 fma  1   123456789  0.499999 -> 123456790 Inexact Rounded\r
-rounding: down\r
-fmax3627 fma  1   123456789  0.499999 -> 123456789 Inexact Rounded\r
-\r
-rounding: half_up\r
-fmax3631 fma  1   123456789 -0.499999 -> 123456789 Inexact Rounded\r
-rounding: half_even\r
-fmax3632 fma  1   123456789 -0.499999 -> 123456789 Inexact Rounded\r
-rounding: half_down\r
-fmax3633 fma  1   123456789 -0.499999 -> 123456789 Inexact Rounded\r
-rounding: floor\r
-fmax3634 fma  1   123456789 -0.499999 -> 123456788 Inexact Rounded\r
-rounding: ceiling\r
-fmax3635 fma  1   123456789 -0.499999 -> 123456789 Inexact Rounded\r
-rounding: up\r
-fmax3636 fma  1   123456789 -0.499999 -> 123456789 Inexact Rounded\r
-rounding: down\r
-fmax3637 fma  1   123456789 -0.499999 -> 123456788 Inexact Rounded\r
-\r
-rounding: half_up\r
-fmax3641 fma  1   123456789  0.500001 -> 123456790 Inexact Rounded\r
-rounding: half_even\r
-fmax3642 fma  1   123456789  0.500001 -> 123456790 Inexact Rounded\r
-rounding: half_down\r
-fmax3643 fma  1   123456789  0.500001 -> 123456790 Inexact Rounded\r
-rounding: floor\r
-fmax3644 fma  1   123456789  0.500001 -> 123456789 Inexact Rounded\r
-rounding: ceiling\r
-fmax3645 fma  1   123456789  0.500001 -> 123456790 Inexact Rounded\r
-rounding: up\r
-fmax3646 fma  1   123456789  0.500001 -> 123456790 Inexact Rounded\r
-rounding: down\r
-fmax3647 fma  1   123456789  0.500001 -> 123456789 Inexact Rounded\r
-\r
-rounding: half_up\r
-fmax3651 fma  1   123456789 -0.500001 -> 123456788 Inexact Rounded\r
-rounding: half_even\r
-fmax3652 fma  1   123456789 -0.500001 -> 123456788 Inexact Rounded\r
-rounding: half_down\r
-fmax3653 fma  1   123456789 -0.500001 -> 123456788 Inexact Rounded\r
-rounding: floor\r
-fmax3654 fma  1   123456789 -0.500001 -> 123456788 Inexact Rounded\r
-rounding: ceiling\r
-fmax3655 fma  1   123456789 -0.500001 -> 123456789 Inexact Rounded\r
-rounding: up\r
-fmax3656 fma  1   123456789 -0.500001 -> 123456789 Inexact Rounded\r
-rounding: down\r
-fmax3657 fma  1   123456789 -0.500001 -> 123456788 Inexact Rounded\r
-\r
--- long operand triangle\r
-rounding: half_up\r
-precision:  37\r
-fmax3660 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211023638922337114834538\r
-precision:  36\r
-fmax3661 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221102363892233711483454  Inexact Rounded\r
-precision:  35\r
-fmax3662 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422110236389223371148345   Inexact Rounded\r
-precision:  34\r
-fmax3663 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211023638922337114835    Inexact Rounded\r
-precision:  33\r
-fmax3664 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221102363892233711483     Inexact Rounded\r
-precision:  32\r
-fmax3665 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422110236389223371148      Inexact Rounded\r
-precision:  31\r
-fmax3666 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211023638922337115       Inexact Rounded\r
-precision:  30\r
-fmax3667 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221102363892233711        Inexact Rounded\r
-precision:  29\r
-fmax3668 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422110236389223371         Inexact Rounded\r
-precision:  28\r
-fmax3669 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211023638922337          Inexact Rounded\r
-precision:  27\r
-fmax3670 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221102363892234           Inexact Rounded\r
-precision:  26\r
-fmax3671 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422110236389223            Inexact Rounded\r
-precision:  25\r
-fmax3672 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211023638922             Inexact Rounded\r
-precision:  24\r
-fmax3673 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221102363892              Inexact Rounded\r
-precision:  23\r
-fmax3674 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422110236389               Inexact Rounded\r
-precision:  22\r
-fmax3675 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211023639                Inexact Rounded\r
-precision:  21\r
-fmax3676 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221102364                 Inexact Rounded\r
-precision:  20\r
-fmax3677 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422110236                  Inexact Rounded\r
-precision:  19\r
-fmax3678 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211024                   Inexact Rounded\r
-precision:  18\r
-fmax3679 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221102                    Inexact Rounded\r
-precision:  17\r
-fmax3680 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422110                     Inexact Rounded\r
-precision:  16\r
-fmax3681 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211                      Inexact Rounded\r
-precision:  15\r
-fmax3682 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221                       Inexact Rounded\r
-precision:  14\r
-fmax3683 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422                        Inexact Rounded\r
-precision:  13\r
-fmax3684 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42                         Inexact Rounded\r
-precision:  12\r
-fmax3685 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4                          Inexact Rounded\r
-precision:  11\r
-fmax3686 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166                            Inexact Rounded\r
-precision:  10\r
-fmax3687 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.847117417E+10                        Inexact Rounded\r
-precision:   9\r
-fmax3688 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.84711742E+10                         Inexact Rounded\r
-precision:   8\r
-fmax3689 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.8471174E+10                          Inexact Rounded\r
-precision:   7\r
-fmax3690 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.847117E+10                          Inexact Rounded\r
-precision:   6\r
-fmax3691 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.84712E+10                          Inexact Rounded\r
-precision:   5\r
-fmax3692 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.8471E+10                          Inexact Rounded\r
-precision:   4\r
-fmax3693 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.847E+10                          Inexact Rounded\r
-precision:   3\r
-fmax3694 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.85E+10                          Inexact Rounded\r
-precision:   2\r
-fmax3695 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.8E+10                          Inexact Rounded\r
-precision:   1\r
-fmax3696 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 1E+11                          Inexact Rounded\r
-\r
--- more zeros, etc.\r
-rounding: half_up\r
-precision:   9\r
-\r
-fmax3701 fma  1   5.00 1.00E-3 -> 5.00100\r
-fmax3702 fma  1   00.00 0.000  -> 0.000\r
-fmax3703 fma  1   00.00 0E-3   -> 0.000\r
-fmax3704 fma  1   0E-3  00.00  -> 0.000\r
-\r
-fmax3710 fma  1   0E+3  00.00  -> 0.00\r
-fmax3711 fma  1   0E+3  00.0   -> 0.0\r
-fmax3712 fma  1   0E+3  00.    -> 0\r
-fmax3713 fma  1   0E+3  00.E+1 -> 0E+1\r
-fmax3714 fma  1   0E+3  00.E+2 -> 0E+2\r
-fmax3715 fma  1   0E+3  00.E+3 -> 0E+3\r
-fmax3716 fma  1   0E+3  00.E+4 -> 0E+3\r
-fmax3717 fma  1   0E+3  00.E+5 -> 0E+3\r
-fmax3718 fma  1   0E+3  -00.0   -> 0.0\r
-fmax3719 fma  1   0E+3  -00.    -> 0\r
-fmax3731 fma  1   0E+3  -00.E+1 -> 0E+1\r
-\r
-fmax3720 fma  1   00.00  0E+3  -> 0.00\r
-fmax3721 fma  1   00.0   0E+3  -> 0.0\r
-fmax3722 fma  1   00.    0E+3  -> 0\r
-fmax3723 fma  1   00.E+1 0E+3  -> 0E+1\r
-fmax3724 fma  1   00.E+2 0E+3  -> 0E+2\r
-fmax3725 fma  1   00.E+3 0E+3  -> 0E+3\r
-fmax3726 fma  1   00.E+4 0E+3  -> 0E+3\r
-fmax3727 fma  1   00.E+5 0E+3  -> 0E+3\r
-fmax3728 fma  1   -00.00 0E+3  -> 0.00\r
-fmax3729 fma  1   -00.0  0E+3  -> 0.0\r
-fmax3730 fma  1   -00.   0E+3  -> 0\r
-\r
-fmax3732 fma  1    0     0     ->  0\r
-fmax3733 fma  1    0    -0     ->  0\r
-fmax3734 fma  1   -0     0     ->  0\r
-fmax3735 fma  1   -0    -0     -> -0     -- IEEE 854 special case\r
-\r
-fmax3736 fma  1    1    -1     ->  0\r
-fmax3737 fma  1   -1    -1     -> -2\r
-fmax3738 fma  1    1     1     ->  2\r
-fmax3739 fma  1   -1     1     ->  0\r
-\r
-fmax3741 fma  1    0    -1     -> -1\r
-fmax3742 fma  1   -0    -1     -> -1\r
-fmax3743 fma  1    0     1     ->  1\r
-fmax3744 fma  1   -0     1     ->  1\r
-fmax3745 fma  1   -1     0     -> -1\r
-fmax3746 fma  1   -1    -0     -> -1\r
-fmax3747 fma  1    1     0     ->  1\r
-fmax3748 fma  1    1    -0     ->  1\r
-\r
-fmax3751 fma  1    0.0  -1     -> -1.0\r
-fmax3752 fma  1   -0.0  -1     -> -1.0\r
-fmax3753 fma  1    0.0   1     ->  1.0\r
-fmax3754 fma  1   -0.0   1     ->  1.0\r
-fmax3755 fma  1   -1.0   0     -> -1.0\r
-fmax3756 fma  1   -1.0  -0     -> -1.0\r
-fmax3757 fma  1    1.0   0     ->  1.0\r
-fmax3758 fma  1    1.0  -0     ->  1.0\r
-\r
-fmax3761 fma  1    0    -1.0   -> -1.0\r
-fmax3762 fma  1   -0    -1.0   -> -1.0\r
-fmax3763 fma  1    0     1.0   ->  1.0\r
-fmax3764 fma  1   -0     1.0   ->  1.0\r
-fmax3765 fma  1   -1     0.0   -> -1.0\r
-fmax3766 fma  1   -1    -0.0   -> -1.0\r
-fmax3767 fma  1    1     0.0   ->  1.0\r
-fmax3768 fma  1    1    -0.0   ->  1.0\r
-\r
-fmax3771 fma  1    0.0  -1.0   -> -1.0\r
-fmax3772 fma  1   -0.0  -1.0   -> -1.0\r
-fmax3773 fma  1    0.0   1.0   ->  1.0\r
-fmax3774 fma  1   -0.0   1.0   ->  1.0\r
-fmax3775 fma  1   -1.0   0.0   -> -1.0\r
-fmax3776 fma  1   -1.0  -0.0   -> -1.0\r
-fmax3777 fma  1    1.0   0.0   ->  1.0\r
-fmax3778 fma  1    1.0  -0.0   ->  1.0\r
-\r
--- Specials\r
-fmax3780 fma  1   -Inf  -Inf   -> -Infinity\r
-fmax3781 fma  1   -Inf  -1000  -> -Infinity\r
-fmax3782 fma  1   -Inf  -1     -> -Infinity\r
-fmax3783 fma  1   -Inf  -0     -> -Infinity\r
-fmax3784 fma  1   -Inf   0     -> -Infinity\r
-fmax3785 fma  1   -Inf   1     -> -Infinity\r
-fmax3786 fma  1   -Inf   1000  -> -Infinity\r
-fmax3787 fma  1   -1000 -Inf   -> -Infinity\r
-fmax3788 fma  1   -Inf  -Inf   -> -Infinity\r
-fmax3789 fma  1   -1    -Inf   -> -Infinity\r
-fmax3790 fma  1   -0    -Inf   -> -Infinity\r
-fmax3791 fma  1    0    -Inf   -> -Infinity\r
-fmax3792 fma  1    1    -Inf   -> -Infinity\r
-fmax3793 fma  1    1000 -Inf   -> -Infinity\r
-fmax3794 fma  1    Inf  -Inf   ->  NaN  Invalid_operation\r
-\r
-fmax3800 fma  1    Inf  -Inf   ->  NaN  Invalid_operation\r
-fmax3801 fma  1    Inf  -1000  ->  Infinity\r
-fmax3802 fma  1    Inf  -1     ->  Infinity\r
-fmax3803 fma  1    Inf  -0     ->  Infinity\r
-fmax3804 fma  1    Inf   0     ->  Infinity\r
-fmax3805 fma  1    Inf   1     ->  Infinity\r
-fmax3806 fma  1    Inf   1000  ->  Infinity\r
-fmax3807 fma  1    Inf   Inf   ->  Infinity\r
-fmax3808 fma  1   -1000  Inf   ->  Infinity\r
-fmax3809 fma  1   -Inf   Inf   ->  NaN  Invalid_operation\r
-fmax3810 fma  1   -1     Inf   ->  Infinity\r
-fmax3811 fma  1   -0     Inf   ->  Infinity\r
-fmax3812 fma  1    0     Inf   ->  Infinity\r
-fmax3813 fma  1    1     Inf   ->  Infinity\r
-fmax3814 fma  1    1000  Inf   ->  Infinity\r
-fmax3815 fma  1    Inf   Inf   ->  Infinity\r
-\r
-fmax3821 fma  1    NaN -Inf    ->  NaN\r
-fmax3822 fma  1    NaN -1000   ->  NaN\r
-fmax3823 fma  1    NaN -1      ->  NaN\r
-fmax3824 fma  1    NaN -0      ->  NaN\r
-fmax3825 fma  1    NaN  0      ->  NaN\r
-fmax3826 fma  1    NaN  1      ->  NaN\r
-fmax3827 fma  1    NaN  1000   ->  NaN\r
-fmax3828 fma  1    NaN  Inf    ->  NaN\r
-fmax3829 fma  1    NaN  NaN    ->  NaN\r
-fmax3830 fma  1   -Inf  NaN    ->  NaN\r
-fmax3831 fma  1   -1000 NaN    ->  NaN\r
-fmax3832 fma  1   -1    NaN    ->  NaN\r
-fmax3833 fma  1   -0    NaN    ->  NaN\r
-fmax3834 fma  1    0    NaN    ->  NaN\r
-fmax3835 fma  1    1    NaN    ->  NaN\r
-fmax3836 fma  1    1000 NaN    ->  NaN\r
-fmax3837 fma  1    Inf  NaN    ->  NaN\r
-\r
-fmax3841 fma  1    sNaN -Inf   ->  NaN  Invalid_operation\r
-fmax3842 fma  1    sNaN -1000  ->  NaN  Invalid_operation\r
-fmax3843 fma  1    sNaN -1     ->  NaN  Invalid_operation\r
-fmax3844 fma  1    sNaN -0     ->  NaN  Invalid_operation\r
-fmax3845 fma  1    sNaN  0     ->  NaN  Invalid_operation\r
-fmax3846 fma  1    sNaN  1     ->  NaN  Invalid_operation\r
-fmax3847 fma  1    sNaN  1000  ->  NaN  Invalid_operation\r
-fmax3848 fma  1    sNaN  NaN   ->  NaN  Invalid_operation\r
-fmax3849 fma  1    sNaN sNaN   ->  NaN  Invalid_operation\r
-fmax3850 fma  1    NaN  sNaN   ->  NaN  Invalid_operation\r
-fmax3851 fma  1   -Inf  sNaN   ->  NaN  Invalid_operation\r
-fmax3852 fma  1   -1000 sNaN   ->  NaN  Invalid_operation\r
-fmax3853 fma  1   -1    sNaN   ->  NaN  Invalid_operation\r
-fmax3854 fma  1   -0    sNaN   ->  NaN  Invalid_operation\r
-fmax3855 fma  1    0    sNaN   ->  NaN  Invalid_operation\r
-fmax3856 fma  1    1    sNaN   ->  NaN  Invalid_operation\r
-fmax3857 fma  1    1000 sNaN   ->  NaN  Invalid_operation\r
-fmax3858 fma  1    Inf  sNaN   ->  NaN  Invalid_operation\r
-fmax3859 fma  1    NaN  sNaN   ->  NaN  Invalid_operation\r
-\r
--- propagating NaNs\r
-fmax3861 fma  1    NaN1   -Inf    ->  NaN1\r
-fmax3862 fma  1   +NaN2   -1000   ->  NaN2\r
-fmax3863 fma  1    NaN3    1000   ->  NaN3\r
-fmax3864 fma  1    NaN4    Inf    ->  NaN4\r
-fmax3865 fma  1    NaN5   +NaN6   ->  NaN5\r
-fmax3866 fma  1   -Inf     NaN7   ->  NaN7\r
-fmax3867 fma  1   -1000    NaN8   ->  NaN8\r
-fmax3868 fma  1    1000    NaN9   ->  NaN9\r
-fmax3869 fma  1    Inf    +NaN10  ->  NaN10\r
-fmax3871 fma  1    sNaN11  -Inf   ->  NaN11  Invalid_operation\r
-fmax3872 fma  1    sNaN12  -1000  ->  NaN12  Invalid_operation\r
-fmax3873 fma  1    sNaN13   1000  ->  NaN13  Invalid_operation\r
-fmax3874 fma  1    sNaN14   NaN17 ->  NaN14  Invalid_operation\r
-fmax3875 fma  1    sNaN15  sNaN18 ->  NaN15  Invalid_operation\r
-fmax3876 fma  1    NaN16   sNaN19 ->  NaN19  Invalid_operation\r
-fmax3877 fma  1   -Inf    +sNaN20 ->  NaN20  Invalid_operation\r
-fmax3878 fma  1   -1000    sNaN21 ->  NaN21  Invalid_operation\r
-fmax3879 fma  1    1000    sNaN22 ->  NaN22  Invalid_operation\r
-fmax3880 fma  1    Inf     sNaN23 ->  NaN23  Invalid_operation\r
-fmax3881 fma  1   +NaN25  +sNaN24 ->  NaN24  Invalid_operation\r
-fmax3882 fma  1   -NaN26    NaN28 -> -NaN26\r
-fmax3883 fma  1   -sNaN27  sNaN29 -> -NaN27  Invalid_operation\r
-fmax3884 fma  1    1000    -NaN30 -> -NaN30\r
-fmax3885 fma  1    1000   -sNaN31 -> -NaN31  Invalid_operation\r
-\r
--- overflow, underflow and subnormal tests\r
-maxexponent: 999999\r
-minexponent: -999999\r
-precision: 9\r
-fmax3890 fma  1   1E+999999     9E+999999   -> Infinity Overflow Inexact Rounded\r
-fmax3891 fma  1   9E+999999     1E+999999   -> Infinity Overflow Inexact Rounded\r
-fmax3892 fma  1   -1.1E-999999  1E-999999   -> -1E-1000000    Subnormal\r
-fmax3893 fma  1   1E-999999    -1.1e-999999 -> -1E-1000000    Subnormal\r
-fmax3894 fma  1   -1.0001E-999999  1E-999999   -> -1E-1000003 Subnormal\r
-fmax3895 fma  1   1E-999999    -1.0001e-999999 -> -1E-1000003 Subnormal\r
-fmax3896 fma  1   -1E+999999   -9E+999999   -> -Infinity Overflow Inexact Rounded\r
-fmax3897 fma  1   -9E+999999   -1E+999999   -> -Infinity Overflow Inexact Rounded\r
-fmax3898 fma  1   +1.1E-999999 -1E-999999   -> 1E-1000000   Subnormal\r
-fmax3899 fma  1   -1E-999999   +1.1e-999999 -> 1E-1000000    Subnormal\r
-fmax3900 fma  1   +1.0001E-999999 -1E-999999   -> 1E-1000003 Subnormal\r
-fmax3901 fma  1   -1E-999999   +1.0001e-999999 -> 1E-1000003 Subnormal\r
-fmax3902 fma  1   -1E+999999   +9E+999999   ->  8E+999999\r
-fmax3903 fma  1   -9E+999999   +1E+999999   -> -8E+999999\r
-\r
-precision: 3\r
-fmax3904 fma  1        0 -9.999E+999999   -> -Infinity Inexact Overflow Rounded\r
-fmax3905 fma  1          -9.999E+999999 0 -> -Infinity Inexact Overflow Rounded\r
-fmax3906 fma  1        0  9.999E+999999   ->  Infinity Inexact Overflow Rounded\r
-fmax3907 fma  1           9.999E+999999 0 ->  Infinity Inexact Overflow Rounded\r
-\r
-precision: 3\r
-maxexponent: 999\r
-minexponent: -999\r
-fmax3910 fma  1    1.00E-999   0    ->   1.00E-999\r
-fmax3911 fma  1    0.1E-999    0    ->   1E-1000   Subnormal\r
-fmax3912 fma  1    0.10E-999   0    ->   1.0E-1000 Subnormal\r
-fmax3913 fma  1    0.100E-999  0    ->   1.0E-1000 Subnormal Rounded\r
-fmax3914 fma  1    0.01E-999   0    ->   1E-1001   Subnormal\r
--- next is rounded to Nmin\r
-fmax3915 fma  1    0.999E-999  0    ->   1.00E-999 Inexact Rounded Subnormal Underflow\r
-fmax3916 fma  1    0.099E-999  0    ->   1.0E-1000 Inexact Rounded Subnormal Underflow\r
-fmax3917 fma  1    0.009E-999  0    ->   1E-1001   Inexact Rounded Subnormal Underflow\r
-fmax3918 fma  1    0.001E-999  0    ->   0E-1001   Inexact Rounded Subnormal Underflow Clamped\r
-fmax3919 fma  1    0.0009E-999 0    ->   0E-1001   Inexact Rounded Subnormal Underflow Clamped\r
-fmax3920 fma  1    0.0001E-999 0    ->   0E-1001   Inexact Rounded Subnormal Underflow Clamped\r
-\r
-fmax3930 fma  1   -1.00E-999   0    ->  -1.00E-999\r
-fmax3931 fma  1   -0.1E-999    0    ->  -1E-1000   Subnormal\r
-fmax3932 fma  1   -0.10E-999   0    ->  -1.0E-1000 Subnormal\r
-fmax3933 fma  1   -0.100E-999  0    ->  -1.0E-1000 Subnormal Rounded\r
-fmax3934 fma  1   -0.01E-999   0    ->  -1E-1001   Subnormal\r
--- next is rounded to Nmin\r
-fmax3935 fma  1   -0.999E-999  0    ->  -1.00E-999 Inexact Rounded Subnormal Underflow\r
-fmax3936 fma  1   -0.099E-999  0    ->  -1.0E-1000 Inexact Rounded Subnormal Underflow\r
-fmax3937 fma  1   -0.009E-999  0    ->  -1E-1001   Inexact Rounded Subnormal Underflow\r
-fmax3938 fma  1   -0.001E-999  0    ->  -0E-1001   Inexact Rounded Subnormal Underflow Clamped\r
-fmax3939 fma  1   -0.0009E-999 0    ->  -0E-1001   Inexact Rounded Subnormal Underflow Clamped\r
-fmax3940 fma  1   -0.0001E-999 0    ->  -0E-1001   Inexact Rounded Subnormal Underflow Clamped\r
-\r
--- some non-zero subnormal fma  1  s\r
-fmax3950 fma  1    1.00E-999    0.1E-999  ->   1.10E-999\r
-fmax3951 fma  1    0.1E-999     0.1E-999  ->   2E-1000    Subnormal\r
-fmax3952 fma  1    0.10E-999    0.1E-999  ->   2.0E-1000  Subnormal\r
-fmax3953 fma  1    0.100E-999   0.1E-999  ->   2.0E-1000  Subnormal Rounded\r
-fmax3954 fma  1    0.01E-999    0.1E-999  ->   1.1E-1000  Subnormal\r
-fmax3955 fma  1    0.999E-999   0.1E-999  ->   1.10E-999  Inexact Rounded\r
-fmax3956 fma  1    0.099E-999   0.1E-999  ->   2.0E-1000  Inexact Rounded Subnormal Underflow\r
-fmax3957 fma  1    0.009E-999   0.1E-999  ->   1.1E-1000  Inexact Rounded Subnormal Underflow\r
-fmax3958 fma  1    0.001E-999   0.1E-999  ->   1.0E-1000  Inexact Rounded Subnormal Underflow\r
-fmax3959 fma  1    0.0009E-999  0.1E-999  ->   1.0E-1000  Inexact Rounded Subnormal Underflow\r
-fmax3960 fma  1    0.0001E-999  0.1E-999  ->   1.0E-1000  Inexact Rounded Subnormal Underflow\r
--- negatives...\r
-fmax3961 fma  1    1.00E-999   -0.1E-999  ->   9.0E-1000  Subnormal\r
-fmax3962 fma  1    0.1E-999    -0.1E-999  ->   0E-1000\r
-fmax3963 fma  1    0.10E-999   -0.1E-999  ->   0E-1001\r
-fmax3964 fma  1    0.100E-999  -0.1E-999  ->   0E-1001    Clamped\r
-fmax3965 fma  1    0.01E-999   -0.1E-999  ->   -9E-1001   Subnormal\r
-fmax3966 fma  1    0.999E-999  -0.1E-999  ->   9.0E-1000  Inexact Rounded Subnormal Underflow\r
-fmax3967 fma  1    0.099E-999  -0.1E-999  ->   -0E-1001   Inexact Rounded Subnormal Underflow Clamped\r
-fmax3968 fma  1    0.009E-999  -0.1E-999  ->   -9E-1001   Inexact Rounded Subnormal Underflow\r
-fmax3969 fma  1    0.001E-999  -0.1E-999  ->   -1.0E-1000 Inexact Rounded Subnormal Underflow\r
-fmax3970 fma  1    0.0009E-999 -0.1E-999  ->   -1.0E-1000 Inexact Rounded Subnormal Underflow\r
-fmax3971 fma  1    0.0001E-999 -0.1E-999  ->   -1.0E-1000 Inexact Rounded Subnormal Underflow\r
-\r
--- some 'real' numbers\r
-maxExponent: 384\r
-minExponent: -383\r
-precision: 8\r
-fmax3566 fma  1   99999061735E-394  0E-394 -> 9.999906E-384 Inexact Rounded Underflow Subnormal\r
-precision: 7\r
-fmax3567 fma  1   99999061735E-394  0E-394 -> 9.99991E-384 Inexact Rounded Underflow Subnormal\r
-precision: 6\r
-fmax3568 fma  1   99999061735E-394  0E-394 -> 9.9999E-384 Inexact Rounded Underflow Subnormal\r
-\r
--- now the case where we can get underflow but the result is normal\r
--- [note this can't happen if the operands are also bounded, as we\r
--- cannot represent 1E-399, for example]\r
-precision:   16\r
-rounding:    half_up\r
-maxExponent: 384\r
-minExponent: -383\r
-\r
-fmax3571 fma  1         1E-383       0  -> 1E-383\r
-fmax3572 fma  1         1E-384       0  -> 1E-384   Subnormal\r
-fmax3573 fma  1         1E-383  1E-384  -> 1.1E-383\r
-fmax3574 subtract  1E-383  1E-384  ->   9E-384 Subnormal\r
-\r
--- Here we explore the boundary of rounding a subnormal to Nmin\r
-fmax3575 subtract  1E-383  1E-398  ->   9.99999999999999E-384  Subnormal\r
-fmax3576 subtract  1E-383  1E-398  ->   9.99999999999999E-384  Subnormal\r
-fmax3577 subtract  1E-383  1E-399  ->   1.000000000000000E-383 Underflow Inexact Subnormal Rounded\r
-fmax3578 subtract  1E-383  1E-400  ->   1.000000000000000E-383 Underflow Inexact Subnormal Rounded\r
-fmax3579 subtract  1E-383  1E-401  ->   1.000000000000000E-383 Underflow Inexact Subnormal Rounded\r
-fmax3580 subtract  1E-383  1E-402  ->   1.000000000000000E-383 Underflow Inexact Subnormal Rounded\r
-\r
--- check for double-rounded subnormals\r
-precision:   5\r
-maxexponent: 79\r
-minexponent: -79\r
--- Add: lhs and rhs 0\r
-fmax31001 fma  1         1.52444E-80 0 -> 1.524E-80 Inexact Rounded Subnormal Underflow\r
-fmax31002 fma  1         1.52445E-80 0 -> 1.524E-80 Inexact Rounded Subnormal Underflow\r
-fmax31003 fma  1         1.52446E-80 0 -> 1.524E-80 Inexact Rounded Subnormal Underflow\r
-fmax31004 fma  1         0 1.52444E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow\r
-fmax31005 fma  1         0 1.52445E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow\r
-fmax31006 fma  1         0 1.52446E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow\r
-\r
--- Add: lhs >> rhs and vice versa\r
-fmax31011 fma  1         1.52444E-80 1E-100 -> 1.524E-80 Inexact Rounded Subnormal Underflow\r
-fmax31012 fma  1         1.52445E-80 1E-100 -> 1.524E-80 Inexact Rounded Subnormal Underflow\r
-fmax31013 fma  1         1.52446E-80 1E-100 -> 1.524E-80 Inexact Rounded Subnormal Underflow\r
-fmax31014 fma  1         1E-100 1.52444E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow\r
-fmax31015 fma  1         1E-100 1.52445E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow\r
-fmax31016 fma  1         1E-100 1.52446E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow\r
-\r
--- Add: lhs + rhs fma  1  ition carried out\r
-fmax31021 fma  1         1.52443E-80 1.00001E-80  -> 2.524E-80 Inexact Rounded Subnormal Underflow\r
-fmax31022 fma  1         1.52444E-80 1.00001E-80  -> 2.524E-80 Inexact Rounded Subnormal Underflow\r
-fmax31023 fma  1         1.52445E-80 1.00001E-80  -> 2.524E-80 Inexact Rounded Subnormal Underflow\r
-fmax31024 fma  1         1.00001E-80  1.52443E-80 -> 2.524E-80 Inexact Rounded Subnormal Underflow\r
-fmax31025 fma  1         1.00001E-80  1.52444E-80 -> 2.524E-80 Inexact Rounded Subnormal Underflow\r
-fmax31026 fma  1         1.00001E-80  1.52445E-80 -> 2.524E-80 Inexact Rounded Subnormal Underflow\r
-\r
--- And for round down full and subnormal results\r
-precision:    16\r
-maxExponent: +384\r
-minExponent: -383\r
-rounding:     down\r
-\r
-fmax31100 fma  1   1e+2 -1e-383    -> 99.99999999999999 Rounded Inexact\r
-fmax31101 fma  1   1e+1 -1e-383    -> 9.999999999999999  Rounded Inexact\r
-fmax31103 fma  1     +1 -1e-383    -> 0.9999999999999999  Rounded Inexact\r
-fmax31104 fma  1   1e-1 -1e-383    -> 0.09999999999999999  Rounded Inexact\r
-fmax31105 fma  1   1e-2 -1e-383    -> 0.009999999999999999  Rounded Inexact\r
-fmax31106 fma  1   1e-3 -1e-383    -> 0.0009999999999999999  Rounded Inexact\r
-fmax31107 fma  1   1e-4 -1e-383    -> 0.00009999999999999999  Rounded Inexact\r
-fmax31108 fma  1   1e-5 -1e-383    -> 0.000009999999999999999  Rounded Inexact\r
-fmax31109 fma  1   1e-6 -1e-383    -> 9.999999999999999E-7  Rounded Inexact\r
-\r
-rounding:     ceiling\r
-fmax31110 fma  1   -1e+2 +1e-383   -> -99.99999999999999 Rounded Inexact\r
-fmax31111 fma  1   -1e+1 +1e-383   -> -9.999999999999999  Rounded Inexact\r
-fmax31113 fma  1      -1 +1e-383   -> -0.9999999999999999  Rounded Inexact\r
-fmax31114 fma  1   -1e-1 +1e-383   -> -0.09999999999999999  Rounded Inexact\r
-fmax31115 fma  1   -1e-2 +1e-383   -> -0.009999999999999999  Rounded Inexact\r
-fmax31116 fma  1   -1e-3 +1e-383   -> -0.0009999999999999999  Rounded Inexact\r
-fmax31117 fma  1   -1e-4 +1e-383   -> -0.00009999999999999999  Rounded Inexact\r
-fmax31118 fma  1   -1e-5 +1e-383   -> -0.000009999999999999999  Rounded Inexact\r
-fmax31119 fma  1   -1e-6 +1e-383   -> -9.999999999999999E-7  Rounded Inexact\r
-\r
-rounding:     down\r
-precision:    7\r
-maxExponent: +96\r
-minExponent: -95\r
-fmax31130 fma  1     1            -1e-200  -> 0.9999999  Rounded Inexact\r
--- subnormal boundary\r
-fmax31131 fma  1     1.000000E-94  -1e-200  ->  9.999999E-95  Rounded Inexact\r
-fmax31132 fma  1     1.000001E-95  -1e-200  ->  1.000000E-95  Rounded Inexact\r
-fmax31133 fma  1     1.000000E-95  -1e-200  ->  9.99999E-96  Rounded Inexact Subnormal Underflow\r
-fmax31134 fma  1     0.999999E-95  -1e-200  ->  9.99998E-96  Rounded Inexact Subnormal Underflow\r
-fmax31135 fma  1     0.001000E-95  -1e-200  ->  9.99E-99  Rounded Inexact Subnormal Underflow\r
-fmax31136 fma  1     0.000999E-95  -1e-200  ->  9.98E-99  Rounded Inexact Subnormal Underflow\r
-fmax31137 fma  1     1.000000E-95  -1e-101  ->  9.99999E-96  Subnormal\r
-fmax31138 fma  1        10000E-101 -1e-200  ->  9.999E-98  Subnormal Inexact Rounded Underflow\r
-fmax31139 fma  1         1000E-101 -1e-200  ->  9.99E-99   Subnormal Inexact Rounded Underflow\r
-fmax31140 fma  1          100E-101 -1e-200  ->  9.9E-100   Subnormal Inexact Rounded Underflow\r
-fmax31141 fma  1           10E-101 -1e-200  ->  9E-101     Subnormal Inexact Rounded Underflow\r
-fmax31142 fma  1            1E-101 -1e-200  ->  0E-101     Subnormal Inexact Rounded Underflow Clamped\r
-fmax31143 fma  1            0E-101 -1e-200  -> -0E-101     Subnormal Inexact Rounded Underflow Clamped\r
-fmax31144 fma  1            1E-102 -1e-200  ->  0E-101     Subnormal Inexact Rounded Underflow Clamped\r
-\r
-fmax31151 fma  1        10000E-102 -1e-200  ->  9.99E-99  Subnormal Inexact Rounded Underflow\r
-fmax31152 fma  1         1000E-102 -1e-200  ->  9.9E-100  Subnormal Inexact Rounded Underflow\r
-fmax31153 fma  1          100E-102 -1e-200  ->  9E-101   Subnormal Inexact Rounded Underflow\r
-fmax31154 fma  1           10E-102 -1e-200  ->  0E-101     Subnormal Inexact Rounded Underflow Clamped\r
-fmax31155 fma  1            1E-102 -1e-200  ->  0E-101     Subnormal Inexact Rounded Underflow Clamped\r
-fmax31156 fma  1            0E-102 -1e-200  -> -0E-101     Subnormal Inexact Rounded Underflow Clamped\r
-fmax31157 fma  1            1E-103 -1e-200  ->  0E-101     Subnormal Inexact Rounded Underflow Clamped\r
-\r
-fmax31160 fma  1          100E-105 -1e-101  -> -0E-101 Subnormal Inexact Rounded Underflow Clamped\r
-fmax31161 fma  1          100E-105 -1e-201  ->  0E-101 Subnormal Inexact Rounded Underflow Clamped\r
-\r
--- tests based on Gunnar Degnbol's edge case\r
-precision:   15\r
-rounding:    half_up\r
-maxExponent: 384\r
-minexponent: -383\r
-\r
-fmax31200 fma  1   1E15  -0.5                 ->  1.00000000000000E+15 Inexact Rounded\r
-fmax31201 fma  1   1E15  -0.50                ->  1.00000000000000E+15 Inexact Rounded\r
-fmax31210 fma  1   1E15  -0.51                ->  999999999999999      Inexact Rounded\r
-fmax31211 fma  1   1E15  -0.501               ->  999999999999999      Inexact Rounded\r
-fmax31212 fma  1   1E15  -0.5001              ->  999999999999999      Inexact Rounded\r
-fmax31213 fma  1   1E15  -0.50001             ->  999999999999999      Inexact Rounded\r
-fmax31214 fma  1   1E15  -0.500001            ->  999999999999999      Inexact Rounded\r
-fmax31215 fma  1   1E15  -0.5000001           ->  999999999999999      Inexact Rounded\r
-fmax31216 fma  1   1E15  -0.50000001          ->  999999999999999      Inexact Rounded\r
-fmax31217 fma  1   1E15  -0.500000001         ->  999999999999999      Inexact Rounded\r
-fmax31218 fma  1   1E15  -0.5000000001        ->  999999999999999      Inexact Rounded\r
-fmax31219 fma  1   1E15  -0.50000000001       ->  999999999999999      Inexact Rounded\r
-fmax31220 fma  1   1E15  -0.500000000001      ->  999999999999999      Inexact Rounded\r
-fmax31221 fma  1   1E15  -0.5000000000001     ->  999999999999999      Inexact Rounded\r
-fmax31222 fma  1   1E15  -0.50000000000001    ->  999999999999999      Inexact Rounded\r
-fmax31223 fma  1   1E15  -0.500000000000001   ->  999999999999999      Inexact Rounded\r
-fmax31224 fma  1   1E15  -0.5000000000000001  ->  999999999999999      Inexact Rounded\r
-fmax31225 fma  1   1E15  -0.5000000000000000  ->  1.00000000000000E+15 Inexact Rounded\r
-fmax31230 fma  1   1E15  -5000000.000000001   ->  999999995000000      Inexact Rounded\r
-\r
-precision:   16\r
-\r
-fmax31300 fma  1   1E16  -0.5                 ->  1.000000000000000E+16 Inexact Rounded\r
-fmax31310 fma  1   1E16  -0.51                ->  9999999999999999      Inexact Rounded\r
-fmax31311 fma  1   1E16  -0.501               ->  9999999999999999      Inexact Rounded\r
-fmax31312 fma  1   1E16  -0.5001              ->  9999999999999999      Inexact Rounded\r
-fmax31313 fma  1   1E16  -0.50001             ->  9999999999999999      Inexact Rounded\r
-fmax31314 fma  1   1E16  -0.500001            ->  9999999999999999      Inexact Rounded\r
-fmax31315 fma  1   1E16  -0.5000001           ->  9999999999999999      Inexact Rounded\r
-fmax31316 fma  1   1E16  -0.50000001          ->  9999999999999999      Inexact Rounded\r
-fmax31317 fma  1   1E16  -0.500000001         ->  9999999999999999      Inexact Rounded\r
-fmax31318 fma  1   1E16  -0.5000000001        ->  9999999999999999      Inexact Rounded\r
-fmax31319 fma  1   1E16  -0.50000000001       ->  9999999999999999      Inexact Rounded\r
-fmax31320 fma  1   1E16  -0.500000000001      ->  9999999999999999      Inexact Rounded\r
-fmax31321 fma  1   1E16  -0.5000000000001     ->  9999999999999999      Inexact Rounded\r
-fmax31322 fma  1   1E16  -0.50000000000001    ->  9999999999999999      Inexact Rounded\r
-fmax31323 fma  1   1E16  -0.500000000000001   ->  9999999999999999      Inexact Rounded\r
-fmax31324 fma  1   1E16  -0.5000000000000001  ->  9999999999999999      Inexact Rounded\r
-fmax31325 fma  1   1E16  -0.5000000000000000  ->  1.000000000000000E+16 Inexact Rounded\r
-fmax31326 fma  1   1E16  -0.500000000000000   ->  1.000000000000000E+16 Inexact Rounded\r
-fmax31327 fma  1   1E16  -0.50000000000000    ->  1.000000000000000E+16 Inexact Rounded\r
-fmax31328 fma  1   1E16  -0.5000000000000     ->  1.000000000000000E+16 Inexact Rounded\r
-fmax31329 fma  1   1E16  -0.500000000000      ->  1.000000000000000E+16 Inexact Rounded\r
-fmax31330 fma  1   1E16  -0.50000000000       ->  1.000000000000000E+16 Inexact Rounded\r
-fmax31331 fma  1   1E16  -0.5000000000        ->  1.000000000000000E+16 Inexact Rounded\r
-fmax31332 fma  1   1E16  -0.500000000         ->  1.000000000000000E+16 Inexact Rounded\r
-fmax31333 fma  1   1E16  -0.50000000          ->  1.000000000000000E+16 Inexact Rounded\r
-fmax31334 fma  1   1E16  -0.5000000           ->  1.000000000000000E+16 Inexact Rounded\r
-fmax31335 fma  1   1E16  -0.500000            ->  1.000000000000000E+16 Inexact Rounded\r
-fmax31336 fma  1   1E16  -0.50000             ->  1.000000000000000E+16 Inexact Rounded\r
-fmax31337 fma  1   1E16  -0.5000              ->  1.000000000000000E+16 Inexact Rounded\r
-fmax31338 fma  1   1E16  -0.500               ->  1.000000000000000E+16 Inexact Rounded\r
-fmax31339 fma  1   1E16  -0.50                ->  1.000000000000000E+16 Inexact Rounded\r
-\r
-fmax31340 fma  1   1E16  -5000000.000010001   ->  9999999995000000      Inexact Rounded\r
-fmax31341 fma  1   1E16  -5000000.000000001   ->  9999999995000000      Inexact Rounded\r
-\r
-fmax31349 fma  1   9999999999999999 0.4                 ->  9999999999999999      Inexact Rounded\r
-fmax31350 fma  1   9999999999999999 0.49                ->  9999999999999999      Inexact Rounded\r
-fmax31351 fma  1   9999999999999999 0.499               ->  9999999999999999      Inexact Rounded\r
-fmax31352 fma  1   9999999999999999 0.4999              ->  9999999999999999      Inexact Rounded\r
-fmax31353 fma  1   9999999999999999 0.49999             ->  9999999999999999      Inexact Rounded\r
-fmax31354 fma  1   9999999999999999 0.499999            ->  9999999999999999      Inexact Rounded\r
-fmax31355 fma  1   9999999999999999 0.4999999           ->  9999999999999999      Inexact Rounded\r
-fmax31356 fma  1   9999999999999999 0.49999999          ->  9999999999999999      Inexact Rounded\r
-fmax31357 fma  1   9999999999999999 0.499999999         ->  9999999999999999      Inexact Rounded\r
-fmax31358 fma  1   9999999999999999 0.4999999999        ->  9999999999999999      Inexact Rounded\r
-fmax31359 fma  1   9999999999999999 0.49999999999       ->  9999999999999999      Inexact Rounded\r
-fmax31360 fma  1   9999999999999999 0.499999999999      ->  9999999999999999      Inexact Rounded\r
-fmax31361 fma  1   9999999999999999 0.4999999999999     ->  9999999999999999      Inexact Rounded\r
-fmax31362 fma  1   9999999999999999 0.49999999999999    ->  9999999999999999      Inexact Rounded\r
-fmax31363 fma  1   9999999999999999 0.499999999999999   ->  9999999999999999      Inexact Rounded\r
-fmax31364 fma  1   9999999999999999 0.4999999999999999  ->  9999999999999999      Inexact Rounded\r
-fmax31365 fma  1   9999999999999999 0.5000000000000000  ->  1.000000000000000E+16 Inexact Rounded\r
-fmax31367 fma  1   9999999999999999 0.500000000000000   ->  1.000000000000000E+16 Inexact Rounded\r
-fmax31368 fma  1   9999999999999999 0.50000000000000    ->  1.000000000000000E+16 Inexact Rounded\r
-fmax31369 fma  1   9999999999999999 0.5000000000000     ->  1.000000000000000E+16 Inexact Rounded\r
-fmax31370 fma  1   9999999999999999 0.500000000000      ->  1.000000000000000E+16 Inexact Rounded\r
-fmax31371 fma  1   9999999999999999 0.50000000000       ->  1.000000000000000E+16 Inexact Rounded\r
-fmax31372 fma  1   9999999999999999 0.5000000000        ->  1.000000000000000E+16 Inexact Rounded\r
-fmax31373 fma  1   9999999999999999 0.500000000         ->  1.000000000000000E+16 Inexact Rounded\r
-fmax31374 fma  1   9999999999999999 0.50000000          ->  1.000000000000000E+16 Inexact Rounded\r
-fmax31375 fma  1   9999999999999999 0.5000000           ->  1.000000000000000E+16 Inexact Rounded\r
-fmax31376 fma  1   9999999999999999 0.500000            ->  1.000000000000000E+16 Inexact Rounded\r
-fmax31377 fma  1   9999999999999999 0.50000             ->  1.000000000000000E+16 Inexact Rounded\r
-fmax31378 fma  1   9999999999999999 0.5000              ->  1.000000000000000E+16 Inexact Rounded\r
-fmax31379 fma  1   9999999999999999 0.500               ->  1.000000000000000E+16 Inexact Rounded\r
-fmax31380 fma  1   9999999999999999 0.50                ->  1.000000000000000E+16 Inexact Rounded\r
-fmax31381 fma  1   9999999999999999 0.5                 ->  1.000000000000000E+16 Inexact Rounded\r
-fmax31382 fma  1   9999999999999999 0.5000000000000001  ->  1.000000000000000E+16 Inexact Rounded\r
-fmax31383 fma  1   9999999999999999 0.500000000000001   ->  1.000000000000000E+16 Inexact Rounded\r
-fmax31384 fma  1   9999999999999999 0.50000000000001    ->  1.000000000000000E+16 Inexact Rounded\r
-fmax31385 fma  1   9999999999999999 0.5000000000001     ->  1.000000000000000E+16 Inexact Rounded\r
-fmax31386 fma  1   9999999999999999 0.500000000001      ->  1.000000000000000E+16 Inexact Rounded\r
-fmax31387 fma  1   9999999999999999 0.50000000001       ->  1.000000000000000E+16 Inexact Rounded\r
-fmax31388 fma  1   9999999999999999 0.5000000001        ->  1.000000000000000E+16 Inexact Rounded\r
-fmax31389 fma  1   9999999999999999 0.500000001         ->  1.000000000000000E+16 Inexact Rounded\r
-fmax31390 fma  1   9999999999999999 0.50000001          ->  1.000000000000000E+16 Inexact Rounded\r
-fmax31391 fma  1   9999999999999999 0.5000001           ->  1.000000000000000E+16 Inexact Rounded\r
-fmax31392 fma  1   9999999999999999 0.500001            ->  1.000000000000000E+16 Inexact Rounded\r
-fmax31393 fma  1   9999999999999999 0.50001             ->  1.000000000000000E+16 Inexact Rounded\r
-fmax31394 fma  1   9999999999999999 0.5001              ->  1.000000000000000E+16 Inexact Rounded\r
-fmax31395 fma  1   9999999999999999 0.501               ->  1.000000000000000E+16 Inexact Rounded\r
-fmax31396 fma  1   9999999999999999 0.51                ->  1.000000000000000E+16 Inexact Rounded\r
-\r
--- More GD edge cases, where difference between the unadjusted\r
--- exponents is larger than the maximum precision and one side is 0\r
-precision:   15\r
-rounding:    half_up\r
-maxExponent: 384\r
-minexponent: -383\r
-\r
-fmax31400 fma  1    0 1.23456789012345     -> 1.23456789012345\r
-fmax31401 fma  1    0 1.23456789012345E-1  -> 0.123456789012345\r
-fmax31402 fma  1    0 1.23456789012345E-2  -> 0.0123456789012345\r
-fmax31403 fma  1    0 1.23456789012345E-3  -> 0.00123456789012345\r
-fmax31404 fma  1    0 1.23456789012345E-4  -> 0.000123456789012345\r
-fmax31405 fma  1    0 1.23456789012345E-5  -> 0.0000123456789012345\r
-fmax31406 fma  1    0 1.23456789012345E-6  -> 0.00000123456789012345\r
-fmax31407 fma  1    0 1.23456789012345E-7  -> 1.23456789012345E-7\r
-fmax31408 fma  1    0 1.23456789012345E-8  -> 1.23456789012345E-8\r
-fmax31409 fma  1    0 1.23456789012345E-9  -> 1.23456789012345E-9\r
-fmax31410 fma  1    0 1.23456789012345E-10 -> 1.23456789012345E-10\r
-fmax31411 fma  1    0 1.23456789012345E-11 -> 1.23456789012345E-11\r
-fmax31412 fma  1    0 1.23456789012345E-12 -> 1.23456789012345E-12\r
-fmax31413 fma  1    0 1.23456789012345E-13 -> 1.23456789012345E-13\r
-fmax31414 fma  1    0 1.23456789012345E-14 -> 1.23456789012345E-14\r
-fmax31415 fma  1    0 1.23456789012345E-15 -> 1.23456789012345E-15\r
-fmax31416 fma  1    0 1.23456789012345E-16 -> 1.23456789012345E-16\r
-fmax31417 fma  1    0 1.23456789012345E-17 -> 1.23456789012345E-17\r
-fmax31418 fma  1    0 1.23456789012345E-18 -> 1.23456789012345E-18\r
-fmax31419 fma  1    0 1.23456789012345E-19 -> 1.23456789012345E-19\r
-\r
--- same, precision 16..\r
-precision:   16\r
-fmax31420 fma  1    0 1.123456789012345     -> 1.123456789012345\r
-fmax31421 fma  1    0 1.123456789012345E-1  -> 0.1123456789012345\r
-fmax31422 fma  1    0 1.123456789012345E-2  -> 0.01123456789012345\r
-fmax31423 fma  1    0 1.123456789012345E-3  -> 0.001123456789012345\r
-fmax31424 fma  1    0 1.123456789012345E-4  -> 0.0001123456789012345\r
-fmax31425 fma  1    0 1.123456789012345E-5  -> 0.00001123456789012345\r
-fmax31426 fma  1    0 1.123456789012345E-6  -> 0.000001123456789012345\r
-fmax31427 fma  1    0 1.123456789012345E-7  -> 1.123456789012345E-7\r
-fmax31428 fma  1    0 1.123456789012345E-8  -> 1.123456789012345E-8\r
-fmax31429 fma  1    0 1.123456789012345E-9  -> 1.123456789012345E-9\r
-fmax31430 fma  1    0 1.123456789012345E-10 -> 1.123456789012345E-10\r
-fmax31431 fma  1    0 1.123456789012345E-11 -> 1.123456789012345E-11\r
-fmax31432 fma  1    0 1.123456789012345E-12 -> 1.123456789012345E-12\r
-fmax31433 fma  1    0 1.123456789012345E-13 -> 1.123456789012345E-13\r
-fmax31434 fma  1    0 1.123456789012345E-14 -> 1.123456789012345E-14\r
-fmax31435 fma  1    0 1.123456789012345E-15 -> 1.123456789012345E-15\r
-fmax31436 fma  1    0 1.123456789012345E-16 -> 1.123456789012345E-16\r
-fmax31437 fma  1    0 1.123456789012345E-17 -> 1.123456789012345E-17\r
-fmax31438 fma  1    0 1.123456789012345E-18 -> 1.123456789012345E-18\r
-fmax31439 fma  1    0 1.123456789012345E-19 -> 1.123456789012345E-19\r
-\r
--- same, reversed 0\r
-fmax31440 fma  1   1.123456789012345     0 -> 1.123456789012345\r
-fmax31441 fma  1   1.123456789012345E-1  0 -> 0.1123456789012345\r
-fmax31442 fma  1   1.123456789012345E-2  0 -> 0.01123456789012345\r
-fmax31443 fma  1   1.123456789012345E-3  0 -> 0.001123456789012345\r
-fmax31444 fma  1   1.123456789012345E-4  0 -> 0.0001123456789012345\r
-fmax31445 fma  1   1.123456789012345E-5  0 -> 0.00001123456789012345\r
-fmax31446 fma  1   1.123456789012345E-6  0 -> 0.000001123456789012345\r
-fmax31447 fma  1   1.123456789012345E-7  0 -> 1.123456789012345E-7\r
-fmax31448 fma  1   1.123456789012345E-8  0 -> 1.123456789012345E-8\r
-fmax31449 fma  1   1.123456789012345E-9  0 -> 1.123456789012345E-9\r
-fmax31450 fma  1   1.123456789012345E-10 0 -> 1.123456789012345E-10\r
-fmax31451 fma  1   1.123456789012345E-11 0 -> 1.123456789012345E-11\r
-fmax31452 fma  1   1.123456789012345E-12 0 -> 1.123456789012345E-12\r
-fmax31453 fma  1   1.123456789012345E-13 0 -> 1.123456789012345E-13\r
-fmax31454 fma  1   1.123456789012345E-14 0 -> 1.123456789012345E-14\r
-fmax31455 fma  1   1.123456789012345E-15 0 -> 1.123456789012345E-15\r
-fmax31456 fma  1   1.123456789012345E-16 0 -> 1.123456789012345E-16\r
-fmax31457 fma  1   1.123456789012345E-17 0 -> 1.123456789012345E-17\r
-fmax31458 fma  1   1.123456789012345E-18 0 -> 1.123456789012345E-18\r
-fmax31459 fma  1   1.123456789012345E-19 0 -> 1.123456789012345E-19\r
-\r
--- same, Es on the 0\r
-fmax31460 fma  1   1.123456789012345  0E-0   -> 1.123456789012345\r
-fmax31461 fma  1   1.123456789012345  0E-1   -> 1.123456789012345\r
-fmax31462 fma  1   1.123456789012345  0E-2   -> 1.123456789012345\r
-fmax31463 fma  1   1.123456789012345  0E-3   -> 1.123456789012345\r
-fmax31464 fma  1   1.123456789012345  0E-4   -> 1.123456789012345\r
-fmax31465 fma  1   1.123456789012345  0E-5   -> 1.123456789012345\r
-fmax31466 fma  1   1.123456789012345  0E-6   -> 1.123456789012345\r
-fmax31467 fma  1   1.123456789012345  0E-7   -> 1.123456789012345\r
-fmax31468 fma  1   1.123456789012345  0E-8   -> 1.123456789012345\r
-fmax31469 fma  1   1.123456789012345  0E-9   -> 1.123456789012345\r
-fmax31470 fma  1   1.123456789012345  0E-10  -> 1.123456789012345\r
-fmax31471 fma  1   1.123456789012345  0E-11  -> 1.123456789012345\r
-fmax31472 fma  1   1.123456789012345  0E-12  -> 1.123456789012345\r
-fmax31473 fma  1   1.123456789012345  0E-13  -> 1.123456789012345\r
-fmax31474 fma  1   1.123456789012345  0E-14  -> 1.123456789012345\r
-fmax31475 fma  1   1.123456789012345  0E-15  -> 1.123456789012345\r
--- next four flag Rounded because the 0 extends the result\r
-fmax31476 fma  1   1.123456789012345  0E-16  -> 1.123456789012345 Rounded\r
-fmax31477 fma  1   1.123456789012345  0E-17  -> 1.123456789012345 Rounded\r
-fmax31478 fma  1   1.123456789012345  0E-18  -> 1.123456789012345 Rounded\r
-fmax31479 fma  1   1.123456789012345  0E-19  -> 1.123456789012345 Rounded\r
-\r
--- sum of two opposite-sign operands is exactly 0 and floor => -0\r
-precision:   16\r
-maxExponent: 384\r
-minexponent: -383\r
-\r
-rounding:    half_up\r
--- exact zeros from zeros\r
-fmax31500 fma  1    0        0E-19  ->  0E-19\r
-fmax31501 fma  1   -0        0E-19  ->  0E-19\r
-fmax31502 fma  1    0       -0E-19  ->  0E-19\r
-fmax31503 fma  1   -0       -0E-19  -> -0E-19\r
-fmax31504 fma  1    0E-400   0E-19  ->  0E-398 Clamped\r
-fmax31505 fma  1   -0E-400   0E-19  ->  0E-398 Clamped\r
-fmax31506 fma  1    0E-400  -0E-19  ->  0E-398 Clamped\r
-fmax31507 fma  1   -0E-400  -0E-19  -> -0E-398 Clamped\r
--- inexact zeros\r
-fmax31511 fma  1    1E-401   1E-400 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped\r
-fmax31512 fma  1   -1E-401   1E-400 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped\r
-fmax31513 fma  1    1E-401  -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped\r
-fmax31514 fma  1   -1E-401  -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped\r
--- some exact zeros from non-zeros\r
-fmax31515 fma  1    1E-401   1E-401 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped\r
-fmax31516 fma  1   -1E-401   1E-401 ->  0E-398 Clamped\r
-fmax31517 fma  1    1E-401  -1E-401 ->  0E-398 Clamped\r
-fmax31518 fma  1   -1E-401  -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped\r
-\r
-rounding:    half_down\r
--- exact zeros from zeros\r
-fmax31520 fma  1    0        0E-19  ->  0E-19\r
-fmax31521 fma  1   -0        0E-19  ->  0E-19\r
-fmax31522 fma  1    0       -0E-19  ->  0E-19\r
-fmax31523 fma  1   -0       -0E-19  -> -0E-19\r
-fmax31524 fma  1    0E-400   0E-19  ->  0E-398 Clamped\r
-fmax31525 fma  1   -0E-400   0E-19  ->  0E-398 Clamped\r
-fmax31526 fma  1    0E-400  -0E-19  ->  0E-398 Clamped\r
-fmax31527 fma  1   -0E-400  -0E-19  -> -0E-398 Clamped\r
--- inexact zeros\r
-fmax31531 fma  1    1E-401   1E-400 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped\r
-fmax31532 fma  1   -1E-401   1E-400 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped\r
-fmax31533 fma  1    1E-401  -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped\r
-fmax31534 fma  1   -1E-401  -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped\r
--- some exact zeros from non-zeros\r
-fmax31535 fma  1    1E-401   1E-401 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped\r
-fmax31536 fma  1   -1E-401   1E-401 ->  0E-398 Clamped\r
-fmax31537 fma  1    1E-401  -1E-401 ->  0E-398 Clamped\r
-fmax31538 fma  1   -1E-401  -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped\r
-\r
-rounding:    half_even\r
--- exact zeros from zeros\r
-fmax31540 fma  1    0        0E-19  ->  0E-19\r
-fmax31541 fma  1   -0        0E-19  ->  0E-19\r
-fmax31542 fma  1    0       -0E-19  ->  0E-19\r
-fmax31543 fma  1   -0       -0E-19  -> -0E-19\r
-fmax31544 fma  1    0E-400   0E-19  ->  0E-398 Clamped\r
-fmax31545 fma  1   -0E-400   0E-19  ->  0E-398 Clamped\r
-fmax31546 fma  1    0E-400  -0E-19  ->  0E-398 Clamped\r
-fmax31547 fma  1   -0E-400  -0E-19  -> -0E-398 Clamped\r
--- inexact zeros\r
-fmax31551 fma  1    1E-401   1E-400 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped\r
-fmax31552 fma  1   -1E-401   1E-400 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped\r
-fmax31553 fma  1    1E-401  -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped\r
-fmax31554 fma  1   -1E-401  -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped\r
--- some exact zeros from non-zeros\r
-fmax31555 fma  1    1E-401   1E-401 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped\r
-fmax31556 fma  1   -1E-401   1E-401 ->  0E-398 Clamped\r
-fmax31557 fma  1    1E-401  -1E-401 ->  0E-398 Clamped\r
-fmax31558 fma  1   -1E-401  -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped\r
-\r
-rounding:    up\r
--- exact zeros from zeros\r
-fmax31560 fma  1    0        0E-19  ->  0E-19\r
-fmax31561 fma  1   -0        0E-19  ->  0E-19\r
-fmax31562 fma  1    0       -0E-19  ->  0E-19\r
-fmax31563 fma  1   -0       -0E-19  -> -0E-19\r
-fmax31564 fma  1    0E-400   0E-19  ->  0E-398 Clamped\r
-fmax31565 fma  1   -0E-400   0E-19  ->  0E-398 Clamped\r
-fmax31566 fma  1    0E-400  -0E-19  ->  0E-398 Clamped\r
-fmax31567 fma  1   -0E-400  -0E-19  -> -0E-398 Clamped\r
--- inexact zeros\r
-fmax31571 fma  1    1E-401   1E-400 ->  1E-398 Subnormal Inexact Rounded Underflow\r
-fmax31572 fma  1   -1E-401   1E-400 ->  1E-398 Subnormal Inexact Rounded Underflow\r
-fmax31573 fma  1    1E-401  -1E-400 -> -1E-398 Subnormal Inexact Rounded Underflow\r
-fmax31574 fma  1   -1E-401  -1E-400 -> -1E-398 Subnormal Inexact Rounded Underflow\r
--- some exact zeros from non-zeros\r
-fmax31575 fma  1    1E-401   1E-401 ->  1E-398 Subnormal Inexact Rounded Underflow\r
-fmax31576 fma  1   -1E-401   1E-401 ->  0E-398 Clamped\r
-fmax31577 fma  1    1E-401  -1E-401 ->  0E-398 Clamped\r
-fmax31578 fma  1   -1E-401  -1E-401 -> -1E-398 Subnormal Inexact Rounded Underflow\r
-\r
-rounding:    down\r
--- exact zeros from zeros\r
-fmax31580 fma  1    0        0E-19  ->  0E-19\r
-fmax31581 fma  1   -0        0E-19  ->  0E-19\r
-fmax31582 fma  1    0       -0E-19  ->  0E-19\r
-fmax31583 fma  1   -0       -0E-19  -> -0E-19\r
-fmax31584 fma  1    0E-400   0E-19  ->  0E-398 Clamped\r
-fmax31585 fma  1   -0E-400   0E-19  ->  0E-398 Clamped\r
-fmax31586 fma  1    0E-400  -0E-19  ->  0E-398 Clamped\r
-fmax31587 fma  1   -0E-400  -0E-19  -> -0E-398 Clamped\r
--- inexact zeros\r
-fmax31591 fma  1    1E-401   1E-400 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped\r
-fmax31592 fma  1   -1E-401   1E-400 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped\r
-fmax31593 fma  1    1E-401  -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped\r
-fmax31594 fma  1   -1E-401  -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped\r
--- some exact zeros from non-zeros\r
-fmax31595 fma  1    1E-401   1E-401 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped\r
-fmax31596 fma  1   -1E-401   1E-401 ->  0E-398 Clamped\r
-fmax31597 fma  1    1E-401  -1E-401 ->  0E-398 Clamped\r
-fmax31598 fma  1   -1E-401  -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped\r
-\r
-rounding:    ceiling\r
--- exact zeros from zeros\r
-fmax31600 fma  1    0        0E-19  ->  0E-19\r
-fmax31601 fma  1   -0        0E-19  ->  0E-19\r
-fmax31602 fma  1    0       -0E-19  ->  0E-19\r
-fmax31603 fma  1   -0       -0E-19  -> -0E-19\r
-fmax31604 fma  1    0E-400   0E-19  ->  0E-398 Clamped\r
-fmax31605 fma  1   -0E-400   0E-19  ->  0E-398 Clamped\r
-fmax31606 fma  1    0E-400  -0E-19  ->  0E-398 Clamped\r
-fmax31607 fma  1   -0E-400  -0E-19  -> -0E-398 Clamped\r
--- inexact zeros\r
-fmax31611 fma  1    1E-401   1E-400 ->  1E-398 Subnormal Inexact Rounded Underflow\r
-fmax31612 fma  1   -1E-401   1E-400 ->  1E-398 Subnormal Inexact Rounded Underflow\r
-fmax31613 fma  1    1E-401  -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped\r
-fmax31614 fma  1   -1E-401  -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped\r
--- some exact zeros from non-zeros\r
-fmax31615 fma  1    1E-401   1E-401 ->  1E-398 Subnormal Inexact Rounded Underflow\r
-fmax31616 fma  1   -1E-401   1E-401 ->  0E-398 Clamped\r
-fmax31617 fma  1    1E-401  -1E-401 ->  0E-398 Clamped\r
-fmax31618 fma  1   -1E-401  -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped\r
-\r
--- and the extra-special ugly case; unusual minuses marked by -- *\r
-rounding:    floor\r
--- exact zeros from zeros\r
-fmax31620 fma  1    0        0E-19  ->  0E-19\r
-fmax31621 fma  1   -0        0E-19  -> -0E-19           -- *\r
-fmax31622 fma  1    0       -0E-19  -> -0E-19           -- *\r
-fmax31623 fma  1   -0       -0E-19  -> -0E-19\r
-fmax31624 fma  1    0E-400   0E-19  ->  0E-398 Clamped\r
-fmax31625 fma  1   -0E-400   0E-19  -> -0E-398 Clamped  -- *\r
-fmax31626 fma  1    0E-400  -0E-19  -> -0E-398 Clamped  -- *\r
-fmax31627 fma  1   -0E-400  -0E-19  -> -0E-398 Clamped\r
--- inexact zeros\r
-fmax31631 fma  1    1E-401   1E-400 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped\r
-fmax31632 fma  1   -1E-401   1E-400 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped\r
-fmax31633 fma  1    1E-401  -1E-400 -> -1E-398 Subnormal Inexact Rounded Underflow\r
-fmax31634 fma  1   -1E-401  -1E-400 -> -1E-398 Subnormal Inexact Rounded Underflow\r
--- some exact zeros from non-zeros\r
-fmax31635 fma  1    1E-401   1E-401 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped\r
-fmax31636 fma  1   -1E-401   1E-401 -> -0E-398 Clamped  -- *\r
-fmax31637 fma  1    1E-401  -1E-401 -> -0E-398 Clamped  -- *\r
-fmax31638 fma  1   -1E-401  -1E-401 -> -1E-398 Subnormal Inexact Rounded Underflow\r
-\r
--- BigDecimal problem testcases 2006.01.23\r
-precision:   16\r
-maxExponent: 384\r
-minexponent: -383\r
-\r
-rounding:  down\r
-precision: 7\r
-fmax31651 fma  1    10001E+2  -2E+1 -> 1.00008E+6\r
-precision: 6\r
-fmax31652 fma  1    10001E+2  -2E+1 -> 1.00008E+6\r
-precision: 5\r
-fmax31653 fma  1    10001E+2  -2E+1 -> 1.0000E+6   Inexact Rounded\r
-precision: 4\r
-fmax31654 fma  1    10001E+2  -2E+1 -> 1.000E+6    Inexact Rounded\r
-precision: 3\r
-fmax31655 fma  1    10001E+2  -2E+1 -> 1.00E+6     Inexact Rounded\r
-precision: 2\r
-fmax31656 fma  1    10001E+2  -2E+1 -> 1.0E+6      Inexact Rounded\r
-precision: 1\r
-fmax31657 fma  1    10001E+2  -2E+1 -> 1E+6        Inexact Rounded\r
-\r
-rounding:  half_even\r
-precision: 7\r
-fmax31661 fma  1    10001E+2  -2E+1 -> 1.00008E+6\r
-precision: 6\r
-fmax31662 fma  1    10001E+2  -2E+1 -> 1.00008E+6\r
-precision: 5\r
-fmax31663 fma  1    10001E+2  -2E+1 -> 1.0001E+6   Inexact Rounded\r
-precision: 4\r
-fmax31664 fma  1    10001E+2  -2E+1 -> 1.000E+6    Inexact Rounded\r
-precision: 3\r
-fmax31665 fma  1    10001E+2  -2E+1 -> 1.00E+6     Inexact Rounded\r
-precision: 2\r
-fmax31666 fma  1    10001E+2  -2E+1 -> 1.0E+6      Inexact Rounded\r
-precision: 1\r
-fmax31667 fma  1    10001E+2  -2E+1 -> 1E+6        Inexact Rounded\r
-\r
-rounding:  up\r
-precision: 7\r
-fmax31671 fma  1    10001E+2  -2E+1 -> 1.00008E+6\r
-precision: 6\r
-fmax31672 fma  1    10001E+2  -2E+1 -> 1.00008E+6\r
-precision: 5\r
-fmax31673 fma  1    10001E+2  -2E+1 -> 1.0001E+6   Inexact Rounded\r
-precision: 4\r
-fmax31674 fma  1    10001E+2  -2E+1 -> 1.001E+6    Inexact Rounded\r
-precision: 3\r
-fmax31675 fma  1    10001E+2  -2E+1 -> 1.01E+6     Inexact Rounded\r
-precision: 2\r
-fmax31676 fma  1    10001E+2  -2E+1 -> 1.1E+6      Inexact Rounded\r
-precision: 1\r
-fmax31677 fma  1    10001E+2  -2E+1 -> 2E+6        Inexact Rounded\r
-\r
-precision:   34\r
-rounding:    half_up\r
-maxExponent: 6144\r
-minExponent: -6143\r
--- Examples from SQL proposal (Krishna Kulkarni)\r
-fmax31701  fma  1   130E-2    120E-2    -> 2.50\r
-fmax31702  fma  1   130E-2    12E-1     -> 2.50\r
-fmax31703  fma  1   130E-2    1E0       -> 2.30\r
-fmax31704  fma  1   1E2       1E4       -> 1.01E+4\r
-fmax31705  subtract 130E-2  120E-2 -> 0.10\r
-fmax31706  subtract 130E-2  12E-1  -> 0.10\r
-fmax31707  subtract 130E-2  1E0    -> 0.30\r
-fmax31708  subtract 1E2     1E4    -> -9.9E+3\r
-\r
-------------------------------------------------------------------------\r
--- Same as above, using decimal64 default parameters                  --\r
-------------------------------------------------------------------------\r
-precision:   16\r
-rounding:    half_even\r
-maxExponent: 384\r
-minexponent: -383\r
-\r
--- [first group are 'quick confidence check']\r
-fmax36001 fma  1   1       1       ->  2\r
-fmax36002 fma  1   2       3       ->  5\r
-fmax36003 fma  1   '5.75'  '3.3'   ->  9.05\r
-fmax36004 fma  1   '5'     '-3'    ->  2\r
-fmax36005 fma  1   '-5'    '-3'    ->  -8\r
-fmax36006 fma  1   '-7'    '2.5'   ->  -4.5\r
-fmax36007 fma  1   '0.7'   '0.3'   ->  1.0\r
-fmax36008 fma  1   '1.25'  '1.25'  ->  2.50\r
-fmax36009 fma  1   '1.23456789'  '1.00000000' -> '2.23456789'\r
-fmax36010 fma  1   '1.23456789'  '1.00000011' -> '2.23456800'\r
-\r
-fmax36011 fma  1   '0.44444444444444444'  '0.55555555555555555' -> '1.000000000000000' Inexact Rounded\r
-fmax36012 fma  1   '0.44444444444444440'  '0.55555555555555555' -> '1.000000000000000' Inexact Rounded\r
-fmax36013 fma  1   '0.44444444444444444'  '0.55555555555555550' -> '0.9999999999999999' Inexact Rounded\r
-fmax36014 fma  1   '0.444444444444444449'    '0' -> '0.4444444444444444' Inexact Rounded\r
-fmax36015 fma  1   '0.4444444444444444499'   '0' -> '0.4444444444444444' Inexact Rounded\r
-fmax36016 fma  1   '0.44444444444444444999'  '0' -> '0.4444444444444444' Inexact Rounded\r
-fmax36017 fma  1   '0.44444444444444445000'  '0' -> '0.4444444444444444' Inexact Rounded\r
-fmax36018 fma  1   '0.44444444444444445001'  '0' -> '0.4444444444444445' Inexact Rounded\r
-fmax36019 fma  1   '0.4444444444444444501'   '0' -> '0.4444444444444445' Inexact Rounded\r
-fmax36020 fma  1   '0.444444444444444451'    '0' -> '0.4444444444444445' Inexact Rounded\r
-\r
-fmax36021 fma  1   0 1 -> 1\r
-fmax36022 fma  1   1 1 -> 2\r
-fmax36023 fma  1   2 1 -> 3\r
-fmax36024 fma  1   3 1 -> 4\r
-fmax36025 fma  1   4 1 -> 5\r
-fmax36026 fma  1   5 1 -> 6\r
-fmax36027 fma  1   6 1 -> 7\r
-fmax36028 fma  1   7 1 -> 8\r
-fmax36029 fma  1   8 1 -> 9\r
-fmax36030 fma  1   9 1 -> 10\r
-\r
--- some carrying effects\r
-fmax36031 fma  1   '0.9998'  '0.0000' -> '0.9998'\r
-fmax36032 fma  1   '0.9998'  '0.0001' -> '0.9999'\r
-fmax36033 fma  1   '0.9998'  '0.0002' -> '1.0000'\r
-fmax36034 fma  1   '0.9998'  '0.0003' -> '1.0001'\r
-\r
-fmax36035 fma  1   '70'      '10000e+16' -> '1.000000000000000E+20' Inexact Rounded\r
-fmax36036 fma  1   '700'     '10000e+16' -> '1.000000000000000E+20' Inexact Rounded\r
-fmax36037 fma  1   '7000'    '10000e+16' -> '1.000000000000000E+20' Inexact Rounded\r
-fmax36038 fma  1   '70000'   '10000e+16' -> '1.000000000000001E+20' Inexact Rounded\r
-fmax36039 fma  1   '700000'  '10000e+16' -> '1.000000000000007E+20' Rounded\r
-\r
--- symmetry:\r
-fmax36040 fma  1   '10000e+16'  '70' -> '1.000000000000000E+20' Inexact Rounded\r
-fmax36041 fma  1   '10000e+16'  '700' -> '1.000000000000000E+20' Inexact Rounded\r
-fmax36042 fma  1   '10000e+16'  '7000' -> '1.000000000000000E+20' Inexact Rounded\r
-fmax36044 fma  1   '10000e+16'  '70000' -> '1.000000000000001E+20' Inexact Rounded\r
-fmax36045 fma  1   '10000e+16'  '700000' -> '1.000000000000007E+20' Rounded\r
-\r
-fmax36046 fma  1   '10000e+9'  '7' -> '10000000000007'\r
-fmax36047 fma  1   '10000e+9'  '70' -> '10000000000070'\r
-fmax36048 fma  1   '10000e+9'  '700' -> '10000000000700'\r
-fmax36049 fma  1   '10000e+9'  '7000' -> '10000000007000'\r
-fmax36050 fma  1   '10000e+9'  '70000' -> '10000000070000'\r
-fmax36051 fma  1   '10000e+9'  '700000' -> '10000000700000'\r
-\r
--- examples from decarith\r
-fmax36053 fma  1   '12' '7.00' -> '19.00'\r
-fmax36054 fma  1   '1.3' '-1.07' -> '0.23'\r
-fmax36055 fma  1   '1.3' '-1.30' -> '0.00'\r
-fmax36056 fma  1   '1.3' '-2.07' -> '-0.77'\r
-fmax36057 fma  1   '1E+2' '1E+4' -> '1.01E+4'\r
-\r
--- from above\r
-fmax36061 fma  1   1 '0.1' -> '1.1'\r
-fmax36062 fma  1   1 '0.01' -> '1.01'\r
-fmax36063 fma  1   1 '0.001' -> '1.001'\r
-fmax36064 fma  1   1 '0.0001' -> '1.0001'\r
-fmax36065 fma  1   1 '0.00001' -> '1.00001'\r
-fmax36066 fma  1   1 '0.000001' -> '1.000001'\r
-fmax36067 fma  1   1 '0.0000001' -> '1.0000001'\r
-fmax36068 fma  1   1 '0.00000001' -> '1.00000001'\r
-\r
--- some funny zeros [in case of bad signum]\r
-fmax36070 fma  1   1  0    -> 1\r
-fmax36071 fma  1   1 0.    -> 1\r
-fmax36072 fma  1   1  .0   -> 1.0\r
-fmax36073 fma  1   1 0.0   -> 1.0\r
-fmax36074 fma  1   1 0.00  -> 1.00\r
-fmax36075 fma  1    0  1   -> 1\r
-fmax36076 fma  1   0.  1   -> 1\r
-fmax36077 fma  1    .0 1   -> 1.0\r
-fmax36078 fma  1   0.0 1   -> 1.0\r
-fmax36079 fma  1   0.00 1  -> 1.00\r
-\r
--- some carries\r
-fmax36080 fma  1   9999999999999998 1  -> 9999999999999999\r
-fmax36081 fma  1   9999999999999999 1  -> 1.000000000000000E+16 Rounded\r
-fmax36082 fma  1    999999999999999 1  -> 1000000000000000\r
-fmax36083 fma  1      9999999999999 1  -> 10000000000000\r
-fmax36084 fma  1        99999999999 1  -> 100000000000\r
-fmax36085 fma  1          999999999 1  -> 1000000000\r
-fmax36086 fma  1            9999999 1  -> 10000000\r
-fmax36087 fma  1              99999 1  -> 100000\r
-fmax36088 fma  1                999 1  -> 1000\r
-fmax36089 fma  1                  9 1  -> 10\r
-\r
-\r
--- more LHS swaps\r
-fmax36090 fma  1   '-56267E-10'   0 ->  '-0.0000056267'\r
-fmax36091 fma  1   '-56267E-6'    0 ->  '-0.056267'\r
-fmax36092 fma  1   '-56267E-5'    0 ->  '-0.56267'\r
-fmax36093 fma  1   '-56267E-4'    0 ->  '-5.6267'\r
-fmax36094 fma  1   '-56267E-3'    0 ->  '-56.267'\r
-fmax36095 fma  1   '-56267E-2'    0 ->  '-562.67'\r
-fmax36096 fma  1   '-56267E-1'    0 ->  '-5626.7'\r
-fmax36097 fma  1   '-56267E-0'    0 ->  '-56267'\r
-fmax36098 fma  1   '-5E-10'       0 ->  '-5E-10'\r
-fmax36099 fma  1   '-5E-7'        0 ->  '-5E-7'\r
-fmax36100 fma  1   '-5E-6'        0 ->  '-0.000005'\r
-fmax36101 fma  1   '-5E-5'        0 ->  '-0.00005'\r
-fmax36102 fma  1   '-5E-4'        0 ->  '-0.0005'\r
-fmax36103 fma  1   '-5E-1'        0 ->  '-0.5'\r
-fmax36104 fma  1   '-5E0'         0 ->  '-5'\r
-fmax36105 fma  1   '-5E1'         0 ->  '-50'\r
-fmax36106 fma  1   '-5E5'         0 ->  '-500000'\r
-fmax36107 fma  1   '-5E15'        0 ->  '-5000000000000000'\r
-fmax36108 fma  1   '-5E16'        0 ->  '-5.000000000000000E+16'   Rounded\r
-fmax36109 fma  1   '-5E17'        0 ->  '-5.000000000000000E+17'  Rounded\r
-fmax36110 fma  1   '-5E18'        0 ->  '-5.000000000000000E+18'  Rounded\r
-fmax36111 fma  1   '-5E100'       0 ->  '-5.000000000000000E+100' Rounded\r
-\r
--- more RHS swaps\r
-fmax36113 fma  1   0  '-56267E-10' ->  '-0.0000056267'\r
-fmax36114 fma  1   0  '-56267E-6'  ->  '-0.056267'\r
-fmax36116 fma  1   0  '-56267E-5'  ->  '-0.56267'\r
-fmax36117 fma  1   0  '-56267E-4'  ->  '-5.6267'\r
-fmax36119 fma  1   0  '-56267E-3'  ->  '-56.267'\r
-fmax36120 fma  1   0  '-56267E-2'  ->  '-562.67'\r
-fmax36121 fma  1   0  '-56267E-1'  ->  '-5626.7'\r
-fmax36122 fma  1   0  '-56267E-0'  ->  '-56267'\r
-fmax36123 fma  1   0  '-5E-10'     ->  '-5E-10'\r
-fmax36124 fma  1   0  '-5E-7'      ->  '-5E-7'\r
-fmax36125 fma  1   0  '-5E-6'      ->  '-0.000005'\r
-fmax36126 fma  1   0  '-5E-5'      ->  '-0.00005'\r
-fmax36127 fma  1   0  '-5E-4'      ->  '-0.0005'\r
-fmax36128 fma  1   0  '-5E-1'      ->  '-0.5'\r
-fmax36129 fma  1   0  '-5E0'       ->  '-5'\r
-fmax36130 fma  1   0  '-5E1'       ->  '-50'\r
-fmax36131 fma  1   0  '-5E5'       ->  '-500000'\r
-fmax36132 fma  1   0  '-5E15'      ->  '-5000000000000000'\r
-fmax36133 fma  1   0  '-5E16'      ->  '-5.000000000000000E+16'   Rounded\r
-fmax36134 fma  1   0  '-5E17'      ->  '-5.000000000000000E+17'   Rounded\r
-fmax36135 fma  1   0  '-5E18'      ->  '-5.000000000000000E+18'   Rounded\r
-fmax36136 fma  1   0  '-5E100'     ->  '-5.000000000000000E+100'  Rounded\r
-\r
--- related\r
-fmax36137 fma  1    1  '0E-19'      ->  '1.000000000000000'  Rounded\r
-fmax36138 fma  1   -1  '0E-19'      ->  '-1.000000000000000' Rounded\r
-fmax36139 fma  1   '0E-19' 1        ->  '1.000000000000000'  Rounded\r
-fmax36140 fma  1   '0E-19' -1       ->  '-1.000000000000000' Rounded\r
-fmax36141 fma  1   1E+11   0.0000   ->  '100000000000.0000'\r
-fmax36142 fma  1   1E+11   0.00000  ->  '100000000000.0000'  Rounded\r
-fmax36143 fma  1   0.000   1E+12    ->  '1000000000000.000'\r
-fmax36144 fma  1   0.0000  1E+12    ->  '1000000000000.000'  Rounded\r
-\r
--- [some of the next group are really constructor tests]\r
-fmax36146 fma  1   '00.0'  0       ->  '0.0'\r
-fmax36147 fma  1   '0.00'  0       ->  '0.00'\r
-fmax36148 fma  1    0      '0.00'  ->  '0.00'\r
-fmax36149 fma  1    0      '00.0'  ->  '0.0'\r
-fmax36150 fma  1   '00.0'  '0.00'  ->  '0.00'\r
-fmax36151 fma  1   '0.00'  '00.0'  ->  '0.00'\r
-fmax36152 fma  1   '3'     '.3'    ->  '3.3'\r
-fmax36153 fma  1   '3.'    '.3'    ->  '3.3'\r
-fmax36154 fma  1   '3.0'   '.3'    ->  '3.3'\r
-fmax36155 fma  1   '3.00'  '.3'    ->  '3.30'\r
-fmax36156 fma  1   '3'     '3'     ->  '6'\r
-fmax36157 fma  1   '3'     '+3'    ->  '6'\r
-fmax36158 fma  1   '3'     '-3'    ->  '0'\r
-fmax36159 fma  1   '0.3'   '-0.3'  ->  '0.0'\r
-fmax36160 fma  1   '0.03'  '-0.03' ->  '0.00'\r
-\r
--- try borderline precision, with carries, etc.\r
-fmax36161 fma  1   '1E+13' '-1'    -> '9999999999999'\r
-fmax36162 fma  1   '1E+13'  '1.11' -> '10000000000001.11'\r
-fmax36163 fma  1   '1.11'  '1E+13' -> '10000000000001.11'\r
-fmax36164 fma  1   '-1'    '1E+13' -> '9999999999999'\r
-fmax36165 fma  1   '7E+13' '-1'    -> '69999999999999'\r
-fmax36166 fma  1   '7E+13'  '1.11' -> '70000000000001.11'\r
-fmax36167 fma  1   '1.11'  '7E+13' -> '70000000000001.11'\r
-fmax36168 fma  1   '-1'    '7E+13' -> '69999999999999'\r
-\r
---                    1234567890123456      1234567890123456      1 234567890123456\r
-fmax36170 fma  1   '0.4444444444444444'  '0.5555555555555563' -> '1.000000000000001' Inexact Rounded\r
-fmax36171 fma  1   '0.4444444444444444'  '0.5555555555555562' -> '1.000000000000001' Inexact Rounded\r
-fmax36172 fma  1   '0.4444444444444444'  '0.5555555555555561' -> '1.000000000000000' Inexact Rounded\r
-fmax36173 fma  1   '0.4444444444444444'  '0.5555555555555560' -> '1.000000000000000' Inexact Rounded\r
-fmax36174 fma  1   '0.4444444444444444'  '0.5555555555555559' -> '1.000000000000000' Inexact Rounded\r
-fmax36175 fma  1   '0.4444444444444444'  '0.5555555555555558' -> '1.000000000000000' Inexact Rounded\r
-fmax36176 fma  1   '0.4444444444444444'  '0.5555555555555557' -> '1.000000000000000' Inexact Rounded\r
-fmax36177 fma  1   '0.4444444444444444'  '0.5555555555555556' -> '1.000000000000000' Rounded\r
-fmax36178 fma  1   '0.4444444444444444'  '0.5555555555555555' -> '0.9999999999999999'\r
-fmax36179 fma  1   '0.4444444444444444'  '0.5555555555555554' -> '0.9999999999999998'\r
-fmax36180 fma  1   '0.4444444444444444'  '0.5555555555555553' -> '0.9999999999999997'\r
-fmax36181 fma  1   '0.4444444444444444'  '0.5555555555555552' -> '0.9999999999999996'\r
-fmax36182 fma  1   '0.4444444444444444'  '0.5555555555555551' -> '0.9999999999999995'\r
-fmax36183 fma  1   '0.4444444444444444'  '0.5555555555555550' -> '0.9999999999999994'\r
-\r
--- and some more, including residue effects and different roundings\r
-rounding: half_up\r
-fmax36200 fma  1   '6543210123456789' 0             -> '6543210123456789'\r
-fmax36201 fma  1   '6543210123456789' 0.000000001   -> '6543210123456789' Inexact Rounded\r
-fmax36202 fma  1   '6543210123456789' 0.000001      -> '6543210123456789' Inexact Rounded\r
-fmax36203 fma  1   '6543210123456789' 0.1           -> '6543210123456789' Inexact Rounded\r
-fmax36204 fma  1   '6543210123456789' 0.4           -> '6543210123456789' Inexact Rounded\r
-fmax36205 fma  1   '6543210123456789' 0.49          -> '6543210123456789' Inexact Rounded\r
-fmax36206 fma  1   '6543210123456789' 0.499999      -> '6543210123456789' Inexact Rounded\r
-fmax36207 fma  1   '6543210123456789' 0.499999   -> '6543210123456789' Inexact Rounded\r
-fmax36208 fma  1   '6543210123456789' 0.5           -> '6543210123456790' Inexact Rounded\r
-fmax36209 fma  1   '6543210123456789' 0.500000001   -> '6543210123456790' Inexact Rounded\r
-fmax36210 fma  1   '6543210123456789' 0.500001      -> '6543210123456790' Inexact Rounded\r
-fmax36211 fma  1   '6543210123456789' 0.51          -> '6543210123456790' Inexact Rounded\r
-fmax36212 fma  1   '6543210123456789' 0.6           -> '6543210123456790' Inexact Rounded\r
-fmax36213 fma  1   '6543210123456789' 0.9           -> '6543210123456790' Inexact Rounded\r
-fmax36214 fma  1   '6543210123456789' 0.99999       -> '6543210123456790' Inexact Rounded\r
-fmax36215 fma  1   '6543210123456789' 0.999999   -> '6543210123456790' Inexact Rounded\r
-fmax36216 fma  1   '6543210123456789' 1             -> '6543210123456790'\r
-fmax36217 fma  1   '6543210123456789' 1.000000001   -> '6543210123456790' Inexact Rounded\r
-fmax36218 fma  1   '6543210123456789' 1.00001       -> '6543210123456790' Inexact Rounded\r
-fmax36219 fma  1   '6543210123456789' 1.1           -> '6543210123456790' Inexact Rounded\r
-\r
-rounding: half_even\r
-fmax36220 fma  1   '6543210123456789' 0             -> '6543210123456789'\r
-fmax36221 fma  1   '6543210123456789' 0.000000001   -> '6543210123456789' Inexact Rounded\r
-fmax36222 fma  1   '6543210123456789' 0.000001      -> '6543210123456789' Inexact Rounded\r
-fmax36223 fma  1   '6543210123456789' 0.1           -> '6543210123456789' Inexact Rounded\r
-fmax36224 fma  1   '6543210123456789' 0.4           -> '6543210123456789' Inexact Rounded\r
-fmax36225 fma  1   '6543210123456789' 0.49          -> '6543210123456789' Inexact Rounded\r
-fmax36226 fma  1   '6543210123456789' 0.499999      -> '6543210123456789' Inexact Rounded\r
-fmax36227 fma  1   '6543210123456789' 0.499999   -> '6543210123456789' Inexact Rounded\r
-fmax36228 fma  1   '6543210123456789' 0.5           -> '6543210123456790' Inexact Rounded\r
-fmax36229 fma  1   '6543210123456789' 0.500000001   -> '6543210123456790' Inexact Rounded\r
-fmax36230 fma  1   '6543210123456789' 0.500001      -> '6543210123456790' Inexact Rounded\r
-fmax36231 fma  1   '6543210123456789' 0.51          -> '6543210123456790' Inexact Rounded\r
-fmax36232 fma  1   '6543210123456789' 0.6           -> '6543210123456790' Inexact Rounded\r
-fmax36233 fma  1   '6543210123456789' 0.9           -> '6543210123456790' Inexact Rounded\r
-fmax36234 fma  1   '6543210123456789' 0.99999       -> '6543210123456790' Inexact Rounded\r
-fmax36235 fma  1   '6543210123456789' 0.999999   -> '6543210123456790' Inexact Rounded\r
-fmax36236 fma  1   '6543210123456789' 1             -> '6543210123456790'\r
-fmax36237 fma  1   '6543210123456789' 1.00000001    -> '6543210123456790' Inexact Rounded\r
-fmax36238 fma  1   '6543210123456789' 1.00001       -> '6543210123456790' Inexact Rounded\r
-fmax36239 fma  1   '6543210123456789' 1.1           -> '6543210123456790' Inexact Rounded\r
--- critical few with even bottom digit...\r
-fmax36240 fma  1   '6543210123456788' 0.499999   -> '6543210123456788' Inexact Rounded\r
-fmax36241 fma  1   '6543210123456788' 0.5           -> '6543210123456788' Inexact Rounded\r
-fmax36242 fma  1   '6543210123456788' 0.500000001   -> '6543210123456789' Inexact Rounded\r
-\r
-rounding: down\r
-fmax36250 fma  1   '6543210123456789' 0             -> '6543210123456789'\r
-fmax36251 fma  1   '6543210123456789' 0.000000001   -> '6543210123456789' Inexact Rounded\r
-fmax36252 fma  1   '6543210123456789' 0.000001      -> '6543210123456789' Inexact Rounded\r
-fmax36253 fma  1   '6543210123456789' 0.1           -> '6543210123456789' Inexact Rounded\r
-fmax36254 fma  1   '6543210123456789' 0.4           -> '6543210123456789' Inexact Rounded\r
-fmax36255 fma  1   '6543210123456789' 0.49          -> '6543210123456789' Inexact Rounded\r
-fmax36256 fma  1   '6543210123456789' 0.499999      -> '6543210123456789' Inexact Rounded\r
-fmax36257 fma  1   '6543210123456789' 0.499999   -> '6543210123456789' Inexact Rounded\r
-fmax36258 fma  1   '6543210123456789' 0.5           -> '6543210123456789' Inexact Rounded\r
-fmax36259 fma  1   '6543210123456789' 0.500000001   -> '6543210123456789' Inexact Rounded\r
-fmax36260 fma  1   '6543210123456789' 0.500001      -> '6543210123456789' Inexact Rounded\r
-fmax36261 fma  1   '6543210123456789' 0.51          -> '6543210123456789' Inexact Rounded\r
-fmax36262 fma  1   '6543210123456789' 0.6           -> '6543210123456789' Inexact Rounded\r
-fmax36263 fma  1   '6543210123456789' 0.9           -> '6543210123456789' Inexact Rounded\r
-fmax36264 fma  1   '6543210123456789' 0.99999       -> '6543210123456789' Inexact Rounded\r
-fmax36265 fma  1   '6543210123456789' 0.999999   -> '6543210123456789' Inexact Rounded\r
-fmax36266 fma  1   '6543210123456789' 1             -> '6543210123456790'\r
-fmax36267 fma  1   '6543210123456789' 1.00000001    -> '6543210123456790' Inexact Rounded\r
-fmax36268 fma  1   '6543210123456789' 1.00001       -> '6543210123456790' Inexact Rounded\r
-fmax36269 fma  1   '6543210123456789' 1.1           -> '6543210123456790' Inexact Rounded\r
-\r
--- 1 in last place tests\r
-rounding: half_even\r
-fmax36301 fma  1    -1   1      ->   0\r
-fmax36302 fma  1     0   1      ->   1\r
-fmax36303 fma  1     1   1      ->   2\r
-fmax36304 fma  1    12   1      ->  13\r
-fmax36305 fma  1    98   1      ->  99\r
-fmax36306 fma  1    99   1      -> 100\r
-fmax36307 fma  1   100   1      -> 101\r
-fmax36308 fma  1   101   1      -> 102\r
-fmax36309 fma  1    -1  -1      ->  -2\r
-fmax36310 fma  1     0  -1      ->  -1\r
-fmax36311 fma  1     1  -1      ->   0\r
-fmax36312 fma  1    12  -1      ->  11\r
-fmax36313 fma  1    98  -1      ->  97\r
-fmax36314 fma  1    99  -1      ->  98\r
-fmax36315 fma  1   100  -1      ->  99\r
-fmax36316 fma  1   101  -1      -> 100\r
-\r
-fmax36321 fma  1   -0.01  0.01    ->  0.00\r
-fmax36322 fma  1    0.00  0.01    ->  0.01\r
-fmax36323 fma  1    0.01  0.01    ->  0.02\r
-fmax36324 fma  1    0.12  0.01    ->  0.13\r
-fmax36325 fma  1    0.98  0.01    ->  0.99\r
-fmax36326 fma  1    0.99  0.01    ->  1.00\r
-fmax36327 fma  1    1.00  0.01    ->  1.01\r
-fmax36328 fma  1    1.01  0.01    ->  1.02\r
-fmax36329 fma  1   -0.01 -0.01    -> -0.02\r
-fmax36330 fma  1    0.00 -0.01    -> -0.01\r
-fmax36331 fma  1    0.01 -0.01    ->  0.00\r
-fmax36332 fma  1    0.12 -0.01    ->  0.11\r
-fmax36333 fma  1    0.98 -0.01    ->  0.97\r
-fmax36334 fma  1    0.99 -0.01    ->  0.98\r
-fmax36335 fma  1    1.00 -0.01    ->  0.99\r
-fmax36336 fma  1    1.01 -0.01    ->  1.00\r
-\r
--- some more cases where fma  1  ing 0 affects the coefficient\r
-fmax36340 fma  1   1E+3    0    ->         1000\r
-fmax36341 fma  1   1E+15   0    ->    1000000000000000\r
-fmax36342 fma  1   1E+16   0    ->   1.000000000000000E+16  Rounded\r
-fmax36343 fma  1   1E+17   0    ->   1.000000000000000E+17  Rounded\r
--- which simply follow from these cases ...\r
-fmax36344 fma  1   1E+3    1    ->         1001\r
-fmax36345 fma  1   1E+15   1    ->    1000000000000001\r
-fmax36346 fma  1   1E+16   1    ->   1.000000000000000E+16  Inexact Rounded\r
-fmax36347 fma  1   1E+17   1    ->   1.000000000000000E+17  Inexact Rounded\r
-fmax36348 fma  1   1E+3    7    ->         1007\r
-fmax36349 fma  1   1E+15   7    ->    1000000000000007\r
-fmax36350 fma  1   1E+16   7    ->   1.000000000000001E+16  Inexact Rounded\r
-fmax36351 fma  1   1E+17   7    ->   1.000000000000000E+17  Inexact Rounded\r
-\r
--- tryzeros cases\r
-fmax36361  fma  1   0E+50 10000E+1  -> 1.0000E+5\r
-fmax36362  fma  1   10000E+1 0E-50  -> 100000.0000000000  Rounded\r
-fmax36363  fma  1   10000E+1 10000E-50  -> 100000.0000000000  Rounded Inexact\r
-fmax36364  fma  1   12.34    0e-398  -> 12.34000000000000  Rounded\r
-\r
--- ulp replacement tests\r
-fmax36400 fma  1     1   77e-14      ->  1.00000000000077\r
-fmax36401 fma  1     1   77e-15      ->  1.000000000000077\r
-fmax36402 fma  1     1   77e-16      ->  1.000000000000008 Inexact Rounded\r
-fmax36403 fma  1     1   77e-17      ->  1.000000000000001 Inexact Rounded\r
-fmax36404 fma  1     1   77e-18      ->  1.000000000000000 Inexact Rounded\r
-fmax36405 fma  1     1   77e-19      ->  1.000000000000000 Inexact Rounded\r
-fmax36406 fma  1     1   77e-99      ->  1.000000000000000 Inexact Rounded\r
-\r
-fmax36410 fma  1    10   77e-14      ->  10.00000000000077\r
-fmax36411 fma  1    10   77e-15      ->  10.00000000000008 Inexact Rounded\r
-fmax36412 fma  1    10   77e-16      ->  10.00000000000001 Inexact Rounded\r
-fmax36413 fma  1    10   77e-17      ->  10.00000000000000 Inexact Rounded\r
-fmax36414 fma  1    10   77e-18      ->  10.00000000000000 Inexact Rounded\r
-fmax36415 fma  1    10   77e-19      ->  10.00000000000000 Inexact Rounded\r
-fmax36416 fma  1    10   77e-99      ->  10.00000000000000 Inexact Rounded\r
-\r
-fmax36420 fma  1    77e-14       1   ->  1.00000000000077\r
-fmax36421 fma  1    77e-15       1   ->  1.000000000000077\r
-fmax36422 fma  1    77e-16       1   ->  1.000000000000008 Inexact Rounded\r
-fmax36423 fma  1    77e-17       1   ->  1.000000000000001 Inexact Rounded\r
-fmax36424 fma  1    77e-18       1   ->  1.000000000000000 Inexact Rounded\r
-fmax36425 fma  1    77e-19       1   ->  1.000000000000000 Inexact Rounded\r
-fmax36426 fma  1    77e-99       1   ->  1.000000000000000 Inexact Rounded\r
-\r
-fmax36430 fma  1    77e-14      10   ->  10.00000000000077\r
-fmax36431 fma  1    77e-15      10   ->  10.00000000000008 Inexact Rounded\r
-fmax36432 fma  1    77e-16      10   ->  10.00000000000001 Inexact Rounded\r
-fmax36433 fma  1    77e-17      10   ->  10.00000000000000 Inexact Rounded\r
-fmax36434 fma  1    77e-18      10   ->  10.00000000000000 Inexact Rounded\r
-fmax36435 fma  1    77e-19      10   ->  10.00000000000000 Inexact Rounded\r
-fmax36436 fma  1    77e-99      10   ->  10.00000000000000 Inexact Rounded\r
-\r
--- negative ulps\r
-fmax36440 fma  1     1   -77e-14      ->  0.99999999999923\r
-fmax36441 fma  1     1   -77e-15      ->  0.999999999999923\r
-fmax36442 fma  1     1   -77e-16      ->  0.9999999999999923\r
-fmax36443 fma  1     1   -77e-17      ->  0.9999999999999992 Inexact Rounded\r
-fmax36444 fma  1     1   -77e-18      ->  0.9999999999999999 Inexact Rounded\r
-fmax36445 fma  1     1   -77e-19      ->  1.000000000000000 Inexact Rounded\r
-fmax36446 fma  1     1   -77e-99      ->  1.000000000000000 Inexact Rounded\r
-\r
-fmax36450 fma  1    10   -77e-14      ->   9.99999999999923\r
-fmax36451 fma  1    10   -77e-15      ->   9.999999999999923\r
-fmax36452 fma  1    10   -77e-16      ->   9.999999999999992 Inexact Rounded\r
-fmax36453 fma  1    10   -77e-17      ->   9.999999999999999 Inexact Rounded\r
-fmax36454 fma  1    10   -77e-18      ->  10.00000000000000 Inexact Rounded\r
-fmax36455 fma  1    10   -77e-19      ->  10.00000000000000 Inexact Rounded\r
-fmax36456 fma  1    10   -77e-99      ->  10.00000000000000 Inexact Rounded\r
-\r
-fmax36460 fma  1    -77e-14       1   ->  0.99999999999923\r
-fmax36461 fma  1    -77e-15       1   ->  0.999999999999923\r
-fmax36462 fma  1    -77e-16       1   ->  0.9999999999999923\r
-fmax36463 fma  1    -77e-17       1   ->  0.9999999999999992 Inexact Rounded\r
-fmax36464 fma  1    -77e-18       1   ->  0.9999999999999999 Inexact Rounded\r
-fmax36465 fma  1    -77e-19       1   ->  1.000000000000000 Inexact Rounded\r
-fmax36466 fma  1    -77e-99       1   ->  1.000000000000000 Inexact Rounded\r
-\r
-fmax36470 fma  1    -77e-14      10   ->   9.99999999999923\r
-fmax36471 fma  1    -77e-15      10   ->   9.999999999999923\r
-fmax36472 fma  1    -77e-16      10   ->   9.999999999999992 Inexact Rounded\r
-fmax36473 fma  1    -77e-17      10   ->   9.999999999999999 Inexact Rounded\r
-fmax36474 fma  1    -77e-18      10   ->  10.00000000000000 Inexact Rounded\r
-fmax36475 fma  1    -77e-19      10   ->  10.00000000000000 Inexact Rounded\r
-fmax36476 fma  1    -77e-99      10   ->  10.00000000000000 Inexact Rounded\r
-\r
--- negative ulps\r
-fmax36480 fma  1    -1    77e-14      ->  -0.99999999999923\r
-fmax36481 fma  1    -1    77e-15      ->  -0.999999999999923\r
-fmax36482 fma  1    -1    77e-16      ->  -0.9999999999999923\r
-fmax36483 fma  1    -1    77e-17      ->  -0.9999999999999992 Inexact Rounded\r
-fmax36484 fma  1    -1    77e-18      ->  -0.9999999999999999 Inexact Rounded\r
-fmax36485 fma  1    -1    77e-19      ->  -1.000000000000000 Inexact Rounded\r
-fmax36486 fma  1    -1    77e-99      ->  -1.000000000000000 Inexact Rounded\r
-\r
-fmax36490 fma  1   -10    77e-14      ->   -9.99999999999923\r
-fmax36491 fma  1   -10    77e-15      ->   -9.999999999999923\r
-fmax36492 fma  1   -10    77e-16      ->   -9.999999999999992 Inexact Rounded\r
-fmax36493 fma  1   -10    77e-17      ->   -9.999999999999999 Inexact Rounded\r
-fmax36494 fma  1   -10    77e-18      ->  -10.00000000000000 Inexact Rounded\r
-fmax36495 fma  1   -10    77e-19      ->  -10.00000000000000 Inexact Rounded\r
-fmax36496 fma  1   -10    77e-99      ->  -10.00000000000000 Inexact Rounded\r
-\r
-fmax36500 fma  1     77e-14      -1   ->  -0.99999999999923\r
-fmax36501 fma  1     77e-15      -1   ->  -0.999999999999923\r
-fmax36502 fma  1     77e-16      -1   ->  -0.9999999999999923\r
-fmax36503 fma  1     77e-17      -1   ->  -0.9999999999999992 Inexact Rounded\r
-fmax36504 fma  1     77e-18      -1   ->  -0.9999999999999999 Inexact Rounded\r
-fmax36505 fma  1     77e-19      -1   ->  -1.000000000000000 Inexact Rounded\r
-fmax36506 fma  1     77e-99      -1   ->  -1.000000000000000 Inexact Rounded\r
-\r
-fmax36510 fma  1     77e-14      -10  ->   -9.99999999999923\r
-fmax36511 fma  1     77e-15      -10  ->   -9.999999999999923\r
-fmax36512 fma  1     77e-16      -10  ->   -9.999999999999992 Inexact Rounded\r
-fmax36513 fma  1     77e-17      -10  ->   -9.999999999999999 Inexact Rounded\r
-fmax36514 fma  1     77e-18      -10  ->  -10.00000000000000 Inexact Rounded\r
-fmax36515 fma  1     77e-19      -10  ->  -10.00000000000000 Inexact Rounded\r
-fmax36516 fma  1     77e-99      -10  ->  -10.00000000000000 Inexact Rounded\r
-\r
-\r
--- long operands\r
-fmax36521 fma  1   101234562345678000 0 -> 1.012345623456780E+17 Rounded\r
-fmax36522 fma  1   0 101234562345678000 -> 1.012345623456780E+17 Rounded\r
-fmax36523 fma  1   10123456234567800  0 -> 1.012345623456780E+16 Rounded\r
-fmax36524 fma  1   0 10123456234567800  -> 1.012345623456780E+16 Rounded\r
-fmax36525 fma  1   10123456234567890  0 -> 1.012345623456789E+16 Rounded\r
-fmax36526 fma  1   0 10123456234567890  -> 1.012345623456789E+16 Rounded\r
-fmax36527 fma  1   10123456234567891  0 -> 1.012345623456789E+16 Inexact Rounded\r
-fmax36528 fma  1   0 10123456234567891  -> 1.012345623456789E+16 Inexact Rounded\r
-fmax36529 fma  1   101234562345678901 0 -> 1.012345623456789E+17 Inexact Rounded\r
-fmax36530 fma  1   0 101234562345678901 -> 1.012345623456789E+17 Inexact Rounded\r
-fmax36531 fma  1   10123456234567896  0 -> 1.012345623456790E+16 Inexact Rounded\r
-fmax36532 fma  1   0 10123456234567896  -> 1.012345623456790E+16 Inexact Rounded\r
-\r
--- verify a query\r
-rounding:     down\r
-fmax36561 fma  1   1e-398 9.000000000000000E+384 -> 9.000000000000000E+384 Inexact Rounded\r
-fmax36562 fma  1        0 9.000000000000000E+384 -> 9.000000000000000E+384 Rounded\r
--- and using decimal64 bounds...\r
-rounding:     down\r
-fmax36563 fma  1   1e-388 9.000000000000000E+374 -> 9.000000000000000E+374 Inexact Rounded\r
-fmax36564 fma  1        0 9.000000000000000E+374 -> 9.000000000000000E+374 Rounded\r
-\r
--- more zeros, etc.\r
-rounding: half_even\r
-\r
-fmax36701 fma  1   5.00 1.00E-3 -> 5.00100\r
-fmax36702 fma  1   00.00 0.000  -> 0.000\r
-fmax36703 fma  1   00.00 0E-3   -> 0.000\r
-fmax36704 fma  1   0E-3  00.00  -> 0.000\r
-\r
-fmax36710 fma  1   0E+3  00.00  -> 0.00\r
-fmax36711 fma  1   0E+3  00.0   -> 0.0\r
-fmax36712 fma  1   0E+3  00.    -> 0\r
-fmax36713 fma  1   0E+3  00.E+1 -> 0E+1\r
-fmax36714 fma  1   0E+3  00.E+2 -> 0E+2\r
-fmax36715 fma  1   0E+3  00.E+3 -> 0E+3\r
-fmax36716 fma  1   0E+3  00.E+4 -> 0E+3\r
-fmax36717 fma  1   0E+3  00.E+5 -> 0E+3\r
-fmax36718 fma  1   0E+3  -00.0   -> 0.0\r
-fmax36719 fma  1   0E+3  -00.    -> 0\r
-fmax36731 fma  1   0E+3  -00.E+1 -> 0E+1\r
-\r
-fmax36720 fma  1   00.00  0E+3  -> 0.00\r
-fmax36721 fma  1   00.0   0E+3  -> 0.0\r
-fmax36722 fma  1   00.    0E+3  -> 0\r
-fmax36723 fma  1   00.E+1 0E+3  -> 0E+1\r
-fmax36724 fma  1   00.E+2 0E+3  -> 0E+2\r
-fmax36725 fma  1   00.E+3 0E+3  -> 0E+3\r
-fmax36726 fma  1   00.E+4 0E+3  -> 0E+3\r
-fmax36727 fma  1   00.E+5 0E+3  -> 0E+3\r
-fmax36728 fma  1   -00.00 0E+3  -> 0.00\r
-fmax36729 fma  1   -00.0  0E+3  -> 0.0\r
-fmax36730 fma  1   -00.   0E+3  -> 0\r
-\r
-fmax36732 fma  1    0     0     ->  0\r
-fmax36733 fma  1    0    -0     ->  0\r
-fmax36734 fma  1   -0     0     ->  0\r
-fmax36735 fma  1   -0    -0     -> -0     -- IEEE 854 special case\r
-\r
-fmax36736 fma  1    1    -1     ->  0\r
-fmax36737 fma  1   -1    -1     -> -2\r
-fmax36738 fma  1    1     1     ->  2\r
-fmax36739 fma  1   -1     1     ->  0\r
-\r
-fmax36741 fma  1    0    -1     -> -1\r
-fmax36742 fma  1   -0    -1     -> -1\r
-fmax36743 fma  1    0     1     ->  1\r
-fmax36744 fma  1   -0     1     ->  1\r
-fmax36745 fma  1   -1     0     -> -1\r
-fmax36746 fma  1   -1    -0     -> -1\r
-fmax36747 fma  1    1     0     ->  1\r
-fmax36748 fma  1    1    -0     ->  1\r
-\r
-fmax36751 fma  1    0.0  -1     -> -1.0\r
-fmax36752 fma  1   -0.0  -1     -> -1.0\r
-fmax36753 fma  1    0.0   1     ->  1.0\r
-fmax36754 fma  1   -0.0   1     ->  1.0\r
-fmax36755 fma  1   -1.0   0     -> -1.0\r
-fmax36756 fma  1   -1.0  -0     -> -1.0\r
-fmax36757 fma  1    1.0   0     ->  1.0\r
-fmax36758 fma  1    1.0  -0     ->  1.0\r
-\r
-fmax36761 fma  1    0    -1.0   -> -1.0\r
-fmax36762 fma  1   -0    -1.0   -> -1.0\r
-fmax36763 fma  1    0     1.0   ->  1.0\r
-fmax36764 fma  1   -0     1.0   ->  1.0\r
-fmax36765 fma  1   -1     0.0   -> -1.0\r
-fmax36766 fma  1   -1    -0.0   -> -1.0\r
-fmax36767 fma  1    1     0.0   ->  1.0\r
-fmax36768 fma  1    1    -0.0   ->  1.0\r
-\r
-fmax36771 fma  1    0.0  -1.0   -> -1.0\r
-fmax36772 fma  1   -0.0  -1.0   -> -1.0\r
-fmax36773 fma  1    0.0   1.0   ->  1.0\r
-fmax36774 fma  1   -0.0   1.0   ->  1.0\r
-fmax36775 fma  1   -1.0   0.0   -> -1.0\r
-fmax36776 fma  1   -1.0  -0.0   -> -1.0\r
-fmax36777 fma  1    1.0   0.0   ->  1.0\r
-fmax36778 fma  1    1.0  -0.0   ->  1.0\r
-\r
--- Specials\r
-fmax36780 fma  1   -Inf  -Inf   -> -Infinity\r
-fmax36781 fma  1   -Inf  -1000  -> -Infinity\r
-fmax36782 fma  1   -Inf  -1     -> -Infinity\r
-fmax36783 fma  1   -Inf  -0     -> -Infinity\r
-fmax36784 fma  1   -Inf   0     -> -Infinity\r
-fmax36785 fma  1   -Inf   1     -> -Infinity\r
-fmax36786 fma  1   -Inf   1000  -> -Infinity\r
-fmax36787 fma  1   -1000 -Inf   -> -Infinity\r
-fmax36788 fma  1   -Inf  -Inf   -> -Infinity\r
-fmax36789 fma  1   -1    -Inf   -> -Infinity\r
-fmax36790 fma  1   -0    -Inf   -> -Infinity\r
-fmax36791 fma  1    0    -Inf   -> -Infinity\r
-fmax36792 fma  1    1    -Inf   -> -Infinity\r
-fmax36793 fma  1    1000 -Inf   -> -Infinity\r
-fmax36794 fma  1    Inf  -Inf   ->  NaN  Invalid_operation\r
-\r
-fmax36800 fma  1    Inf  -Inf   ->  NaN  Invalid_operation\r
-fmax36801 fma  1    Inf  -1000  ->  Infinity\r
-fmax36802 fma  1    Inf  -1     ->  Infinity\r
-fmax36803 fma  1    Inf  -0     ->  Infinity\r
-fmax36804 fma  1    Inf   0     ->  Infinity\r
-fmax36805 fma  1    Inf   1     ->  Infinity\r
-fmax36806 fma  1    Inf   1000  ->  Infinity\r
-fmax36807 fma  1    Inf   Inf   ->  Infinity\r
-fmax36808 fma  1   -1000  Inf   ->  Infinity\r
-fmax36809 fma  1   -Inf   Inf   ->  NaN  Invalid_operation\r
-fmax36810 fma  1   -1     Inf   ->  Infinity\r
-fmax36811 fma  1   -0     Inf   ->  Infinity\r
-fmax36812 fma  1    0     Inf   ->  Infinity\r
-fmax36813 fma  1    1     Inf   ->  Infinity\r
-fmax36814 fma  1    1000  Inf   ->  Infinity\r
-fmax36815 fma  1    Inf   Inf   ->  Infinity\r
-\r
-fmax36821 fma  1    NaN -Inf    ->  NaN\r
-fmax36822 fma  1    NaN -1000   ->  NaN\r
-fmax36823 fma  1    NaN -1      ->  NaN\r
-fmax36824 fma  1    NaN -0      ->  NaN\r
-fmax36825 fma  1    NaN  0      ->  NaN\r
-fmax36826 fma  1    NaN  1      ->  NaN\r
-fmax36827 fma  1    NaN  1000   ->  NaN\r
-fmax36828 fma  1    NaN  Inf    ->  NaN\r
-fmax36829 fma  1    NaN  NaN    ->  NaN\r
-fmax36830 fma  1   -Inf  NaN    ->  NaN\r
-fmax36831 fma  1   -1000 NaN    ->  NaN\r
-fmax36832 fma  1   -1    NaN    ->  NaN\r
-fmax36833 fma  1   -0    NaN    ->  NaN\r
-fmax36834 fma  1    0    NaN    ->  NaN\r
-fmax36835 fma  1    1    NaN    ->  NaN\r
-fmax36836 fma  1    1000 NaN    ->  NaN\r
-fmax36837 fma  1    Inf  NaN    ->  NaN\r
-\r
-fmax36841 fma  1    sNaN -Inf   ->  NaN  Invalid_operation\r
-fmax36842 fma  1    sNaN -1000  ->  NaN  Invalid_operation\r
-fmax36843 fma  1    sNaN -1     ->  NaN  Invalid_operation\r
-fmax36844 fma  1    sNaN -0     ->  NaN  Invalid_operation\r
-fmax36845 fma  1    sNaN  0     ->  NaN  Invalid_operation\r
-fmax36846 fma  1    sNaN  1     ->  NaN  Invalid_operation\r
-fmax36847 fma  1    sNaN  1000  ->  NaN  Invalid_operation\r
-fmax36848 fma  1    sNaN  NaN   ->  NaN  Invalid_operation\r
-fmax36849 fma  1    sNaN sNaN   ->  NaN  Invalid_operation\r
-fmax36850 fma  1    NaN  sNaN   ->  NaN  Invalid_operation\r
-fmax36851 fma  1   -Inf  sNaN   ->  NaN  Invalid_operation\r
-fmax36852 fma  1   -1000 sNaN   ->  NaN  Invalid_operation\r
-fmax36853 fma  1   -1    sNaN   ->  NaN  Invalid_operation\r
-fmax36854 fma  1   -0    sNaN   ->  NaN  Invalid_operation\r
-fmax36855 fma  1    0    sNaN   ->  NaN  Invalid_operation\r
-fmax36856 fma  1    1    sNaN   ->  NaN  Invalid_operation\r
-fmax36857 fma  1    1000 sNaN   ->  NaN  Invalid_operation\r
-fmax36858 fma  1    Inf  sNaN   ->  NaN  Invalid_operation\r
-fmax36859 fma  1    NaN  sNaN   ->  NaN  Invalid_operation\r
-\r
--- propagating NaNs\r
-fmax36861 fma  1    NaN1   -Inf    ->  NaN1\r
-fmax36862 fma  1   +NaN2   -1000   ->  NaN2\r
-fmax36863 fma  1    NaN3    1000   ->  NaN3\r
-fmax36864 fma  1    NaN4    Inf    ->  NaN4\r
-fmax36865 fma  1    NaN5   +NaN6   ->  NaN5\r
-fmax36866 fma  1   -Inf     NaN7   ->  NaN7\r
-fmax36867 fma  1   -1000    NaN8   ->  NaN8\r
-fmax36868 fma  1    1000    NaN9   ->  NaN9\r
-fmax36869 fma  1    Inf    +NaN10  ->  NaN10\r
-fmax36871 fma  1    sNaN11  -Inf   ->  NaN11  Invalid_operation\r
-fmax36872 fma  1    sNaN12  -1000  ->  NaN12  Invalid_operation\r
-fmax36873 fma  1    sNaN13   1000  ->  NaN13  Invalid_operation\r
-fmax36874 fma  1    sNaN14   NaN17 ->  NaN14  Invalid_operation\r
-fmax36875 fma  1    sNaN15  sNaN18 ->  NaN15  Invalid_operation\r
-fmax36876 fma  1    NaN16   sNaN19 ->  NaN19  Invalid_operation\r
-fmax36877 fma  1   -Inf    +sNaN20 ->  NaN20  Invalid_operation\r
-fmax36878 fma  1   -1000    sNaN21 ->  NaN21  Invalid_operation\r
-fmax36879 fma  1    1000    sNaN22 ->  NaN22  Invalid_operation\r
-fmax36880 fma  1    Inf     sNaN23 ->  NaN23  Invalid_operation\r
-fmax36881 fma  1   +NaN25  +sNaN24 ->  NaN24  Invalid_operation\r
-fmax36882 fma  1   -NaN26    NaN28 -> -NaN26\r
-fmax36883 fma  1   -sNaN27  sNaN29 -> -NaN27  Invalid_operation\r
-fmax36884 fma  1    1000    -NaN30 -> -NaN30\r
-fmax36885 fma  1    1000   -sNaN31 -> -NaN31  Invalid_operation\r
-\r
--- now the case where we can get underflow but the result is normal\r
--- [note this can't happen if the operands are also bounded, as we\r
--- cannot represent 1E-399, for example]\r
-\r
-fmax36571 fma  1         1E-383       0  -> 1E-383\r
-fmax36572 fma  1         1E-384       0  -> 1E-384   Subnormal\r
-fmax36573 fma  1         1E-383  1E-384  -> 1.1E-383\r
-fmax36574 subtract  1E-383  1E-384  ->   9E-384 Subnormal\r
-\r
--- Here we explore the boundary of rounding a subnormal to Nmin\r
-fmax36575 subtract  1E-383  1E-398  ->   9.99999999999999E-384  Subnormal\r
-fmax36576 subtract  1E-383  1E-398  ->   9.99999999999999E-384  Subnormal\r
-fmax36577 subtract  1E-383  1E-399  ->   1.000000000000000E-383 Underflow Inexact Subnormal Rounded\r
-fmax36578 subtract  1E-383  1E-400  ->   1.000000000000000E-383 Underflow Inexact Subnormal Rounded\r
-fmax36579 subtract  1E-383  1E-401  ->   1.000000000000000E-383 Underflow Inexact Subnormal Rounded\r
-fmax36580 subtract  1E-383  1E-402  ->   1.000000000000000E-383 Underflow Inexact Subnormal Rounded\r
-\r
--- check overflow edge case\r
---               1234567890123456\r
-fmax36972 apply        9.999999999999999E+384         -> 9.999999999999999E+384\r
-fmax36973 fma  1       9.999999999999999E+384  1      -> 9.999999999999999E+384 Inexact Rounded\r
-fmax36974 fma  1        9999999999999999E+369  1      -> 9.999999999999999E+384 Inexact Rounded\r
-fmax36975 fma  1        9999999999999999E+369  1E+369  -> Infinity Overflow Inexact Rounded\r
-fmax36976 fma  1        9999999999999999E+369  9E+368  -> Infinity Overflow Inexact Rounded\r
-fmax36977 fma  1        9999999999999999E+369  8E+368  -> Infinity Overflow Inexact Rounded\r
-fmax36978 fma  1        9999999999999999E+369  7E+368  -> Infinity Overflow Inexact Rounded\r
-fmax36979 fma  1        9999999999999999E+369  6E+368  -> Infinity Overflow Inexact Rounded\r
-fmax36980 fma  1        9999999999999999E+369  5E+368  -> Infinity Overflow Inexact Rounded\r
-fmax36981 fma  1        9999999999999999E+369  4E+368  -> 9.999999999999999E+384 Inexact Rounded\r
-fmax36982 fma  1        9999999999999999E+369  3E+368  -> 9.999999999999999E+384 Inexact Rounded\r
-fmax36983 fma  1        9999999999999999E+369  2E+368  -> 9.999999999999999E+384 Inexact Rounded\r
-fmax36984 fma  1        9999999999999999E+369  1E+368  -> 9.999999999999999E+384 Inexact Rounded\r
-\r
-fmax36985 apply       -9.999999999999999E+384         -> -9.999999999999999E+384\r
-fmax36986 fma  1      -9.999999999999999E+384 -1      -> -9.999999999999999E+384 Inexact Rounded\r
-fmax36987 fma  1       -9999999999999999E+369 -1      -> -9.999999999999999E+384 Inexact Rounded\r
-fmax36988 fma  1       -9999999999999999E+369 -1E+369  -> -Infinity Overflow Inexact Rounded\r
-fmax36989 fma  1       -9999999999999999E+369 -9E+368  -> -Infinity Overflow Inexact Rounded\r
-fmax36990 fma  1       -9999999999999999E+369 -8E+368  -> -Infinity Overflow Inexact Rounded\r
-fmax36991 fma  1       -9999999999999999E+369 -7E+368  -> -Infinity Overflow Inexact Rounded\r
-fmax36992 fma  1       -9999999999999999E+369 -6E+368  -> -Infinity Overflow Inexact Rounded\r
-fmax36993 fma  1       -9999999999999999E+369 -5E+368  -> -Infinity Overflow Inexact Rounded\r
-fmax36994 fma  1       -9999999999999999E+369 -4E+368  -> -9.999999999999999E+384 Inexact Rounded\r
-fmax36995 fma  1       -9999999999999999E+369 -3E+368  -> -9.999999999999999E+384 Inexact Rounded\r
-fmax36996 fma  1       -9999999999999999E+369 -2E+368  -> -9.999999999999999E+384 Inexact Rounded\r
-fmax36997 fma  1       -9999999999999999E+369 -1E+368  -> -9.999999999999999E+384 Inexact Rounded\r
-\r
--- And for round down full and subnormal results\r
-rounding:     down\r
-fmax361100 fma  1   1e+2 -1e-383    -> 99.99999999999999 Rounded Inexact\r
-fmax361101 fma  1   1e+1 -1e-383    -> 9.999999999999999  Rounded Inexact\r
-fmax361103 fma  1     +1 -1e-383    -> 0.9999999999999999  Rounded Inexact\r
-fmax361104 fma  1   1e-1 -1e-383    -> 0.09999999999999999  Rounded Inexact\r
-fmax361105 fma  1   1e-2 -1e-383    -> 0.009999999999999999  Rounded Inexact\r
-fmax361106 fma  1   1e-3 -1e-383    -> 0.0009999999999999999  Rounded Inexact\r
-fmax361107 fma  1   1e-4 -1e-383    -> 0.00009999999999999999  Rounded Inexact\r
-fmax361108 fma  1   1e-5 -1e-383    -> 0.000009999999999999999  Rounded Inexact\r
-fmax361109 fma  1   1e-6 -1e-383    -> 9.999999999999999E-7  Rounded Inexact\r
-\r
-rounding:     ceiling\r
-fmax361110 fma  1   -1e+2 +1e-383   -> -99.99999999999999 Rounded Inexact\r
-fmax361111 fma  1   -1e+1 +1e-383   -> -9.999999999999999  Rounded Inexact\r
-fmax361113 fma  1      -1 +1e-383   -> -0.9999999999999999  Rounded Inexact\r
-fmax361114 fma  1   -1e-1 +1e-383   -> -0.09999999999999999  Rounded Inexact\r
-fmax361115 fma  1   -1e-2 +1e-383   -> -0.009999999999999999  Rounded Inexact\r
-fmax361116 fma  1   -1e-3 +1e-383   -> -0.0009999999999999999  Rounded Inexact\r
-fmax361117 fma  1   -1e-4 +1e-383   -> -0.00009999999999999999  Rounded Inexact\r
-fmax361118 fma  1   -1e-5 +1e-383   -> -0.000009999999999999999  Rounded Inexact\r
-fmax361119 fma  1   -1e-6 +1e-383   -> -9.999999999999999E-7  Rounded Inexact\r
-\r
--- tests based on Gunnar Degnbol's edge case\r
-rounding:     half_even\r
-\r
-fmax361300 fma  1   1E16  -0.5                 ->  1.000000000000000E+16 Inexact Rounded\r
-fmax361310 fma  1   1E16  -0.51                ->  9999999999999999      Inexact Rounded\r
-fmax361311 fma  1   1E16  -0.501               ->  9999999999999999      Inexact Rounded\r
-fmax361312 fma  1   1E16  -0.5001              ->  9999999999999999      Inexact Rounded\r
-fmax361313 fma  1   1E16  -0.50001             ->  9999999999999999      Inexact Rounded\r
-fmax361314 fma  1   1E16  -0.500001            ->  9999999999999999      Inexact Rounded\r
-fmax361315 fma  1   1E16  -0.5000001           ->  9999999999999999      Inexact Rounded\r
-fmax361316 fma  1   1E16  -0.50000001          ->  9999999999999999      Inexact Rounded\r
-fmax361317 fma  1   1E16  -0.500000001         ->  9999999999999999      Inexact Rounded\r
-fmax361318 fma  1   1E16  -0.5000000001        ->  9999999999999999      Inexact Rounded\r
-fmax361319 fma  1   1E16  -0.50000000001       ->  9999999999999999      Inexact Rounded\r
-fmax361320 fma  1   1E16  -0.500000000001      ->  9999999999999999      Inexact Rounded\r
-fmax361321 fma  1   1E16  -0.5000000000001     ->  9999999999999999      Inexact Rounded\r
-fmax361322 fma  1   1E16  -0.50000000000001    ->  9999999999999999      Inexact Rounded\r
-fmax361323 fma  1   1E16  -0.500000000000001   ->  9999999999999999      Inexact Rounded\r
-fmax361324 fma  1   1E16  -0.5000000000000001  ->  9999999999999999      Inexact Rounded\r
-fmax361325 fma  1   1E16  -0.5000000000000000  ->  1.000000000000000E+16 Inexact Rounded\r
-fmax361326 fma  1   1E16  -0.500000000000000   ->  1.000000000000000E+16 Inexact Rounded\r
-fmax361327 fma  1   1E16  -0.50000000000000    ->  1.000000000000000E+16 Inexact Rounded\r
-fmax361328 fma  1   1E16  -0.5000000000000     ->  1.000000000000000E+16 Inexact Rounded\r
-fmax361329 fma  1   1E16  -0.500000000000      ->  1.000000000000000E+16 Inexact Rounded\r
-fmax361330 fma  1   1E16  -0.50000000000       ->  1.000000000000000E+16 Inexact Rounded\r
-fmax361331 fma  1   1E16  -0.5000000000        ->  1.000000000000000E+16 Inexact Rounded\r
-fmax361332 fma  1   1E16  -0.500000000         ->  1.000000000000000E+16 Inexact Rounded\r
-fmax361333 fma  1   1E16  -0.50000000          ->  1.000000000000000E+16 Inexact Rounded\r
-fmax361334 fma  1   1E16  -0.5000000           ->  1.000000000000000E+16 Inexact Rounded\r
-fmax361335 fma  1   1E16  -0.500000            ->  1.000000000000000E+16 Inexact Rounded\r
-fmax361336 fma  1   1E16  -0.50000             ->  1.000000000000000E+16 Inexact Rounded\r
-fmax361337 fma  1   1E16  -0.5000              ->  1.000000000000000E+16 Inexact Rounded\r
-fmax361338 fma  1   1E16  -0.500               ->  1.000000000000000E+16 Inexact Rounded\r
-fmax361339 fma  1   1E16  -0.50                ->  1.000000000000000E+16 Inexact Rounded\r
-\r
-fmax361340 fma  1   1E16  -5000000.000010001   ->  9999999995000000      Inexact Rounded\r
-fmax361341 fma  1   1E16  -5000000.000000001   ->  9999999995000000      Inexact Rounded\r
-\r
-fmax361349 fma  1   9999999999999999 0.4                 ->  9999999999999999      Inexact Rounded\r
-fmax361350 fma  1   9999999999999999 0.49                ->  9999999999999999      Inexact Rounded\r
-fmax361351 fma  1   9999999999999999 0.499               ->  9999999999999999      Inexact Rounded\r
-fmax361352 fma  1   9999999999999999 0.4999              ->  9999999999999999      Inexact Rounded\r
-fmax361353 fma  1   9999999999999999 0.49999             ->  9999999999999999      Inexact Rounded\r
-fmax361354 fma  1   9999999999999999 0.499999            ->  9999999999999999      Inexact Rounded\r
-fmax361355 fma  1   9999999999999999 0.4999999           ->  9999999999999999      Inexact Rounded\r
-fmax361356 fma  1   9999999999999999 0.49999999          ->  9999999999999999      Inexact Rounded\r
-fmax361357 fma  1   9999999999999999 0.499999999         ->  9999999999999999      Inexact Rounded\r
-fmax361358 fma  1   9999999999999999 0.4999999999        ->  9999999999999999      Inexact Rounded\r
-fmax361359 fma  1   9999999999999999 0.49999999999       ->  9999999999999999      Inexact Rounded\r
-fmax361360 fma  1   9999999999999999 0.499999999999      ->  9999999999999999      Inexact Rounded\r
-fmax361361 fma  1   9999999999999999 0.4999999999999     ->  9999999999999999      Inexact Rounded\r
-fmax361362 fma  1   9999999999999999 0.49999999999999    ->  9999999999999999      Inexact Rounded\r
-fmax361363 fma  1   9999999999999999 0.499999999999999   ->  9999999999999999      Inexact Rounded\r
-fmax361364 fma  1   9999999999999999 0.4999999999999999  ->  9999999999999999      Inexact Rounded\r
-fmax361365 fma  1   9999999999999999 0.5000000000000000  ->  1.000000000000000E+16 Inexact Rounded\r
-fmax361367 fma  1   9999999999999999 0.500000000000000   ->  1.000000000000000E+16 Inexact Rounded\r
-fmax361368 fma  1   9999999999999999 0.50000000000000    ->  1.000000000000000E+16 Inexact Rounded\r
-fmax361369 fma  1   9999999999999999 0.5000000000000     ->  1.000000000000000E+16 Inexact Rounded\r
-fmax361370 fma  1   9999999999999999 0.500000000000      ->  1.000000000000000E+16 Inexact Rounded\r
-fmax361371 fma  1   9999999999999999 0.50000000000       ->  1.000000000000000E+16 Inexact Rounded\r
-fmax361372 fma  1   9999999999999999 0.5000000000        ->  1.000000000000000E+16 Inexact Rounded\r
-fmax361373 fma  1   9999999999999999 0.500000000         ->  1.000000000000000E+16 Inexact Rounded\r
-fmax361374 fma  1   9999999999999999 0.50000000          ->  1.000000000000000E+16 Inexact Rounded\r
-fmax361375 fma  1   9999999999999999 0.5000000           ->  1.000000000000000E+16 Inexact Rounded\r
-fmax361376 fma  1   9999999999999999 0.500000            ->  1.000000000000000E+16 Inexact Rounded\r
-fmax361377 fma  1   9999999999999999 0.50000             ->  1.000000000000000E+16 Inexact Rounded\r
-fmax361378 fma  1   9999999999999999 0.5000              ->  1.000000000000000E+16 Inexact Rounded\r
-fmax361379 fma  1   9999999999999999 0.500               ->  1.000000000000000E+16 Inexact Rounded\r
-fmax361380 fma  1   9999999999999999 0.50                ->  1.000000000000000E+16 Inexact Rounded\r
-fmax361381 fma  1   9999999999999999 0.5                 ->  1.000000000000000E+16 Inexact Rounded\r
-fmax361382 fma  1   9999999999999999 0.5000000000000001  ->  1.000000000000000E+16 Inexact Rounded\r
-fmax361383 fma  1   9999999999999999 0.500000000000001   ->  1.000000000000000E+16 Inexact Rounded\r
-fmax361384 fma  1   9999999999999999 0.50000000000001    ->  1.000000000000000E+16 Inexact Rounded\r
-fmax361385 fma  1   9999999999999999 0.5000000000001     ->  1.000000000000000E+16 Inexact Rounded\r
-fmax361386 fma  1   9999999999999999 0.500000000001      ->  1.000000000000000E+16 Inexact Rounded\r
-fmax361387 fma  1   9999999999999999 0.50000000001       ->  1.000000000000000E+16 Inexact Rounded\r
-fmax361388 fma  1   9999999999999999 0.5000000001        ->  1.000000000000000E+16 Inexact Rounded\r
-fmax361389 fma  1   9999999999999999 0.500000001         ->  1.000000000000000E+16 Inexact Rounded\r
-fmax361390 fma  1   9999999999999999 0.50000001          ->  1.000000000000000E+16 Inexact Rounded\r
-fmax361391 fma  1   9999999999999999 0.5000001           ->  1.000000000000000E+16 Inexact Rounded\r
-fmax361392 fma  1   9999999999999999 0.500001            ->  1.000000000000000E+16 Inexact Rounded\r
-fmax361393 fma  1   9999999999999999 0.50001             ->  1.000000000000000E+16 Inexact Rounded\r
-fmax361394 fma  1   9999999999999999 0.5001              ->  1.000000000000000E+16 Inexact Rounded\r
-fmax361395 fma  1   9999999999999999 0.501               ->  1.000000000000000E+16 Inexact Rounded\r
-fmax361396 fma  1   9999999999999999 0.51                ->  1.000000000000000E+16 Inexact Rounded\r
-\r
--- More GD edge cases, where difference between the unadjusted\r
--- exponents is larger than the maximum precision and one side is 0\r
-fmax361420 fma  1    0 1.123456789012345     -> 1.123456789012345\r
-fmax361421 fma  1    0 1.123456789012345E-1  -> 0.1123456789012345\r
-fmax361422 fma  1    0 1.123456789012345E-2  -> 0.01123456789012345\r
-fmax361423 fma  1    0 1.123456789012345E-3  -> 0.001123456789012345\r
-fmax361424 fma  1    0 1.123456789012345E-4  -> 0.0001123456789012345\r
-fmax361425 fma  1    0 1.123456789012345E-5  -> 0.00001123456789012345\r
-fmax361426 fma  1    0 1.123456789012345E-6  -> 0.000001123456789012345\r
-fmax361427 fma  1    0 1.123456789012345E-7  -> 1.123456789012345E-7\r
-fmax361428 fma  1    0 1.123456789012345E-8  -> 1.123456789012345E-8\r
-fmax361429 fma  1    0 1.123456789012345E-9  -> 1.123456789012345E-9\r
-fmax361430 fma  1    0 1.123456789012345E-10 -> 1.123456789012345E-10\r
-fmax361431 fma  1    0 1.123456789012345E-11 -> 1.123456789012345E-11\r
-fmax361432 fma  1    0 1.123456789012345E-12 -> 1.123456789012345E-12\r
-fmax361433 fma  1    0 1.123456789012345E-13 -> 1.123456789012345E-13\r
-fmax361434 fma  1    0 1.123456789012345E-14 -> 1.123456789012345E-14\r
-fmax361435 fma  1    0 1.123456789012345E-15 -> 1.123456789012345E-15\r
-fmax361436 fma  1    0 1.123456789012345E-16 -> 1.123456789012345E-16\r
-fmax361437 fma  1    0 1.123456789012345E-17 -> 1.123456789012345E-17\r
-fmax361438 fma  1    0 1.123456789012345E-18 -> 1.123456789012345E-18\r
-fmax361439 fma  1    0 1.123456789012345E-19 -> 1.123456789012345E-19\r
-\r
--- same, reversed 0\r
-fmax361440 fma  1   1.123456789012345     0 -> 1.123456789012345\r
-fmax361441 fma  1   1.123456789012345E-1  0 -> 0.1123456789012345\r
-fmax361442 fma  1   1.123456789012345E-2  0 -> 0.01123456789012345\r
-fmax361443 fma  1   1.123456789012345E-3  0 -> 0.001123456789012345\r
-fmax361444 fma  1   1.123456789012345E-4  0 -> 0.0001123456789012345\r
-fmax361445 fma  1   1.123456789012345E-5  0 -> 0.00001123456789012345\r
-fmax361446 fma  1   1.123456789012345E-6  0 -> 0.000001123456789012345\r
-fmax361447 fma  1   1.123456789012345E-7  0 -> 1.123456789012345E-7\r
-fmax361448 fma  1   1.123456789012345E-8  0 -> 1.123456789012345E-8\r
-fmax361449 fma  1   1.123456789012345E-9  0 -> 1.123456789012345E-9\r
-fmax361450 fma  1   1.123456789012345E-10 0 -> 1.123456789012345E-10\r
-fmax361451 fma  1   1.123456789012345E-11 0 -> 1.123456789012345E-11\r
-fmax361452 fma  1   1.123456789012345E-12 0 -> 1.123456789012345E-12\r
-fmax361453 fma  1   1.123456789012345E-13 0 -> 1.123456789012345E-13\r
-fmax361454 fma  1   1.123456789012345E-14 0 -> 1.123456789012345E-14\r
-fmax361455 fma  1   1.123456789012345E-15 0 -> 1.123456789012345E-15\r
-fmax361456 fma  1   1.123456789012345E-16 0 -> 1.123456789012345E-16\r
-fmax361457 fma  1   1.123456789012345E-17 0 -> 1.123456789012345E-17\r
-fmax361458 fma  1   1.123456789012345E-18 0 -> 1.123456789012345E-18\r
-fmax361459 fma  1   1.123456789012345E-19 0 -> 1.123456789012345E-19\r
-\r
--- same, Es on the 0\r
-fmax361460 fma  1   1.123456789012345  0E-0   -> 1.123456789012345\r
-fmax361461 fma  1   1.123456789012345  0E-1   -> 1.123456789012345\r
-fmax361462 fma  1   1.123456789012345  0E-2   -> 1.123456789012345\r
-fmax361463 fma  1   1.123456789012345  0E-3   -> 1.123456789012345\r
-fmax361464 fma  1   1.123456789012345  0E-4   -> 1.123456789012345\r
-fmax361465 fma  1   1.123456789012345  0E-5   -> 1.123456789012345\r
-fmax361466 fma  1   1.123456789012345  0E-6   -> 1.123456789012345\r
-fmax361467 fma  1   1.123456789012345  0E-7   -> 1.123456789012345\r
-fmax361468 fma  1   1.123456789012345  0E-8   -> 1.123456789012345\r
-fmax361469 fma  1   1.123456789012345  0E-9   -> 1.123456789012345\r
-fmax361470 fma  1   1.123456789012345  0E-10  -> 1.123456789012345\r
-fmax361471 fma  1   1.123456789012345  0E-11  -> 1.123456789012345\r
-fmax361472 fma  1   1.123456789012345  0E-12  -> 1.123456789012345\r
-fmax361473 fma  1   1.123456789012345  0E-13  -> 1.123456789012345\r
-fmax361474 fma  1   1.123456789012345  0E-14  -> 1.123456789012345\r
-fmax361475 fma  1   1.123456789012345  0E-15  -> 1.123456789012345\r
--- next four flag Rounded because the 0 extends the result\r
-fmax361476 fma  1   1.123456789012345  0E-16  -> 1.123456789012345 Rounded\r
-fmax361477 fma  1   1.123456789012345  0E-17  -> 1.123456789012345 Rounded\r
-fmax361478 fma  1   1.123456789012345  0E-18  -> 1.123456789012345 Rounded\r
-fmax361479 fma  1   1.123456789012345  0E-19  -> 1.123456789012345 Rounded\r
-\r
--- sum of two opposite-sign operands is exactly 0 and floor => -0\r
-rounding:    half_up\r
--- exact zeros from zeros\r
-fmax361500 fma  1    0        0E-19  ->  0E-19\r
-fmax361501 fma  1   -0        0E-19  ->  0E-19\r
-fmax361502 fma  1    0       -0E-19  ->  0E-19\r
-fmax361503 fma  1   -0       -0E-19  -> -0E-19\r
-fmax361504 fma  1    0E-400   0E-19  ->  0E-398 Clamped\r
-fmax361505 fma  1   -0E-400   0E-19  ->  0E-398 Clamped\r
-fmax361506 fma  1    0E-400  -0E-19  ->  0E-398 Clamped\r
-fmax361507 fma  1   -0E-400  -0E-19  -> -0E-398 Clamped\r
--- inexact zeros\r
-fmax361511 fma  1    1E-401   1E-400 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped\r
-fmax361512 fma  1   -1E-401   1E-400 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped\r
-fmax361513 fma  1    1E-401  -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped\r
-fmax361514 fma  1   -1E-401  -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped\r
--- some exact zeros from non-zeros\r
-fmax361515 fma  1    1E-401   1E-401 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped\r
-fmax361516 fma  1   -1E-401   1E-401 ->  0E-398 Clamped\r
-fmax361517 fma  1    1E-401  -1E-401 ->  0E-398 Clamped\r
-fmax361518 fma  1   -1E-401  -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped\r
-\r
-rounding:    half_down\r
--- exact zeros from zeros\r
-fmax361520 fma  1    0        0E-19  ->  0E-19\r
-fmax361521 fma  1   -0        0E-19  ->  0E-19\r
-fmax361522 fma  1    0       -0E-19  ->  0E-19\r
-fmax361523 fma  1   -0       -0E-19  -> -0E-19\r
-fmax361524 fma  1    0E-400   0E-19  ->  0E-398 Clamped\r
-fmax361525 fma  1   -0E-400   0E-19  ->  0E-398 Clamped\r
-fmax361526 fma  1    0E-400  -0E-19  ->  0E-398 Clamped\r
-fmax361527 fma  1   -0E-400  -0E-19  -> -0E-398 Clamped\r
--- inexact zeros\r
-fmax361531 fma  1    1E-401   1E-400 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped\r
-fmax361532 fma  1   -1E-401   1E-400 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped\r
-fmax361533 fma  1    1E-401  -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped\r
-fmax361534 fma  1   -1E-401  -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped\r
--- some exact zeros from non-zeros\r
-fmax361535 fma  1    1E-401   1E-401 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped\r
-fmax361536 fma  1   -1E-401   1E-401 ->  0E-398 Clamped\r
-fmax361537 fma  1    1E-401  -1E-401 ->  0E-398 Clamped\r
-fmax361538 fma  1   -1E-401  -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped\r
-\r
-rounding:    half_even\r
--- exact zeros from zeros\r
-fmax361540 fma  1    0        0E-19  ->  0E-19\r
-fmax361541 fma  1   -0        0E-19  ->  0E-19\r
-fmax361542 fma  1    0       -0E-19  ->  0E-19\r
-fmax361543 fma  1   -0       -0E-19  -> -0E-19\r
-fmax361544 fma  1    0E-400   0E-19  ->  0E-398 Clamped\r
-fmax361545 fma  1   -0E-400   0E-19  ->  0E-398 Clamped\r
-fmax361546 fma  1    0E-400  -0E-19  ->  0E-398 Clamped\r
-fmax361547 fma  1   -0E-400  -0E-19  -> -0E-398 Clamped\r
--- inexact zeros\r
-fmax361551 fma  1    1E-401   1E-400 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped\r
-fmax361552 fma  1   -1E-401   1E-400 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped\r
-fmax361553 fma  1    1E-401  -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped\r
-fmax361554 fma  1   -1E-401  -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped\r
--- some exact zeros from non-zeros\r
-fmax361555 fma  1    1E-401   1E-401 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped\r
-fmax361556 fma  1   -1E-401   1E-401 ->  0E-398 Clamped\r
-fmax361557 fma  1    1E-401  -1E-401 ->  0E-398 Clamped\r
-fmax361558 fma  1   -1E-401  -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped\r
-\r
-rounding:    up\r
--- exact zeros from zeros\r
-fmax361560 fma  1    0        0E-19  ->  0E-19\r
-fmax361561 fma  1   -0        0E-19  ->  0E-19\r
-fmax361562 fma  1    0       -0E-19  ->  0E-19\r
-fmax361563 fma  1   -0       -0E-19  -> -0E-19\r
-fmax361564 fma  1    0E-400   0E-19  ->  0E-398 Clamped\r
-fmax361565 fma  1   -0E-400   0E-19  ->  0E-398 Clamped\r
-fmax361566 fma  1    0E-400  -0E-19  ->  0E-398 Clamped\r
-fmax361567 fma  1   -0E-400  -0E-19  -> -0E-398 Clamped\r
--- inexact zeros\r
-fmax361571 fma  1    1E-401   1E-400 ->  1E-398 Subnormal Inexact Rounded Underflow\r
-fmax361572 fma  1   -1E-401   1E-400 ->  1E-398 Subnormal Inexact Rounded Underflow\r
-fmax361573 fma  1    1E-401  -1E-400 -> -1E-398 Subnormal Inexact Rounded Underflow\r
-fmax361574 fma  1   -1E-401  -1E-400 -> -1E-398 Subnormal Inexact Rounded Underflow\r
--- some exact zeros from non-zeros\r
-fmax361575 fma  1    1E-401   1E-401 ->  1E-398 Subnormal Inexact Rounded Underflow\r
-fmax361576 fma  1   -1E-401   1E-401 ->  0E-398 Clamped\r
-fmax361577 fma  1    1E-401  -1E-401 ->  0E-398 Clamped\r
-fmax361578 fma  1   -1E-401  -1E-401 -> -1E-398 Subnormal Inexact Rounded Underflow\r
-\r
-rounding:    down\r
--- exact zeros from zeros\r
-fmax361580 fma  1    0        0E-19  ->  0E-19\r
-fmax361581 fma  1   -0        0E-19  ->  0E-19\r
-fmax361582 fma  1    0       -0E-19  ->  0E-19\r
-fmax361583 fma  1   -0       -0E-19  -> -0E-19\r
-fmax361584 fma  1    0E-400   0E-19  ->  0E-398 Clamped\r
-fmax361585 fma  1   -0E-400   0E-19  ->  0E-398 Clamped\r
-fmax361586 fma  1    0E-400  -0E-19  ->  0E-398 Clamped\r
-fmax361587 fma  1   -0E-400  -0E-19  -> -0E-398 Clamped\r
--- inexact zeros\r
-fmax361591 fma  1    1E-401   1E-400 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped\r
-fmax361592 fma  1   -1E-401   1E-400 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped\r
-fmax361593 fma  1    1E-401  -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped\r
-fmax361594 fma  1   -1E-401  -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped\r
--- some exact zeros from non-zeros\r
-fmax361595 fma  1    1E-401   1E-401 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped\r
-fmax361596 fma  1   -1E-401   1E-401 ->  0E-398 Clamped\r
-fmax361597 fma  1    1E-401  -1E-401 ->  0E-398 Clamped\r
-fmax361598 fma  1   -1E-401  -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped\r
-\r
-rounding:    ceiling\r
--- exact zeros from zeros\r
-fmax361600 fma  1    0        0E-19  ->  0E-19\r
-fmax361601 fma  1   -0        0E-19  ->  0E-19\r
-fmax361602 fma  1    0       -0E-19  ->  0E-19\r
-fmax361603 fma  1   -0       -0E-19  -> -0E-19\r
-fmax361604 fma  1    0E-400   0E-19  ->  0E-398 Clamped\r
-fmax361605 fma  1   -0E-400   0E-19  ->  0E-398 Clamped\r
-fmax361606 fma  1    0E-400  -0E-19  ->  0E-398 Clamped\r
-fmax361607 fma  1   -0E-400  -0E-19  -> -0E-398 Clamped\r
--- inexact zeros\r
-fmax361611 fma  1    1E-401   1E-400 ->  1E-398 Subnormal Inexact Rounded Underflow\r
-fmax361612 fma  1   -1E-401   1E-400 ->  1E-398 Subnormal Inexact Rounded Underflow\r
-fmax361613 fma  1    1E-401  -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped\r
-fmax361614 fma  1   -1E-401  -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped\r
--- some exact zeros from non-zeros\r
-fmax361615 fma  1    1E-401   1E-401 ->  1E-398 Subnormal Inexact Rounded Underflow\r
-fmax361616 fma  1   -1E-401   1E-401 ->  0E-398 Clamped\r
-fmax361617 fma  1    1E-401  -1E-401 ->  0E-398 Clamped\r
-fmax361618 fma  1   -1E-401  -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped\r
-\r
--- and the extra-special ugly case; unusual minuses marked by -- *\r
-rounding:    floor\r
--- exact zeros from zeros\r
-fmax361620 fma  1    0        0E-19  ->  0E-19\r
-fmax361621 fma  1   -0        0E-19  -> -0E-19           -- *\r
-fmax361622 fma  1    0       -0E-19  -> -0E-19           -- *\r
-fmax361623 fma  1   -0       -0E-19  -> -0E-19\r
-fmax361624 fma  1    0E-400   0E-19  ->  0E-398 Clamped\r
-fmax361625 fma  1   -0E-400   0E-19  -> -0E-398 Clamped  -- *\r
-fmax361626 fma  1    0E-400  -0E-19  -> -0E-398 Clamped  -- *\r
-fmax361627 fma  1   -0E-400  -0E-19  -> -0E-398 Clamped\r
--- inexact zeros\r
-fmax361631 fma  1    1E-401   1E-400 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped\r
-fmax361632 fma  1   -1E-401   1E-400 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped\r
-fmax361633 fma  1    1E-401  -1E-400 -> -1E-398 Subnormal Inexact Rounded Underflow\r
-fmax361634 fma  1   -1E-401  -1E-400 -> -1E-398 Subnormal Inexact Rounded Underflow\r
--- some exact zeros from non-zeros\r
-fmax361635 fma  1    1E-401   1E-401 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped\r
-fmax361636 fma  1   -1E-401   1E-401 -> -0E-398 Clamped  -- *\r
-fmax361637 fma  1    1E-401  -1E-401 -> -0E-398 Clamped  -- *\r
-fmax361638 fma  1   -1E-401  -1E-401 -> -1E-398 Subnormal Inexact Rounded Underflow\r
-\r
--- Examples from SQL proposal (Krishna Kulkarni)\r
-fmax361701 fma  1   130E-2    120E-2    -> 2.50\r
-fmax361702 fma  1   130E-2    12E-1     -> 2.50\r
-fmax361703 fma  1   130E-2    1E0       -> 2.30\r
-fmax361704 fma  1   1E2       1E4       -> 1.01E+4\r
-fmax361705 subtract 130E-2  120E-2 -> 0.10\r
-fmax361706 subtract 130E-2  12E-1  -> 0.10\r
-fmax361707 subtract 130E-2  1E0    -> 0.30\r
-fmax361708 subtract 1E2     1E4    -> -9.9E+3\r
-\r
--- Gappy coefficients; check residue handling even with full coefficient gap\r
-rounding: half_even\r
-\r
-fmax362001 fma  1   1234567890123456 1      -> 1234567890123457\r
-fmax362002 fma  1   1234567890123456 0.6    -> 1234567890123457  Inexact Rounded\r
-fmax362003 fma  1   1234567890123456 0.06   -> 1234567890123456  Inexact Rounded\r
-fmax362004 fma  1   1234567890123456 6E-3   -> 1234567890123456  Inexact Rounded\r
-fmax362005 fma  1   1234567890123456 6E-4   -> 1234567890123456  Inexact Rounded\r
-fmax362006 fma  1   1234567890123456 6E-5   -> 1234567890123456  Inexact Rounded\r
-fmax362007 fma  1   1234567890123456 6E-6   -> 1234567890123456  Inexact Rounded\r
-fmax362008 fma  1   1234567890123456 6E-7   -> 1234567890123456  Inexact Rounded\r
-fmax362009 fma  1   1234567890123456 6E-8   -> 1234567890123456  Inexact Rounded\r
-fmax362010 fma  1   1234567890123456 6E-9   -> 1234567890123456  Inexact Rounded\r
-fmax362011 fma  1   1234567890123456 6E-10  -> 1234567890123456  Inexact Rounded\r
-fmax362012 fma  1   1234567890123456 6E-11  -> 1234567890123456  Inexact Rounded\r
-fmax362013 fma  1   1234567890123456 6E-12  -> 1234567890123456  Inexact Rounded\r
-fmax362014 fma  1   1234567890123456 6E-13  -> 1234567890123456  Inexact Rounded\r
-fmax362015 fma  1   1234567890123456 6E-14  -> 1234567890123456  Inexact Rounded\r
-fmax362016 fma  1   1234567890123456 6E-15  -> 1234567890123456  Inexact Rounded\r
-fmax362017 fma  1   1234567890123456 6E-16  -> 1234567890123456  Inexact Rounded\r
-fmax362018 fma  1   1234567890123456 6E-17  -> 1234567890123456  Inexact Rounded\r
-fmax362019 fma  1   1234567890123456 6E-18  -> 1234567890123456  Inexact Rounded\r
-fmax362020 fma  1   1234567890123456 6E-19  -> 1234567890123456  Inexact Rounded\r
-fmax362021 fma  1   1234567890123456 6E-20  -> 1234567890123456  Inexact Rounded\r
-\r
--- widening second argument at gap\r
-fmax362030 fma  1   12345678 1                       -> 12345679\r
-fmax362031 fma  1   12345678 0.1                     -> 12345678.1\r
-fmax362032 fma  1   12345678 0.12                    -> 12345678.12\r
-fmax362033 fma  1   12345678 0.123                   -> 12345678.123\r
-fmax362034 fma  1   12345678 0.1234                  -> 12345678.1234\r
-fmax362035 fma  1   12345678 0.12345                 -> 12345678.12345\r
-fmax362036 fma  1   12345678 0.123456                -> 12345678.123456\r
-fmax362037 fma  1   12345678 0.1234567               -> 12345678.1234567\r
-fmax362038 fma  1   12345678 0.12345678              -> 12345678.12345678\r
-fmax362039 fma  1   12345678 0.123456789             -> 12345678.12345679 Inexact Rounded\r
-fmax362040 fma  1   12345678 0.123456785             -> 12345678.12345678 Inexact Rounded\r
-fmax362041 fma  1   12345678 0.1234567850            -> 12345678.12345678 Inexact Rounded\r
-fmax362042 fma  1   12345678 0.1234567851            -> 12345678.12345679 Inexact Rounded\r
-fmax362043 fma  1   12345678 0.12345678501           -> 12345678.12345679 Inexact Rounded\r
-fmax362044 fma  1   12345678 0.123456785001          -> 12345678.12345679 Inexact Rounded\r
-fmax362045 fma  1   12345678 0.1234567850001         -> 12345678.12345679 Inexact Rounded\r
-fmax362046 fma  1   12345678 0.12345678500001        -> 12345678.12345679 Inexact Rounded\r
-fmax362047 fma  1   12345678 0.123456785000001       -> 12345678.12345679 Inexact Rounded\r
-fmax362048 fma  1   12345678 0.1234567850000001      -> 12345678.12345679 Inexact Rounded\r
-fmax362049 fma  1   12345678 0.1234567850000000      -> 12345678.12345678 Inexact Rounded\r
---                               90123456\r
-rounding: half_even\r
-fmax362050 fma  1   12345678 0.0234567750000000      -> 12345678.02345678 Inexact Rounded\r
-fmax362051 fma  1   12345678 0.0034567750000000      -> 12345678.00345678 Inexact Rounded\r
-fmax362052 fma  1   12345678 0.0004567750000000      -> 12345678.00045678 Inexact Rounded\r
-fmax362053 fma  1   12345678 0.0000567750000000      -> 12345678.00005678 Inexact Rounded\r
-fmax362054 fma  1   12345678 0.0000067750000000      -> 12345678.00000678 Inexact Rounded\r
-fmax362055 fma  1   12345678 0.0000007750000000      -> 12345678.00000078 Inexact Rounded\r
-fmax362056 fma  1   12345678 0.0000000750000000      -> 12345678.00000008 Inexact Rounded\r
-fmax362057 fma  1   12345678 0.0000000050000000      -> 12345678.00000000 Inexact Rounded\r
-fmax362060 fma  1   12345678 0.0234567750000001      -> 12345678.02345678 Inexact Rounded\r
-fmax362061 fma  1   12345678 0.0034567750000001      -> 12345678.00345678 Inexact Rounded\r
-fmax362062 fma  1   12345678 0.0004567750000001      -> 12345678.00045678 Inexact Rounded\r
-fmax362063 fma  1   12345678 0.0000567750000001      -> 12345678.00005678 Inexact Rounded\r
-fmax362064 fma  1   12345678 0.0000067750000001      -> 12345678.00000678 Inexact Rounded\r
-fmax362065 fma  1   12345678 0.0000007750000001      -> 12345678.00000078 Inexact Rounded\r
-fmax362066 fma  1   12345678 0.0000000750000001      -> 12345678.00000008 Inexact Rounded\r
-fmax362067 fma  1   12345678 0.0000000050000001      -> 12345678.00000001 Inexact Rounded\r
--- far-out residues (full coefficient gap is 16+15 digits)\r
-rounding: up\r
-fmax362070 fma  1   12345678 1E-8                    -> 12345678.00000001\r
-fmax362071 fma  1   12345678 1E-9                    -> 12345678.00000001 Inexact Rounded\r
-fmax362072 fma  1   12345678 1E-10                   -> 12345678.00000001 Inexact Rounded\r
-fmax362073 fma  1   12345678 1E-11                   -> 12345678.00000001 Inexact Rounded\r
-fmax362074 fma  1   12345678 1E-12                   -> 12345678.00000001 Inexact Rounded\r
-fmax362075 fma  1   12345678 1E-13                   -> 12345678.00000001 Inexact Rounded\r
-fmax362076 fma  1   12345678 1E-14                   -> 12345678.00000001 Inexact Rounded\r
-fmax362077 fma  1   12345678 1E-15                   -> 12345678.00000001 Inexact Rounded\r
-fmax362078 fma  1   12345678 1E-16                   -> 12345678.00000001 Inexact Rounded\r
-fmax362079 fma  1   12345678 1E-17                   -> 12345678.00000001 Inexact Rounded\r
-fmax362080 fma  1   12345678 1E-18                   -> 12345678.00000001 Inexact Rounded\r
-fmax362081 fma  1   12345678 1E-19                   -> 12345678.00000001 Inexact Rounded\r
-fmax362082 fma  1   12345678 1E-20                   -> 12345678.00000001 Inexact Rounded\r
-fmax362083 fma  1   12345678 1E-25                   -> 12345678.00000001 Inexact Rounded\r
-fmax362084 fma  1   12345678 1E-30                   -> 12345678.00000001 Inexact Rounded\r
-fmax362085 fma  1   12345678 1E-31                   -> 12345678.00000001 Inexact Rounded\r
-fmax362086 fma  1   12345678 1E-32                   -> 12345678.00000001 Inexact Rounded\r
-fmax362087 fma  1   12345678 1E-33                   -> 12345678.00000001 Inexact Rounded\r
-fmax362088 fma  1   12345678 1E-34                   -> 12345678.00000001 Inexact Rounded\r
-fmax362089 fma  1   12345678 1E-35                   -> 12345678.00000001 Inexact Rounded\r
-\r
--- payload decapitate x3\r
-precision: 5\r
-fmax363000 fma  1 1  sNaN1234567890     ->  NaN67890  Invalid_operation\r
-fmax363001 fma    1 -sNaN1234512345 1   -> -NaN12345  Invalid_operation\r
-fmax363002 fma       sNaN1234554321 1 1 ->  NaN54321  Invalid_operation\r
-\r
--- Null tests\r
-fmax39990 fma  1   10  # -> NaN Invalid_operation\r
-fmax39991 fma  1    # 10 -> NaN Invalid_operation\r
+------------------------------------------------------------------------
+-- fma.decTest -- decimal fused multiply add                          --
+-- Copyright (c) IBM Corporation, 1981, 2008.  All rights reserved.   --
+------------------------------------------------------------------------
+-- Please see the document "General Decimal Arithmetic Testcases"     --
+-- at http://www2.hursley.ibm.com/decimal for the description of      --
+-- these testcases.                                                   --
+--                                                                    --
+-- These testcases are experimental ('beta' versions), and they       --
+-- may contain errors.  They are offered on an as-is basis.  In       --
+-- particular, achieving the same results as the tests here is not    --
+-- a guarantee that an implementation complies with any Standard      --
+-- or specification.  The tests are not exhaustive.                   --
+--                                                                    --
+-- Please send comments, suggestions, and corrections to the author:  --
+--   Mike Cowlishaw, IBM Fellow                                       --
+--   IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK         --
+--   mfc@uk.ibm.com                                                   --
+------------------------------------------------------------------------
+version: 2.59
+
+extended:    1
+precision:   9
+rounding:    half_up
+maxExponent: 384
+minexponent: -383
+
+-- These tests comprese three parts:
+--   1. Sanity checks and other three-operand tests (especially those
+--      where the fused operation makes a difference)
+--   2. Multiply tests (third operand is neutral zero [0E+emax])
+--   3. Addition tests (first operand is 1)
+-- The multiply and addition tests are extensive because FMA may have
+-- its own dedicated multiplication or addition routine(s), and they
+-- also inherently check the left-to-right properties.
+
+-- Sanity checks
+fmax0001 fma  1   1   1 ->   2
+fmax0002 fma  1   1   2 ->   3
+fmax0003 fma  2   2   3 ->   7
+fmax0004 fma  9   9   9 ->  90
+fmax0005 fma -1   1   1 ->   0
+fmax0006 fma -1   1   2 ->   1
+fmax0007 fma -2   2   3 ->  -1
+fmax0008 fma -9   9   9 -> -72
+fmax0011 fma  1  -1   1 ->   0
+fmax0012 fma  1  -1   2 ->   1
+fmax0013 fma  2  -2   3 ->  -1
+fmax0014 fma  9  -9   9 -> -72
+fmax0015 fma  1   1  -1 ->   0
+fmax0016 fma  1   1  -2 ->  -1
+fmax0017 fma  2   2  -3 ->   1
+fmax0018 fma  9   9  -9 ->  72
+fmax0019 fma  3   5   7 ->  22
+fmax0029 fma  3  -5   7 ->  -8
+
+-- non-integer exacts
+fma0100  fma    25.2   63.6   -438  ->  1164.72
+fma0101  fma   0.301  0.380    334  ->  334.114380
+fma0102  fma    49.2   -4.8   23.3  ->  -212.86
+fma0103  fma    4.22  0.079  -94.6  ->  -94.26662
+fma0104  fma     903  0.797  0.887  ->  720.578
+fma0105  fma    6.13   -161   65.9  ->  -921.03
+fma0106  fma    28.2    727   5.45  ->  20506.85
+fma0107  fma       4    605    688  ->  3108
+fma0108  fma    93.3   0.19  0.226  ->  17.953
+fma0109  fma   0.169   -341   5.61  ->  -52.019
+fma0110  fma   -72.2     30  -51.2  ->  -2217.2
+fma0111  fma  -0.409     13   20.4  ->  15.083
+fma0112  fma     317   77.0   19.0  ->  24428.0
+fma0113  fma      47   6.58   1.62  ->  310.88
+fma0114  fma    1.36  0.984  0.493  ->  1.83124
+fma0115  fma    72.7    274   1.56  ->  19921.36
+fma0116  fma     335    847     83  ->  283828
+fma0117  fma     666  0.247   25.4  ->  189.902
+fma0118  fma   -3.87   3.06   78.0  ->  66.1578
+fma0119  fma   0.742    192   35.6  ->  178.064
+fma0120  fma   -91.6   5.29  0.153  ->  -484.411
+
+-- cases where result is different from separate multiply + add; each
+-- is preceded by the result of unfused multiply and add
+-- [this is about 20% of all similar  cases in general]
+--               888565290   1557.96930  -86087.7578  -> 1.38435735E+12
+fma0201  fma     888565290   1557.96930  -86087.7578  -> 1.38435736E+12  Inexact Rounded
+--             -85519342.9    735155419     42010431  -> -6.28700084E+16
+fma0205  fma   -85519342.9    735155419     42010431  -> -6.28700083E+16 Inexact Rounded
+--                -98025.5  -294603.472   10414348.2  -> 2.88890669E+10
+fma0208  fma      -98025.5  -294603.472   10414348.2  -> 2.88890670E+10  Inexact Rounded
+--              5967627.39   83526540.6   498494.810  -> 4.98455271E+14
+fma0211  fma    5967627.39   83526540.6   498494.810  -> 4.98455272E+14  Inexact Rounded
+--               3456.9433    874.39518   197866.615  ->  3220601.18
+fma0216  fma     3456.9433    874.39518   197866.615  ->  3220601.17     Inexact Rounded
+--              62769.8287   2096.98927    48.420317  ->  131627705
+fma0218  fma    62769.8287   2096.98927    48.420317  ->  131627706      Inexact Rounded
+--               -68.81500   59961113.9     -8988862  -> -4.13521291E+9
+fma0219  fma     -68.81500   59961113.9     -8988862  -> -4.13521292E+9  Inexact Rounded
+--              2126341.02   63491.5152    302427455  -> 1.35307040E+11
+fma0226  fma    2126341.02   63491.5152    302427455  -> 1.35307041E+11  Inexact Rounded
+
+
+-- Infinite combinations
+fmax0800 fma  Inf   Inf   Inf    ->  Infinity
+fmax0801 fma  Inf   Inf  -Inf    ->  NaN Invalid_operation
+fmax0802 fma  Inf  -Inf   Inf    ->  NaN Invalid_operation
+fmax0803 fma  Inf  -Inf  -Inf    -> -Infinity
+fmax0804 fma -Inf   Inf   Inf    ->  NaN Invalid_operation
+fmax0805 fma -Inf   Inf  -Inf    -> -Infinity
+fmax0806 fma -Inf  -Inf   Inf    ->  Infinity
+fmax0807 fma -Inf  -Inf  -Inf    ->  NaN Invalid_operation
+fmax0808 fma -Inf   0       1    ->  NaN Invalid_operation
+fmax0809 fma -Inf   0     NaN    ->  NaN Invalid_operation
+
+-- Triple NaN propagation
+fmax0900 fma  NaN2  NaN3  NaN5   ->  NaN2
+fmax0901 fma  0     NaN3  NaN5   ->  NaN3
+fmax0902 fma  0     0     NaN5   ->  NaN5
+-- first sNaN wins (consider qNaN from earlier sNaN being
+-- overridden by an sNaN in third operand)
+fmax0903 fma  sNaN1 sNaN2 sNaN3  ->  NaN1 Invalid_operation
+fmax0904 fma  0     sNaN2 sNaN3  ->  NaN2 Invalid_operation
+fmax0905 fma  0     0     sNaN3  ->  NaN3 Invalid_operation
+fmax0906 fma  sNaN1 sNaN2 sNaN3  ->  NaN1 Invalid_operation
+fmax0907 fma  NaN7  sNaN2 sNaN3  ->  NaN2 Invalid_operation
+fmax0908 fma  NaN7  NaN5  sNaN3  ->  NaN3 Invalid_operation
+
+-- MULTIPLICATION TESTS ------------------------------------------------
+-- sanity checks (as base, above)
+fmax2000 fma 2      2  0E+999999  -> 4
+fmax2001 fma 2      3  0E+999999  -> 6
+fmax2002 fma 5      1  0E+999999  -> 5
+fmax2003 fma 5      2  0E+999999  -> 10
+fmax2004 fma 1.20   2  0E+999999  -> 2.40
+fmax2005 fma 1.20   0  0E+999999  -> 0.00
+fmax2006 fma 1.20  -2  0E+999999  -> -2.40
+fmax2007 fma -1.20  2  0E+999999  -> -2.40
+fmax2008 fma -1.20  0  0E+999999  -> 0.00
+fmax2009 fma -1.20 -2  0E+999999  -> 2.40
+fmax2010 fma 5.09 7.1  0E+999999  -> 36.139
+fmax2011 fma 2.5    4  0E+999999  -> 10.0
+fmax2012 fma 2.50   4  0E+999999  -> 10.00
+fmax2013 fma 1.23456789 1.00000000  0E+999999  -> 1.23456789 Rounded
+fmax2014 fma 9.999999999 9.999999999  0E+999999  -> 100.000000 Inexact Rounded
+fmax2015 fma 2.50   4  0E+999999  -> 10.00
+precision: 6
+fmax2016 fma 2.50   4  0E+999999  -> 10.00
+fmax2017 fma  9.999999  9.999999  0E+999999  ->  100.000 Inexact Rounded
+fmax2018 fma  9.999999 -9.999999  0E+999999  -> -100.000 Inexact Rounded
+fmax2019 fma -9.999999  9.999999  0E+999999  -> -100.000 Inexact Rounded
+fmax2020 fma -9.999999 -9.999999  0E+999999  ->  100.000 Inexact Rounded
+
+-- 1999.12.21: next one is a edge case if intermediate longs are used
+precision: 15
+fmax2059 fma 999999999999 9765625  0E+999999  -> 9.76562499999023E+18 Inexact Rounded
+precision: 30
+fmax2160 fma 999999999999 9765625  0E+999999  -> 9765624999990234375
+precision: 9
+-----
+
+-- zeros, etc.
+fmax2021 fma  0      0      0E+999999  ->  0
+fmax2022 fma  0     -0      0E+999999  ->  0
+fmax2023 fma -0      0      0E+999999  ->  0
+fmax2024 fma -0     -0      0E+999999  ->  0
+fmax2025 fma -0.0   -0.0    0E+999999  ->  0.00
+fmax2026 fma -0.0   -0.0    0E+999999  ->  0.00
+fmax2027 fma -0.0   -0.0    0E+999999  ->  0.00
+fmax2028 fma -0.0   -0.0    0E+999999  ->  0.00
+fmax2030 fma  5.00   1E-3   0E+999999  ->  0.00500
+fmax2031 fma  00.00  0.000  0E+999999  ->  0.00000
+fmax2032 fma  00.00  0E-3   0E+999999  ->  0.00000     -- rhs is 0
+fmax2033 fma  0E-3   00.00  0E+999999  ->  0.00000     -- lhs is 0
+fmax2034 fma -5.00   1E-3   0E+999999  -> -0.00500
+fmax2035 fma -00.00  0.000  0E+999999  ->  0.00000
+fmax2036 fma -00.00  0E-3   0E+999999  ->  0.00000     -- rhs is 0
+fmax2037 fma -0E-3   00.00  0E+999999  ->  0.00000     -- lhs is 0
+fmax2038 fma  5.00  -1E-3   0E+999999  -> -0.00500
+fmax2039 fma  00.00 -0.000  0E+999999  ->  0.00000
+fmax2040 fma  00.00 -0E-3   0E+999999  ->  0.00000     -- rhs is 0
+fmax2041 fma  0E-3  -00.00  0E+999999  ->  0.00000     -- lhs is 0
+fmax2042 fma -5.00  -1E-3   0E+999999  ->  0.00500
+fmax2043 fma -00.00 -0.000  0E+999999  ->  0.00000
+fmax2044 fma -00.00 -0E-3   0E+999999  ->  0.00000     -- rhs is 0
+fmax2045 fma -0E-3  -00.00  0E+999999  ->  0.00000     -- lhs is 0
+
+-- examples from decarith multiply
+fmax2050 fma 1.20 3         0E+999999  -> 3.60
+fmax2051 fma 7    3         0E+999999  -> 21
+fmax2052 fma 0.9  0.8       0E+999999  -> 0.72
+fmax2053 fma 0.9  -0        0E+999999  -> 0.0
+fmax2054 fma 654321 654321  0E+999999  -> 4.28135971E+11  Inexact Rounded
+
+fmax2060 fma 123.45 1e7   0E+999999  ->  1.2345E+9
+fmax2061 fma 123.45 1e8   0E+999999  ->  1.2345E+10
+fmax2062 fma 123.45 1e+9  0E+999999  ->  1.2345E+11
+fmax2063 fma 123.45 1e10  0E+999999  ->  1.2345E+12
+fmax2064 fma 123.45 1e11  0E+999999  ->  1.2345E+13
+fmax2065 fma 123.45 1e12  0E+999999  ->  1.2345E+14
+fmax2066 fma 123.45 1e13  0E+999999  ->  1.2345E+15
+
+
+-- test some intermediate lengths
+precision: 9
+fmax2080 fma 0.1 123456789           0E+999999  -> 12345678.9
+fmax2081 fma 0.1 1234567891          0E+999999  -> 123456789 Inexact Rounded
+fmax2082 fma 0.1 12345678912         0E+999999  -> 1.23456789E+9 Inexact Rounded
+fmax2083 fma 0.1 12345678912345      0E+999999  -> 1.23456789E+12 Inexact Rounded
+fmax2084 fma 0.1 123456789           0E+999999  -> 12345678.9
+precision: 8
+fmax2085 fma 0.1 12345678912         0E+999999  -> 1.2345679E+9 Inexact Rounded
+fmax2086 fma 0.1 12345678912345      0E+999999  -> 1.2345679E+12 Inexact Rounded
+precision: 7
+fmax2087 fma 0.1 12345678912         0E+999999  -> 1.234568E+9 Inexact Rounded
+fmax2088 fma 0.1 12345678912345      0E+999999  -> 1.234568E+12 Inexact Rounded
+
+precision: 9
+fmax2090 fma 123456789          0.1  0E+999999  -> 12345678.9
+fmax2091 fma 1234567891         0.1  0E+999999  -> 123456789 Inexact Rounded
+fmax2092 fma 12345678912        0.1  0E+999999  -> 1.23456789E+9 Inexact Rounded
+fmax2093 fma 12345678912345     0.1  0E+999999  -> 1.23456789E+12 Inexact Rounded
+fmax2094 fma 123456789          0.1  0E+999999  -> 12345678.9
+precision: 8
+fmax2095 fma 12345678912        0.1  0E+999999  -> 1.2345679E+9 Inexact Rounded
+fmax2096 fma 12345678912345     0.1  0E+999999  -> 1.2345679E+12 Inexact Rounded
+precision: 7
+fmax2097 fma 12345678912        0.1  0E+999999  -> 1.234568E+9 Inexact Rounded
+fmax2098 fma 12345678912345     0.1  0E+999999  -> 1.234568E+12 Inexact Rounded
+
+-- test some more edge cases and carries
+maxexponent: 9999
+minexponent: -9999
+precision: 33
+fmax2101 fma 9 9    0E+999999  -> 81
+fmax2102 fma 9 90    0E+999999  -> 810
+fmax2103 fma 9 900    0E+999999  -> 8100
+fmax2104 fma 9 9000    0E+999999  -> 81000
+fmax2105 fma 9 90000    0E+999999  -> 810000
+fmax2106 fma 9 900000    0E+999999  -> 8100000
+fmax2107 fma 9 9000000    0E+999999  -> 81000000
+fmax2108 fma 9 90000000    0E+999999  -> 810000000
+fmax2109 fma 9 900000000    0E+999999  -> 8100000000
+fmax2110 fma 9 9000000000    0E+999999  -> 81000000000
+fmax2111 fma 9 90000000000    0E+999999  -> 810000000000
+fmax2112 fma 9 900000000000    0E+999999  -> 8100000000000
+fmax2113 fma 9 9000000000000    0E+999999  -> 81000000000000
+fmax2114 fma 9 90000000000000    0E+999999  -> 810000000000000
+fmax2115 fma 9 900000000000000    0E+999999  -> 8100000000000000
+fmax2116 fma 9 9000000000000000    0E+999999  -> 81000000000000000
+fmax2117 fma 9 90000000000000000    0E+999999  -> 810000000000000000
+fmax2118 fma 9 900000000000000000    0E+999999  -> 8100000000000000000
+fmax2119 fma 9 9000000000000000000    0E+999999  -> 81000000000000000000
+fmax2120 fma 9 90000000000000000000    0E+999999  -> 810000000000000000000
+fmax2121 fma 9 900000000000000000000    0E+999999  -> 8100000000000000000000
+fmax2122 fma 9 9000000000000000000000    0E+999999  -> 81000000000000000000000
+fmax2123 fma 9 90000000000000000000000    0E+999999  -> 810000000000000000000000
+-- test some more edge cases without carries
+fmax2131 fma 3 3    0E+999999  -> 9
+fmax2132 fma 3 30    0E+999999  -> 90
+fmax2133 fma 3 300    0E+999999  -> 900
+fmax2134 fma 3 3000    0E+999999  -> 9000
+fmax2135 fma 3 30000    0E+999999  -> 90000
+fmax2136 fma 3 300000    0E+999999  -> 900000
+fmax2137 fma 3 3000000    0E+999999  -> 9000000
+fmax2138 fma 3 30000000    0E+999999  -> 90000000
+fmax2139 fma 3 300000000    0E+999999  -> 900000000
+fmax2140 fma 3 3000000000    0E+999999  -> 9000000000
+fmax2141 fma 3 30000000000    0E+999999  -> 90000000000
+fmax2142 fma 3 300000000000    0E+999999  -> 900000000000
+fmax2143 fma 3 3000000000000    0E+999999  -> 9000000000000
+fmax2144 fma 3 30000000000000    0E+999999  -> 90000000000000
+fmax2145 fma 3 300000000000000    0E+999999  -> 900000000000000
+fmax2146 fma 3 3000000000000000    0E+999999  -> 9000000000000000
+fmax2147 fma 3 30000000000000000    0E+999999  -> 90000000000000000
+fmax2148 fma 3 300000000000000000    0E+999999  -> 900000000000000000
+fmax2149 fma 3 3000000000000000000    0E+999999  -> 9000000000000000000
+fmax2150 fma 3 30000000000000000000    0E+999999  -> 90000000000000000000
+fmax2151 fma 3 300000000000000000000    0E+999999  -> 900000000000000000000
+fmax2152 fma 3 3000000000000000000000    0E+999999  -> 9000000000000000000000
+fmax2153 fma 3 30000000000000000000000    0E+999999  -> 90000000000000000000000
+
+maxexponent: 999999
+minexponent: -999999
+precision: 9
+-- test some cases that are close to exponent overflow/underflow
+fmax2170 fma 1 9e999999     0E+999999  -> 9E+999999
+fmax2171 fma 1 9.9e999999   0E+999999  -> 9.9E+999999
+fmax2172 fma 1 9.99e999999  0E+999999  -> 9.99E+999999
+fmax2173 fma 9e999999    1  0E+999999  -> 9E+999999
+fmax2174 fma 9.9e999999  1  0E+999999  -> 9.9E+999999
+fmax2176 fma 9.99e999999 1  0E+999999  -> 9.99E+999999
+fmax2177 fma 1 9.99999e999999  0E+999999  -> 9.99999E+999999
+fmax2178 fma 9.99999e999999 1  0E+999999  -> 9.99999E+999999
+
+fmax2180 fma 0.1 9e-999998    0E+999999  -> 9E-999999
+fmax2181 fma 0.1 99e-999998   0E+999999  -> 9.9E-999998
+fmax2182 fma 0.1 999e-999998  0E+999999  -> 9.99E-999997
+
+fmax2183 fma 0.1 9e-999998      0E+999999  -> 9E-999999
+fmax2184 fma 0.1 99e-999998     0E+999999  -> 9.9E-999998
+fmax2185 fma 0.1 999e-999998    0E+999999  -> 9.99E-999997
+fmax2186 fma 0.1 999e-999997    0E+999999  -> 9.99E-999996
+fmax2187 fma 0.1 9999e-999997   0E+999999  -> 9.999E-999995
+fmax2188 fma 0.1 99999e-999997  0E+999999  -> 9.9999E-999994
+
+fmax2190 fma 1 9e-999998    0E+999999  -> 9E-999998
+fmax2191 fma 1 99e-999998   0E+999999  -> 9.9E-999997
+fmax2192 fma 1 999e-999998  0E+999999  -> 9.99E-999996
+fmax2193 fma 9e-999998   1  0E+999999  -> 9E-999998
+fmax2194 fma 99e-999998  1  0E+999999  -> 9.9E-999997
+fmax2195 fma 999e-999998 1  0E+999999  -> 9.99E-999996
+
+-- long operand triangle
+precision: 33
+fmax2246 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 145433.290801193369671916511992830 Inexact Rounded
+precision: 32
+fmax2247 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 145433.29080119336967191651199283  Inexact Rounded
+precision: 31
+fmax2248 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 145433.2908011933696719165119928   Inexact Rounded
+precision: 30
+fmax2249 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 145433.290801193369671916511993    Inexact Rounded
+precision: 29
+fmax2250 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 145433.29080119336967191651199     Inexact Rounded
+precision: 28
+fmax2251 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 145433.2908011933696719165120      Inexact Rounded
+precision: 27
+fmax2252 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 145433.290801193369671916512       Inexact Rounded
+precision: 26
+fmax2253 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 145433.29080119336967191651        Inexact Rounded
+precision: 25
+fmax2254 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 145433.2908011933696719165         Inexact Rounded
+precision: 24
+fmax2255 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 145433.290801193369671917          Inexact Rounded
+precision: 23
+fmax2256 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 145433.29080119336967192           Inexact Rounded
+precision: 22
+fmax2257 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 145433.2908011933696719            Inexact Rounded
+precision: 21
+fmax2258 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 145433.290801193369672             Inexact Rounded
+precision: 20
+fmax2259 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 145433.29080119336967              Inexact Rounded
+precision: 19
+fmax2260 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 145433.2908011933697               Inexact Rounded
+precision: 18
+fmax2261 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 145433.290801193370                Inexact Rounded
+precision: 17
+fmax2262 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 145433.29080119337                 Inexact Rounded
+precision: 16
+fmax2263 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 145433.2908011934                  Inexact Rounded
+precision: 15
+fmax2264 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 145433.290801193                   Inexact Rounded
+precision: 14
+fmax2265 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 145433.29080119                    Inexact Rounded
+precision: 13
+fmax2266 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 145433.2908012                     Inexact Rounded
+precision: 12
+fmax2267 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 145433.290801                      Inexact Rounded
+precision: 11
+fmax2268 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 145433.29080                       Inexact Rounded
+precision: 10
+fmax2269 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 145433.2908                        Inexact Rounded
+precision:  9
+fmax2270 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 145433.291                         Inexact Rounded
+precision:  8
+fmax2271 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 145433.29                          Inexact Rounded
+precision:  7
+fmax2272 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 145433.3                           Inexact Rounded
+precision:  6
+fmax2273 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 145433                            Inexact Rounded
+precision:  5
+fmax2274 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 1.4543E+5                         Inexact Rounded
+precision:  4
+fmax2275 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 1.454E+5                         Inexact Rounded
+precision:  3
+fmax2276 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 1.45E+5                         Inexact Rounded
+precision:  2
+fmax2277 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 1.5E+5                         Inexact Rounded
+precision:  1
+fmax2278 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543  0E+999999  -> 1E+5                          Inexact Rounded
+
+-- test some edge cases with exact rounding
+maxexponent: 9999
+minexponent: -9999
+precision: 9
+fmax2301 fma 9 9    0E+999999  -> 81
+fmax2302 fma 9 90    0E+999999  -> 810
+fmax2303 fma 9 900    0E+999999  -> 8100
+fmax2304 fma 9 9000    0E+999999  -> 81000
+fmax2305 fma 9 90000    0E+999999  -> 810000
+fmax2306 fma 9 900000    0E+999999  -> 8100000
+fmax2307 fma 9 9000000    0E+999999  -> 81000000
+fmax2308 fma 9 90000000    0E+999999  -> 810000000
+fmax2309 fma 9 900000000    0E+999999  -> 8.10000000E+9   Rounded
+fmax2310 fma 9 9000000000    0E+999999  -> 8.10000000E+10  Rounded
+fmax2311 fma 9 90000000000    0E+999999  -> 8.10000000E+11  Rounded
+fmax2312 fma 9 900000000000    0E+999999  -> 8.10000000E+12  Rounded
+fmax2313 fma 9 9000000000000    0E+999999  -> 8.10000000E+13  Rounded
+fmax2314 fma 9 90000000000000    0E+999999  -> 8.10000000E+14  Rounded
+fmax2315 fma 9 900000000000000    0E+999999  -> 8.10000000E+15  Rounded
+fmax2316 fma 9 9000000000000000    0E+999999  -> 8.10000000E+16  Rounded
+fmax2317 fma 9 90000000000000000    0E+999999  -> 8.10000000E+17  Rounded
+fmax2318 fma 9 900000000000000000    0E+999999  -> 8.10000000E+18  Rounded
+fmax2319 fma 9 9000000000000000000    0E+999999  -> 8.10000000E+19  Rounded
+fmax2320 fma 9 90000000000000000000    0E+999999  -> 8.10000000E+20  Rounded
+fmax2321 fma 9 900000000000000000000    0E+999999  -> 8.10000000E+21  Rounded
+fmax2322 fma 9 9000000000000000000000    0E+999999  -> 8.10000000E+22  Rounded
+fmax2323 fma 9 90000000000000000000000    0E+999999  -> 8.10000000E+23  Rounded
+
+-- fastpath breakers
+precision:   29
+fmax2330 fma 1.491824697641270317824852952837224 1.105170918075647624811707826490246514675628614562883537345747603  0E+999999  -> 1.6487212707001281468486507878 Inexact Rounded
+precision:   55
+fmax2331 fma 0.8958341352965282506768545828765117803873717284891040428 0.8958341352965282506768545828765117803873717284891040428  0E+999999  -> 0.8025187979624784829842553829934069955890983696752228299 Inexact Rounded
+
+
+-- tryzeros cases
+precision:   7
+rounding:    half_up
+maxExponent: 92
+minexponent: -92
+fmax2504  fma  0E-60 1000E-60   0E+999999  -> 0E-98 Clamped
+fmax2505  fma  100E+60 0E+60    0E+999999  -> 0E+92 Clamped
+
+-- mixed with zeros
+maxexponent: 999999
+minexponent: -999999
+precision: 9
+fmax2541 fma  0    -1      0E+999999  ->  0
+fmax2542 fma -0    -1      0E+999999  ->  0
+fmax2543 fma  0     1      0E+999999  ->  0
+fmax2544 fma -0     1      0E+999999  ->  0
+fmax2545 fma -1     0      0E+999999  ->  0
+fmax2546 fma -1    -0      0E+999999  ->  0
+fmax2547 fma  1     0      0E+999999  ->  0
+fmax2548 fma  1    -0      0E+999999  ->  0
+
+fmax2551 fma  0.0  -1      0E+999999  ->  0.0
+fmax2552 fma -0.0  -1      0E+999999  ->  0.0
+fmax2553 fma  0.0   1      0E+999999  ->  0.0
+fmax2554 fma -0.0   1      0E+999999  ->  0.0
+fmax2555 fma -1.0   0      0E+999999  ->  0.0
+fmax2556 fma -1.0  -0      0E+999999  ->  0.0
+fmax2557 fma  1.0   0      0E+999999  ->  0.0
+fmax2558 fma  1.0  -0      0E+999999  ->  0.0
+
+fmax2561 fma  0    -1.0    0E+999999  ->  0.0
+fmax2562 fma -0    -1.0    0E+999999  ->  0.0
+fmax2563 fma  0     1.0    0E+999999  ->  0.0
+fmax2564 fma -0     1.0    0E+999999  ->  0.0
+fmax2565 fma -1     0.0    0E+999999  ->  0.0
+fmax2566 fma -1    -0.0    0E+999999  ->  0.0
+fmax2567 fma  1     0.0    0E+999999  ->  0.0
+fmax2568 fma  1    -0.0    0E+999999  ->  0.0
+
+fmax2571 fma  0.0  -1.0    0E+999999  ->  0.00
+fmax2572 fma -0.0  -1.0    0E+999999  ->  0.00
+fmax2573 fma  0.0   1.0    0E+999999  ->  0.00
+fmax2574 fma -0.0   1.0    0E+999999  ->  0.00
+fmax2575 fma -1.0   0.0    0E+999999  ->  0.00
+fmax2576 fma -1.0  -0.0    0E+999999  ->  0.00
+fmax2577 fma  1.0   0.0    0E+999999  ->  0.00
+fmax2578 fma  1.0  -0.0    0E+999999  ->  0.00
+
+
+-- Specials
+fmax2580 fma  Inf  -Inf    0E+999999  -> -Infinity
+fmax2581 fma  Inf  -1000   0E+999999  -> -Infinity
+fmax2582 fma  Inf  -1      0E+999999  -> -Infinity
+fmax2583 fma  Inf  -0      0E+999999  ->  NaN  Invalid_operation
+fmax2584 fma  Inf   0      0E+999999  ->  NaN  Invalid_operation
+fmax2585 fma  Inf   1      0E+999999  ->  Infinity
+fmax2586 fma  Inf   1000   0E+999999  ->  Infinity
+fmax2587 fma  Inf   Inf    0E+999999  ->  Infinity
+fmax2588 fma -1000  Inf    0E+999999  -> -Infinity
+fmax2589 fma -Inf   Inf    0E+999999  -> -Infinity
+fmax2590 fma -1     Inf    0E+999999  -> -Infinity
+fmax2591 fma -0     Inf    0E+999999  ->  NaN  Invalid_operation
+fmax2592 fma  0     Inf    0E+999999  ->  NaN  Invalid_operation
+fmax2593 fma  1     Inf    0E+999999  ->  Infinity
+fmax2594 fma  1000  Inf    0E+999999  ->  Infinity
+fmax2595 fma  Inf   Inf    0E+999999  ->  Infinity
+
+fmax2600 fma -Inf  -Inf    0E+999999  ->  Infinity
+fmax2601 fma -Inf  -1000   0E+999999  ->  Infinity
+fmax2602 fma -Inf  -1      0E+999999  ->  Infinity
+fmax2603 fma -Inf  -0      0E+999999  ->  NaN  Invalid_operation
+fmax2604 fma -Inf   0      0E+999999  ->  NaN  Invalid_operation
+fmax2605 fma -Inf   1      0E+999999  -> -Infinity
+fmax2606 fma -Inf   1000   0E+999999  -> -Infinity
+fmax2607 fma -Inf   Inf    0E+999999  -> -Infinity
+fmax2608 fma -1000  Inf    0E+999999  -> -Infinity
+fmax2609 fma -Inf  -Inf    0E+999999  ->  Infinity
+fmax2610 fma -1    -Inf    0E+999999  ->  Infinity
+fmax2611 fma -0    -Inf    0E+999999  ->  NaN  Invalid_operation
+fmax2612 fma  0    -Inf    0E+999999  ->  NaN  Invalid_operation
+fmax2613 fma  1    -Inf    0E+999999  -> -Infinity
+fmax2614 fma  1000 -Inf    0E+999999  -> -Infinity
+fmax2615 fma  Inf  -Inf    0E+999999  -> -Infinity
+
+fmax2621 fma  NaN -Inf     0E+999999  ->  NaN
+fmax2622 fma  NaN -1000    0E+999999  ->  NaN
+fmax2623 fma  NaN -1       0E+999999  ->  NaN
+fmax2624 fma  NaN -0       0E+999999  ->  NaN
+fmax2625 fma  NaN  0       0E+999999  ->  NaN
+fmax2626 fma  NaN  1       0E+999999  ->  NaN
+fmax2627 fma  NaN  1000    0E+999999  ->  NaN
+fmax2628 fma  NaN  Inf     0E+999999  ->  NaN
+fmax2629 fma  NaN  NaN     0E+999999  ->  NaN
+fmax2630 fma -Inf  NaN     0E+999999  ->  NaN
+fmax2631 fma -1000 NaN     0E+999999  ->  NaN
+fmax2632 fma -1    NaN     0E+999999  ->  NaN
+fmax2633 fma -0    NaN     0E+999999  ->  NaN
+fmax2634 fma  0    NaN     0E+999999  ->  NaN
+fmax2635 fma  1    NaN     0E+999999  ->  NaN
+fmax2636 fma  1000 NaN     0E+999999  ->  NaN
+fmax2637 fma  Inf  NaN     0E+999999  ->  NaN
+
+fmax2641 fma  sNaN -Inf    0E+999999  ->  NaN  Invalid_operation
+fmax2642 fma  sNaN -1000   0E+999999  ->  NaN  Invalid_operation
+fmax2643 fma  sNaN -1      0E+999999  ->  NaN  Invalid_operation
+fmax2644 fma  sNaN -0      0E+999999  ->  NaN  Invalid_operation
+fmax2645 fma  sNaN  0      0E+999999  ->  NaN  Invalid_operation
+fmax2646 fma  sNaN  1      0E+999999  ->  NaN  Invalid_operation
+fmax2647 fma  sNaN  1000   0E+999999  ->  NaN  Invalid_operation
+fmax2648 fma  sNaN  NaN    0E+999999  ->  NaN  Invalid_operation
+fmax2649 fma  sNaN sNaN    0E+999999  ->  NaN  Invalid_operation
+fmax2650 fma  NaN  sNaN    0E+999999  ->  NaN  Invalid_operation
+fmax2651 fma -Inf  sNaN    0E+999999  ->  NaN  Invalid_operation
+fmax2652 fma -1000 sNaN    0E+999999  ->  NaN  Invalid_operation
+fmax2653 fma -1    sNaN    0E+999999  ->  NaN  Invalid_operation
+fmax2654 fma -0    sNaN    0E+999999  ->  NaN  Invalid_operation
+fmax2655 fma  0    sNaN    0E+999999  ->  NaN  Invalid_operation
+fmax2656 fma  1    sNaN    0E+999999  ->  NaN  Invalid_operation
+fmax2657 fma  1000 sNaN    0E+999999  ->  NaN  Invalid_operation
+fmax2658 fma  Inf  sNaN    0E+999999  ->  NaN  Invalid_operation
+fmax2659 fma  NaN  sNaN    0E+999999  ->  NaN  Invalid_operation
+
+-- propagating NaNs
+fmax2661 fma  NaN9 -Inf    0E+999999  ->  NaN9
+fmax2662 fma  NaN8  999    0E+999999  ->  NaN8
+fmax2663 fma  NaN71 Inf    0E+999999  ->  NaN71
+fmax2664 fma  NaN6  NaN5   0E+999999  ->  NaN6
+fmax2665 fma -Inf   NaN4   0E+999999  ->  NaN4
+fmax2666 fma -999   NaN33  0E+999999  ->  NaN33
+fmax2667 fma  Inf   NaN2   0E+999999  ->  NaN2
+
+fmax2671 fma  sNaN99 -Inf     0E+999999  ->  NaN99 Invalid_operation
+fmax2672 fma  sNaN98 -11      0E+999999  ->  NaN98 Invalid_operation
+fmax2673 fma  sNaN97  NaN     0E+999999  ->  NaN97 Invalid_operation
+fmax2674 fma  sNaN16 sNaN94   0E+999999  ->  NaN16 Invalid_operation
+fmax2675 fma  NaN95  sNaN93   0E+999999  ->  NaN93 Invalid_operation
+fmax2676 fma -Inf    sNaN92   0E+999999  ->  NaN92 Invalid_operation
+fmax2677 fma  088    sNaN91   0E+999999  ->  NaN91 Invalid_operation
+fmax2678 fma  Inf    sNaN90   0E+999999  ->  NaN90 Invalid_operation
+fmax2679 fma  NaN    sNaN89   0E+999999  ->  NaN89 Invalid_operation
+
+fmax2681 fma -NaN9 -Inf    0E+999999  -> -NaN9
+fmax2682 fma -NaN8  999    0E+999999  -> -NaN8
+fmax2683 fma -NaN71 Inf    0E+999999  -> -NaN71
+fmax2684 fma -NaN6 -NaN5   0E+999999  -> -NaN6
+fmax2685 fma -Inf  -NaN4   0E+999999  -> -NaN4
+fmax2686 fma -999  -NaN33  0E+999999  -> -NaN33
+fmax2687 fma  Inf  -NaN2   0E+999999  -> -NaN2
+
+fmax2691 fma -sNaN99 -Inf     0E+999999  -> -NaN99 Invalid_operation
+fmax2692 fma -sNaN98 -11      0E+999999  -> -NaN98 Invalid_operation
+fmax2693 fma -sNaN97  NaN     0E+999999  -> -NaN97 Invalid_operation
+fmax2694 fma -sNaN16 -sNaN94  0E+999999  -> -NaN16 Invalid_operation
+fmax2695 fma -NaN95  -sNaN93  0E+999999  -> -NaN93 Invalid_operation
+fmax2696 fma -Inf    -sNaN92  0E+999999  -> -NaN92 Invalid_operation
+fmax2697 fma  088    -sNaN91  0E+999999  -> -NaN91 Invalid_operation
+fmax2698 fma  Inf    -sNaN90  0E+999999  -> -NaN90 Invalid_operation
+fmax2699 fma -NaN    -sNaN89  0E+999999  -> -NaN89 Invalid_operation
+
+fmax2701 fma -NaN  -Inf    0E+999999  -> -NaN
+fmax2702 fma -NaN   999    0E+999999  -> -NaN
+fmax2703 fma -NaN   Inf    0E+999999  -> -NaN
+fmax2704 fma -NaN  -NaN    0E+999999  -> -NaN
+fmax2705 fma -Inf  -NaN0   0E+999999  -> -NaN
+fmax2706 fma -999  -NaN    0E+999999  -> -NaN
+fmax2707 fma  Inf  -NaN    0E+999999  -> -NaN
+
+fmax2711 fma -sNaN   -Inf     0E+999999  -> -NaN Invalid_operation
+fmax2712 fma -sNaN   -11      0E+999999  -> -NaN Invalid_operation
+fmax2713 fma -sNaN00  NaN     0E+999999  -> -NaN Invalid_operation
+fmax2714 fma -sNaN   -sNaN    0E+999999  -> -NaN Invalid_operation
+fmax2715 fma -NaN    -sNaN    0E+999999  -> -NaN Invalid_operation
+fmax2716 fma -Inf    -sNaN    0E+999999  -> -NaN Invalid_operation
+fmax2717 fma  088    -sNaN    0E+999999  -> -NaN Invalid_operation
+fmax2718 fma  Inf    -sNaN    0E+999999  -> -NaN Invalid_operation
+fmax2719 fma -NaN    -sNaN    0E+999999  -> -NaN Invalid_operation
+
+-- overflow and underflow tests .. note subnormal results
+maxexponent: 999999
+minexponent: -999999
+fmax2730 fma +1.23456789012345E-0 9E+999999  0E+999999  -> Infinity Inexact Overflow Rounded
+fmax2731 fma 9E+999999 +1.23456789012345E-0  0E+999999  -> Infinity Inexact Overflow Rounded
+fmax2732 fma +0.100 9E-999999  0E+999999  -> 9.00E-1000000 Subnormal
+fmax2733 fma 9E-999999 +0.100  0E+999999  -> 9.00E-1000000 Subnormal
+fmax2735 fma -1.23456789012345E-0 9E+999999  0E+999999  -> -Infinity Inexact Overflow Rounded
+fmax2736 fma 9E+999999 -1.23456789012345E-0  0E+999999  -> -Infinity Inexact Overflow Rounded
+fmax2737 fma -0.100 9E-999999  0E+999999  -> -9.00E-1000000 Subnormal
+fmax2738 fma 9E-999999 -0.100  0E+999999  -> -9.00E-1000000 Subnormal
+
+-- signs
+fmax2751 fma  1e+777777  1e+411111  0E+999999  ->  Infinity Overflow Inexact Rounded
+fmax2752 fma  1e+777777 -1e+411111  0E+999999  -> -Infinity Overflow Inexact Rounded
+fmax2753 fma -1e+777777  1e+411111  0E+999999  -> -Infinity Overflow Inexact Rounded
+fmax2754 fma -1e+777777 -1e+411111  0E+999999  ->  Infinity Overflow Inexact Rounded
+fmax2755 fma  1e-777777  1e-411111  0E+999999  ->  0E-1000007 Underflow Subnormal Inexact Rounded Clamped
+fmax2756 fma  1e-777777 -1e-411111  0E+999999  -> -0E-1000007 Underflow Subnormal Inexact Rounded Clamped
+fmax2757 fma -1e-777777  1e-411111  0E+999999  -> -0E-1000007 Underflow Subnormal Inexact Rounded Clamped
+fmax2758 fma -1e-777777 -1e-411111  0E+999999  ->  0E-1000007 Underflow Subnormal Inexact Rounded Clamped
+
+-- 'subnormal' boundary (all hard underflow or overflow in base arithemtic)
+precision: 9
+fmax2760 fma 1e-600000 1e-400001  0E+999999  -> 1E-1000001 Subnormal
+fmax2761 fma 1e-600000 1e-400002  0E+999999  -> 1E-1000002 Subnormal
+fmax2762 fma 1e-600000 1e-400003  0E+999999  -> 1E-1000003 Subnormal
+fmax2763 fma 1e-600000 1e-400004  0E+999999  -> 1E-1000004 Subnormal
+fmax2764 fma 1e-600000 1e-400005  0E+999999  -> 1E-1000005 Subnormal
+fmax2765 fma 1e-600000 1e-400006  0E+999999  -> 1E-1000006 Subnormal
+fmax2766 fma 1e-600000 1e-400007  0E+999999  -> 1E-1000007 Subnormal
+fmax2767 fma 1e-600000 1e-400008  0E+999999  -> 0E-1000007 Underflow Subnormal Inexact Rounded Clamped
+fmax2768 fma 1e-600000 1e-400009  0E+999999  -> 0E-1000007 Underflow Subnormal Inexact Rounded Clamped
+fmax2769 fma 1e-600000 1e-400010  0E+999999  -> 0E-1000007 Underflow Subnormal Inexact Rounded Clamped
+-- [no equivalent of 'subnormal' for overflow]
+fmax2770 fma 1e+600000 1e+400001  0E+999999  -> Infinity Overflow Inexact Rounded
+fmax2771 fma 1e+600000 1e+400002  0E+999999  -> Infinity Overflow Inexact Rounded
+fmax2772 fma 1e+600000 1e+400003  0E+999999  -> Infinity Overflow Inexact Rounded
+fmax2773 fma 1e+600000 1e+400004  0E+999999  -> Infinity Overflow Inexact Rounded
+fmax2774 fma 1e+600000 1e+400005  0E+999999  -> Infinity Overflow Inexact Rounded
+fmax2775 fma 1e+600000 1e+400006  0E+999999  -> Infinity Overflow Inexact Rounded
+fmax2776 fma 1e+600000 1e+400007  0E+999999  -> Infinity Overflow Inexact Rounded
+fmax2777 fma 1e+600000 1e+400008  0E+999999  -> Infinity Overflow Inexact Rounded
+fmax2778 fma 1e+600000 1e+400009  0E+999999  -> Infinity Overflow Inexact Rounded
+fmax2779 fma 1e+600000 1e+400010  0E+999999  -> Infinity Overflow Inexact Rounded
+
+-- 'subnormal' test edge condition at higher precisions
+precision: 99
+fmax2780 fma 1e-600000 1e-400007  0E+999999  -> 1E-1000007 Subnormal
+fmax2781 fma 1e-600000 1e-400008  0E+999999  -> 1E-1000008 Subnormal
+fmax2782 fma 1e-600000 1e-400097  0E+999999  -> 1E-1000097 Subnormal
+fmax2783 fma 1e-600000 1e-400098  0E+999999  -> 0E-1000097 Underflow Subnormal Inexact Rounded Clamped
+precision: 999
+fmax2784 fma 1e-600000 1e-400997  0E+999999  -> 1E-1000997 Subnormal
+fmax2785 fma 1e-600000 1e-400998  0E+999999  -> 0E-1000997 Underflow Subnormal Inexact Rounded Clamped
+
+-- test subnormals rounding
+precision:   5
+maxExponent: 999
+minexponent: -999
+rounding:    half_even
+
+fmax2801 fma  1.0000E-999  1      0E+999999  -> 1.0000E-999
+fmax2802 fma  1.000E-999   1e-1   0E+999999  -> 1.000E-1000 Subnormal
+fmax2803 fma  1.00E-999    1e-2   0E+999999  -> 1.00E-1001  Subnormal
+fmax2804 fma  1.0E-999     1e-3   0E+999999  -> 1.0E-1002   Subnormal
+fmax2805 fma  1.0E-999     1e-4   0E+999999  -> 1E-1003     Subnormal Rounded
+fmax2806 fma  1.3E-999     1e-4   0E+999999  -> 1E-1003     Underflow Subnormal Inexact Rounded
+fmax2807 fma  1.5E-999     1e-4   0E+999999  -> 2E-1003     Underflow Subnormal Inexact Rounded
+fmax2808 fma  1.7E-999     1e-4   0E+999999  -> 2E-1003     Underflow Subnormal Inexact Rounded
+fmax2809 fma  2.3E-999     1e-4   0E+999999  -> 2E-1003     Underflow Subnormal Inexact Rounded
+fmax2810 fma  2.5E-999     1e-4   0E+999999  -> 2E-1003     Underflow Subnormal Inexact Rounded
+fmax2811 fma  2.7E-999     1e-4   0E+999999  -> 3E-1003     Underflow Subnormal Inexact Rounded
+fmax2812 fma  1.49E-999    1e-4   0E+999999  -> 1E-1003     Underflow Subnormal Inexact Rounded
+fmax2813 fma  1.50E-999    1e-4   0E+999999  -> 2E-1003     Underflow Subnormal Inexact Rounded
+fmax2814 fma  1.51E-999    1e-4   0E+999999  -> 2E-1003     Underflow Subnormal Inexact Rounded
+fmax2815 fma  2.49E-999    1e-4   0E+999999  -> 2E-1003     Underflow Subnormal Inexact Rounded
+fmax2816 fma  2.50E-999    1e-4   0E+999999  -> 2E-1003     Underflow Subnormal Inexact Rounded
+fmax2817 fma  2.51E-999    1e-4   0E+999999  -> 3E-1003     Underflow Subnormal Inexact Rounded
+
+fmax2818 fma  1E-999       1e-4   0E+999999  -> 1E-1003     Subnormal
+fmax2819 fma  3E-999       1e-5   0E+999999  -> 0E-1003     Underflow Subnormal Inexact Rounded Clamped
+fmax2820 fma  5E-999       1e-5   0E+999999  -> 0E-1003     Underflow Subnormal Inexact Rounded Clamped
+fmax2821 fma  7E-999       1e-5   0E+999999  -> 1E-1003     Underflow Subnormal Inexact Rounded
+fmax2822 fma  9E-999       1e-5   0E+999999  -> 1E-1003     Underflow Subnormal Inexact Rounded
+fmax2823 fma  9.9E-999     1e-5   0E+999999  -> 1E-1003     Underflow Subnormal Inexact Rounded
+
+fmax2824 fma  1E-999      -1e-4   0E+999999  -> -1E-1003    Subnormal
+fmax2825 fma  3E-999      -1e-5   0E+999999  -> -0E-1003    Underflow Subnormal Inexact Rounded Clamped
+fmax2826 fma -5E-999       1e-5   0E+999999  -> -0E-1003    Underflow Subnormal Inexact Rounded Clamped
+fmax2827 fma  7E-999      -1e-5   0E+999999  -> -1E-1003    Underflow Subnormal Inexact Rounded
+fmax2828 fma -9E-999       1e-5   0E+999999  -> -1E-1003    Underflow Subnormal Inexact Rounded
+fmax2829 fma  9.9E-999    -1e-5   0E+999999  -> -1E-1003    Underflow Subnormal Inexact Rounded
+fmax2830 fma  3.0E-999    -1e-5   0E+999999  -> -0E-1003    Underflow Subnormal Inexact Rounded Clamped
+
+fmax2831 fma  1.0E-501     1e-501  0E+999999  -> 1.0E-1002   Subnormal
+fmax2832 fma  2.0E-501     2e-501  0E+999999  -> 4.0E-1002   Subnormal
+fmax2833 fma  4.0E-501     4e-501  0E+999999  -> 1.60E-1001  Subnormal
+fmax2834 fma 10.0E-501    10e-501  0E+999999  -> 1.000E-1000 Subnormal
+fmax2835 fma 30.0E-501    30e-501  0E+999999  -> 9.000E-1000 Subnormal
+fmax2836 fma 40.0E-501    40e-501  0E+999999  -> 1.6000E-999
+
+-- squares
+fmax2840 fma  1E-502       1e-502  0E+999999  -> 0E-1003     Underflow Subnormal Inexact Rounded Clamped
+fmax2841 fma  1E-501       1e-501  0E+999999  -> 1E-1002     Subnormal
+fmax2842 fma  2E-501       2e-501  0E+999999  -> 4E-1002     Subnormal
+fmax2843 fma  4E-501       4e-501  0E+999999  -> 1.6E-1001   Subnormal
+fmax2844 fma 10E-501      10e-501  0E+999999  -> 1.00E-1000  Subnormal
+fmax2845 fma 30E-501      30e-501  0E+999999  -> 9.00E-1000  Subnormal
+fmax2846 fma 40E-501      40e-501  0E+999999  -> 1.600E-999
+
+-- cubes
+fmax2850 fma  1E-670     1e-335  0E+999999  -> 0E-1003    Underflow Subnormal Inexact Rounded Clamped
+fmax2851 fma  1E-668     1e-334  0E+999999  -> 1E-1002    Subnormal
+fmax2852 fma  4E-668     2e-334  0E+999999  -> 8E-1002    Subnormal
+fmax2853 fma  9E-668     3e-334  0E+999999  -> 2.7E-1001  Subnormal
+fmax2854 fma 16E-668     4e-334  0E+999999  -> 6.4E-1001  Subnormal
+fmax2855 fma 25E-668     5e-334  0E+999999  -> 1.25E-1000 Subnormal
+fmax2856 fma 10E-668   100e-334  0E+999999  -> 1.000E-999
+
+-- test derived from result of 0.099 ** 999 at 15 digits with unlimited exponent
+precision: 19
+fmax2860 fma  6636851557994578716E-520 6636851557994578716E-520  0E+999999  -> 4.40477986028551E-1003 Underflow Subnormal Inexact Rounded
+
+-- Long operand overflow may be a different path
+precision: 3
+maxExponent: 999999
+minexponent: -999999
+fmax2870 fma 1  9.999E+999999    0E+999999  ->  Infinity Inexact Overflow Rounded
+fmax2871 fma 1 -9.999E+999999    0E+999999  -> -Infinity Inexact Overflow Rounded
+fmax2872 fma    9.999E+999999 1  0E+999999  ->  Infinity Inexact Overflow Rounded
+fmax2873 fma   -9.999E+999999 1  0E+999999  -> -Infinity Inexact Overflow Rounded
+
+-- check for double-rounded subnormals
+precision:   5
+maxexponent: 79
+minexponent: -79
+fmax2881 fma  1.2347E-40  1.2347E-40   0E+999999  ->  1.524E-80  Inexact Rounded Subnormal Underflow
+fmax2882 fma  1.234E-40  1.234E-40     0E+999999  ->  1.523E-80  Inexact Rounded Subnormal Underflow
+fmax2883 fma  1.23E-40   1.23E-40      0E+999999  ->  1.513E-80  Inexact Rounded Subnormal Underflow
+fmax2884 fma  1.2E-40    1.2E-40       0E+999999  ->  1.44E-80   Subnormal
+fmax2885 fma  1.2E-40    1.2E-41       0E+999999  ->  1.44E-81   Subnormal
+fmax2886 fma  1.2E-40    1.2E-42       0E+999999  ->  1.4E-82    Subnormal Inexact Rounded Underflow
+fmax2887 fma  1.2E-40    1.3E-42       0E+999999  ->  1.6E-82    Subnormal Inexact Rounded Underflow
+fmax2888 fma  1.3E-40    1.3E-42       0E+999999  ->  1.7E-82    Subnormal Inexact Rounded Underflow
+fmax2889 fma  1.3E-40    1.3E-43       0E+999999  ->    2E-83    Subnormal Inexact Rounded Underflow
+fmax2890 fma  1.3E-41    1.3E-43       0E+999999  ->    0E-83    Clamped Subnormal Inexact Rounded Underflow
+
+fmax2891 fma  1.2345E-39   1.234E-40   0E+999999  ->  1.5234E-79 Inexact Rounded
+fmax2892 fma  1.23456E-39  1.234E-40   0E+999999  ->  1.5234E-79 Inexact Rounded
+fmax2893 fma  1.2345E-40   1.234E-40   0E+999999  ->  1.523E-80  Inexact Rounded Subnormal Underflow
+fmax2894 fma  1.23456E-40  1.234E-40   0E+999999  ->  1.523E-80  Inexact Rounded Subnormal Underflow
+fmax2895 fma  1.2345E-41   1.234E-40   0E+999999  ->  1.52E-81   Inexact Rounded Subnormal Underflow
+fmax2896 fma  1.23456E-41  1.234E-40   0E+999999  ->  1.52E-81   Inexact Rounded Subnormal Underflow
+
+-- Now explore the case where we get a normal result with Underflow
+precision:   16
+rounding:    half_up
+maxExponent: 384
+minExponent: -383
+
+fmax2900 fma  0.3000000000E-191 0.3000000000E-191  0E+999999  -> 9.00000000000000E-384 Subnormal Rounded
+fmax2901 fma  0.3000000001E-191 0.3000000001E-191  0E+999999  -> 9.00000000600000E-384 Underflow Inexact Subnormal Rounded
+fmax2902 fma  9.999999999999999E-383  0.0999999999999          0E+999999  -> 9.99999999999000E-384 Underflow Inexact Subnormal Rounded
+fmax2903 fma  9.999999999999999E-383  0.09999999999999         0E+999999  -> 9.99999999999900E-384 Underflow Inexact Subnormal Rounded
+fmax2904 fma  9.999999999999999E-383  0.099999999999999        0E+999999  -> 9.99999999999990E-384 Underflow Inexact Subnormal Rounded
+fmax2905 fma  9.999999999999999E-383  0.0999999999999999       0E+999999  -> 9.99999999999999E-384 Underflow Inexact Subnormal Rounded
+-- prove operands are exact
+fmax2906 fma  9.999999999999999E-383  1                        0E+999999  -> 9.999999999999999E-383
+fmax2907 fma                       1  0.09999999999999999      0E+999999  -> 0.09999999999999999
+-- the next rounds to Nmin
+fmax2908 fma  9.999999999999999E-383  0.09999999999999999      0E+999999  -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded
+fmax2909 fma  9.999999999999999E-383  0.099999999999999999     0E+999999  -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded
+fmax2910 fma  9.999999999999999E-383  0.0999999999999999999    0E+999999  -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded
+fmax2911 fma  9.999999999999999E-383  0.09999999999999999999   0E+999999  -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded
+
+-- Examples from SQL proposal (Krishna Kulkarni)
+precision:   34
+rounding:    half_up
+maxExponent: 6144
+minExponent: -6143
+fmax2921  fma 130E-2  120E-2  0E+999999  -> 1.5600
+fmax2922  fma 130E-2  12E-1   0E+999999  -> 1.560
+fmax2923  fma 130E-2  1E0     0E+999999  -> 1.30
+
+-- Null tests
+fmax2990 fma  # 10  0E+999999  -> NaN Invalid_operation
+fmax2991 fma 10  #  0E+999999  -> NaN Invalid_operation
+
+-- ADDITION TESTS ------------------------------------------------------
+precision:   9
+rounding:    half_up
+maxExponent: 384
+minexponent: -383
+
+-- [first group are 'quick confidence check']
+fmax3001 fma  1   1       1       ->  2
+fmax3002 fma  1   2       3       ->  5
+fmax3003 fma  1   '5.75'  '3.3'   ->  9.05
+fmax3004 fma  1   '5'     '-3'    ->  2
+fmax3005 fma  1   '-5'    '-3'    ->  -8
+fmax3006 fma  1   '-7'    '2.5'   ->  -4.5
+fmax3007 fma  1   '0.7'   '0.3'   ->  1.0
+fmax3008 fma  1   '1.25'  '1.25'  ->  2.50
+fmax3009 fma  1   '1.23456789'  '1.00000000' -> '2.23456789'
+fmax3010 fma  1   '1.23456789'  '1.00000011' -> '2.23456800'
+
+fmax3011 fma  1   '0.4444444444'  '0.5555555555' -> '1.00000000' Inexact Rounded
+fmax3012 fma  1   '0.4444444440'  '0.5555555555' -> '1.00000000' Inexact Rounded
+fmax3013 fma  1   '0.4444444444'  '0.5555555550' -> '0.999999999' Inexact Rounded
+fmax3014 fma  1   '0.44444444449'    '0' -> '0.444444444' Inexact Rounded
+fmax3015 fma  1   '0.444444444499'   '0' -> '0.444444444' Inexact Rounded
+fmax3016 fma  1   '0.4444444444999'  '0' -> '0.444444444' Inexact Rounded
+fmax3017 fma  1   '0.4444444445000'  '0' -> '0.444444445' Inexact Rounded
+fmax3018 fma  1   '0.4444444445001'  '0' -> '0.444444445' Inexact Rounded
+fmax3019 fma  1   '0.444444444501'   '0' -> '0.444444445' Inexact Rounded
+fmax3020 fma  1   '0.44444444451'    '0' -> '0.444444445' Inexact Rounded
+
+fmax3021 fma  1   0 1 -> 1
+fmax3022 fma  1   1 1 -> 2
+fmax3023 fma  1   2 1 -> 3
+fmax3024 fma  1   3 1 -> 4
+fmax3025 fma  1   4 1 -> 5
+fmax3026 fma  1   5 1 -> 6
+fmax3027 fma  1   6 1 -> 7
+fmax3028 fma  1   7 1 -> 8
+fmax3029 fma  1   8 1 -> 9
+fmax3030 fma  1   9 1 -> 10
+
+-- some carrying effects
+fmax3031 fma  1   '0.9998'  '0.0000' -> '0.9998'
+fmax3032 fma  1   '0.9998'  '0.0001' -> '0.9999'
+fmax3033 fma  1   '0.9998'  '0.0002' -> '1.0000'
+fmax3034 fma  1   '0.9998'  '0.0003' -> '1.0001'
+
+fmax3035 fma  1   '70'  '10000e+9' -> '1.00000000E+13' Inexact Rounded
+fmax3036 fma  1   '700'  '10000e+9' -> '1.00000000E+13' Inexact Rounded
+fmax3037 fma  1   '7000'  '10000e+9' -> '1.00000000E+13' Inexact Rounded
+fmax3038 fma  1   '70000'  '10000e+9' -> '1.00000001E+13' Inexact Rounded
+fmax3039 fma  1   '700000'  '10000e+9' -> '1.00000007E+13' Rounded
+
+-- symmetry:
+fmax3040 fma  1   '10000e+9'  '70' -> '1.00000000E+13' Inexact Rounded
+fmax3041 fma  1   '10000e+9'  '700' -> '1.00000000E+13' Inexact Rounded
+fmax3042 fma  1   '10000e+9'  '7000' -> '1.00000000E+13' Inexact Rounded
+fmax3044 fma  1   '10000e+9'  '70000' -> '1.00000001E+13' Inexact Rounded
+fmax3045 fma  1   '10000e+9'  '700000' -> '1.00000007E+13' Rounded
+
+-- same, higher precision
+precision: 15
+fmax3046 fma  1   '10000e+9'  '7' -> '10000000000007'
+fmax3047 fma  1   '10000e+9'  '70' -> '10000000000070'
+fmax3048 fma  1   '10000e+9'  '700' -> '10000000000700'
+fmax3049 fma  1   '10000e+9'  '7000' -> '10000000007000'
+fmax3050 fma  1   '10000e+9'  '70000' -> '10000000070000'
+fmax3051 fma  1   '10000e+9'  '700000' -> '10000000700000'
+fmax3052 fma  1   '10000e+9'  '7000000' -> '10000007000000'
+
+-- examples from decarith
+fmax3053 fma  1   '12' '7.00' -> '19.00'
+fmax3054 fma  1   '1.3' '-1.07' -> '0.23'
+fmax3055 fma  1   '1.3' '-1.30' -> '0.00'
+fmax3056 fma  1   '1.3' '-2.07' -> '-0.77'
+fmax3057 fma  1   '1E+2' '1E+4' -> '1.01E+4'
+
+-- zero preservation
+precision: 6
+fmax3060 fma  1   '10000e+9'  '70000' -> '1.00000E+13' Inexact Rounded
+fmax3061 fma  1   1 '0.0001' -> '1.0001'
+fmax3062 fma  1   1 '0.00001' -> '1.00001'
+fmax3063 fma  1   1 '0.000001' -> '1.00000' Inexact Rounded
+fmax3064 fma  1   1 '0.0000001' -> '1.00000' Inexact Rounded
+fmax3065 fma  1   1 '0.00000001' -> '1.00000' Inexact Rounded
+
+-- some funny zeros [in case of bad signum]
+fmax3070 fma  1   1  0    -> 1
+fmax3071 fma  1   1 0.    -> 1
+fmax3072 fma  1   1  .0   -> 1.0
+fmax3073 fma  1   1 0.0   -> 1.0
+fmax3074 fma  1   1 0.00  -> 1.00
+fmax3075 fma  1    0  1   -> 1
+fmax3076 fma  1   0.  1   -> 1
+fmax3077 fma  1    .0 1   -> 1.0
+fmax3078 fma  1   0.0 1   -> 1.0
+fmax3079 fma  1   0.00 1  -> 1.00
+
+precision: 9
+
+-- some carries
+fmax3080 fma  1   999999998 1  -> 999999999
+fmax3081 fma  1   999999999 1  -> 1.00000000E+9 Rounded
+fmax3082 fma  1    99999999 1  -> 100000000
+fmax3083 fma  1     9999999 1  -> 10000000
+fmax3084 fma  1      999999 1  -> 1000000
+fmax3085 fma  1       99999 1  -> 100000
+fmax3086 fma  1        9999 1  -> 10000
+fmax3087 fma  1         999 1  -> 1000
+fmax3088 fma  1          99 1  -> 100
+fmax3089 fma  1           9 1  -> 10
+
+
+-- more LHS swaps
+fmax3090 fma  1   '-56267E-10'   0 ->  '-0.0000056267'
+fmax3091 fma  1   '-56267E-6'    0 ->  '-0.056267'
+fmax3092 fma  1   '-56267E-5'    0 ->  '-0.56267'
+fmax3093 fma  1   '-56267E-4'    0 ->  '-5.6267'
+fmax3094 fma  1   '-56267E-3'    0 ->  '-56.267'
+fmax3095 fma  1   '-56267E-2'    0 ->  '-562.67'
+fmax3096 fma  1   '-56267E-1'    0 ->  '-5626.7'
+fmax3097 fma  1   '-56267E-0'    0 ->  '-56267'
+fmax3098 fma  1   '-5E-10'       0 ->  '-5E-10'
+fmax3099 fma  1   '-5E-7'        0 ->  '-5E-7'
+fmax3100 fma  1   '-5E-6'        0 ->  '-0.000005'
+fmax3101 fma  1   '-5E-5'        0 ->  '-0.00005'
+fmax3102 fma  1   '-5E-4'        0 ->  '-0.0005'
+fmax3103 fma  1   '-5E-1'        0 ->  '-0.5'
+fmax3104 fma  1   '-5E0'         0 ->  '-5'
+fmax3105 fma  1   '-5E1'         0 ->  '-50'
+fmax3106 fma  1   '-5E5'         0 ->  '-500000'
+fmax3107 fma  1   '-5E8'         0 ->  '-500000000'
+fmax3108 fma  1   '-5E9'         0 ->  '-5.00000000E+9'   Rounded
+fmax3109 fma  1   '-5E10'        0 ->  '-5.00000000E+10'  Rounded
+fmax3110 fma  1   '-5E11'        0 ->  '-5.00000000E+11'  Rounded
+fmax3111 fma  1   '-5E100'       0 ->  '-5.00000000E+100' Rounded
+
+-- more RHS swaps
+fmax3113 fma  1   0  '-56267E-10' ->  '-0.0000056267'
+fmax3114 fma  1   0  '-56267E-6'  ->  '-0.056267'
+fmax3116 fma  1   0  '-56267E-5'  ->  '-0.56267'
+fmax3117 fma  1   0  '-56267E-4'  ->  '-5.6267'
+fmax3119 fma  1   0  '-56267E-3'  ->  '-56.267'
+fmax3120 fma  1   0  '-56267E-2'  ->  '-562.67'
+fmax3121 fma  1   0  '-56267E-1'  ->  '-5626.7'
+fmax3122 fma  1   0  '-56267E-0'  ->  '-56267'
+fmax3123 fma  1   0  '-5E-10'     ->  '-5E-10'
+fmax3124 fma  1   0  '-5E-7'      ->  '-5E-7'
+fmax3125 fma  1   0  '-5E-6'      ->  '-0.000005'
+fmax3126 fma  1   0  '-5E-5'      ->  '-0.00005'
+fmax3127 fma  1   0  '-5E-4'      ->  '-0.0005'
+fmax3128 fma  1   0  '-5E-1'      ->  '-0.5'
+fmax3129 fma  1   0  '-5E0'       ->  '-5'
+fmax3130 fma  1   0  '-5E1'       ->  '-50'
+fmax3131 fma  1   0  '-5E5'       ->  '-500000'
+fmax3132 fma  1   0  '-5E8'       ->  '-500000000'
+fmax3133 fma  1   0  '-5E9'       ->  '-5.00000000E+9'    Rounded
+fmax3134 fma  1   0  '-5E10'      ->  '-5.00000000E+10'   Rounded
+fmax3135 fma  1   0  '-5E11'      ->  '-5.00000000E+11'   Rounded
+fmax3136 fma  1   0  '-5E100'     ->  '-5.00000000E+100'  Rounded
+
+-- related
+fmax3137 fma  1    1  '0E-12'      ->  '1.00000000'  Rounded
+fmax3138 fma  1   -1  '0E-12'      ->  '-1.00000000' Rounded
+fmax3139 fma  1   '0E-12' 1        ->  '1.00000000'  Rounded
+fmax3140 fma  1   '0E-12' -1       ->  '-1.00000000' Rounded
+fmax3141 fma  1   1E+4    0.0000   ->  '10000.0000'
+fmax3142 fma  1   1E+4    0.00000  ->  '10000.0000'  Rounded
+fmax3143 fma  1   0.000   1E+5     ->  '100000.000'
+fmax3144 fma  1   0.0000  1E+5     ->  '100000.000'  Rounded
+
+-- [some of the next group are really constructor tests]
+fmax3146 fma  1   '00.0'  0       ->  '0.0'
+fmax3147 fma  1   '0.00'  0       ->  '0.00'
+fmax3148 fma  1    0      '0.00'  ->  '0.00'
+fmax3149 fma  1    0      '00.0'  ->  '0.0'
+fmax3150 fma  1   '00.0'  '0.00'  ->  '0.00'
+fmax3151 fma  1   '0.00'  '00.0'  ->  '0.00'
+fmax3152 fma  1   '3'     '.3'    ->  '3.3'
+fmax3153 fma  1   '3.'    '.3'    ->  '3.3'
+fmax3154 fma  1   '3.0'   '.3'    ->  '3.3'
+fmax3155 fma  1   '3.00'  '.3'    ->  '3.30'
+fmax3156 fma  1   '3'     '3'     ->  '6'
+fmax3157 fma  1   '3'     '+3'    ->  '6'
+fmax3158 fma  1   '3'     '-3'    ->  '0'
+fmax3159 fma  1   '0.3'   '-0.3'  ->  '0.0'
+fmax3160 fma  1   '0.03'  '-0.03' ->  '0.00'
+
+-- try borderline precision, with carries, etc.
+precision: 15
+fmax3161 fma  1   '1E+12' '-1'    -> '999999999999'
+fmax3162 fma  1   '1E+12'  '1.11' -> '1000000000001.11'
+fmax3163 fma  1   '1.11'  '1E+12' -> '1000000000001.11'
+fmax3164 fma  1   '-1'    '1E+12' -> '999999999999'
+fmax3165 fma  1   '7E+12' '-1'    -> '6999999999999'
+fmax3166 fma  1   '7E+12'  '1.11' -> '7000000000001.11'
+fmax3167 fma  1   '1.11'  '7E+12' -> '7000000000001.11'
+fmax3168 fma  1   '-1'    '7E+12' -> '6999999999999'
+
+--             123456789012345      123456789012345      1 23456789012345
+fmax3170 fma  1   '0.444444444444444'  '0.555555555555563' -> '1.00000000000001' Inexact Rounded
+fmax3171 fma  1   '0.444444444444444'  '0.555555555555562' -> '1.00000000000001' Inexact Rounded
+fmax3172 fma  1   '0.444444444444444'  '0.555555555555561' -> '1.00000000000001' Inexact Rounded
+fmax3173 fma  1   '0.444444444444444'  '0.555555555555560' -> '1.00000000000000' Inexact Rounded
+fmax3174 fma  1   '0.444444444444444'  '0.555555555555559' -> '1.00000000000000' Inexact Rounded
+fmax3175 fma  1   '0.444444444444444'  '0.555555555555558' -> '1.00000000000000' Inexact Rounded
+fmax3176 fma  1   '0.444444444444444'  '0.555555555555557' -> '1.00000000000000' Inexact Rounded
+fmax3177 fma  1   '0.444444444444444'  '0.555555555555556' -> '1.00000000000000' Rounded
+fmax3178 fma  1   '0.444444444444444'  '0.555555555555555' -> '0.999999999999999'
+fmax3179 fma  1   '0.444444444444444'  '0.555555555555554' -> '0.999999999999998'
+fmax3180 fma  1   '0.444444444444444'  '0.555555555555553' -> '0.999999999999997'
+fmax3181 fma  1   '0.444444444444444'  '0.555555555555552' -> '0.999999999999996'
+fmax3182 fma  1   '0.444444444444444'  '0.555555555555551' -> '0.999999999999995'
+fmax3183 fma  1   '0.444444444444444'  '0.555555555555550' -> '0.999999999999994'
+
+-- and some more, including residue effects and different roundings
+precision: 9
+rounding: half_up
+fmax3200 fma  1   '123456789' 0             -> '123456789'
+fmax3201 fma  1   '123456789' 0.000000001   -> '123456789' Inexact Rounded
+fmax3202 fma  1   '123456789' 0.000001      -> '123456789' Inexact Rounded
+fmax3203 fma  1   '123456789' 0.1           -> '123456789' Inexact Rounded
+fmax3204 fma  1   '123456789' 0.4           -> '123456789' Inexact Rounded
+fmax3205 fma  1   '123456789' 0.49          -> '123456789' Inexact Rounded
+fmax3206 fma  1   '123456789' 0.499999      -> '123456789' Inexact Rounded
+fmax3207 fma  1   '123456789' 0.499999999   -> '123456789' Inexact Rounded
+fmax3208 fma  1   '123456789' 0.5           -> '123456790' Inexact Rounded
+fmax3209 fma  1   '123456789' 0.500000001   -> '123456790' Inexact Rounded
+fmax3210 fma  1   '123456789' 0.500001      -> '123456790' Inexact Rounded
+fmax3211 fma  1   '123456789' 0.51          -> '123456790' Inexact Rounded
+fmax3212 fma  1   '123456789' 0.6           -> '123456790' Inexact Rounded
+fmax3213 fma  1   '123456789' 0.9           -> '123456790' Inexact Rounded
+fmax3214 fma  1   '123456789' 0.99999       -> '123456790' Inexact Rounded
+fmax3215 fma  1   '123456789' 0.999999999   -> '123456790' Inexact Rounded
+fmax3216 fma  1   '123456789' 1             -> '123456790'
+fmax3217 fma  1   '123456789' 1.000000001   -> '123456790' Inexact Rounded
+fmax3218 fma  1   '123456789' 1.00001       -> '123456790' Inexact Rounded
+fmax3219 fma  1   '123456789' 1.1           -> '123456790' Inexact Rounded
+
+rounding: half_even
+fmax3220 fma  1   '123456789' 0             -> '123456789'
+fmax3221 fma  1   '123456789' 0.000000001   -> '123456789' Inexact Rounded
+fmax3222 fma  1   '123456789' 0.000001      -> '123456789' Inexact Rounded
+fmax3223 fma  1   '123456789' 0.1           -> '123456789' Inexact Rounded
+fmax3224 fma  1   '123456789' 0.4           -> '123456789' Inexact Rounded
+fmax3225 fma  1   '123456789' 0.49          -> '123456789' Inexact Rounded
+fmax3226 fma  1   '123456789' 0.499999      -> '123456789' Inexact Rounded
+fmax3227 fma  1   '123456789' 0.499999999   -> '123456789' Inexact Rounded
+fmax3228 fma  1   '123456789' 0.5           -> '123456790' Inexact Rounded
+fmax3229 fma  1   '123456789' 0.500000001   -> '123456790' Inexact Rounded
+fmax3230 fma  1   '123456789' 0.500001      -> '123456790' Inexact Rounded
+fmax3231 fma  1   '123456789' 0.51          -> '123456790' Inexact Rounded
+fmax3232 fma  1   '123456789' 0.6           -> '123456790' Inexact Rounded
+fmax3233 fma  1   '123456789' 0.9           -> '123456790' Inexact Rounded
+fmax3234 fma  1   '123456789' 0.99999       -> '123456790' Inexact Rounded
+fmax3235 fma  1   '123456789' 0.999999999   -> '123456790' Inexact Rounded
+fmax3236 fma  1   '123456789' 1             -> '123456790'
+fmax3237 fma  1   '123456789' 1.00000001    -> '123456790' Inexact Rounded
+fmax3238 fma  1   '123456789' 1.00001       -> '123456790' Inexact Rounded
+fmax3239 fma  1   '123456789' 1.1           -> '123456790' Inexact Rounded
+-- critical few with even bottom digit...
+fmax3240 fma  1   '123456788' 0.499999999   -> '123456788' Inexact Rounded
+fmax3241 fma  1   '123456788' 0.5           -> '123456788' Inexact Rounded
+fmax3242 fma  1   '123456788' 0.500000001   -> '123456789' Inexact Rounded
+
+rounding: down
+fmax3250 fma  1   '123456789' 0             -> '123456789'
+fmax3251 fma  1   '123456789' 0.000000001   -> '123456789' Inexact Rounded
+fmax3252 fma  1   '123456789' 0.000001      -> '123456789' Inexact Rounded
+fmax3253 fma  1   '123456789' 0.1           -> '123456789' Inexact Rounded
+fmax3254 fma  1   '123456789' 0.4           -> '123456789' Inexact Rounded
+fmax3255 fma  1   '123456789' 0.49          -> '123456789' Inexact Rounded
+fmax3256 fma  1   '123456789' 0.499999      -> '123456789' Inexact Rounded
+fmax3257 fma  1   '123456789' 0.499999999   -> '123456789' Inexact Rounded
+fmax3258 fma  1   '123456789' 0.5           -> '123456789' Inexact Rounded
+fmax3259 fma  1   '123456789' 0.500000001   -> '123456789' Inexact Rounded
+fmax3260 fma  1   '123456789' 0.500001      -> '123456789' Inexact Rounded
+fmax3261 fma  1   '123456789' 0.51          -> '123456789' Inexact Rounded
+fmax3262 fma  1   '123456789' 0.6           -> '123456789' Inexact Rounded
+fmax3263 fma  1   '123456789' 0.9           -> '123456789' Inexact Rounded
+fmax3264 fma  1   '123456789' 0.99999       -> '123456789' Inexact Rounded
+fmax3265 fma  1   '123456789' 0.999999999   -> '123456789' Inexact Rounded
+fmax3266 fma  1   '123456789' 1             -> '123456790'
+fmax3267 fma  1   '123456789' 1.00000001    -> '123456790' Inexact Rounded
+fmax3268 fma  1   '123456789' 1.00001       -> '123456790' Inexact Rounded
+fmax3269 fma  1   '123456789' 1.1           -> '123456790' Inexact Rounded
+
+-- input preparation tests (operands should not be rounded)
+precision: 3
+rounding: half_up
+
+fmax3270 fma  1   '12345678900000'  9999999999999 ->  '2.23E+13' Inexact Rounded
+fmax3271 fma  1    '9999999999999' 12345678900000 ->  '2.23E+13' Inexact Rounded
+
+fmax3272 fma  1   '12E+3'  '3444'   ->  '1.54E+4' Inexact Rounded
+fmax3273 fma  1   '12E+3'  '3446'   ->  '1.54E+4' Inexact Rounded
+fmax3274 fma  1   '12E+3'  '3449.9' ->  '1.54E+4' Inexact Rounded
+fmax3275 fma  1   '12E+3'  '3450.0' ->  '1.55E+4' Inexact Rounded
+fmax3276 fma  1   '12E+3'  '3450.1' ->  '1.55E+4' Inexact Rounded
+fmax3277 fma  1   '12E+3'  '3454'   ->  '1.55E+4' Inexact Rounded
+fmax3278 fma  1   '12E+3'  '3456'   ->  '1.55E+4' Inexact Rounded
+
+fmax3281 fma  1   '3444'   '12E+3'  ->  '1.54E+4' Inexact Rounded
+fmax3282 fma  1   '3446'   '12E+3'  ->  '1.54E+4' Inexact Rounded
+fmax3283 fma  1   '3449.9' '12E+3'  ->  '1.54E+4' Inexact Rounded
+fmax3284 fma  1   '3450.0' '12E+3'  ->  '1.55E+4' Inexact Rounded
+fmax3285 fma  1   '3450.1' '12E+3'  ->  '1.55E+4' Inexact Rounded
+fmax3286 fma  1   '3454'   '12E+3'  ->  '1.55E+4' Inexact Rounded
+fmax3287 fma  1   '3456'   '12E+3'  ->  '1.55E+4' Inexact Rounded
+
+rounding: half_down
+fmax3291 fma  1   '3444'   '12E+3'  ->  '1.54E+4' Inexact Rounded
+fmax3292 fma  1   '3446'   '12E+3'  ->  '1.54E+4' Inexact Rounded
+fmax3293 fma  1   '3449.9' '12E+3'  ->  '1.54E+4' Inexact Rounded
+fmax3294 fma  1   '3450.0' '12E+3'  ->  '1.54E+4' Inexact Rounded
+fmax3295 fma  1   '3450.1' '12E+3'  ->  '1.55E+4' Inexact Rounded
+fmax3296 fma  1   '3454'   '12E+3'  ->  '1.55E+4' Inexact Rounded
+fmax3297 fma  1   '3456'   '12E+3'  ->  '1.55E+4' Inexact Rounded
+
+-- 1 in last place tests
+rounding: half_up
+fmax3301 fma  1    -1   1      ->   0
+fmax3302 fma  1     0   1      ->   1
+fmax3303 fma  1     1   1      ->   2
+fmax3304 fma  1    12   1      ->  13
+fmax3305 fma  1    98   1      ->  99
+fmax3306 fma  1    99   1      -> 100
+fmax3307 fma  1   100   1      -> 101
+fmax3308 fma  1   101   1      -> 102
+fmax3309 fma  1    -1  -1      ->  -2
+fmax3310 fma  1     0  -1      ->  -1
+fmax3311 fma  1     1  -1      ->   0
+fmax3312 fma  1    12  -1      ->  11
+fmax3313 fma  1    98  -1      ->  97
+fmax3314 fma  1    99  -1      ->  98
+fmax3315 fma  1   100  -1      ->  99
+fmax3316 fma  1   101  -1      -> 100
+
+fmax3321 fma  1   -0.01  0.01    ->  0.00
+fmax3322 fma  1    0.00  0.01    ->  0.01
+fmax3323 fma  1    0.01  0.01    ->  0.02
+fmax3324 fma  1    0.12  0.01    ->  0.13
+fmax3325 fma  1    0.98  0.01    ->  0.99
+fmax3326 fma  1    0.99  0.01    ->  1.00
+fmax3327 fma  1    1.00  0.01    ->  1.01
+fmax3328 fma  1    1.01  0.01    ->  1.02
+fmax3329 fma  1   -0.01 -0.01    -> -0.02
+fmax3330 fma  1    0.00 -0.01    -> -0.01
+fmax3331 fma  1    0.01 -0.01    ->  0.00
+fmax3332 fma  1    0.12 -0.01    ->  0.11
+fmax3333 fma  1    0.98 -0.01    ->  0.97
+fmax3334 fma  1    0.99 -0.01    ->  0.98
+fmax3335 fma  1    1.00 -0.01    ->  0.99
+fmax3336 fma  1    1.01 -0.01    ->  1.00
+
+-- some more cases where fma  1  ing 0 affects the coefficient
+precision: 9
+fmax3340 fma  1   1E+3    0    ->         1000
+fmax3341 fma  1   1E+8    0    ->    100000000
+fmax3342 fma  1   1E+9    0    ->   1.00000000E+9   Rounded
+fmax3343 fma  1   1E+10   0    ->   1.00000000E+10  Rounded
+-- which simply follow from these cases ...
+fmax3344 fma  1   1E+3    1    ->         1001
+fmax3345 fma  1   1E+8    1    ->    100000001
+fmax3346 fma  1   1E+9    1    ->   1.00000000E+9   Inexact Rounded
+fmax3347 fma  1   1E+10   1    ->   1.00000000E+10  Inexact Rounded
+fmax3348 fma  1   1E+3    7    ->         1007
+fmax3349 fma  1   1E+8    7    ->    100000007
+fmax3350 fma  1   1E+9    7    ->   1.00000001E+9   Inexact Rounded
+fmax3351 fma  1   1E+10   7    ->   1.00000000E+10  Inexact Rounded
+
+-- tryzeros cases
+precision:   7
+rounding:    half_up
+maxExponent: 92
+minexponent: -92
+fmax3361  fma  1   0E+50 10000E+1  -> 1.0000E+5
+fmax3362  fma  1   10000E+1 0E-50  -> 100000.0  Rounded
+fmax3363  fma  1   10000E+1 10000E-50  -> 100000.0  Rounded Inexact
+fmax3364  fma  1   9.999999E+92 -9.999999E+92 -> 0E+86
+
+-- a curiosity from JSR 13 testing
+rounding:    half_down
+precision:   10
+fmax3370 fma  1   99999999 81512 -> 100081511
+precision:      6
+fmax3371 fma  1   99999999 81512 -> 1.00082E+8 Rounded Inexact
+rounding:    half_up
+precision:   10
+fmax3372 fma  1   99999999 81512 -> 100081511
+precision:      6
+fmax3373 fma  1   99999999 81512 -> 1.00082E+8 Rounded Inexact
+rounding:    half_even
+precision:   10
+fmax3374 fma  1   99999999 81512 -> 100081511
+precision:      6
+fmax3375 fma  1   99999999 81512 -> 1.00082E+8 Rounded Inexact
+
+-- ulp replacement tests
+precision: 9
+maxexponent: 999999
+minexponent: -999999
+fmax3400 fma  1     1   77e-7       ->  1.0000077
+fmax3401 fma  1     1   77e-8       ->  1.00000077
+fmax3402 fma  1     1   77e-9       ->  1.00000008 Inexact Rounded
+fmax3403 fma  1     1   77e-10      ->  1.00000001 Inexact Rounded
+fmax3404 fma  1     1   77e-11      ->  1.00000000 Inexact Rounded
+fmax3405 fma  1     1   77e-12      ->  1.00000000 Inexact Rounded
+fmax3406 fma  1     1   77e-999     ->  1.00000000 Inexact Rounded
+fmax3407 fma  1     1   77e-999999  ->  1.00000000 Inexact Rounded
+
+fmax3410 fma  1    10   77e-7       ->  10.0000077
+fmax3411 fma  1    10   77e-8       ->  10.0000008 Inexact Rounded
+fmax3412 fma  1    10   77e-9       ->  10.0000001 Inexact Rounded
+fmax3413 fma  1    10   77e-10      ->  10.0000000 Inexact Rounded
+fmax3414 fma  1    10   77e-11      ->  10.0000000 Inexact Rounded
+fmax3415 fma  1    10   77e-12      ->  10.0000000 Inexact Rounded
+fmax3416 fma  1    10   77e-999     ->  10.0000000 Inexact Rounded
+fmax3417 fma  1    10   77e-999999  ->  10.0000000 Inexact Rounded
+
+fmax3420 fma  1    77e-7        1   ->  1.0000077
+fmax3421 fma  1    77e-8        1   ->  1.00000077
+fmax3422 fma  1    77e-9        1   ->  1.00000008 Inexact Rounded
+fmax3423 fma  1    77e-10       1   ->  1.00000001 Inexact Rounded
+fmax3424 fma  1    77e-11       1   ->  1.00000000 Inexact Rounded
+fmax3425 fma  1    77e-12       1   ->  1.00000000 Inexact Rounded
+fmax3426 fma  1    77e-999      1   ->  1.00000000 Inexact Rounded
+fmax3427 fma  1    77e-999999   1   ->  1.00000000 Inexact Rounded
+
+fmax3430 fma  1    77e-7       10   ->  10.0000077
+fmax3431 fma  1    77e-8       10   ->  10.0000008 Inexact Rounded
+fmax3432 fma  1    77e-9       10   ->  10.0000001 Inexact Rounded
+fmax3433 fma  1    77e-10      10   ->  10.0000000 Inexact Rounded
+fmax3434 fma  1    77e-11      10   ->  10.0000000 Inexact Rounded
+fmax3435 fma  1    77e-12      10   ->  10.0000000 Inexact Rounded
+fmax3436 fma  1    77e-999     10   ->  10.0000000 Inexact Rounded
+fmax3437 fma  1    77e-999999  10   ->  10.0000000 Inexact Rounded
+
+-- negative ulps
+fmax3440 fma  1     1   -77e-7       ->  0.9999923
+fmax3441 fma  1     1   -77e-8       ->  0.99999923
+fmax3442 fma  1     1   -77e-9       ->  0.999999923
+fmax3443 fma  1     1   -77e-10      ->  0.999999992 Inexact Rounded
+fmax3444 fma  1     1   -77e-11      ->  0.999999999 Inexact Rounded
+fmax3445 fma  1     1   -77e-12      ->  1.00000000 Inexact Rounded
+fmax3446 fma  1     1   -77e-999     ->  1.00000000 Inexact Rounded
+fmax3447 fma  1     1   -77e-999999  ->  1.00000000 Inexact Rounded
+
+fmax3450 fma  1    10   -77e-7       ->   9.9999923
+fmax3451 fma  1    10   -77e-8       ->   9.99999923
+fmax3452 fma  1    10   -77e-9       ->   9.99999992 Inexact Rounded
+fmax3453 fma  1    10   -77e-10      ->   9.99999999 Inexact Rounded
+fmax3454 fma  1    10   -77e-11      ->  10.0000000 Inexact Rounded
+fmax3455 fma  1    10   -77e-12      ->  10.0000000 Inexact Rounded
+fmax3456 fma  1    10   -77e-999     ->  10.0000000 Inexact Rounded
+fmax3457 fma  1    10   -77e-999999  ->  10.0000000 Inexact Rounded
+
+fmax3460 fma  1    -77e-7        1   ->  0.9999923
+fmax3461 fma  1    -77e-8        1   ->  0.99999923
+fmax3462 fma  1    -77e-9        1   ->  0.999999923
+fmax3463 fma  1    -77e-10       1   ->  0.999999992 Inexact Rounded
+fmax3464 fma  1    -77e-11       1   ->  0.999999999 Inexact Rounded
+fmax3465 fma  1    -77e-12       1   ->  1.00000000 Inexact Rounded
+fmax3466 fma  1    -77e-999      1   ->  1.00000000 Inexact Rounded
+fmax3467 fma  1    -77e-999999   1   ->  1.00000000 Inexact Rounded
+
+fmax3470 fma  1    -77e-7       10   ->   9.9999923
+fmax3471 fma  1    -77e-8       10   ->   9.99999923
+fmax3472 fma  1    -77e-9       10   ->   9.99999992 Inexact Rounded
+fmax3473 fma  1    -77e-10      10   ->   9.99999999 Inexact Rounded
+fmax3474 fma  1    -77e-11      10   ->  10.0000000 Inexact Rounded
+fmax3475 fma  1    -77e-12      10   ->  10.0000000 Inexact Rounded
+fmax3476 fma  1    -77e-999     10   ->  10.0000000 Inexact Rounded
+fmax3477 fma  1    -77e-999999  10   ->  10.0000000 Inexact Rounded
+
+-- negative ulps
+fmax3480 fma  1    -1    77e-7       ->  -0.9999923
+fmax3481 fma  1    -1    77e-8       ->  -0.99999923
+fmax3482 fma  1    -1    77e-9       ->  -0.999999923
+fmax3483 fma  1    -1    77e-10      ->  -0.999999992 Inexact Rounded
+fmax3484 fma  1    -1    77e-11      ->  -0.999999999 Inexact Rounded
+fmax3485 fma  1    -1    77e-12      ->  -1.00000000 Inexact Rounded
+fmax3486 fma  1    -1    77e-999     ->  -1.00000000 Inexact Rounded
+fmax3487 fma  1    -1    77e-999999  ->  -1.00000000 Inexact Rounded
+
+fmax3490 fma  1   -10    77e-7       ->   -9.9999923
+fmax3491 fma  1   -10    77e-8       ->   -9.99999923
+fmax3492 fma  1   -10    77e-9       ->   -9.99999992 Inexact Rounded
+fmax3493 fma  1   -10    77e-10      ->   -9.99999999 Inexact Rounded
+fmax3494 fma  1   -10    77e-11      ->  -10.0000000 Inexact Rounded
+fmax3495 fma  1   -10    77e-12      ->  -10.0000000 Inexact Rounded
+fmax3496 fma  1   -10    77e-999     ->  -10.0000000 Inexact Rounded
+fmax3497 fma  1   -10    77e-999999  ->  -10.0000000 Inexact Rounded
+
+fmax3500 fma  1     77e-7       -1   ->  -0.9999923
+fmax3501 fma  1     77e-8       -1   ->  -0.99999923
+fmax3502 fma  1     77e-9       -1   ->  -0.999999923
+fmax3503 fma  1     77e-10      -1   ->  -0.999999992 Inexact Rounded
+fmax3504 fma  1     77e-11      -1   ->  -0.999999999 Inexact Rounded
+fmax3505 fma  1     77e-12      -1   ->  -1.00000000 Inexact Rounded
+fmax3506 fma  1     77e-999     -1   ->  -1.00000000 Inexact Rounded
+fmax3507 fma  1     77e-999999  -1   ->  -1.00000000 Inexact Rounded
+
+fmax3510 fma  1     77e-7       -10  ->   -9.9999923
+fmax3511 fma  1     77e-8       -10  ->   -9.99999923
+fmax3512 fma  1     77e-9       -10  ->   -9.99999992 Inexact Rounded
+fmax3513 fma  1     77e-10      -10  ->   -9.99999999 Inexact Rounded
+fmax3514 fma  1     77e-11      -10  ->  -10.0000000 Inexact Rounded
+fmax3515 fma  1     77e-12      -10  ->  -10.0000000 Inexact Rounded
+fmax3516 fma  1     77e-999     -10  ->  -10.0000000 Inexact Rounded
+fmax3517 fma  1     77e-999999  -10  ->  -10.0000000 Inexact Rounded
+
+
+-- long operands
+maxexponent: 999
+minexponent: -999
+precision: 9
+fmax3521 fma  1   12345678000 0 -> 1.23456780E+10 Rounded
+fmax3522 fma  1   0 12345678000 -> 1.23456780E+10 Rounded
+fmax3523 fma  1   1234567800  0 -> 1.23456780E+9 Rounded
+fmax3524 fma  1   0 1234567800  -> 1.23456780E+9 Rounded
+fmax3525 fma  1   1234567890  0 -> 1.23456789E+9 Rounded
+fmax3526 fma  1   0 1234567890  -> 1.23456789E+9 Rounded
+fmax3527 fma  1   1234567891  0 -> 1.23456789E+9 Inexact Rounded
+fmax3528 fma  1   0 1234567891  -> 1.23456789E+9 Inexact Rounded
+fmax3529 fma  1   12345678901 0 -> 1.23456789E+10 Inexact Rounded
+fmax3530 fma  1   0 12345678901 -> 1.23456789E+10 Inexact Rounded
+fmax3531 fma  1   1234567896  0 -> 1.23456790E+9 Inexact Rounded
+fmax3532 fma  1   0 1234567896  -> 1.23456790E+9 Inexact Rounded
+
+precision: 15
+-- still checking
+fmax3541 fma  1   12345678000 0 -> 12345678000
+fmax3542 fma  1   0 12345678000 -> 12345678000
+fmax3543 fma  1   1234567800  0 -> 1234567800
+fmax3544 fma  1   0 1234567800  -> 1234567800
+fmax3545 fma  1   1234567890  0 -> 1234567890
+fmax3546 fma  1   0 1234567890  -> 1234567890
+fmax3547 fma  1   1234567891  0 -> 1234567891
+fmax3548 fma  1   0 1234567891  -> 1234567891
+fmax3549 fma  1   12345678901 0 -> 12345678901
+fmax3550 fma  1   0 12345678901 -> 12345678901
+fmax3551 fma  1   1234567896  0 -> 1234567896
+fmax3552 fma  1   0 1234567896  -> 1234567896
+
+-- verify a query
+precision:    16
+maxExponent: +394
+minExponent: -393
+rounding:     down
+fmax3561 fma  1   1e-398 9.000000000000000E+384 -> 9.000000000000000E+384 Inexact Rounded
+fmax3562 fma  1        0 9.000000000000000E+384 -> 9.000000000000000E+384 Rounded
+-- and using decimal64 bounds...
+precision:    16
+maxExponent: +384
+minExponent: -383
+rounding:     down
+fmax3563 fma  1   1e-388 9.000000000000000E+374 -> 9.000000000000000E+374 Inexact Rounded
+fmax3564 fma  1        0 9.000000000000000E+374 -> 9.000000000000000E+374 Rounded
+
+
+-- some more residue effects with extreme rounding
+precision:   9
+rounding: half_up
+fmax3601 fma  1   123456789  0.000001 -> 123456789 Inexact Rounded
+rounding: half_even
+fmax3602 fma  1   123456789  0.000001 -> 123456789 Inexact Rounded
+rounding: half_down
+fmax3603 fma  1   123456789  0.000001 -> 123456789 Inexact Rounded
+rounding: floor
+fmax3604 fma  1   123456789  0.000001 -> 123456789 Inexact Rounded
+rounding: ceiling
+fmax3605 fma  1   123456789  0.000001 -> 123456790 Inexact Rounded
+rounding: up
+fmax3606 fma  1   123456789  0.000001 -> 123456790 Inexact Rounded
+rounding: down
+fmax3607 fma  1   123456789  0.000001 -> 123456789 Inexact Rounded
+
+rounding: half_up
+fmax3611 fma  1   123456789 -0.000001 -> 123456789 Inexact Rounded
+rounding: half_even
+fmax3612 fma  1   123456789 -0.000001 -> 123456789 Inexact Rounded
+rounding: half_down
+fmax3613 fma  1   123456789 -0.000001 -> 123456789 Inexact Rounded
+rounding: floor
+fmax3614 fma  1   123456789 -0.000001 -> 123456788 Inexact Rounded
+rounding: ceiling
+fmax3615 fma  1   123456789 -0.000001 -> 123456789 Inexact Rounded
+rounding: up
+fmax3616 fma  1   123456789 -0.000001 -> 123456789 Inexact Rounded
+rounding: down
+fmax3617 fma  1   123456789 -0.000001 -> 123456788 Inexact Rounded
+
+rounding: half_up
+fmax3621 fma  1   123456789  0.499999 -> 123456789 Inexact Rounded
+rounding: half_even
+fmax3622 fma  1   123456789  0.499999 -> 123456789 Inexact Rounded
+rounding: half_down
+fmax3623 fma  1   123456789  0.499999 -> 123456789 Inexact Rounded
+rounding: floor
+fmax3624 fma  1   123456789  0.499999 -> 123456789 Inexact Rounded
+rounding: ceiling
+fmax3625 fma  1   123456789  0.499999 -> 123456790 Inexact Rounded
+rounding: up
+fmax3626 fma  1   123456789  0.499999 -> 123456790 Inexact Rounded
+rounding: down
+fmax3627 fma  1   123456789  0.499999 -> 123456789 Inexact Rounded
+
+rounding: half_up
+fmax3631 fma  1   123456789 -0.499999 -> 123456789 Inexact Rounded
+rounding: half_even
+fmax3632 fma  1   123456789 -0.499999 -> 123456789 Inexact Rounded
+rounding: half_down
+fmax3633 fma  1   123456789 -0.499999 -> 123456789 Inexact Rounded
+rounding: floor
+fmax3634 fma  1   123456789 -0.499999 -> 123456788 Inexact Rounded
+rounding: ceiling
+fmax3635 fma  1   123456789 -0.499999 -> 123456789 Inexact Rounded
+rounding: up
+fmax3636 fma  1   123456789 -0.499999 -> 123456789 Inexact Rounded
+rounding: down
+fmax3637 fma  1   123456789 -0.499999 -> 123456788 Inexact Rounded
+
+rounding: half_up
+fmax3641 fma  1   123456789  0.500001 -> 123456790 Inexact Rounded
+rounding: half_even
+fmax3642 fma  1   123456789  0.500001 -> 123456790 Inexact Rounded
+rounding: half_down
+fmax3643 fma  1   123456789  0.500001 -> 123456790 Inexact Rounded
+rounding: floor
+fmax3644 fma  1   123456789  0.500001 -> 123456789 Inexact Rounded
+rounding: ceiling
+fmax3645 fma  1   123456789  0.500001 -> 123456790 Inexact Rounded
+rounding: up
+fmax3646 fma  1   123456789  0.500001 -> 123456790 Inexact Rounded
+rounding: down
+fmax3647 fma  1   123456789  0.500001 -> 123456789 Inexact Rounded
+
+rounding: half_up
+fmax3651 fma  1   123456789 -0.500001 -> 123456788 Inexact Rounded
+rounding: half_even
+fmax3652 fma  1   123456789 -0.500001 -> 123456788 Inexact Rounded
+rounding: half_down
+fmax3653 fma  1   123456789 -0.500001 -> 123456788 Inexact Rounded
+rounding: floor
+fmax3654 fma  1   123456789 -0.500001 -> 123456788 Inexact Rounded
+rounding: ceiling
+fmax3655 fma  1   123456789 -0.500001 -> 123456789 Inexact Rounded
+rounding: up
+fmax3656 fma  1   123456789 -0.500001 -> 123456789 Inexact Rounded
+rounding: down
+fmax3657 fma  1   123456789 -0.500001 -> 123456788 Inexact Rounded
+
+-- long operand triangle
+rounding: half_up
+precision:  37
+fmax3660 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211023638922337114834538
+precision:  36
+fmax3661 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221102363892233711483454  Inexact Rounded
+precision:  35
+fmax3662 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422110236389223371148345   Inexact Rounded
+precision:  34
+fmax3663 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211023638922337114835    Inexact Rounded
+precision:  33
+fmax3664 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221102363892233711483     Inexact Rounded
+precision:  32
+fmax3665 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422110236389223371148      Inexact Rounded
+precision:  31
+fmax3666 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211023638922337115       Inexact Rounded
+precision:  30
+fmax3667 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221102363892233711        Inexact Rounded
+precision:  29
+fmax3668 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422110236389223371         Inexact Rounded
+precision:  28
+fmax3669 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211023638922337          Inexact Rounded
+precision:  27
+fmax3670 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221102363892234           Inexact Rounded
+precision:  26
+fmax3671 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422110236389223            Inexact Rounded
+precision:  25
+fmax3672 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211023638922             Inexact Rounded
+precision:  24
+fmax3673 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221102363892              Inexact Rounded
+precision:  23
+fmax3674 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422110236389               Inexact Rounded
+precision:  22
+fmax3675 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211023639                Inexact Rounded
+precision:  21
+fmax3676 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221102364                 Inexact Rounded
+precision:  20
+fmax3677 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422110236                  Inexact Rounded
+precision:  19
+fmax3678 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211024                   Inexact Rounded
+precision:  18
+fmax3679 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221102                    Inexact Rounded
+precision:  17
+fmax3680 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422110                     Inexact Rounded
+precision:  16
+fmax3681 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211                      Inexact Rounded
+precision:  15
+fmax3682 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221                       Inexact Rounded
+precision:  14
+fmax3683 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422                        Inexact Rounded
+precision:  13
+fmax3684 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42                         Inexact Rounded
+precision:  12
+fmax3685 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4                          Inexact Rounded
+precision:  11
+fmax3686 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166                            Inexact Rounded
+precision:  10
+fmax3687 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.847117417E+10                        Inexact Rounded
+precision:   9
+fmax3688 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.84711742E+10                         Inexact Rounded
+precision:   8
+fmax3689 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.8471174E+10                          Inexact Rounded
+precision:   7
+fmax3690 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.847117E+10                          Inexact Rounded
+precision:   6
+fmax3691 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.84712E+10                          Inexact Rounded
+precision:   5
+fmax3692 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.8471E+10                          Inexact Rounded
+precision:   4
+fmax3693 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.847E+10                          Inexact Rounded
+precision:   3
+fmax3694 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.85E+10                          Inexact Rounded
+precision:   2
+fmax3695 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.8E+10                          Inexact Rounded
+precision:   1
+fmax3696 fma  1   98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 1E+11                          Inexact Rounded
+
+-- more zeros, etc.
+rounding: half_up
+precision:   9
+
+fmax3701 fma  1   5.00 1.00E-3 -> 5.00100
+fmax3702 fma  1   00.00 0.000  -> 0.000
+fmax3703 fma  1   00.00 0E-3   -> 0.000
+fmax3704 fma  1   0E-3  00.00  -> 0.000
+
+fmax3710 fma  1   0E+3  00.00  -> 0.00
+fmax3711 fma  1   0E+3  00.0   -> 0.0
+fmax3712 fma  1   0E+3  00.    -> 0
+fmax3713 fma  1   0E+3  00.E+1 -> 0E+1
+fmax3714 fma  1   0E+3  00.E+2 -> 0E+2
+fmax3715 fma  1   0E+3  00.E+3 -> 0E+3
+fmax3716 fma  1   0E+3  00.E+4 -> 0E+3
+fmax3717 fma  1   0E+3  00.E+5 -> 0E+3
+fmax3718 fma  1   0E+3  -00.0   -> 0.0
+fmax3719 fma  1   0E+3  -00.    -> 0
+fmax3731 fma  1   0E+3  -00.E+1 -> 0E+1
+
+fmax3720 fma  1   00.00  0E+3  -> 0.00
+fmax3721 fma  1   00.0   0E+3  -> 0.0
+fmax3722 fma  1   00.    0E+3  -> 0
+fmax3723 fma  1   00.E+1 0E+3  -> 0E+1
+fmax3724 fma  1   00.E+2 0E+3  -> 0E+2
+fmax3725 fma  1   00.E+3 0E+3  -> 0E+3
+fmax3726 fma  1   00.E+4 0E+3  -> 0E+3
+fmax3727 fma  1   00.E+5 0E+3  -> 0E+3
+fmax3728 fma  1   -00.00 0E+3  -> 0.00
+fmax3729 fma  1   -00.0  0E+3  -> 0.0
+fmax3730 fma  1   -00.   0E+3  -> 0
+
+fmax3732 fma  1    0     0     ->  0
+fmax3733 fma  1    0    -0     ->  0
+fmax3734 fma  1   -0     0     ->  0
+fmax3735 fma  1   -0    -0     -> -0     -- IEEE 854 special case
+
+fmax3736 fma  1    1    -1     ->  0
+fmax3737 fma  1   -1    -1     -> -2
+fmax3738 fma  1    1     1     ->  2
+fmax3739 fma  1   -1     1     ->  0
+
+fmax3741 fma  1    0    -1     -> -1
+fmax3742 fma  1   -0    -1     -> -1
+fmax3743 fma  1    0     1     ->  1
+fmax3744 fma  1   -0     1     ->  1
+fmax3745 fma  1   -1     0     -> -1
+fmax3746 fma  1   -1    -0     -> -1
+fmax3747 fma  1    1     0     ->  1
+fmax3748 fma  1    1    -0     ->  1
+
+fmax3751 fma  1    0.0  -1     -> -1.0
+fmax3752 fma  1   -0.0  -1     -> -1.0
+fmax3753 fma  1    0.0   1     ->  1.0
+fmax3754 fma  1   -0.0   1     ->  1.0
+fmax3755 fma  1   -1.0   0     -> -1.0
+fmax3756 fma  1   -1.0  -0     -> -1.0
+fmax3757 fma  1    1.0   0     ->  1.0
+fmax3758 fma  1    1.0  -0     ->  1.0
+
+fmax3761 fma  1    0    -1.0   -> -1.0
+fmax3762 fma  1   -0    -1.0   -> -1.0
+fmax3763 fma  1    0     1.0   ->  1.0
+fmax3764 fma  1   -0     1.0   ->  1.0
+fmax3765 fma  1   -1     0.0   -> -1.0
+fmax3766 fma  1   -1    -0.0   -> -1.0
+fmax3767 fma  1    1     0.0   ->  1.0
+fmax3768 fma  1    1    -0.0   ->  1.0
+
+fmax3771 fma  1    0.0  -1.0   -> -1.0
+fmax3772 fma  1   -0.0  -1.0   -> -1.0
+fmax3773 fma  1    0.0   1.0   ->  1.0
+fmax3774 fma  1   -0.0   1.0   ->  1.0
+fmax3775 fma  1   -1.0   0.0   -> -1.0
+fmax3776 fma  1   -1.0  -0.0   -> -1.0
+fmax3777 fma  1    1.0   0.0   ->  1.0
+fmax3778 fma  1    1.0  -0.0   ->  1.0
+
+-- Specials
+fmax3780 fma  1   -Inf  -Inf   -> -Infinity
+fmax3781 fma  1   -Inf  -1000  -> -Infinity
+fmax3782 fma  1   -Inf  -1     -> -Infinity
+fmax3783 fma  1   -Inf  -0     -> -Infinity
+fmax3784 fma  1   -Inf   0     -> -Infinity
+fmax3785 fma  1   -Inf   1     -> -Infinity
+fmax3786 fma  1   -Inf   1000  -> -Infinity
+fmax3787 fma  1   -1000 -Inf   -> -Infinity
+fmax3788 fma  1   -Inf  -Inf   -> -Infinity
+fmax3789 fma  1   -1    -Inf   -> -Infinity
+fmax3790 fma  1   -0    -Inf   -> -Infinity
+fmax3791 fma  1    0    -Inf   -> -Infinity
+fmax3792 fma  1    1    -Inf   -> -Infinity
+fmax3793 fma  1    1000 -Inf   -> -Infinity
+fmax3794 fma  1    Inf  -Inf   ->  NaN  Invalid_operation
+
+fmax3800 fma  1    Inf  -Inf   ->  NaN  Invalid_operation
+fmax3801 fma  1    Inf  -1000  ->  Infinity
+fmax3802 fma  1    Inf  -1     ->  Infinity
+fmax3803 fma  1    Inf  -0     ->  Infinity
+fmax3804 fma  1    Inf   0     ->  Infinity
+fmax3805 fma  1    Inf   1     ->  Infinity
+fmax3806 fma  1    Inf   1000  ->  Infinity
+fmax3807 fma  1    Inf   Inf   ->  Infinity
+fmax3808 fma  1   -1000  Inf   ->  Infinity
+fmax3809 fma  1   -Inf   Inf   ->  NaN  Invalid_operation
+fmax3810 fma  1   -1     Inf   ->  Infinity
+fmax3811 fma  1   -0     Inf   ->  Infinity
+fmax3812 fma  1    0     Inf   ->  Infinity
+fmax3813 fma  1    1     Inf   ->  Infinity
+fmax3814 fma  1    1000  Inf   ->  Infinity
+fmax3815 fma  1    Inf   Inf   ->  Infinity
+
+fmax3821 fma  1    NaN -Inf    ->  NaN
+fmax3822 fma  1    NaN -1000   ->  NaN
+fmax3823 fma  1    NaN -1      ->  NaN
+fmax3824 fma  1    NaN -0      ->  NaN
+fmax3825 fma  1    NaN  0      ->  NaN
+fmax3826 fma  1    NaN  1      ->  NaN
+fmax3827 fma  1    NaN  1000   ->  NaN
+fmax3828 fma  1    NaN  Inf    ->  NaN
+fmax3829 fma  1    NaN  NaN    ->  NaN
+fmax3830 fma  1   -Inf  NaN    ->  NaN
+fmax3831 fma  1   -1000 NaN    ->  NaN
+fmax3832 fma  1   -1    NaN    ->  NaN
+fmax3833 fma  1   -0    NaN    ->  NaN
+fmax3834 fma  1    0    NaN    ->  NaN
+fmax3835 fma  1    1    NaN    ->  NaN
+fmax3836 fma  1    1000 NaN    ->  NaN
+fmax3837 fma  1    Inf  NaN    ->  NaN
+
+fmax3841 fma  1    sNaN -Inf   ->  NaN  Invalid_operation
+fmax3842 fma  1    sNaN -1000  ->  NaN  Invalid_operation
+fmax3843 fma  1    sNaN -1     ->  NaN  Invalid_operation
+fmax3844 fma  1    sNaN -0     ->  NaN  Invalid_operation
+fmax3845 fma  1    sNaN  0     ->  NaN  Invalid_operation
+fmax3846 fma  1    sNaN  1     ->  NaN  Invalid_operation
+fmax3847 fma  1    sNaN  1000  ->  NaN  Invalid_operation
+fmax3848 fma  1    sNaN  NaN   ->  NaN  Invalid_operation
+fmax3849 fma  1    sNaN sNaN   ->  NaN  Invalid_operation
+fmax3850 fma  1    NaN  sNaN   ->  NaN  Invalid_operation
+fmax3851 fma  1   -Inf  sNaN   ->  NaN  Invalid_operation
+fmax3852 fma  1   -1000 sNaN   ->  NaN  Invalid_operation
+fmax3853 fma  1   -1    sNaN   ->  NaN  Invalid_operation
+fmax3854 fma  1   -0    sNaN   ->  NaN  Invalid_operation
+fmax3855 fma  1    0    sNaN   ->  NaN  Invalid_operation
+fmax3856 fma  1    1    sNaN   ->  NaN  Invalid_operation
+fmax3857 fma  1    1000 sNaN   ->  NaN  Invalid_operation
+fmax3858 fma  1    Inf  sNaN   ->  NaN  Invalid_operation
+fmax3859 fma  1    NaN  sNaN   ->  NaN  Invalid_operation
+
+-- propagating NaNs
+fmax3861 fma  1    NaN1   -Inf    ->  NaN1
+fmax3862 fma  1   +NaN2   -1000   ->  NaN2
+fmax3863 fma  1    NaN3    1000   ->  NaN3
+fmax3864 fma  1    NaN4    Inf    ->  NaN4
+fmax3865 fma  1    NaN5   +NaN6   ->  NaN5
+fmax3866 fma  1   -Inf     NaN7   ->  NaN7
+fmax3867 fma  1   -1000    NaN8   ->  NaN8
+fmax3868 fma  1    1000    NaN9   ->  NaN9
+fmax3869 fma  1    Inf    +NaN10  ->  NaN10
+fmax3871 fma  1    sNaN11  -Inf   ->  NaN11  Invalid_operation
+fmax3872 fma  1    sNaN12  -1000  ->  NaN12  Invalid_operation
+fmax3873 fma  1    sNaN13   1000  ->  NaN13  Invalid_operation
+fmax3874 fma  1    sNaN14   NaN17 ->  NaN14  Invalid_operation
+fmax3875 fma  1    sNaN15  sNaN18 ->  NaN15  Invalid_operation
+fmax3876 fma  1    NaN16   sNaN19 ->  NaN19  Invalid_operation
+fmax3877 fma  1   -Inf    +sNaN20 ->  NaN20  Invalid_operation
+fmax3878 fma  1   -1000    sNaN21 ->  NaN21  Invalid_operation
+fmax3879 fma  1    1000    sNaN22 ->  NaN22  Invalid_operation
+fmax3880 fma  1    Inf     sNaN23 ->  NaN23  Invalid_operation
+fmax3881 fma  1   +NaN25  +sNaN24 ->  NaN24  Invalid_operation
+fmax3882 fma  1   -NaN26    NaN28 -> -NaN26
+fmax3883 fma  1   -sNaN27  sNaN29 -> -NaN27  Invalid_operation
+fmax3884 fma  1    1000    -NaN30 -> -NaN30
+fmax3885 fma  1    1000   -sNaN31 -> -NaN31  Invalid_operation
+
+-- overflow, underflow and subnormal tests
+maxexponent: 999999
+minexponent: -999999
+precision: 9
+fmax3890 fma  1   1E+999999     9E+999999   -> Infinity Overflow Inexact Rounded
+fmax3891 fma  1   9E+999999     1E+999999   -> Infinity Overflow Inexact Rounded
+fmax3892 fma  1   -1.1E-999999  1E-999999   -> -1E-1000000    Subnormal
+fmax3893 fma  1   1E-999999    -1.1e-999999 -> -1E-1000000    Subnormal
+fmax3894 fma  1   -1.0001E-999999  1E-999999   -> -1E-1000003 Subnormal
+fmax3895 fma  1   1E-999999    -1.0001e-999999 -> -1E-1000003 Subnormal
+fmax3896 fma  1   -1E+999999   -9E+999999   -> -Infinity Overflow Inexact Rounded
+fmax3897 fma  1   -9E+999999   -1E+999999   -> -Infinity Overflow Inexact Rounded
+fmax3898 fma  1   +1.1E-999999 -1E-999999   -> 1E-1000000   Subnormal
+fmax3899 fma  1   -1E-999999   +1.1e-999999 -> 1E-1000000    Subnormal
+fmax3900 fma  1   +1.0001E-999999 -1E-999999   -> 1E-1000003 Subnormal
+fmax3901 fma  1   -1E-999999   +1.0001e-999999 -> 1E-1000003 Subnormal
+fmax3902 fma  1   -1E+999999   +9E+999999   ->  8E+999999
+fmax3903 fma  1   -9E+999999   +1E+999999   -> -8E+999999
+
+precision: 3
+fmax3904 fma  1        0 -9.999E+999999   -> -Infinity Inexact Overflow Rounded
+fmax3905 fma  1          -9.999E+999999 0 -> -Infinity Inexact Overflow Rounded
+fmax3906 fma  1        0  9.999E+999999   ->  Infinity Inexact Overflow Rounded
+fmax3907 fma  1           9.999E+999999 0 ->  Infinity Inexact Overflow Rounded
+
+precision: 3
+maxexponent: 999
+minexponent: -999
+fmax3910 fma  1    1.00E-999   0    ->   1.00E-999
+fmax3911 fma  1    0.1E-999    0    ->   1E-1000   Subnormal
+fmax3912 fma  1    0.10E-999   0    ->   1.0E-1000 Subnormal
+fmax3913 fma  1    0.100E-999  0    ->   1.0E-1000 Subnormal Rounded
+fmax3914 fma  1    0.01E-999   0    ->   1E-1001   Subnormal
+-- next is rounded to Nmin
+fmax3915 fma  1    0.999E-999  0    ->   1.00E-999 Inexact Rounded Subnormal Underflow
+fmax3916 fma  1    0.099E-999  0    ->   1.0E-1000 Inexact Rounded Subnormal Underflow
+fmax3917 fma  1    0.009E-999  0    ->   1E-1001   Inexact Rounded Subnormal Underflow
+fmax3918 fma  1    0.001E-999  0    ->   0E-1001   Inexact Rounded Subnormal Underflow Clamped
+fmax3919 fma  1    0.0009E-999 0    ->   0E-1001   Inexact Rounded Subnormal Underflow Clamped
+fmax3920 fma  1    0.0001E-999 0    ->   0E-1001   Inexact Rounded Subnormal Underflow Clamped
+
+fmax3930 fma  1   -1.00E-999   0    ->  -1.00E-999
+fmax3931 fma  1   -0.1E-999    0    ->  -1E-1000   Subnormal
+fmax3932 fma  1   -0.10E-999   0    ->  -1.0E-1000 Subnormal
+fmax3933 fma  1   -0.100E-999  0    ->  -1.0E-1000 Subnormal Rounded
+fmax3934 fma  1   -0.01E-999   0    ->  -1E-1001   Subnormal
+-- next is rounded to Nmin
+fmax3935 fma  1   -0.999E-999  0    ->  -1.00E-999 Inexact Rounded Subnormal Underflow
+fmax3936 fma  1   -0.099E-999  0    ->  -1.0E-1000 Inexact Rounded Subnormal Underflow
+fmax3937 fma  1   -0.009E-999  0    ->  -1E-1001   Inexact Rounded Subnormal Underflow
+fmax3938 fma  1   -0.001E-999  0    ->  -0E-1001   Inexact Rounded Subnormal Underflow Clamped
+fmax3939 fma  1   -0.0009E-999 0    ->  -0E-1001   Inexact Rounded Subnormal Underflow Clamped
+fmax3940 fma  1   -0.0001E-999 0    ->  -0E-1001   Inexact Rounded Subnormal Underflow Clamped
+
+-- some non-zero subnormal fma  1  s
+fmax3950 fma  1    1.00E-999    0.1E-999  ->   1.10E-999
+fmax3951 fma  1    0.1E-999     0.1E-999  ->   2E-1000    Subnormal
+fmax3952 fma  1    0.10E-999    0.1E-999  ->   2.0E-1000  Subnormal
+fmax3953 fma  1    0.100E-999   0.1E-999  ->   2.0E-1000  Subnormal Rounded
+fmax3954 fma  1    0.01E-999    0.1E-999  ->   1.1E-1000  Subnormal
+fmax3955 fma  1    0.999E-999   0.1E-999  ->   1.10E-999  Inexact Rounded
+fmax3956 fma  1    0.099E-999   0.1E-999  ->   2.0E-1000  Inexact Rounded Subnormal Underflow
+fmax3957 fma  1    0.009E-999   0.1E-999  ->   1.1E-1000  Inexact Rounded Subnormal Underflow
+fmax3958 fma  1    0.001E-999   0.1E-999  ->   1.0E-1000  Inexact Rounded Subnormal Underflow
+fmax3959 fma  1    0.0009E-999  0.1E-999  ->   1.0E-1000  Inexact Rounded Subnormal Underflow
+fmax3960 fma  1    0.0001E-999  0.1E-999  ->   1.0E-1000  Inexact Rounded Subnormal Underflow
+-- negatives...
+fmax3961 fma  1    1.00E-999   -0.1E-999  ->   9.0E-1000  Subnormal
+fmax3962 fma  1    0.1E-999    -0.1E-999  ->   0E-1000
+fmax3963 fma  1    0.10E-999   -0.1E-999  ->   0E-1001
+fmax3964 fma  1    0.100E-999  -0.1E-999  ->   0E-1001    Clamped
+fmax3965 fma  1    0.01E-999   -0.1E-999  ->   -9E-1001   Subnormal
+fmax3966 fma  1    0.999E-999  -0.1E-999  ->   9.0E-1000  Inexact Rounded Subnormal Underflow
+fmax3967 fma  1    0.099E-999  -0.1E-999  ->   -0E-1001   Inexact Rounded Subnormal Underflow Clamped
+fmax3968 fma  1    0.009E-999  -0.1E-999  ->   -9E-1001   Inexact Rounded Subnormal Underflow
+fmax3969 fma  1    0.001E-999  -0.1E-999  ->   -1.0E-1000 Inexact Rounded Subnormal Underflow
+fmax3970 fma  1    0.0009E-999 -0.1E-999  ->   -1.0E-1000 Inexact Rounded Subnormal Underflow
+fmax3971 fma  1    0.0001E-999 -0.1E-999  ->   -1.0E-1000 Inexact Rounded Subnormal Underflow
+
+-- some 'real' numbers
+maxExponent: 384
+minExponent: -383
+precision: 8
+fmax3566 fma  1   99999061735E-394  0E-394 -> 9.999906E-384 Inexact Rounded Underflow Subnormal
+precision: 7
+fmax3567 fma  1   99999061735E-394  0E-394 -> 9.99991E-384 Inexact Rounded Underflow Subnormal
+precision: 6
+fmax3568 fma  1   99999061735E-394  0E-394 -> 9.9999E-384 Inexact Rounded Underflow Subnormal
+
+-- now the case where we can get underflow but the result is normal
+-- [note this can't happen if the operands are also bounded, as we
+-- cannot represent 1E-399, for example]
+precision:   16
+rounding:    half_up
+maxExponent: 384
+minExponent: -383
+
+fmax3571 fma  1         1E-383       0  -> 1E-383
+fmax3572 fma  1         1E-384       0  -> 1E-384   Subnormal
+fmax3573 fma  1         1E-383  1E-384  -> 1.1E-383
+fmax3574 subtract  1E-383  1E-384  ->   9E-384 Subnormal
+
+-- Here we explore the boundary of rounding a subnormal to Nmin
+fmax3575 subtract  1E-383  1E-398  ->   9.99999999999999E-384  Subnormal
+fmax3576 subtract  1E-383  1E-398  ->   9.99999999999999E-384  Subnormal
+fmax3577 subtract  1E-383  1E-399  ->   1.000000000000000E-383 Underflow Inexact Subnormal Rounded
+fmax3578 subtract  1E-383  1E-400  ->   1.000000000000000E-383 Underflow Inexact Subnormal Rounded
+fmax3579 subtract  1E-383  1E-401  ->   1.000000000000000E-383 Underflow Inexact Subnormal Rounded
+fmax3580 subtract  1E-383  1E-402  ->   1.000000000000000E-383 Underflow Inexact Subnormal Rounded
+
+-- check for double-rounded subnormals
+precision:   5
+maxexponent: 79
+minexponent: -79
+-- Add: lhs and rhs 0
+fmax31001 fma  1         1.52444E-80 0 -> 1.524E-80 Inexact Rounded Subnormal Underflow
+fmax31002 fma  1         1.52445E-80 0 -> 1.524E-80 Inexact Rounded Subnormal Underflow
+fmax31003 fma  1         1.52446E-80 0 -> 1.524E-80 Inexact Rounded Subnormal Underflow
+fmax31004 fma  1         0 1.52444E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow
+fmax31005 fma  1         0 1.52445E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow
+fmax31006 fma  1         0 1.52446E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow
+
+-- Add: lhs >> rhs and vice versa
+fmax31011 fma  1         1.52444E-80 1E-100 -> 1.524E-80 Inexact Rounded Subnormal Underflow
+fmax31012 fma  1         1.52445E-80 1E-100 -> 1.524E-80 Inexact Rounded Subnormal Underflow
+fmax31013 fma  1         1.52446E-80 1E-100 -> 1.524E-80 Inexact Rounded Subnormal Underflow
+fmax31014 fma  1         1E-100 1.52444E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow
+fmax31015 fma  1         1E-100 1.52445E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow
+fmax31016 fma  1         1E-100 1.52446E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow
+
+-- Add: lhs + rhs fma  1  ition carried out
+fmax31021 fma  1         1.52443E-80 1.00001E-80  -> 2.524E-80 Inexact Rounded Subnormal Underflow
+fmax31022 fma  1         1.52444E-80 1.00001E-80  -> 2.524E-80 Inexact Rounded Subnormal Underflow
+fmax31023 fma  1         1.52445E-80 1.00001E-80  -> 2.524E-80 Inexact Rounded Subnormal Underflow
+fmax31024 fma  1         1.00001E-80  1.52443E-80 -> 2.524E-80 Inexact Rounded Subnormal Underflow
+fmax31025 fma  1         1.00001E-80  1.52444E-80 -> 2.524E-80 Inexact Rounded Subnormal Underflow
+fmax31026 fma  1         1.00001E-80  1.52445E-80 -> 2.524E-80 Inexact Rounded Subnormal Underflow
+
+-- And for round down full and subnormal results
+precision:    16
+maxExponent: +384
+minExponent: -383
+rounding:     down
+
+fmax31100 fma  1   1e+2 -1e-383    -> 99.99999999999999 Rounded Inexact
+fmax31101 fma  1   1e+1 -1e-383    -> 9.999999999999999  Rounded Inexact
+fmax31103 fma  1     +1 -1e-383    -> 0.9999999999999999  Rounded Inexact
+fmax31104 fma  1   1e-1 -1e-383    -> 0.09999999999999999  Rounded Inexact
+fmax31105 fma  1   1e-2 -1e-383    -> 0.009999999999999999  Rounded Inexact
+fmax31106 fma  1   1e-3 -1e-383    -> 0.0009999999999999999  Rounded Inexact
+fmax31107 fma  1   1e-4 -1e-383    -> 0.00009999999999999999  Rounded Inexact
+fmax31108 fma  1   1e-5 -1e-383    -> 0.000009999999999999999  Rounded Inexact
+fmax31109 fma  1   1e-6 -1e-383    -> 9.999999999999999E-7  Rounded Inexact
+
+rounding:     ceiling
+fmax31110 fma  1   -1e+2 +1e-383   -> -99.99999999999999 Rounded Inexact
+fmax31111 fma  1   -1e+1 +1e-383   -> -9.999999999999999  Rounded Inexact
+fmax31113 fma  1      -1 +1e-383   -> -0.9999999999999999  Rounded Inexact
+fmax31114 fma  1   -1e-1 +1e-383   -> -0.09999999999999999  Rounded Inexact
+fmax31115 fma  1   -1e-2 +1e-383   -> -0.009999999999999999  Rounded Inexact
+fmax31116 fma  1   -1e-3 +1e-383   -> -0.0009999999999999999  Rounded Inexact
+fmax31117 fma  1   -1e-4 +1e-383   -> -0.00009999999999999999  Rounded Inexact
+fmax31118 fma  1   -1e-5 +1e-383   -> -0.000009999999999999999  Rounded Inexact
+fmax31119 fma  1   -1e-6 +1e-383   -> -9.999999999999999E-7  Rounded Inexact
+
+rounding:     down
+precision:    7
+maxExponent: +96
+minExponent: -95
+fmax31130 fma  1     1            -1e-200  -> 0.9999999  Rounded Inexact
+-- subnormal boundary
+fmax31131 fma  1     1.000000E-94  -1e-200  ->  9.999999E-95  Rounded Inexact
+fmax31132 fma  1     1.000001E-95  -1e-200  ->  1.000000E-95  Rounded Inexact
+fmax31133 fma  1     1.000000E-95  -1e-200  ->  9.99999E-96  Rounded Inexact Subnormal Underflow
+fmax31134 fma  1     0.999999E-95  -1e-200  ->  9.99998E-96  Rounded Inexact Subnormal Underflow
+fmax31135 fma  1     0.001000E-95  -1e-200  ->  9.99E-99  Rounded Inexact Subnormal Underflow
+fmax31136 fma  1     0.000999E-95  -1e-200  ->  9.98E-99  Rounded Inexact Subnormal Underflow
+fmax31137 fma  1     1.000000E-95  -1e-101  ->  9.99999E-96  Subnormal
+fmax31138 fma  1        10000E-101 -1e-200  ->  9.999E-98  Subnormal Inexact Rounded Underflow
+fmax31139 fma  1         1000E-101 -1e-200  ->  9.99E-99   Subnormal Inexact Rounded Underflow
+fmax31140 fma  1          100E-101 -1e-200  ->  9.9E-100   Subnormal Inexact Rounded Underflow
+fmax31141 fma  1           10E-101 -1e-200  ->  9E-101     Subnormal Inexact Rounded Underflow
+fmax31142 fma  1            1E-101 -1e-200  ->  0E-101     Subnormal Inexact Rounded Underflow Clamped
+fmax31143 fma  1            0E-101 -1e-200  -> -0E-101     Subnormal Inexact Rounded Underflow Clamped
+fmax31144 fma  1            1E-102 -1e-200  ->  0E-101     Subnormal Inexact Rounded Underflow Clamped
+
+fmax31151 fma  1        10000E-102 -1e-200  ->  9.99E-99  Subnormal Inexact Rounded Underflow
+fmax31152 fma  1         1000E-102 -1e-200  ->  9.9E-100  Subnormal Inexact Rounded Underflow
+fmax31153 fma  1          100E-102 -1e-200  ->  9E-101   Subnormal Inexact Rounded Underflow
+fmax31154 fma  1           10E-102 -1e-200  ->  0E-101     Subnormal Inexact Rounded Underflow Clamped
+fmax31155 fma  1            1E-102 -1e-200  ->  0E-101     Subnormal Inexact Rounded Underflow Clamped
+fmax31156 fma  1            0E-102 -1e-200  -> -0E-101     Subnormal Inexact Rounded Underflow Clamped
+fmax31157 fma  1            1E-103 -1e-200  ->  0E-101     Subnormal Inexact Rounded Underflow Clamped
+
+fmax31160 fma  1          100E-105 -1e-101  -> -0E-101 Subnormal Inexact Rounded Underflow Clamped
+fmax31161 fma  1          100E-105 -1e-201  ->  0E-101 Subnormal Inexact Rounded Underflow Clamped
+
+-- tests based on Gunnar Degnbol's edge case
+precision:   15
+rounding:    half_up
+maxExponent: 384
+minexponent: -383
+
+fmax31200 fma  1   1E15  -0.5                 ->  1.00000000000000E+15 Inexact Rounded
+fmax31201 fma  1   1E15  -0.50                ->  1.00000000000000E+15 Inexact Rounded
+fmax31210 fma  1   1E15  -0.51                ->  999999999999999      Inexact Rounded
+fmax31211 fma  1   1E15  -0.501               ->  999999999999999      Inexact Rounded
+fmax31212 fma  1   1E15  -0.5001              ->  999999999999999      Inexact Rounded
+fmax31213 fma  1   1E15  -0.50001             ->  999999999999999      Inexact Rounded
+fmax31214 fma  1   1E15  -0.500001            ->  999999999999999      Inexact Rounded
+fmax31215 fma  1   1E15  -0.5000001           ->  999999999999999      Inexact Rounded
+fmax31216 fma  1   1E15  -0.50000001          ->  999999999999999      Inexact Rounded
+fmax31217 fma  1   1E15  -0.500000001         ->  999999999999999      Inexact Rounded
+fmax31218 fma  1   1E15  -0.5000000001        ->  999999999999999      Inexact Rounded
+fmax31219 fma  1   1E15  -0.50000000001       ->  999999999999999      Inexact Rounded
+fmax31220 fma  1   1E15  -0.500000000001      ->  999999999999999      Inexact Rounded
+fmax31221 fma  1   1E15  -0.5000000000001     ->  999999999999999      Inexact Rounded
+fmax31222 fma  1   1E15  -0.50000000000001    ->  999999999999999      Inexact Rounded
+fmax31223 fma  1   1E15  -0.500000000000001   ->  999999999999999      Inexact Rounded
+fmax31224 fma  1   1E15  -0.5000000000000001  ->  999999999999999      Inexact Rounded
+fmax31225 fma  1   1E15  -0.5000000000000000  ->  1.00000000000000E+15 Inexact Rounded
+fmax31230 fma  1   1E15  -5000000.000000001   ->  999999995000000      Inexact Rounded
+
+precision:   16
+
+fmax31300 fma  1   1E16  -0.5                 ->  1.000000000000000E+16 Inexact Rounded
+fmax31310 fma  1   1E16  -0.51                ->  9999999999999999      Inexact Rounded
+fmax31311 fma  1   1E16  -0.501               ->  9999999999999999      Inexact Rounded
+fmax31312 fma  1   1E16  -0.5001              ->  9999999999999999      Inexact Rounded
+fmax31313 fma  1   1E16  -0.50001             ->  9999999999999999      Inexact Rounded
+fmax31314 fma  1   1E16  -0.500001            ->  9999999999999999      Inexact Rounded
+fmax31315 fma  1   1E16  -0.5000001           ->  9999999999999999      Inexact Rounded
+fmax31316 fma  1   1E16  -0.50000001          ->  9999999999999999      Inexact Rounded
+fmax31317 fma  1   1E16  -0.500000001         ->  9999999999999999      Inexact Rounded
+fmax31318 fma  1   1E16  -0.5000000001        ->  9999999999999999      Inexact Rounded
+fmax31319 fma  1   1E16  -0.50000000001       ->  9999999999999999      Inexact Rounded
+fmax31320 fma  1   1E16  -0.500000000001      ->  9999999999999999      Inexact Rounded
+fmax31321 fma  1   1E16  -0.5000000000001     ->  9999999999999999      Inexact Rounded
+fmax31322 fma  1   1E16  -0.50000000000001    ->  9999999999999999      Inexact Rounded
+fmax31323 fma  1   1E16  -0.500000000000001   ->  9999999999999999      Inexact Rounded
+fmax31324 fma  1   1E16  -0.5000000000000001  ->  9999999999999999      Inexact Rounded
+fmax31325 fma  1   1E16  -0.5000000000000000  ->  1.000000000000000E+16 Inexact Rounded
+fmax31326 fma  1   1E16  -0.500000000000000   ->  1.000000000000000E+16 Inexact Rounded
+fmax31327 fma  1   1E16  -0.50000000000000    ->  1.000000000000000E+16 Inexact Rounded
+fmax31328 fma  1   1E16  -0.5000000000000     ->  1.000000000000000E+16 Inexact Rounded
+fmax31329 fma  1   1E16  -0.500000000000      ->  1.000000000000000E+16 Inexact Rounded
+fmax31330 fma  1   1E16  -0.50000000000       ->  1.000000000000000E+16 Inexact Rounded
+fmax31331 fma  1   1E16  -0.5000000000        ->  1.000000000000000E+16 Inexact Rounded
+fmax31332 fma  1   1E16  -0.500000000         ->  1.000000000000000E+16 Inexact Rounded
+fmax31333 fma  1   1E16  -0.50000000          ->  1.000000000000000E+16 Inexact Rounded
+fmax31334 fma  1   1E16  -0.5000000           ->  1.000000000000000E+16 Inexact Rounded
+fmax31335 fma  1   1E16  -0.500000            ->  1.000000000000000E+16 Inexact Rounded
+fmax31336 fma  1   1E16  -0.50000             ->  1.000000000000000E+16 Inexact Rounded
+fmax31337 fma  1   1E16  -0.5000              ->  1.000000000000000E+16 Inexact Rounded
+fmax31338 fma  1   1E16  -0.500               ->  1.000000000000000E+16 Inexact Rounded
+fmax31339 fma  1   1E16  -0.50                ->  1.000000000000000E+16 Inexact Rounded
+
+fmax31340 fma  1   1E16  -5000000.000010001   ->  9999999995000000      Inexact Rounded
+fmax31341 fma  1   1E16  -5000000.000000001   ->  9999999995000000      Inexact Rounded
+
+fmax31349 fma  1   9999999999999999 0.4                 ->  9999999999999999      Inexact Rounded
+fmax31350 fma  1   9999999999999999 0.49                ->  9999999999999999      Inexact Rounded
+fmax31351 fma  1   9999999999999999 0.499               ->  9999999999999999      Inexact Rounded
+fmax31352 fma  1   9999999999999999 0.4999              ->  9999999999999999      Inexact Rounded
+fmax31353 fma  1   9999999999999999 0.49999             ->  9999999999999999      Inexact Rounded
+fmax31354 fma  1   9999999999999999 0.499999            ->  9999999999999999      Inexact Rounded
+fmax31355 fma  1   9999999999999999 0.4999999           ->  9999999999999999      Inexact Rounded
+fmax31356 fma  1   9999999999999999 0.49999999          ->  9999999999999999      Inexact Rounded
+fmax31357 fma  1   9999999999999999 0.499999999         ->  9999999999999999      Inexact Rounded
+fmax31358 fma  1   9999999999999999 0.4999999999        ->  9999999999999999      Inexact Rounded
+fmax31359 fma  1   9999999999999999 0.49999999999       ->  9999999999999999      Inexact Rounded
+fmax31360 fma  1   9999999999999999 0.499999999999      ->  9999999999999999      Inexact Rounded
+fmax31361 fma  1   9999999999999999 0.4999999999999     ->  9999999999999999      Inexact Rounded
+fmax31362 fma  1   9999999999999999 0.49999999999999    ->  9999999999999999      Inexact Rounded
+fmax31363 fma  1   9999999999999999 0.499999999999999   ->  9999999999999999      Inexact Rounded
+fmax31364 fma  1   9999999999999999 0.4999999999999999  ->  9999999999999999      Inexact Rounded
+fmax31365 fma  1   9999999999999999 0.5000000000000000  ->  1.000000000000000E+16 Inexact Rounded
+fmax31367 fma  1   9999999999999999 0.500000000000000   ->  1.000000000000000E+16 Inexact Rounded
+fmax31368 fma  1   9999999999999999 0.50000000000000    ->  1.000000000000000E+16 Inexact Rounded
+fmax31369 fma  1   9999999999999999 0.5000000000000     ->  1.000000000000000E+16 Inexact Rounded
+fmax31370 fma  1   9999999999999999 0.500000000000      ->  1.000000000000000E+16 Inexact Rounded
+fmax31371 fma  1   9999999999999999 0.50000000000       ->  1.000000000000000E+16 Inexact Rounded
+fmax31372 fma  1   9999999999999999 0.5000000000        ->  1.000000000000000E+16 Inexact Rounded
+fmax31373 fma  1   9999999999999999 0.500000000         ->  1.000000000000000E+16 Inexact Rounded
+fmax31374 fma  1   9999999999999999 0.50000000          ->  1.000000000000000E+16 Inexact Rounded
+fmax31375 fma  1   9999999999999999 0.5000000           ->  1.000000000000000E+16 Inexact Rounded
+fmax31376 fma  1   9999999999999999 0.500000            ->  1.000000000000000E+16 Inexact Rounded
+fmax31377 fma  1   9999999999999999 0.50000             ->  1.000000000000000E+16 Inexact Rounded
+fmax31378 fma  1   9999999999999999 0.5000              ->  1.000000000000000E+16 Inexact Rounded
+fmax31379 fma  1   9999999999999999 0.500               ->  1.000000000000000E+16 Inexact Rounded
+fmax31380 fma  1   9999999999999999 0.50                ->  1.000000000000000E+16 Inexact Rounded
+fmax31381 fma  1   9999999999999999 0.5                 ->  1.000000000000000E+16 Inexact Rounded
+fmax31382 fma  1   9999999999999999 0.5000000000000001  ->  1.000000000000000E+16 Inexact Rounded
+fmax31383 fma  1   9999999999999999 0.500000000000001   ->  1.000000000000000E+16 Inexact Rounded
+fmax31384 fma  1   9999999999999999 0.50000000000001    ->  1.000000000000000E+16 Inexact Rounded
+fmax31385 fma  1   9999999999999999 0.5000000000001     ->  1.000000000000000E+16 Inexact Rounded
+fmax31386 fma  1   9999999999999999 0.500000000001      ->  1.000000000000000E+16 Inexact Rounded
+fmax31387 fma  1   9999999999999999 0.50000000001       ->  1.000000000000000E+16 Inexact Rounded
+fmax31388 fma  1   9999999999999999 0.5000000001        ->  1.000000000000000E+16 Inexact Rounded
+fmax31389 fma  1   9999999999999999 0.500000001         ->  1.000000000000000E+16 Inexact Rounded
+fmax31390 fma  1   9999999999999999 0.50000001          ->  1.000000000000000E+16 Inexact Rounded
+fmax31391 fma  1   9999999999999999 0.5000001           ->  1.000000000000000E+16 Inexact Rounded
+fmax31392 fma  1   9999999999999999 0.500001            ->  1.000000000000000E+16 Inexact Rounded
+fmax31393 fma  1   9999999999999999 0.50001             ->  1.000000000000000E+16 Inexact Rounded
+fmax31394 fma  1   9999999999999999 0.5001              ->  1.000000000000000E+16 Inexact Rounded
+fmax31395 fma  1   9999999999999999 0.501               ->  1.000000000000000E+16 Inexact Rounded
+fmax31396 fma  1   9999999999999999 0.51                ->  1.000000000000000E+16 Inexact Rounded
+
+-- More GD edge cases, where difference between the unadjusted
+-- exponents is larger than the maximum precision and one side is 0
+precision:   15
+rounding:    half_up
+maxExponent: 384
+minexponent: -383
+
+fmax31400 fma  1    0 1.23456789012345     -> 1.23456789012345
+fmax31401 fma  1    0 1.23456789012345E-1  -> 0.123456789012345
+fmax31402 fma  1    0 1.23456789012345E-2  -> 0.0123456789012345
+fmax31403 fma  1    0 1.23456789012345E-3  -> 0.00123456789012345
+fmax31404 fma  1    0 1.23456789012345E-4  -> 0.000123456789012345
+fmax31405 fma  1    0 1.23456789012345E-5  -> 0.0000123456789012345
+fmax31406 fma  1    0 1.23456789012345E-6  -> 0.00000123456789012345
+fmax31407 fma  1    0 1.23456789012345E-7  -> 1.23456789012345E-7
+fmax31408 fma  1    0 1.23456789012345E-8  -> 1.23456789012345E-8
+fmax31409 fma  1    0 1.23456789012345E-9  -> 1.23456789012345E-9
+fmax31410 fma  1    0 1.23456789012345E-10 -> 1.23456789012345E-10
+fmax31411 fma  1    0 1.23456789012345E-11 -> 1.23456789012345E-11
+fmax31412 fma  1    0 1.23456789012345E-12 -> 1.23456789012345E-12
+fmax31413 fma  1    0 1.23456789012345E-13 -> 1.23456789012345E-13
+fmax31414 fma  1    0 1.23456789012345E-14 -> 1.23456789012345E-14
+fmax31415 fma  1    0 1.23456789012345E-15 -> 1.23456789012345E-15
+fmax31416 fma  1    0 1.23456789012345E-16 -> 1.23456789012345E-16
+fmax31417 fma  1    0 1.23456789012345E-17 -> 1.23456789012345E-17
+fmax31418 fma  1    0 1.23456789012345E-18 -> 1.23456789012345E-18
+fmax31419 fma  1    0 1.23456789012345E-19 -> 1.23456789012345E-19
+
+-- same, precision 16..
+precision:   16
+fmax31420 fma  1    0 1.123456789012345     -> 1.123456789012345
+fmax31421 fma  1    0 1.123456789012345E-1  -> 0.1123456789012345
+fmax31422 fma  1    0 1.123456789012345E-2  -> 0.01123456789012345
+fmax31423 fma  1    0 1.123456789012345E-3  -> 0.001123456789012345
+fmax31424 fma  1    0 1.123456789012345E-4  -> 0.0001123456789012345
+fmax31425 fma  1    0 1.123456789012345E-5  -> 0.00001123456789012345
+fmax31426 fma  1    0 1.123456789012345E-6  -> 0.000001123456789012345
+fmax31427 fma  1    0 1.123456789012345E-7  -> 1.123456789012345E-7
+fmax31428 fma  1    0 1.123456789012345E-8  -> 1.123456789012345E-8
+fmax31429 fma  1    0 1.123456789012345E-9  -> 1.123456789012345E-9
+fmax31430 fma  1    0 1.123456789012345E-10 -> 1.123456789012345E-10
+fmax31431 fma  1    0 1.123456789012345E-11 -> 1.123456789012345E-11
+fmax31432 fma  1    0 1.123456789012345E-12 -> 1.123456789012345E-12
+fmax31433 fma  1    0 1.123456789012345E-13 -> 1.123456789012345E-13
+fmax31434 fma  1    0 1.123456789012345E-14 -> 1.123456789012345E-14
+fmax31435 fma  1    0 1.123456789012345E-15 -> 1.123456789012345E-15
+fmax31436 fma  1    0 1.123456789012345E-16 -> 1.123456789012345E-16
+fmax31437 fma  1    0 1.123456789012345E-17 -> 1.123456789012345E-17
+fmax31438 fma  1    0 1.123456789012345E-18 -> 1.123456789012345E-18
+fmax31439 fma  1    0 1.123456789012345E-19 -> 1.123456789012345E-19
+
+-- same, reversed 0
+fmax31440 fma  1   1.123456789012345     0 -> 1.123456789012345
+fmax31441 fma  1   1.123456789012345E-1  0 -> 0.1123456789012345
+fmax31442 fma  1   1.123456789012345E-2  0 -> 0.01123456789012345
+fmax31443 fma  1   1.123456789012345E-3  0 -> 0.001123456789012345
+fmax31444 fma  1   1.123456789012345E-4  0 -> 0.0001123456789012345
+fmax31445 fma  1   1.123456789012345E-5  0 -> 0.00001123456789012345
+fmax31446 fma  1   1.123456789012345E-6  0 -> 0.000001123456789012345
+fmax31447 fma  1   1.123456789012345E-7  0 -> 1.123456789012345E-7
+fmax31448 fma  1   1.123456789012345E-8  0 -> 1.123456789012345E-8
+fmax31449 fma  1   1.123456789012345E-9  0 -> 1.123456789012345E-9
+fmax31450 fma  1   1.123456789012345E-10 0 -> 1.123456789012345E-10
+fmax31451 fma  1   1.123456789012345E-11 0 -> 1.123456789012345E-11
+fmax31452 fma  1   1.123456789012345E-12 0 -> 1.123456789012345E-12
+fmax31453 fma  1   1.123456789012345E-13 0 -> 1.123456789012345E-13
+fmax31454 fma  1   1.123456789012345E-14 0 -> 1.123456789012345E-14
+fmax31455 fma  1   1.123456789012345E-15 0 -> 1.123456789012345E-15
+fmax31456 fma  1   1.123456789012345E-16 0 -> 1.123456789012345E-16
+fmax31457 fma  1   1.123456789012345E-17 0 -> 1.123456789012345E-17
+fmax31458 fma  1   1.123456789012345E-18 0 -> 1.123456789012345E-18
+fmax31459 fma  1   1.123456789012345E-19 0 -> 1.123456789012345E-19
+
+-- same, Es on the 0
+fmax31460 fma  1   1.123456789012345  0E-0   -> 1.123456789012345
+fmax31461 fma  1   1.123456789012345  0E-1   -> 1.123456789012345
+fmax31462 fma  1   1.123456789012345  0E-2   -> 1.123456789012345
+fmax31463 fma  1   1.123456789012345  0E-3   -> 1.123456789012345
+fmax31464 fma  1   1.123456789012345  0E-4   -> 1.123456789012345
+fmax31465 fma  1   1.123456789012345  0E-5   -> 1.123456789012345
+fmax31466 fma  1   1.123456789012345  0E-6   -> 1.123456789012345
+fmax31467 fma  1   1.123456789012345  0E-7   -> 1.123456789012345
+fmax31468 fma  1   1.123456789012345  0E-8   -> 1.123456789012345
+fmax31469 fma  1   1.123456789012345  0E-9   -> 1.123456789012345
+fmax31470 fma  1   1.123456789012345  0E-10  -> 1.123456789012345
+fmax31471 fma  1   1.123456789012345  0E-11  -> 1.123456789012345
+fmax31472 fma  1   1.123456789012345  0E-12  -> 1.123456789012345
+fmax31473 fma  1   1.123456789012345  0E-13  -> 1.123456789012345
+fmax31474 fma  1   1.123456789012345  0E-14  -> 1.123456789012345
+fmax31475 fma  1   1.123456789012345  0E-15  -> 1.123456789012345
+-- next four flag Rounded because the 0 extends the result
+fmax31476 fma  1   1.123456789012345  0E-16  -> 1.123456789012345 Rounded
+fmax31477 fma  1   1.123456789012345  0E-17  -> 1.123456789012345 Rounded
+fmax31478 fma  1   1.123456789012345  0E-18  -> 1.123456789012345 Rounded
+fmax31479 fma  1   1.123456789012345  0E-19  -> 1.123456789012345 Rounded
+
+-- sum of two opposite-sign operands is exactly 0 and floor => -0
+precision:   16
+maxExponent: 384
+minexponent: -383
+
+rounding:    half_up
+-- exact zeros from zeros
+fmax31500 fma  1    0        0E-19  ->  0E-19
+fmax31501 fma  1   -0        0E-19  ->  0E-19
+fmax31502 fma  1    0       -0E-19  ->  0E-19
+fmax31503 fma  1   -0       -0E-19  -> -0E-19
+fmax31504 fma  1    0E-400   0E-19  ->  0E-398 Clamped
+fmax31505 fma  1   -0E-400   0E-19  ->  0E-398 Clamped
+fmax31506 fma  1    0E-400  -0E-19  ->  0E-398 Clamped
+fmax31507 fma  1   -0E-400  -0E-19  -> -0E-398 Clamped
+-- inexact zeros
+fmax31511 fma  1    1E-401   1E-400 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped
+fmax31512 fma  1   -1E-401   1E-400 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped
+fmax31513 fma  1    1E-401  -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
+fmax31514 fma  1   -1E-401  -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
+-- some exact zeros from non-zeros
+fmax31515 fma  1    1E-401   1E-401 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped
+fmax31516 fma  1   -1E-401   1E-401 ->  0E-398 Clamped
+fmax31517 fma  1    1E-401  -1E-401 ->  0E-398 Clamped
+fmax31518 fma  1   -1E-401  -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
+
+rounding:    half_down
+-- exact zeros from zeros
+fmax31520 fma  1    0        0E-19  ->  0E-19
+fmax31521 fma  1   -0        0E-19  ->  0E-19
+fmax31522 fma  1    0       -0E-19  ->  0E-19
+fmax31523 fma  1   -0       -0E-19  -> -0E-19
+fmax31524 fma  1    0E-400   0E-19  ->  0E-398 Clamped
+fmax31525 fma  1   -0E-400   0E-19  ->  0E-398 Clamped
+fmax31526 fma  1    0E-400  -0E-19  ->  0E-398 Clamped
+fmax31527 fma  1   -0E-400  -0E-19  -> -0E-398 Clamped
+-- inexact zeros
+fmax31531 fma  1    1E-401   1E-400 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped
+fmax31532 fma  1   -1E-401   1E-400 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped
+fmax31533 fma  1    1E-401  -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
+fmax31534 fma  1   -1E-401  -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
+-- some exact zeros from non-zeros
+fmax31535 fma  1    1E-401   1E-401 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped
+fmax31536 fma  1   -1E-401   1E-401 ->  0E-398 Clamped
+fmax31537 fma  1    1E-401  -1E-401 ->  0E-398 Clamped
+fmax31538 fma  1   -1E-401  -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
+
+rounding:    half_even
+-- exact zeros from zeros
+fmax31540 fma  1    0        0E-19  ->  0E-19
+fmax31541 fma  1   -0        0E-19  ->  0E-19
+fmax31542 fma  1    0       -0E-19  ->  0E-19
+fmax31543 fma  1   -0       -0E-19  -> -0E-19
+fmax31544 fma  1    0E-400   0E-19  ->  0E-398 Clamped
+fmax31545 fma  1   -0E-400   0E-19  ->  0E-398 Clamped
+fmax31546 fma  1    0E-400  -0E-19  ->  0E-398 Clamped
+fmax31547 fma  1   -0E-400  -0E-19  -> -0E-398 Clamped
+-- inexact zeros
+fmax31551 fma  1    1E-401   1E-400 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped
+fmax31552 fma  1   -1E-401   1E-400 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped
+fmax31553 fma  1    1E-401  -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
+fmax31554 fma  1   -1E-401  -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
+-- some exact zeros from non-zeros
+fmax31555 fma  1    1E-401   1E-401 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped
+fmax31556 fma  1   -1E-401   1E-401 ->  0E-398 Clamped
+fmax31557 fma  1    1E-401  -1E-401 ->  0E-398 Clamped
+fmax31558 fma  1   -1E-401  -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
+
+rounding:    up
+-- exact zeros from zeros
+fmax31560 fma  1    0        0E-19  ->  0E-19
+fmax31561 fma  1   -0        0E-19  ->  0E-19
+fmax31562 fma  1    0       -0E-19  ->  0E-19
+fmax31563 fma  1   -0       -0E-19  -> -0E-19
+fmax31564 fma  1    0E-400   0E-19  ->  0E-398 Clamped
+fmax31565 fma  1   -0E-400   0E-19  ->  0E-398 Clamped
+fmax31566 fma  1    0E-400  -0E-19  ->  0E-398 Clamped
+fmax31567 fma  1   -0E-400  -0E-19  -> -0E-398 Clamped
+-- inexact zeros
+fmax31571 fma  1    1E-401   1E-400 ->  1E-398 Subnormal Inexact Rounded Underflow
+fmax31572 fma  1   -1E-401   1E-400 ->  1E-398 Subnormal Inexact Rounded Underflow
+fmax31573 fma  1    1E-401  -1E-400 -> -1E-398 Subnormal Inexact Rounded Underflow
+fmax31574 fma  1   -1E-401  -1E-400 -> -1E-398 Subnormal Inexact Rounded Underflow
+-- some exact zeros from non-zeros
+fmax31575 fma  1    1E-401   1E-401 ->  1E-398 Subnormal Inexact Rounded Underflow
+fmax31576 fma  1   -1E-401   1E-401 ->  0E-398 Clamped
+fmax31577 fma  1    1E-401  -1E-401 ->  0E-398 Clamped
+fmax31578 fma  1   -1E-401  -1E-401 -> -1E-398 Subnormal Inexact Rounded Underflow
+
+rounding:    down
+-- exact zeros from zeros
+fmax31580 fma  1    0        0E-19  ->  0E-19
+fmax31581 fma  1   -0        0E-19  ->  0E-19
+fmax31582 fma  1    0       -0E-19  ->  0E-19
+fmax31583 fma  1   -0       -0E-19  -> -0E-19
+fmax31584 fma  1    0E-400   0E-19  ->  0E-398 Clamped
+fmax31585 fma  1   -0E-400   0E-19  ->  0E-398 Clamped
+fmax31586 fma  1    0E-400  -0E-19  ->  0E-398 Clamped
+fmax31587 fma  1   -0E-400  -0E-19  -> -0E-398 Clamped
+-- inexact zeros
+fmax31591 fma  1    1E-401   1E-400 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped
+fmax31592 fma  1   -1E-401   1E-400 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped
+fmax31593 fma  1    1E-401  -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
+fmax31594 fma  1   -1E-401  -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
+-- some exact zeros from non-zeros
+fmax31595 fma  1    1E-401   1E-401 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped
+fmax31596 fma  1   -1E-401   1E-401 ->  0E-398 Clamped
+fmax31597 fma  1    1E-401  -1E-401 ->  0E-398 Clamped
+fmax31598 fma  1   -1E-401  -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
+
+rounding:    ceiling
+-- exact zeros from zeros
+fmax31600 fma  1    0        0E-19  ->  0E-19
+fmax31601 fma  1   -0        0E-19  ->  0E-19
+fmax31602 fma  1    0       -0E-19  ->  0E-19
+fmax31603 fma  1   -0       -0E-19  -> -0E-19
+fmax31604 fma  1    0E-400   0E-19  ->  0E-398 Clamped
+fmax31605 fma  1   -0E-400   0E-19  ->  0E-398 Clamped
+fmax31606 fma  1    0E-400  -0E-19  ->  0E-398 Clamped
+fmax31607 fma  1   -0E-400  -0E-19  -> -0E-398 Clamped
+-- inexact zeros
+fmax31611 fma  1    1E-401   1E-400 ->  1E-398 Subnormal Inexact Rounded Underflow
+fmax31612 fma  1   -1E-401   1E-400 ->  1E-398 Subnormal Inexact Rounded Underflow
+fmax31613 fma  1    1E-401  -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
+fmax31614 fma  1   -1E-401  -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
+-- some exact zeros from non-zeros
+fmax31615 fma  1    1E-401   1E-401 ->  1E-398 Subnormal Inexact Rounded Underflow
+fmax31616 fma  1   -1E-401   1E-401 ->  0E-398 Clamped
+fmax31617 fma  1    1E-401  -1E-401 ->  0E-398 Clamped
+fmax31618 fma  1   -1E-401  -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
+
+-- and the extra-special ugly case; unusual minuses marked by -- *
+rounding:    floor
+-- exact zeros from zeros
+fmax31620 fma  1    0        0E-19  ->  0E-19
+fmax31621 fma  1   -0        0E-19  -> -0E-19           -- *
+fmax31622 fma  1    0       -0E-19  -> -0E-19           -- *
+fmax31623 fma  1   -0       -0E-19  -> -0E-19
+fmax31624 fma  1    0E-400   0E-19  ->  0E-398 Clamped
+fmax31625 fma  1   -0E-400   0E-19  -> -0E-398 Clamped  -- *
+fmax31626 fma  1    0E-400  -0E-19  -> -0E-398 Clamped  -- *
+fmax31627 fma  1   -0E-400  -0E-19  -> -0E-398 Clamped
+-- inexact zeros
+fmax31631 fma  1    1E-401   1E-400 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped
+fmax31632 fma  1   -1E-401   1E-400 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped
+fmax31633 fma  1    1E-401  -1E-400 -> -1E-398 Subnormal Inexact Rounded Underflow
+fmax31634 fma  1   -1E-401  -1E-400 -> -1E-398 Subnormal Inexact Rounded Underflow
+-- some exact zeros from non-zeros
+fmax31635 fma  1    1E-401   1E-401 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped
+fmax31636 fma  1   -1E-401   1E-401 -> -0E-398 Clamped  -- *
+fmax31637 fma  1    1E-401  -1E-401 -> -0E-398 Clamped  -- *
+fmax31638 fma  1   -1E-401  -1E-401 -> -1E-398 Subnormal Inexact Rounded Underflow
+
+-- BigDecimal problem testcases 2006.01.23
+precision:   16
+maxExponent: 384
+minexponent: -383
+
+rounding:  down
+precision: 7
+fmax31651 fma  1    10001E+2  -2E+1 -> 1.00008E+6
+precision: 6
+fmax31652 fma  1    10001E+2  -2E+1 -> 1.00008E+6
+precision: 5
+fmax31653 fma  1    10001E+2  -2E+1 -> 1.0000E+6   Inexact Rounded
+precision: 4
+fmax31654 fma  1    10001E+2  -2E+1 -> 1.000E+6    Inexact Rounded
+precision: 3
+fmax31655 fma  1    10001E+2  -2E+1 -> 1.00E+6     Inexact Rounded
+precision: 2
+fmax31656 fma  1    10001E+2  -2E+1 -> 1.0E+6      Inexact Rounded
+precision: 1
+fmax31657 fma  1    10001E+2  -2E+1 -> 1E+6        Inexact Rounded
+
+rounding:  half_even
+precision: 7
+fmax31661 fma  1    10001E+2  -2E+1 -> 1.00008E+6
+precision: 6
+fmax31662 fma  1    10001E+2  -2E+1 -> 1.00008E+6
+precision: 5
+fmax31663 fma  1    10001E+2  -2E+1 -> 1.0001E+6   Inexact Rounded
+precision: 4
+fmax31664 fma  1    10001E+2  -2E+1 -> 1.000E+6    Inexact Rounded
+precision: 3
+fmax31665 fma  1    10001E+2  -2E+1 -> 1.00E+6     Inexact Rounded
+precision: 2
+fmax31666 fma  1    10001E+2  -2E+1 -> 1.0E+6      Inexact Rounded
+precision: 1
+fmax31667 fma  1    10001E+2  -2E+1 -> 1E+6        Inexact Rounded
+
+rounding:  up
+precision: 7
+fmax31671 fma  1    10001E+2  -2E+1 -> 1.00008E+6
+precision: 6
+fmax31672 fma  1    10001E+2  -2E+1 -> 1.00008E+6
+precision: 5
+fmax31673 fma  1    10001E+2  -2E+1 -> 1.0001E+6   Inexact Rounded
+precision: 4
+fmax31674 fma  1    10001E+2  -2E+1 -> 1.001E+6    Inexact Rounded
+precision: 3
+fmax31675 fma  1    10001E+2  -2E+1 -> 1.01E+6     Inexact Rounded
+precision: 2
+fmax31676 fma  1    10001E+2  -2E+1 -> 1.1E+6      Inexact Rounded
+precision: 1
+fmax31677 fma  1    10001E+2  -2E+1 -> 2E+6        Inexact Rounded
+
+precision:   34
+rounding:    half_up
+maxExponent: 6144
+minExponent: -6143
+-- Examples from SQL proposal (Krishna Kulkarni)
+fmax31701  fma  1   130E-2    120E-2    -> 2.50
+fmax31702  fma  1   130E-2    12E-1     -> 2.50
+fmax31703  fma  1   130E-2    1E0       -> 2.30
+fmax31704  fma  1   1E2       1E4       -> 1.01E+4
+fmax31705  subtract 130E-2  120E-2 -> 0.10
+fmax31706  subtract 130E-2  12E-1  -> 0.10
+fmax31707  subtract 130E-2  1E0    -> 0.30
+fmax31708  subtract 1E2     1E4    -> -9.9E+3
+
+------------------------------------------------------------------------
+-- Same as above, using decimal64 default parameters                  --
+------------------------------------------------------------------------
+precision:   16
+rounding:    half_even
+maxExponent: 384
+minexponent: -383
+
+-- [first group are 'quick confidence check']
+fmax36001 fma  1   1       1       ->  2
+fmax36002 fma  1   2       3       ->  5
+fmax36003 fma  1   '5.75'  '3.3'   ->  9.05
+fmax36004 fma  1   '5'     '-3'    ->  2
+fmax36005 fma  1   '-5'    '-3'    ->  -8
+fmax36006 fma  1   '-7'    '2.5'   ->  -4.5
+fmax36007 fma  1   '0.7'   '0.3'   ->  1.0
+fmax36008 fma  1   '1.25'  '1.25'  ->  2.50
+fmax36009 fma  1   '1.23456789'  '1.00000000' -> '2.23456789'
+fmax36010 fma  1   '1.23456789'  '1.00000011' -> '2.23456800'
+
+fmax36011 fma  1   '0.44444444444444444'  '0.55555555555555555' -> '1.000000000000000' Inexact Rounded
+fmax36012 fma  1   '0.44444444444444440'  '0.55555555555555555' -> '1.000000000000000' Inexact Rounded
+fmax36013 fma  1   '0.44444444444444444'  '0.55555555555555550' -> '0.9999999999999999' Inexact Rounded
+fmax36014 fma  1   '0.444444444444444449'    '0' -> '0.4444444444444444' Inexact Rounded
+fmax36015 fma  1   '0.4444444444444444499'   '0' -> '0.4444444444444444' Inexact Rounded
+fmax36016 fma  1   '0.44444444444444444999'  '0' -> '0.4444444444444444' Inexact Rounded
+fmax36017 fma  1   '0.44444444444444445000'  '0' -> '0.4444444444444444' Inexact Rounded
+fmax36018 fma  1   '0.44444444444444445001'  '0' -> '0.4444444444444445' Inexact Rounded
+fmax36019 fma  1   '0.4444444444444444501'   '0' -> '0.4444444444444445' Inexact Rounded
+fmax36020 fma  1   '0.444444444444444451'    '0' -> '0.4444444444444445' Inexact Rounded
+
+fmax36021 fma  1   0 1 -> 1
+fmax36022 fma  1   1 1 -> 2
+fmax36023 fma  1   2 1 -> 3
+fmax36024 fma  1   3 1 -> 4
+fmax36025 fma  1   4 1 -> 5
+fmax36026 fma  1   5 1 -> 6
+fmax36027 fma  1   6 1 -> 7
+fmax36028 fma  1   7 1 -> 8
+fmax36029 fma  1   8 1 -> 9
+fmax36030 fma  1   9 1 -> 10
+
+-- some carrying effects
+fmax36031 fma  1   '0.9998'  '0.0000' -> '0.9998'
+fmax36032 fma  1   '0.9998'  '0.0001' -> '0.9999'
+fmax36033 fma  1   '0.9998'  '0.0002' -> '1.0000'
+fmax36034 fma  1   '0.9998'  '0.0003' -> '1.0001'
+
+fmax36035 fma  1   '70'      '10000e+16' -> '1.000000000000000E+20' Inexact Rounded
+fmax36036 fma  1   '700'     '10000e+16' -> '1.000000000000000E+20' Inexact Rounded
+fmax36037 fma  1   '7000'    '10000e+16' -> '1.000000000000000E+20' Inexact Rounded
+fmax36038 fma  1   '70000'   '10000e+16' -> '1.000000000000001E+20' Inexact Rounded
+fmax36039 fma  1   '700000'  '10000e+16' -> '1.000000000000007E+20' Rounded
+
+-- symmetry:
+fmax36040 fma  1   '10000e+16'  '70' -> '1.000000000000000E+20' Inexact Rounded
+fmax36041 fma  1   '10000e+16'  '700' -> '1.000000000000000E+20' Inexact Rounded
+fmax36042 fma  1   '10000e+16'  '7000' -> '1.000000000000000E+20' Inexact Rounded
+fmax36044 fma  1   '10000e+16'  '70000' -> '1.000000000000001E+20' Inexact Rounded
+fmax36045 fma  1   '10000e+16'  '700000' -> '1.000000000000007E+20' Rounded
+
+fmax36046 fma  1   '10000e+9'  '7' -> '10000000000007'
+fmax36047 fma  1   '10000e+9'  '70' -> '10000000000070'
+fmax36048 fma  1   '10000e+9'  '700' -> '10000000000700'
+fmax36049 fma  1   '10000e+9'  '7000' -> '10000000007000'
+fmax36050 fma  1   '10000e+9'  '70000' -> '10000000070000'
+fmax36051 fma  1   '10000e+9'  '700000' -> '10000000700000'
+
+-- examples from decarith
+fmax36053 fma  1   '12' '7.00' -> '19.00'
+fmax36054 fma  1   '1.3' '-1.07' -> '0.23'
+fmax36055 fma  1   '1.3' '-1.30' -> '0.00'
+fmax36056 fma  1   '1.3' '-2.07' -> '-0.77'
+fmax36057 fma  1   '1E+2' '1E+4' -> '1.01E+4'
+
+-- from above
+fmax36061 fma  1   1 '0.1' -> '1.1'
+fmax36062 fma  1   1 '0.01' -> '1.01'
+fmax36063 fma  1   1 '0.001' -> '1.001'
+fmax36064 fma  1   1 '0.0001' -> '1.0001'
+fmax36065 fma  1   1 '0.00001' -> '1.00001'
+fmax36066 fma  1   1 '0.000001' -> '1.000001'
+fmax36067 fma  1   1 '0.0000001' -> '1.0000001'
+fmax36068 fma  1   1 '0.00000001' -> '1.00000001'
+
+-- some funny zeros [in case of bad signum]
+fmax36070 fma  1   1  0    -> 1
+fmax36071 fma  1   1 0.    -> 1
+fmax36072 fma  1   1  .0   -> 1.0
+fmax36073 fma  1   1 0.0   -> 1.0
+fmax36074 fma  1   1 0.00  -> 1.00
+fmax36075 fma  1    0  1   -> 1
+fmax36076 fma  1   0.  1   -> 1
+fmax36077 fma  1    .0 1   -> 1.0
+fmax36078 fma  1   0.0 1   -> 1.0
+fmax36079 fma  1   0.00 1  -> 1.00
+
+-- some carries
+fmax36080 fma  1   9999999999999998 1  -> 9999999999999999
+fmax36081 fma  1   9999999999999999 1  -> 1.000000000000000E+16 Rounded
+fmax36082 fma  1    999999999999999 1  -> 1000000000000000
+fmax36083 fma  1      9999999999999 1  -> 10000000000000
+fmax36084 fma  1        99999999999 1  -> 100000000000
+fmax36085 fma  1          999999999 1  -> 1000000000
+fmax36086 fma  1            9999999 1  -> 10000000
+fmax36087 fma  1              99999 1  -> 100000
+fmax36088 fma  1                999 1  -> 1000
+fmax36089 fma  1                  9 1  -> 10
+
+
+-- more LHS swaps
+fmax36090 fma  1   '-56267E-10'   0 ->  '-0.0000056267'
+fmax36091 fma  1   '-56267E-6'    0 ->  '-0.056267'
+fmax36092 fma  1   '-56267E-5'    0 ->  '-0.56267'
+fmax36093 fma  1   '-56267E-4'    0 ->  '-5.6267'
+fmax36094 fma  1   '-56267E-3'    0 ->  '-56.267'
+fmax36095 fma  1   '-56267E-2'    0 ->  '-562.67'
+fmax36096 fma  1   '-56267E-1'    0 ->  '-5626.7'
+fmax36097 fma  1   '-56267E-0'    0 ->  '-56267'
+fmax36098 fma  1   '-5E-10'       0 ->  '-5E-10'
+fmax36099 fma  1   '-5E-7'        0 ->  '-5E-7'
+fmax36100 fma  1   '-5E-6'        0 ->  '-0.000005'
+fmax36101 fma  1   '-5E-5'        0 ->  '-0.00005'
+fmax36102 fma  1   '-5E-4'        0 ->  '-0.0005'
+fmax36103 fma  1   '-5E-1'        0 ->  '-0.5'
+fmax36104 fma  1   '-5E0'         0 ->  '-5'
+fmax36105 fma  1   '-5E1'         0 ->  '-50'
+fmax36106 fma  1   '-5E5'         0 ->  '-500000'
+fmax36107 fma  1   '-5E15'        0 ->  '-5000000000000000'
+fmax36108 fma  1   '-5E16'        0 ->  '-5.000000000000000E+16'   Rounded
+fmax36109 fma  1   '-5E17'        0 ->  '-5.000000000000000E+17'  Rounded
+fmax36110 fma  1   '-5E18'        0 ->  '-5.000000000000000E+18'  Rounded
+fmax36111 fma  1   '-5E100'       0 ->  '-5.000000000000000E+100' Rounded
+
+-- more RHS swaps
+fmax36113 fma  1   0  '-56267E-10' ->  '-0.0000056267'
+fmax36114 fma  1   0  '-56267E-6'  ->  '-0.056267'
+fmax36116 fma  1   0  '-56267E-5'  ->  '-0.56267'
+fmax36117 fma  1   0  '-56267E-4'  ->  '-5.6267'
+fmax36119 fma  1   0  '-56267E-3'  ->  '-56.267'
+fmax36120 fma  1   0  '-56267E-2'  ->  '-562.67'
+fmax36121 fma  1   0  '-56267E-1'  ->  '-5626.7'
+fmax36122 fma  1   0  '-56267E-0'  ->  '-56267'
+fmax36123 fma  1   0  '-5E-10'     ->  '-5E-10'
+fmax36124 fma  1   0  '-5E-7'      ->  '-5E-7'
+fmax36125 fma  1   0  '-5E-6'      ->  '-0.000005'
+fmax36126 fma  1   0  '-5E-5'      ->  '-0.00005'
+fmax36127 fma  1   0  '-5E-4'      ->  '-0.0005'
+fmax36128 fma  1   0  '-5E-1'      ->  '-0.5'
+fmax36129 fma  1   0  '-5E0'       ->  '-5'
+fmax36130 fma  1   0  '-5E1'       ->  '-50'
+fmax36131 fma  1   0  '-5E5'       ->  '-500000'
+fmax36132 fma  1   0  '-5E15'      ->  '-5000000000000000'
+fmax36133 fma  1   0  '-5E16'      ->  '-5.000000000000000E+16'   Rounded
+fmax36134 fma  1   0  '-5E17'      ->  '-5.000000000000000E+17'   Rounded
+fmax36135 fma  1   0  '-5E18'      ->  '-5.000000000000000E+18'   Rounded
+fmax36136 fma  1   0  '-5E100'     ->  '-5.000000000000000E+100'  Rounded
+
+-- related
+fmax36137 fma  1    1  '0E-19'      ->  '1.000000000000000'  Rounded
+fmax36138 fma  1   -1  '0E-19'      ->  '-1.000000000000000' Rounded
+fmax36139 fma  1   '0E-19' 1        ->  '1.000000000000000'  Rounded
+fmax36140 fma  1   '0E-19' -1       ->  '-1.000000000000000' Rounded
+fmax36141 fma  1   1E+11   0.0000   ->  '100000000000.0000'
+fmax36142 fma  1   1E+11   0.00000  ->  '100000000000.0000'  Rounded
+fmax36143 fma  1   0.000   1E+12    ->  '1000000000000.000'
+fmax36144 fma  1   0.0000  1E+12    ->  '1000000000000.000'  Rounded
+
+-- [some of the next group are really constructor tests]
+fmax36146 fma  1   '00.0'  0       ->  '0.0'
+fmax36147 fma  1   '0.00'  0       ->  '0.00'
+fmax36148 fma  1    0      '0.00'  ->  '0.00'
+fmax36149 fma  1    0      '00.0'  ->  '0.0'
+fmax36150 fma  1   '00.0'  '0.00'  ->  '0.00'
+fmax36151 fma  1   '0.00'  '00.0'  ->  '0.00'
+fmax36152 fma  1   '3'     '.3'    ->  '3.3'
+fmax36153 fma  1   '3.'    '.3'    ->  '3.3'
+fmax36154 fma  1   '3.0'   '.3'    ->  '3.3'
+fmax36155 fma  1   '3.00'  '.3'    ->  '3.30'
+fmax36156 fma  1   '3'     '3'     ->  '6'
+fmax36157 fma  1   '3'     '+3'    ->  '6'
+fmax36158 fma  1   '3'     '-3'    ->  '0'
+fmax36159 fma  1   '0.3'   '-0.3'  ->  '0.0'
+fmax36160 fma  1   '0.03'  '-0.03' ->  '0.00'
+
+-- try borderline precision, with carries, etc.
+fmax36161 fma  1   '1E+13' '-1'    -> '9999999999999'
+fmax36162 fma  1   '1E+13'  '1.11' -> '10000000000001.11'
+fmax36163 fma  1   '1.11'  '1E+13' -> '10000000000001.11'
+fmax36164 fma  1   '-1'    '1E+13' -> '9999999999999'
+fmax36165 fma  1   '7E+13' '-1'    -> '69999999999999'
+fmax36166 fma  1   '7E+13'  '1.11' -> '70000000000001.11'
+fmax36167 fma  1   '1.11'  '7E+13' -> '70000000000001.11'
+fmax36168 fma  1   '-1'    '7E+13' -> '69999999999999'
+
+--                    1234567890123456      1234567890123456      1 234567890123456
+fmax36170 fma  1   '0.4444444444444444'  '0.5555555555555563' -> '1.000000000000001' Inexact Rounded
+fmax36171 fma  1   '0.4444444444444444'  '0.5555555555555562' -> '1.000000000000001' Inexact Rounded
+fmax36172 fma  1   '0.4444444444444444'  '0.5555555555555561' -> '1.000000000000000' Inexact Rounded
+fmax36173 fma  1   '0.4444444444444444'  '0.5555555555555560' -> '1.000000000000000' Inexact Rounded
+fmax36174 fma  1   '0.4444444444444444'  '0.5555555555555559' -> '1.000000000000000' Inexact Rounded
+fmax36175 fma  1   '0.4444444444444444'  '0.5555555555555558' -> '1.000000000000000' Inexact Rounded
+fmax36176 fma  1   '0.4444444444444444'  '0.5555555555555557' -> '1.000000000000000' Inexact Rounded
+fmax36177 fma  1   '0.4444444444444444'  '0.5555555555555556' -> '1.000000000000000' Rounded
+fmax36178 fma  1   '0.4444444444444444'  '0.5555555555555555' -> '0.9999999999999999'
+fmax36179 fma  1   '0.4444444444444444'  '0.5555555555555554' -> '0.9999999999999998'
+fmax36180 fma  1   '0.4444444444444444'  '0.5555555555555553' -> '0.9999999999999997'
+fmax36181 fma  1   '0.4444444444444444'  '0.5555555555555552' -> '0.9999999999999996'
+fmax36182 fma  1   '0.4444444444444444'  '0.5555555555555551' -> '0.9999999999999995'
+fmax36183 fma  1   '0.4444444444444444'  '0.5555555555555550' -> '0.9999999999999994'
+
+-- and some more, including residue effects and different roundings
+rounding: half_up
+fmax36200 fma  1   '6543210123456789' 0             -> '6543210123456789'
+fmax36201 fma  1   '6543210123456789' 0.000000001   -> '6543210123456789' Inexact Rounded
+fmax36202 fma  1   '6543210123456789' 0.000001      -> '6543210123456789' Inexact Rounded
+fmax36203 fma  1   '6543210123456789' 0.1           -> '6543210123456789' Inexact Rounded
+fmax36204 fma  1   '6543210123456789' 0.4           -> '6543210123456789' Inexact Rounded
+fmax36205 fma  1   '6543210123456789' 0.49          -> '6543210123456789' Inexact Rounded
+fmax36206 fma  1   '6543210123456789' 0.499999      -> '6543210123456789' Inexact Rounded
+fmax36207 fma  1   '6543210123456789' 0.499999   -> '6543210123456789' Inexact Rounded
+fmax36208 fma  1   '6543210123456789' 0.5           -> '6543210123456790' Inexact Rounded
+fmax36209 fma  1   '6543210123456789' 0.500000001   -> '6543210123456790' Inexact Rounded
+fmax36210 fma  1   '6543210123456789' 0.500001      -> '6543210123456790' Inexact Rounded
+fmax36211 fma  1   '6543210123456789' 0.51          -> '6543210123456790' Inexact Rounded
+fmax36212 fma  1   '6543210123456789' 0.6           -> '6543210123456790' Inexact Rounded
+fmax36213 fma  1   '6543210123456789' 0.9           -> '6543210123456790' Inexact Rounded
+fmax36214 fma  1   '6543210123456789' 0.99999       -> '6543210123456790' Inexact Rounded
+fmax36215 fma  1   '6543210123456789' 0.999999   -> '6543210123456790' Inexact Rounded
+fmax36216 fma  1   '6543210123456789' 1             -> '6543210123456790'
+fmax36217 fma  1   '6543210123456789' 1.000000001   -> '6543210123456790' Inexact Rounded
+fmax36218 fma  1   '6543210123456789' 1.00001       -> '6543210123456790' Inexact Rounded
+fmax36219 fma  1   '6543210123456789' 1.1           -> '6543210123456790' Inexact Rounded
+
+rounding: half_even
+fmax36220 fma  1   '6543210123456789' 0             -> '6543210123456789'
+fmax36221 fma  1   '6543210123456789' 0.000000001   -> '6543210123456789' Inexact Rounded
+fmax36222 fma  1   '6543210123456789' 0.000001      -> '6543210123456789' Inexact Rounded
+fmax36223 fma  1   '6543210123456789' 0.1           -> '6543210123456789' Inexact Rounded
+fmax36224 fma  1   '6543210123456789' 0.4           -> '6543210123456789' Inexact Rounded
+fmax36225 fma  1   '6543210123456789' 0.49          -> '6543210123456789' Inexact Rounded
+fmax36226 fma  1   '6543210123456789' 0.499999      -> '6543210123456789' Inexact Rounded
+fmax36227 fma  1   '6543210123456789' 0.499999   -> '6543210123456789' Inexact Rounded
+fmax36228 fma  1   '6543210123456789' 0.5           -> '6543210123456790' Inexact Rounded
+fmax36229 fma  1   '6543210123456789' 0.500000001   -> '6543210123456790' Inexact Rounded
+fmax36230 fma  1   '6543210123456789' 0.500001      -> '6543210123456790' Inexact Rounded
+fmax36231 fma  1   '6543210123456789' 0.51          -> '6543210123456790' Inexact Rounded
+fmax36232 fma  1   '6543210123456789' 0.6           -> '6543210123456790' Inexact Rounded
+fmax36233 fma  1   '6543210123456789' 0.9           -> '6543210123456790' Inexact Rounded
+fmax36234 fma  1   '6543210123456789' 0.99999       -> '6543210123456790' Inexact Rounded
+fmax36235 fma  1   '6543210123456789' 0.999999   -> '6543210123456790' Inexact Rounded
+fmax36236 fma  1   '6543210123456789' 1             -> '6543210123456790'
+fmax36237 fma  1   '6543210123456789' 1.00000001    -> '6543210123456790' Inexact Rounded
+fmax36238 fma  1   '6543210123456789' 1.00001       -> '6543210123456790' Inexact Rounded
+fmax36239 fma  1   '6543210123456789' 1.1           -> '6543210123456790' Inexact Rounded
+-- critical few with even bottom digit...
+fmax36240 fma  1   '6543210123456788' 0.499999   -> '6543210123456788' Inexact Rounded
+fmax36241 fma  1   '6543210123456788' 0.5           -> '6543210123456788' Inexact Rounded
+fmax36242 fma  1   '6543210123456788' 0.500000001   -> '6543210123456789' Inexact Rounded
+
+rounding: down
+fmax36250 fma  1   '6543210123456789' 0             -> '6543210123456789'
+fmax36251 fma  1   '6543210123456789' 0.000000001   -> '6543210123456789' Inexact Rounded
+fmax36252 fma  1   '6543210123456789' 0.000001      -> '6543210123456789' Inexact Rounded
+fmax36253 fma  1   '6543210123456789' 0.1           -> '6543210123456789' Inexact Rounded
+fmax36254 fma  1   '6543210123456789' 0.4           -> '6543210123456789' Inexact Rounded
+fmax36255 fma  1   '6543210123456789' 0.49          -> '6543210123456789' Inexact Rounded
+fmax36256 fma  1   '6543210123456789' 0.499999      -> '6543210123456789' Inexact Rounded
+fmax36257 fma  1   '6543210123456789' 0.499999   -> '6543210123456789' Inexact Rounded
+fmax36258 fma  1   '6543210123456789' 0.5           -> '6543210123456789' Inexact Rounded
+fmax36259 fma  1   '6543210123456789' 0.500000001   -> '6543210123456789' Inexact Rounded
+fmax36260 fma  1   '6543210123456789' 0.500001      -> '6543210123456789' Inexact Rounded
+fmax36261 fma  1   '6543210123456789' 0.51          -> '6543210123456789' Inexact Rounded
+fmax36262 fma  1   '6543210123456789' 0.6           -> '6543210123456789' Inexact Rounded
+fmax36263 fma  1   '6543210123456789' 0.9           -> '6543210123456789' Inexact Rounded
+fmax36264 fma  1   '6543210123456789' 0.99999       -> '6543210123456789' Inexact Rounded
+fmax36265 fma  1   '6543210123456789' 0.999999   -> '6543210123456789' Inexact Rounded
+fmax36266 fma  1   '6543210123456789' 1             -> '6543210123456790'
+fmax36267 fma  1   '6543210123456789' 1.00000001    -> '6543210123456790' Inexact Rounded
+fmax36268 fma  1   '6543210123456789' 1.00001       -> '6543210123456790' Inexact Rounded
+fmax36269 fma  1   '6543210123456789' 1.1           -> '6543210123456790' Inexact Rounded
+
+-- 1 in last place tests
+rounding: half_even
+fmax36301 fma  1    -1   1      ->   0
+fmax36302 fma  1     0   1      ->   1
+fmax36303 fma  1     1   1      ->   2
+fmax36304 fma  1    12   1      ->  13
+fmax36305 fma  1    98   1      ->  99
+fmax36306 fma  1    99   1      -> 100
+fmax36307 fma  1   100   1      -> 101
+fmax36308 fma  1   101   1      -> 102
+fmax36309 fma  1    -1  -1      ->  -2
+fmax36310 fma  1     0  -1      ->  -1
+fmax36311 fma  1     1  -1      ->   0
+fmax36312 fma  1    12  -1      ->  11
+fmax36313 fma  1    98  -1      ->  97
+fmax36314 fma  1    99  -1      ->  98
+fmax36315 fma  1   100  -1      ->  99
+fmax36316 fma  1   101  -1      -> 100
+
+fmax36321 fma  1   -0.01  0.01    ->  0.00
+fmax36322 fma  1    0.00  0.01    ->  0.01
+fmax36323 fma  1    0.01  0.01    ->  0.02
+fmax36324 fma  1    0.12  0.01    ->  0.13
+fmax36325 fma  1    0.98  0.01    ->  0.99
+fmax36326 fma  1    0.99  0.01    ->  1.00
+fmax36327 fma  1    1.00  0.01    ->  1.01
+fmax36328 fma  1    1.01  0.01    ->  1.02
+fmax36329 fma  1   -0.01 -0.01    -> -0.02
+fmax36330 fma  1    0.00 -0.01    -> -0.01
+fmax36331 fma  1    0.01 -0.01    ->  0.00
+fmax36332 fma  1    0.12 -0.01    ->  0.11
+fmax36333 fma  1    0.98 -0.01    ->  0.97
+fmax36334 fma  1    0.99 -0.01    ->  0.98
+fmax36335 fma  1    1.00 -0.01    ->  0.99
+fmax36336 fma  1    1.01 -0.01    ->  1.00
+
+-- some more cases where fma  1  ing 0 affects the coefficient
+fmax36340 fma  1   1E+3    0    ->         1000
+fmax36341 fma  1   1E+15   0    ->    1000000000000000
+fmax36342 fma  1   1E+16   0    ->   1.000000000000000E+16  Rounded
+fmax36343 fma  1   1E+17   0    ->   1.000000000000000E+17  Rounded
+-- which simply follow from these cases ...
+fmax36344 fma  1   1E+3    1    ->         1001
+fmax36345 fma  1   1E+15   1    ->    1000000000000001
+fmax36346 fma  1   1E+16   1    ->   1.000000000000000E+16  Inexact Rounded
+fmax36347 fma  1   1E+17   1    ->   1.000000000000000E+17  Inexact Rounded
+fmax36348 fma  1   1E+3    7    ->         1007
+fmax36349 fma  1   1E+15   7    ->    1000000000000007
+fmax36350 fma  1   1E+16   7    ->   1.000000000000001E+16  Inexact Rounded
+fmax36351 fma  1   1E+17   7    ->   1.000000000000000E+17  Inexact Rounded
+
+-- tryzeros cases
+fmax36361  fma  1   0E+50 10000E+1  -> 1.0000E+5
+fmax36362  fma  1   10000E+1 0E-50  -> 100000.0000000000  Rounded
+fmax36363  fma  1   10000E+1 10000E-50  -> 100000.0000000000  Rounded Inexact
+fmax36364  fma  1   12.34    0e-398  -> 12.34000000000000  Rounded
+
+-- ulp replacement tests
+fmax36400 fma  1     1   77e-14      ->  1.00000000000077
+fmax36401 fma  1     1   77e-15      ->  1.000000000000077
+fmax36402 fma  1     1   77e-16      ->  1.000000000000008 Inexact Rounded
+fmax36403 fma  1     1   77e-17      ->  1.000000000000001 Inexact Rounded
+fmax36404 fma  1     1   77e-18      ->  1.000000000000000 Inexact Rounded
+fmax36405 fma  1     1   77e-19      ->  1.000000000000000 Inexact Rounded
+fmax36406 fma  1     1   77e-99      ->  1.000000000000000 Inexact Rounded
+
+fmax36410 fma  1    10   77e-14      ->  10.00000000000077
+fmax36411 fma  1    10   77e-15      ->  10.00000000000008 Inexact Rounded
+fmax36412 fma  1    10   77e-16      ->  10.00000000000001 Inexact Rounded
+fmax36413 fma  1    10   77e-17      ->  10.00000000000000 Inexact Rounded
+fmax36414 fma  1    10   77e-18      ->  10.00000000000000 Inexact Rounded
+fmax36415 fma  1    10   77e-19      ->  10.00000000000000 Inexact Rounded
+fmax36416 fma  1    10   77e-99      ->  10.00000000000000 Inexact Rounded
+
+fmax36420 fma  1    77e-14       1   ->  1.00000000000077
+fmax36421 fma  1    77e-15       1   ->  1.000000000000077
+fmax36422 fma  1    77e-16       1   ->  1.000000000000008 Inexact Rounded
+fmax36423 fma  1    77e-17       1   ->  1.000000000000001 Inexact Rounded
+fmax36424 fma  1    77e-18       1   ->  1.000000000000000 Inexact Rounded
+fmax36425 fma  1    77e-19       1   ->  1.000000000000000 Inexact Rounded
+fmax36426 fma  1    77e-99       1   ->  1.000000000000000 Inexact Rounded
+
+fmax36430 fma  1    77e-14      10   ->  10.00000000000077
+fmax36431 fma  1    77e-15      10   ->  10.00000000000008 Inexact Rounded
+fmax36432 fma  1    77e-16      10   ->  10.00000000000001 Inexact Rounded
+fmax36433 fma  1    77e-17      10   ->  10.00000000000000 Inexact Rounded
+fmax36434 fma  1    77e-18      10   ->  10.00000000000000 Inexact Rounded
+fmax36435 fma  1    77e-19      10   ->  10.00000000000000 Inexact Rounded
+fmax36436 fma  1    77e-99      10   ->  10.00000000000000 Inexact Rounded
+
+-- negative ulps
+fmax36440 fma  1     1   -77e-14      ->  0.99999999999923
+fmax36441 fma  1     1   -77e-15      ->  0.999999999999923
+fmax36442 fma  1     1   -77e-16      ->  0.9999999999999923
+fmax36443 fma  1     1   -77e-17      ->  0.9999999999999992 Inexact Rounded
+fmax36444 fma  1     1   -77e-18      ->  0.9999999999999999 Inexact Rounded
+fmax36445 fma  1     1   -77e-19      ->  1.000000000000000 Inexact Rounded
+fmax36446 fma  1     1   -77e-99      ->  1.000000000000000 Inexact Rounded
+
+fmax36450 fma  1    10   -77e-14      ->   9.99999999999923
+fmax36451 fma  1    10   -77e-15      ->   9.999999999999923
+fmax36452 fma  1    10   -77e-16      ->   9.999999999999992 Inexact Rounded
+fmax36453 fma  1    10   -77e-17      ->   9.999999999999999 Inexact Rounded
+fmax36454 fma  1    10   -77e-18      ->  10.00000000000000 Inexact Rounded
+fmax36455 fma  1    10   -77e-19      ->  10.00000000000000 Inexact Rounded
+fmax36456 fma  1    10   -77e-99      ->  10.00000000000000 Inexact Rounded
+
+fmax36460 fma  1    -77e-14       1   ->  0.99999999999923
+fmax36461 fma  1    -77e-15       1   ->  0.999999999999923
+fmax36462 fma  1    -77e-16       1   ->  0.9999999999999923
+fmax36463 fma  1    -77e-17       1   ->  0.9999999999999992 Inexact Rounded
+fmax36464 fma  1    -77e-18       1   ->  0.9999999999999999 Inexact Rounded
+fmax36465 fma  1    -77e-19       1   ->  1.000000000000000 Inexact Rounded
+fmax36466 fma  1    -77e-99       1   ->  1.000000000000000 Inexact Rounded
+
+fmax36470 fma  1    -77e-14      10   ->   9.99999999999923
+fmax36471 fma  1    -77e-15      10   ->   9.999999999999923
+fmax36472 fma  1    -77e-16      10   ->   9.999999999999992 Inexact Rounded
+fmax36473 fma  1    -77e-17      10   ->   9.999999999999999 Inexact Rounded
+fmax36474 fma  1    -77e-18      10   ->  10.00000000000000 Inexact Rounded
+fmax36475 fma  1    -77e-19      10   ->  10.00000000000000 Inexact Rounded
+fmax36476 fma  1    -77e-99      10   ->  10.00000000000000 Inexact Rounded
+
+-- negative ulps
+fmax36480 fma  1    -1    77e-14      ->  -0.99999999999923
+fmax36481 fma  1    -1    77e-15      ->  -0.999999999999923
+fmax36482 fma  1    -1    77e-16      ->  -0.9999999999999923
+fmax36483 fma  1    -1    77e-17      ->  -0.9999999999999992 Inexact Rounded
+fmax36484 fma  1    -1    77e-18      ->  -0.9999999999999999 Inexact Rounded
+fmax36485 fma  1    -1    77e-19      ->  -1.000000000000000 Inexact Rounded
+fmax36486 fma  1    -1    77e-99      ->  -1.000000000000000 Inexact Rounded
+
+fmax36490 fma  1   -10    77e-14      ->   -9.99999999999923
+fmax36491 fma  1   -10    77e-15      ->   -9.999999999999923
+fmax36492 fma  1   -10    77e-16      ->   -9.999999999999992 Inexact Rounded
+fmax36493 fma  1   -10    77e-17      ->   -9.999999999999999 Inexact Rounded
+fmax36494 fma  1   -10    77e-18      ->  -10.00000000000000 Inexact Rounded
+fmax36495 fma  1   -10    77e-19      ->  -10.00000000000000 Inexact Rounded
+fmax36496 fma  1   -10    77e-99      ->  -10.00000000000000 Inexact Rounded
+
+fmax36500 fma  1     77e-14      -1   ->  -0.99999999999923
+fmax36501 fma  1     77e-15      -1   ->  -0.999999999999923
+fmax36502 fma  1     77e-16      -1   ->  -0.9999999999999923
+fmax36503 fma  1     77e-17      -1   ->  -0.9999999999999992 Inexact Rounded
+fmax36504 fma  1     77e-18      -1   ->  -0.9999999999999999 Inexact Rounded
+fmax36505 fma  1     77e-19      -1   ->  -1.000000000000000 Inexact Rounded
+fmax36506 fma  1     77e-99      -1   ->  -1.000000000000000 Inexact Rounded
+
+fmax36510 fma  1     77e-14      -10  ->   -9.99999999999923
+fmax36511 fma  1     77e-15      -10  ->   -9.999999999999923
+fmax36512 fma  1     77e-16      -10  ->   -9.999999999999992 Inexact Rounded
+fmax36513 fma  1     77e-17      -10  ->   -9.999999999999999 Inexact Rounded
+fmax36514 fma  1     77e-18      -10  ->  -10.00000000000000 Inexact Rounded
+fmax36515 fma  1     77e-19      -10  ->  -10.00000000000000 Inexact Rounded
+fmax36516 fma  1     77e-99      -10  ->  -10.00000000000000 Inexact Rounded
+
+
+-- long operands
+fmax36521 fma  1   101234562345678000 0 -> 1.012345623456780E+17 Rounded
+fmax36522 fma  1   0 101234562345678000 -> 1.012345623456780E+17 Rounded
+fmax36523 fma  1   10123456234567800  0 -> 1.012345623456780E+16 Rounded
+fmax36524 fma  1   0 10123456234567800  -> 1.012345623456780E+16 Rounded
+fmax36525 fma  1   10123456234567890  0 -> 1.012345623456789E+16 Rounded
+fmax36526 fma  1   0 10123456234567890  -> 1.012345623456789E+16 Rounded
+fmax36527 fma  1   10123456234567891  0 -> 1.012345623456789E+16 Inexact Rounded
+fmax36528 fma  1   0 10123456234567891  -> 1.012345623456789E+16 Inexact Rounded
+fmax36529 fma  1   101234562345678901 0 -> 1.012345623456789E+17 Inexact Rounded
+fmax36530 fma  1   0 101234562345678901 -> 1.012345623456789E+17 Inexact Rounded
+fmax36531 fma  1   10123456234567896  0 -> 1.012345623456790E+16 Inexact Rounded
+fmax36532 fma  1   0 10123456234567896  -> 1.012345623456790E+16 Inexact Rounded
+
+-- verify a query
+rounding:     down
+fmax36561 fma  1   1e-398 9.000000000000000E+384 -> 9.000000000000000E+384 Inexact Rounded
+fmax36562 fma  1        0 9.000000000000000E+384 -> 9.000000000000000E+384 Rounded
+-- and using decimal64 bounds...
+rounding:     down
+fmax36563 fma  1   1e-388 9.000000000000000E+374 -> 9.000000000000000E+374 Inexact Rounded
+fmax36564 fma  1        0 9.000000000000000E+374 -> 9.000000000000000E+374 Rounded
+
+-- more zeros, etc.
+rounding: half_even
+
+fmax36701 fma  1   5.00 1.00E-3 -> 5.00100
+fmax36702 fma  1   00.00 0.000  -> 0.000
+fmax36703 fma  1   00.00 0E-3   -> 0.000
+fmax36704 fma  1   0E-3  00.00  -> 0.000
+
+fmax36710 fma  1   0E+3  00.00  -> 0.00
+fmax36711 fma  1   0E+3  00.0   -> 0.0
+fmax36712 fma  1   0E+3  00.    -> 0
+fmax36713 fma  1   0E+3  00.E+1 -> 0E+1
+fmax36714 fma  1   0E+3  00.E+2 -> 0E+2
+fmax36715 fma  1   0E+3  00.E+3 -> 0E+3
+fmax36716 fma  1   0E+3  00.E+4 -> 0E+3
+fmax36717 fma  1   0E+3  00.E+5 -> 0E+3
+fmax36718 fma  1   0E+3  -00.0   -> 0.0
+fmax36719 fma  1   0E+3  -00.    -> 0
+fmax36731 fma  1   0E+3  -00.E+1 -> 0E+1
+
+fmax36720 fma  1   00.00  0E+3  -> 0.00
+fmax36721 fma  1   00.0   0E+3  -> 0.0
+fmax36722 fma  1   00.    0E+3  -> 0
+fmax36723 fma  1   00.E+1 0E+3  -> 0E+1
+fmax36724 fma  1   00.E+2 0E+3  -> 0E+2
+fmax36725 fma  1   00.E+3 0E+3  -> 0E+3
+fmax36726 fma  1   00.E+4 0E+3  -> 0E+3
+fmax36727 fma  1   00.E+5 0E+3  -> 0E+3
+fmax36728 fma  1   -00.00 0E+3  -> 0.00
+fmax36729 fma  1   -00.0  0E+3  -> 0.0
+fmax36730 fma  1   -00.   0E+3  -> 0
+
+fmax36732 fma  1    0     0     ->  0
+fmax36733 fma  1    0    -0     ->  0
+fmax36734 fma  1   -0     0     ->  0
+fmax36735 fma  1   -0    -0     -> -0     -- IEEE 854 special case
+
+fmax36736 fma  1    1    -1     ->  0
+fmax36737 fma  1   -1    -1     -> -2
+fmax36738 fma  1    1     1     ->  2
+fmax36739 fma  1   -1     1     ->  0
+
+fmax36741 fma  1    0    -1     -> -1
+fmax36742 fma  1   -0    -1     -> -1
+fmax36743 fma  1    0     1     ->  1
+fmax36744 fma  1   -0     1     ->  1
+fmax36745 fma  1   -1     0     -> -1
+fmax36746 fma  1   -1    -0     -> -1
+fmax36747 fma  1    1     0     ->  1
+fmax36748 fma  1    1    -0     ->  1
+
+fmax36751 fma  1    0.0  -1     -> -1.0
+fmax36752 fma  1   -0.0  -1     -> -1.0
+fmax36753 fma  1    0.0   1     ->  1.0
+fmax36754 fma  1   -0.0   1     ->  1.0
+fmax36755 fma  1   -1.0   0     -> -1.0
+fmax36756 fma  1   -1.0  -0     -> -1.0
+fmax36757 fma  1    1.0   0     ->  1.0
+fmax36758 fma  1    1.0  -0     ->  1.0
+
+fmax36761 fma  1    0    -1.0   -> -1.0
+fmax36762 fma  1   -0    -1.0   -> -1.0
+fmax36763 fma  1    0     1.0   ->  1.0
+fmax36764 fma  1   -0     1.0   ->  1.0
+fmax36765 fma  1   -1     0.0   -> -1.0
+fmax36766 fma  1   -1    -0.0   -> -1.0
+fmax36767 fma  1    1     0.0   ->  1.0
+fmax36768 fma  1    1    -0.0   ->  1.0
+
+fmax36771 fma  1    0.0  -1.0   -> -1.0
+fmax36772 fma  1   -0.0  -1.0   -> -1.0
+fmax36773 fma  1    0.0   1.0   ->  1.0
+fmax36774 fma  1   -0.0   1.0   ->  1.0
+fmax36775 fma  1   -1.0   0.0   -> -1.0
+fmax36776 fma  1   -1.0  -0.0   -> -1.0
+fmax36777 fma  1    1.0   0.0   ->  1.0
+fmax36778 fma  1    1.0  -0.0   ->  1.0
+
+-- Specials
+fmax36780 fma  1   -Inf  -Inf   -> -Infinity
+fmax36781 fma  1   -Inf  -1000  -> -Infinity
+fmax36782 fma  1   -Inf  -1     -> -Infinity
+fmax36783 fma  1   -Inf  -0     -> -Infinity
+fmax36784 fma  1   -Inf   0     -> -Infinity
+fmax36785 fma  1   -Inf   1     -> -Infinity
+fmax36786 fma  1   -Inf   1000  -> -Infinity
+fmax36787 fma  1   -1000 -Inf   -> -Infinity
+fmax36788 fma  1   -Inf  -Inf   -> -Infinity
+fmax36789 fma  1   -1    -Inf   -> -Infinity
+fmax36790 fma  1   -0    -Inf   -> -Infinity
+fmax36791 fma  1    0    -Inf   -> -Infinity
+fmax36792 fma  1    1    -Inf   -> -Infinity
+fmax36793 fma  1    1000 -Inf   -> -Infinity
+fmax36794 fma  1    Inf  -Inf   ->  NaN  Invalid_operation
+
+fmax36800 fma  1    Inf  -Inf   ->  NaN  Invalid_operation
+fmax36801 fma  1    Inf  -1000  ->  Infinity
+fmax36802 fma  1    Inf  -1     ->  Infinity
+fmax36803 fma  1    Inf  -0     ->  Infinity
+fmax36804 fma  1    Inf   0     ->  Infinity
+fmax36805 fma  1    Inf   1     ->  Infinity
+fmax36806 fma  1    Inf   1000  ->  Infinity
+fmax36807 fma  1    Inf   Inf   ->  Infinity
+fmax36808 fma  1   -1000  Inf   ->  Infinity
+fmax36809 fma  1   -Inf   Inf   ->  NaN  Invalid_operation
+fmax36810 fma  1   -1     Inf   ->  Infinity
+fmax36811 fma  1   -0     Inf   ->  Infinity
+fmax36812 fma  1    0     Inf   ->  Infinity
+fmax36813 fma  1    1     Inf   ->  Infinity
+fmax36814 fma  1    1000  Inf   ->  Infinity
+fmax36815 fma  1    Inf   Inf   ->  Infinity
+
+fmax36821 fma  1    NaN -Inf    ->  NaN
+fmax36822 fma  1    NaN -1000   ->  NaN
+fmax36823 fma  1    NaN -1      ->  NaN
+fmax36824 fma  1    NaN -0      ->  NaN
+fmax36825 fma  1    NaN  0      ->  NaN
+fmax36826 fma  1    NaN  1      ->  NaN
+fmax36827 fma  1    NaN  1000   ->  NaN
+fmax36828 fma  1    NaN  Inf    ->  NaN
+fmax36829 fma  1    NaN  NaN    ->  NaN
+fmax36830 fma  1   -Inf  NaN    ->  NaN
+fmax36831 fma  1   -1000 NaN    ->  NaN
+fmax36832 fma  1   -1    NaN    ->  NaN
+fmax36833 fma  1   -0    NaN    ->  NaN
+fmax36834 fma  1    0    NaN    ->  NaN
+fmax36835 fma  1    1    NaN    ->  NaN
+fmax36836 fma  1    1000 NaN    ->  NaN
+fmax36837 fma  1    Inf  NaN    ->  NaN
+
+fmax36841 fma  1    sNaN -Inf   ->  NaN  Invalid_operation
+fmax36842 fma  1    sNaN -1000  ->  NaN  Invalid_operation
+fmax36843 fma  1    sNaN -1     ->  NaN  Invalid_operation
+fmax36844 fma  1    sNaN -0     ->  NaN  Invalid_operation
+fmax36845 fma  1    sNaN  0     ->  NaN  Invalid_operation
+fmax36846 fma  1    sNaN  1     ->  NaN  Invalid_operation
+fmax36847 fma  1    sNaN  1000  ->  NaN  Invalid_operation
+fmax36848 fma  1    sNaN  NaN   ->  NaN  Invalid_operation
+fmax36849 fma  1    sNaN sNaN   ->  NaN  Invalid_operation
+fmax36850 fma  1    NaN  sNaN   ->  NaN  Invalid_operation
+fmax36851 fma  1   -Inf  sNaN   ->  NaN  Invalid_operation
+fmax36852 fma  1   -1000 sNaN   ->  NaN  Invalid_operation
+fmax36853 fma  1   -1    sNaN   ->  NaN  Invalid_operation
+fmax36854 fma  1   -0    sNaN   ->  NaN  Invalid_operation
+fmax36855 fma  1    0    sNaN   ->  NaN  Invalid_operation
+fmax36856 fma  1    1    sNaN   ->  NaN  Invalid_operation
+fmax36857 fma  1    1000 sNaN   ->  NaN  Invalid_operation
+fmax36858 fma  1    Inf  sNaN   ->  NaN  Invalid_operation
+fmax36859 fma  1    NaN  sNaN   ->  NaN  Invalid_operation
+
+-- propagating NaNs
+fmax36861 fma  1    NaN1   -Inf    ->  NaN1
+fmax36862 fma  1   +NaN2   -1000   ->  NaN2
+fmax36863 fma  1    NaN3    1000   ->  NaN3
+fmax36864 fma  1    NaN4    Inf    ->  NaN4
+fmax36865 fma  1    NaN5   +NaN6   ->  NaN5
+fmax36866 fma  1   -Inf     NaN7   ->  NaN7
+fmax36867 fma  1   -1000    NaN8   ->  NaN8
+fmax36868 fma  1    1000    NaN9   ->  NaN9
+fmax36869 fma  1    Inf    +NaN10  ->  NaN10
+fmax36871 fma  1    sNaN11  -Inf   ->  NaN11  Invalid_operation
+fmax36872 fma  1    sNaN12  -1000  ->  NaN12  Invalid_operation
+fmax36873 fma  1    sNaN13   1000  ->  NaN13  Invalid_operation
+fmax36874 fma  1    sNaN14   NaN17 ->  NaN14  Invalid_operation
+fmax36875 fma  1    sNaN15  sNaN18 ->  NaN15  Invalid_operation
+fmax36876 fma  1    NaN16   sNaN19 ->  NaN19  Invalid_operation
+fmax36877 fma  1   -Inf    +sNaN20 ->  NaN20  Invalid_operation
+fmax36878 fma  1   -1000    sNaN21 ->  NaN21  Invalid_operation
+fmax36879 fma  1    1000    sNaN22 ->  NaN22  Invalid_operation
+fmax36880 fma  1    Inf     sNaN23 ->  NaN23  Invalid_operation
+fmax36881 fma  1   +NaN25  +sNaN24 ->  NaN24  Invalid_operation
+fmax36882 fma  1   -NaN26    NaN28 -> -NaN26
+fmax36883 fma  1   -sNaN27  sNaN29 -> -NaN27  Invalid_operation
+fmax36884 fma  1    1000    -NaN30 -> -NaN30
+fmax36885 fma  1    1000   -sNaN31 -> -NaN31  Invalid_operation
+
+-- now the case where we can get underflow but the result is normal
+-- [note this can't happen if the operands are also bounded, as we
+-- cannot represent 1E-399, for example]
+
+fmax36571 fma  1         1E-383       0  -> 1E-383
+fmax36572 fma  1         1E-384       0  -> 1E-384   Subnormal
+fmax36573 fma  1         1E-383  1E-384  -> 1.1E-383
+fmax36574 subtract  1E-383  1E-384  ->   9E-384 Subnormal
+
+-- Here we explore the boundary of rounding a subnormal to Nmin
+fmax36575 subtract  1E-383  1E-398  ->   9.99999999999999E-384  Subnormal
+fmax36576 subtract  1E-383  1E-398  ->   9.99999999999999E-384  Subnormal
+fmax36577 subtract  1E-383  1E-399  ->   1.000000000000000E-383 Underflow Inexact Subnormal Rounded
+fmax36578 subtract  1E-383  1E-400  ->   1.000000000000000E-383 Underflow Inexact Subnormal Rounded
+fmax36579 subtract  1E-383  1E-401  ->   1.000000000000000E-383 Underflow Inexact Subnormal Rounded
+fmax36580 subtract  1E-383  1E-402  ->   1.000000000000000E-383 Underflow Inexact Subnormal Rounded
+
+-- check overflow edge case
+--               1234567890123456
+fmax36972 apply        9.999999999999999E+384         -> 9.999999999999999E+384
+fmax36973 fma  1       9.999999999999999E+384  1      -> 9.999999999999999E+384 Inexact Rounded
+fmax36974 fma  1        9999999999999999E+369  1      -> 9.999999999999999E+384 Inexact Rounded
+fmax36975 fma  1        9999999999999999E+369  1E+369  -> Infinity Overflow Inexact Rounded
+fmax36976 fma  1        9999999999999999E+369  9E+368  -> Infinity Overflow Inexact Rounded
+fmax36977 fma  1        9999999999999999E+369  8E+368  -> Infinity Overflow Inexact Rounded
+fmax36978 fma  1        9999999999999999E+369  7E+368  -> Infinity Overflow Inexact Rounded
+fmax36979 fma  1        9999999999999999E+369  6E+368  -> Infinity Overflow Inexact Rounded
+fmax36980 fma  1        9999999999999999E+369  5E+368  -> Infinity Overflow Inexact Rounded
+fmax36981 fma  1        9999999999999999E+369  4E+368  -> 9.999999999999999E+384 Inexact Rounded
+fmax36982 fma  1        9999999999999999E+369  3E+368  -> 9.999999999999999E+384 Inexact Rounded
+fmax36983 fma  1        9999999999999999E+369  2E+368  -> 9.999999999999999E+384 Inexact Rounded
+fmax36984 fma  1        9999999999999999E+369  1E+368  -> 9.999999999999999E+384 Inexact Rounded
+
+fmax36985 apply       -9.999999999999999E+384         -> -9.999999999999999E+384
+fmax36986 fma  1      -9.999999999999999E+384 -1      -> -9.999999999999999E+384 Inexact Rounded
+fmax36987 fma  1       -9999999999999999E+369 -1      -> -9.999999999999999E+384 Inexact Rounded
+fmax36988 fma  1       -9999999999999999E+369 -1E+369  -> -Infinity Overflow Inexact Rounded
+fmax36989 fma  1       -9999999999999999E+369 -9E+368  -> -Infinity Overflow Inexact Rounded
+fmax36990 fma  1       -9999999999999999E+369 -8E+368  -> -Infinity Overflow Inexact Rounded
+fmax36991 fma  1       -9999999999999999E+369 -7E+368  -> -Infinity Overflow Inexact Rounded
+fmax36992 fma  1       -9999999999999999E+369 -6E+368  -> -Infinity Overflow Inexact Rounded
+fmax36993 fma  1       -9999999999999999E+369 -5E+368  -> -Infinity Overflow Inexact Rounded
+fmax36994 fma  1       -9999999999999999E+369 -4E+368  -> -9.999999999999999E+384 Inexact Rounded
+fmax36995 fma  1       -9999999999999999E+369 -3E+368  -> -9.999999999999999E+384 Inexact Rounded
+fmax36996 fma  1       -9999999999999999E+369 -2E+368  -> -9.999999999999999E+384 Inexact Rounded
+fmax36997 fma  1       -9999999999999999E+369 -1E+368  -> -9.999999999999999E+384 Inexact Rounded
+
+-- And for round down full and subnormal results
+rounding:     down
+fmax361100 fma  1   1e+2 -1e-383    -> 99.99999999999999 Rounded Inexact
+fmax361101 fma  1   1e+1 -1e-383    -> 9.999999999999999  Rounded Inexact
+fmax361103 fma  1     +1 -1e-383    -> 0.9999999999999999  Rounded Inexact
+fmax361104 fma  1   1e-1 -1e-383    -> 0.09999999999999999  Rounded Inexact
+fmax361105 fma  1   1e-2 -1e-383    -> 0.009999999999999999  Rounded Inexact
+fmax361106 fma  1   1e-3 -1e-383    -> 0.0009999999999999999  Rounded Inexact
+fmax361107 fma  1   1e-4 -1e-383    -> 0.00009999999999999999  Rounded Inexact
+fmax361108 fma  1   1e-5 -1e-383    -> 0.000009999999999999999  Rounded Inexact
+fmax361109 fma  1   1e-6 -1e-383    -> 9.999999999999999E-7  Rounded Inexact
+
+rounding:     ceiling
+fmax361110 fma  1   -1e+2 +1e-383   -> -99.99999999999999 Rounded Inexact
+fmax361111 fma  1   -1e+1 +1e-383   -> -9.999999999999999  Rounded Inexact
+fmax361113 fma  1      -1 +1e-383   -> -0.9999999999999999  Rounded Inexact
+fmax361114 fma  1   -1e-1 +1e-383   -> -0.09999999999999999  Rounded Inexact
+fmax361115 fma  1   -1e-2 +1e-383   -> -0.009999999999999999  Rounded Inexact
+fmax361116 fma  1   -1e-3 +1e-383   -> -0.0009999999999999999  Rounded Inexact
+fmax361117 fma  1   -1e-4 +1e-383   -> -0.00009999999999999999  Rounded Inexact
+fmax361118 fma  1   -1e-5 +1e-383   -> -0.000009999999999999999  Rounded Inexact
+fmax361119 fma  1   -1e-6 +1e-383   -> -9.999999999999999E-7  Rounded Inexact
+
+-- tests based on Gunnar Degnbol's edge case
+rounding:     half_even
+
+fmax361300 fma  1   1E16  -0.5                 ->  1.000000000000000E+16 Inexact Rounded
+fmax361310 fma  1   1E16  -0.51                ->  9999999999999999      Inexact Rounded
+fmax361311 fma  1   1E16  -0.501               ->  9999999999999999      Inexact Rounded
+fmax361312 fma  1   1E16  -0.5001              ->  9999999999999999      Inexact Rounded
+fmax361313 fma  1   1E16  -0.50001             ->  9999999999999999      Inexact Rounded
+fmax361314 fma  1   1E16  -0.500001            ->  9999999999999999      Inexact Rounded
+fmax361315 fma  1   1E16  -0.5000001           ->  9999999999999999      Inexact Rounded
+fmax361316 fma  1   1E16  -0.50000001          ->  9999999999999999      Inexact Rounded
+fmax361317 fma  1   1E16  -0.500000001         ->  9999999999999999      Inexact Rounded
+fmax361318 fma  1   1E16  -0.5000000001        ->  9999999999999999      Inexact Rounded
+fmax361319 fma  1   1E16  -0.50000000001       ->  9999999999999999      Inexact Rounded
+fmax361320 fma  1   1E16  -0.500000000001      ->  9999999999999999      Inexact Rounded
+fmax361321 fma  1   1E16  -0.5000000000001     ->  9999999999999999      Inexact Rounded
+fmax361322 fma  1   1E16  -0.50000000000001    ->  9999999999999999      Inexact Rounded
+fmax361323 fma  1   1E16  -0.500000000000001   ->  9999999999999999      Inexact Rounded
+fmax361324 fma  1   1E16  -0.5000000000000001  ->  9999999999999999      Inexact Rounded
+fmax361325 fma  1   1E16  -0.5000000000000000  ->  1.000000000000000E+16 Inexact Rounded
+fmax361326 fma  1   1E16  -0.500000000000000   ->  1.000000000000000E+16 Inexact Rounded
+fmax361327 fma  1   1E16  -0.50000000000000    ->  1.000000000000000E+16 Inexact Rounded
+fmax361328 fma  1   1E16  -0.5000000000000     ->  1.000000000000000E+16 Inexact Rounded
+fmax361329 fma  1   1E16  -0.500000000000      ->  1.000000000000000E+16 Inexact Rounded
+fmax361330 fma  1   1E16  -0.50000000000       ->  1.000000000000000E+16 Inexact Rounded
+fmax361331 fma  1   1E16  -0.5000000000        ->  1.000000000000000E+16 Inexact Rounded
+fmax361332 fma  1   1E16  -0.500000000         ->  1.000000000000000E+16 Inexact Rounded
+fmax361333 fma  1   1E16  -0.50000000          ->  1.000000000000000E+16 Inexact Rounded
+fmax361334 fma  1   1E16  -0.5000000           ->  1.000000000000000E+16 Inexact Rounded
+fmax361335 fma  1   1E16  -0.500000            ->  1.000000000000000E+16 Inexact Rounded
+fmax361336 fma  1   1E16  -0.50000             ->  1.000000000000000E+16 Inexact Rounded
+fmax361337 fma  1   1E16  -0.5000              ->  1.000000000000000E+16 Inexact Rounded
+fmax361338 fma  1   1E16  -0.500               ->  1.000000000000000E+16 Inexact Rounded
+fmax361339 fma  1   1E16  -0.50                ->  1.000000000000000E+16 Inexact Rounded
+
+fmax361340 fma  1   1E16  -5000000.000010001   ->  9999999995000000      Inexact Rounded
+fmax361341 fma  1   1E16  -5000000.000000001   ->  9999999995000000      Inexact Rounded
+
+fmax361349 fma  1   9999999999999999 0.4                 ->  9999999999999999      Inexact Rounded
+fmax361350 fma  1   9999999999999999 0.49                ->  9999999999999999      Inexact Rounded
+fmax361351 fma  1   9999999999999999 0.499               ->  9999999999999999      Inexact Rounded
+fmax361352 fma  1   9999999999999999 0.4999              ->  9999999999999999      Inexact Rounded
+fmax361353 fma  1   9999999999999999 0.49999             ->  9999999999999999      Inexact Rounded
+fmax361354 fma  1   9999999999999999 0.499999            ->  9999999999999999      Inexact Rounded
+fmax361355 fma  1   9999999999999999 0.4999999           ->  9999999999999999      Inexact Rounded
+fmax361356 fma  1   9999999999999999 0.49999999          ->  9999999999999999      Inexact Rounded
+fmax361357 fma  1   9999999999999999 0.499999999         ->  9999999999999999      Inexact Rounded
+fmax361358 fma  1   9999999999999999 0.4999999999        ->  9999999999999999      Inexact Rounded
+fmax361359 fma  1   9999999999999999 0.49999999999       ->  9999999999999999      Inexact Rounded
+fmax361360 fma  1   9999999999999999 0.499999999999      ->  9999999999999999      Inexact Rounded
+fmax361361 fma  1   9999999999999999 0.4999999999999     ->  9999999999999999      Inexact Rounded
+fmax361362 fma  1   9999999999999999 0.49999999999999    ->  9999999999999999      Inexact Rounded
+fmax361363 fma  1   9999999999999999 0.499999999999999   ->  9999999999999999      Inexact Rounded
+fmax361364 fma  1   9999999999999999 0.4999999999999999  ->  9999999999999999      Inexact Rounded
+fmax361365 fma  1   9999999999999999 0.5000000000000000  ->  1.000000000000000E+16 Inexact Rounded
+fmax361367 fma  1   9999999999999999 0.500000000000000   ->  1.000000000000000E+16 Inexact Rounded
+fmax361368 fma  1   9999999999999999 0.50000000000000    ->  1.000000000000000E+16 Inexact Rounded
+fmax361369 fma  1   9999999999999999 0.5000000000000     ->  1.000000000000000E+16 Inexact Rounded
+fmax361370 fma  1   9999999999999999 0.500000000000      ->  1.000000000000000E+16 Inexact Rounded
+fmax361371 fma  1   9999999999999999 0.50000000000       ->  1.000000000000000E+16 Inexact Rounded
+fmax361372 fma  1   9999999999999999 0.5000000000        ->  1.000000000000000E+16 Inexact Rounded
+fmax361373 fma  1   9999999999999999 0.500000000         ->  1.000000000000000E+16 Inexact Rounded
+fmax361374 fma  1   9999999999999999 0.50000000          ->  1.000000000000000E+16 Inexact Rounded
+fmax361375 fma  1   9999999999999999 0.5000000           ->  1.000000000000000E+16 Inexact Rounded
+fmax361376 fma  1   9999999999999999 0.500000            ->  1.000000000000000E+16 Inexact Rounded
+fmax361377 fma  1   9999999999999999 0.50000             ->  1.000000000000000E+16 Inexact Rounded
+fmax361378 fma  1   9999999999999999 0.5000              ->  1.000000000000000E+16 Inexact Rounded
+fmax361379 fma  1   9999999999999999 0.500               ->  1.000000000000000E+16 Inexact Rounded
+fmax361380 fma  1   9999999999999999 0.50                ->  1.000000000000000E+16 Inexact Rounded
+fmax361381 fma  1   9999999999999999 0.5                 ->  1.000000000000000E+16 Inexact Rounded
+fmax361382 fma  1   9999999999999999 0.5000000000000001  ->  1.000000000000000E+16 Inexact Rounded
+fmax361383 fma  1   9999999999999999 0.500000000000001   ->  1.000000000000000E+16 Inexact Rounded
+fmax361384 fma  1   9999999999999999 0.50000000000001    ->  1.000000000000000E+16 Inexact Rounded
+fmax361385 fma  1   9999999999999999 0.5000000000001     ->  1.000000000000000E+16 Inexact Rounded
+fmax361386 fma  1   9999999999999999 0.500000000001      ->  1.000000000000000E+16 Inexact Rounded
+fmax361387 fma  1   9999999999999999 0.50000000001       ->  1.000000000000000E+16 Inexact Rounded
+fmax361388 fma  1   9999999999999999 0.5000000001        ->  1.000000000000000E+16 Inexact Rounded
+fmax361389 fma  1   9999999999999999 0.500000001         ->  1.000000000000000E+16 Inexact Rounded
+fmax361390 fma  1   9999999999999999 0.50000001          ->  1.000000000000000E+16 Inexact Rounded
+fmax361391 fma  1   9999999999999999 0.5000001           ->  1.000000000000000E+16 Inexact Rounded
+fmax361392 fma  1   9999999999999999 0.500001            ->  1.000000000000000E+16 Inexact Rounded
+fmax361393 fma  1   9999999999999999 0.50001             ->  1.000000000000000E+16 Inexact Rounded
+fmax361394 fma  1   9999999999999999 0.5001              ->  1.000000000000000E+16 Inexact Rounded
+fmax361395 fma  1   9999999999999999 0.501               ->  1.000000000000000E+16 Inexact Rounded
+fmax361396 fma  1   9999999999999999 0.51                ->  1.000000000000000E+16 Inexact Rounded
+
+-- More GD edge cases, where difference between the unadjusted
+-- exponents is larger than the maximum precision and one side is 0
+fmax361420 fma  1    0 1.123456789012345     -> 1.123456789012345
+fmax361421 fma  1    0 1.123456789012345E-1  -> 0.1123456789012345
+fmax361422 fma  1    0 1.123456789012345E-2  -> 0.01123456789012345
+fmax361423 fma  1    0 1.123456789012345E-3  -> 0.001123456789012345
+fmax361424 fma  1    0 1.123456789012345E-4  -> 0.0001123456789012345
+fmax361425 fma  1    0 1.123456789012345E-5  -> 0.00001123456789012345
+fmax361426 fma  1    0 1.123456789012345E-6  -> 0.000001123456789012345
+fmax361427 fma  1    0 1.123456789012345E-7  -> 1.123456789012345E-7
+fmax361428 fma  1    0 1.123456789012345E-8  -> 1.123456789012345E-8
+fmax361429 fma  1    0 1.123456789012345E-9  -> 1.123456789012345E-9
+fmax361430 fma  1    0 1.123456789012345E-10 -> 1.123456789012345E-10
+fmax361431 fma  1    0 1.123456789012345E-11 -> 1.123456789012345E-11
+fmax361432 fma  1    0 1.123456789012345E-12 -> 1.123456789012345E-12
+fmax361433 fma  1    0 1.123456789012345E-13 -> 1.123456789012345E-13
+fmax361434 fma  1    0 1.123456789012345E-14 -> 1.123456789012345E-14
+fmax361435 fma  1    0 1.123456789012345E-15 -> 1.123456789012345E-15
+fmax361436 fma  1    0 1.123456789012345E-16 -> 1.123456789012345E-16
+fmax361437 fma  1    0 1.123456789012345E-17 -> 1.123456789012345E-17
+fmax361438 fma  1    0 1.123456789012345E-18 -> 1.123456789012345E-18
+fmax361439 fma  1    0 1.123456789012345E-19 -> 1.123456789012345E-19
+
+-- same, reversed 0
+fmax361440 fma  1   1.123456789012345     0 -> 1.123456789012345
+fmax361441 fma  1   1.123456789012345E-1  0 -> 0.1123456789012345
+fmax361442 fma  1   1.123456789012345E-2  0 -> 0.01123456789012345
+fmax361443 fma  1   1.123456789012345E-3  0 -> 0.001123456789012345
+fmax361444 fma  1   1.123456789012345E-4  0 -> 0.0001123456789012345
+fmax361445 fma  1   1.123456789012345E-5  0 -> 0.00001123456789012345
+fmax361446 fma  1   1.123456789012345E-6  0 -> 0.000001123456789012345
+fmax361447 fma  1   1.123456789012345E-7  0 -> 1.123456789012345E-7
+fmax361448 fma  1   1.123456789012345E-8  0 -> 1.123456789012345E-8
+fmax361449 fma  1   1.123456789012345E-9  0 -> 1.123456789012345E-9
+fmax361450 fma  1   1.123456789012345E-10 0 -> 1.123456789012345E-10
+fmax361451 fma  1   1.123456789012345E-11 0 -> 1.123456789012345E-11
+fmax361452 fma  1   1.123456789012345E-12 0 -> 1.123456789012345E-12
+fmax361453 fma  1   1.123456789012345E-13 0 -> 1.123456789012345E-13
+fmax361454 fma  1   1.123456789012345E-14 0 -> 1.123456789012345E-14
+fmax361455 fma  1   1.123456789012345E-15 0 -> 1.123456789012345E-15
+fmax361456 fma  1   1.123456789012345E-16 0 -> 1.123456789012345E-16
+fmax361457 fma  1   1.123456789012345E-17 0 -> 1.123456789012345E-17
+fmax361458 fma  1   1.123456789012345E-18 0 -> 1.123456789012345E-18
+fmax361459 fma  1   1.123456789012345E-19 0 -> 1.123456789012345E-19
+
+-- same, Es on the 0
+fmax361460 fma  1   1.123456789012345  0E-0   -> 1.123456789012345
+fmax361461 fma  1   1.123456789012345  0E-1   -> 1.123456789012345
+fmax361462 fma  1   1.123456789012345  0E-2   -> 1.123456789012345
+fmax361463 fma  1   1.123456789012345  0E-3   -> 1.123456789012345
+fmax361464 fma  1   1.123456789012345  0E-4   -> 1.123456789012345
+fmax361465 fma  1   1.123456789012345  0E-5   -> 1.123456789012345
+fmax361466 fma  1   1.123456789012345  0E-6   -> 1.123456789012345
+fmax361467 fma  1   1.123456789012345  0E-7   -> 1.123456789012345
+fmax361468 fma  1   1.123456789012345  0E-8   -> 1.123456789012345
+fmax361469 fma  1   1.123456789012345  0E-9   -> 1.123456789012345
+fmax361470 fma  1   1.123456789012345  0E-10  -> 1.123456789012345
+fmax361471 fma  1   1.123456789012345  0E-11  -> 1.123456789012345
+fmax361472 fma  1   1.123456789012345  0E-12  -> 1.123456789012345
+fmax361473 fma  1   1.123456789012345  0E-13  -> 1.123456789012345
+fmax361474 fma  1   1.123456789012345  0E-14  -> 1.123456789012345
+fmax361475 fma  1   1.123456789012345  0E-15  -> 1.123456789012345
+-- next four flag Rounded because the 0 extends the result
+fmax361476 fma  1   1.123456789012345  0E-16  -> 1.123456789012345 Rounded
+fmax361477 fma  1   1.123456789012345  0E-17  -> 1.123456789012345 Rounded
+fmax361478 fma  1   1.123456789012345  0E-18  -> 1.123456789012345 Rounded
+fmax361479 fma  1   1.123456789012345  0E-19  -> 1.123456789012345 Rounded
+
+-- sum of two opposite-sign operands is exactly 0 and floor => -0
+rounding:    half_up
+-- exact zeros from zeros
+fmax361500 fma  1    0        0E-19  ->  0E-19
+fmax361501 fma  1   -0        0E-19  ->  0E-19
+fmax361502 fma  1    0       -0E-19  ->  0E-19
+fmax361503 fma  1   -0       -0E-19  -> -0E-19
+fmax361504 fma  1    0E-400   0E-19  ->  0E-398 Clamped
+fmax361505 fma  1   -0E-400   0E-19  ->  0E-398 Clamped
+fmax361506 fma  1    0E-400  -0E-19  ->  0E-398 Clamped
+fmax361507 fma  1   -0E-400  -0E-19  -> -0E-398 Clamped
+-- inexact zeros
+fmax361511 fma  1    1E-401   1E-400 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped
+fmax361512 fma  1   -1E-401   1E-400 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped
+fmax361513 fma  1    1E-401  -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
+fmax361514 fma  1   -1E-401  -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
+-- some exact zeros from non-zeros
+fmax361515 fma  1    1E-401   1E-401 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped
+fmax361516 fma  1   -1E-401   1E-401 ->  0E-398 Clamped
+fmax361517 fma  1    1E-401  -1E-401 ->  0E-398 Clamped
+fmax361518 fma  1   -1E-401  -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
+
+rounding:    half_down
+-- exact zeros from zeros
+fmax361520 fma  1    0        0E-19  ->  0E-19
+fmax361521 fma  1   -0        0E-19  ->  0E-19
+fmax361522 fma  1    0       -0E-19  ->  0E-19
+fmax361523 fma  1   -0       -0E-19  -> -0E-19
+fmax361524 fma  1    0E-400   0E-19  ->  0E-398 Clamped
+fmax361525 fma  1   -0E-400   0E-19  ->  0E-398 Clamped
+fmax361526 fma  1    0E-400  -0E-19  ->  0E-398 Clamped
+fmax361527 fma  1   -0E-400  -0E-19  -> -0E-398 Clamped
+-- inexact zeros
+fmax361531 fma  1    1E-401   1E-400 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped
+fmax361532 fma  1   -1E-401   1E-400 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped
+fmax361533 fma  1    1E-401  -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
+fmax361534 fma  1   -1E-401  -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
+-- some exact zeros from non-zeros
+fmax361535 fma  1    1E-401   1E-401 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped
+fmax361536 fma  1   -1E-401   1E-401 ->  0E-398 Clamped
+fmax361537 fma  1    1E-401  -1E-401 ->  0E-398 Clamped
+fmax361538 fma  1   -1E-401  -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
+
+rounding:    half_even
+-- exact zeros from zeros
+fmax361540 fma  1    0        0E-19  ->  0E-19
+fmax361541 fma  1   -0        0E-19  ->  0E-19
+fmax361542 fma  1    0       -0E-19  ->  0E-19
+fmax361543 fma  1   -0       -0E-19  -> -0E-19
+fmax361544 fma  1    0E-400   0E-19  ->  0E-398 Clamped
+fmax361545 fma  1   -0E-400   0E-19  ->  0E-398 Clamped
+fmax361546 fma  1    0E-400  -0E-19  ->  0E-398 Clamped
+fmax361547 fma  1   -0E-400  -0E-19  -> -0E-398 Clamped
+-- inexact zeros
+fmax361551 fma  1    1E-401   1E-400 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped
+fmax361552 fma  1   -1E-401   1E-400 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped
+fmax361553 fma  1    1E-401  -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
+fmax361554 fma  1   -1E-401  -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
+-- some exact zeros from non-zeros
+fmax361555 fma  1    1E-401   1E-401 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped
+fmax361556 fma  1   -1E-401   1E-401 ->  0E-398 Clamped
+fmax361557 fma  1    1E-401  -1E-401 ->  0E-398 Clamped
+fmax361558 fma  1   -1E-401  -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
+
+rounding:    up
+-- exact zeros from zeros
+fmax361560 fma  1    0        0E-19  ->  0E-19
+fmax361561 fma  1   -0        0E-19  ->  0E-19
+fmax361562 fma  1    0       -0E-19  ->  0E-19
+fmax361563 fma  1   -0       -0E-19  -> -0E-19
+fmax361564 fma  1    0E-400   0E-19  ->  0E-398 Clamped
+fmax361565 fma  1   -0E-400   0E-19  ->  0E-398 Clamped
+fmax361566 fma  1    0E-400  -0E-19  ->  0E-398 Clamped
+fmax361567 fma  1   -0E-400  -0E-19  -> -0E-398 Clamped
+-- inexact zeros
+fmax361571 fma  1    1E-401   1E-400 ->  1E-398 Subnormal Inexact Rounded Underflow
+fmax361572 fma  1   -1E-401   1E-400 ->  1E-398 Subnormal Inexact Rounded Underflow
+fmax361573 fma  1    1E-401  -1E-400 -> -1E-398 Subnormal Inexact Rounded Underflow
+fmax361574 fma  1   -1E-401  -1E-400 -> -1E-398 Subnormal Inexact Rounded Underflow
+-- some exact zeros from non-zeros
+fmax361575 fma  1    1E-401   1E-401 ->  1E-398 Subnormal Inexact Rounded Underflow
+fmax361576 fma  1   -1E-401   1E-401 ->  0E-398 Clamped
+fmax361577 fma  1    1E-401  -1E-401 ->  0E-398 Clamped
+fmax361578 fma  1   -1E-401  -1E-401 -> -1E-398 Subnormal Inexact Rounded Underflow
+
+rounding:    down
+-- exact zeros from zeros
+fmax361580 fma  1    0        0E-19  ->  0E-19
+fmax361581 fma  1   -0        0E-19  ->  0E-19
+fmax361582 fma  1    0       -0E-19  ->  0E-19
+fmax361583 fma  1   -0       -0E-19  -> -0E-19
+fmax361584 fma  1    0E-400   0E-19  ->  0E-398 Clamped
+fmax361585 fma  1   -0E-400   0E-19  ->  0E-398 Clamped
+fmax361586 fma  1    0E-400  -0E-19  ->  0E-398 Clamped
+fmax361587 fma  1   -0E-400  -0E-19  -> -0E-398 Clamped
+-- inexact zeros
+fmax361591 fma  1    1E-401   1E-400 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped
+fmax361592 fma  1   -1E-401   1E-400 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped
+fmax361593 fma  1    1E-401  -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
+fmax361594 fma  1   -1E-401  -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
+-- some exact zeros from non-zeros
+fmax361595 fma  1    1E-401   1E-401 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped
+fmax361596 fma  1   -1E-401   1E-401 ->  0E-398 Clamped
+fmax361597 fma  1    1E-401  -1E-401 ->  0E-398 Clamped
+fmax361598 fma  1   -1E-401  -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
+
+rounding:    ceiling
+-- exact zeros from zeros
+fmax361600 fma  1    0        0E-19  ->  0E-19
+fmax361601 fma  1   -0        0E-19  ->  0E-19
+fmax361602 fma  1    0       -0E-19  ->  0E-19
+fmax361603 fma  1   -0       -0E-19  -> -0E-19
+fmax361604 fma  1    0E-400   0E-19  ->  0E-398 Clamped
+fmax361605 fma  1   -0E-400   0E-19  ->  0E-398 Clamped
+fmax361606 fma  1    0E-400  -0E-19  ->  0E-398 Clamped
+fmax361607 fma  1   -0E-400  -0E-19  -> -0E-398 Clamped
+-- inexact zeros
+fmax361611 fma  1    1E-401   1E-400 ->  1E-398 Subnormal Inexact Rounded Underflow
+fmax361612 fma  1   -1E-401   1E-400 ->  1E-398 Subnormal Inexact Rounded Underflow
+fmax361613 fma  1    1E-401  -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
+fmax361614 fma  1   -1E-401  -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
+-- some exact zeros from non-zeros
+fmax361615 fma  1    1E-401   1E-401 ->  1E-398 Subnormal Inexact Rounded Underflow
+fmax361616 fma  1   -1E-401   1E-401 ->  0E-398 Clamped
+fmax361617 fma  1    1E-401  -1E-401 ->  0E-398 Clamped
+fmax361618 fma  1   -1E-401  -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
+
+-- and the extra-special ugly case; unusual minuses marked by -- *
+rounding:    floor
+-- exact zeros from zeros
+fmax361620 fma  1    0        0E-19  ->  0E-19
+fmax361621 fma  1   -0        0E-19  -> -0E-19           -- *
+fmax361622 fma  1    0       -0E-19  -> -0E-19           -- *
+fmax361623 fma  1   -0       -0E-19  -> -0E-19
+fmax361624 fma  1    0E-400   0E-19  ->  0E-398 Clamped
+fmax361625 fma  1   -0E-400   0E-19  -> -0E-398 Clamped  -- *
+fmax361626 fma  1    0E-400  -0E-19  -> -0E-398 Clamped  -- *
+fmax361627 fma  1   -0E-400  -0E-19  -> -0E-398 Clamped
+-- inexact zeros
+fmax361631 fma  1    1E-401   1E-400 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped
+fmax361632 fma  1   -1E-401   1E-400 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped
+fmax361633 fma  1    1E-401  -1E-400 -> -1E-398 Subnormal Inexact Rounded Underflow
+fmax361634 fma  1   -1E-401  -1E-400 -> -1E-398 Subnormal Inexact Rounded Underflow
+-- some exact zeros from non-zeros
+fmax361635 fma  1    1E-401   1E-401 ->  0E-398 Subnormal Inexact Rounded Underflow Clamped
+fmax361636 fma  1   -1E-401   1E-401 -> -0E-398 Clamped  -- *
+fmax361637 fma  1    1E-401  -1E-401 -> -0E-398 Clamped  -- *
+fmax361638 fma  1   -1E-401  -1E-401 -> -1E-398 Subnormal Inexact Rounded Underflow
+
+-- Examples from SQL proposal (Krishna Kulkarni)
+fmax361701 fma  1   130E-2    120E-2    -> 2.50
+fmax361702 fma  1   130E-2    12E-1     -> 2.50
+fmax361703 fma  1   130E-2    1E0       -> 2.30
+fmax361704 fma  1   1E2       1E4       -> 1.01E+4
+fmax361705 subtract 130E-2  120E-2 -> 0.10
+fmax361706 subtract 130E-2  12E-1  -> 0.10
+fmax361707 subtract 130E-2  1E0    -> 0.30
+fmax361708 subtract 1E2     1E4    -> -9.9E+3
+
+-- Gappy coefficients; check residue handling even with full coefficient gap
+rounding: half_even
+
+fmax362001 fma  1   1234567890123456 1      -> 1234567890123457
+fmax362002 fma  1   1234567890123456 0.6    -> 1234567890123457  Inexact Rounded
+fmax362003 fma  1   1234567890123456 0.06   -> 1234567890123456  Inexact Rounded
+fmax362004 fma  1   1234567890123456 6E-3   -> 1234567890123456  Inexact Rounded
+fmax362005 fma  1   1234567890123456 6E-4   -> 1234567890123456  Inexact Rounded
+fmax362006 fma  1   1234567890123456 6E-5   -> 1234567890123456  Inexact Rounded
+fmax362007 fma  1   1234567890123456 6E-6   -> 1234567890123456  Inexact Rounded
+fmax362008 fma  1   1234567890123456 6E-7   -> 1234567890123456  Inexact Rounded
+fmax362009 fma  1   1234567890123456 6E-8   -> 1234567890123456  Inexact Rounded
+fmax362010 fma  1   1234567890123456 6E-9   -> 1234567890123456  Inexact Rounded
+fmax362011 fma  1   1234567890123456 6E-10  -> 1234567890123456  Inexact Rounded
+fmax362012 fma  1   1234567890123456 6E-11  -> 1234567890123456  Inexact Rounded
+fmax362013 fma  1   1234567890123456 6E-12  -> 1234567890123456  Inexact Rounded
+fmax362014 fma  1   1234567890123456 6E-13  -> 1234567890123456  Inexact Rounded
+fmax362015 fma  1   1234567890123456 6E-14  -> 1234567890123456  Inexact Rounded
+fmax362016 fma  1   1234567890123456 6E-15  -> 1234567890123456  Inexact Rounded
+fmax362017 fma  1   1234567890123456 6E-16  -> 1234567890123456  Inexact Rounded
+fmax362018 fma  1   1234567890123456 6E-17  -> 1234567890123456  Inexact Rounded
+fmax362019 fma  1   1234567890123456 6E-18  -> 1234567890123456  Inexact Rounded
+fmax362020 fma  1   1234567890123456 6E-19  -> 1234567890123456  Inexact Rounded
+fmax362021 fma  1   1234567890123456 6E-20  -> 1234567890123456  Inexact Rounded
+
+-- widening second argument at gap
+fmax362030 fma  1   12345678 1                       -> 12345679
+fmax362031 fma  1   12345678 0.1                     -> 12345678.1
+fmax362032 fma  1   12345678 0.12                    -> 12345678.12
+fmax362033 fma  1   12345678 0.123                   -> 12345678.123
+fmax362034 fma  1   12345678 0.1234                  -> 12345678.1234
+fmax362035 fma  1   12345678 0.12345                 -> 12345678.12345
+fmax362036 fma  1   12345678 0.123456                -> 12345678.123456
+fmax362037 fma  1   12345678 0.1234567               -> 12345678.1234567
+fmax362038 fma  1   12345678 0.12345678              -> 12345678.12345678
+fmax362039 fma  1   12345678 0.123456789             -> 12345678.12345679 Inexact Rounded
+fmax362040 fma  1   12345678 0.123456785             -> 12345678.12345678 Inexact Rounded
+fmax362041 fma  1   12345678 0.1234567850            -> 12345678.12345678 Inexact Rounded
+fmax362042 fma  1   12345678 0.1234567851            -> 12345678.12345679 Inexact Rounded
+fmax362043 fma  1   12345678 0.12345678501           -> 12345678.12345679 Inexact Rounded
+fmax362044 fma  1   12345678 0.123456785001          -> 12345678.12345679 Inexact Rounded
+fmax362045 fma  1   12345678 0.1234567850001         -> 12345678.12345679 Inexact Rounded
+fmax362046 fma  1   12345678 0.12345678500001        -> 12345678.12345679 Inexact Rounded
+fmax362047 fma  1   12345678 0.123456785000001       -> 12345678.12345679 Inexact Rounded
+fmax362048 fma  1   12345678 0.1234567850000001      -> 12345678.12345679 Inexact Rounded
+fmax362049 fma  1   12345678 0.1234567850000000      -> 12345678.12345678 Inexact Rounded
+--                               90123456
+rounding: half_even
+fmax362050 fma  1   12345678 0.0234567750000000      -> 12345678.02345678 Inexact Rounded
+fmax362051 fma  1   12345678 0.0034567750000000      -> 12345678.00345678 Inexact Rounded
+fmax362052 fma  1   12345678 0.0004567750000000      -> 12345678.00045678 Inexact Rounded
+fmax362053 fma  1   12345678 0.0000567750000000      -> 12345678.00005678 Inexact Rounded
+fmax362054 fma  1   12345678 0.0000067750000000      -> 12345678.00000678 Inexact Rounded
+fmax362055 fma  1   12345678 0.0000007750000000      -> 12345678.00000078 Inexact Rounded
+fmax362056 fma  1   12345678 0.0000000750000000      -> 12345678.00000008 Inexact Rounded
+fmax362057 fma  1   12345678 0.0000000050000000      -> 12345678.00000000 Inexact Rounded
+fmax362060 fma  1   12345678 0.0234567750000001      -> 12345678.02345678 Inexact Rounded
+fmax362061 fma  1   12345678 0.0034567750000001      -> 12345678.00345678 Inexact Rounded
+fmax362062 fma  1   12345678 0.0004567750000001      -> 12345678.00045678 Inexact Rounded
+fmax362063 fma  1   12345678 0.0000567750000001      -> 12345678.00005678 Inexact Rounded
+fmax362064 fma  1   12345678 0.0000067750000001      -> 12345678.00000678 Inexact Rounded
+fmax362065 fma  1   12345678 0.0000007750000001      -> 12345678.00000078 Inexact Rounded
+fmax362066 fma  1   12345678 0.0000000750000001      -> 12345678.00000008 Inexact Rounded
+fmax362067 fma  1   12345678 0.0000000050000001      -> 12345678.00000001 Inexact Rounded
+-- far-out residues (full coefficient gap is 16+15 digits)
+rounding: up
+fmax362070 fma  1   12345678 1E-8                    -> 12345678.00000001
+fmax362071 fma  1   12345678 1E-9                    -> 12345678.00000001 Inexact Rounded
+fmax362072 fma  1   12345678 1E-10                   -> 12345678.00000001 Inexact Rounded
+fmax362073 fma  1   12345678 1E-11                   -> 12345678.00000001 Inexact Rounded
+fmax362074 fma  1   12345678 1E-12                   -> 12345678.00000001 Inexact Rounded
+fmax362075 fma  1   12345678 1E-13                   -> 12345678.00000001 Inexact Rounded
+fmax362076 fma  1   12345678 1E-14                   -> 12345678.00000001 Inexact Rounded
+fmax362077 fma  1   12345678 1E-15                   -> 12345678.00000001 Inexact Rounded
+fmax362078 fma  1   12345678 1E-16                   -> 12345678.00000001 Inexact Rounded
+fmax362079 fma  1   12345678 1E-17                   -> 12345678.00000001 Inexact Rounded
+fmax362080 fma  1   12345678 1E-18                   -> 12345678.00000001 Inexact Rounded
+fmax362081 fma  1   12345678 1E-19                   -> 12345678.00000001 Inexact Rounded
+fmax362082 fma  1   12345678 1E-20                   -> 12345678.00000001 Inexact Rounded
+fmax362083 fma  1   12345678 1E-25                   -> 12345678.00000001 Inexact Rounded
+fmax362084 fma  1   12345678 1E-30                   -> 12345678.00000001 Inexact Rounded
+fmax362085 fma  1   12345678 1E-31                   -> 12345678.00000001 Inexact Rounded
+fmax362086 fma  1   12345678 1E-32                   -> 12345678.00000001 Inexact Rounded
+fmax362087 fma  1   12345678 1E-33                   -> 12345678.00000001 Inexact Rounded
+fmax362088 fma  1   12345678 1E-34                   -> 12345678.00000001 Inexact Rounded
+fmax362089 fma  1   12345678 1E-35                   -> 12345678.00000001 Inexact Rounded
+
+-- payload decapitate x3
+precision: 5
+fmax363000 fma  1 1  sNaN1234567890     ->  NaN67890  Invalid_operation
+fmax363001 fma    1 -sNaN1234512345 1   -> -NaN12345  Invalid_operation
+fmax363002 fma       sNaN1234554321 1 1 ->  NaN54321  Invalid_operation
+
+-- Null tests
+fmax39990 fma  1   10  # -> NaN Invalid_operation
+fmax39991 fma  1    # 10 -> NaN Invalid_operation