17db96d56Sopenharmony_ci------------------------------------------------------------------------
27db96d56Sopenharmony_ci-- ddFMA.decTest -- decDouble Fused Multiply Add                      --
37db96d56Sopenharmony_ci-- Copyright (c) IBM Corporation, 1981, 2008.  All rights reserved.   --
47db96d56Sopenharmony_ci------------------------------------------------------------------------
57db96d56Sopenharmony_ci-- Please see the document "General Decimal Arithmetic Testcases"     --
67db96d56Sopenharmony_ci-- at http://www2.hursley.ibm.com/decimal for the description of      --
77db96d56Sopenharmony_ci-- these testcases.                                                   --
87db96d56Sopenharmony_ci--                                                                    --
97db96d56Sopenharmony_ci-- These testcases are experimental ('beta' versions), and they       --
107db96d56Sopenharmony_ci-- may contain errors.  They are offered on an as-is basis.  In       --
117db96d56Sopenharmony_ci-- particular, achieving the same results as the tests here is not    --
127db96d56Sopenharmony_ci-- a guarantee that an implementation complies with any Standard      --
137db96d56Sopenharmony_ci-- or specification.  The tests are not exhaustive.                   --
147db96d56Sopenharmony_ci--                                                                    --
157db96d56Sopenharmony_ci-- Please send comments, suggestions, and corrections to the author:  --
167db96d56Sopenharmony_ci--   Mike Cowlishaw, IBM Fellow                                       --
177db96d56Sopenharmony_ci--   IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK         --
187db96d56Sopenharmony_ci--   mfc@uk.ibm.com                                                   --
197db96d56Sopenharmony_ci------------------------------------------------------------------------
207db96d56Sopenharmony_civersion: 2.59
217db96d56Sopenharmony_ci
227db96d56Sopenharmony_ciprecision:   16
237db96d56Sopenharmony_cimaxExponent: 384
247db96d56Sopenharmony_ciminExponent: -383
257db96d56Sopenharmony_ciextended:    1
267db96d56Sopenharmony_ciclamp:       1
277db96d56Sopenharmony_cirounding:    half_even
287db96d56Sopenharmony_ci
297db96d56Sopenharmony_ci-- These tests comprise three parts:
307db96d56Sopenharmony_ci--   1. Sanity checks and other three-operand tests (especially those
317db96d56Sopenharmony_ci--      where the fused operation makes a difference)
327db96d56Sopenharmony_ci--   2. Multiply tests (third operand is neutral zero [0E+emax])
337db96d56Sopenharmony_ci--   3. Addition tests (first operand is 1)
347db96d56Sopenharmony_ci-- The multiply and addition tests are extensive because FMA may have
357db96d56Sopenharmony_ci-- its own dedicated multiplication or addition routine(s), and they
367db96d56Sopenharmony_ci-- also inherently check the left-to-right properties.
377db96d56Sopenharmony_ci
387db96d56Sopenharmony_ci-- Sanity checks
397db96d56Sopenharmony_ciddfma0001 fma  1   1   1 ->   2
407db96d56Sopenharmony_ciddfma0002 fma  1   1   2 ->   3
417db96d56Sopenharmony_ciddfma0003 fma  2   2   3 ->   7
427db96d56Sopenharmony_ciddfma0004 fma  9   9   9 ->  90
437db96d56Sopenharmony_ciddfma0005 fma -1   1   1 ->   0
447db96d56Sopenharmony_ciddfma0006 fma -1   1   2 ->   1
457db96d56Sopenharmony_ciddfma0007 fma -2   2   3 ->  -1
467db96d56Sopenharmony_ciddfma0008 fma -9   9   9 -> -72
477db96d56Sopenharmony_ciddfma0011 fma  1  -1   1 ->   0
487db96d56Sopenharmony_ciddfma0012 fma  1  -1   2 ->   1
497db96d56Sopenharmony_ciddfma0013 fma  2  -2   3 ->  -1
507db96d56Sopenharmony_ciddfma0014 fma  9  -9   9 -> -72
517db96d56Sopenharmony_ciddfma0015 fma  1   1  -1 ->   0
527db96d56Sopenharmony_ciddfma0016 fma  1   1  -2 ->  -1
537db96d56Sopenharmony_ciddfma0017 fma  2   2  -3 ->   1
547db96d56Sopenharmony_ciddfma0018 fma  9   9  -9 ->  72
557db96d56Sopenharmony_ci
567db96d56Sopenharmony_ci-- non-integer exacts
577db96d56Sopenharmony_ciddfma0100  fma    25.2   63.6   -438  ->  1164.72
587db96d56Sopenharmony_ciddfma0101  fma   0.301  0.380    334  ->  334.114380
597db96d56Sopenharmony_ciddfma0102  fma    49.2   -4.8   23.3  ->  -212.86
607db96d56Sopenharmony_ciddfma0103  fma    4.22  0.079  -94.6  ->  -94.26662
617db96d56Sopenharmony_ciddfma0104  fma     903  0.797  0.887  ->  720.578
627db96d56Sopenharmony_ciddfma0105  fma    6.13   -161   65.9  ->  -921.03
637db96d56Sopenharmony_ciddfma0106  fma    28.2    727   5.45  ->  20506.85
647db96d56Sopenharmony_ciddfma0107  fma       4    605    688  ->  3108
657db96d56Sopenharmony_ciddfma0108  fma    93.3   0.19  0.226  ->  17.953
667db96d56Sopenharmony_ciddfma0109  fma   0.169   -341   5.61  ->  -52.019
677db96d56Sopenharmony_ciddfma0110  fma   -72.2     30  -51.2  ->  -2217.2
687db96d56Sopenharmony_ciddfma0111  fma  -0.409     13   20.4  ->  15.083
697db96d56Sopenharmony_ciddfma0112  fma     317   77.0   19.0  ->  24428.0
707db96d56Sopenharmony_ciddfma0113  fma      47   6.58   1.62  ->  310.88
717db96d56Sopenharmony_ciddfma0114  fma    1.36  0.984  0.493  ->  1.83124
727db96d56Sopenharmony_ciddfma0115  fma    72.7    274   1.56  ->  19921.36
737db96d56Sopenharmony_ciddfma0116  fma     335    847     83  ->  283828
747db96d56Sopenharmony_ciddfma0117  fma     666  0.247   25.4  ->  189.902
757db96d56Sopenharmony_ciddfma0118  fma   -3.87   3.06   78.0  ->  66.1578
767db96d56Sopenharmony_ciddfma0119  fma   0.742    192   35.6  ->  178.064
777db96d56Sopenharmony_ciddfma0120  fma   -91.6   5.29  0.153  ->  -484.411
787db96d56Sopenharmony_ci
797db96d56Sopenharmony_ci-- cases where result is different from separate multiply + add; each
807db96d56Sopenharmony_ci-- is preceded by the result of unfused multiply and add
817db96d56Sopenharmony_ci-- [this is about 20% of all similar  cases in general]
827db96d56Sopenharmony_ci--                                                                      ->  7.123356429257969E+16
837db96d56Sopenharmony_ciddfma0201  fma       27583489.6645      2582471078.04      2593183.42371  ->  7.123356429257970E+16  Inexact Rounded
847db96d56Sopenharmony_ci--                                                                      ->  22813275328.80506
857db96d56Sopenharmony_ciddfma0208  fma        24280.355566      939577.397653        2032.013252  ->  22813275328.80507      Inexact Rounded
867db96d56Sopenharmony_ci--                                                                      ->  -2.030397734278062E+16
877db96d56Sopenharmony_ciddfma0209  fma          7848976432      -2586831.2281      137903.517909  ->  -2.030397734278061E+16 Inexact Rounded
887db96d56Sopenharmony_ci--                                                                      ->  2040774094814.077
897db96d56Sopenharmony_ciddfma0217  fma        56890.388731      35872030.4255      339337.123410  ->  2040774094814.078      Inexact Rounded
907db96d56Sopenharmony_ci--                                                                      ->  2.714469575205049E+18
917db96d56Sopenharmony_ciddfma0220  fma       7533543.57445       360317763928      5073392.31638  ->  2.714469575205050E+18  Inexact Rounded
927db96d56Sopenharmony_ci--                                                                      ->  1.011676297716716E+19
937db96d56Sopenharmony_ciddfma0223  fma       739945255.563      13672312784.1      -994381.53572  ->  1.011676297716715E+19  Inexact Rounded
947db96d56Sopenharmony_ci--                                                                      ->  -2.914135721455315E+23
957db96d56Sopenharmony_ciddfma0224  fma       -413510957218       704729988550       9234162614.0  ->  -2.914135721455314E+23 Inexact Rounded
967db96d56Sopenharmony_ci--                                                                      ->  2.620119863365786E+17
977db96d56Sopenharmony_ciddfma0226  fma        437484.00601       598906432790      894450638.442  ->  2.620119863365787E+17  Inexact Rounded
987db96d56Sopenharmony_ci--                                                                      ->  1.272647995808178E+19
997db96d56Sopenharmony_ciddfma0253  fma         73287556929      173651305.784     -358312568.389  ->  1.272647995808177E+19  Inexact Rounded
1007db96d56Sopenharmony_ci--                                                                      ->  -1.753769320861851E+18
1017db96d56Sopenharmony_ciddfma0257  fma        203258304486      -8628278.8066      153127.446727  ->  -1.753769320861850E+18 Inexact Rounded
1027db96d56Sopenharmony_ci--                                                                      ->  -1.550737835263346E+17
1037db96d56Sopenharmony_ciddfma0260  fma       42560533.1774     -3643605282.86       178277.96377  ->  -1.550737835263347E+17 Inexact Rounded
1047db96d56Sopenharmony_ci--                                                                      ->  2.897624620576005E+22
1057db96d56Sopenharmony_ciddfma0269  fma        142656587375       203118879670       604576103991  ->  2.897624620576004E+22  Inexact Rounded
1067db96d56Sopenharmony_ci
1077db96d56Sopenharmony_ci-- Cases where multiply would overflow or underflow if separate
1087db96d56Sopenharmony_cifma0300  fma   9e+384    10   0         -> Infinity  Overflow Inexact Rounded
1097db96d56Sopenharmony_cifma0301  fma   1e+384    10   0         -> Infinity  Overflow Inexact Rounded
1107db96d56Sopenharmony_cifma0302  fma   1e+384    10   -1e+384   -> 9.000000000000000E+384  Clamped
1117db96d56Sopenharmony_cifma0303  fma   1e+384    10   -9e+384   -> 1.000000000000000E+384  Clamped
1127db96d56Sopenharmony_ci-- subnormal etc.
1137db96d56Sopenharmony_cifma0305  fma   1e-398    0.1  0         -> 0E-398 Underflow Subnormal Inexact Rounded Clamped
1147db96d56Sopenharmony_cifma0306  fma   1e-398    0.1  1         -> 1.000000000000000 Inexact Rounded
1157db96d56Sopenharmony_cifma0307  fma   1e-398    0.1  1e-398    -> 1E-398 Underflow Subnormal Inexact Rounded
1167db96d56Sopenharmony_ci
1177db96d56Sopenharmony_ci-- Infinite combinations
1187db96d56Sopenharmony_ciddfma0800 fma  Inf   Inf   Inf    ->  Infinity
1197db96d56Sopenharmony_ciddfma0801 fma  Inf   Inf  -Inf    ->  NaN Invalid_operation
1207db96d56Sopenharmony_ciddfma0802 fma  Inf  -Inf   Inf    ->  NaN Invalid_operation
1217db96d56Sopenharmony_ciddfma0803 fma  Inf  -Inf  -Inf    -> -Infinity
1227db96d56Sopenharmony_ciddfma0804 fma -Inf   Inf   Inf    ->  NaN Invalid_operation
1237db96d56Sopenharmony_ciddfma0805 fma -Inf   Inf  -Inf    -> -Infinity
1247db96d56Sopenharmony_ciddfma0806 fma -Inf  -Inf   Inf    ->  Infinity
1257db96d56Sopenharmony_ciddfma0807 fma -Inf  -Inf  -Inf    ->  NaN Invalid_operation
1267db96d56Sopenharmony_ci
1277db96d56Sopenharmony_ci-- Triple NaN propagation
1287db96d56Sopenharmony_ciddfma0900 fma  NaN2  NaN3  NaN5   ->  NaN2
1297db96d56Sopenharmony_ciddfma0901 fma  0     NaN3  NaN5   ->  NaN3
1307db96d56Sopenharmony_ciddfma0902 fma  0     0     NaN5   ->  NaN5
1317db96d56Sopenharmony_ci-- first sNaN wins (consider qNaN from earlier sNaN being
1327db96d56Sopenharmony_ci-- overridden by an sNaN in third operand)
1337db96d56Sopenharmony_ciddfma0903 fma  sNaN1 sNaN2 sNaN3  ->  NaN1 Invalid_operation
1347db96d56Sopenharmony_ciddfma0904 fma  0     sNaN2 sNaN3  ->  NaN2 Invalid_operation
1357db96d56Sopenharmony_ciddfma0905 fma  0     0     sNaN3  ->  NaN3 Invalid_operation
1367db96d56Sopenharmony_ciddfma0906 fma  sNaN1 sNaN2 sNaN3  ->  NaN1 Invalid_operation
1377db96d56Sopenharmony_ciddfma0907 fma  NaN7  sNaN2 sNaN3  ->  NaN2 Invalid_operation
1387db96d56Sopenharmony_ciddfma0908 fma  NaN7  NaN5  sNaN3  ->  NaN3 Invalid_operation
1397db96d56Sopenharmony_ci
1407db96d56Sopenharmony_ci-- MULTIPLICATION TESTS ------------------------------------------------
1417db96d56Sopenharmony_ci
1427db96d56Sopenharmony_ci-- sanity checks
1437db96d56Sopenharmony_ciddfma2000 fma  2      2   0e+384  ->  4
1447db96d56Sopenharmony_ciddfma2001 fma  2      3   0e+384  ->  6
1457db96d56Sopenharmony_ciddfma2002 fma  5      1   0e+384  ->  5
1467db96d56Sopenharmony_ciddfma2003 fma  5      2   0e+384  ->  10
1477db96d56Sopenharmony_ciddfma2004 fma  1.20   2   0e+384  ->  2.40
1487db96d56Sopenharmony_ciddfma2005 fma  1.20   0   0e+384  ->  0.00
1497db96d56Sopenharmony_ciddfma2006 fma  1.20  -2   0e+384  ->  -2.40
1507db96d56Sopenharmony_ciddfma2007 fma  -1.20  2   0e+384  ->  -2.40
1517db96d56Sopenharmony_ciddfma2008 fma  -1.20  0   0e+384  ->  0.00
1527db96d56Sopenharmony_ciddfma2009 fma  -1.20 -2   0e+384  ->  2.40
1537db96d56Sopenharmony_ciddfma2010 fma  5.09 7.1   0e+384  ->  36.139
1547db96d56Sopenharmony_ciddfma2011 fma  2.5    4   0e+384  ->  10.0
1557db96d56Sopenharmony_ciddfma2012 fma  2.50   4   0e+384  ->  10.00
1567db96d56Sopenharmony_ciddfma2013 fma  1.23456789 1.00000000   0e+384  ->  1.234567890000000 Rounded
1577db96d56Sopenharmony_ciddfma2015 fma  2.50   4   0e+384  ->  10.00
1587db96d56Sopenharmony_ciddfma2016 fma   9.999999999  9.999999999   0e+384  ->   99.99999998000000 Inexact Rounded
1597db96d56Sopenharmony_ciddfma2017 fma   9.999999999 -9.999999999   0e+384  ->  -99.99999998000000 Inexact Rounded
1607db96d56Sopenharmony_ciddfma2018 fma  -9.999999999  9.999999999   0e+384  ->  -99.99999998000000 Inexact Rounded
1617db96d56Sopenharmony_ciddfma2019 fma  -9.999999999 -9.999999999   0e+384  ->   99.99999998000000 Inexact Rounded
1627db96d56Sopenharmony_ci
1637db96d56Sopenharmony_ci-- zeros, etc.
1647db96d56Sopenharmony_ciddfma2021 fma   0      0       0e+384  ->   0
1657db96d56Sopenharmony_ciddfma2022 fma   0     -0       0e+384  ->   0
1667db96d56Sopenharmony_ciddfma2023 fma  -0      0       0e+384  ->   0
1677db96d56Sopenharmony_ciddfma2024 fma  -0     -0       0e+384  ->   0
1687db96d56Sopenharmony_ciddfma2025 fma  -0.0   -0.0     0e+384  ->   0.00
1697db96d56Sopenharmony_ciddfma2026 fma  -0.0   -0.0     0e+384  ->   0.00
1707db96d56Sopenharmony_ciddfma2027 fma  -0.0   -0.0     0e+384  ->   0.00
1717db96d56Sopenharmony_ciddfma2028 fma  -0.0   -0.0     0e+384  ->   0.00
1727db96d56Sopenharmony_ciddfma2030 fma   5.00   1E-3    0e+384  ->   0.00500
1737db96d56Sopenharmony_ciddfma2031 fma   00.00  0.000   0e+384  ->   0.00000
1747db96d56Sopenharmony_ciddfma2032 fma   00.00  0E-3    0e+384  ->   0.00000     -- rhs is 0
1757db96d56Sopenharmony_ciddfma2033 fma   0E-3   00.00   0e+384  ->   0.00000     -- lhs is 0
1767db96d56Sopenharmony_ciddfma2034 fma  -5.00   1E-3    0e+384  ->  -0.00500
1777db96d56Sopenharmony_ciddfma2035 fma  -00.00  0.000   0e+384  ->   0.00000
1787db96d56Sopenharmony_ciddfma2036 fma  -00.00  0E-3    0e+384  ->   0.00000     -- rhs is 0
1797db96d56Sopenharmony_ciddfma2037 fma  -0E-3   00.00   0e+384  ->   0.00000     -- lhs is 0
1807db96d56Sopenharmony_ciddfma2038 fma   5.00  -1E-3    0e+384  ->  -0.00500
1817db96d56Sopenharmony_ciddfma2039 fma   00.00 -0.000   0e+384  ->   0.00000
1827db96d56Sopenharmony_ciddfma2040 fma   00.00 -0E-3    0e+384  ->   0.00000     -- rhs is 0
1837db96d56Sopenharmony_ciddfma2041 fma   0E-3  -00.00   0e+384  ->   0.00000     -- lhs is 0
1847db96d56Sopenharmony_ciddfma2042 fma  -5.00  -1E-3    0e+384  ->   0.00500
1857db96d56Sopenharmony_ciddfma2043 fma  -00.00 -0.000   0e+384  ->   0.00000
1867db96d56Sopenharmony_ciddfma2044 fma  -00.00 -0E-3    0e+384  ->   0.00000     -- rhs is 0
1877db96d56Sopenharmony_ciddfma2045 fma  -0E-3  -00.00  -0e+384  ->   0.00000     -- lhs is 0
1887db96d56Sopenharmony_ciddfma2046 fma  -0E-3   00.00  -0e+384  ->  -0.00000
1897db96d56Sopenharmony_ciddfma2047 fma   0E-3  -00.00  -0e+384  ->  -0.00000
1907db96d56Sopenharmony_ciddfma2048 fma   0E-3   00.00  -0e+384  ->   0.00000
1917db96d56Sopenharmony_ci
1927db96d56Sopenharmony_ci-- examples from decarith
1937db96d56Sopenharmony_ciddfma2050 fma  1.20 3          0e+384  ->  3.60
1947db96d56Sopenharmony_ciddfma2051 fma  7    3          0e+384  ->  21
1957db96d56Sopenharmony_ciddfma2052 fma  0.9  0.8        0e+384  ->  0.72
1967db96d56Sopenharmony_ciddfma2053 fma  0.9  -0         0e+384  ->  0.0
1977db96d56Sopenharmony_ciddfma2054 fma  654321 654321   0e+384  ->  428135971041
1987db96d56Sopenharmony_ci
1997db96d56Sopenharmony_ciddfma2060 fma  123.45 1e7    0e+384  ->   1.2345E+9
2007db96d56Sopenharmony_ciddfma2061 fma  123.45 1e8    0e+384  ->   1.2345E+10
2017db96d56Sopenharmony_ciddfma2062 fma  123.45 1e+9   0e+384  ->   1.2345E+11
2027db96d56Sopenharmony_ciddfma2063 fma  123.45 1e10   0e+384  ->   1.2345E+12
2037db96d56Sopenharmony_ciddfma2064 fma  123.45 1e11   0e+384  ->   1.2345E+13
2047db96d56Sopenharmony_ciddfma2065 fma  123.45 1e12   0e+384  ->   1.2345E+14
2057db96d56Sopenharmony_ciddfma2066 fma  123.45 1e13   0e+384  ->   1.2345E+15
2067db96d56Sopenharmony_ci
2077db96d56Sopenharmony_ci
2087db96d56Sopenharmony_ci-- test some intermediate lengths
2097db96d56Sopenharmony_ci--                    1234567890123456
2107db96d56Sopenharmony_ciddfma2080 fma  0.1 1230123456456789       0e+384  ->  123012345645678.9
2117db96d56Sopenharmony_ciddfma2084 fma  0.1 1230123456456789       0e+384  ->  123012345645678.9
2127db96d56Sopenharmony_ciddfma2090 fma  1230123456456789     0.1   0e+384  ->  123012345645678.9
2137db96d56Sopenharmony_ciddfma2094 fma  1230123456456789     0.1   0e+384  ->  123012345645678.9
2147db96d56Sopenharmony_ci
2157db96d56Sopenharmony_ci-- test some more edge cases and carries
2167db96d56Sopenharmony_ciddfma2101 fma  9 9     0e+384  ->  81
2177db96d56Sopenharmony_ciddfma2102 fma  9 90     0e+384  ->  810
2187db96d56Sopenharmony_ciddfma2103 fma  9 900     0e+384  ->  8100
2197db96d56Sopenharmony_ciddfma2104 fma  9 9000     0e+384  ->  81000
2207db96d56Sopenharmony_ciddfma2105 fma  9 90000     0e+384  ->  810000
2217db96d56Sopenharmony_ciddfma2106 fma  9 900000     0e+384  ->  8100000
2227db96d56Sopenharmony_ciddfma2107 fma  9 9000000     0e+384  ->  81000000
2237db96d56Sopenharmony_ciddfma2108 fma  9 90000000     0e+384  ->  810000000
2247db96d56Sopenharmony_ciddfma2109 fma  9 900000000     0e+384  ->  8100000000
2257db96d56Sopenharmony_ciddfma2110 fma  9 9000000000     0e+384  ->  81000000000
2267db96d56Sopenharmony_ciddfma2111 fma  9 90000000000     0e+384  ->  810000000000
2277db96d56Sopenharmony_ciddfma2112 fma  9 900000000000     0e+384  ->  8100000000000
2287db96d56Sopenharmony_ciddfma2113 fma  9 9000000000000     0e+384  ->  81000000000000
2297db96d56Sopenharmony_ciddfma2114 fma  9 90000000000000     0e+384  ->  810000000000000
2307db96d56Sopenharmony_ciddfma2115 fma  9 900000000000000     0e+384  ->  8100000000000000
2317db96d56Sopenharmony_ci--ddfma2116 fma  9 9000000000000000     0e+384  ->  81000000000000000
2327db96d56Sopenharmony_ci--ddfma2117 fma  9 90000000000000000     0e+384  ->  810000000000000000
2337db96d56Sopenharmony_ci--ddfma2118 fma  9 900000000000000000     0e+384  ->  8100000000000000000
2347db96d56Sopenharmony_ci--ddfma2119 fma  9 9000000000000000000     0e+384  ->  81000000000000000000
2357db96d56Sopenharmony_ci--ddfma2120 fma  9 90000000000000000000     0e+384  ->  810000000000000000000
2367db96d56Sopenharmony_ci--ddfma2121 fma  9 900000000000000000000     0e+384  ->  8100000000000000000000
2377db96d56Sopenharmony_ci--ddfma2122 fma  9 9000000000000000000000     0e+384  ->  81000000000000000000000
2387db96d56Sopenharmony_ci--ddfma2123 fma  9 90000000000000000000000     0e+384  ->  810000000000000000000000
2397db96d56Sopenharmony_ci-- test some more edge cases without carries
2407db96d56Sopenharmony_ciddfma2131 fma  3 3     0e+384  ->  9
2417db96d56Sopenharmony_ciddfma2132 fma  3 30     0e+384  ->  90
2427db96d56Sopenharmony_ciddfma2133 fma  3 300     0e+384  ->  900
2437db96d56Sopenharmony_ciddfma2134 fma  3 3000     0e+384  ->  9000
2447db96d56Sopenharmony_ciddfma2135 fma  3 30000     0e+384  ->  90000
2457db96d56Sopenharmony_ciddfma2136 fma  3 300000     0e+384  ->  900000
2467db96d56Sopenharmony_ciddfma2137 fma  3 3000000     0e+384  ->  9000000
2477db96d56Sopenharmony_ciddfma2138 fma  3 30000000     0e+384  ->  90000000
2487db96d56Sopenharmony_ciddfma2139 fma  3 300000000     0e+384  ->  900000000
2497db96d56Sopenharmony_ciddfma2140 fma  3 3000000000     0e+384  ->  9000000000
2507db96d56Sopenharmony_ciddfma2141 fma  3 30000000000     0e+384  ->  90000000000
2517db96d56Sopenharmony_ciddfma2142 fma  3 300000000000     0e+384  ->  900000000000
2527db96d56Sopenharmony_ciddfma2143 fma  3 3000000000000     0e+384  ->  9000000000000
2537db96d56Sopenharmony_ciddfma2144 fma  3 30000000000000     0e+384  ->  90000000000000
2547db96d56Sopenharmony_ciddfma2145 fma  3 300000000000000     0e+384  ->  900000000000000
2557db96d56Sopenharmony_ci
2567db96d56Sopenharmony_ci-- test some edge cases with exact rounding
2577db96d56Sopenharmony_ciddfma2301 fma  9 9     0e+384  ->  81
2587db96d56Sopenharmony_ciddfma2302 fma  9 90     0e+384  ->  810
2597db96d56Sopenharmony_ciddfma2303 fma  9 900     0e+384  ->  8100
2607db96d56Sopenharmony_ciddfma2304 fma  9 9000     0e+384  ->  81000
2617db96d56Sopenharmony_ciddfma2305 fma  9 90000     0e+384  ->  810000
2627db96d56Sopenharmony_ciddfma2306 fma  9 900000     0e+384  ->  8100000
2637db96d56Sopenharmony_ciddfma2307 fma  9 9000000     0e+384  ->  81000000
2647db96d56Sopenharmony_ciddfma2308 fma  9 90000000     0e+384  ->  810000000
2657db96d56Sopenharmony_ciddfma2309 fma  9 900000000     0e+384  ->  8100000000
2667db96d56Sopenharmony_ciddfma2310 fma  9 9000000000     0e+384  ->  81000000000
2677db96d56Sopenharmony_ciddfma2311 fma  9 90000000000     0e+384  ->  810000000000
2687db96d56Sopenharmony_ciddfma2312 fma  9 900000000000     0e+384  ->  8100000000000
2697db96d56Sopenharmony_ciddfma2313 fma  9 9000000000000     0e+384  ->  81000000000000
2707db96d56Sopenharmony_ciddfma2314 fma  9 90000000000000     0e+384  ->  810000000000000
2717db96d56Sopenharmony_ciddfma2315 fma  9 900000000000000     0e+384  ->  8100000000000000
2727db96d56Sopenharmony_ciddfma2316 fma  9 9000000000000000     0e+384  ->  8.100000000000000E+16  Rounded
2737db96d56Sopenharmony_ciddfma2317 fma  90 9000000000000000     0e+384  ->  8.100000000000000E+17  Rounded
2747db96d56Sopenharmony_ciddfma2318 fma  900 9000000000000000     0e+384  ->  8.100000000000000E+18  Rounded
2757db96d56Sopenharmony_ciddfma2319 fma  9000 9000000000000000     0e+384  ->  8.100000000000000E+19  Rounded
2767db96d56Sopenharmony_ciddfma2320 fma  90000 9000000000000000     0e+384  ->  8.100000000000000E+20  Rounded
2777db96d56Sopenharmony_ciddfma2321 fma  900000 9000000000000000     0e+384  ->  8.100000000000000E+21  Rounded
2787db96d56Sopenharmony_ciddfma2322 fma  9000000 9000000000000000     0e+384  ->  8.100000000000000E+22  Rounded
2797db96d56Sopenharmony_ciddfma2323 fma  90000000 9000000000000000     0e+384  ->  8.100000000000000E+23  Rounded
2807db96d56Sopenharmony_ci
2817db96d56Sopenharmony_ci-- tryzeros cases
2827db96d56Sopenharmony_ciddfma2504  fma   0E-260 1000E-260    0e+384  ->  0E-398 Clamped
2837db96d56Sopenharmony_ciddfma2505  fma   100E+260 0E+260     0e+384  ->  0E+369 Clamped
2847db96d56Sopenharmony_ci
2857db96d56Sopenharmony_ci-- mixed with zeros
2867db96d56Sopenharmony_ciddfma2541 fma   0    -1       0e+384  ->   0
2877db96d56Sopenharmony_ciddfma2542 fma  -0    -1       0e+384  ->   0
2887db96d56Sopenharmony_ciddfma2543 fma   0     1       0e+384  ->   0
2897db96d56Sopenharmony_ciddfma2544 fma  -0     1       0e+384  ->   0
2907db96d56Sopenharmony_ciddfma2545 fma  -1     0       0e+384  ->   0
2917db96d56Sopenharmony_ciddfma2546 fma  -1    -0       0e+384  ->   0
2927db96d56Sopenharmony_ciddfma2547 fma   1     0       0e+384  ->   0
2937db96d56Sopenharmony_ciddfma2548 fma   1    -0       0e+384  ->   0
2947db96d56Sopenharmony_ci
2957db96d56Sopenharmony_ciddfma2551 fma   0.0  -1       0e+384  ->   0.0
2967db96d56Sopenharmony_ciddfma2552 fma  -0.0  -1       0e+384  ->   0.0
2977db96d56Sopenharmony_ciddfma2553 fma   0.0   1       0e+384  ->   0.0
2987db96d56Sopenharmony_ciddfma2554 fma  -0.0   1       0e+384  ->   0.0
2997db96d56Sopenharmony_ciddfma2555 fma  -1.0   0       0e+384  ->   0.0
3007db96d56Sopenharmony_ciddfma2556 fma  -1.0  -0       0e+384  ->   0.0
3017db96d56Sopenharmony_ciddfma2557 fma   1.0   0       0e+384  ->   0.0
3027db96d56Sopenharmony_ciddfma2558 fma   1.0  -0       0e+384  ->   0.0
3037db96d56Sopenharmony_ci
3047db96d56Sopenharmony_ciddfma2561 fma   0    -1.0     0e+384  ->   0.0
3057db96d56Sopenharmony_ciddfma2562 fma  -0    -1.0     0e+384  ->   0.0
3067db96d56Sopenharmony_ciddfma2563 fma   0     1.0     0e+384  ->   0.0
3077db96d56Sopenharmony_ciddfma2564 fma  -0     1.0     0e+384  ->   0.0
3087db96d56Sopenharmony_ciddfma2565 fma  -1     0.0     0e+384  ->   0.0
3097db96d56Sopenharmony_ciddfma2566 fma  -1    -0.0     0e+384  ->   0.0
3107db96d56Sopenharmony_ciddfma2567 fma   1     0.0     0e+384  ->   0.0
3117db96d56Sopenharmony_ciddfma2568 fma   1    -0.0     0e+384  ->   0.0
3127db96d56Sopenharmony_ci
3137db96d56Sopenharmony_ciddfma2571 fma   0.0  -1.0     0e+384  ->   0.00
3147db96d56Sopenharmony_ciddfma2572 fma  -0.0  -1.0     0e+384  ->   0.00
3157db96d56Sopenharmony_ciddfma2573 fma   0.0   1.0     0e+384  ->   0.00
3167db96d56Sopenharmony_ciddfma2574 fma  -0.0   1.0     0e+384  ->   0.00
3177db96d56Sopenharmony_ciddfma2575 fma  -1.0   0.0     0e+384  ->   0.00
3187db96d56Sopenharmony_ciddfma2576 fma  -1.0  -0.0     0e+384  ->   0.00
3197db96d56Sopenharmony_ciddfma2577 fma   1.0   0.0     0e+384  ->   0.00
3207db96d56Sopenharmony_ciddfma2578 fma   1.0  -0.0     0e+384  ->   0.00
3217db96d56Sopenharmony_ci
3227db96d56Sopenharmony_ci-- Specials
3237db96d56Sopenharmony_ciddfma2580 fma   Inf  -Inf     0e+384  ->  -Infinity
3247db96d56Sopenharmony_ciddfma2581 fma   Inf  -1000    0e+384  ->  -Infinity
3257db96d56Sopenharmony_ciddfma2582 fma   Inf  -1       0e+384  ->  -Infinity
3267db96d56Sopenharmony_ciddfma2583 fma   Inf  -0       0e+384  ->   NaN  Invalid_operation
3277db96d56Sopenharmony_ciddfma2584 fma   Inf   0       0e+384  ->   NaN  Invalid_operation
3287db96d56Sopenharmony_ciddfma2585 fma   Inf   1       0e+384  ->   Infinity
3297db96d56Sopenharmony_ciddfma2586 fma   Inf   1000    0e+384  ->   Infinity
3307db96d56Sopenharmony_ciddfma2587 fma   Inf   Inf     0e+384  ->   Infinity
3317db96d56Sopenharmony_ciddfma2588 fma  -1000  Inf     0e+384  ->  -Infinity
3327db96d56Sopenharmony_ciddfma2589 fma  -Inf   Inf     0e+384  ->  -Infinity
3337db96d56Sopenharmony_ciddfma2590 fma  -1     Inf     0e+384  ->  -Infinity
3347db96d56Sopenharmony_ciddfma2591 fma  -0     Inf     0e+384  ->   NaN  Invalid_operation
3357db96d56Sopenharmony_ciddfma2592 fma   0     Inf     0e+384  ->   NaN  Invalid_operation
3367db96d56Sopenharmony_ciddfma2593 fma   1     Inf     0e+384  ->   Infinity
3377db96d56Sopenharmony_ciddfma2594 fma   1000  Inf     0e+384  ->   Infinity
3387db96d56Sopenharmony_ciddfma2595 fma   Inf   Inf     0e+384  ->   Infinity
3397db96d56Sopenharmony_ci
3407db96d56Sopenharmony_ciddfma2600 fma  -Inf  -Inf     0e+384  ->   Infinity
3417db96d56Sopenharmony_ciddfma2601 fma  -Inf  -1000    0e+384  ->   Infinity
3427db96d56Sopenharmony_ciddfma2602 fma  -Inf  -1       0e+384  ->   Infinity
3437db96d56Sopenharmony_ciddfma2603 fma  -Inf  -0       0e+384  ->   NaN  Invalid_operation
3447db96d56Sopenharmony_ciddfma2604 fma  -Inf   0       0e+384  ->   NaN  Invalid_operation
3457db96d56Sopenharmony_ciddfma2605 fma  -Inf   1       0e+384  ->  -Infinity
3467db96d56Sopenharmony_ciddfma2606 fma  -Inf   1000    0e+384  ->  -Infinity
3477db96d56Sopenharmony_ciddfma2607 fma  -Inf   Inf     0e+384  ->  -Infinity
3487db96d56Sopenharmony_ciddfma2608 fma  -1000  Inf     0e+384  ->  -Infinity
3497db96d56Sopenharmony_ciddfma2609 fma  -Inf  -Inf     0e+384  ->   Infinity
3507db96d56Sopenharmony_ciddfma2610 fma  -1    -Inf     0e+384  ->   Infinity
3517db96d56Sopenharmony_ciddfma2611 fma  -0    -Inf     0e+384  ->   NaN  Invalid_operation
3527db96d56Sopenharmony_ciddfma2612 fma   0    -Inf     0e+384  ->   NaN  Invalid_operation
3537db96d56Sopenharmony_ciddfma2613 fma   1    -Inf     0e+384  ->  -Infinity
3547db96d56Sopenharmony_ciddfma2614 fma   1000 -Inf     0e+384  ->  -Infinity
3557db96d56Sopenharmony_ciddfma2615 fma   Inf  -Inf     0e+384  ->  -Infinity
3567db96d56Sopenharmony_ci
3577db96d56Sopenharmony_ciddfma2621 fma   NaN -Inf      0e+384  ->   NaN
3587db96d56Sopenharmony_ciddfma2622 fma   NaN -1000     0e+384  ->   NaN
3597db96d56Sopenharmony_ciddfma2623 fma   NaN -1        0e+384  ->   NaN
3607db96d56Sopenharmony_ciddfma2624 fma   NaN -0        0e+384  ->   NaN
3617db96d56Sopenharmony_ciddfma2625 fma   NaN  0        0e+384  ->   NaN
3627db96d56Sopenharmony_ciddfma2626 fma   NaN  1        0e+384  ->   NaN
3637db96d56Sopenharmony_ciddfma2627 fma   NaN  1000     0e+384  ->   NaN
3647db96d56Sopenharmony_ciddfma2628 fma   NaN  Inf      0e+384  ->   NaN
3657db96d56Sopenharmony_ciddfma2629 fma   NaN  NaN      0e+384  ->   NaN
3667db96d56Sopenharmony_ciddfma2630 fma  -Inf  NaN      0e+384  ->   NaN
3677db96d56Sopenharmony_ciddfma2631 fma  -1000 NaN      0e+384  ->   NaN
3687db96d56Sopenharmony_ciddfma2632 fma  -1    NaN      0e+384  ->   NaN
3697db96d56Sopenharmony_ciddfma2633 fma  -0    NaN      0e+384  ->   NaN
3707db96d56Sopenharmony_ciddfma2634 fma   0    NaN      0e+384  ->   NaN
3717db96d56Sopenharmony_ciddfma2635 fma   1    NaN      0e+384  ->   NaN
3727db96d56Sopenharmony_ciddfma2636 fma   1000 NaN      0e+384  ->   NaN
3737db96d56Sopenharmony_ciddfma2637 fma   Inf  NaN      0e+384  ->   NaN
3747db96d56Sopenharmony_ci
3757db96d56Sopenharmony_ciddfma2641 fma   sNaN -Inf     0e+384  ->   NaN  Invalid_operation
3767db96d56Sopenharmony_ciddfma2642 fma   sNaN -1000    0e+384  ->   NaN  Invalid_operation
3777db96d56Sopenharmony_ciddfma2643 fma   sNaN -1       0e+384  ->   NaN  Invalid_operation
3787db96d56Sopenharmony_ciddfma2644 fma   sNaN -0       0e+384  ->   NaN  Invalid_operation
3797db96d56Sopenharmony_ciddfma2645 fma   sNaN  0       0e+384  ->   NaN  Invalid_operation
3807db96d56Sopenharmony_ciddfma2646 fma   sNaN  1       0e+384  ->   NaN  Invalid_operation
3817db96d56Sopenharmony_ciddfma2647 fma   sNaN  1000    0e+384  ->   NaN  Invalid_operation
3827db96d56Sopenharmony_ciddfma2648 fma   sNaN  NaN     0e+384  ->   NaN  Invalid_operation
3837db96d56Sopenharmony_ciddfma2649 fma   sNaN sNaN     0e+384  ->   NaN  Invalid_operation
3847db96d56Sopenharmony_ciddfma2650 fma   NaN  sNaN     0e+384  ->   NaN  Invalid_operation
3857db96d56Sopenharmony_ciddfma2651 fma  -Inf  sNaN     0e+384  ->   NaN  Invalid_operation
3867db96d56Sopenharmony_ciddfma2652 fma  -1000 sNaN     0e+384  ->   NaN  Invalid_operation
3877db96d56Sopenharmony_ciddfma2653 fma  -1    sNaN     0e+384  ->   NaN  Invalid_operation
3887db96d56Sopenharmony_ciddfma2654 fma  -0    sNaN     0e+384  ->   NaN  Invalid_operation
3897db96d56Sopenharmony_ciddfma2655 fma   0    sNaN     0e+384  ->   NaN  Invalid_operation
3907db96d56Sopenharmony_ciddfma2656 fma   1    sNaN     0e+384  ->   NaN  Invalid_operation
3917db96d56Sopenharmony_ciddfma2657 fma   1000 sNaN     0e+384  ->   NaN  Invalid_operation
3927db96d56Sopenharmony_ciddfma2658 fma   Inf  sNaN     0e+384  ->   NaN  Invalid_operation
3937db96d56Sopenharmony_ciddfma2659 fma   NaN  sNaN     0e+384  ->   NaN  Invalid_operation
3947db96d56Sopenharmony_ci
3957db96d56Sopenharmony_ci-- propagating NaNs
3967db96d56Sopenharmony_ciddfma2661 fma   NaN9 -Inf     0e+384  ->   NaN9
3977db96d56Sopenharmony_ciddfma2662 fma   NaN8  999     0e+384  ->   NaN8
3987db96d56Sopenharmony_ciddfma2663 fma   NaN71 Inf     0e+384  ->   NaN71
3997db96d56Sopenharmony_ciddfma2664 fma   NaN6  NaN5    0e+384  ->   NaN6
4007db96d56Sopenharmony_ciddfma2665 fma  -Inf   NaN4    0e+384  ->   NaN4
4017db96d56Sopenharmony_ciddfma2666 fma  -999   NaN33   0e+384  ->   NaN33
4027db96d56Sopenharmony_ciddfma2667 fma   Inf   NaN2    0e+384  ->   NaN2
4037db96d56Sopenharmony_ci
4047db96d56Sopenharmony_ciddfma2671 fma   sNaN99 -Inf      0e+384  ->   NaN99 Invalid_operation
4057db96d56Sopenharmony_ciddfma2672 fma   sNaN98 -11       0e+384  ->   NaN98 Invalid_operation
4067db96d56Sopenharmony_ciddfma2673 fma   sNaN97  NaN      0e+384  ->   NaN97 Invalid_operation
4077db96d56Sopenharmony_ciddfma2674 fma   sNaN16 sNaN94    0e+384  ->   NaN16 Invalid_operation
4087db96d56Sopenharmony_ciddfma2675 fma   NaN95  sNaN93    0e+384  ->   NaN93 Invalid_operation
4097db96d56Sopenharmony_ciddfma2676 fma  -Inf    sNaN92    0e+384  ->   NaN92 Invalid_operation
4107db96d56Sopenharmony_ciddfma2677 fma   088    sNaN91    0e+384  ->   NaN91 Invalid_operation
4117db96d56Sopenharmony_ciddfma2678 fma   Inf    sNaN90    0e+384  ->   NaN90 Invalid_operation
4127db96d56Sopenharmony_ciddfma2679 fma   NaN    sNaN89    0e+384  ->   NaN89 Invalid_operation
4137db96d56Sopenharmony_ci
4147db96d56Sopenharmony_ciddfma2681 fma  -NaN9 -Inf     0e+384  ->  -NaN9
4157db96d56Sopenharmony_ciddfma2682 fma  -NaN8  999     0e+384  ->  -NaN8
4167db96d56Sopenharmony_ciddfma2683 fma  -NaN71 Inf     0e+384  ->  -NaN71
4177db96d56Sopenharmony_ciddfma2684 fma  -NaN6 -NaN5    0e+384  ->  -NaN6
4187db96d56Sopenharmony_ciddfma2685 fma  -Inf  -NaN4    0e+384  ->  -NaN4
4197db96d56Sopenharmony_ciddfma2686 fma  -999  -NaN33   0e+384  ->  -NaN33
4207db96d56Sopenharmony_ciddfma2687 fma   Inf  -NaN2    0e+384  ->  -NaN2
4217db96d56Sopenharmony_ci
4227db96d56Sopenharmony_ciddfma2691 fma  -sNaN99 -Inf      0e+384  ->  -NaN99 Invalid_operation
4237db96d56Sopenharmony_ciddfma2692 fma  -sNaN98 -11       0e+384  ->  -NaN98 Invalid_operation
4247db96d56Sopenharmony_ciddfma2693 fma  -sNaN97  NaN      0e+384  ->  -NaN97 Invalid_operation
4257db96d56Sopenharmony_ciddfma2694 fma  -sNaN16 -sNaN94   0e+384  ->  -NaN16 Invalid_operation
4267db96d56Sopenharmony_ciddfma2695 fma  -NaN95  -sNaN93   0e+384  ->  -NaN93 Invalid_operation
4277db96d56Sopenharmony_ciddfma2696 fma  -Inf    -sNaN92   0e+384  ->  -NaN92 Invalid_operation
4287db96d56Sopenharmony_ciddfma2697 fma   088    -sNaN91   0e+384  ->  -NaN91 Invalid_operation
4297db96d56Sopenharmony_ciddfma2698 fma   Inf    -sNaN90   0e+384  ->  -NaN90 Invalid_operation
4307db96d56Sopenharmony_ciddfma2699 fma  -NaN    -sNaN89   0e+384  ->  -NaN89 Invalid_operation
4317db96d56Sopenharmony_ci
4327db96d56Sopenharmony_ciddfma2701 fma  -NaN  -Inf     0e+384  ->  -NaN
4337db96d56Sopenharmony_ciddfma2702 fma  -NaN   999     0e+384  ->  -NaN
4347db96d56Sopenharmony_ciddfma2703 fma  -NaN   Inf     0e+384  ->  -NaN
4357db96d56Sopenharmony_ciddfma2704 fma  -NaN  -NaN     0e+384  ->  -NaN
4367db96d56Sopenharmony_ciddfma2705 fma  -Inf  -NaN0    0e+384  ->  -NaN
4377db96d56Sopenharmony_ciddfma2706 fma  -999  -NaN     0e+384  ->  -NaN
4387db96d56Sopenharmony_ciddfma2707 fma   Inf  -NaN     0e+384  ->  -NaN
4397db96d56Sopenharmony_ci
4407db96d56Sopenharmony_ciddfma2711 fma  -sNaN   -Inf      0e+384  ->  -NaN Invalid_operation
4417db96d56Sopenharmony_ciddfma2712 fma  -sNaN   -11       0e+384  ->  -NaN Invalid_operation
4427db96d56Sopenharmony_ciddfma2713 fma  -sNaN00  NaN      0e+384  ->  -NaN Invalid_operation
4437db96d56Sopenharmony_ciddfma2714 fma  -sNaN   -sNaN     0e+384  ->  -NaN Invalid_operation
4447db96d56Sopenharmony_ciddfma2715 fma  -NaN    -sNaN     0e+384  ->  -NaN Invalid_operation
4457db96d56Sopenharmony_ciddfma2716 fma  -Inf    -sNaN     0e+384  ->  -NaN Invalid_operation
4467db96d56Sopenharmony_ciddfma2717 fma   088    -sNaN     0e+384  ->  -NaN Invalid_operation
4477db96d56Sopenharmony_ciddfma2718 fma   Inf    -sNaN     0e+384  ->  -NaN Invalid_operation
4487db96d56Sopenharmony_ciddfma2719 fma  -NaN    -sNaN     0e+384  ->  -NaN Invalid_operation
4497db96d56Sopenharmony_ci
4507db96d56Sopenharmony_ci-- overflow and underflow tests .. note subnormal results
4517db96d56Sopenharmony_ci-- signs
4527db96d56Sopenharmony_ciddfma2751 fma   1e+277  1e+311   0e+384  ->   Infinity Overflow Inexact Rounded
4537db96d56Sopenharmony_ciddfma2752 fma   1e+277 -1e+311   0e+384  ->  -Infinity Overflow Inexact Rounded
4547db96d56Sopenharmony_ciddfma2753 fma  -1e+277  1e+311   0e+384  ->  -Infinity Overflow Inexact Rounded
4557db96d56Sopenharmony_ciddfma2754 fma  -1e+277 -1e+311   0e+384  ->   Infinity Overflow Inexact Rounded
4567db96d56Sopenharmony_ciddfma2755 fma   1e-277  1e-311   0e+384  ->   0E-398 Underflow Subnormal Inexact Rounded Clamped
4577db96d56Sopenharmony_ciddfma2756 fma   1e-277 -1e-311   0e+384  ->  -0E-398 Underflow Subnormal Inexact Rounded Clamped
4587db96d56Sopenharmony_ciddfma2757 fma  -1e-277  1e-311   0e+384  ->  -0E-398 Underflow Subnormal Inexact Rounded Clamped
4597db96d56Sopenharmony_ciddfma2758 fma  -1e-277 -1e-311   0e+384  ->   0E-398 Underflow Subnormal Inexact Rounded Clamped
4607db96d56Sopenharmony_ci
4617db96d56Sopenharmony_ci-- 'subnormal' boundary (all hard underflow or overflow in base arithmetic)
4627db96d56Sopenharmony_ciddfma2760 fma  1e-291 1e-101   0e+384  ->  1E-392 Subnormal
4637db96d56Sopenharmony_ciddfma2761 fma  1e-291 1e-102   0e+384  ->  1E-393 Subnormal
4647db96d56Sopenharmony_ciddfma2762 fma  1e-291 1e-103   0e+384  ->  1E-394 Subnormal
4657db96d56Sopenharmony_ciddfma2763 fma  1e-291 1e-104   0e+384  ->  1E-395 Subnormal
4667db96d56Sopenharmony_ciddfma2764 fma  1e-291 1e-105   0e+384  ->  1E-396 Subnormal
4677db96d56Sopenharmony_ciddfma2765 fma  1e-291 1e-106   0e+384  ->  1E-397 Subnormal
4687db96d56Sopenharmony_ciddfma2766 fma  1e-291 1e-107   0e+384  ->  1E-398 Subnormal
4697db96d56Sopenharmony_ciddfma2767 fma  1e-291 1e-108   0e+384  ->  0E-398 Underflow Subnormal Inexact Rounded Clamped
4707db96d56Sopenharmony_ciddfma2768 fma  1e-291 1e-109   0e+384  ->  0E-398 Underflow Subnormal Inexact Rounded Clamped
4717db96d56Sopenharmony_ciddfma2769 fma  1e-291 1e-110   0e+384  ->  0E-398 Underflow Subnormal Inexact Rounded Clamped
4727db96d56Sopenharmony_ci-- [no equivalent of 'subnormal' for overflow]
4737db96d56Sopenharmony_ciddfma2770 fma  1e+60 1e+321   0e+384  ->  1.000000000000E+381  Clamped
4747db96d56Sopenharmony_ciddfma2771 fma  1e+60 1e+322   0e+384  ->  1.0000000000000E+382  Clamped
4757db96d56Sopenharmony_ciddfma2772 fma  1e+60 1e+323   0e+384  ->  1.00000000000000E+383  Clamped
4767db96d56Sopenharmony_ciddfma2773 fma  1e+60 1e+324   0e+384  ->  1.000000000000000E+384  Clamped
4777db96d56Sopenharmony_ciddfma2774 fma  1e+60 1e+325   0e+384  ->  Infinity Overflow Inexact Rounded
4787db96d56Sopenharmony_ciddfma2775 fma  1e+60 1e+326   0e+384  ->  Infinity Overflow Inexact Rounded
4797db96d56Sopenharmony_ciddfma2776 fma  1e+60 1e+327   0e+384  ->  Infinity Overflow Inexact Rounded
4807db96d56Sopenharmony_ciddfma2777 fma  1e+60 1e+328   0e+384  ->  Infinity Overflow Inexact Rounded
4817db96d56Sopenharmony_ciddfma2778 fma  1e+60 1e+329   0e+384  ->  Infinity Overflow Inexact Rounded
4827db96d56Sopenharmony_ciddfma2779 fma  1e+60 1e+330   0e+384  ->  Infinity Overflow Inexact Rounded
4837db96d56Sopenharmony_ci
4847db96d56Sopenharmony_ciddfma2801 fma   1.0000E-394  1       0e+384  ->  1.0000E-394 Subnormal
4857db96d56Sopenharmony_ciddfma2802 fma   1.000E-394   1e-1    0e+384  ->  1.000E-395  Subnormal
4867db96d56Sopenharmony_ciddfma2803 fma   1.00E-394    1e-2    0e+384  ->  1.00E-396   Subnormal
4877db96d56Sopenharmony_ciddfma2804 fma   1.0E-394     1e-3    0e+384  ->  1.0E-397    Subnormal
4887db96d56Sopenharmony_ciddfma2805 fma   1.0E-394     1e-4    0e+384  ->  1E-398     Subnormal Rounded
4897db96d56Sopenharmony_ciddfma2806 fma   1.3E-394     1e-4    0e+384  ->  1E-398     Underflow Subnormal Inexact Rounded
4907db96d56Sopenharmony_ciddfma2807 fma   1.5E-394     1e-4    0e+384  ->  2E-398     Underflow Subnormal Inexact Rounded
4917db96d56Sopenharmony_ciddfma2808 fma   1.7E-394     1e-4    0e+384  ->  2E-398     Underflow Subnormal Inexact Rounded
4927db96d56Sopenharmony_ciddfma2809 fma   2.3E-394     1e-4    0e+384  ->  2E-398     Underflow Subnormal Inexact Rounded
4937db96d56Sopenharmony_ciddfma2810 fma   2.5E-394     1e-4    0e+384  ->  2E-398     Underflow Subnormal Inexact Rounded
4947db96d56Sopenharmony_ciddfma2811 fma   2.7E-394     1e-4    0e+384  ->  3E-398     Underflow Subnormal Inexact Rounded
4957db96d56Sopenharmony_ciddfma2812 fma   1.49E-394    1e-4    0e+384  ->  1E-398     Underflow Subnormal Inexact Rounded
4967db96d56Sopenharmony_ciddfma2813 fma   1.50E-394    1e-4    0e+384  ->  2E-398     Underflow Subnormal Inexact Rounded
4977db96d56Sopenharmony_ciddfma2814 fma   1.51E-394    1e-4    0e+384  ->  2E-398     Underflow Subnormal Inexact Rounded
4987db96d56Sopenharmony_ciddfma2815 fma   2.49E-394    1e-4    0e+384  ->  2E-398     Underflow Subnormal Inexact Rounded
4997db96d56Sopenharmony_ciddfma2816 fma   2.50E-394    1e-4    0e+384  ->  2E-398     Underflow Subnormal Inexact Rounded
5007db96d56Sopenharmony_ciddfma2817 fma   2.51E-394    1e-4    0e+384  ->  3E-398     Underflow Subnormal Inexact Rounded
5017db96d56Sopenharmony_ci
5027db96d56Sopenharmony_ciddfma2818 fma   1E-394       1e-4    0e+384  ->  1E-398     Subnormal
5037db96d56Sopenharmony_ciddfma2819 fma   3E-394       1e-5    0e+384  ->  0E-398     Underflow Subnormal Inexact Rounded Clamped
5047db96d56Sopenharmony_ciddfma2820 fma   5E-394       1e-5    0e+384  ->  0E-398     Underflow Subnormal Inexact Rounded Clamped
5057db96d56Sopenharmony_ciddfma2821 fma   7E-394       1e-5    0e+384  ->  1E-398     Underflow Subnormal Inexact Rounded
5067db96d56Sopenharmony_ciddfma2822 fma   9E-394       1e-5    0e+384  ->  1E-398     Underflow Subnormal Inexact Rounded
5077db96d56Sopenharmony_ciddfma2823 fma   9.9E-394     1e-5    0e+384  ->  1E-398     Underflow Subnormal Inexact Rounded
5087db96d56Sopenharmony_ci
5097db96d56Sopenharmony_ciddfma2824 fma   1E-394      -1e-4    0e+384  ->  -1E-398    Subnormal
5107db96d56Sopenharmony_ciddfma2825 fma   3E-394      -1e-5    0e+384  ->  -0E-398    Underflow Subnormal Inexact Rounded Clamped
5117db96d56Sopenharmony_ciddfma2826 fma  -5E-394       1e-5    0e+384  ->  -0E-398    Underflow Subnormal Inexact Rounded Clamped
5127db96d56Sopenharmony_ciddfma2827 fma   7E-394      -1e-5    0e+384  ->  -1E-398    Underflow Subnormal Inexact Rounded
5137db96d56Sopenharmony_ciddfma2828 fma  -9E-394       1e-5    0e+384  ->  -1E-398    Underflow Subnormal Inexact Rounded
5147db96d56Sopenharmony_ciddfma2829 fma   9.9E-394    -1e-5    0e+384  ->  -1E-398    Underflow Subnormal Inexact Rounded
5157db96d56Sopenharmony_ciddfma2830 fma   3.0E-394    -1e-5    0e+384  ->  -0E-398    Underflow Subnormal Inexact Rounded Clamped
5167db96d56Sopenharmony_ci
5177db96d56Sopenharmony_ciddfma2831 fma   1.0E-199     1e-200   0e+384  ->  0E-398 Underflow Subnormal Inexact Rounded Clamped
5187db96d56Sopenharmony_ciddfma2832 fma   1.0E-199     1e-199   0e+384  ->  1E-398    Subnormal Rounded
5197db96d56Sopenharmony_ciddfma2833 fma   1.0E-199     1e-198   0e+384  ->  1.0E-397    Subnormal
5207db96d56Sopenharmony_ciddfma2834 fma   2.0E-199     2e-198   0e+384  ->  4.0E-397    Subnormal
5217db96d56Sopenharmony_ciddfma2835 fma   4.0E-199     4e-198   0e+384  ->  1.60E-396   Subnormal
5227db96d56Sopenharmony_ciddfma2836 fma  10.0E-199    10e-198   0e+384  ->  1.000E-395  Subnormal
5237db96d56Sopenharmony_ciddfma2837 fma  30.0E-199    30e-198   0e+384  ->  9.000E-395  Subnormal
5247db96d56Sopenharmony_ciddfma2838 fma  40.0E-199    40e-188   0e+384  ->  1.6000E-384 Subnormal
5257db96d56Sopenharmony_ciddfma2839 fma  40.0E-199    40e-187   0e+384  ->  1.6000E-383
5267db96d56Sopenharmony_ciddfma2840 fma  40.0E-199    40e-186   0e+384  ->  1.6000E-382
5277db96d56Sopenharmony_ci
5287db96d56Sopenharmony_ci-- Long operand overflow may be a different path
5297db96d56Sopenharmony_ciddfma2870 fma  100  9.999E+383           0e+384  ->   Infinity Inexact Overflow Rounded
5307db96d56Sopenharmony_ciddfma2871 fma  100 -9.999E+383       0e+384  ->  -Infinity Inexact Overflow Rounded
5317db96d56Sopenharmony_ciddfma2872 fma       9.999E+383 100   0e+384  ->   Infinity Inexact Overflow Rounded
5327db96d56Sopenharmony_ciddfma2873 fma      -9.999E+383 100   0e+384  ->  -Infinity Inexact Overflow Rounded
5337db96d56Sopenharmony_ci
5347db96d56Sopenharmony_ci-- check for double-rounded subnormals
5357db96d56Sopenharmony_ciddfma2881 fma   1.2347E-355 1.2347E-40    0e+384  ->   1.524E-395 Inexact Rounded Subnormal Underflow
5367db96d56Sopenharmony_ciddfma2882 fma   1.234E-355 1.234E-40      0e+384  ->   1.523E-395 Inexact Rounded Subnormal Underflow
5377db96d56Sopenharmony_ciddfma2883 fma   1.23E-355  1.23E-40       0e+384  ->   1.513E-395 Inexact Rounded Subnormal Underflow
5387db96d56Sopenharmony_ciddfma2884 fma   1.2E-355   1.2E-40        0e+384  ->   1.44E-395  Subnormal
5397db96d56Sopenharmony_ciddfma2885 fma   1.2E-355   1.2E-41        0e+384  ->   1.44E-396  Subnormal
5407db96d56Sopenharmony_ciddfma2886 fma   1.2E-355   1.2E-42        0e+384  ->   1.4E-397   Subnormal Inexact Rounded Underflow
5417db96d56Sopenharmony_ciddfma2887 fma   1.2E-355   1.3E-42        0e+384  ->   1.6E-397   Subnormal Inexact Rounded Underflow
5427db96d56Sopenharmony_ciddfma2888 fma   1.3E-355   1.3E-42        0e+384  ->   1.7E-397   Subnormal Inexact Rounded Underflow
5437db96d56Sopenharmony_ciddfma2889 fma   1.3E-355   1.3E-43        0e+384  ->     2E-398   Subnormal Inexact Rounded Underflow
5447db96d56Sopenharmony_ciddfma2890 fma   1.3E-356   1.3E-43        0e+384  ->     0E-398   Clamped Subnormal Inexact Rounded Underflow
5457db96d56Sopenharmony_ci
5467db96d56Sopenharmony_ciddfma2891 fma   1.2345E-39   1.234E-355   0e+384  ->   1.5234E-394 Inexact Rounded Subnormal Underflow
5477db96d56Sopenharmony_ciddfma2892 fma   1.23456E-39  1.234E-355   0e+384  ->   1.5234E-394 Inexact Rounded Subnormal Underflow
5487db96d56Sopenharmony_ciddfma2893 fma   1.2345E-40   1.234E-355   0e+384  ->   1.523E-395  Inexact Rounded Subnormal Underflow
5497db96d56Sopenharmony_ciddfma2894 fma   1.23456E-40  1.234E-355   0e+384  ->   1.523E-395  Inexact Rounded Subnormal Underflow
5507db96d56Sopenharmony_ciddfma2895 fma   1.2345E-41   1.234E-355   0e+384  ->   1.52E-396   Inexact Rounded Subnormal Underflow
5517db96d56Sopenharmony_ciddfma2896 fma   1.23456E-41  1.234E-355   0e+384  ->   1.52E-396   Inexact Rounded Subnormal Underflow
5527db96d56Sopenharmony_ci
5537db96d56Sopenharmony_ci-- Now explore the case where we get a normal result with Underflow
5547db96d56Sopenharmony_ciddfma2900 fma   0.3000000000E-191 0.3000000000E-191   0e+384  ->  9.00000000000000E-384 Subnormal Rounded
5557db96d56Sopenharmony_ciddfma2901 fma   0.3000000001E-191 0.3000000001E-191   0e+384  ->  9.00000000600000E-384 Underflow Inexact Subnormal Rounded
5567db96d56Sopenharmony_ciddfma2902 fma   9.999999999999999E-383  0.0999999999999           0e+384  ->  9.99999999999000E-384 Underflow Inexact Subnormal Rounded
5577db96d56Sopenharmony_ciddfma2903 fma   9.999999999999999E-383  0.09999999999999          0e+384  ->  9.99999999999900E-384 Underflow Inexact Subnormal Rounded
5587db96d56Sopenharmony_ciddfma2904 fma   9.999999999999999E-383  0.099999999999999         0e+384  ->  9.99999999999990E-384 Underflow Inexact Subnormal Rounded
5597db96d56Sopenharmony_ciddfma2905 fma   9.999999999999999E-383  0.0999999999999999        0e+384  ->  9.99999999999999E-384 Underflow Inexact Subnormal Rounded
5607db96d56Sopenharmony_ci-- prove operands are exact
5617db96d56Sopenharmony_ciddfma2906 fma   9.999999999999999E-383  1                         0e+384  ->  9.999999999999999E-383
5627db96d56Sopenharmony_ciddfma2907 fma                        1  0.09999999999999999       0e+384  ->  0.09999999999999999
5637db96d56Sopenharmony_ci-- the next rounds to Nmin
5647db96d56Sopenharmony_ciddfma2908 fma   9.999999999999999E-383  0.09999999999999999       0e+384  ->  1.000000000000000E-383 Underflow Inexact Subnormal Rounded
5657db96d56Sopenharmony_ci
5667db96d56Sopenharmony_ci-- hugest
5677db96d56Sopenharmony_ciddfma2909 fma   9999999999999999 9999999999999999   0e+384  ->  9.999999999999998E+31 Inexact Rounded
5687db96d56Sopenharmony_ci
5697db96d56Sopenharmony_ci-- Null tests
5707db96d56Sopenharmony_ciddfma2990 fma  10  #   0e+384  ->  NaN Invalid_operation
5717db96d56Sopenharmony_ciddfma2991 fma   # 10   0e+384  ->  NaN Invalid_operation
5727db96d56Sopenharmony_ci
5737db96d56Sopenharmony_ci
5747db96d56Sopenharmony_ci-- ADDITION TESTS ------------------------------------------------------
5757db96d56Sopenharmony_ci
5767db96d56Sopenharmony_ci-- [first group are 'quick confidence check']
5777db96d56Sopenharmony_ciddfma3001 fma  1  1       1       ->  2
5787db96d56Sopenharmony_ciddfma3002 fma  1  2       3       ->  5
5797db96d56Sopenharmony_ciddfma3003 fma  1  '5.75'  '3.3'   ->  9.05
5807db96d56Sopenharmony_ciddfma3004 fma  1  '5'     '-3'    ->  2
5817db96d56Sopenharmony_ciddfma3005 fma  1  '-5'    '-3'    ->  -8
5827db96d56Sopenharmony_ciddfma3006 fma  1  '-7'    '2.5'   ->  -4.5
5837db96d56Sopenharmony_ciddfma3007 fma  1  '0.7'   '0.3'   ->  1.0
5847db96d56Sopenharmony_ciddfma3008 fma  1  '1.25'  '1.25'  ->  2.50
5857db96d56Sopenharmony_ciddfma3009 fma  1  '1.23456789'  '1.00000000' -> '2.23456789'
5867db96d56Sopenharmony_ciddfma3010 fma  1  '1.23456789'  '1.00000011' -> '2.23456800'
5877db96d56Sopenharmony_ci
5887db96d56Sopenharmony_ci--             1234567890123456      1234567890123456
5897db96d56Sopenharmony_ciddfma3011 fma  1  '0.4444444444444446'  '0.5555555555555555' -> '1.000000000000000' Inexact Rounded
5907db96d56Sopenharmony_ciddfma3012 fma  1  '0.4444444444444445'  '0.5555555555555555' -> '1.000000000000000' Rounded
5917db96d56Sopenharmony_ciddfma3013 fma  1  '0.4444444444444444'  '0.5555555555555555' -> '0.9999999999999999'
5927db96d56Sopenharmony_ciddfma3014 fma  1    '4444444444444444' '0.49'   -> '4444444444444444' Inexact Rounded
5937db96d56Sopenharmony_ciddfma3015 fma  1    '4444444444444444' '0.499'  -> '4444444444444444' Inexact Rounded
5947db96d56Sopenharmony_ciddfma3016 fma  1    '4444444444444444' '0.4999' -> '4444444444444444' Inexact Rounded
5957db96d56Sopenharmony_ciddfma3017 fma  1    '4444444444444444' '0.5000' -> '4444444444444444' Inexact Rounded
5967db96d56Sopenharmony_ciddfma3018 fma  1    '4444444444444444' '0.5001' -> '4444444444444445' Inexact Rounded
5977db96d56Sopenharmony_ciddfma3019 fma  1    '4444444444444444' '0.501'  -> '4444444444444445' Inexact Rounded
5987db96d56Sopenharmony_ciddfma3020 fma  1    '4444444444444444' '0.51'   -> '4444444444444445' Inexact Rounded
5997db96d56Sopenharmony_ci
6007db96d56Sopenharmony_ciddfma3021 fma  1  0 1 -> 1
6017db96d56Sopenharmony_ciddfma3022 fma  1  1 1 -> 2
6027db96d56Sopenharmony_ciddfma3023 fma  1  2 1 -> 3
6037db96d56Sopenharmony_ciddfma3024 fma  1  3 1 -> 4
6047db96d56Sopenharmony_ciddfma3025 fma  1  4 1 -> 5
6057db96d56Sopenharmony_ciddfma3026 fma  1  5 1 -> 6
6067db96d56Sopenharmony_ciddfma3027 fma  1  6 1 -> 7
6077db96d56Sopenharmony_ciddfma3028 fma  1  7 1 -> 8
6087db96d56Sopenharmony_ciddfma3029 fma  1  8 1 -> 9
6097db96d56Sopenharmony_ciddfma3030 fma  1  9 1 -> 10
6107db96d56Sopenharmony_ci
6117db96d56Sopenharmony_ci-- some carrying effects
6127db96d56Sopenharmony_ciddfma3031 fma  1  '0.9998'  '0.0000' -> '0.9998'
6137db96d56Sopenharmony_ciddfma3032 fma  1  '0.9998'  '0.0001' -> '0.9999'
6147db96d56Sopenharmony_ciddfma3033 fma  1  '0.9998'  '0.0002' -> '1.0000'
6157db96d56Sopenharmony_ciddfma3034 fma  1  '0.9998'  '0.0003' -> '1.0001'
6167db96d56Sopenharmony_ci
6177db96d56Sopenharmony_ciddfma3035 fma  1  '70'  '10000e+16' -> '1.000000000000000E+20' Inexact Rounded
6187db96d56Sopenharmony_ciddfma3036 fma  1  '700'  '10000e+16' -> '1.000000000000000E+20' Inexact Rounded
6197db96d56Sopenharmony_ciddfma3037 fma  1  '7000'  '10000e+16' -> '1.000000000000000E+20' Inexact Rounded
6207db96d56Sopenharmony_ciddfma3038 fma  1  '70000'  '10000e+16' -> '1.000000000000001E+20' Inexact Rounded
6217db96d56Sopenharmony_ciddfma3039 fma  1  '700000'  '10000e+16' -> '1.000000000000007E+20' Rounded
6227db96d56Sopenharmony_ci
6237db96d56Sopenharmony_ci-- symmetry:
6247db96d56Sopenharmony_ciddfma3040 fma  1  '10000e+16'  '70' -> '1.000000000000000E+20' Inexact Rounded
6257db96d56Sopenharmony_ciddfma3041 fma  1  '10000e+16'  '700' -> '1.000000000000000E+20' Inexact Rounded
6267db96d56Sopenharmony_ciddfma3042 fma  1  '10000e+16'  '7000' -> '1.000000000000000E+20' Inexact Rounded
6277db96d56Sopenharmony_ciddfma3044 fma  1  '10000e+16'  '70000' -> '1.000000000000001E+20' Inexact Rounded
6287db96d56Sopenharmony_ciddfma3045 fma  1  '10000e+16'  '700000' -> '1.000000000000007E+20' Rounded
6297db96d56Sopenharmony_ci
6307db96d56Sopenharmony_ci-- same, without rounding
6317db96d56Sopenharmony_ciddfma3046 fma  1  '10000e+9'  '7' -> '10000000000007'
6327db96d56Sopenharmony_ciddfma3047 fma  1  '10000e+9'  '70' -> '10000000000070'
6337db96d56Sopenharmony_ciddfma3048 fma  1  '10000e+9'  '700' -> '10000000000700'
6347db96d56Sopenharmony_ciddfma3049 fma  1  '10000e+9'  '7000' -> '10000000007000'
6357db96d56Sopenharmony_ciddfma3050 fma  1  '10000e+9'  '70000' -> '10000000070000'
6367db96d56Sopenharmony_ciddfma3051 fma  1  '10000e+9'  '700000' -> '10000000700000'
6377db96d56Sopenharmony_ciddfma3052 fma  1  '10000e+9'  '7000000' -> '10000007000000'
6387db96d56Sopenharmony_ci
6397db96d56Sopenharmony_ci-- examples from decarith
6407db96d56Sopenharmony_ciddfma3053 fma  1  '12' '7.00' -> '19.00'
6417db96d56Sopenharmony_ciddfma3054 fma  1  '1.3' '-1.07' -> '0.23'
6427db96d56Sopenharmony_ciddfma3055 fma  1  '1.3' '-1.30' -> '0.00'
6437db96d56Sopenharmony_ciddfma3056 fma  1  '1.3' '-2.07' -> '-0.77'
6447db96d56Sopenharmony_ciddfma3057 fma  1  '1E+2' '1E+4' -> '1.01E+4'
6457db96d56Sopenharmony_ci
6467db96d56Sopenharmony_ci-- leading zero preservation
6477db96d56Sopenharmony_ciddfma3061 fma  1  1 '0.0001' -> '1.0001'
6487db96d56Sopenharmony_ciddfma3062 fma  1  1 '0.00001' -> '1.00001'
6497db96d56Sopenharmony_ciddfma3063 fma  1  1 '0.000001' -> '1.000001'
6507db96d56Sopenharmony_ciddfma3064 fma  1  1 '0.0000001' -> '1.0000001'
6517db96d56Sopenharmony_ciddfma3065 fma  1  1 '0.00000001' -> '1.00000001'
6527db96d56Sopenharmony_ci
6537db96d56Sopenharmony_ci-- some funny zeros [in case of bad signum]
6547db96d56Sopenharmony_ciddfma3070 fma  1  1  0    -> 1
6557db96d56Sopenharmony_ciddfma3071 fma  1  1 0.    -> 1
6567db96d56Sopenharmony_ciddfma3072 fma  1  1  .0   -> 1.0
6577db96d56Sopenharmony_ciddfma3073 fma  1  1 0.0   -> 1.0
6587db96d56Sopenharmony_ciddfma3074 fma  1  1 0.00  -> 1.00
6597db96d56Sopenharmony_ciddfma3075 fma  1   0  1   -> 1
6607db96d56Sopenharmony_ciddfma3076 fma  1  0.  1   -> 1
6617db96d56Sopenharmony_ciddfma3077 fma  1   .0 1   -> 1.0
6627db96d56Sopenharmony_ciddfma3078 fma  1  0.0 1   -> 1.0
6637db96d56Sopenharmony_ciddfma3079 fma  1  0.00 1  -> 1.00
6647db96d56Sopenharmony_ci
6657db96d56Sopenharmony_ci-- some carries
6667db96d56Sopenharmony_ciddfma3080 fma  1  999999998 1  -> 999999999
6677db96d56Sopenharmony_ciddfma3081 fma  1  999999999 1  -> 1000000000
6687db96d56Sopenharmony_ciddfma3082 fma  1   99999999 1  -> 100000000
6697db96d56Sopenharmony_ciddfma3083 fma  1    9999999 1  -> 10000000
6707db96d56Sopenharmony_ciddfma3084 fma  1     999999 1  -> 1000000
6717db96d56Sopenharmony_ciddfma3085 fma  1      99999 1  -> 100000
6727db96d56Sopenharmony_ciddfma3086 fma  1       9999 1  -> 10000
6737db96d56Sopenharmony_ciddfma3087 fma  1        999 1  -> 1000
6747db96d56Sopenharmony_ciddfma3088 fma  1         99 1  -> 100
6757db96d56Sopenharmony_ciddfma3089 fma  1          9 1  -> 10
6767db96d56Sopenharmony_ci
6777db96d56Sopenharmony_ci
6787db96d56Sopenharmony_ci-- more LHS swaps
6797db96d56Sopenharmony_ciddfma3090 fma  1  '-56267E-10'   0 ->  '-0.0000056267'
6807db96d56Sopenharmony_ciddfma3091 fma  1  '-56267E-6'    0 ->  '-0.056267'
6817db96d56Sopenharmony_ciddfma3092 fma  1  '-56267E-5'    0 ->  '-0.56267'
6827db96d56Sopenharmony_ciddfma3093 fma  1  '-56267E-4'    0 ->  '-5.6267'
6837db96d56Sopenharmony_ciddfma3094 fma  1  '-56267E-3'    0 ->  '-56.267'
6847db96d56Sopenharmony_ciddfma3095 fma  1  '-56267E-2'    0 ->  '-562.67'
6857db96d56Sopenharmony_ciddfma3096 fma  1  '-56267E-1'    0 ->  '-5626.7'
6867db96d56Sopenharmony_ciddfma3097 fma  1  '-56267E-0'    0 ->  '-56267'
6877db96d56Sopenharmony_ciddfma3098 fma  1  '-5E-10'       0 ->  '-5E-10'
6887db96d56Sopenharmony_ciddfma3099 fma  1  '-5E-7'        0 ->  '-5E-7'
6897db96d56Sopenharmony_ciddfma3100 fma  1  '-5E-6'        0 ->  '-0.000005'
6907db96d56Sopenharmony_ciddfma3101 fma  1  '-5E-5'        0 ->  '-0.00005'
6917db96d56Sopenharmony_ciddfma3102 fma  1  '-5E-4'        0 ->  '-0.0005'
6927db96d56Sopenharmony_ciddfma3103 fma  1  '-5E-1'        0 ->  '-0.5'
6937db96d56Sopenharmony_ciddfma3104 fma  1  '-5E0'         0 ->  '-5'
6947db96d56Sopenharmony_ciddfma3105 fma  1  '-5E1'         0 ->  '-50'
6957db96d56Sopenharmony_ciddfma3106 fma  1  '-5E5'         0 ->  '-500000'
6967db96d56Sopenharmony_ciddfma3107 fma  1  '-5E15'        0 ->  '-5000000000000000'
6977db96d56Sopenharmony_ciddfma3108 fma  1  '-5E16'        0 ->  '-5.000000000000000E+16'  Rounded
6987db96d56Sopenharmony_ciddfma3109 fma  1  '-5E17'        0 ->  '-5.000000000000000E+17'  Rounded
6997db96d56Sopenharmony_ciddfma3110 fma  1  '-5E18'        0 ->  '-5.000000000000000E+18'  Rounded
7007db96d56Sopenharmony_ciddfma3111 fma  1  '-5E100'       0 ->  '-5.000000000000000E+100' Rounded
7017db96d56Sopenharmony_ci
7027db96d56Sopenharmony_ci-- more RHS swaps
7037db96d56Sopenharmony_ciddfma3113 fma  1  0  '-56267E-10' ->  '-0.0000056267'
7047db96d56Sopenharmony_ciddfma3114 fma  1  0  '-56267E-6'  ->  '-0.056267'
7057db96d56Sopenharmony_ciddfma3116 fma  1  0  '-56267E-5'  ->  '-0.56267'
7067db96d56Sopenharmony_ciddfma3117 fma  1  0  '-56267E-4'  ->  '-5.6267'
7077db96d56Sopenharmony_ciddfma3119 fma  1  0  '-56267E-3'  ->  '-56.267'
7087db96d56Sopenharmony_ciddfma3120 fma  1  0  '-56267E-2'  ->  '-562.67'
7097db96d56Sopenharmony_ciddfma3121 fma  1  0  '-56267E-1'  ->  '-5626.7'
7107db96d56Sopenharmony_ciddfma3122 fma  1  0  '-56267E-0'  ->  '-56267'
7117db96d56Sopenharmony_ciddfma3123 fma  1  0  '-5E-10'     ->  '-5E-10'
7127db96d56Sopenharmony_ciddfma3124 fma  1  0  '-5E-7'      ->  '-5E-7'
7137db96d56Sopenharmony_ciddfma3125 fma  1  0  '-5E-6'      ->  '-0.000005'
7147db96d56Sopenharmony_ciddfma3126 fma  1  0  '-5E-5'      ->  '-0.00005'
7157db96d56Sopenharmony_ciddfma3127 fma  1  0  '-5E-4'      ->  '-0.0005'
7167db96d56Sopenharmony_ciddfma3128 fma  1  0  '-5E-1'      ->  '-0.5'
7177db96d56Sopenharmony_ciddfma3129 fma  1  0  '-5E0'       ->  '-5'
7187db96d56Sopenharmony_ciddfma3130 fma  1  0  '-5E1'       ->  '-50'
7197db96d56Sopenharmony_ciddfma3131 fma  1  0  '-5E5'       ->  '-500000'
7207db96d56Sopenharmony_ciddfma3132 fma  1  0  '-5E15'      ->  '-5000000000000000'
7217db96d56Sopenharmony_ciddfma3133 fma  1  0  '-5E16'      ->  '-5.000000000000000E+16'   Rounded
7227db96d56Sopenharmony_ciddfma3134 fma  1  0  '-5E17'      ->  '-5.000000000000000E+17'   Rounded
7237db96d56Sopenharmony_ciddfma3135 fma  1  0  '-5E18'      ->  '-5.000000000000000E+18'   Rounded
7247db96d56Sopenharmony_ciddfma3136 fma  1  0  '-5E100'     ->  '-5.000000000000000E+100'  Rounded
7257db96d56Sopenharmony_ci
7267db96d56Sopenharmony_ci-- related
7277db96d56Sopenharmony_ciddfma3137 fma  1   1  '0E-19'      ->  '1.000000000000000'  Rounded
7287db96d56Sopenharmony_ciddfma3138 fma  1  -1  '0E-19'      ->  '-1.000000000000000' Rounded
7297db96d56Sopenharmony_ciddfma3139 fma  1  '0E-19' 1        ->  '1.000000000000000'  Rounded
7307db96d56Sopenharmony_ciddfma3140 fma  1  '0E-19' -1       ->  '-1.000000000000000' Rounded
7317db96d56Sopenharmony_ciddfma3141 fma  1  1E+11   0.0000   ->  '100000000000.0000'
7327db96d56Sopenharmony_ciddfma3142 fma  1  1E+11   0.00000  ->  '100000000000.0000'  Rounded
7337db96d56Sopenharmony_ciddfma3143 fma  1  0.000   1E+12    ->  '1000000000000.000'
7347db96d56Sopenharmony_ciddfma3144 fma  1  0.0000  1E+12    ->  '1000000000000.000'  Rounded
7357db96d56Sopenharmony_ci
7367db96d56Sopenharmony_ci-- [some of the next group are really constructor tests]
7377db96d56Sopenharmony_ciddfma3146 fma  1  '00.0'  0       ->  '0.0'
7387db96d56Sopenharmony_ciddfma3147 fma  1  '0.00'  0       ->  '0.00'
7397db96d56Sopenharmony_ciddfma3148 fma  1   0      '0.00'  ->  '0.00'
7407db96d56Sopenharmony_ciddfma3149 fma  1   0      '00.0'  ->  '0.0'
7417db96d56Sopenharmony_ciddfma3150 fma  1  '00.0'  '0.00'  ->  '0.00'
7427db96d56Sopenharmony_ciddfma3151 fma  1  '0.00'  '00.0'  ->  '0.00'
7437db96d56Sopenharmony_ciddfma3152 fma  1  '3'     '.3'    ->  '3.3'
7447db96d56Sopenharmony_ciddfma3153 fma  1  '3.'    '.3'    ->  '3.3'
7457db96d56Sopenharmony_ciddfma3154 fma  1  '3.0'   '.3'    ->  '3.3'
7467db96d56Sopenharmony_ciddfma3155 fma  1  '3.00'  '.3'    ->  '3.30'
7477db96d56Sopenharmony_ciddfma3156 fma  1  '3'     '3'     ->  '6'
7487db96d56Sopenharmony_ciddfma3157 fma  1  '3'     '+3'    ->  '6'
7497db96d56Sopenharmony_ciddfma3158 fma  1  '3'     '-3'    ->  '0'
7507db96d56Sopenharmony_ciddfma3159 fma  1  '0.3'   '-0.3'  ->  '0.0'
7517db96d56Sopenharmony_ciddfma3160 fma  1  '0.03'  '-0.03' ->  '0.00'
7527db96d56Sopenharmony_ci
7537db96d56Sopenharmony_ci-- try borderline precision, with carries, etc.
7547db96d56Sopenharmony_ciddfma3161 fma  1  '1E+12' '-1'    -> '999999999999'
7557db96d56Sopenharmony_ciddfma3162 fma  1  '1E+12'  '1.11' -> '1000000000001.11'
7567db96d56Sopenharmony_ciddfma3163 fma  1  '1.11'  '1E+12' -> '1000000000001.11'
7577db96d56Sopenharmony_ciddfma3164 fma  1  '-1'    '1E+12' -> '999999999999'
7587db96d56Sopenharmony_ciddfma3165 fma  1  '7E+12' '-1'    -> '6999999999999'
7597db96d56Sopenharmony_ciddfma3166 fma  1  '7E+12'  '1.11' -> '7000000000001.11'
7607db96d56Sopenharmony_ciddfma3167 fma  1  '1.11'  '7E+12' -> '7000000000001.11'
7617db96d56Sopenharmony_ciddfma3168 fma  1  '-1'    '7E+12' -> '6999999999999'
7627db96d56Sopenharmony_ci
7637db96d56Sopenharmony_cirounding: half_up
7647db96d56Sopenharmony_ci--           1.234567890123456      1234567890123456      1 234567890123456
7657db96d56Sopenharmony_ciddfma3170 fma  1  '4.444444444444444'  '0.5555555555555567' -> '5.000000000000001' Inexact Rounded
7667db96d56Sopenharmony_ciddfma3171 fma  1  '4.444444444444444'  '0.5555555555555566' -> '5.000000000000001' Inexact Rounded
7677db96d56Sopenharmony_ciddfma3172 fma  1  '4.444444444444444'  '0.5555555555555565' -> '5.000000000000001' Inexact Rounded
7687db96d56Sopenharmony_ciddfma3173 fma  1  '4.444444444444444'  '0.5555555555555564' -> '5.000000000000000' Inexact Rounded
7697db96d56Sopenharmony_ciddfma3174 fma  1  '4.444444444444444'  '0.5555555555555553' -> '4.999999999999999' Inexact Rounded
7707db96d56Sopenharmony_ciddfma3175 fma  1  '4.444444444444444'  '0.5555555555555552' -> '4.999999999999999' Inexact Rounded
7717db96d56Sopenharmony_ciddfma3176 fma  1  '4.444444444444444'  '0.5555555555555551' -> '4.999999999999999' Inexact Rounded
7727db96d56Sopenharmony_ciddfma3177 fma  1  '4.444444444444444'  '0.5555555555555550' -> '4.999999999999999' Rounded
7737db96d56Sopenharmony_ciddfma3178 fma  1  '4.444444444444444'  '0.5555555555555545' -> '4.999999999999999' Inexact Rounded
7747db96d56Sopenharmony_ciddfma3179 fma  1  '4.444444444444444'  '0.5555555555555544' -> '4.999999999999998' Inexact Rounded
7757db96d56Sopenharmony_ciddfma3180 fma  1  '4.444444444444444'  '0.5555555555555543' -> '4.999999999999998' Inexact Rounded
7767db96d56Sopenharmony_ciddfma3181 fma  1  '4.444444444444444'  '0.5555555555555542' -> '4.999999999999998' Inexact Rounded
7777db96d56Sopenharmony_ciddfma3182 fma  1  '4.444444444444444'  '0.5555555555555541' -> '4.999999999999998' Inexact Rounded
7787db96d56Sopenharmony_ciddfma3183 fma  1  '4.444444444444444'  '0.5555555555555540' -> '4.999999999999998' Rounded
7797db96d56Sopenharmony_ci
7807db96d56Sopenharmony_ci-- and some more, including residue effects and different roundings
7817db96d56Sopenharmony_cirounding: half_up
7827db96d56Sopenharmony_ciddfma3200 fma  1  '1234560123456789' 0             -> '1234560123456789'
7837db96d56Sopenharmony_ciddfma3201 fma  1  '1234560123456789' 0.000000001   -> '1234560123456789' Inexact Rounded
7847db96d56Sopenharmony_ciddfma3202 fma  1  '1234560123456789' 0.000001      -> '1234560123456789' Inexact Rounded
7857db96d56Sopenharmony_ciddfma3203 fma  1  '1234560123456789' 0.1           -> '1234560123456789' Inexact Rounded
7867db96d56Sopenharmony_ciddfma3204 fma  1  '1234560123456789' 0.4           -> '1234560123456789' Inexact Rounded
7877db96d56Sopenharmony_ciddfma3205 fma  1  '1234560123456789' 0.49          -> '1234560123456789' Inexact Rounded
7887db96d56Sopenharmony_ciddfma3206 fma  1  '1234560123456789' 0.499999      -> '1234560123456789' Inexact Rounded
7897db96d56Sopenharmony_ciddfma3207 fma  1  '1234560123456789' 0.499999999   -> '1234560123456789' Inexact Rounded
7907db96d56Sopenharmony_ciddfma3208 fma  1  '1234560123456789' 0.5           -> '1234560123456790' Inexact Rounded
7917db96d56Sopenharmony_ciddfma3209 fma  1  '1234560123456789' 0.500000001   -> '1234560123456790' Inexact Rounded
7927db96d56Sopenharmony_ciddfma3210 fma  1  '1234560123456789' 0.500001      -> '1234560123456790' Inexact Rounded
7937db96d56Sopenharmony_ciddfma3211 fma  1  '1234560123456789' 0.51          -> '1234560123456790' Inexact Rounded
7947db96d56Sopenharmony_ciddfma3212 fma  1  '1234560123456789' 0.6           -> '1234560123456790' Inexact Rounded
7957db96d56Sopenharmony_ciddfma3213 fma  1  '1234560123456789' 0.9           -> '1234560123456790' Inexact Rounded
7967db96d56Sopenharmony_ciddfma3214 fma  1  '1234560123456789' 0.99999       -> '1234560123456790' Inexact Rounded
7977db96d56Sopenharmony_ciddfma3215 fma  1  '1234560123456789' 0.999999999   -> '1234560123456790' Inexact Rounded
7987db96d56Sopenharmony_ciddfma3216 fma  1  '1234560123456789' 1             -> '1234560123456790'
7997db96d56Sopenharmony_ciddfma3217 fma  1  '1234560123456789' 1.000000001   -> '1234560123456790' Inexact Rounded
8007db96d56Sopenharmony_ciddfma3218 fma  1  '1234560123456789' 1.00001       -> '1234560123456790' Inexact Rounded
8017db96d56Sopenharmony_ciddfma3219 fma  1  '1234560123456789' 1.1           -> '1234560123456790' Inexact Rounded
8027db96d56Sopenharmony_ci
8037db96d56Sopenharmony_cirounding: half_even
8047db96d56Sopenharmony_ciddfma3220 fma  1  '1234560123456789' 0             -> '1234560123456789'
8057db96d56Sopenharmony_ciddfma3221 fma  1  '1234560123456789' 0.000000001   -> '1234560123456789' Inexact Rounded
8067db96d56Sopenharmony_ciddfma3222 fma  1  '1234560123456789' 0.000001      -> '1234560123456789' Inexact Rounded
8077db96d56Sopenharmony_ciddfma3223 fma  1  '1234560123456789' 0.1           -> '1234560123456789' Inexact Rounded
8087db96d56Sopenharmony_ciddfma3224 fma  1  '1234560123456789' 0.4           -> '1234560123456789' Inexact Rounded
8097db96d56Sopenharmony_ciddfma3225 fma  1  '1234560123456789' 0.49          -> '1234560123456789' Inexact Rounded
8107db96d56Sopenharmony_ciddfma3226 fma  1  '1234560123456789' 0.499999      -> '1234560123456789' Inexact Rounded
8117db96d56Sopenharmony_ciddfma3227 fma  1  '1234560123456789' 0.499999999   -> '1234560123456789' Inexact Rounded
8127db96d56Sopenharmony_ciddfma3228 fma  1  '1234560123456789' 0.5           -> '1234560123456790' Inexact Rounded
8137db96d56Sopenharmony_ciddfma3229 fma  1  '1234560123456789' 0.500000001   -> '1234560123456790' Inexact Rounded
8147db96d56Sopenharmony_ciddfma3230 fma  1  '1234560123456789' 0.500001      -> '1234560123456790' Inexact Rounded
8157db96d56Sopenharmony_ciddfma3231 fma  1  '1234560123456789' 0.51          -> '1234560123456790' Inexact Rounded
8167db96d56Sopenharmony_ciddfma3232 fma  1  '1234560123456789' 0.6           -> '1234560123456790' Inexact Rounded
8177db96d56Sopenharmony_ciddfma3233 fma  1  '1234560123456789' 0.9           -> '1234560123456790' Inexact Rounded
8187db96d56Sopenharmony_ciddfma3234 fma  1  '1234560123456789' 0.99999       -> '1234560123456790' Inexact Rounded
8197db96d56Sopenharmony_ciddfma3235 fma  1  '1234560123456789' 0.999999999   -> '1234560123456790' Inexact Rounded
8207db96d56Sopenharmony_ciddfma3236 fma  1  '1234560123456789' 1             -> '1234560123456790'
8217db96d56Sopenharmony_ciddfma3237 fma  1  '1234560123456789' 1.00000001    -> '1234560123456790' Inexact Rounded
8227db96d56Sopenharmony_ciddfma3238 fma  1  '1234560123456789' 1.00001       -> '1234560123456790' Inexact Rounded
8237db96d56Sopenharmony_ciddfma3239 fma  1  '1234560123456789' 1.1           -> '1234560123456790' Inexact Rounded
8247db96d56Sopenharmony_ci-- critical few with even bottom digit...
8257db96d56Sopenharmony_ciddfma3240 fma  1  '1234560123456788' 0.499999999   -> '1234560123456788' Inexact Rounded
8267db96d56Sopenharmony_ciddfma3241 fma  1  '1234560123456788' 0.5           -> '1234560123456788' Inexact Rounded
8277db96d56Sopenharmony_ciddfma3242 fma  1  '1234560123456788' 0.500000001   -> '1234560123456789' Inexact Rounded
8287db96d56Sopenharmony_ci
8297db96d56Sopenharmony_cirounding: down
8307db96d56Sopenharmony_ciddfma3250 fma  1  '1234560123456789' 0             -> '1234560123456789'
8317db96d56Sopenharmony_ciddfma3251 fma  1  '1234560123456789' 0.000000001   -> '1234560123456789' Inexact Rounded
8327db96d56Sopenharmony_ciddfma3252 fma  1  '1234560123456789' 0.000001      -> '1234560123456789' Inexact Rounded
8337db96d56Sopenharmony_ciddfma3253 fma  1  '1234560123456789' 0.1           -> '1234560123456789' Inexact Rounded
8347db96d56Sopenharmony_ciddfma3254 fma  1  '1234560123456789' 0.4           -> '1234560123456789' Inexact Rounded
8357db96d56Sopenharmony_ciddfma3255 fma  1  '1234560123456789' 0.49          -> '1234560123456789' Inexact Rounded
8367db96d56Sopenharmony_ciddfma3256 fma  1  '1234560123456789' 0.499999      -> '1234560123456789' Inexact Rounded
8377db96d56Sopenharmony_ciddfma3257 fma  1  '1234560123456789' 0.499999999   -> '1234560123456789' Inexact Rounded
8387db96d56Sopenharmony_ciddfma3258 fma  1  '1234560123456789' 0.5           -> '1234560123456789' Inexact Rounded
8397db96d56Sopenharmony_ciddfma3259 fma  1  '1234560123456789' 0.500000001   -> '1234560123456789' Inexact Rounded
8407db96d56Sopenharmony_ciddfma3260 fma  1  '1234560123456789' 0.500001      -> '1234560123456789' Inexact Rounded
8417db96d56Sopenharmony_ciddfma3261 fma  1  '1234560123456789' 0.51          -> '1234560123456789' Inexact Rounded
8427db96d56Sopenharmony_ciddfma3262 fma  1  '1234560123456789' 0.6           -> '1234560123456789' Inexact Rounded
8437db96d56Sopenharmony_ciddfma3263 fma  1  '1234560123456789' 0.9           -> '1234560123456789' Inexact Rounded
8447db96d56Sopenharmony_ciddfma3264 fma  1  '1234560123456789' 0.99999       -> '1234560123456789' Inexact Rounded
8457db96d56Sopenharmony_ciddfma3265 fma  1  '1234560123456789' 0.999999999   -> '1234560123456789' Inexact Rounded
8467db96d56Sopenharmony_ciddfma3266 fma  1  '1234560123456789' 1             -> '1234560123456790'
8477db96d56Sopenharmony_ciddfma3267 fma  1  '1234560123456789' 1.00000001    -> '1234560123456790' Inexact Rounded
8487db96d56Sopenharmony_ciddfma3268 fma  1  '1234560123456789' 1.00001       -> '1234560123456790' Inexact Rounded
8497db96d56Sopenharmony_ciddfma3269 fma  1  '1234560123456789' 1.1           -> '1234560123456790' Inexact Rounded
8507db96d56Sopenharmony_ci
8517db96d56Sopenharmony_ci-- 1 in last place tests
8527db96d56Sopenharmony_cirounding: half_up
8537db96d56Sopenharmony_ciddfma3301 fma  1   -1   1      ->   0
8547db96d56Sopenharmony_ciddfma3302 fma  1    0   1      ->   1
8557db96d56Sopenharmony_ciddfma3303 fma  1    1   1      ->   2
8567db96d56Sopenharmony_ciddfma3304 fma  1   12   1      ->  13
8577db96d56Sopenharmony_ciddfma3305 fma  1   98   1      ->  99
8587db96d56Sopenharmony_ciddfma3306 fma  1   99   1      -> 100
8597db96d56Sopenharmony_ciddfma3307 fma  1  100   1      -> 101
8607db96d56Sopenharmony_ciddfma3308 fma  1  101   1      -> 102
8617db96d56Sopenharmony_ciddfma3309 fma  1   -1  -1      ->  -2
8627db96d56Sopenharmony_ciddfma3310 fma  1    0  -1      ->  -1
8637db96d56Sopenharmony_ciddfma3311 fma  1    1  -1      ->   0
8647db96d56Sopenharmony_ciddfma3312 fma  1   12  -1      ->  11
8657db96d56Sopenharmony_ciddfma3313 fma  1   98  -1      ->  97
8667db96d56Sopenharmony_ciddfma3314 fma  1   99  -1      ->  98
8677db96d56Sopenharmony_ciddfma3315 fma  1  100  -1      ->  99
8687db96d56Sopenharmony_ciddfma3316 fma  1  101  -1      -> 100
8697db96d56Sopenharmony_ci
8707db96d56Sopenharmony_ciddfma3321 fma  1  -0.01  0.01    ->  0.00
8717db96d56Sopenharmony_ciddfma3322 fma  1   0.00  0.01    ->  0.01
8727db96d56Sopenharmony_ciddfma3323 fma  1   0.01  0.01    ->  0.02
8737db96d56Sopenharmony_ciddfma3324 fma  1   0.12  0.01    ->  0.13
8747db96d56Sopenharmony_ciddfma3325 fma  1   0.98  0.01    ->  0.99
8757db96d56Sopenharmony_ciddfma3326 fma  1   0.99  0.01    ->  1.00
8767db96d56Sopenharmony_ciddfma3327 fma  1   1.00  0.01    ->  1.01
8777db96d56Sopenharmony_ciddfma3328 fma  1   1.01  0.01    ->  1.02
8787db96d56Sopenharmony_ciddfma3329 fma  1  -0.01 -0.01    -> -0.02
8797db96d56Sopenharmony_ciddfma3330 fma  1   0.00 -0.01    -> -0.01
8807db96d56Sopenharmony_ciddfma3331 fma  1   0.01 -0.01    ->  0.00
8817db96d56Sopenharmony_ciddfma3332 fma  1   0.12 -0.01    ->  0.11
8827db96d56Sopenharmony_ciddfma3333 fma  1   0.98 -0.01    ->  0.97
8837db96d56Sopenharmony_ciddfma3334 fma  1   0.99 -0.01    ->  0.98
8847db96d56Sopenharmony_ciddfma3335 fma  1   1.00 -0.01    ->  0.99
8857db96d56Sopenharmony_ciddfma3336 fma  1   1.01 -0.01    ->  1.00
8867db96d56Sopenharmony_ci
8877db96d56Sopenharmony_ci-- some more cases where adding 0 affects the coefficient
8887db96d56Sopenharmony_ciddfma3340 fma  1  1E+3    0    ->         1000
8897db96d56Sopenharmony_ciddfma3341 fma  1  1E+15   0    ->    1000000000000000
8907db96d56Sopenharmony_ciddfma3342 fma  1  1E+16   0    ->   1.000000000000000E+16  Rounded
8917db96d56Sopenharmony_ciddfma3343 fma  1  1E+20   0    ->   1.000000000000000E+20  Rounded
8927db96d56Sopenharmony_ci-- which simply follow from these cases ...
8937db96d56Sopenharmony_ciddfma3344 fma  1  1E+3    1    ->         1001
8947db96d56Sopenharmony_ciddfma3345 fma  1  1E+15   1    ->    1000000000000001
8957db96d56Sopenharmony_ciddfma3346 fma  1  1E+16   1    ->   1.000000000000000E+16  Inexact Rounded
8967db96d56Sopenharmony_ciddfma3347 fma  1  1E+20   1    ->   1.000000000000000E+20  Inexact Rounded
8977db96d56Sopenharmony_ciddfma3348 fma  1  1E+3    7    ->         1007
8987db96d56Sopenharmony_ciddfma3349 fma  1  1E+15   7    ->    1000000000000007
8997db96d56Sopenharmony_ciddfma3350 fma  1  1E+16   7    ->   1.000000000000001E+16  Inexact Rounded
9007db96d56Sopenharmony_ciddfma3351 fma  1  1E+20   7    ->   1.000000000000000E+20  Inexact Rounded
9017db96d56Sopenharmony_ci
9027db96d56Sopenharmony_ci-- tryzeros cases
9037db96d56Sopenharmony_cirounding:    half_up
9047db96d56Sopenharmony_ciddfma3360  fma  1  0E+50 10000E+1  -> 1.0000E+5
9057db96d56Sopenharmony_ciddfma3361  fma  1  0E-50 10000E+1  -> 100000.0000000000 Rounded
9067db96d56Sopenharmony_ciddfma3362  fma  1  10000E+1 0E-50  -> 100000.0000000000 Rounded
9077db96d56Sopenharmony_ciddfma3363  fma  1  10000E+1 10000E-50  -> 100000.0000000000 Rounded Inexact
9087db96d56Sopenharmony_ciddfma3364  fma  1  9.999999999999999E+384 -9.999999999999999E+384 -> 0E+369
9097db96d56Sopenharmony_ci
9107db96d56Sopenharmony_ci-- a curiosity from JSR 13 testing
9117db96d56Sopenharmony_cirounding:    half_down
9127db96d56Sopenharmony_ciddfma3370 fma  1   999999999999999 815 -> 1000000000000814
9137db96d56Sopenharmony_ciddfma3371 fma  1  9999999999999999 815 -> 1.000000000000081E+16 Rounded Inexact
9147db96d56Sopenharmony_cirounding:    half_up
9157db96d56Sopenharmony_ciddfma3372 fma  1   999999999999999 815 -> 1000000000000814
9167db96d56Sopenharmony_ciddfma3373 fma  1  9999999999999999 815 -> 1.000000000000081E+16 Rounded Inexact
9177db96d56Sopenharmony_cirounding:    half_even
9187db96d56Sopenharmony_ciddfma3374 fma  1   999999999999999 815 -> 1000000000000814
9197db96d56Sopenharmony_ciddfma3375 fma  1  9999999999999999 815 -> 1.000000000000081E+16 Rounded Inexact
9207db96d56Sopenharmony_ci
9217db96d56Sopenharmony_ci-- ulp replacement tests
9227db96d56Sopenharmony_ciddfma3400 fma  1    1   77e-14      ->  1.00000000000077
9237db96d56Sopenharmony_ciddfma3401 fma  1    1   77e-15      ->  1.000000000000077
9247db96d56Sopenharmony_ciddfma3402 fma  1    1   77e-16      ->  1.000000000000008 Inexact Rounded
9257db96d56Sopenharmony_ciddfma3403 fma  1    1   77e-17      ->  1.000000000000001 Inexact Rounded
9267db96d56Sopenharmony_ciddfma3404 fma  1    1   77e-18      ->  1.000000000000000 Inexact Rounded
9277db96d56Sopenharmony_ciddfma3405 fma  1    1   77e-19      ->  1.000000000000000 Inexact Rounded
9287db96d56Sopenharmony_ciddfma3406 fma  1    1   77e-299     ->  1.000000000000000 Inexact Rounded
9297db96d56Sopenharmony_ci
9307db96d56Sopenharmony_ciddfma3410 fma  1   10   77e-14      ->  10.00000000000077
9317db96d56Sopenharmony_ciddfma3411 fma  1   10   77e-15      ->  10.00000000000008 Inexact Rounded
9327db96d56Sopenharmony_ciddfma3412 fma  1   10   77e-16      ->  10.00000000000001 Inexact Rounded
9337db96d56Sopenharmony_ciddfma3413 fma  1   10   77e-17      ->  10.00000000000000 Inexact Rounded
9347db96d56Sopenharmony_ciddfma3414 fma  1   10   77e-18      ->  10.00000000000000 Inexact Rounded
9357db96d56Sopenharmony_ciddfma3415 fma  1   10   77e-19      ->  10.00000000000000 Inexact Rounded
9367db96d56Sopenharmony_ciddfma3416 fma  1   10   77e-299     ->  10.00000000000000 Inexact Rounded
9377db96d56Sopenharmony_ci
9387db96d56Sopenharmony_ciddfma3420 fma  1   77e-14       1   ->  1.00000000000077
9397db96d56Sopenharmony_ciddfma3421 fma  1   77e-15       1   ->  1.000000000000077
9407db96d56Sopenharmony_ciddfma3422 fma  1   77e-16       1   ->  1.000000000000008 Inexact Rounded
9417db96d56Sopenharmony_ciddfma3423 fma  1   77e-17       1   ->  1.000000000000001 Inexact Rounded
9427db96d56Sopenharmony_ciddfma3424 fma  1   77e-18       1   ->  1.000000000000000 Inexact Rounded
9437db96d56Sopenharmony_ciddfma3425 fma  1   77e-19       1   ->  1.000000000000000 Inexact Rounded
9447db96d56Sopenharmony_ciddfma3426 fma  1   77e-299      1   ->  1.000000000000000 Inexact Rounded
9457db96d56Sopenharmony_ci
9467db96d56Sopenharmony_ciddfma3430 fma  1   77e-14      10   ->  10.00000000000077
9477db96d56Sopenharmony_ciddfma3431 fma  1   77e-15      10   ->  10.00000000000008 Inexact Rounded
9487db96d56Sopenharmony_ciddfma3432 fma  1   77e-16      10   ->  10.00000000000001 Inexact Rounded
9497db96d56Sopenharmony_ciddfma3433 fma  1   77e-17      10   ->  10.00000000000000 Inexact Rounded
9507db96d56Sopenharmony_ciddfma3434 fma  1   77e-18      10   ->  10.00000000000000 Inexact Rounded
9517db96d56Sopenharmony_ciddfma3435 fma  1   77e-19      10   ->  10.00000000000000 Inexact Rounded
9527db96d56Sopenharmony_ciddfma3436 fma  1   77e-299     10   ->  10.00000000000000 Inexact Rounded
9537db96d56Sopenharmony_ci
9547db96d56Sopenharmony_ci-- negative ulps
9557db96d56Sopenharmony_ciddfma36440 fma  1    1   -77e-14      ->  0.99999999999923
9567db96d56Sopenharmony_ciddfma36441 fma  1    1   -77e-15      ->  0.999999999999923
9577db96d56Sopenharmony_ciddfma36442 fma  1    1   -77e-16      ->  0.9999999999999923
9587db96d56Sopenharmony_ciddfma36443 fma  1    1   -77e-17      ->  0.9999999999999992 Inexact Rounded
9597db96d56Sopenharmony_ciddfma36444 fma  1    1   -77e-18      ->  0.9999999999999999 Inexact Rounded
9607db96d56Sopenharmony_ciddfma36445 fma  1    1   -77e-19      ->  1.000000000000000 Inexact Rounded
9617db96d56Sopenharmony_ciddfma36446 fma  1    1   -77e-99      ->  1.000000000000000 Inexact Rounded
9627db96d56Sopenharmony_ci
9637db96d56Sopenharmony_ciddfma36450 fma  1   10   -77e-14      ->   9.99999999999923
9647db96d56Sopenharmony_ciddfma36451 fma  1   10   -77e-15      ->   9.999999999999923
9657db96d56Sopenharmony_ciddfma36452 fma  1   10   -77e-16      ->   9.999999999999992 Inexact Rounded
9667db96d56Sopenharmony_ciddfma36453 fma  1   10   -77e-17      ->   9.999999999999999 Inexact Rounded
9677db96d56Sopenharmony_ciddfma36454 fma  1   10   -77e-18      ->  10.00000000000000 Inexact Rounded
9687db96d56Sopenharmony_ciddfma36455 fma  1   10   -77e-19      ->  10.00000000000000 Inexact Rounded
9697db96d56Sopenharmony_ciddfma36456 fma  1   10   -77e-99      ->  10.00000000000000 Inexact Rounded
9707db96d56Sopenharmony_ci
9717db96d56Sopenharmony_ciddfma36460 fma  1   -77e-14       1   ->  0.99999999999923
9727db96d56Sopenharmony_ciddfma36461 fma  1   -77e-15       1   ->  0.999999999999923
9737db96d56Sopenharmony_ciddfma36462 fma  1   -77e-16       1   ->  0.9999999999999923
9747db96d56Sopenharmony_ciddfma36463 fma  1   -77e-17       1   ->  0.9999999999999992 Inexact Rounded
9757db96d56Sopenharmony_ciddfma36464 fma  1   -77e-18       1   ->  0.9999999999999999 Inexact Rounded
9767db96d56Sopenharmony_ciddfma36465 fma  1   -77e-19       1   ->  1.000000000000000 Inexact Rounded
9777db96d56Sopenharmony_ciddfma36466 fma  1   -77e-99       1   ->  1.000000000000000 Inexact Rounded
9787db96d56Sopenharmony_ci
9797db96d56Sopenharmony_ciddfma36470 fma  1   -77e-14      10   ->   9.99999999999923
9807db96d56Sopenharmony_ciddfma36471 fma  1   -77e-15      10   ->   9.999999999999923
9817db96d56Sopenharmony_ciddfma36472 fma  1   -77e-16      10   ->   9.999999999999992 Inexact Rounded
9827db96d56Sopenharmony_ciddfma36473 fma  1   -77e-17      10   ->   9.999999999999999 Inexact Rounded
9837db96d56Sopenharmony_ciddfma36474 fma  1   -77e-18      10   ->  10.00000000000000 Inexact Rounded
9847db96d56Sopenharmony_ciddfma36475 fma  1   -77e-19      10   ->  10.00000000000000 Inexact Rounded
9857db96d56Sopenharmony_ciddfma36476 fma  1   -77e-99      10   ->  10.00000000000000 Inexact Rounded
9867db96d56Sopenharmony_ci
9877db96d56Sopenharmony_ci-- negative ulps
9887db96d56Sopenharmony_ciddfma36480 fma  1   -1    77e-14      ->  -0.99999999999923
9897db96d56Sopenharmony_ciddfma36481 fma  1   -1    77e-15      ->  -0.999999999999923
9907db96d56Sopenharmony_ciddfma36482 fma  1   -1    77e-16      ->  -0.9999999999999923
9917db96d56Sopenharmony_ciddfma36483 fma  1   -1    77e-17      ->  -0.9999999999999992 Inexact Rounded
9927db96d56Sopenharmony_ciddfma36484 fma  1   -1    77e-18      ->  -0.9999999999999999 Inexact Rounded
9937db96d56Sopenharmony_ciddfma36485 fma  1   -1    77e-19      ->  -1.000000000000000 Inexact Rounded
9947db96d56Sopenharmony_ciddfma36486 fma  1   -1    77e-99      ->  -1.000000000000000 Inexact Rounded
9957db96d56Sopenharmony_ci
9967db96d56Sopenharmony_ciddfma36490 fma  1  -10    77e-14      ->   -9.99999999999923
9977db96d56Sopenharmony_ciddfma36491 fma  1  -10    77e-15      ->   -9.999999999999923
9987db96d56Sopenharmony_ciddfma36492 fma  1  -10    77e-16      ->   -9.999999999999992 Inexact Rounded
9997db96d56Sopenharmony_ciddfma36493 fma  1  -10    77e-17      ->   -9.999999999999999 Inexact Rounded
10007db96d56Sopenharmony_ciddfma36494 fma  1  -10    77e-18      ->  -10.00000000000000 Inexact Rounded
10017db96d56Sopenharmony_ciddfma36495 fma  1  -10    77e-19      ->  -10.00000000000000 Inexact Rounded
10027db96d56Sopenharmony_ciddfma36496 fma  1  -10    77e-99      ->  -10.00000000000000 Inexact Rounded
10037db96d56Sopenharmony_ci
10047db96d56Sopenharmony_ciddfma36500 fma  1    77e-14      -1   ->  -0.99999999999923
10057db96d56Sopenharmony_ciddfma36501 fma  1    77e-15      -1   ->  -0.999999999999923
10067db96d56Sopenharmony_ciddfma36502 fma  1    77e-16      -1   ->  -0.9999999999999923
10077db96d56Sopenharmony_ciddfma36503 fma  1    77e-17      -1   ->  -0.9999999999999992 Inexact Rounded
10087db96d56Sopenharmony_ciddfma36504 fma  1    77e-18      -1   ->  -0.9999999999999999 Inexact Rounded
10097db96d56Sopenharmony_ciddfma36505 fma  1    77e-19      -1   ->  -1.000000000000000 Inexact Rounded
10107db96d56Sopenharmony_ciddfma36506 fma  1    77e-99      -1   ->  -1.000000000000000 Inexact Rounded
10117db96d56Sopenharmony_ci
10127db96d56Sopenharmony_ciddfma36510 fma  1    77e-14      -10  ->   -9.99999999999923
10137db96d56Sopenharmony_ciddfma36511 fma  1    77e-15      -10  ->   -9.999999999999923
10147db96d56Sopenharmony_ciddfma36512 fma  1    77e-16      -10  ->   -9.999999999999992 Inexact Rounded
10157db96d56Sopenharmony_ciddfma36513 fma  1    77e-17      -10  ->   -9.999999999999999 Inexact Rounded
10167db96d56Sopenharmony_ciddfma36514 fma  1    77e-18      -10  ->  -10.00000000000000 Inexact Rounded
10177db96d56Sopenharmony_ciddfma36515 fma  1    77e-19      -10  ->  -10.00000000000000 Inexact Rounded
10187db96d56Sopenharmony_ciddfma36516 fma  1    77e-99      -10  ->  -10.00000000000000 Inexact Rounded
10197db96d56Sopenharmony_ci
10207db96d56Sopenharmony_ci-- and a couple more with longer RHS
10217db96d56Sopenharmony_ciddfma36520 fma  1    1   -7777e-16      ->  0.9999999999992223
10227db96d56Sopenharmony_ciddfma36521 fma  1    1   -7777e-17      ->  0.9999999999999222 Inexact Rounded
10237db96d56Sopenharmony_ciddfma36522 fma  1    1   -7777e-18      ->  0.9999999999999922 Inexact Rounded
10247db96d56Sopenharmony_ciddfma36523 fma  1    1   -7777e-19      ->  0.9999999999999992 Inexact Rounded
10257db96d56Sopenharmony_ciddfma36524 fma  1    1   -7777e-20      ->  0.9999999999999999 Inexact Rounded
10267db96d56Sopenharmony_ciddfma36525 fma  1    1   -7777e-21      ->  1.000000000000000 Inexact Rounded
10277db96d56Sopenharmony_ciddfma36526 fma  1    1   -7777e-22      ->  1.000000000000000 Inexact Rounded
10287db96d56Sopenharmony_ci
10297db96d56Sopenharmony_ci
10307db96d56Sopenharmony_ci-- and some more residue effects and different roundings
10317db96d56Sopenharmony_cirounding: half_up
10327db96d56Sopenharmony_ciddfma36540 fma  1  '6543210123456789' 0             -> '6543210123456789'
10337db96d56Sopenharmony_ciddfma36541 fma  1  '6543210123456789' 0.000000001   -> '6543210123456789' Inexact Rounded
10347db96d56Sopenharmony_ciddfma36542 fma  1  '6543210123456789' 0.000001      -> '6543210123456789' Inexact Rounded
10357db96d56Sopenharmony_ciddfma36543 fma  1  '6543210123456789' 0.1           -> '6543210123456789' Inexact Rounded
10367db96d56Sopenharmony_ciddfma36544 fma  1  '6543210123456789' 0.4           -> '6543210123456789' Inexact Rounded
10377db96d56Sopenharmony_ciddfma36545 fma  1  '6543210123456789' 0.49          -> '6543210123456789' Inexact Rounded
10387db96d56Sopenharmony_ciddfma36546 fma  1  '6543210123456789' 0.499999      -> '6543210123456789' Inexact Rounded
10397db96d56Sopenharmony_ciddfma36547 fma  1  '6543210123456789' 0.499999999   -> '6543210123456789' Inexact Rounded
10407db96d56Sopenharmony_ciddfma36548 fma  1  '6543210123456789' 0.5           -> '6543210123456790' Inexact Rounded
10417db96d56Sopenharmony_ciddfma36549 fma  1  '6543210123456789' 0.500000001   -> '6543210123456790' Inexact Rounded
10427db96d56Sopenharmony_ciddfma36550 fma  1  '6543210123456789' 0.500001      -> '6543210123456790' Inexact Rounded
10437db96d56Sopenharmony_ciddfma36551 fma  1  '6543210123456789' 0.51          -> '6543210123456790' Inexact Rounded
10447db96d56Sopenharmony_ciddfma36552 fma  1  '6543210123456789' 0.6           -> '6543210123456790' Inexact Rounded
10457db96d56Sopenharmony_ciddfma36553 fma  1  '6543210123456789' 0.9           -> '6543210123456790' Inexact Rounded
10467db96d56Sopenharmony_ciddfma36554 fma  1  '6543210123456789' 0.99999       -> '6543210123456790' Inexact Rounded
10477db96d56Sopenharmony_ciddfma36555 fma  1  '6543210123456789' 0.999999999   -> '6543210123456790' Inexact Rounded
10487db96d56Sopenharmony_ciddfma36556 fma  1  '6543210123456789' 1             -> '6543210123456790'
10497db96d56Sopenharmony_ciddfma36557 fma  1  '6543210123456789' 1.000000001   -> '6543210123456790' Inexact Rounded
10507db96d56Sopenharmony_ciddfma36558 fma  1  '6543210123456789' 1.00001       -> '6543210123456790' Inexact Rounded
10517db96d56Sopenharmony_ciddfma36559 fma  1  '6543210123456789' 1.1           -> '6543210123456790' Inexact Rounded
10527db96d56Sopenharmony_ci
10537db96d56Sopenharmony_cirounding: half_even
10547db96d56Sopenharmony_ciddfma36560 fma  1  '6543210123456789' 0             -> '6543210123456789'
10557db96d56Sopenharmony_ciddfma36561 fma  1  '6543210123456789' 0.000000001   -> '6543210123456789' Inexact Rounded
10567db96d56Sopenharmony_ciddfma36562 fma  1  '6543210123456789' 0.000001      -> '6543210123456789' Inexact Rounded
10577db96d56Sopenharmony_ciddfma36563 fma  1  '6543210123456789' 0.1           -> '6543210123456789' Inexact Rounded
10587db96d56Sopenharmony_ciddfma36564 fma  1  '6543210123456789' 0.4           -> '6543210123456789' Inexact Rounded
10597db96d56Sopenharmony_ciddfma36565 fma  1  '6543210123456789' 0.49          -> '6543210123456789' Inexact Rounded
10607db96d56Sopenharmony_ciddfma36566 fma  1  '6543210123456789' 0.499999      -> '6543210123456789' Inexact Rounded
10617db96d56Sopenharmony_ciddfma36567 fma  1  '6543210123456789' 0.499999999   -> '6543210123456789' Inexact Rounded
10627db96d56Sopenharmony_ciddfma36568 fma  1  '6543210123456789' 0.5           -> '6543210123456790' Inexact Rounded
10637db96d56Sopenharmony_ciddfma36569 fma  1  '6543210123456789' 0.500000001   -> '6543210123456790' Inexact Rounded
10647db96d56Sopenharmony_ciddfma36570 fma  1  '6543210123456789' 0.500001      -> '6543210123456790' Inexact Rounded
10657db96d56Sopenharmony_ciddfma36571 fma  1  '6543210123456789' 0.51          -> '6543210123456790' Inexact Rounded
10667db96d56Sopenharmony_ciddfma36572 fma  1  '6543210123456789' 0.6           -> '6543210123456790' Inexact Rounded
10677db96d56Sopenharmony_ciddfma36573 fma  1  '6543210123456789' 0.9           -> '6543210123456790' Inexact Rounded
10687db96d56Sopenharmony_ciddfma36574 fma  1  '6543210123456789' 0.99999       -> '6543210123456790' Inexact Rounded
10697db96d56Sopenharmony_ciddfma36575 fma  1  '6543210123456789' 0.999999999   -> '6543210123456790' Inexact Rounded
10707db96d56Sopenharmony_ciddfma36576 fma  1  '6543210123456789' 1             -> '6543210123456790'
10717db96d56Sopenharmony_ciddfma36577 fma  1  '6543210123456789' 1.00000001    -> '6543210123456790' Inexact Rounded
10727db96d56Sopenharmony_ciddfma36578 fma  1  '6543210123456789' 1.00001       -> '6543210123456790' Inexact Rounded
10737db96d56Sopenharmony_ciddfma36579 fma  1  '6543210123456789' 1.1           -> '6543210123456790' Inexact Rounded
10747db96d56Sopenharmony_ci
10757db96d56Sopenharmony_ci-- critical few with even bottom digit...
10767db96d56Sopenharmony_ciddfma37540 fma  1  '6543210123456788' 0.499999999   -> '6543210123456788' Inexact Rounded
10777db96d56Sopenharmony_ciddfma37541 fma  1  '6543210123456788' 0.5           -> '6543210123456788' Inexact Rounded
10787db96d56Sopenharmony_ciddfma37542 fma  1  '6543210123456788' 0.500000001   -> '6543210123456789' Inexact Rounded
10797db96d56Sopenharmony_ci
10807db96d56Sopenharmony_cirounding: down
10817db96d56Sopenharmony_ciddfma37550 fma  1  '6543210123456789' 0             -> '6543210123456789'
10827db96d56Sopenharmony_ciddfma37551 fma  1  '6543210123456789' 0.000000001   -> '6543210123456789' Inexact Rounded
10837db96d56Sopenharmony_ciddfma37552 fma  1  '6543210123456789' 0.000001      -> '6543210123456789' Inexact Rounded
10847db96d56Sopenharmony_ciddfma37553 fma  1  '6543210123456789' 0.1           -> '6543210123456789' Inexact Rounded
10857db96d56Sopenharmony_ciddfma37554 fma  1  '6543210123456789' 0.4           -> '6543210123456789' Inexact Rounded
10867db96d56Sopenharmony_ciddfma37555 fma  1  '6543210123456789' 0.49          -> '6543210123456789' Inexact Rounded
10877db96d56Sopenharmony_ciddfma37556 fma  1  '6543210123456789' 0.499999      -> '6543210123456789' Inexact Rounded
10887db96d56Sopenharmony_ciddfma37557 fma  1  '6543210123456789' 0.499999999   -> '6543210123456789' Inexact Rounded
10897db96d56Sopenharmony_ciddfma37558 fma  1  '6543210123456789' 0.5           -> '6543210123456789' Inexact Rounded
10907db96d56Sopenharmony_ciddfma37559 fma  1  '6543210123456789' 0.500000001   -> '6543210123456789' Inexact Rounded
10917db96d56Sopenharmony_ciddfma37560 fma  1  '6543210123456789' 0.500001      -> '6543210123456789' Inexact Rounded
10927db96d56Sopenharmony_ciddfma37561 fma  1  '6543210123456789' 0.51          -> '6543210123456789' Inexact Rounded
10937db96d56Sopenharmony_ciddfma37562 fma  1  '6543210123456789' 0.6           -> '6543210123456789' Inexact Rounded
10947db96d56Sopenharmony_ciddfma37563 fma  1  '6543210123456789' 0.9           -> '6543210123456789' Inexact Rounded
10957db96d56Sopenharmony_ciddfma37564 fma  1  '6543210123456789' 0.99999       -> '6543210123456789' Inexact Rounded
10967db96d56Sopenharmony_ciddfma37565 fma  1  '6543210123456789' 0.999999999   -> '6543210123456789' Inexact Rounded
10977db96d56Sopenharmony_ciddfma37566 fma  1  '6543210123456789' 1             -> '6543210123456790'
10987db96d56Sopenharmony_ciddfma37567 fma  1  '6543210123456789' 1.00000001    -> '6543210123456790' Inexact Rounded
10997db96d56Sopenharmony_ciddfma37568 fma  1  '6543210123456789' 1.00001       -> '6543210123456790' Inexact Rounded
11007db96d56Sopenharmony_ciddfma37569 fma  1  '6543210123456789' 1.1           -> '6543210123456790' Inexact Rounded
11017db96d56Sopenharmony_ci
11027db96d56Sopenharmony_ci
11037db96d56Sopenharmony_ci-- verify a query
11047db96d56Sopenharmony_cirounding:     down
11057db96d56Sopenharmony_ciddfma37661 fma  1  1e-398 9.000000000000000E+384 -> 9.000000000000000E+384 Inexact Rounded
11067db96d56Sopenharmony_ciddfma37662 fma  1       0 9.000000000000000E+384 -> 9.000000000000000E+384 Rounded
11077db96d56Sopenharmony_ciddfma37663 fma  1  1e-388 9.000000000000000E+374 -> 9.000000000000000E+374 Inexact Rounded
11087db96d56Sopenharmony_ciddfma37664 fma  1       0 9.000000000000000E+374 -> 9.000000000000000E+374 Rounded
11097db96d56Sopenharmony_ci
11107db96d56Sopenharmony_ci-- more zeros, etc.
11117db96d56Sopenharmony_cirounding: half_even
11127db96d56Sopenharmony_ci
11137db96d56Sopenharmony_ciddfma37701 fma  1  5.00 1.00E-3 -> 5.00100
11147db96d56Sopenharmony_ciddfma37702 fma  1  00.00 0.000  -> 0.000
11157db96d56Sopenharmony_ciddfma37703 fma  1  00.00 0E-3   -> 0.000
11167db96d56Sopenharmony_ciddfma37704 fma  1  0E-3  00.00  -> 0.000
11177db96d56Sopenharmony_ci
11187db96d56Sopenharmony_ciddfma37710 fma  1  0E+3  00.00  -> 0.00
11197db96d56Sopenharmony_ciddfma37711 fma  1  0E+3  00.0   -> 0.0
11207db96d56Sopenharmony_ciddfma37712 fma  1  0E+3  00.    -> 0
11217db96d56Sopenharmony_ciddfma37713 fma  1  0E+3  00.E+1 -> 0E+1
11227db96d56Sopenharmony_ciddfma37714 fma  1  0E+3  00.E+2 -> 0E+2
11237db96d56Sopenharmony_ciddfma37715 fma  1  0E+3  00.E+3 -> 0E+3
11247db96d56Sopenharmony_ciddfma37716 fma  1  0E+3  00.E+4 -> 0E+3
11257db96d56Sopenharmony_ciddfma37717 fma  1  0E+3  00.E+5 -> 0E+3
11267db96d56Sopenharmony_ciddfma37718 fma  1  0E+3  -00.0   -> 0.0
11277db96d56Sopenharmony_ciddfma37719 fma  1  0E+3  -00.    -> 0
11287db96d56Sopenharmony_ciddfma37731 fma  1  0E+3  -00.E+1 -> 0E+1
11297db96d56Sopenharmony_ci
11307db96d56Sopenharmony_ciddfma37720 fma  1  00.00  0E+3  -> 0.00
11317db96d56Sopenharmony_ciddfma37721 fma  1  00.0   0E+3  -> 0.0
11327db96d56Sopenharmony_ciddfma37722 fma  1  00.    0E+3  -> 0
11337db96d56Sopenharmony_ciddfma37723 fma  1  00.E+1 0E+3  -> 0E+1
11347db96d56Sopenharmony_ciddfma37724 fma  1  00.E+2 0E+3  -> 0E+2
11357db96d56Sopenharmony_ciddfma37725 fma  1  00.E+3 0E+3  -> 0E+3
11367db96d56Sopenharmony_ciddfma37726 fma  1  00.E+4 0E+3  -> 0E+3
11377db96d56Sopenharmony_ciddfma37727 fma  1  00.E+5 0E+3  -> 0E+3
11387db96d56Sopenharmony_ciddfma37728 fma  1  -00.00 0E+3  -> 0.00
11397db96d56Sopenharmony_ciddfma37729 fma  1  -00.0  0E+3  -> 0.0
11407db96d56Sopenharmony_ciddfma37730 fma  1  -00.   0E+3  -> 0
11417db96d56Sopenharmony_ci
11427db96d56Sopenharmony_ciddfma37732 fma  1   0     0     ->  0
11437db96d56Sopenharmony_ciddfma37733 fma  1   0    -0     ->  0
11447db96d56Sopenharmony_ciddfma37734 fma  1  -0     0     ->  0
11457db96d56Sopenharmony_ciddfma37735 fma  1  -0    -0     -> -0     -- IEEE 854 special case
11467db96d56Sopenharmony_ci
11477db96d56Sopenharmony_ciddfma37736 fma  1   1    -1     ->  0
11487db96d56Sopenharmony_ciddfma37737 fma  1  -1    -1     -> -2
11497db96d56Sopenharmony_ciddfma37738 fma  1   1     1     ->  2
11507db96d56Sopenharmony_ciddfma37739 fma  1  -1     1     ->  0
11517db96d56Sopenharmony_ci
11527db96d56Sopenharmony_ciddfma37741 fma  1   0    -1     -> -1
11537db96d56Sopenharmony_ciddfma37742 fma  1  -0    -1     -> -1
11547db96d56Sopenharmony_ciddfma37743 fma  1   0     1     ->  1
11557db96d56Sopenharmony_ciddfma37744 fma  1  -0     1     ->  1
11567db96d56Sopenharmony_ciddfma37745 fma  1  -1     0     -> -1
11577db96d56Sopenharmony_ciddfma37746 fma  1  -1    -0     -> -1
11587db96d56Sopenharmony_ciddfma37747 fma  1   1     0     ->  1
11597db96d56Sopenharmony_ciddfma37748 fma  1   1    -0     ->  1
11607db96d56Sopenharmony_ci
11617db96d56Sopenharmony_ciddfma37751 fma  1   0.0  -1     -> -1.0
11627db96d56Sopenharmony_ciddfma37752 fma  1  -0.0  -1     -> -1.0
11637db96d56Sopenharmony_ciddfma37753 fma  1   0.0   1     ->  1.0
11647db96d56Sopenharmony_ciddfma37754 fma  1  -0.0   1     ->  1.0
11657db96d56Sopenharmony_ciddfma37755 fma  1  -1.0   0     -> -1.0
11667db96d56Sopenharmony_ciddfma37756 fma  1  -1.0  -0     -> -1.0
11677db96d56Sopenharmony_ciddfma37757 fma  1   1.0   0     ->  1.0
11687db96d56Sopenharmony_ciddfma37758 fma  1   1.0  -0     ->  1.0
11697db96d56Sopenharmony_ci
11707db96d56Sopenharmony_ciddfma37761 fma  1   0    -1.0   -> -1.0
11717db96d56Sopenharmony_ciddfma37762 fma  1  -0    -1.0   -> -1.0
11727db96d56Sopenharmony_ciddfma37763 fma  1   0     1.0   ->  1.0
11737db96d56Sopenharmony_ciddfma37764 fma  1  -0     1.0   ->  1.0
11747db96d56Sopenharmony_ciddfma37765 fma  1  -1     0.0   -> -1.0
11757db96d56Sopenharmony_ciddfma37766 fma  1  -1    -0.0   -> -1.0
11767db96d56Sopenharmony_ciddfma37767 fma  1   1     0.0   ->  1.0
11777db96d56Sopenharmony_ciddfma37768 fma  1   1    -0.0   ->  1.0
11787db96d56Sopenharmony_ci
11797db96d56Sopenharmony_ciddfma37771 fma  1   0.0  -1.0   -> -1.0
11807db96d56Sopenharmony_ciddfma37772 fma  1  -0.0  -1.0   -> -1.0
11817db96d56Sopenharmony_ciddfma37773 fma  1   0.0   1.0   ->  1.0
11827db96d56Sopenharmony_ciddfma37774 fma  1  -0.0   1.0   ->  1.0
11837db96d56Sopenharmony_ciddfma37775 fma  1  -1.0   0.0   -> -1.0
11847db96d56Sopenharmony_ciddfma37776 fma  1  -1.0  -0.0   -> -1.0
11857db96d56Sopenharmony_ciddfma37777 fma  1   1.0   0.0   ->  1.0
11867db96d56Sopenharmony_ciddfma37778 fma  1   1.0  -0.0   ->  1.0
11877db96d56Sopenharmony_ci
11887db96d56Sopenharmony_ci-- Specials
11897db96d56Sopenharmony_ciddfma37780 fma  1  -Inf  -Inf   -> -Infinity
11907db96d56Sopenharmony_ciddfma37781 fma  1  -Inf  -1000  -> -Infinity
11917db96d56Sopenharmony_ciddfma37782 fma  1  -Inf  -1     -> -Infinity
11927db96d56Sopenharmony_ciddfma37783 fma  1  -Inf  -0     -> -Infinity
11937db96d56Sopenharmony_ciddfma37784 fma  1  -Inf   0     -> -Infinity
11947db96d56Sopenharmony_ciddfma37785 fma  1  -Inf   1     -> -Infinity
11957db96d56Sopenharmony_ciddfma37786 fma  1  -Inf   1000  -> -Infinity
11967db96d56Sopenharmony_ciddfma37787 fma  1  -1000 -Inf   -> -Infinity
11977db96d56Sopenharmony_ciddfma37788 fma  1  -Inf  -Inf   -> -Infinity
11987db96d56Sopenharmony_ciddfma37789 fma  1  -1    -Inf   -> -Infinity
11997db96d56Sopenharmony_ciddfma37790 fma  1  -0    -Inf   -> -Infinity
12007db96d56Sopenharmony_ciddfma37791 fma  1   0    -Inf   -> -Infinity
12017db96d56Sopenharmony_ciddfma37792 fma  1   1    -Inf   -> -Infinity
12027db96d56Sopenharmony_ciddfma37793 fma  1   1000 -Inf   -> -Infinity
12037db96d56Sopenharmony_ciddfma37794 fma  1   Inf  -Inf   ->  NaN  Invalid_operation
12047db96d56Sopenharmony_ci
12057db96d56Sopenharmony_ciddfma37800 fma  1   Inf  -Inf   ->  NaN  Invalid_operation
12067db96d56Sopenharmony_ciddfma37801 fma  1   Inf  -1000  ->  Infinity
12077db96d56Sopenharmony_ciddfma37802 fma  1   Inf  -1     ->  Infinity
12087db96d56Sopenharmony_ciddfma37803 fma  1   Inf  -0     ->  Infinity
12097db96d56Sopenharmony_ciddfma37804 fma  1   Inf   0     ->  Infinity
12107db96d56Sopenharmony_ciddfma37805 fma  1   Inf   1     ->  Infinity
12117db96d56Sopenharmony_ciddfma37806 fma  1   Inf   1000  ->  Infinity
12127db96d56Sopenharmony_ciddfma37807 fma  1   Inf   Inf   ->  Infinity
12137db96d56Sopenharmony_ciddfma37808 fma  1  -1000  Inf   ->  Infinity
12147db96d56Sopenharmony_ciddfma37809 fma  1  -Inf   Inf   ->  NaN  Invalid_operation
12157db96d56Sopenharmony_ciddfma37810 fma  1  -1     Inf   ->  Infinity
12167db96d56Sopenharmony_ciddfma37811 fma  1  -0     Inf   ->  Infinity
12177db96d56Sopenharmony_ciddfma37812 fma  1   0     Inf   ->  Infinity
12187db96d56Sopenharmony_ciddfma37813 fma  1   1     Inf   ->  Infinity
12197db96d56Sopenharmony_ciddfma37814 fma  1   1000  Inf   ->  Infinity
12207db96d56Sopenharmony_ciddfma37815 fma  1   Inf   Inf   ->  Infinity
12217db96d56Sopenharmony_ci
12227db96d56Sopenharmony_ciddfma37821 fma  1   NaN -Inf    ->  NaN
12237db96d56Sopenharmony_ciddfma37822 fma  1   NaN -1000   ->  NaN
12247db96d56Sopenharmony_ciddfma37823 fma  1   NaN -1      ->  NaN
12257db96d56Sopenharmony_ciddfma37824 fma  1   NaN -0      ->  NaN
12267db96d56Sopenharmony_ciddfma37825 fma  1   NaN  0      ->  NaN
12277db96d56Sopenharmony_ciddfma37826 fma  1   NaN  1      ->  NaN
12287db96d56Sopenharmony_ciddfma37827 fma  1   NaN  1000   ->  NaN
12297db96d56Sopenharmony_ciddfma37828 fma  1   NaN  Inf    ->  NaN
12307db96d56Sopenharmony_ciddfma37829 fma  1   NaN  NaN    ->  NaN
12317db96d56Sopenharmony_ciddfma37830 fma  1  -Inf  NaN    ->  NaN
12327db96d56Sopenharmony_ciddfma37831 fma  1  -1000 NaN    ->  NaN
12337db96d56Sopenharmony_ciddfma37832 fma  1  -1    NaN    ->  NaN
12347db96d56Sopenharmony_ciddfma37833 fma  1  -0    NaN    ->  NaN
12357db96d56Sopenharmony_ciddfma37834 fma  1   0    NaN    ->  NaN
12367db96d56Sopenharmony_ciddfma37835 fma  1   1    NaN    ->  NaN
12377db96d56Sopenharmony_ciddfma37836 fma  1   1000 NaN    ->  NaN
12387db96d56Sopenharmony_ciddfma37837 fma  1   Inf  NaN    ->  NaN
12397db96d56Sopenharmony_ci
12407db96d56Sopenharmony_ciddfma37841 fma  1   sNaN -Inf   ->  NaN  Invalid_operation
12417db96d56Sopenharmony_ciddfma37842 fma  1   sNaN -1000  ->  NaN  Invalid_operation
12427db96d56Sopenharmony_ciddfma37843 fma  1   sNaN -1     ->  NaN  Invalid_operation
12437db96d56Sopenharmony_ciddfma37844 fma  1   sNaN -0     ->  NaN  Invalid_operation
12447db96d56Sopenharmony_ciddfma37845 fma  1   sNaN  0     ->  NaN  Invalid_operation
12457db96d56Sopenharmony_ciddfma37846 fma  1   sNaN  1     ->  NaN  Invalid_operation
12467db96d56Sopenharmony_ciddfma37847 fma  1   sNaN  1000  ->  NaN  Invalid_operation
12477db96d56Sopenharmony_ciddfma37848 fma  1   sNaN  NaN   ->  NaN  Invalid_operation
12487db96d56Sopenharmony_ciddfma37849 fma  1   sNaN sNaN   ->  NaN  Invalid_operation
12497db96d56Sopenharmony_ciddfma37850 fma  1   NaN  sNaN   ->  NaN  Invalid_operation
12507db96d56Sopenharmony_ciddfma37851 fma  1  -Inf  sNaN   ->  NaN  Invalid_operation
12517db96d56Sopenharmony_ciddfma37852 fma  1  -1000 sNaN   ->  NaN  Invalid_operation
12527db96d56Sopenharmony_ciddfma37853 fma  1  -1    sNaN   ->  NaN  Invalid_operation
12537db96d56Sopenharmony_ciddfma37854 fma  1  -0    sNaN   ->  NaN  Invalid_operation
12547db96d56Sopenharmony_ciddfma37855 fma  1   0    sNaN   ->  NaN  Invalid_operation
12557db96d56Sopenharmony_ciddfma37856 fma  1   1    sNaN   ->  NaN  Invalid_operation
12567db96d56Sopenharmony_ciddfma37857 fma  1   1000 sNaN   ->  NaN  Invalid_operation
12577db96d56Sopenharmony_ciddfma37858 fma  1   Inf  sNaN   ->  NaN  Invalid_operation
12587db96d56Sopenharmony_ciddfma37859 fma  1   NaN  sNaN   ->  NaN  Invalid_operation
12597db96d56Sopenharmony_ci
12607db96d56Sopenharmony_ci-- propagating NaNs
12617db96d56Sopenharmony_ciddfma37861 fma  1   NaN1   -Inf    ->  NaN1
12627db96d56Sopenharmony_ciddfma37862 fma  1  +NaN2   -1000   ->  NaN2
12637db96d56Sopenharmony_ciddfma37863 fma  1   NaN3    1000   ->  NaN3
12647db96d56Sopenharmony_ciddfma37864 fma  1   NaN4    Inf    ->  NaN4
12657db96d56Sopenharmony_ciddfma37865 fma  1   NaN5   +NaN6   ->  NaN5
12667db96d56Sopenharmony_ciddfma37866 fma  1  -Inf     NaN7   ->  NaN7
12677db96d56Sopenharmony_ciddfma37867 fma  1  -1000    NaN8   ->  NaN8
12687db96d56Sopenharmony_ciddfma37868 fma  1   1000    NaN9   ->  NaN9
12697db96d56Sopenharmony_ciddfma37869 fma  1   Inf    +NaN10  ->  NaN10
12707db96d56Sopenharmony_ciddfma37871 fma  1   sNaN11  -Inf   ->  NaN11  Invalid_operation
12717db96d56Sopenharmony_ciddfma37872 fma  1   sNaN12  -1000  ->  NaN12  Invalid_operation
12727db96d56Sopenharmony_ciddfma37873 fma  1   sNaN13   1000  ->  NaN13  Invalid_operation
12737db96d56Sopenharmony_ciddfma37874 fma  1   sNaN14   NaN17 ->  NaN14  Invalid_operation
12747db96d56Sopenharmony_ciddfma37875 fma  1   sNaN15  sNaN18 ->  NaN15  Invalid_operation
12757db96d56Sopenharmony_ciddfma37876 fma  1   NaN16   sNaN19 ->  NaN19  Invalid_operation
12767db96d56Sopenharmony_ciddfma37877 fma  1  -Inf    +sNaN20 ->  NaN20  Invalid_operation
12777db96d56Sopenharmony_ciddfma37878 fma  1  -1000    sNaN21 ->  NaN21  Invalid_operation
12787db96d56Sopenharmony_ciddfma37879 fma  1   1000    sNaN22 ->  NaN22  Invalid_operation
12797db96d56Sopenharmony_ciddfma37880 fma  1   Inf     sNaN23 ->  NaN23  Invalid_operation
12807db96d56Sopenharmony_ciddfma37881 fma  1  +NaN25  +sNaN24 ->  NaN24  Invalid_operation
12817db96d56Sopenharmony_ciddfma37882 fma  1  -NaN26    NaN28 -> -NaN26
12827db96d56Sopenharmony_ciddfma37883 fma  1  -sNaN27  sNaN29 -> -NaN27  Invalid_operation
12837db96d56Sopenharmony_ciddfma37884 fma  1   1000    -NaN30 -> -NaN30
12847db96d56Sopenharmony_ciddfma37885 fma  1   1000   -sNaN31 -> -NaN31  Invalid_operation
12857db96d56Sopenharmony_ci
12867db96d56Sopenharmony_ci-- Here we explore near the boundary of rounding a subnormal to Nmin
12877db96d56Sopenharmony_ciddfma37575 fma  1   1E-383 -1E-398 ->  9.99999999999999E-384  Subnormal
12887db96d56Sopenharmony_ciddfma37576 fma  1  -1E-383 +1E-398 -> -9.99999999999999E-384  Subnormal
12897db96d56Sopenharmony_ci
12907db96d56Sopenharmony_ci-- check overflow edge case
12917db96d56Sopenharmony_ci--               1234567890123456
12927db96d56Sopenharmony_ciddfma37972 apply   9.999999999999999E+384         -> 9.999999999999999E+384
12937db96d56Sopenharmony_ciddfma37973 fma  1      9.999999999999999E+384  1      -> 9.999999999999999E+384 Inexact Rounded
12947db96d56Sopenharmony_ciddfma37974 fma  1       9999999999999999E+369  1      -> 9.999999999999999E+384 Inexact Rounded
12957db96d56Sopenharmony_ciddfma37975 fma  1       9999999999999999E+369  1E+369  -> Infinity Overflow Inexact Rounded
12967db96d56Sopenharmony_ciddfma37976 fma  1       9999999999999999E+369  9E+368  -> Infinity Overflow Inexact Rounded
12977db96d56Sopenharmony_ciddfma37977 fma  1       9999999999999999E+369  8E+368  -> Infinity Overflow Inexact Rounded
12987db96d56Sopenharmony_ciddfma37978 fma  1       9999999999999999E+369  7E+368  -> Infinity Overflow Inexact Rounded
12997db96d56Sopenharmony_ciddfma37979 fma  1       9999999999999999E+369  6E+368  -> Infinity Overflow Inexact Rounded
13007db96d56Sopenharmony_ciddfma37980 fma  1       9999999999999999E+369  5E+368  -> Infinity Overflow Inexact Rounded
13017db96d56Sopenharmony_ciddfma37981 fma  1       9999999999999999E+369  4E+368  -> 9.999999999999999E+384 Inexact Rounded
13027db96d56Sopenharmony_ciddfma37982 fma  1       9999999999999999E+369  3E+368  -> 9.999999999999999E+384 Inexact Rounded
13037db96d56Sopenharmony_ciddfma37983 fma  1       9999999999999999E+369  2E+368  -> 9.999999999999999E+384 Inexact Rounded
13047db96d56Sopenharmony_ciddfma37984 fma  1       9999999999999999E+369  1E+368  -> 9.999999999999999E+384 Inexact Rounded
13057db96d56Sopenharmony_ci
13067db96d56Sopenharmony_ciddfma37985 apply  -9.999999999999999E+384         -> -9.999999999999999E+384
13077db96d56Sopenharmony_ciddfma37986 fma  1     -9.999999999999999E+384 -1      -> -9.999999999999999E+384 Inexact Rounded
13087db96d56Sopenharmony_ciddfma37987 fma  1      -9999999999999999E+369 -1      -> -9.999999999999999E+384 Inexact Rounded
13097db96d56Sopenharmony_ciddfma37988 fma  1      -9999999999999999E+369 -1E+369  -> -Infinity Overflow Inexact Rounded
13107db96d56Sopenharmony_ciddfma37989 fma  1      -9999999999999999E+369 -9E+368  -> -Infinity Overflow Inexact Rounded
13117db96d56Sopenharmony_ciddfma37990 fma  1      -9999999999999999E+369 -8E+368  -> -Infinity Overflow Inexact Rounded
13127db96d56Sopenharmony_ciddfma37991 fma  1      -9999999999999999E+369 -7E+368  -> -Infinity Overflow Inexact Rounded
13137db96d56Sopenharmony_ciddfma37992 fma  1      -9999999999999999E+369 -6E+368  -> -Infinity Overflow Inexact Rounded
13147db96d56Sopenharmony_ciddfma37993 fma  1      -9999999999999999E+369 -5E+368  -> -Infinity Overflow Inexact Rounded
13157db96d56Sopenharmony_ciddfma37994 fma  1      -9999999999999999E+369 -4E+368  -> -9.999999999999999E+384 Inexact Rounded
13167db96d56Sopenharmony_ciddfma37995 fma  1      -9999999999999999E+369 -3E+368  -> -9.999999999999999E+384 Inexact Rounded
13177db96d56Sopenharmony_ciddfma37996 fma  1      -9999999999999999E+369 -2E+368  -> -9.999999999999999E+384 Inexact Rounded
13187db96d56Sopenharmony_ciddfma37997 fma  1      -9999999999999999E+369 -1E+368  -> -9.999999999999999E+384 Inexact Rounded
13197db96d56Sopenharmony_ci
13207db96d56Sopenharmony_ci-- And for round down full and subnormal results
13217db96d56Sopenharmony_cirounding:     down
13227db96d56Sopenharmony_ciddfma371100 fma  1  1e+2 -1e-383    -> 99.99999999999999 Rounded Inexact
13237db96d56Sopenharmony_ciddfma371101 fma  1  1e+1 -1e-383    -> 9.999999999999999  Rounded Inexact
13247db96d56Sopenharmony_ciddfma371103 fma  1    +1 -1e-383    -> 0.9999999999999999  Rounded Inexact
13257db96d56Sopenharmony_ciddfma371104 fma  1  1e-1 -1e-383    -> 0.09999999999999999  Rounded Inexact
13267db96d56Sopenharmony_ciddfma371105 fma  1  1e-2 -1e-383    -> 0.009999999999999999  Rounded Inexact
13277db96d56Sopenharmony_ciddfma371106 fma  1  1e-3 -1e-383    -> 0.0009999999999999999  Rounded Inexact
13287db96d56Sopenharmony_ciddfma371107 fma  1  1e-4 -1e-383    -> 0.00009999999999999999  Rounded Inexact
13297db96d56Sopenharmony_ciddfma371108 fma  1  1e-5 -1e-383    -> 0.000009999999999999999  Rounded Inexact
13307db96d56Sopenharmony_ciddfma371109 fma  1  1e-6 -1e-383    -> 9.999999999999999E-7  Rounded Inexact
13317db96d56Sopenharmony_ci
13327db96d56Sopenharmony_cirounding:     ceiling
13337db96d56Sopenharmony_ciddfma371110 fma  1  -1e+2 +1e-383   -> -99.99999999999999 Rounded Inexact
13347db96d56Sopenharmony_ciddfma371111 fma  1  -1e+1 +1e-383   -> -9.999999999999999  Rounded Inexact
13357db96d56Sopenharmony_ciddfma371113 fma  1     -1 +1e-383   -> -0.9999999999999999  Rounded Inexact
13367db96d56Sopenharmony_ciddfma371114 fma  1  -1e-1 +1e-383   -> -0.09999999999999999  Rounded Inexact
13377db96d56Sopenharmony_ciddfma371115 fma  1  -1e-2 +1e-383   -> -0.009999999999999999  Rounded Inexact
13387db96d56Sopenharmony_ciddfma371116 fma  1  -1e-3 +1e-383   -> -0.0009999999999999999  Rounded Inexact
13397db96d56Sopenharmony_ciddfma371117 fma  1  -1e-4 +1e-383   -> -0.00009999999999999999  Rounded Inexact
13407db96d56Sopenharmony_ciddfma371118 fma  1  -1e-5 +1e-383   -> -0.000009999999999999999  Rounded Inexact
13417db96d56Sopenharmony_ciddfma371119 fma  1  -1e-6 +1e-383   -> -9.999999999999999E-7  Rounded Inexact
13427db96d56Sopenharmony_ci
13437db96d56Sopenharmony_ci-- tests based on Gunnar Degnbol's edge case
13447db96d56Sopenharmony_cirounding:     half_even
13457db96d56Sopenharmony_ci
13467db96d56Sopenharmony_ciddfma371300 fma  1  1E16  -0.5                 ->  1.000000000000000E+16 Inexact Rounded
13477db96d56Sopenharmony_ciddfma371310 fma  1  1E16  -0.51                ->  9999999999999999      Inexact Rounded
13487db96d56Sopenharmony_ciddfma371311 fma  1  1E16  -0.501               ->  9999999999999999      Inexact Rounded
13497db96d56Sopenharmony_ciddfma371312 fma  1  1E16  -0.5001              ->  9999999999999999      Inexact Rounded
13507db96d56Sopenharmony_ciddfma371313 fma  1  1E16  -0.50001             ->  9999999999999999      Inexact Rounded
13517db96d56Sopenharmony_ciddfma371314 fma  1  1E16  -0.500001            ->  9999999999999999      Inexact Rounded
13527db96d56Sopenharmony_ciddfma371315 fma  1  1E16  -0.5000001           ->  9999999999999999      Inexact Rounded
13537db96d56Sopenharmony_ciddfma371316 fma  1  1E16  -0.50000001          ->  9999999999999999      Inexact Rounded
13547db96d56Sopenharmony_ciddfma371317 fma  1  1E16  -0.500000001         ->  9999999999999999      Inexact Rounded
13557db96d56Sopenharmony_ciddfma371318 fma  1  1E16  -0.5000000001        ->  9999999999999999      Inexact Rounded
13567db96d56Sopenharmony_ciddfma371319 fma  1  1E16  -0.50000000001       ->  9999999999999999      Inexact Rounded
13577db96d56Sopenharmony_ciddfma371320 fma  1  1E16  -0.500000000001      ->  9999999999999999      Inexact Rounded
13587db96d56Sopenharmony_ciddfma371321 fma  1  1E16  -0.5000000000001     ->  9999999999999999      Inexact Rounded
13597db96d56Sopenharmony_ciddfma371322 fma  1  1E16  -0.50000000000001    ->  9999999999999999      Inexact Rounded
13607db96d56Sopenharmony_ciddfma371323 fma  1  1E16  -0.500000000000001   ->  9999999999999999      Inexact Rounded
13617db96d56Sopenharmony_ciddfma371324 fma  1  1E16  -0.5000000000000001  ->  9999999999999999      Inexact Rounded
13627db96d56Sopenharmony_ciddfma371325 fma  1  1E16  -0.5000000000000000  ->  1.000000000000000E+16 Inexact Rounded
13637db96d56Sopenharmony_ciddfma371326 fma  1  1E16  -0.500000000000000   ->  1.000000000000000E+16 Inexact Rounded
13647db96d56Sopenharmony_ciddfma371327 fma  1  1E16  -0.50000000000000    ->  1.000000000000000E+16 Inexact Rounded
13657db96d56Sopenharmony_ciddfma371328 fma  1  1E16  -0.5000000000000     ->  1.000000000000000E+16 Inexact Rounded
13667db96d56Sopenharmony_ciddfma371329 fma  1  1E16  -0.500000000000      ->  1.000000000000000E+16 Inexact Rounded
13677db96d56Sopenharmony_ciddfma371330 fma  1  1E16  -0.50000000000       ->  1.000000000000000E+16 Inexact Rounded
13687db96d56Sopenharmony_ciddfma371331 fma  1  1E16  -0.5000000000        ->  1.000000000000000E+16 Inexact Rounded
13697db96d56Sopenharmony_ciddfma371332 fma  1  1E16  -0.500000000         ->  1.000000000000000E+16 Inexact Rounded
13707db96d56Sopenharmony_ciddfma371333 fma  1  1E16  -0.50000000          ->  1.000000000000000E+16 Inexact Rounded
13717db96d56Sopenharmony_ciddfma371334 fma  1  1E16  -0.5000000           ->  1.000000000000000E+16 Inexact Rounded
13727db96d56Sopenharmony_ciddfma371335 fma  1  1E16  -0.500000            ->  1.000000000000000E+16 Inexact Rounded
13737db96d56Sopenharmony_ciddfma371336 fma  1  1E16  -0.50000             ->  1.000000000000000E+16 Inexact Rounded
13747db96d56Sopenharmony_ciddfma371337 fma  1  1E16  -0.5000              ->  1.000000000000000E+16 Inexact Rounded
13757db96d56Sopenharmony_ciddfma371338 fma  1  1E16  -0.500               ->  1.000000000000000E+16 Inexact Rounded
13767db96d56Sopenharmony_ciddfma371339 fma  1  1E16  -0.50                ->  1.000000000000000E+16 Inexact Rounded
13777db96d56Sopenharmony_ci
13787db96d56Sopenharmony_ciddfma371340 fma  1  1E16  -5000000.000010001   ->  9999999995000000      Inexact Rounded
13797db96d56Sopenharmony_ciddfma371341 fma  1  1E16  -5000000.000000001   ->  9999999995000000      Inexact Rounded
13807db96d56Sopenharmony_ci
13817db96d56Sopenharmony_ciddfma371349 fma  1  9999999999999999 0.4                 ->  9999999999999999      Inexact Rounded
13827db96d56Sopenharmony_ciddfma371350 fma  1  9999999999999999 0.49                ->  9999999999999999      Inexact Rounded
13837db96d56Sopenharmony_ciddfma371351 fma  1  9999999999999999 0.499               ->  9999999999999999      Inexact Rounded
13847db96d56Sopenharmony_ciddfma371352 fma  1  9999999999999999 0.4999              ->  9999999999999999      Inexact Rounded
13857db96d56Sopenharmony_ciddfma371353 fma  1  9999999999999999 0.49999             ->  9999999999999999      Inexact Rounded
13867db96d56Sopenharmony_ciddfma371354 fma  1  9999999999999999 0.499999            ->  9999999999999999      Inexact Rounded
13877db96d56Sopenharmony_ciddfma371355 fma  1  9999999999999999 0.4999999           ->  9999999999999999      Inexact Rounded
13887db96d56Sopenharmony_ciddfma371356 fma  1  9999999999999999 0.49999999          ->  9999999999999999      Inexact Rounded
13897db96d56Sopenharmony_ciddfma371357 fma  1  9999999999999999 0.499999999         ->  9999999999999999      Inexact Rounded
13907db96d56Sopenharmony_ciddfma371358 fma  1  9999999999999999 0.4999999999        ->  9999999999999999      Inexact Rounded
13917db96d56Sopenharmony_ciddfma371359 fma  1  9999999999999999 0.49999999999       ->  9999999999999999      Inexact Rounded
13927db96d56Sopenharmony_ciddfma371360 fma  1  9999999999999999 0.499999999999      ->  9999999999999999      Inexact Rounded
13937db96d56Sopenharmony_ciddfma371361 fma  1  9999999999999999 0.4999999999999     ->  9999999999999999      Inexact Rounded
13947db96d56Sopenharmony_ciddfma371362 fma  1  9999999999999999 0.49999999999999    ->  9999999999999999      Inexact Rounded
13957db96d56Sopenharmony_ciddfma371363 fma  1  9999999999999999 0.499999999999999   ->  9999999999999999      Inexact Rounded
13967db96d56Sopenharmony_ciddfma371364 fma  1  9999999999999999 0.4999999999999999  ->  9999999999999999      Inexact Rounded
13977db96d56Sopenharmony_ciddfma371365 fma  1  9999999999999999 0.5000000000000000  ->  1.000000000000000E+16 Inexact Rounded
13987db96d56Sopenharmony_ciddfma371367 fma  1  9999999999999999 0.500000000000000   ->  1.000000000000000E+16 Inexact Rounded
13997db96d56Sopenharmony_ciddfma371368 fma  1  9999999999999999 0.50000000000000    ->  1.000000000000000E+16 Inexact Rounded
14007db96d56Sopenharmony_ciddfma371369 fma  1  9999999999999999 0.5000000000000     ->  1.000000000000000E+16 Inexact Rounded
14017db96d56Sopenharmony_ciddfma371370 fma  1  9999999999999999 0.500000000000      ->  1.000000000000000E+16 Inexact Rounded
14027db96d56Sopenharmony_ciddfma371371 fma  1  9999999999999999 0.50000000000       ->  1.000000000000000E+16 Inexact Rounded
14037db96d56Sopenharmony_ciddfma371372 fma  1  9999999999999999 0.5000000000        ->  1.000000000000000E+16 Inexact Rounded
14047db96d56Sopenharmony_ciddfma371373 fma  1  9999999999999999 0.500000000         ->  1.000000000000000E+16 Inexact Rounded
14057db96d56Sopenharmony_ciddfma371374 fma  1  9999999999999999 0.50000000          ->  1.000000000000000E+16 Inexact Rounded
14067db96d56Sopenharmony_ciddfma371375 fma  1  9999999999999999 0.5000000           ->  1.000000000000000E+16 Inexact Rounded
14077db96d56Sopenharmony_ciddfma371376 fma  1  9999999999999999 0.500000            ->  1.000000000000000E+16 Inexact Rounded
14087db96d56Sopenharmony_ciddfma371377 fma  1  9999999999999999 0.50000             ->  1.000000000000000E+16 Inexact Rounded
14097db96d56Sopenharmony_ciddfma371378 fma  1  9999999999999999 0.5000              ->  1.000000000000000E+16 Inexact Rounded
14107db96d56Sopenharmony_ciddfma371379 fma  1  9999999999999999 0.500               ->  1.000000000000000E+16 Inexact Rounded
14117db96d56Sopenharmony_ciddfma371380 fma  1  9999999999999999 0.50                ->  1.000000000000000E+16 Inexact Rounded
14127db96d56Sopenharmony_ciddfma371381 fma  1  9999999999999999 0.5                 ->  1.000000000000000E+16 Inexact Rounded
14137db96d56Sopenharmony_ciddfma371382 fma  1  9999999999999999 0.5000000000000001  ->  1.000000000000000E+16 Inexact Rounded
14147db96d56Sopenharmony_ciddfma371383 fma  1  9999999999999999 0.500000000000001   ->  1.000000000000000E+16 Inexact Rounded
14157db96d56Sopenharmony_ciddfma371384 fma  1  9999999999999999 0.50000000000001    ->  1.000000000000000E+16 Inexact Rounded
14167db96d56Sopenharmony_ciddfma371385 fma  1  9999999999999999 0.5000000000001     ->  1.000000000000000E+16 Inexact Rounded
14177db96d56Sopenharmony_ciddfma371386 fma  1  9999999999999999 0.500000000001      ->  1.000000000000000E+16 Inexact Rounded
14187db96d56Sopenharmony_ciddfma371387 fma  1  9999999999999999 0.50000000001       ->  1.000000000000000E+16 Inexact Rounded
14197db96d56Sopenharmony_ciddfma371388 fma  1  9999999999999999 0.5000000001        ->  1.000000000000000E+16 Inexact Rounded
14207db96d56Sopenharmony_ciddfma371389 fma  1  9999999999999999 0.500000001         ->  1.000000000000000E+16 Inexact Rounded
14217db96d56Sopenharmony_ciddfma371390 fma  1  9999999999999999 0.50000001          ->  1.000000000000000E+16 Inexact Rounded
14227db96d56Sopenharmony_ciddfma371391 fma  1  9999999999999999 0.5000001           ->  1.000000000000000E+16 Inexact Rounded
14237db96d56Sopenharmony_ciddfma371392 fma  1  9999999999999999 0.500001            ->  1.000000000000000E+16 Inexact Rounded
14247db96d56Sopenharmony_ciddfma371393 fma  1  9999999999999999 0.50001             ->  1.000000000000000E+16 Inexact Rounded
14257db96d56Sopenharmony_ciddfma371394 fma  1  9999999999999999 0.5001              ->  1.000000000000000E+16 Inexact Rounded
14267db96d56Sopenharmony_ciddfma371395 fma  1  9999999999999999 0.501               ->  1.000000000000000E+16 Inexact Rounded
14277db96d56Sopenharmony_ciddfma371396 fma  1  9999999999999999 0.51                ->  1.000000000000000E+16 Inexact Rounded
14287db96d56Sopenharmony_ci
14297db96d56Sopenharmony_ci-- More GD edge cases, where difference between the unadjusted
14307db96d56Sopenharmony_ci-- exponents is larger than the maximum precision and one side is 0
14317db96d56Sopenharmony_ciddfma371420 fma  1   0 1.123456789012345     -> 1.123456789012345
14327db96d56Sopenharmony_ciddfma371421 fma  1   0 1.123456789012345E-1  -> 0.1123456789012345
14337db96d56Sopenharmony_ciddfma371422 fma  1   0 1.123456789012345E-2  -> 0.01123456789012345
14347db96d56Sopenharmony_ciddfma371423 fma  1   0 1.123456789012345E-3  -> 0.001123456789012345
14357db96d56Sopenharmony_ciddfma371424 fma  1   0 1.123456789012345E-4  -> 0.0001123456789012345
14367db96d56Sopenharmony_ciddfma371425 fma  1   0 1.123456789012345E-5  -> 0.00001123456789012345
14377db96d56Sopenharmony_ciddfma371426 fma  1   0 1.123456789012345E-6  -> 0.000001123456789012345
14387db96d56Sopenharmony_ciddfma371427 fma  1   0 1.123456789012345E-7  -> 1.123456789012345E-7
14397db96d56Sopenharmony_ciddfma371428 fma  1   0 1.123456789012345E-8  -> 1.123456789012345E-8
14407db96d56Sopenharmony_ciddfma371429 fma  1   0 1.123456789012345E-9  -> 1.123456789012345E-9
14417db96d56Sopenharmony_ciddfma371430 fma  1   0 1.123456789012345E-10 -> 1.123456789012345E-10
14427db96d56Sopenharmony_ciddfma371431 fma  1   0 1.123456789012345E-11 -> 1.123456789012345E-11
14437db96d56Sopenharmony_ciddfma371432 fma  1   0 1.123456789012345E-12 -> 1.123456789012345E-12
14447db96d56Sopenharmony_ciddfma371433 fma  1   0 1.123456789012345E-13 -> 1.123456789012345E-13
14457db96d56Sopenharmony_ciddfma371434 fma  1   0 1.123456789012345E-14 -> 1.123456789012345E-14
14467db96d56Sopenharmony_ciddfma371435 fma  1   0 1.123456789012345E-15 -> 1.123456789012345E-15
14477db96d56Sopenharmony_ciddfma371436 fma  1   0 1.123456789012345E-16 -> 1.123456789012345E-16
14487db96d56Sopenharmony_ciddfma371437 fma  1   0 1.123456789012345E-17 -> 1.123456789012345E-17
14497db96d56Sopenharmony_ciddfma371438 fma  1   0 1.123456789012345E-18 -> 1.123456789012345E-18
14507db96d56Sopenharmony_ciddfma371439 fma  1   0 1.123456789012345E-19 -> 1.123456789012345E-19
14517db96d56Sopenharmony_ci
14527db96d56Sopenharmony_ci-- same, reversed 0
14537db96d56Sopenharmony_ciddfma371440 fma  1  1.123456789012345     0 -> 1.123456789012345
14547db96d56Sopenharmony_ciddfma371441 fma  1  1.123456789012345E-1  0 -> 0.1123456789012345
14557db96d56Sopenharmony_ciddfma371442 fma  1  1.123456789012345E-2  0 -> 0.01123456789012345
14567db96d56Sopenharmony_ciddfma371443 fma  1  1.123456789012345E-3  0 -> 0.001123456789012345
14577db96d56Sopenharmony_ciddfma371444 fma  1  1.123456789012345E-4  0 -> 0.0001123456789012345
14587db96d56Sopenharmony_ciddfma371445 fma  1  1.123456789012345E-5  0 -> 0.00001123456789012345
14597db96d56Sopenharmony_ciddfma371446 fma  1  1.123456789012345E-6  0 -> 0.000001123456789012345
14607db96d56Sopenharmony_ciddfma371447 fma  1  1.123456789012345E-7  0 -> 1.123456789012345E-7
14617db96d56Sopenharmony_ciddfma371448 fma  1  1.123456789012345E-8  0 -> 1.123456789012345E-8
14627db96d56Sopenharmony_ciddfma371449 fma  1  1.123456789012345E-9  0 -> 1.123456789012345E-9
14637db96d56Sopenharmony_ciddfma371450 fma  1  1.123456789012345E-10 0 -> 1.123456789012345E-10
14647db96d56Sopenharmony_ciddfma371451 fma  1  1.123456789012345E-11 0 -> 1.123456789012345E-11
14657db96d56Sopenharmony_ciddfma371452 fma  1  1.123456789012345E-12 0 -> 1.123456789012345E-12
14667db96d56Sopenharmony_ciddfma371453 fma  1  1.123456789012345E-13 0 -> 1.123456789012345E-13
14677db96d56Sopenharmony_ciddfma371454 fma  1  1.123456789012345E-14 0 -> 1.123456789012345E-14
14687db96d56Sopenharmony_ciddfma371455 fma  1  1.123456789012345E-15 0 -> 1.123456789012345E-15
14697db96d56Sopenharmony_ciddfma371456 fma  1  1.123456789012345E-16 0 -> 1.123456789012345E-16
14707db96d56Sopenharmony_ciddfma371457 fma  1  1.123456789012345E-17 0 -> 1.123456789012345E-17
14717db96d56Sopenharmony_ciddfma371458 fma  1  1.123456789012345E-18 0 -> 1.123456789012345E-18
14727db96d56Sopenharmony_ciddfma371459 fma  1  1.123456789012345E-19 0 -> 1.123456789012345E-19
14737db96d56Sopenharmony_ci
14747db96d56Sopenharmony_ci-- same, Es on the 0
14757db96d56Sopenharmony_ciddfma371460 fma  1  1.123456789012345  0E-0   -> 1.123456789012345
14767db96d56Sopenharmony_ciddfma371461 fma  1  1.123456789012345  0E-1   -> 1.123456789012345
14777db96d56Sopenharmony_ciddfma371462 fma  1  1.123456789012345  0E-2   -> 1.123456789012345
14787db96d56Sopenharmony_ciddfma371463 fma  1  1.123456789012345  0E-3   -> 1.123456789012345
14797db96d56Sopenharmony_ciddfma371464 fma  1  1.123456789012345  0E-4   -> 1.123456789012345
14807db96d56Sopenharmony_ciddfma371465 fma  1  1.123456789012345  0E-5   -> 1.123456789012345
14817db96d56Sopenharmony_ciddfma371466 fma  1  1.123456789012345  0E-6   -> 1.123456789012345
14827db96d56Sopenharmony_ciddfma371467 fma  1  1.123456789012345  0E-7   -> 1.123456789012345
14837db96d56Sopenharmony_ciddfma371468 fma  1  1.123456789012345  0E-8   -> 1.123456789012345
14847db96d56Sopenharmony_ciddfma371469 fma  1  1.123456789012345  0E-9   -> 1.123456789012345
14857db96d56Sopenharmony_ciddfma371470 fma  1  1.123456789012345  0E-10  -> 1.123456789012345
14867db96d56Sopenharmony_ciddfma371471 fma  1  1.123456789012345  0E-11  -> 1.123456789012345
14877db96d56Sopenharmony_ciddfma371472 fma  1  1.123456789012345  0E-12  -> 1.123456789012345
14887db96d56Sopenharmony_ciddfma371473 fma  1  1.123456789012345  0E-13  -> 1.123456789012345
14897db96d56Sopenharmony_ciddfma371474 fma  1  1.123456789012345  0E-14  -> 1.123456789012345
14907db96d56Sopenharmony_ciddfma371475 fma  1  1.123456789012345  0E-15  -> 1.123456789012345
14917db96d56Sopenharmony_ci-- next four flag Rounded because the 0 extends the result
14927db96d56Sopenharmony_ciddfma371476 fma  1  1.123456789012345  0E-16  -> 1.123456789012345 Rounded
14937db96d56Sopenharmony_ciddfma371477 fma  1  1.123456789012345  0E-17  -> 1.123456789012345 Rounded
14947db96d56Sopenharmony_ciddfma371478 fma  1  1.123456789012345  0E-18  -> 1.123456789012345 Rounded
14957db96d56Sopenharmony_ciddfma371479 fma  1  1.123456789012345  0E-19  -> 1.123456789012345 Rounded
14967db96d56Sopenharmony_ci
14977db96d56Sopenharmony_ci-- sum of two opposite-sign operands is exactly 0 and floor => -0
14987db96d56Sopenharmony_cirounding:    half_up
14997db96d56Sopenharmony_ci-- exact zeros from zeros
15007db96d56Sopenharmony_ciddfma371500 fma  1   0        0E-19  ->  0E-19
15017db96d56Sopenharmony_ciddfma371501 fma  1  -0        0E-19  ->  0E-19
15027db96d56Sopenharmony_ciddfma371502 fma  1   0       -0E-19  ->  0E-19
15037db96d56Sopenharmony_ciddfma371503 fma  1  -0       -0E-19  -> -0E-19
15047db96d56Sopenharmony_ci-- exact zeros from non-zeros
15057db96d56Sopenharmony_ciddfma371511 fma  1  -11      11    ->  0
15067db96d56Sopenharmony_ciddfma371512 fma  1   11     -11    ->  0
15077db96d56Sopenharmony_ci
15087db96d56Sopenharmony_cirounding:    half_down
15097db96d56Sopenharmony_ci-- exact zeros from zeros
15107db96d56Sopenharmony_ciddfma371520 fma  1   0        0E-19  ->  0E-19
15117db96d56Sopenharmony_ciddfma371521 fma  1  -0        0E-19  ->  0E-19
15127db96d56Sopenharmony_ciddfma371522 fma  1   0       -0E-19  ->  0E-19
15137db96d56Sopenharmony_ciddfma371523 fma  1  -0       -0E-19  -> -0E-19
15147db96d56Sopenharmony_ci-- exact zeros from non-zeros
15157db96d56Sopenharmony_ciddfma371531 fma  1  -11      11    ->  0
15167db96d56Sopenharmony_ciddfma371532 fma  1   11     -11    ->  0
15177db96d56Sopenharmony_ci
15187db96d56Sopenharmony_cirounding:    half_even
15197db96d56Sopenharmony_ci-- exact zeros from zeros
15207db96d56Sopenharmony_ciddfma371540 fma  1   0        0E-19  ->  0E-19
15217db96d56Sopenharmony_ciddfma371541 fma  1  -0        0E-19  ->  0E-19
15227db96d56Sopenharmony_ciddfma371542 fma  1   0       -0E-19  ->  0E-19
15237db96d56Sopenharmony_ciddfma371543 fma  1  -0       -0E-19  -> -0E-19
15247db96d56Sopenharmony_ci-- exact zeros from non-zeros
15257db96d56Sopenharmony_ciddfma371551 fma  1  -11      11    ->  0
15267db96d56Sopenharmony_ciddfma371552 fma  1   11     -11    ->  0
15277db96d56Sopenharmony_ci
15287db96d56Sopenharmony_cirounding:    up
15297db96d56Sopenharmony_ci-- exact zeros from zeros
15307db96d56Sopenharmony_ciddfma371560 fma  1   0        0E-19  ->  0E-19
15317db96d56Sopenharmony_ciddfma371561 fma  1  -0        0E-19  ->  0E-19
15327db96d56Sopenharmony_ciddfma371562 fma  1   0       -0E-19  ->  0E-19
15337db96d56Sopenharmony_ciddfma371563 fma  1  -0       -0E-19  -> -0E-19
15347db96d56Sopenharmony_ci-- exact zeros from non-zeros
15357db96d56Sopenharmony_ciddfma371571 fma  1  -11      11    ->  0
15367db96d56Sopenharmony_ciddfma371572 fma  1   11     -11    ->  0
15377db96d56Sopenharmony_ci
15387db96d56Sopenharmony_cirounding:    down
15397db96d56Sopenharmony_ci-- exact zeros from zeros
15407db96d56Sopenharmony_ciddfma371580 fma  1   0        0E-19  ->  0E-19
15417db96d56Sopenharmony_ciddfma371581 fma  1  -0        0E-19  ->  0E-19
15427db96d56Sopenharmony_ciddfma371582 fma  1   0       -0E-19  ->  0E-19
15437db96d56Sopenharmony_ciddfma371583 fma  1  -0       -0E-19  -> -0E-19
15447db96d56Sopenharmony_ci-- exact zeros from non-zeros
15457db96d56Sopenharmony_ciddfma371591 fma  1  -11      11    ->  0
15467db96d56Sopenharmony_ciddfma371592 fma  1   11     -11    ->  0
15477db96d56Sopenharmony_ci
15487db96d56Sopenharmony_cirounding:    ceiling
15497db96d56Sopenharmony_ci-- exact zeros from zeros
15507db96d56Sopenharmony_ciddfma371600 fma  1   0        0E-19  ->  0E-19
15517db96d56Sopenharmony_ciddfma371601 fma  1  -0        0E-19  ->  0E-19
15527db96d56Sopenharmony_ciddfma371602 fma  1   0       -0E-19  ->  0E-19
15537db96d56Sopenharmony_ciddfma371603 fma  1  -0       -0E-19  -> -0E-19
15547db96d56Sopenharmony_ci-- exact zeros from non-zeros
15557db96d56Sopenharmony_ciddfma371611 fma  1  -11      11    ->  0
15567db96d56Sopenharmony_ciddfma371612 fma  1   11     -11    ->  0
15577db96d56Sopenharmony_ci
15587db96d56Sopenharmony_ci-- and the extra-special ugly case; unusual minuses marked by -- *
15597db96d56Sopenharmony_cirounding:    floor
15607db96d56Sopenharmony_ci-- exact zeros from zeros
15617db96d56Sopenharmony_ciddfma371620 fma  1   0        0E-19  ->  0E-19
15627db96d56Sopenharmony_ciddfma371621 fma  1  -0        0E-19  -> -0E-19           -- *
15637db96d56Sopenharmony_ciddfma371622 fma  1   0       -0E-19  -> -0E-19           -- *
15647db96d56Sopenharmony_ciddfma371623 fma  1  -0       -0E-19  -> -0E-19
15657db96d56Sopenharmony_ci-- exact zeros from non-zeros
15667db96d56Sopenharmony_ciddfma371631 fma  1  -11      11    ->  -0                -- *
15677db96d56Sopenharmony_ciddfma371632 fma  1   11     -11    ->  -0                -- *
15687db96d56Sopenharmony_ci
15697db96d56Sopenharmony_ci-- Examples from SQL proposal (Krishna Kulkarni)
15707db96d56Sopenharmony_ciddfma371701 fma  1  130E-2    120E-2    -> 2.50
15717db96d56Sopenharmony_ciddfma371702 fma  1  130E-2    12E-1     -> 2.50
15727db96d56Sopenharmony_ciddfma371703 fma  1  130E-2    1E0       -> 2.30
15737db96d56Sopenharmony_ciddfma371704 fma  1  1E2       1E4       -> 1.01E+4
15747db96d56Sopenharmony_ciddfma371705 fma  1  130E-2   -120E-2 -> 0.10
15757db96d56Sopenharmony_ciddfma371706 fma  1  130E-2   -12E-1  -> 0.10
15767db96d56Sopenharmony_ciddfma371707 fma  1  130E-2   -1E0    -> 0.30
15777db96d56Sopenharmony_ciddfma371708 fma  1  1E2      -1E4    -> -9.9E+3
15787db96d56Sopenharmony_ci
15797db96d56Sopenharmony_ci-- Gappy coefficients; check residue handling even with full coefficient gap
15807db96d56Sopenharmony_cirounding: half_even
15817db96d56Sopenharmony_ci
15827db96d56Sopenharmony_ciddfma375001 fma  1  1234567890123456 1      -> 1234567890123457
15837db96d56Sopenharmony_ciddfma375002 fma  1  1234567890123456 0.6    -> 1234567890123457  Inexact Rounded
15847db96d56Sopenharmony_ciddfma375003 fma  1  1234567890123456 0.06   -> 1234567890123456  Inexact Rounded
15857db96d56Sopenharmony_ciddfma375004 fma  1  1234567890123456 6E-3   -> 1234567890123456  Inexact Rounded
15867db96d56Sopenharmony_ciddfma375005 fma  1  1234567890123456 6E-4   -> 1234567890123456  Inexact Rounded
15877db96d56Sopenharmony_ciddfma375006 fma  1  1234567890123456 6E-5   -> 1234567890123456  Inexact Rounded
15887db96d56Sopenharmony_ciddfma375007 fma  1  1234567890123456 6E-6   -> 1234567890123456  Inexact Rounded
15897db96d56Sopenharmony_ciddfma375008 fma  1  1234567890123456 6E-7   -> 1234567890123456  Inexact Rounded
15907db96d56Sopenharmony_ciddfma375009 fma  1  1234567890123456 6E-8   -> 1234567890123456  Inexact Rounded
15917db96d56Sopenharmony_ciddfma375010 fma  1  1234567890123456 6E-9   -> 1234567890123456  Inexact Rounded
15927db96d56Sopenharmony_ciddfma375011 fma  1  1234567890123456 6E-10  -> 1234567890123456  Inexact Rounded
15937db96d56Sopenharmony_ciddfma375012 fma  1  1234567890123456 6E-11  -> 1234567890123456  Inexact Rounded
15947db96d56Sopenharmony_ciddfma375013 fma  1  1234567890123456 6E-12  -> 1234567890123456  Inexact Rounded
15957db96d56Sopenharmony_ciddfma375014 fma  1  1234567890123456 6E-13  -> 1234567890123456  Inexact Rounded
15967db96d56Sopenharmony_ciddfma375015 fma  1  1234567890123456 6E-14  -> 1234567890123456  Inexact Rounded
15977db96d56Sopenharmony_ciddfma375016 fma  1  1234567890123456 6E-15  -> 1234567890123456  Inexact Rounded
15987db96d56Sopenharmony_ciddfma375017 fma  1  1234567890123456 6E-16  -> 1234567890123456  Inexact Rounded
15997db96d56Sopenharmony_ciddfma375018 fma  1  1234567890123456 6E-17  -> 1234567890123456  Inexact Rounded
16007db96d56Sopenharmony_ciddfma375019 fma  1  1234567890123456 6E-18  -> 1234567890123456  Inexact Rounded
16017db96d56Sopenharmony_ciddfma375020 fma  1  1234567890123456 6E-19  -> 1234567890123456  Inexact Rounded
16027db96d56Sopenharmony_ciddfma375021 fma  1  1234567890123456 6E-20  -> 1234567890123456  Inexact Rounded
16037db96d56Sopenharmony_ci
16047db96d56Sopenharmony_ci-- widening second argument at gap
16057db96d56Sopenharmony_ciddfma375030 fma  1  12345678 1                       -> 12345679
16067db96d56Sopenharmony_ciddfma375031 fma  1  12345678 0.1                     -> 12345678.1
16077db96d56Sopenharmony_ciddfma375032 fma  1  12345678 0.12                    -> 12345678.12
16087db96d56Sopenharmony_ciddfma375033 fma  1  12345678 0.123                   -> 12345678.123
16097db96d56Sopenharmony_ciddfma375034 fma  1  12345678 0.1234                  -> 12345678.1234
16107db96d56Sopenharmony_ciddfma375035 fma  1  12345678 0.12345                 -> 12345678.12345
16117db96d56Sopenharmony_ciddfma375036 fma  1  12345678 0.123456                -> 12345678.123456
16127db96d56Sopenharmony_ciddfma375037 fma  1  12345678 0.1234567               -> 12345678.1234567
16137db96d56Sopenharmony_ciddfma375038 fma  1  12345678 0.12345678              -> 12345678.12345678
16147db96d56Sopenharmony_ciddfma375039 fma  1  12345678 0.123456789             -> 12345678.12345679 Inexact Rounded
16157db96d56Sopenharmony_ciddfma375040 fma  1  12345678 0.123456785             -> 12345678.12345678 Inexact Rounded
16167db96d56Sopenharmony_ciddfma375041 fma  1  12345678 0.1234567850            -> 12345678.12345678 Inexact Rounded
16177db96d56Sopenharmony_ciddfma375042 fma  1  12345678 0.1234567851            -> 12345678.12345679 Inexact Rounded
16187db96d56Sopenharmony_ciddfma375043 fma  1  12345678 0.12345678501           -> 12345678.12345679 Inexact Rounded
16197db96d56Sopenharmony_ciddfma375044 fma  1  12345678 0.123456785001          -> 12345678.12345679 Inexact Rounded
16207db96d56Sopenharmony_ciddfma375045 fma  1  12345678 0.1234567850001         -> 12345678.12345679 Inexact Rounded
16217db96d56Sopenharmony_ciddfma375046 fma  1  12345678 0.12345678500001        -> 12345678.12345679 Inexact Rounded
16227db96d56Sopenharmony_ciddfma375047 fma  1  12345678 0.123456785000001       -> 12345678.12345679 Inexact Rounded
16237db96d56Sopenharmony_ciddfma375048 fma  1  12345678 0.1234567850000001      -> 12345678.12345679 Inexact Rounded
16247db96d56Sopenharmony_ciddfma375049 fma  1  12345678 0.1234567850000000      -> 12345678.12345678 Inexact Rounded
16257db96d56Sopenharmony_ci--                               90123456
16267db96d56Sopenharmony_cirounding: half_even
16277db96d56Sopenharmony_ciddfma375050 fma  1  12345678 0.0234567750000000      -> 12345678.02345678 Inexact Rounded
16287db96d56Sopenharmony_ciddfma375051 fma  1  12345678 0.0034567750000000      -> 12345678.00345678 Inexact Rounded
16297db96d56Sopenharmony_ciddfma375052 fma  1  12345678 0.0004567750000000      -> 12345678.00045678 Inexact Rounded
16307db96d56Sopenharmony_ciddfma375053 fma  1  12345678 0.0000567750000000      -> 12345678.00005678 Inexact Rounded
16317db96d56Sopenharmony_ciddfma375054 fma  1  12345678 0.0000067750000000      -> 12345678.00000678 Inexact Rounded
16327db96d56Sopenharmony_ciddfma375055 fma  1  12345678 0.0000007750000000      -> 12345678.00000078 Inexact Rounded
16337db96d56Sopenharmony_ciddfma375056 fma  1  12345678 0.0000000750000000      -> 12345678.00000008 Inexact Rounded
16347db96d56Sopenharmony_ciddfma375057 fma  1  12345678 0.0000000050000000      -> 12345678.00000000 Inexact Rounded
16357db96d56Sopenharmony_ciddfma375060 fma  1  12345678 0.0234567750000001      -> 12345678.02345678 Inexact Rounded
16367db96d56Sopenharmony_ciddfma375061 fma  1  12345678 0.0034567750000001      -> 12345678.00345678 Inexact Rounded
16377db96d56Sopenharmony_ciddfma375062 fma  1  12345678 0.0004567750000001      -> 12345678.00045678 Inexact Rounded
16387db96d56Sopenharmony_ciddfma375063 fma  1  12345678 0.0000567750000001      -> 12345678.00005678 Inexact Rounded
16397db96d56Sopenharmony_ciddfma375064 fma  1  12345678 0.0000067750000001      -> 12345678.00000678 Inexact Rounded
16407db96d56Sopenharmony_ciddfma375065 fma  1  12345678 0.0000007750000001      -> 12345678.00000078 Inexact Rounded
16417db96d56Sopenharmony_ciddfma375066 fma  1  12345678 0.0000000750000001      -> 12345678.00000008 Inexact Rounded
16427db96d56Sopenharmony_ciddfma375067 fma  1  12345678 0.0000000050000001      -> 12345678.00000001 Inexact Rounded
16437db96d56Sopenharmony_ci-- far-out residues (full coefficient gap is 16+15 digits)
16447db96d56Sopenharmony_cirounding: up
16457db96d56Sopenharmony_ciddfma375070 fma  1  12345678 1E-8                    -> 12345678.00000001
16467db96d56Sopenharmony_ciddfma375071 fma  1  12345678 1E-9                    -> 12345678.00000001 Inexact Rounded
16477db96d56Sopenharmony_ciddfma375072 fma  1  12345678 1E-10                   -> 12345678.00000001 Inexact Rounded
16487db96d56Sopenharmony_ciddfma375073 fma  1  12345678 1E-11                   -> 12345678.00000001 Inexact Rounded
16497db96d56Sopenharmony_ciddfma375074 fma  1  12345678 1E-12                   -> 12345678.00000001 Inexact Rounded
16507db96d56Sopenharmony_ciddfma375075 fma  1  12345678 1E-13                   -> 12345678.00000001 Inexact Rounded
16517db96d56Sopenharmony_ciddfma375076 fma  1  12345678 1E-14                   -> 12345678.00000001 Inexact Rounded
16527db96d56Sopenharmony_ciddfma375077 fma  1  12345678 1E-15                   -> 12345678.00000001 Inexact Rounded
16537db96d56Sopenharmony_ciddfma375078 fma  1  12345678 1E-16                   -> 12345678.00000001 Inexact Rounded
16547db96d56Sopenharmony_ciddfma375079 fma  1  12345678 1E-17                   -> 12345678.00000001 Inexact Rounded
16557db96d56Sopenharmony_ciddfma375080 fma  1  12345678 1E-18                   -> 12345678.00000001 Inexact Rounded
16567db96d56Sopenharmony_ciddfma375081 fma  1  12345678 1E-19                   -> 12345678.00000001 Inexact Rounded
16577db96d56Sopenharmony_ciddfma375082 fma  1  12345678 1E-20                   -> 12345678.00000001 Inexact Rounded
16587db96d56Sopenharmony_ciddfma375083 fma  1  12345678 1E-25                   -> 12345678.00000001 Inexact Rounded
16597db96d56Sopenharmony_ciddfma375084 fma  1  12345678 1E-30                   -> 12345678.00000001 Inexact Rounded
16607db96d56Sopenharmony_ciddfma375085 fma  1  12345678 1E-31                   -> 12345678.00000001 Inexact Rounded
16617db96d56Sopenharmony_ciddfma375086 fma  1  12345678 1E-32                   -> 12345678.00000001 Inexact Rounded
16627db96d56Sopenharmony_ciddfma375087 fma  1  12345678 1E-33                   -> 12345678.00000001 Inexact Rounded
16637db96d56Sopenharmony_ciddfma375088 fma  1  12345678 1E-34                   -> 12345678.00000001 Inexact Rounded
16647db96d56Sopenharmony_ciddfma375089 fma  1  12345678 1E-35                   -> 12345678.00000001 Inexact Rounded
16657db96d56Sopenharmony_ci
16667db96d56Sopenharmony_ci-- desctructive subtraction (from remainder tests)
16677db96d56Sopenharmony_ci
16687db96d56Sopenharmony_ci-- +++ some of these will be off-by-one remainder vs remainderNear
16697db96d56Sopenharmony_ci
16707db96d56Sopenharmony_ciddfma4000  fma  -1234567890123454   1.000000000000001    1234567890123456  ->  0.765432109876546
16717db96d56Sopenharmony_ciddfma4001  fma  -1234567890123443    1.00000000000001    1234567890123456  ->  0.65432109876557
16727db96d56Sopenharmony_ciddfma4002  fma  -1234567890123332     1.0000000000001    1234567890123456  ->  0.5432109876668
16737db96d56Sopenharmony_ciddfma4003  fma   -308641972530863   4.000000000000001    1234567890123455  ->  2.691358027469137
16747db96d56Sopenharmony_ciddfma4004  fma   -308641972530863   4.000000000000001    1234567890123456  ->  3.691358027469137
16757db96d56Sopenharmony_ciddfma4005  fma   -246913578024696     4.9999999999999    1234567890123456  ->  0.6913578024696
16767db96d56Sopenharmony_ciddfma4006  fma   -246913578024691    4.99999999999999    1234567890123456  ->  3.46913578024691
16777db96d56Sopenharmony_ciddfma4007  fma   -246913578024691   4.999999999999999    1234567890123456  ->  1.246913578024691
16787db96d56Sopenharmony_ciddfma4008  fma   -246913578024691   5.000000000000001    1234567890123456  ->  0.753086421975309
16797db96d56Sopenharmony_ciddfma4009  fma   -246913578024690    5.00000000000001    1234567890123456  ->  3.53086421975310
16807db96d56Sopenharmony_ciddfma4010  fma   -246913578024686     5.0000000000001    1234567890123456  ->  1.3086421975314
16817db96d56Sopenharmony_ciddfma4011  fma  -1234567890123455   1.000000000000001    1234567890123456  ->  -0.234567890123455
16827db96d56Sopenharmony_ciddfma4012  fma  -1234567890123444    1.00000000000001    1234567890123456  ->  -0.34567890123444
16837db96d56Sopenharmony_ciddfma4013  fma  -1234567890123333     1.0000000000001    1234567890123456  ->  -0.4567890123333
16847db96d56Sopenharmony_ciddfma4014  fma   -308641972530864   4.000000000000001    1234567890123455  ->  -1.308641972530864
16857db96d56Sopenharmony_ciddfma4015  fma   -308641972530864   4.000000000000001    1234567890123456  ->  -0.308641972530864
16867db96d56Sopenharmony_ciddfma4016  fma   -246913578024696     4.9999999999999    1234567890123456  ->  0.6913578024696
16877db96d56Sopenharmony_ciddfma4017  fma   -246913578024692    4.99999999999999    1234567890123456  ->  -1.53086421975308
16887db96d56Sopenharmony_ciddfma4018  fma   -246913578024691   4.999999999999999    1234567890123456  ->  1.246913578024691
16897db96d56Sopenharmony_ciddfma4019  fma   -246913578024691   5.000000000000001    1234567890123456  ->  0.753086421975309
16907db96d56Sopenharmony_ciddfma4020  fma   -246913578024691    5.00000000000001    1234567890123456  ->  -1.46913578024691
16917db96d56Sopenharmony_ciddfma4021  fma   -246913578024686     5.0000000000001    1234567890123456  ->  1.3086421975314
16927db96d56Sopenharmony_ci
16937db96d56Sopenharmony_ci
16947db96d56Sopenharmony_ci-- Null tests
16957db96d56Sopenharmony_ciddfma39990 fma  1  10  # -> NaN Invalid_operation
16967db96d56Sopenharmony_ciddfma39991 fma  1   # 10 -> NaN Invalid_operation
16977db96d56Sopenharmony_ci
16987db96d56Sopenharmony_ci
1699