| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 136
 137
 138
 139
 140
 141
 142
 143
 144
 145
 146
 147
 148
 149
 150
 151
 152
 153
 154
 155
 156
 157
 158
 159
 160
 161
 162
 163
 164
 165
 166
 167
 168
 169
 170
 171
 172
 173
 174
 175
 176
 177
 178
 179
 180
 181
 182
 183
 184
 185
 186
 187
 188
 189
 190
 191
 192
 193
 194
 195
 196
 197
 198
 199
 200
 201
 202
 203
 204
 205
 206
 207
 208
 209
 210
 211
 212
 213
 214
 215
 216
 217
 218
 219
 220
 221
 222
 223
 224
 225
 226
 227
 228
 229
 230
 231
 232
 233
 234
 235
 236
 237
 238
 239
 240
 241
 242
 243
 244
 245
 246
 247
 248
 249
 250
 251
 252
 253
 254
 255
 256
 257
 258
 259
 260
 261
 262
 263
 264
 265
 266
 267
 268
 269
 270
 271
 272
 273
 274
 275
 276
 277
 278
 279
 280
 281
 282
 283
 284
 285
 286
 287
 288
 289
 290
 291
 292
 293
 294
 295
 296
 297
 298
 299
 300
 301
 302
 303
 304
 305
 306
 307
 308
 309
 310
 311
 312
 313
 314
 315
 316
 317
 318
 319
 320
 321
 322
 323
 324
 325
 326
 327
 328
 329
 330
 331
 332
 333
 334
 335
 336
 337
 338
 339
 340
 341
 342
 343
 344
 345
 346
 347
 348
 349
 350
 351
 352
 353
 354
 355
 356
 357
 358
 359
 360
 361
 362
 363
 364
 365
 366
 367
 368
 369
 370
 371
 372
 373
 374
 375
 376
 377
 378
 379
 380
 381
 382
 383
 384
 385
 386
 387
 388
 389
 390
 391
 392
 393
 394
 395
 396
 397
 398
 399
 400
 401
 402
 403
 404
 405
 406
 407
 408
 409
 410
 411
 412
 413
 414
 415
 416
 417
 418
 419
 420
 421
 422
 423
 424
 425
 426
 427
 428
 429
 430
 431
 432
 433
 434
 435
 436
 437
 438
 439
 440
 441
 442
 443
 444
 445
 446
 447
 448
 449
 450
 451
 452
 453
 454
 455
 456
 457
 458
 459
 460
 461
 462
 463
 464
 465
 466
 467
 468
 469
 470
 471
 472
 473
 474
 475
 476
 477
 478
 479
 480
 481
 482
 483
 484
 485
 486
 487
 488
 489
 490
 491
 492
 493
 494
 495
 496
 497
 498
 499
 500
 501
 502
 503
 504
 505
 506
 507
 508
 509
 510
 511
 512
 513
 514
 515
 516
 517
 518
 519
 520
 521
 522
 523
 524
 525
 526
 527
 528
 529
 530
 531
 532
 533
 534
 535
 536
 537
 538
 539
 540
 541
 542
 543
 544
 545
 546
 547
 548
 549
 550
 551
 552
 553
 554
 555
 556
 557
 558
 559
 560
 561
 562
 563
 564
 565
 566
 567
 568
 569
 570
 571
 572
 573
 574
 575
 576
 577
 578
 579
 580
 581
 582
 583
 584
 585
 586
 587
 588
 589
 590
 591
 592
 593
 594
 595
 596
 597
 598
 599
 600
 601
 602
 603
 604
 605
 606
 607
 608
 609
 610
 611
 612
 613
 614
 615
 616
 617
 618
 619
 620
 621
 622
 623
 624
 625
 626
 627
 628
 629
 630
 631
 632
 633
 634
 635
 636
 637
 638
 639
 640
 641
 642
 643
 644
 645
 646
 647
 648
 649
 650
 651
 652
 653
 654
 655
 656
 657
 658
 659
 660
 661
 662
 663
 664
 665
 666
 667
 668
 669
 670
 671
 672
 673
 674
 675
 676
 677
 678
 679
 680
 681
 682
 683
 684
 685
 686
 687
 688
 689
 690
 691
 692
 693
 694
 695
 696
 697
 698
 699
 700
 701
 702
 703
 704
 705
 706
 707
 708
 709
 710
 711
 712
 713
 714
 715
 716
 717
 718
 719
 720
 721
 722
 723
 724
 725
 726
 727
 728
 729
 730
 731
 732
 733
 734
 735
 736
 737
 738
 739
 740
 741
 742
 743
 744
 745
 746
 747
 748
 749
 750
 751
 752
 753
 754
 755
 756
 757
 758
 759
 760
 761
 762
 763
 764
 765
 766
 767
 768
 769
 770
 771
 772
 773
 774
 775
 776
 777
 778
 779
 780
 781
 782
 783
 784
 785
 786
 787
 788
 789
 790
 791
 792
 793
 794
 795
 796
 797
 798
 799
 800
 801
 802
 803
 804
 805
 806
 807
 808
 809
 810
 811
 812
 813
 814
 815
 816
 817
 818
 819
 820
 821
 822
 823
 824
 825
 826
 827
 828
 829
 830
 831
 832
 833
 834
 835
 836
 837
 838
 839
 840
 841
 842
 843
 844
 845
 846
 847
 848
 849
 850
 851
 852
 853
 854
 855
 856
 857
 858
 859
 860
 861
 862
 863
 864
 865
 866
 867
 868
 869
 870
 871
 872
 873
 874
 875
 876
 877
 878
 879
 880
 881
 882
 883
 884
 885
 886
 887
 888
 889
 890
 891
 892
 893
 894
 895
 896
 897
 898
 899
 900
 901
 902
 903
 904
 905
 906
 907
 908
 909
 910
 911
 912
 913
 914
 915
 916
 917
 918
 919
 920
 921
 922
 923
 924
 925
 926
 927
 928
 929
 930
 931
 932
 933
 934
 935
 936
 937
 938
 939
 940
 941
 942
 943
 944
 945
 946
 947
 948
 949
 950
 951
 952
 953
 954
 955
 956
 957
 958
 959
 960
 961
 962
 963
 964
 965
 966
 967
 968
 969
 970
 971
 972
 973
 974
 975
 976
 977
 978
 979
 980
 981
 982
 983
 984
 985
 986
 987
 988
 989
 990
 991
 992
 993
 994
 995
 996
 997
 998
 999
 1000
 1001
 1002
 1003
 1004
 1005
 1006
 1007
 1008
 1009
 1010
 1011
 1012
 1013
 1014
 1015
 1016
 1017
 1018
 1019
 1020
 1021
 1022
 1023
 1024
 1025
 1026
 1027
 1028
 1029
 1030
 1031
 1032
 1033
 1034
 1035
 1036
 1037
 1038
 1039
 1040
 1041
 1042
 1043
 1044
 1045
 1046
 1047
 1048
 1049
 1050
 1051
 1052
 1053
 1054
 1055
 1056
 1057
 1058
 1059
 1060
 1061
 1062
 1063
 1064
 1065
 1066
 1067
 1068
 1069
 1070
 1071
 1072
 1073
 1074
 1075
 1076
 1077
 1078
 1079
 1080
 1081
 1082
 1083
 1084
 1085
 1086
 1087
 1088
 1089
 1090
 1091
 1092
 1093
 1094
 1095
 1096
 1097
 1098
 1099
 1100
 1101
 1102
 1103
 1104
 1105
 1106
 1107
 1108
 1109
 1110
 1111
 1112
 1113
 1114
 1115
 1116
 1117
 1118
 1119
 1120
 1121
 1122
 1123
 1124
 1125
 1126
 1127
 1128
 1129
 1130
 1131
 1132
 1133
 1134
 1135
 1136
 1137
 1138
 1139
 1140
 1141
 1142
 1143
 1144
 1145
 1146
 1147
 1148
 1149
 1150
 1151
 1152
 1153
 1154
 1155
 1156
 1157
 1158
 1159
 1160
 1161
 1162
 1163
 1164
 1165
 1166
 1167
 1168
 1169
 1170
 1171
 1172
 1173
 1174
 1175
 1176
 1177
 1178
 1179
 1180
 1181
 1182
 1183
 1184
 1185
 1186
 1187
 1188
 1189
 1190
 1191
 1192
 1193
 1194
 1195
 1196
 1197
 1198
 1199
 1200
 1201
 1202
 1203
 1204
 1205
 1206
 1207
 1208
 1209
 1210
 1211
 1212
 1213
 1214
 1215
 1216
 1217
 1218
 1219
 1220
 1221
 1222
 1223
 1224
 1225
 1226
 1227
 1228
 1229
 1230
 1231
 1232
 1233
 1234
 1235
 1236
 1237
 1238
 1239
 1240
 1241
 1242
 1243
 1244
 1245
 1246
 1247
 1248
 1249
 1250
 1251
 1252
 1253
 1254
 1255
 1256
 1257
 1258
 1259
 1260
 1261
 1262
 1263
 1264
 1265
 1266
 1267
 1268
 1269
 1270
 1271
 1272
 1273
 1274
 1275
 1276
 1277
 1278
 1279
 1280
 1281
 1282
 1283
 1284
 1285
 1286
 1287
 1288
 1289
 1290
 1291
 1292
 1293
 1294
 1295
 1296
 1297
 1298
 1299
 1300
 1301
 1302
 1303
 1304
 1305
 1306
 1307
 1308
 1309
 1310
 1311
 1312
 1313
 1314
 1315
 1316
 1317
 1318
 1319
 1320
 1321
 1322
 1323
 1324
 1325
 1326
 1327
 1328
 1329
 1330
 1331
 1332
 1333
 1334
 1335
 1336
 1337
 1338
 1339
 1340
 1341
 1342
 1343
 1344
 1345
 1346
 1347
 1348
 1349
 1350
 1351
 1352
 1353
 1354
 1355
 1356
 1357
 1358
 1359
 1360
 1361
 1362
 1363
 1364
 1365
 1366
 1367
 1368
 1369
 1370
 1371
 1372
 1373
 1374
 1375
 1376
 1377
 1378
 1379
 1380
 1381
 1382
 1383
 1384
 1385
 1386
 1387
 1388
 1389
 1390
 1391
 1392
 1393
 1394
 1395
 1396
 1397
 1398
 1399
 1400
 1401
 1402
 1403
 1404
 1405
 1406
 1407
 1408
 1409
 1410
 1411
 1412
 1413
 1414
 1415
 1416
 1417
 1418
 1419
 1420
 1421
 1422
 1423
 1424
 1425
 1426
 1427
 1428
 1429
 1430
 1431
 1432
 1433
 1434
 1435
 1436
 1437
 1438
 1439
 1440
 1441
 1442
 1443
 1444
 1445
 1446
 1447
 1448
 1449
 1450
 1451
 1452
 1453
 1454
 1455
 1456
 1457
 1458
 1459
 1460
 1461
 1462
 1463
 1464
 1465
 1466
 1467
 1468
 1469
 1470
 1471
 1472
 1473
 1474
 1475
 1476
 1477
 1478
 1479
 1480
 1481
 1482
 1483
 1484
 1485
 1486
 1487
 1488
 1489
 1490
 1491
 1492
 1493
 1494
 1495
 1496
 1497
 1498
 1499
 1500
 1501
 1502
 1503
 1504
 1505
 1506
 1507
 1508
 1509
 1510
 1511
 1512
 1513
 1514
 1515
 1516
 1517
 1518
 1519
 1520
 1521
 1522
 1523
 1524
 1525
 1526
 1527
 1528
 1529
 1530
 1531
 1532
 1533
 1534
 1535
 1536
 1537
 1538
 1539
 1540
 1541
 1542
 1543
 1544
 1545
 1546
 1547
 1548
 1549
 1550
 1551
 1552
 1553
 1554
 1555
 1556
 1557
 1558
 1559
 1560
 1561
 1562
 1563
 1564
 1565
 1566
 1567
 1568
 1569
 1570
 1571
 1572
 1573
 1574
 1575
 1576
 1577
 1578
 1579
 1580
 1581
 1582
 1583
 1584
 1585
 1586
 1587
 1588
 1589
 1590
 1591
 1592
 1593
 1594
 1595
 1596
 1597
 1598
 1599
 1600
 1601
 1602
 1603
 1604
 1605
 1606
 1607
 1608
 1609
 1610
 1611
 1612
 1613
 1614
 1615
 1616
 1617
 1618
 1619
 1620
 1621
 1622
 1623
 1624
 1625
 1626
 1627
 1628
 1629
 1630
 1631
 1632
 1633
 1634
 1635
 1636
 1637
 1638
 1639
 1640
 1641
 1642
 1643
 1644
 1645
 1646
 1647
 1648
 1649
 1650
 1651
 1652
 1653
 1654
 1655
 1656
 1657
 1658
 1659
 1660
 1661
 1662
 1663
 1664
 1665
 1666
 1667
 1668
 1669
 1670
 1671
 1672
 1673
 1674
 1675
 1676
 1677
 1678
 1679
 1680
 1681
 1682
 1683
 1684
 1685
 1686
 1687
 1688
 1689
 1690
 1691
 1692
 1693
 1694
 1695
 1696
 1697
 1698
 1699
 1700
 1701
 1702
 1703
 1704
 1705
 1706
 1707
 1708
 1709
 1710
 1711
 1712
 1713
 1714
 1715
 1716
 1717
 1718
 1719
 1720
 1721
 1722
 1723
 1724
 1725
 1726
 1727
 1728
 1729
 1730
 1731
 1732
 1733
 1734
 1735
 1736
 1737
 1738
 1739
 1740
 1741
 1742
 1743
 1744
 1745
 1746
 1747
 1748
 1749
 1750
 1751
 1752
 1753
 1754
 1755
 1756
 1757
 1758
 1759
 1760
 1761
 1762
 1763
 1764
 1765
 1766
 1767
 1768
 1769
 1770
 1771
 1772
 1773
 1774
 1775
 1776
 1777
 1778
 1779
 1780
 1781
 1782
 1783
 1784
 1785
 1786
 1787
 1788
 1789
 1790
 1791
 1792
 1793
 1794
 1795
 1796
 1797
 1798
 1799
 1800
 1801
 1802
 1803
 1804
 1805
 1806
 1807
 1808
 1809
 1810
 1811
 1812
 1813
 1814
 1815
 1816
 1817
 1818
 1819
 1820
 1821
 1822
 1823
 1824
 1825
 1826
 1827
 1828
 1829
 1830
 1831
 1832
 1833
 1834
 1835
 1836
 1837
 1838
 1839
 1840
 1841
 1842
 1843
 1844
 1845
 1846
 1847
 1848
 1849
 1850
 1851
 1852
 1853
 1854
 1855
 1856
 1857
 1858
 1859
 1860
 1861
 1862
 1863
 1864
 1865
 1866
 1867
 1868
 1869
 1870
 1871
 1872
 1873
 1874
 1875
 1876
 1877
 1878
 1879
 1880
 1881
 1882
 1883
 1884
 1885
 1886
 1887
 1888
 1889
 1890
 1891
 1892
 1893
 1894
 1895
 1896
 1897
 1898
 1899
 1900
 1901
 1902
 1903
 1904
 1905
 1906
 1907
 1908
 1909
 1910
 1911
 1912
 1913
 1914
 1915
 1916
 1917
 1918
 1919
 1920
 1921
 1922
 1923
 1924
 1925
 1926
 1927
 1928
 1929
 1930
 1931
 1932
 1933
 1934
 1935
 1936
 1937
 1938
 1939
 1940
 1941
 1942
 1943
 1944
 1945
 1946
 1947
 1948
 1949
 1950
 1951
 1952
 1953
 1954
 1955
 1956
 1957
 1958
 1959
 1960
 1961
 1962
 1963
 1964
 1965
 1966
 1967
 1968
 1969
 1970
 1971
 1972
 1973
 1974
 1975
 1976
 1977
 1978
 1979
 1980
 1981
 1982
 1983
 1984
 1985
 1986
 1987
 1988
 1989
 1990
 1991
 1992
 1993
 1994
 1995
 1996
 1997
 1998
 1999
 2000
 2001
 2002
 2003
 2004
 2005
 2006
 2007
 2008
 2009
 2010
 2011
 2012
 2013
 2014
 2015
 2016
 2017
 2018
 2019
 2020
 2021
 2022
 2023
 2024
 2025
 2026
 2027
 2028
 2029
 2030
 2031
 2032
 2033
 2034
 2035
 2036
 2037
 2038
 2039
 2040
 2041
 2042
 2043
 2044
 2045
 2046
 2047
 2048
 2049
 2050
 2051
 2052
 2053
 2054
 2055
 2056
 2057
 2058
 2059
 2060
 2061
 2062
 2063
 2064
 2065
 2066
 2067
 2068
 2069
 2070
 2071
 2072
 2073
 2074
 2075
 2076
 2077
 2078
 2079
 2080
 2081
 2082
 2083
 2084
 2085
 2086
 2087
 2088
 2089
 2090
 2091
 2092
 2093
 2094
 2095
 2096
 2097
 2098
 2099
 2100
 2101
 2102
 2103
 2104
 2105
 2106
 2107
 2108
 2109
 2110
 2111
 2112
 2113
 2114
 2115
 2116
 2117
 2118
 2119
 2120
 2121
 2122
 2123
 2124
 2125
 2126
 2127
 2128
 2129
 2130
 2131
 2132
 2133
 2134
 2135
 2136
 2137
 2138
 2139
 2140
 2141
 2142
 2143
 2144
 2145
 2146
 2147
 2148
 2149
 2150
 2151
 2152
 2153
 2154
 2155
 2156
 2157
 2158
 2159
 2160
 2161
 2162
 2163
 2164
 2165
 2166
 2167
 2168
 2169
 2170
 2171
 2172
 2173
 2174
 2175
 2176
 2177
 2178
 2179
 2180
 2181
 2182
 2183
 2184
 2185
 2186
 2187
 2188
 2189
 2190
 2191
 2192
 2193
 2194
 2195
 2196
 2197
 2198
 2199
 2200
 2201
 2202
 2203
 2204
 2205
 2206
 2207
 2208
 2209
 2210
 2211
 2212
 2213
 2214
 2215
 2216
 2217
 2218
 2219
 2220
 2221
 2222
 2223
 2224
 2225
 2226
 2227
 2228
 2229
 2230
 2231
 2232
 2233
 2234
 2235
 2236
 2237
 2238
 2239
 2240
 2241
 2242
 2243
 2244
 2245
 2246
 2247
 2248
 2249
 2250
 2251
 2252
 2253
 2254
 2255
 2256
 2257
 2258
 2259
 2260
 2261
 2262
 2263
 2264
 2265
 2266
 2267
 2268
 2269
 2270
 2271
 2272
 2273
 2274
 2275
 2276
 2277
 2278
 2279
 2280
 2281
 2282
 2283
 2284
 2285
 2286
 2287
 2288
 2289
 2290
 2291
 2292
 2293
 2294
 2295
 2296
 2297
 2298
 2299
 2300
 2301
 2302
 2303
 2304
 2305
 2306
 2307
 2308
 2309
 2310
 2311
 2312
 2313
 2314
 2315
 2316
 2317
 2318
 2319
 2320
 2321
 2322
 2323
 2324
 2325
 2326
 2327
 2328
 2329
 2330
 2331
 2332
 2333
 2334
 2335
 2336
 2337
 2338
 2339
 2340
 2341
 2342
 2343
 2344
 2345
 2346
 2347
 2348
 2349
 2350
 2351
 2352
 2353
 2354
 2355
 2356
 2357
 2358
 2359
 2360
 2361
 2362
 2363
 2364
 2365
 2366
 2367
 2368
 2369
 2370
 2371
 2372
 2373
 2374
 2375
 2376
 2377
 2378
 2379
 2380
 2381
 2382
 2383
 2384
 2385
 2386
 2387
 2388
 2389
 2390
 2391
 2392
 2393
 2394
 2395
 2396
 2397
 2398
 2399
 2400
 2401
 2402
 2403
 2404
 2405
 2406
 2407
 2408
 2409
 2410
 2411
 2412
 2413
 2414
 2415
 2416
 2417
 2418
 2419
 2420
 2421
 2422
 2423
 2424
 2425
 2426
 2427
 2428
 2429
 2430
 2431
 2432
 2433
 2434
 2435
 2436
 2437
 2438
 2439
 2440
 2441
 2442
 2443
 2444
 2445
 2446
 2447
 2448
 2449
 2450
 2451
 2452
 2453
 2454
 2455
 2456
 2457
 2458
 2459
 2460
 2461
 2462
 2463
 2464
 2465
 2466
 2467
 2468
 2469
 2470
 2471
 2472
 2473
 2474
 2475
 2476
 2477
 2478
 2479
 2480
 2481
 2482
 2483
 2484
 2485
 2486
 2487
 2488
 2489
 2490
 2491
 2492
 2493
 2494
 2495
 2496
 2497
 2498
 2499
 2500
 2501
 2502
 2503
 2504
 2505
 2506
 2507
 2508
 2509
 2510
 2511
 2512
 2513
 2514
 2515
 2516
 2517
 2518
 2519
 2520
 2521
 2522
 2523
 2524
 2525
 2526
 2527
 2528
 2529
 2530
 2531
 2532
 2533
 2534
 2535
 2536
 2537
 2538
 2539
 2540
 2541
 2542
 2543
 2544
 2545
 2546
 2547
 2548
 2549
 2550
 2551
 2552
 2553
 2554
 2555
 2556
 2557
 2558
 2559
 2560
 2561
 2562
 2563
 2564
 2565
 2566
 2567
 2568
 2569
 2570
 2571
 2572
 2573
 2574
 2575
 2576
 2577
 2578
 2579
 2580
 2581
 2582
 2583
 2584
 2585
 2586
 2587
 2588
 2589
 2590
 2591
 2592
 2593
 2594
 2595
 2596
 2597
 2598
 2599
 2600
 2601
 2602
 2603
 2604
 2605
 2606
 2607
 2608
 2609
 2610
 2611
 2612
 2613
 2614
 2615
 2616
 2617
 2618
 2619
 2620
 2621
 2622
 2623
 2624
 2625
 2626
 2627
 2628
 2629
 2630
 2631
 2632
 2633
 2634
 2635
 2636
 2637
 2638
 2639
 2640
 2641
 2642
 2643
 2644
 2645
 2646
 2647
 2648
 2649
 2650
 2651
 2652
 2653
 2654
 2655
 2656
 2657
 2658
 2659
 2660
 2661
 2662
 2663
 2664
 2665
 2666
 2667
 2668
 2669
 2670
 2671
 2672
 2673
 2674
 2675
 2676
 2677
 2678
 2679
 2680
 2681
 2682
 2683
 2684
 2685
 2686
 2687
 2688
 2689
 2690
 2691
 2692
 2693
 2694
 2695
 2696
 2697
 2698
 2699
 2700
 2701
 2702
 2703
 2704
 2705
 2706
 2707
 2708
 2709
 2710
 2711
 2712
 2713
 2714
 2715
 2716
 2717
 2718
 2719
 2720
 2721
 2722
 2723
 2724
 2725
 2726
 2727
 2728
 2729
 2730
 2731
 2732
 2733
 2734
 2735
 2736
 2737
 2738
 2739
 2740
 2741
 2742
 2743
 2744
 2745
 2746
 2747
 2748
 2749
 2750
 2751
 2752
 2753
 2754
 2755
 2756
 2757
 2758
 2759
 2760
 2761
 2762
 2763
 2764
 2765
 2766
 2767
 2768
 2769
 2770
 2771
 2772
 2773
 2774
 2775
 2776
 2777
 2778
 2779
 2780
 2781
 2782
 2783
 2784
 2785
 2786
 2787
 2788
 2789
 2790
 2791
 2792
 2793
 2794
 2795
 2796
 2797
 2798
 2799
 2800
 2801
 2802
 2803
 2804
 2805
 2806
 2807
 2808
 2809
 2810
 2811
 2812
 2813
 2814
 2815
 2816
 2817
 2818
 2819
 2820
 2821
 2822
 2823
 2824
 2825
 2826
 2827
 2828
 2829
 2830
 2831
 2832
 2833
 2834
 2835
 2836
 2837
 2838
 2839
 2840
 2841
 2842
 2843
 2844
 2845
 2846
 2847
 2848
 2849
 2850
 2851
 2852
 2853
 2854
 2855
 2856
 2857
 2858
 2859
 2860
 2861
 2862
 2863
 2864
 2865
 2866
 2867
 2868
 2869
 2870
 2871
 2872
 2873
 2874
 2875
 2876
 2877
 2878
 2879
 2880
 2881
 2882
 2883
 2884
 2885
 2886
 2887
 2888
 2889
 2890
 2891
 2892
 2893
 2894
 2895
 2896
 2897
 2898
 2899
 2900
 2901
 2902
 2903
 2904
 2905
 2906
 2907
 2908
 2909
 2910
 2911
 2912
 2913
 2914
 2915
 2916
 2917
 2918
 2919
 2920
 2921
 2922
 2923
 2924
 2925
 2926
 2927
 2928
 2929
 2930
 2931
 2932
 2933
 2934
 2935
 2936
 2937
 2938
 2939
 2940
 2941
 2942
 2943
 2944
 2945
 2946
 2947
 2948
 2949
 2950
 2951
 2952
 2953
 2954
 2955
 2956
 2957
 2958
 2959
 2960
 2961
 2962
 2963
 2964
 2965
 2966
 2967
 2968
 2969
 2970
 2971
 2972
 2973
 2974
 2975
 2976
 2977
 2978
 2979
 2980
 2981
 2982
 2983
 2984
 2985
 2986
 2987
 2988
 2989
 2990
 2991
 2992
 2993
 2994
 2995
 2996
 2997
 2998
 2999
 3000
 3001
 3002
 3003
 3004
 3005
 3006
 3007
 3008
 3009
 3010
 3011
 3012
 3013
 3014
 3015
 3016
 3017
 3018
 3019
 3020
 3021
 3022
 3023
 3024
 3025
 3026
 3027
 3028
 3029
 3030
 3031
 3032
 3033
 3034
 3035
 3036
 3037
 3038
 3039
 3040
 3041
 3042
 3043
 3044
 3045
 3046
 3047
 3048
 3049
 3050
 3051
 3052
 3053
 3054
 3055
 3056
 3057
 3058
 3059
 3060
 3061
 3062
 3063
 3064
 3065
 3066
 3067
 3068
 3069
 3070
 3071
 3072
 3073
 3074
 3075
 3076
 3077
 3078
 3079
 3080
 3081
 3082
 3083
 3084
 3085
 3086
 3087
 3088
 3089
 3090
 3091
 3092
 3093
 3094
 3095
 3096
 3097
 3098
 3099
 3100
 3101
 3102
 3103
 3104
 3105
 3106
 3107
 3108
 3109
 3110
 3111
 3112
 3113
 3114
 3115
 3116
 3117
 3118
 3119
 3120
 3121
 3122
 3123
 3124
 3125
 3126
 3127
 3128
 3129
 3130
 3131
 3132
 3133
 3134
 3135
 3136
 3137
 3138
 3139
 3140
 3141
 3142
 3143
 3144
 3145
 3146
 3147
 3148
 3149
 3150
 3151
 3152
 3153
 3154
 3155
 3156
 3157
 3158
 3159
 3160
 3161
 3162
 3163
 3164
 3165
 3166
 3167
 3168
 3169
 3170
 3171
 3172
 3173
 3174
 3175
 3176
 3177
 3178
 3179
 3180
 3181
 3182
 3183
 3184
 3185
 3186
 3187
 3188
 3189
 3190
 3191
 3192
 3193
 3194
 3195
 3196
 3197
 3198
 3199
 3200
 3201
 3202
 3203
 3204
 3205
 3206
 3207
 3208
 3209
 3210
 3211
 3212
 3213
 3214
 3215
 3216
 3217
 3218
 3219
 3220
 3221
 3222
 3223
 3224
 3225
 3226
 3227
 3228
 3229
 3230
 3231
 3232
 3233
 3234
 3235
 3236
 3237
 3238
 3239
 3240
 3241
 3242
 3243
 3244
 3245
 3246
 3247
 3248
 3249
 3250
 3251
 3252
 3253
 3254
 3255
 3256
 3257
 3258
 3259
 3260
 3261
 3262
 3263
 3264
 3265
 3266
 3267
 3268
 3269
 3270
 3271
 3272
 3273
 3274
 3275
 3276
 3277
 3278
 3279
 3280
 3281
 3282
 3283
 3284
 3285
 3286
 3287
 3288
 3289
 3290
 3291
 3292
 3293
 3294
 3295
 3296
 3297
 3298
 3299
 3300
 3301
 3302
 3303
 3304
 3305
 3306
 3307
 3308
 3309
 3310
 3311
 3312
 3313
 3314
 3315
 3316
 3317
 3318
 3319
 3320
 3321
 3322
 3323
 3324
 3325
 3326
 3327
 3328
 3329
 3330
 3331
 3332
 3333
 3334
 3335
 3336
 3337
 3338
 3339
 3340
 3341
 3342
 3343
 3344
 3345
 3346
 3347
 3348
 3349
 3350
 3351
 3352
 3353
 3354
 3355
 3356
 3357
 3358
 3359
 3360
 3361
 3362
 3363
 3364
 3365
 3366
 3367
 3368
 3369
 3370
 3371
 3372
 3373
 3374
 3375
 3376
 3377
 3378
 3379
 3380
 3381
 3382
 3383
 3384
 3385
 3386
 3387
 3388
 3389
 3390
 3391
 3392
 3393
 3394
 3395
 3396
 3397
 3398
 3399
 3400
 3401
 3402
 3403
 3404
 3405
 3406
 3407
 3408
 3409
 3410
 3411
 3412
 3413
 3414
 3415
 3416
 3417
 3418
 3419
 3420
 3421
 3422
 3423
 3424
 3425
 3426
 
 | ------------------------------------------------------------------------
-- 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 comprise 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 an 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 arithmetic)
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
 |