17db96d56Sopenharmony_ci------------------------------------------------------------------------
27db96d56Sopenharmony_ci-- dqFMA.decTest -- decQuad 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_ciextended:    1
237db96d56Sopenharmony_ciclamp:       1
247db96d56Sopenharmony_ciprecision:   34
257db96d56Sopenharmony_cimaxExponent: 6144
267db96d56Sopenharmony_ciminExponent: -6143
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_cidqfma0001 fma  1   1   1 ->   2
407db96d56Sopenharmony_cidqfma0002 fma  1   1   2 ->   3
417db96d56Sopenharmony_cidqfma0003 fma  2   2   3 ->   7
427db96d56Sopenharmony_cidqfma0004 fma  9   9   9 ->  90
437db96d56Sopenharmony_cidqfma0005 fma -1   1   1 ->   0
447db96d56Sopenharmony_cidqfma0006 fma -1   1   2 ->   1
457db96d56Sopenharmony_cidqfma0007 fma -2   2   3 ->  -1
467db96d56Sopenharmony_cidqfma0008 fma -9   9   9 -> -72
477db96d56Sopenharmony_cidqfma0011 fma  1  -1   1 ->   0
487db96d56Sopenharmony_cidqfma0012 fma  1  -1   2 ->   1
497db96d56Sopenharmony_cidqfma0013 fma  2  -2   3 ->  -1
507db96d56Sopenharmony_cidqfma0014 fma  9  -9   9 -> -72
517db96d56Sopenharmony_cidqfma0015 fma  1   1  -1 ->   0
527db96d56Sopenharmony_cidqfma0016 fma  1   1  -2 ->  -1
537db96d56Sopenharmony_cidqfma0017 fma  2   2  -3 ->   1
547db96d56Sopenharmony_cidqfma0018 fma  9   9  -9 ->  72
557db96d56Sopenharmony_ci
567db96d56Sopenharmony_ci-- non-integer exacts
577db96d56Sopenharmony_cidqfma0100  fma    25.2   63.6   -438  ->  1164.72
587db96d56Sopenharmony_cidqfma0101  fma   0.301  0.380    334  ->  334.114380
597db96d56Sopenharmony_cidqfma0102  fma    49.2   -4.8   23.3  ->  -212.86
607db96d56Sopenharmony_cidqfma0103  fma    4.22  0.079  -94.6  ->  -94.26662
617db96d56Sopenharmony_cidqfma0104  fma     903  0.797  0.887  ->  720.578
627db96d56Sopenharmony_cidqfma0105  fma    6.13   -161   65.9  ->  -921.03
637db96d56Sopenharmony_cidqfma0106  fma    28.2    727   5.45  ->  20506.85
647db96d56Sopenharmony_cidqfma0107  fma       4    605    688  ->  3108
657db96d56Sopenharmony_cidqfma0108  fma    93.3   0.19  0.226  ->  17.953
667db96d56Sopenharmony_cidqfma0109  fma   0.169   -341   5.61  ->  -52.019
677db96d56Sopenharmony_cidqfma0110  fma   -72.2     30  -51.2  ->  -2217.2
687db96d56Sopenharmony_cidqfma0111  fma  -0.409     13   20.4  ->  15.083
697db96d56Sopenharmony_cidqfma0112  fma     317   77.0   19.0  ->  24428.0
707db96d56Sopenharmony_cidqfma0113  fma      47   6.58   1.62  ->  310.88
717db96d56Sopenharmony_cidqfma0114  fma    1.36  0.984  0.493  ->  1.83124
727db96d56Sopenharmony_cidqfma0115  fma    72.7    274   1.56  ->  19921.36
737db96d56Sopenharmony_cidqfma0116  fma     335    847     83  ->  283828
747db96d56Sopenharmony_cidqfma0117  fma     666  0.247   25.4  ->  189.902
757db96d56Sopenharmony_cidqfma0118  fma   -3.87   3.06   78.0  ->  66.1578
767db96d56Sopenharmony_cidqfma0119  fma   0.742    192   35.6  ->  178.064
777db96d56Sopenharmony_cidqfma0120  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--                                                                                                            ->  4.500119002100000209469729375698778E+38
837db96d56Sopenharmony_cidqfma0202  fma       68537985861355864457.5694      6565875762972086605.85969       35892634447236753.172812  ->  4.500119002100000209469729375698779E+38 Inexact Rounded
847db96d56Sopenharmony_ci--                                                                                                            ->  5.996248469584594346858881620185514E+41
857db96d56Sopenharmony_cidqfma0208  fma          89261822344727628571.9      6717595845654131383336.89      5061036497288796076266.11  ->  5.996248469584594346858881620185513E+41 Inexact Rounded
867db96d56Sopenharmony_ci--                                                                                                            ->  1.899242968678256924021594770874070E+34
877db96d56Sopenharmony_cidqfma0210  fma       320506237232448685.495971       59257597764017967.984448      3205615239077711589912.85  ->  1.899242968678256924021594770874071E+34 Inexact Rounded
887db96d56Sopenharmony_ci--                                                                                                            ->  7.078596978842809537929699954860309E+37
897db96d56Sopenharmony_cidqfma0215  fma        220247843259112263.17995       321392340287987979002.80        47533279819997167655440  ->  7.078596978842809537929699954860308E+37 Inexact Rounded
907db96d56Sopenharmony_ci--                                                                                                            ->  1.224955667581427559754106862350743E+37
917db96d56Sopenharmony_cidqfma0226  fma       23880729790368880412.1449       512947333827064719.55407      217117438419590824502.963  ->  1.224955667581427559754106862350744E+37 Inexact Rounded
927db96d56Sopenharmony_ci--                                                                                                            ->  -2.530094043253148806272276368579144E+42
937db96d56Sopenharmony_cidqfma0229  fma        2539892357016099706.4126      -996142232667504817717435       53682082598315949425.937  ->  -2.530094043253148806272276368579143E+42 Inexact Rounded
947db96d56Sopenharmony_ci--                                                                                                            ->  1.713387085759711954319391412788454E+37
957db96d56Sopenharmony_cidqfma0233  fma        4546339491341624464.0804            3768717864169205581       83578980278690395184.620  ->  1.713387085759711954319391412788453E+37 Inexact Rounded
967db96d56Sopenharmony_ci--                                                                                                            ->  4.062275663405823716411579117771547E+35
977db96d56Sopenharmony_cidqfma0235  fma        409242119433816131.42253      992633815166741501.477249        70179636544416756129546  ->  4.062275663405823716411579117771548E+35 Inexact Rounded
987db96d56Sopenharmony_ci--                                                                                                            ->  6.002604327732568490562249875306823E+47
997db96d56Sopenharmony_cidqfma0258  fma        817941336593541742159684       733867339769310729266598      78563844650942419311830.8  ->  6.002604327732568490562249875306822E+47 Inexact Rounded
1007db96d56Sopenharmony_ci--                                                                                                            ->  -2.027022514381452197510103395283874E+39
1017db96d56Sopenharmony_cidqfma0264  fma       387617310169161270.737532     -5229442703414956061216.62      57665666816652967150473.5  ->  -2.027022514381452197510103395283873E+39 Inexact Rounded
1027db96d56Sopenharmony_ci--                                                                                                            ->  -7.856525039803554001144089842730361E+37
1037db96d56Sopenharmony_cidqfma0267  fma      -847655845720565274701.210        92685316564117739.83984      22780950041376424429.5686  ->  -7.856525039803554001144089842730360E+37 Inexact Rounded
1047db96d56Sopenharmony_ci--                                                                                                            ->  1.695515562011520746125607502237559E+38
1057db96d56Sopenharmony_cidqfma0268  fma          21590290365127685.3675       7853139227576541379426.8       -3275859437236180.761544  ->  1.695515562011520746125607502237558E+38 Inexact Rounded
1067db96d56Sopenharmony_ci--                                                                                                            ->  -8.448422935783289219748115038014710E+38
1077db96d56Sopenharmony_cidqfma0269  fma      -974320636272862697.971586      867109103641860247440.756        -9775170775902454762.98  ->  -8.448422935783289219748115038014709E+38 Inexact Rounded
1087db96d56Sopenharmony_ci
1097db96d56Sopenharmony_ci-- Cases where multiply would overflow or underflow if separate
1107db96d56Sopenharmony_cidqfma0300  fma   9e+6144    10   0         -> Infinity  Overflow Inexact Rounded
1117db96d56Sopenharmony_cidqfma0301  fma   1e+6144    10   0         -> Infinity  Overflow Inexact Rounded
1127db96d56Sopenharmony_cidqfma0302  fma   1e+6144    10   -1e+6144  -> 9.000000000000000000000000000000000E+6144 Clamped
1137db96d56Sopenharmony_cidqfma0303  fma   1e+6144    10   -9e+6144  -> 1.000000000000000000000000000000000E+6144 Clamped
1147db96d56Sopenharmony_ci-- subnormal etc.
1157db96d56Sopenharmony_cidqfma0305  fma   1e-6176    0.1  0         -> 0E-6176 Underflow Subnormal Inexact Rounded Clamped
1167db96d56Sopenharmony_cidqfma0306  fma   1e-6176    0.1  1         -> 1.000000000000000000000000000000000 Inexact Rounded
1177db96d56Sopenharmony_cidqfma0307  fma   1e-6176    0.1  1e-6176   -> 1E-6176 Underflow Subnormal Inexact Rounded
1187db96d56Sopenharmony_ci
1197db96d56Sopenharmony_ci-- Infinite combinations
1207db96d56Sopenharmony_cidqfma0800 fma  Inf   Inf   Inf    ->  Infinity
1217db96d56Sopenharmony_cidqfma0801 fma  Inf   Inf  -Inf    ->  NaN Invalid_operation
1227db96d56Sopenharmony_cidqfma0802 fma  Inf  -Inf   Inf    ->  NaN Invalid_operation
1237db96d56Sopenharmony_cidqfma0803 fma  Inf  -Inf  -Inf    -> -Infinity
1247db96d56Sopenharmony_cidqfma0804 fma -Inf   Inf   Inf    ->  NaN Invalid_operation
1257db96d56Sopenharmony_cidqfma0805 fma -Inf   Inf  -Inf    -> -Infinity
1267db96d56Sopenharmony_cidqfma0806 fma -Inf  -Inf   Inf    ->  Infinity
1277db96d56Sopenharmony_cidqfma0807 fma -Inf  -Inf  -Inf    ->  NaN Invalid_operation
1287db96d56Sopenharmony_ci
1297db96d56Sopenharmony_ci-- Triple NaN propagation
1307db96d56Sopenharmony_cidqfma0900 fma  NaN2  NaN3  NaN5   ->  NaN2
1317db96d56Sopenharmony_cidqfma0901 fma  0     NaN3  NaN5   ->  NaN3
1327db96d56Sopenharmony_cidqfma0902 fma  0     0     NaN5   ->  NaN5
1337db96d56Sopenharmony_ci-- first sNaN wins (consider qNaN from earlier sNaN being
1347db96d56Sopenharmony_ci-- overridden by an sNaN in third operand)
1357db96d56Sopenharmony_cidqfma0903 fma  sNaN1 sNaN2 sNaN3  ->  NaN1 Invalid_operation
1367db96d56Sopenharmony_cidqfma0904 fma  0     sNaN2 sNaN3  ->  NaN2 Invalid_operation
1377db96d56Sopenharmony_cidqfma0905 fma  0     0     sNaN3  ->  NaN3 Invalid_operation
1387db96d56Sopenharmony_cidqfma0906 fma  sNaN1 sNaN2 sNaN3  ->  NaN1 Invalid_operation
1397db96d56Sopenharmony_cidqfma0907 fma  NaN7  sNaN2 sNaN3  ->  NaN2 Invalid_operation
1407db96d56Sopenharmony_cidqfma0908 fma  NaN7  NaN5  sNaN3  ->  NaN3 Invalid_operation
1417db96d56Sopenharmony_ci
1427db96d56Sopenharmony_ci-- MULTIPLICATION TESTS ------------------------------------------------
1437db96d56Sopenharmony_cirounding:    half_even
1447db96d56Sopenharmony_ci
1457db96d56Sopenharmony_ci-- sanity checks
1467db96d56Sopenharmony_cidqfma2000 fma  2      2   0e+6144  -> 4
1477db96d56Sopenharmony_cidqfma2001 fma  2      3   0e+6144  -> 6
1487db96d56Sopenharmony_cidqfma2002 fma  5      1   0e+6144  -> 5
1497db96d56Sopenharmony_cidqfma2003 fma  5      2   0e+6144  -> 10
1507db96d56Sopenharmony_cidqfma2004 fma  1.20   2   0e+6144  -> 2.40
1517db96d56Sopenharmony_cidqfma2005 fma  1.20   0   0e+6144  -> 0.00
1527db96d56Sopenharmony_cidqfma2006 fma  1.20  -2   0e+6144  -> -2.40
1537db96d56Sopenharmony_cidqfma2007 fma  -1.20  2   0e+6144  -> -2.40
1547db96d56Sopenharmony_cidqfma2008 fma  -1.20  0   0e+6144  -> 0.00
1557db96d56Sopenharmony_cidqfma2009 fma  -1.20 -2   0e+6144  -> 2.40
1567db96d56Sopenharmony_cidqfma2010 fma  5.09 7.1   0e+6144  -> 36.139
1577db96d56Sopenharmony_cidqfma2011 fma  2.5    4   0e+6144  -> 10.0
1587db96d56Sopenharmony_cidqfma2012 fma  2.50   4   0e+6144  -> 10.00
1597db96d56Sopenharmony_cidqfma2013 fma  1.23456789 1.0000000000000000000000000000   0e+6144  -> 1.234567890000000000000000000000000 Rounded
1607db96d56Sopenharmony_cidqfma2015 fma  2.50   4   0e+6144  -> 10.00
1617db96d56Sopenharmony_cidqfma2016 fma   9.99999999999999999  9.99999999999999999   0e+6144  ->  99.99999999999999980000000000000000 Inexact Rounded
1627db96d56Sopenharmony_cidqfma2017 fma   9.99999999999999999 -9.99999999999999999   0e+6144  -> -99.99999999999999980000000000000000 Inexact Rounded
1637db96d56Sopenharmony_cidqfma2018 fma  -9.99999999999999999  9.99999999999999999   0e+6144  -> -99.99999999999999980000000000000000 Inexact Rounded
1647db96d56Sopenharmony_cidqfma2019 fma  -9.99999999999999999 -9.99999999999999999   0e+6144  ->  99.99999999999999980000000000000000 Inexact Rounded
1657db96d56Sopenharmony_ci
1667db96d56Sopenharmony_ci-- zeros, etc.
1677db96d56Sopenharmony_cidqfma2021 fma   0      0       0e+6144  ->  0
1687db96d56Sopenharmony_cidqfma2022 fma   0     -0       0e+6144  ->  0
1697db96d56Sopenharmony_cidqfma2023 fma  -0      0       0e+6144  ->  0
1707db96d56Sopenharmony_cidqfma2024 fma  -0     -0       0e+6144  ->  0
1717db96d56Sopenharmony_cidqfma2025 fma  -0.0   -0.0     0e+6144  ->  0.00
1727db96d56Sopenharmony_cidqfma2026 fma  -0.0   -0.0     0e+6144  ->  0.00
1737db96d56Sopenharmony_cidqfma2027 fma  -0.0   -0.0     0e+6144  ->  0.00
1747db96d56Sopenharmony_cidqfma2028 fma  -0.0   -0.0     0e+6144  ->  0.00
1757db96d56Sopenharmony_cidqfma2030 fma   5.00   1E-3    0e+6144  ->  0.00500
1767db96d56Sopenharmony_cidqfma2031 fma   00.00  0.000   0e+6144  ->  0.00000
1777db96d56Sopenharmony_cidqfma2032 fma   00.00  0E-3    0e+6144  ->  0.00000     -- rhs is 0
1787db96d56Sopenharmony_cidqfma2033 fma   0E-3   00.00   0e+6144  ->  0.00000     -- lhs is 0
1797db96d56Sopenharmony_cidqfma2034 fma  -5.00   1E-3    0e+6144  -> -0.00500
1807db96d56Sopenharmony_cidqfma2035 fma  -00.00  0.000   0e+6144  ->  0.00000
1817db96d56Sopenharmony_cidqfma2036 fma  -00.00  0E-3    0e+6144  ->  0.00000     -- rhs is 0
1827db96d56Sopenharmony_cidqfma2037 fma  -0E-3   00.00   0e+6144  ->  0.00000     -- lhs is 0
1837db96d56Sopenharmony_cidqfma2038 fma   5.00  -1E-3    0e+6144  -> -0.00500
1847db96d56Sopenharmony_cidqfma2039 fma   00.00 -0.000   0e+6144  ->  0.00000
1857db96d56Sopenharmony_cidqfma2040 fma   00.00 -0E-3    0e+6144  ->  0.00000     -- rhs is 0
1867db96d56Sopenharmony_cidqfma2041 fma   0E-3  -00.00   0e+6144  ->  0.00000     -- lhs is 0
1877db96d56Sopenharmony_cidqfma2042 fma  -5.00  -1E-3    0e+6144  ->  0.00500
1887db96d56Sopenharmony_cidqfma2043 fma  -00.00 -0.000   0e+6144  ->  0.00000
1897db96d56Sopenharmony_cidqfma2044 fma  -00.00 -0E-3    0e+6144  ->  0.00000     -- rhs is 0
1907db96d56Sopenharmony_cidqfma2045 fma  -0E-3  -00.00   0e+6144  ->  0.00000     -- lhs is 0
1917db96d56Sopenharmony_ci
1927db96d56Sopenharmony_ci-- examples from decarith
1937db96d56Sopenharmony_cidqfma2050 fma  1.20 3          0e+6144  -> 3.60
1947db96d56Sopenharmony_cidqfma2051 fma  7    3          0e+6144  -> 21
1957db96d56Sopenharmony_cidqfma2052 fma  0.9  0.8        0e+6144  -> 0.72
1967db96d56Sopenharmony_cidqfma2053 fma  0.9  -0         0e+6144  -> 0.0
1977db96d56Sopenharmony_cidqfma2054 fma  654321 654321   0e+6144  -> 428135971041
1987db96d56Sopenharmony_ci
1997db96d56Sopenharmony_cidqfma2060 fma  123.45 1e7    0e+6144  ->  1.2345E+9
2007db96d56Sopenharmony_cidqfma2061 fma  123.45 1e8    0e+6144  ->  1.2345E+10
2017db96d56Sopenharmony_cidqfma2062 fma  123.45 1e+9   0e+6144  ->  1.2345E+11
2027db96d56Sopenharmony_cidqfma2063 fma  123.45 1e10   0e+6144  ->  1.2345E+12
2037db96d56Sopenharmony_cidqfma2064 fma  123.45 1e11   0e+6144  ->  1.2345E+13
2047db96d56Sopenharmony_cidqfma2065 fma  123.45 1e12   0e+6144  ->  1.2345E+14
2057db96d56Sopenharmony_cidqfma2066 fma  123.45 1e13   0e+6144  ->  1.2345E+15
2067db96d56Sopenharmony_ci
2077db96d56Sopenharmony_ci
2087db96d56Sopenharmony_ci-- test some intermediate lengths
2097db96d56Sopenharmony_ci--                    1234567890123456
2107db96d56Sopenharmony_cidqfma2080 fma  0.1 1230123456456789       0e+6144  -> 123012345645678.9
2117db96d56Sopenharmony_cidqfma2084 fma  0.1 1230123456456789       0e+6144  -> 123012345645678.9
2127db96d56Sopenharmony_cidqfma2090 fma  1230123456456789     0.1   0e+6144  -> 123012345645678.9
2137db96d56Sopenharmony_cidqfma2094 fma  1230123456456789     0.1   0e+6144  -> 123012345645678.9
2147db96d56Sopenharmony_ci
2157db96d56Sopenharmony_ci-- test some more edge cases and carries
2167db96d56Sopenharmony_cidqfma2101 fma  9 9     0e+6144  -> 81
2177db96d56Sopenharmony_cidqfma2102 fma  9 90     0e+6144  -> 810
2187db96d56Sopenharmony_cidqfma2103 fma  9 900     0e+6144  -> 8100
2197db96d56Sopenharmony_cidqfma2104 fma  9 9000     0e+6144  -> 81000
2207db96d56Sopenharmony_cidqfma2105 fma  9 90000     0e+6144  -> 810000
2217db96d56Sopenharmony_cidqfma2106 fma  9 900000     0e+6144  -> 8100000
2227db96d56Sopenharmony_cidqfma2107 fma  9 9000000     0e+6144  -> 81000000
2237db96d56Sopenharmony_cidqfma2108 fma  9 90000000     0e+6144  -> 810000000
2247db96d56Sopenharmony_cidqfma2109 fma  9 900000000     0e+6144  -> 8100000000
2257db96d56Sopenharmony_cidqfma2110 fma  9 9000000000     0e+6144  -> 81000000000
2267db96d56Sopenharmony_cidqfma2111 fma  9 90000000000     0e+6144  -> 810000000000
2277db96d56Sopenharmony_cidqfma2112 fma  9 900000000000     0e+6144  -> 8100000000000
2287db96d56Sopenharmony_cidqfma2113 fma  9 9000000000000     0e+6144  -> 81000000000000
2297db96d56Sopenharmony_cidqfma2114 fma  9 90000000000000     0e+6144  -> 810000000000000
2307db96d56Sopenharmony_cidqfma2115 fma  9 900000000000000     0e+6144  -> 8100000000000000
2317db96d56Sopenharmony_ci--dqfma2116 fma  9 9000000000000000     0e+6144  -> 81000000000000000
2327db96d56Sopenharmony_ci--dqfma2117 fma  9 90000000000000000     0e+6144  -> 810000000000000000
2337db96d56Sopenharmony_ci--dqfma2118 fma  9 900000000000000000     0e+6144  -> 8100000000000000000
2347db96d56Sopenharmony_ci--dqfma2119 fma  9 9000000000000000000     0e+6144  -> 81000000000000000000
2357db96d56Sopenharmony_ci--dqfma2120 fma  9 90000000000000000000     0e+6144  -> 810000000000000000000
2367db96d56Sopenharmony_ci--dqfma2121 fma  9 900000000000000000000     0e+6144  -> 8100000000000000000000
2377db96d56Sopenharmony_ci--dqfma2122 fma  9 9000000000000000000000     0e+6144  -> 81000000000000000000000
2387db96d56Sopenharmony_ci--dqfma2123 fma  9 90000000000000000000000     0e+6144  -> 810000000000000000000000
2397db96d56Sopenharmony_ci-- test some more edge cases without carries
2407db96d56Sopenharmony_cidqfma2131 fma  3 3     0e+6144  -> 9
2417db96d56Sopenharmony_cidqfma2132 fma  3 30     0e+6144  -> 90
2427db96d56Sopenharmony_cidqfma2133 fma  3 300     0e+6144  -> 900
2437db96d56Sopenharmony_cidqfma2134 fma  3 3000     0e+6144  -> 9000
2447db96d56Sopenharmony_cidqfma2135 fma  3 30000     0e+6144  -> 90000
2457db96d56Sopenharmony_cidqfma2136 fma  3 300000     0e+6144  -> 900000
2467db96d56Sopenharmony_cidqfma2137 fma  3 3000000     0e+6144  -> 9000000
2477db96d56Sopenharmony_cidqfma2138 fma  3 30000000     0e+6144  -> 90000000
2487db96d56Sopenharmony_cidqfma2139 fma  3 300000000     0e+6144  -> 900000000
2497db96d56Sopenharmony_cidqfma2140 fma  3 3000000000     0e+6144  -> 9000000000
2507db96d56Sopenharmony_cidqfma2141 fma  3 30000000000     0e+6144  -> 90000000000
2517db96d56Sopenharmony_cidqfma2142 fma  3 300000000000     0e+6144  -> 900000000000
2527db96d56Sopenharmony_cidqfma2143 fma  3 3000000000000     0e+6144  -> 9000000000000
2537db96d56Sopenharmony_cidqfma2144 fma  3 30000000000000     0e+6144  -> 90000000000000
2547db96d56Sopenharmony_cidqfma2145 fma  3 300000000000000     0e+6144  -> 900000000000000
2557db96d56Sopenharmony_cidqfma2146 fma  3 3000000000000000     0e+6144  -> 9000000000000000
2567db96d56Sopenharmony_cidqfma2147 fma  3 30000000000000000     0e+6144  -> 90000000000000000
2577db96d56Sopenharmony_cidqfma2148 fma  3 300000000000000000     0e+6144  -> 900000000000000000
2587db96d56Sopenharmony_cidqfma2149 fma  3 3000000000000000000     0e+6144  -> 9000000000000000000
2597db96d56Sopenharmony_cidqfma2150 fma  3 30000000000000000000     0e+6144  -> 90000000000000000000
2607db96d56Sopenharmony_cidqfma2151 fma  3 300000000000000000000     0e+6144  -> 900000000000000000000
2617db96d56Sopenharmony_cidqfma2152 fma  3 3000000000000000000000     0e+6144  -> 9000000000000000000000
2627db96d56Sopenharmony_cidqfma2153 fma  3 30000000000000000000000     0e+6144  -> 90000000000000000000000
2637db96d56Sopenharmony_ci
2647db96d56Sopenharmony_cidqfma2263 fma  30269.587755640502150977251770554 4.8046009735990873395936309640543   0e+6144  -> 145433.2908011933696719165119928296 Inexact Rounded
2657db96d56Sopenharmony_ci
2667db96d56Sopenharmony_ci-- test some edge cases with exact rounding
2677db96d56Sopenharmony_cidqfma2301 fma  900000000000000000 9     0e+6144  -> 8100000000000000000
2687db96d56Sopenharmony_cidqfma2302 fma  900000000000000000 90     0e+6144  -> 81000000000000000000
2697db96d56Sopenharmony_cidqfma2303 fma  900000000000000000 900     0e+6144  -> 810000000000000000000
2707db96d56Sopenharmony_cidqfma2304 fma  900000000000000000 9000     0e+6144  -> 8100000000000000000000
2717db96d56Sopenharmony_cidqfma2305 fma  900000000000000000 90000     0e+6144  -> 81000000000000000000000
2727db96d56Sopenharmony_cidqfma2306 fma  900000000000000000 900000     0e+6144  -> 810000000000000000000000
2737db96d56Sopenharmony_cidqfma2307 fma  900000000000000000 9000000     0e+6144  -> 8100000000000000000000000
2747db96d56Sopenharmony_cidqfma2308 fma  900000000000000000 90000000     0e+6144  -> 81000000000000000000000000
2757db96d56Sopenharmony_cidqfma2309 fma  900000000000000000 900000000     0e+6144  -> 810000000000000000000000000
2767db96d56Sopenharmony_cidqfma2310 fma  900000000000000000 9000000000     0e+6144  -> 8100000000000000000000000000
2777db96d56Sopenharmony_cidqfma2311 fma  900000000000000000 90000000000     0e+6144  -> 81000000000000000000000000000
2787db96d56Sopenharmony_cidqfma2312 fma  900000000000000000 900000000000     0e+6144  -> 810000000000000000000000000000
2797db96d56Sopenharmony_cidqfma2313 fma  900000000000000000 9000000000000     0e+6144  -> 8100000000000000000000000000000
2807db96d56Sopenharmony_cidqfma2314 fma  900000000000000000 90000000000000     0e+6144  -> 81000000000000000000000000000000
2817db96d56Sopenharmony_cidqfma2315 fma  900000000000000000 900000000000000     0e+6144  -> 810000000000000000000000000000000
2827db96d56Sopenharmony_cidqfma2316 fma  900000000000000000 9000000000000000     0e+6144  -> 8100000000000000000000000000000000
2837db96d56Sopenharmony_cidqfma2317 fma  9000000000000000000 9000000000000000     0e+6144  -> 8.100000000000000000000000000000000E+34  Rounded
2847db96d56Sopenharmony_cidqfma2318 fma  90000000000000000000 9000000000000000     0e+6144  -> 8.100000000000000000000000000000000E+35  Rounded
2857db96d56Sopenharmony_cidqfma2319 fma  900000000000000000000 9000000000000000     0e+6144  -> 8.100000000000000000000000000000000E+36  Rounded
2867db96d56Sopenharmony_cidqfma2320 fma  9000000000000000000000 9000000000000000     0e+6144  -> 8.100000000000000000000000000000000E+37  Rounded
2877db96d56Sopenharmony_cidqfma2321 fma  90000000000000000000000 9000000000000000     0e+6144  -> 8.100000000000000000000000000000000E+38  Rounded
2887db96d56Sopenharmony_cidqfma2322 fma  900000000000000000000000 9000000000000000     0e+6144  -> 8.100000000000000000000000000000000E+39  Rounded
2897db96d56Sopenharmony_cidqfma2323 fma  9000000000000000000000000 9000000000000000     0e+6144  -> 8.100000000000000000000000000000000E+40  Rounded
2907db96d56Sopenharmony_ci
2917db96d56Sopenharmony_ci-- tryzeros cases
2927db96d56Sopenharmony_cidqfma2504  fma   0E-4260 1000E-4260    0e+6144  -> 0E-6176 Clamped
2937db96d56Sopenharmony_cidqfma2505  fma   100E+4260 0E+4260     0e+6144  -> 0E+6111 Clamped
2947db96d56Sopenharmony_ci
2957db96d56Sopenharmony_ci-- mixed with zeros
2967db96d56Sopenharmony_cidqfma2541 fma   0    -1       0e+6144  ->  0
2977db96d56Sopenharmony_cidqfma2542 fma  -0    -1       0e+6144  ->  0
2987db96d56Sopenharmony_cidqfma2543 fma   0     1       0e+6144  ->  0
2997db96d56Sopenharmony_cidqfma2544 fma  -0     1       0e+6144  ->  0
3007db96d56Sopenharmony_cidqfma2545 fma  -1     0       0e+6144  ->  0
3017db96d56Sopenharmony_cidqfma2546 fma  -1    -0       0e+6144  ->  0
3027db96d56Sopenharmony_cidqfma2547 fma   1     0       0e+6144  ->  0
3037db96d56Sopenharmony_cidqfma2548 fma   1    -0       0e+6144  ->  0
3047db96d56Sopenharmony_ci
3057db96d56Sopenharmony_cidqfma2551 fma   0.0  -1       0e+6144  ->  0.0
3067db96d56Sopenharmony_cidqfma2552 fma  -0.0  -1       0e+6144  ->  0.0
3077db96d56Sopenharmony_cidqfma2553 fma   0.0   1       0e+6144  ->  0.0
3087db96d56Sopenharmony_cidqfma2554 fma  -0.0   1       0e+6144  ->  0.0
3097db96d56Sopenharmony_cidqfma2555 fma  -1.0   0       0e+6144  ->  0.0
3107db96d56Sopenharmony_cidqfma2556 fma  -1.0  -0       0e+6144  ->  0.0
3117db96d56Sopenharmony_cidqfma2557 fma   1.0   0       0e+6144  ->  0.0
3127db96d56Sopenharmony_cidqfma2558 fma   1.0  -0       0e+6144  ->  0.0
3137db96d56Sopenharmony_ci
3147db96d56Sopenharmony_cidqfma2561 fma   0    -1.0     0e+6144  ->  0.0
3157db96d56Sopenharmony_cidqfma2562 fma  -0    -1.0     0e+6144  ->  0.0
3167db96d56Sopenharmony_cidqfma2563 fma   0     1.0     0e+6144  ->  0.0
3177db96d56Sopenharmony_cidqfma2564 fma  -0     1.0     0e+6144  ->  0.0
3187db96d56Sopenharmony_cidqfma2565 fma  -1     0.0     0e+6144  ->  0.0
3197db96d56Sopenharmony_cidqfma2566 fma  -1    -0.0     0e+6144  ->  0.0
3207db96d56Sopenharmony_cidqfma2567 fma   1     0.0     0e+6144  ->  0.0
3217db96d56Sopenharmony_cidqfma2568 fma   1    -0.0     0e+6144  ->  0.0
3227db96d56Sopenharmony_ci
3237db96d56Sopenharmony_cidqfma2571 fma   0.0  -1.0     0e+6144  ->  0.00
3247db96d56Sopenharmony_cidqfma2572 fma  -0.0  -1.0     0e+6144  ->  0.00
3257db96d56Sopenharmony_cidqfma2573 fma   0.0   1.0     0e+6144  ->  0.00
3267db96d56Sopenharmony_cidqfma2574 fma  -0.0   1.0     0e+6144  ->  0.00
3277db96d56Sopenharmony_cidqfma2575 fma  -1.0   0.0     0e+6144  ->  0.00
3287db96d56Sopenharmony_cidqfma2576 fma  -1.0  -0.0     0e+6144  ->  0.00
3297db96d56Sopenharmony_cidqfma2577 fma   1.0   0.0     0e+6144  ->  0.00
3307db96d56Sopenharmony_cidqfma2578 fma   1.0  -0.0     0e+6144  ->  0.00
3317db96d56Sopenharmony_cidqfma2579 fma   1.0   0.0     0e+6144  ->  0.00
3327db96d56Sopenharmony_cidqfma2530 fma  -1.0  -0.0     0e+6144  ->  0.00
3337db96d56Sopenharmony_cidqfma2531 fma  -1.0   0.0     0e+6144  ->  0.00
3347db96d56Sopenharmony_cidqfma2532 fma   1.0  -0.0    -0e+6144  -> -0.00
3357db96d56Sopenharmony_cidqfma2533 fma   1.0   0.0    -0e+6144  ->  0.00
3367db96d56Sopenharmony_cidqfma2534 fma  -1.0  -0.0    -0e+6144  ->  0.00
3377db96d56Sopenharmony_cidqfma2535 fma  -1.0   0.0    -0e+6144  -> -0.00
3387db96d56Sopenharmony_ci
3397db96d56Sopenharmony_ci
3407db96d56Sopenharmony_ci-- Specials
3417db96d56Sopenharmony_cidqfma2580 fma   Inf  -Inf     0e+6144  -> -Infinity
3427db96d56Sopenharmony_cidqfma2581 fma   Inf  -1000    0e+6144  -> -Infinity
3437db96d56Sopenharmony_cidqfma2582 fma   Inf  -1       0e+6144  -> -Infinity
3447db96d56Sopenharmony_cidqfma2583 fma   Inf  -0       0e+6144  ->  NaN  Invalid_operation
3457db96d56Sopenharmony_cidqfma2584 fma   Inf   0       0e+6144  ->  NaN  Invalid_operation
3467db96d56Sopenharmony_cidqfma2585 fma   Inf   1       0e+6144  ->  Infinity
3477db96d56Sopenharmony_cidqfma2586 fma   Inf   1000    0e+6144  ->  Infinity
3487db96d56Sopenharmony_cidqfma2587 fma   Inf   Inf     0e+6144  ->  Infinity
3497db96d56Sopenharmony_cidqfma2588 fma  -1000  Inf     0e+6144  -> -Infinity
3507db96d56Sopenharmony_cidqfma2589 fma  -Inf   Inf     0e+6144  -> -Infinity
3517db96d56Sopenharmony_cidqfma2590 fma  -1     Inf     0e+6144  -> -Infinity
3527db96d56Sopenharmony_cidqfma2591 fma  -0     Inf     0e+6144  ->  NaN  Invalid_operation
3537db96d56Sopenharmony_cidqfma2592 fma   0     Inf     0e+6144  ->  NaN  Invalid_operation
3547db96d56Sopenharmony_cidqfma2593 fma   1     Inf     0e+6144  ->  Infinity
3557db96d56Sopenharmony_cidqfma2594 fma   1000  Inf     0e+6144  ->  Infinity
3567db96d56Sopenharmony_cidqfma2595 fma   Inf   Inf     0e+6144  ->  Infinity
3577db96d56Sopenharmony_ci
3587db96d56Sopenharmony_cidqfma2600 fma  -Inf  -Inf     0e+6144  ->  Infinity
3597db96d56Sopenharmony_cidqfma2601 fma  -Inf  -1000    0e+6144  ->  Infinity
3607db96d56Sopenharmony_cidqfma2602 fma  -Inf  -1       0e+6144  ->  Infinity
3617db96d56Sopenharmony_cidqfma2603 fma  -Inf  -0       0e+6144  ->  NaN  Invalid_operation
3627db96d56Sopenharmony_cidqfma2604 fma  -Inf   0       0e+6144  ->  NaN  Invalid_operation
3637db96d56Sopenharmony_cidqfma2605 fma  -Inf   1       0e+6144  -> -Infinity
3647db96d56Sopenharmony_cidqfma2606 fma  -Inf   1000    0e+6144  -> -Infinity
3657db96d56Sopenharmony_cidqfma2607 fma  -Inf   Inf     0e+6144  -> -Infinity
3667db96d56Sopenharmony_cidqfma2608 fma  -1000  Inf     0e+6144  -> -Infinity
3677db96d56Sopenharmony_cidqfma2609 fma  -Inf  -Inf     0e+6144  ->  Infinity
3687db96d56Sopenharmony_cidqfma2610 fma  -1    -Inf     0e+6144  ->  Infinity
3697db96d56Sopenharmony_cidqfma2611 fma  -0    -Inf     0e+6144  ->  NaN  Invalid_operation
3707db96d56Sopenharmony_cidqfma2612 fma   0    -Inf     0e+6144  ->  NaN  Invalid_operation
3717db96d56Sopenharmony_cidqfma2613 fma   1    -Inf     0e+6144  -> -Infinity
3727db96d56Sopenharmony_cidqfma2614 fma   1000 -Inf     0e+6144  -> -Infinity
3737db96d56Sopenharmony_cidqfma2615 fma   Inf  -Inf     0e+6144  -> -Infinity
3747db96d56Sopenharmony_ci
3757db96d56Sopenharmony_cidqfma2621 fma   NaN -Inf      0e+6144  ->  NaN
3767db96d56Sopenharmony_cidqfma2622 fma   NaN -1000     0e+6144  ->  NaN
3777db96d56Sopenharmony_cidqfma2623 fma   NaN -1        0e+6144  ->  NaN
3787db96d56Sopenharmony_cidqfma2624 fma   NaN -0        0e+6144  ->  NaN
3797db96d56Sopenharmony_cidqfma2625 fma   NaN  0        0e+6144  ->  NaN
3807db96d56Sopenharmony_cidqfma2626 fma   NaN  1        0e+6144  ->  NaN
3817db96d56Sopenharmony_cidqfma2627 fma   NaN  1000     0e+6144  ->  NaN
3827db96d56Sopenharmony_cidqfma2628 fma   NaN  Inf      0e+6144  ->  NaN
3837db96d56Sopenharmony_cidqfma2629 fma   NaN  NaN      0e+6144  ->  NaN
3847db96d56Sopenharmony_cidqfma2630 fma  -Inf  NaN      0e+6144  ->  NaN
3857db96d56Sopenharmony_cidqfma2631 fma  -1000 NaN      0e+6144  ->  NaN
3867db96d56Sopenharmony_cidqfma2632 fma  -1    NaN      0e+6144  ->  NaN
3877db96d56Sopenharmony_cidqfma2633 fma  -0    NaN      0e+6144  ->  NaN
3887db96d56Sopenharmony_cidqfma2634 fma   0    NaN      0e+6144  ->  NaN
3897db96d56Sopenharmony_cidqfma2635 fma   1    NaN      0e+6144  ->  NaN
3907db96d56Sopenharmony_cidqfma2636 fma   1000 NaN      0e+6144  ->  NaN
3917db96d56Sopenharmony_cidqfma2637 fma   Inf  NaN      0e+6144  ->  NaN
3927db96d56Sopenharmony_ci
3937db96d56Sopenharmony_cidqfma2641 fma   sNaN -Inf     0e+6144  ->  NaN  Invalid_operation
3947db96d56Sopenharmony_cidqfma2642 fma   sNaN -1000    0e+6144  ->  NaN  Invalid_operation
3957db96d56Sopenharmony_cidqfma2643 fma   sNaN -1       0e+6144  ->  NaN  Invalid_operation
3967db96d56Sopenharmony_cidqfma2644 fma   sNaN -0       0e+6144  ->  NaN  Invalid_operation
3977db96d56Sopenharmony_cidqfma2645 fma   sNaN  0       0e+6144  ->  NaN  Invalid_operation
3987db96d56Sopenharmony_cidqfma2646 fma   sNaN  1       0e+6144  ->  NaN  Invalid_operation
3997db96d56Sopenharmony_cidqfma2647 fma   sNaN  1000    0e+6144  ->  NaN  Invalid_operation
4007db96d56Sopenharmony_cidqfma2648 fma   sNaN  NaN     0e+6144  ->  NaN  Invalid_operation
4017db96d56Sopenharmony_cidqfma2649 fma   sNaN sNaN     0e+6144  ->  NaN  Invalid_operation
4027db96d56Sopenharmony_cidqfma2650 fma   NaN  sNaN     0e+6144  ->  NaN  Invalid_operation
4037db96d56Sopenharmony_cidqfma2651 fma  -Inf  sNaN     0e+6144  ->  NaN  Invalid_operation
4047db96d56Sopenharmony_cidqfma2652 fma  -1000 sNaN     0e+6144  ->  NaN  Invalid_operation
4057db96d56Sopenharmony_cidqfma2653 fma  -1    sNaN     0e+6144  ->  NaN  Invalid_operation
4067db96d56Sopenharmony_cidqfma2654 fma  -0    sNaN     0e+6144  ->  NaN  Invalid_operation
4077db96d56Sopenharmony_cidqfma2655 fma   0    sNaN     0e+6144  ->  NaN  Invalid_operation
4087db96d56Sopenharmony_cidqfma2656 fma   1    sNaN     0e+6144  ->  NaN  Invalid_operation
4097db96d56Sopenharmony_cidqfma2657 fma   1000 sNaN     0e+6144  ->  NaN  Invalid_operation
4107db96d56Sopenharmony_cidqfma2658 fma   Inf  sNaN     0e+6144  ->  NaN  Invalid_operation
4117db96d56Sopenharmony_cidqfma2659 fma   NaN  sNaN     0e+6144  ->  NaN  Invalid_operation
4127db96d56Sopenharmony_ci
4137db96d56Sopenharmony_ci-- propagating NaNs
4147db96d56Sopenharmony_cidqfma2661 fma   NaN9 -Inf     0e+6144  ->  NaN9
4157db96d56Sopenharmony_cidqfma2662 fma   NaN8  999     0e+6144  ->  NaN8
4167db96d56Sopenharmony_cidqfma2663 fma   NaN71 Inf     0e+6144  ->  NaN71
4177db96d56Sopenharmony_cidqfma2664 fma   NaN6  NaN5    0e+6144  ->  NaN6
4187db96d56Sopenharmony_cidqfma2665 fma  -Inf   NaN4    0e+6144  ->  NaN4
4197db96d56Sopenharmony_cidqfma2666 fma  -999   NaN33   0e+6144  ->  NaN33
4207db96d56Sopenharmony_cidqfma2667 fma   Inf   NaN2    0e+6144  ->  NaN2
4217db96d56Sopenharmony_ci
4227db96d56Sopenharmony_cidqfma2671 fma   sNaN99 -Inf      0e+6144  ->  NaN99 Invalid_operation
4237db96d56Sopenharmony_cidqfma2672 fma   sNaN98 -11       0e+6144  ->  NaN98 Invalid_operation
4247db96d56Sopenharmony_cidqfma2673 fma   sNaN97  NaN      0e+6144  ->  NaN97 Invalid_operation
4257db96d56Sopenharmony_cidqfma2674 fma   sNaN16 sNaN94    0e+6144  ->  NaN16 Invalid_operation
4267db96d56Sopenharmony_cidqfma2675 fma   NaN95  sNaN93    0e+6144  ->  NaN93 Invalid_operation
4277db96d56Sopenharmony_cidqfma2676 fma  -Inf    sNaN92    0e+6144  ->  NaN92 Invalid_operation
4287db96d56Sopenharmony_cidqfma2677 fma   088    sNaN91    0e+6144  ->  NaN91 Invalid_operation
4297db96d56Sopenharmony_cidqfma2678 fma   Inf    sNaN90    0e+6144  ->  NaN90 Invalid_operation
4307db96d56Sopenharmony_cidqfma2679 fma   NaN    sNaN89    0e+6144  ->  NaN89 Invalid_operation
4317db96d56Sopenharmony_ci
4327db96d56Sopenharmony_cidqfma2681 fma  -NaN9 -Inf     0e+6144  -> -NaN9
4337db96d56Sopenharmony_cidqfma2682 fma  -NaN8  999     0e+6144  -> -NaN8
4347db96d56Sopenharmony_cidqfma2683 fma  -NaN71 Inf     0e+6144  -> -NaN71
4357db96d56Sopenharmony_cidqfma2684 fma  -NaN6 -NaN5    0e+6144  -> -NaN6
4367db96d56Sopenharmony_cidqfma2685 fma  -Inf  -NaN4    0e+6144  -> -NaN4
4377db96d56Sopenharmony_cidqfma2686 fma  -999  -NaN33   0e+6144  -> -NaN33
4387db96d56Sopenharmony_cidqfma2687 fma   Inf  -NaN2    0e+6144  -> -NaN2
4397db96d56Sopenharmony_ci
4407db96d56Sopenharmony_cidqfma2691 fma  -sNaN99 -Inf      0e+6144  -> -NaN99 Invalid_operation
4417db96d56Sopenharmony_cidqfma2692 fma  -sNaN98 -11       0e+6144  -> -NaN98 Invalid_operation
4427db96d56Sopenharmony_cidqfma2693 fma  -sNaN97  NaN      0e+6144  -> -NaN97 Invalid_operation
4437db96d56Sopenharmony_cidqfma2694 fma  -sNaN16 -sNaN94   0e+6144  -> -NaN16 Invalid_operation
4447db96d56Sopenharmony_cidqfma2695 fma  -NaN95  -sNaN93   0e+6144  -> -NaN93 Invalid_operation
4457db96d56Sopenharmony_cidqfma2696 fma  -Inf    -sNaN92   0e+6144  -> -NaN92 Invalid_operation
4467db96d56Sopenharmony_cidqfma2697 fma   088    -sNaN91   0e+6144  -> -NaN91 Invalid_operation
4477db96d56Sopenharmony_cidqfma2698 fma   Inf    -sNaN90   0e+6144  -> -NaN90 Invalid_operation
4487db96d56Sopenharmony_cidqfma2699 fma  -NaN    -sNaN89   0e+6144  -> -NaN89 Invalid_operation
4497db96d56Sopenharmony_ci
4507db96d56Sopenharmony_cidqfma2701 fma  -NaN  -Inf     0e+6144  -> -NaN
4517db96d56Sopenharmony_cidqfma2702 fma  -NaN   999     0e+6144  -> -NaN
4527db96d56Sopenharmony_cidqfma2703 fma  -NaN   Inf     0e+6144  -> -NaN
4537db96d56Sopenharmony_cidqfma2704 fma  -NaN  -NaN     0e+6144  -> -NaN
4547db96d56Sopenharmony_cidqfma2705 fma  -Inf  -NaN0    0e+6144  -> -NaN
4557db96d56Sopenharmony_cidqfma2706 fma  -999  -NaN     0e+6144  -> -NaN
4567db96d56Sopenharmony_cidqfma2707 fma   Inf  -NaN     0e+6144  -> -NaN
4577db96d56Sopenharmony_ci
4587db96d56Sopenharmony_cidqfma2711 fma  -sNaN   -Inf      0e+6144  -> -NaN Invalid_operation
4597db96d56Sopenharmony_cidqfma2712 fma  -sNaN   -11       0e+6144  -> -NaN Invalid_operation
4607db96d56Sopenharmony_cidqfma2713 fma  -sNaN00  NaN      0e+6144  -> -NaN Invalid_operation
4617db96d56Sopenharmony_cidqfma2714 fma  -sNaN   -sNaN     0e+6144  -> -NaN Invalid_operation
4627db96d56Sopenharmony_cidqfma2715 fma  -NaN    -sNaN     0e+6144  -> -NaN Invalid_operation
4637db96d56Sopenharmony_cidqfma2716 fma  -Inf    -sNaN     0e+6144  -> -NaN Invalid_operation
4647db96d56Sopenharmony_cidqfma2717 fma   088    -sNaN     0e+6144  -> -NaN Invalid_operation
4657db96d56Sopenharmony_cidqfma2718 fma   Inf    -sNaN     0e+6144  -> -NaN Invalid_operation
4667db96d56Sopenharmony_cidqfma2719 fma  -NaN    -sNaN     0e+6144  -> -NaN Invalid_operation
4677db96d56Sopenharmony_ci
4687db96d56Sopenharmony_ci-- overflow and underflow tests .. note subnormal results
4697db96d56Sopenharmony_ci-- signs
4707db96d56Sopenharmony_cidqfma2751 fma   1e+4277  1e+3311   0e+6144  ->  Infinity Overflow Inexact Rounded
4717db96d56Sopenharmony_cidqfma2752 fma   1e+4277 -1e+3311   0e+6144  -> -Infinity Overflow Inexact Rounded
4727db96d56Sopenharmony_cidqfma2753 fma  -1e+4277  1e+3311   0e+6144  -> -Infinity Overflow Inexact Rounded
4737db96d56Sopenharmony_cidqfma2754 fma  -1e+4277 -1e+3311   0e+6144  ->  Infinity Overflow Inexact Rounded
4747db96d56Sopenharmony_cidqfma2755 fma   1e-4277  1e-3311   0e+6144  ->  0E-6176 Underflow Subnormal Inexact Rounded Clamped
4757db96d56Sopenharmony_cidqfma2756 fma   1e-4277 -1e-3311   0e+6144  -> -0E-6176 Underflow Subnormal Inexact Rounded Clamped
4767db96d56Sopenharmony_cidqfma2757 fma  -1e-4277  1e-3311   0e+6144  -> -0E-6176 Underflow Subnormal Inexact Rounded Clamped
4777db96d56Sopenharmony_cidqfma2758 fma  -1e-4277 -1e-3311   0e+6144  ->  0E-6176 Underflow Subnormal Inexact Rounded Clamped
4787db96d56Sopenharmony_ci
4797db96d56Sopenharmony_ci-- 'subnormal' boundary (all hard underflow or overflow in base arithmetic)
4807db96d56Sopenharmony_cidqfma2760 fma  1e-6069 1e-101   0e+6144  -> 1E-6170 Subnormal
4817db96d56Sopenharmony_cidqfma2761 fma  1e-6069 1e-102   0e+6144  -> 1E-6171 Subnormal
4827db96d56Sopenharmony_cidqfma2762 fma  1e-6069 1e-103   0e+6144  -> 1E-6172 Subnormal
4837db96d56Sopenharmony_cidqfma2763 fma  1e-6069 1e-104   0e+6144  -> 1E-6173 Subnormal
4847db96d56Sopenharmony_cidqfma2764 fma  1e-6069 1e-105   0e+6144  -> 1E-6174 Subnormal
4857db96d56Sopenharmony_cidqfma2765 fma  1e-6069 1e-106   0e+6144  -> 1E-6175 Subnormal
4867db96d56Sopenharmony_cidqfma2766 fma  1e-6069 1e-107   0e+6144  -> 1E-6176 Subnormal
4877db96d56Sopenharmony_cidqfma2767 fma  1e-6069 1e-108   0e+6144  -> 0E-6176 Underflow Subnormal Inexact Rounded Clamped
4887db96d56Sopenharmony_cidqfma2768 fma  1e-6069 1e-109   0e+6144  -> 0E-6176 Underflow Subnormal Inexact Rounded Clamped
4897db96d56Sopenharmony_cidqfma2769 fma  1e-6069 1e-110   0e+6144  -> 0E-6176 Underflow Subnormal Inexact Rounded Clamped
4907db96d56Sopenharmony_ci-- [no equivalent of 'subnormal' for overflow]
4917db96d56Sopenharmony_cidqfma2770 fma  1e+40 1e+6101   0e+6144  -> 1.000000000000000000000000000000E+6141 Clamped
4927db96d56Sopenharmony_cidqfma2771 fma  1e+40 1e+6102   0e+6144  -> 1.0000000000000000000000000000000E+6142  Clamped
4937db96d56Sopenharmony_cidqfma2772 fma  1e+40 1e+6103   0e+6144  -> 1.00000000000000000000000000000000E+6143  Clamped
4947db96d56Sopenharmony_cidqfma2773 fma  1e+40 1e+6104   0e+6144  -> 1.000000000000000000000000000000000E+6144  Clamped
4957db96d56Sopenharmony_cidqfma2774 fma  1e+40 1e+6105   0e+6144  -> Infinity Overflow Inexact Rounded
4967db96d56Sopenharmony_cidqfma2775 fma  1e+40 1e+6106   0e+6144  -> Infinity Overflow Inexact Rounded
4977db96d56Sopenharmony_cidqfma2776 fma  1e+40 1e+6107   0e+6144  -> Infinity Overflow Inexact Rounded
4987db96d56Sopenharmony_cidqfma2777 fma  1e+40 1e+6108   0e+6144  -> Infinity Overflow Inexact Rounded
4997db96d56Sopenharmony_cidqfma2778 fma  1e+40 1e+6109   0e+6144  -> Infinity Overflow Inexact Rounded
5007db96d56Sopenharmony_cidqfma2779 fma  1e+40 1e+6110   0e+6144  -> Infinity Overflow Inexact Rounded
5017db96d56Sopenharmony_ci
5027db96d56Sopenharmony_cidqfma2801 fma   1.0000E-6172  1       0e+6144  -> 1.0000E-6172 Subnormal
5037db96d56Sopenharmony_cidqfma2802 fma   1.000E-6172   1e-1    0e+6144  -> 1.000E-6173  Subnormal
5047db96d56Sopenharmony_cidqfma2803 fma   1.00E-6172    1e-2    0e+6144  -> 1.00E-6174   Subnormal
5057db96d56Sopenharmony_cidqfma2804 fma   1.0E-6172     1e-3    0e+6144  -> 1.0E-6175    Subnormal
5067db96d56Sopenharmony_cidqfma2805 fma   1.0E-6172     1e-4    0e+6144  -> 1E-6176     Subnormal Rounded
5077db96d56Sopenharmony_cidqfma2806 fma   1.3E-6172     1e-4    0e+6144  -> 1E-6176     Underflow Subnormal Inexact Rounded
5087db96d56Sopenharmony_cidqfma2807 fma   1.5E-6172     1e-4    0e+6144  -> 2E-6176     Underflow Subnormal Inexact Rounded
5097db96d56Sopenharmony_cidqfma2808 fma   1.7E-6172     1e-4    0e+6144  -> 2E-6176     Underflow Subnormal Inexact Rounded
5107db96d56Sopenharmony_cidqfma2809 fma   2.3E-6172     1e-4    0e+6144  -> 2E-6176     Underflow Subnormal Inexact Rounded
5117db96d56Sopenharmony_cidqfma2810 fma   2.5E-6172     1e-4    0e+6144  -> 2E-6176     Underflow Subnormal Inexact Rounded
5127db96d56Sopenharmony_cidqfma2811 fma   2.7E-6172     1e-4    0e+6144  -> 3E-6176     Underflow Subnormal Inexact Rounded
5137db96d56Sopenharmony_cidqfma2812 fma   1.49E-6172    1e-4    0e+6144  -> 1E-6176     Underflow Subnormal Inexact Rounded
5147db96d56Sopenharmony_cidqfma2813 fma   1.50E-6172    1e-4    0e+6144  -> 2E-6176     Underflow Subnormal Inexact Rounded
5157db96d56Sopenharmony_cidqfma2814 fma   1.51E-6172    1e-4    0e+6144  -> 2E-6176     Underflow Subnormal Inexact Rounded
5167db96d56Sopenharmony_cidqfma2815 fma   2.49E-6172    1e-4    0e+6144  -> 2E-6176     Underflow Subnormal Inexact Rounded
5177db96d56Sopenharmony_cidqfma2816 fma   2.50E-6172    1e-4    0e+6144  -> 2E-6176     Underflow Subnormal Inexact Rounded
5187db96d56Sopenharmony_cidqfma2817 fma   2.51E-6172    1e-4    0e+6144  -> 3E-6176     Underflow Subnormal Inexact Rounded
5197db96d56Sopenharmony_ci
5207db96d56Sopenharmony_cidqfma2818 fma   1E-6172       1e-4    0e+6144  -> 1E-6176     Subnormal
5217db96d56Sopenharmony_cidqfma2819 fma   3E-6172       1e-5    0e+6144  -> 0E-6176     Underflow Subnormal Inexact Rounded Clamped
5227db96d56Sopenharmony_cidqfma2820 fma   5E-6172       1e-5    0e+6144  -> 0E-6176     Underflow Subnormal Inexact Rounded Clamped
5237db96d56Sopenharmony_cidqfma2821 fma   7E-6172       1e-5    0e+6144  -> 1E-6176     Underflow Subnormal Inexact Rounded
5247db96d56Sopenharmony_cidqfma2822 fma   9E-6172       1e-5    0e+6144  -> 1E-6176     Underflow Subnormal Inexact Rounded
5257db96d56Sopenharmony_cidqfma2823 fma   9.9E-6172     1e-5    0e+6144  -> 1E-6176     Underflow Subnormal Inexact Rounded
5267db96d56Sopenharmony_ci
5277db96d56Sopenharmony_cidqfma2824 fma   1E-6172      -1e-4    0e+6144  -> -1E-6176    Subnormal
5287db96d56Sopenharmony_cidqfma2825 fma   3E-6172      -1e-5    0e+6144  -> -0E-6176    Underflow Subnormal Inexact Rounded Clamped
5297db96d56Sopenharmony_cidqfma2826 fma  -5E-6172       1e-5    0e+6144  -> -0E-6176    Underflow Subnormal Inexact Rounded Clamped
5307db96d56Sopenharmony_cidqfma2827 fma   7E-6172      -1e-5    0e+6144  -> -1E-6176    Underflow Subnormal Inexact Rounded
5317db96d56Sopenharmony_cidqfma2828 fma  -9E-6172       1e-5    0e+6144  -> -1E-6176    Underflow Subnormal Inexact Rounded
5327db96d56Sopenharmony_cidqfma2829 fma   9.9E-6172    -1e-5    0e+6144  -> -1E-6176    Underflow Subnormal Inexact Rounded
5337db96d56Sopenharmony_cidqfma2830 fma   3.0E-6172    -1e-5    0e+6144  -> -0E-6176    Underflow Subnormal Inexact Rounded Clamped
5347db96d56Sopenharmony_ci
5357db96d56Sopenharmony_cidqfma2831 fma   1.0E-5977     1e-200   0e+6144  -> 0E-6176 Underflow Subnormal Inexact Rounded Clamped
5367db96d56Sopenharmony_cidqfma2832 fma   1.0E-5977     1e-199   0e+6144  -> 1E-6176    Subnormal Rounded
5377db96d56Sopenharmony_cidqfma2833 fma   1.0E-5977     1e-198   0e+6144  -> 1.0E-6175    Subnormal
5387db96d56Sopenharmony_cidqfma2834 fma   2.0E-5977     2e-198   0e+6144  -> 4.0E-6175    Subnormal
5397db96d56Sopenharmony_cidqfma2835 fma   4.0E-5977     4e-198   0e+6144  -> 1.60E-6174   Subnormal
5407db96d56Sopenharmony_cidqfma2836 fma  10.0E-5977    10e-198   0e+6144  -> 1.000E-6173  Subnormal
5417db96d56Sopenharmony_cidqfma2837 fma  30.0E-5977    30e-198   0e+6144  -> 9.000E-6173  Subnormal
5427db96d56Sopenharmony_cidqfma2838 fma  40.0E-5982    40e-166   0e+6144  -> 1.6000E-6145 Subnormal
5437db96d56Sopenharmony_cidqfma2839 fma  40.0E-5982    40e-165   0e+6144  -> 1.6000E-6144 Subnormal
5447db96d56Sopenharmony_cidqfma2840 fma  40.0E-5982    40e-164   0e+6144  -> 1.6000E-6143
5457db96d56Sopenharmony_ci
5467db96d56Sopenharmony_ci-- Long operand overflow may be a different path
5477db96d56Sopenharmony_cidqfma2870 fma  100  9.999E+6143       0e+6144  ->  Infinity Inexact Overflow Rounded
5487db96d56Sopenharmony_cidqfma2871 fma  100 -9.999E+6143       0e+6144  -> -Infinity Inexact Overflow Rounded
5497db96d56Sopenharmony_cidqfma2872 fma       9.999E+6143 100   0e+6144  ->  Infinity Inexact Overflow Rounded
5507db96d56Sopenharmony_cidqfma2873 fma      -9.999E+6143 100   0e+6144  -> -Infinity Inexact Overflow Rounded
5517db96d56Sopenharmony_ci
5527db96d56Sopenharmony_ci-- check for double-rounded subnormals
5537db96d56Sopenharmony_cidqfma2881 fma   1.2347E-6133 1.2347E-40    0e+6144  ->  1.524E-6173 Inexact Rounded Subnormal Underflow
5547db96d56Sopenharmony_cidqfma2882 fma   1.234E-6133 1.234E-40      0e+6144  ->  1.523E-6173 Inexact Rounded Subnormal Underflow
5557db96d56Sopenharmony_cidqfma2883 fma   1.23E-6133  1.23E-40       0e+6144  ->  1.513E-6173 Inexact Rounded Subnormal Underflow
5567db96d56Sopenharmony_cidqfma2884 fma   1.2E-6133   1.2E-40        0e+6144  ->  1.44E-6173  Subnormal
5577db96d56Sopenharmony_cidqfma2885 fma   1.2E-6133   1.2E-41        0e+6144  ->  1.44E-6174  Subnormal
5587db96d56Sopenharmony_cidqfma2886 fma   1.2E-6133   1.2E-42        0e+6144  ->  1.4E-6175   Subnormal Inexact Rounded Underflow
5597db96d56Sopenharmony_cidqfma2887 fma   1.2E-6133   1.3E-42        0e+6144  ->  1.6E-6175   Subnormal Inexact Rounded Underflow
5607db96d56Sopenharmony_cidqfma2888 fma   1.3E-6133   1.3E-42        0e+6144  ->  1.7E-6175   Subnormal Inexact Rounded Underflow
5617db96d56Sopenharmony_cidqfma2889 fma   1.3E-6133   1.3E-43        0e+6144  ->    2E-6176   Subnormal Inexact Rounded Underflow
5627db96d56Sopenharmony_cidqfma2890 fma   1.3E-6134   1.3E-43        0e+6144  ->    0E-6176   Clamped Subnormal Inexact Rounded Underflow
5637db96d56Sopenharmony_ci
5647db96d56Sopenharmony_cidqfma2891 fma   1.2345E-39    1.234E-6133   0e+6144  ->  1.5234E-6172 Inexact Rounded Subnormal Underflow
5657db96d56Sopenharmony_cidqfma2892 fma   1.23456E-39   1.234E-6133   0e+6144  ->  1.5234E-6172 Inexact Rounded Subnormal Underflow
5667db96d56Sopenharmony_cidqfma2893 fma   1.2345E-40   1.234E-6133   0e+6144  ->  1.523E-6173  Inexact Rounded Subnormal Underflow
5677db96d56Sopenharmony_cidqfma2894 fma   1.23456E-40  1.234E-6133   0e+6144  ->  1.523E-6173  Inexact Rounded Subnormal Underflow
5687db96d56Sopenharmony_cidqfma2895 fma   1.2345E-41   1.234E-6133   0e+6144  ->  1.52E-6174   Inexact Rounded Subnormal Underflow
5697db96d56Sopenharmony_cidqfma2896 fma   1.23456E-41  1.234E-6133   0e+6144  ->  1.52E-6174   Inexact Rounded Subnormal Underflow
5707db96d56Sopenharmony_ci
5717db96d56Sopenharmony_ci-- Now explore the case where we get a normal result with Underflow
5727db96d56Sopenharmony_ci-- prove operands are exact
5737db96d56Sopenharmony_cidqfma2906 fma   9.999999999999999999999999999999999E-6143  1                         0e+6144  -> 9.999999999999999999999999999999999E-6143
5747db96d56Sopenharmony_cidqfma2907 fma                        1  0.09999999999999999999999999999999999       0e+6144  -> 0.09999999999999999999999999999999999
5757db96d56Sopenharmony_ci-- the next rounds to Nmin
5767db96d56Sopenharmony_cidqfma2908 fma   9.999999999999999999999999999999999E-6143  0.09999999999999999999999999999999999       0e+6144  -> 1.000000000000000000000000000000000E-6143 Underflow Inexact Subnormal Rounded
5777db96d56Sopenharmony_ci
5787db96d56Sopenharmony_ci-- hugest
5797db96d56Sopenharmony_cidqfma2909 fma  9999999999999999999999999999999999 9999999999999999999999999999999999   0e+6144  -> 9.999999999999999999999999999999998E+67 Inexact Rounded
5807db96d56Sopenharmony_ci
5817db96d56Sopenharmony_ci-- Examples from SQL proposal (Krishna Kulkarni)
5827db96d56Sopenharmony_ciprecision:   34
5837db96d56Sopenharmony_cirounding:    half_up
5847db96d56Sopenharmony_cimaxExponent: 6144
5857db96d56Sopenharmony_ciminExponent: -6143
5867db96d56Sopenharmony_cidqfma21001  fma  130E-2  120E-2   0e+6144  -> 1.5600
5877db96d56Sopenharmony_cidqfma21002  fma  130E-2  12E-1    0e+6144  -> 1.560
5887db96d56Sopenharmony_cidqfma21003  fma  130E-2  1E0      0e+6144  -> 1.30
5897db96d56Sopenharmony_cidqfma21004  fma  1E2     1E4      0e+6144  -> 1E+6
5907db96d56Sopenharmony_ci
5917db96d56Sopenharmony_ci-- Null tests
5927db96d56Sopenharmony_cidqfma2990 fma  10  #   0e+6144  -> NaN Invalid_operation
5937db96d56Sopenharmony_cidqfma2991 fma   # 10   0e+6144  -> NaN Invalid_operation
5947db96d56Sopenharmony_ci
5957db96d56Sopenharmony_ci
5967db96d56Sopenharmony_ci-- ADDITION TESTS ------------------------------------------------------
5977db96d56Sopenharmony_cirounding:    half_even
5987db96d56Sopenharmony_ci
5997db96d56Sopenharmony_ci-- [first group are 'quick confidence check']
6007db96d56Sopenharmony_cidqadd3001 fma  1  1       1       ->  2
6017db96d56Sopenharmony_cidqadd3002 fma  1  2       3       ->  5
6027db96d56Sopenharmony_cidqadd3003 fma  1  '5.75'  '3.3'   ->  9.05
6037db96d56Sopenharmony_cidqadd3004 fma  1  '5'     '-3'    ->  2
6047db96d56Sopenharmony_cidqadd3005 fma  1  '-5'    '-3'    ->  -8
6057db96d56Sopenharmony_cidqadd3006 fma  1  '-7'    '2.5'   ->  -4.5
6067db96d56Sopenharmony_cidqadd3007 fma  1  '0.7'   '0.3'   ->  1.0
6077db96d56Sopenharmony_cidqadd3008 fma  1  '1.25'  '1.25'  ->  2.50
6087db96d56Sopenharmony_cidqadd3009 fma  1  '1.23456789'  '1.00000000' -> '2.23456789'
6097db96d56Sopenharmony_cidqadd3010 fma  1  '1.23456789'  '1.00000011' -> '2.23456800'
6107db96d56Sopenharmony_ci
6117db96d56Sopenharmony_ci--             1234567890123456      1234567890123456
6127db96d56Sopenharmony_cidqadd3011 fma  1  '0.4444444444444444444444444444444446'  '0.5555555555555555555555555555555555' -> '1.000000000000000000000000000000000' Inexact Rounded
6137db96d56Sopenharmony_cidqadd3012 fma  1  '0.4444444444444444444444444444444445'  '0.5555555555555555555555555555555555' -> '1.000000000000000000000000000000000' Rounded
6147db96d56Sopenharmony_cidqadd3013 fma  1  '0.4444444444444444444444444444444444'  '0.5555555555555555555555555555555555' -> '0.9999999999999999999999999999999999'
6157db96d56Sopenharmony_cidqadd3014 fma  1    '4444444444444444444444444444444444' '0.49'   -> '4444444444444444444444444444444444' Inexact Rounded
6167db96d56Sopenharmony_cidqadd3015 fma  1    '4444444444444444444444444444444444' '0.499'  -> '4444444444444444444444444444444444' Inexact Rounded
6177db96d56Sopenharmony_cidqadd3016 fma  1    '4444444444444444444444444444444444' '0.4999' -> '4444444444444444444444444444444444' Inexact Rounded
6187db96d56Sopenharmony_cidqadd3017 fma  1    '4444444444444444444444444444444444' '0.5000' -> '4444444444444444444444444444444444' Inexact Rounded
6197db96d56Sopenharmony_cidqadd3018 fma  1    '4444444444444444444444444444444444' '0.5001' -> '4444444444444444444444444444444445' Inexact Rounded
6207db96d56Sopenharmony_cidqadd3019 fma  1    '4444444444444444444444444444444444' '0.501'  -> '4444444444444444444444444444444445' Inexact Rounded
6217db96d56Sopenharmony_cidqadd3020 fma  1    '4444444444444444444444444444444444' '0.51'   -> '4444444444444444444444444444444445' Inexact Rounded
6227db96d56Sopenharmony_ci
6237db96d56Sopenharmony_cidqadd3021 fma  1  0 1 -> 1
6247db96d56Sopenharmony_cidqadd3022 fma  1  1 1 -> 2
6257db96d56Sopenharmony_cidqadd3023 fma  1  2 1 -> 3
6267db96d56Sopenharmony_cidqadd3024 fma  1  3 1 -> 4
6277db96d56Sopenharmony_cidqadd3025 fma  1  4 1 -> 5
6287db96d56Sopenharmony_cidqadd3026 fma  1  5 1 -> 6
6297db96d56Sopenharmony_cidqadd3027 fma  1  6 1 -> 7
6307db96d56Sopenharmony_cidqadd3028 fma  1  7 1 -> 8
6317db96d56Sopenharmony_cidqadd3029 fma  1  8 1 -> 9
6327db96d56Sopenharmony_cidqadd3030 fma  1  9 1 -> 10
6337db96d56Sopenharmony_ci
6347db96d56Sopenharmony_ci-- some carrying effects
6357db96d56Sopenharmony_cidqadd3031 fma  1  '0.9998'  '0.0000' -> '0.9998'
6367db96d56Sopenharmony_cidqadd3032 fma  1  '0.9998'  '0.0001' -> '0.9999'
6377db96d56Sopenharmony_cidqadd3033 fma  1  '0.9998'  '0.0002' -> '1.0000'
6387db96d56Sopenharmony_cidqadd3034 fma  1  '0.9998'  '0.0003' -> '1.0001'
6397db96d56Sopenharmony_ci
6407db96d56Sopenharmony_cidqadd3035 fma  1  '70'  '10000e+34' -> '1.000000000000000000000000000000000E+38' Inexact Rounded
6417db96d56Sopenharmony_cidqadd3036 fma  1  '700'  '10000e+34' -> '1.000000000000000000000000000000000E+38' Inexact Rounded
6427db96d56Sopenharmony_cidqadd3037 fma  1  '7000'  '10000e+34' -> '1.000000000000000000000000000000000E+38' Inexact Rounded
6437db96d56Sopenharmony_cidqadd3038 fma  1  '70000'  '10000e+34' -> '1.000000000000000000000000000000001E+38' Inexact Rounded
6447db96d56Sopenharmony_cidqadd3039 fma  1  '700000'  '10000e+34' -> '1.000000000000000000000000000000007E+38' Rounded
6457db96d56Sopenharmony_ci
6467db96d56Sopenharmony_ci-- symmetry:
6477db96d56Sopenharmony_cidqadd3040 fma  1  '10000e+34'  '70' -> '1.000000000000000000000000000000000E+38' Inexact Rounded
6487db96d56Sopenharmony_cidqadd3041 fma  1  '10000e+34'  '700' -> '1.000000000000000000000000000000000E+38' Inexact Rounded
6497db96d56Sopenharmony_cidqadd3042 fma  1  '10000e+34'  '7000' -> '1.000000000000000000000000000000000E+38' Inexact Rounded
6507db96d56Sopenharmony_cidqadd3044 fma  1  '10000e+34'  '70000' -> '1.000000000000000000000000000000001E+38' Inexact Rounded
6517db96d56Sopenharmony_cidqadd3045 fma  1  '10000e+34'  '700000' -> '1.000000000000000000000000000000007E+38' Rounded
6527db96d56Sopenharmony_ci
6537db96d56Sopenharmony_ci-- same, without rounding
6547db96d56Sopenharmony_cidqadd3046 fma  1  '10000e+9'  '7' -> '10000000000007'
6557db96d56Sopenharmony_cidqadd3047 fma  1  '10000e+9'  '70' -> '10000000000070'
6567db96d56Sopenharmony_cidqadd3048 fma  1  '10000e+9'  '700' -> '10000000000700'
6577db96d56Sopenharmony_cidqadd3049 fma  1  '10000e+9'  '7000' -> '10000000007000'
6587db96d56Sopenharmony_cidqadd3050 fma  1  '10000e+9'  '70000' -> '10000000070000'
6597db96d56Sopenharmony_cidqadd3051 fma  1  '10000e+9'  '700000' -> '10000000700000'
6607db96d56Sopenharmony_cidqadd3052 fma  1  '10000e+9'  '7000000' -> '10000007000000'
6617db96d56Sopenharmony_ci
6627db96d56Sopenharmony_ci-- examples from decarith
6637db96d56Sopenharmony_cidqadd3053 fma  1  '12' '7.00' -> '19.00'
6647db96d56Sopenharmony_cidqadd3054 fma  1  '1.3' '-1.07' -> '0.23'
6657db96d56Sopenharmony_cidqadd3055 fma  1  '1.3' '-1.30' -> '0.00'
6667db96d56Sopenharmony_cidqadd3056 fma  1  '1.3' '-2.07' -> '-0.77'
6677db96d56Sopenharmony_cidqadd3057 fma  1  '1E+2' '1E+4' -> '1.01E+4'
6687db96d56Sopenharmony_ci
6697db96d56Sopenharmony_ci-- leading zero preservation
6707db96d56Sopenharmony_cidqadd3061 fma  1  1 '0.0001' -> '1.0001'
6717db96d56Sopenharmony_cidqadd3062 fma  1  1 '0.00001' -> '1.00001'
6727db96d56Sopenharmony_cidqadd3063 fma  1  1 '0.000001' -> '1.000001'
6737db96d56Sopenharmony_cidqadd3064 fma  1  1 '0.0000001' -> '1.0000001'
6747db96d56Sopenharmony_cidqadd3065 fma  1  1 '0.00000001' -> '1.00000001'
6757db96d56Sopenharmony_ci
6767db96d56Sopenharmony_ci-- some funny zeros [in case of bad signum]
6777db96d56Sopenharmony_cidqadd3070 fma  1  1  0    -> 1
6787db96d56Sopenharmony_cidqadd3071 fma  1  1 0.    -> 1
6797db96d56Sopenharmony_cidqadd3072 fma  1  1  .0   -> 1.0
6807db96d56Sopenharmony_cidqadd3073 fma  1  1 0.0   -> 1.0
6817db96d56Sopenharmony_cidqadd3074 fma  1  1 0.00  -> 1.00
6827db96d56Sopenharmony_cidqadd3075 fma  1   0  1   -> 1
6837db96d56Sopenharmony_cidqadd3076 fma  1  0.  1   -> 1
6847db96d56Sopenharmony_cidqadd3077 fma  1   .0 1   -> 1.0
6857db96d56Sopenharmony_cidqadd3078 fma  1  0.0 1   -> 1.0
6867db96d56Sopenharmony_cidqadd3079 fma  1  0.00 1  -> 1.00
6877db96d56Sopenharmony_ci
6887db96d56Sopenharmony_ci-- some carries
6897db96d56Sopenharmony_cidqadd3080 fma  1  999999998 1  -> 999999999
6907db96d56Sopenharmony_cidqadd3081 fma  1  999999999 1  -> 1000000000
6917db96d56Sopenharmony_cidqadd3082 fma  1   99999999 1  -> 100000000
6927db96d56Sopenharmony_cidqadd3083 fma  1    9999999 1  -> 10000000
6937db96d56Sopenharmony_cidqadd3084 fma  1     999999 1  -> 1000000
6947db96d56Sopenharmony_cidqadd3085 fma  1      99999 1  -> 100000
6957db96d56Sopenharmony_cidqadd3086 fma  1       9999 1  -> 10000
6967db96d56Sopenharmony_cidqadd3087 fma  1        999 1  -> 1000
6977db96d56Sopenharmony_cidqadd3088 fma  1         99 1  -> 100
6987db96d56Sopenharmony_cidqadd3089 fma  1          9 1  -> 10
6997db96d56Sopenharmony_ci
7007db96d56Sopenharmony_ci
7017db96d56Sopenharmony_ci-- more LHS swaps
7027db96d56Sopenharmony_cidqadd3090 fma  1  '-56267E-10'   0 ->  '-0.0000056267'
7037db96d56Sopenharmony_cidqadd3091 fma  1  '-56267E-6'    0 ->  '-0.056267'
7047db96d56Sopenharmony_cidqadd3092 fma  1  '-56267E-5'    0 ->  '-0.56267'
7057db96d56Sopenharmony_cidqadd3093 fma  1  '-56267E-4'    0 ->  '-5.6267'
7067db96d56Sopenharmony_cidqadd3094 fma  1  '-56267E-3'    0 ->  '-56.267'
7077db96d56Sopenharmony_cidqadd3095 fma  1  '-56267E-2'    0 ->  '-562.67'
7087db96d56Sopenharmony_cidqadd3096 fma  1  '-56267E-1'    0 ->  '-5626.7'
7097db96d56Sopenharmony_cidqadd3097 fma  1  '-56267E-0'    0 ->  '-56267'
7107db96d56Sopenharmony_cidqadd3098 fma  1  '-5E-10'       0 ->  '-5E-10'
7117db96d56Sopenharmony_cidqadd3099 fma  1  '-5E-7'        0 ->  '-5E-7'
7127db96d56Sopenharmony_cidqadd3100 fma  1  '-5E-6'        0 ->  '-0.000005'
7137db96d56Sopenharmony_cidqadd3101 fma  1  '-5E-5'        0 ->  '-0.00005'
7147db96d56Sopenharmony_cidqadd3102 fma  1  '-5E-4'        0 ->  '-0.0005'
7157db96d56Sopenharmony_cidqadd3103 fma  1  '-5E-1'        0 ->  '-0.5'
7167db96d56Sopenharmony_cidqadd3104 fma  1  '-5E0'         0 ->  '-5'
7177db96d56Sopenharmony_cidqadd3105 fma  1  '-5E1'         0 ->  '-50'
7187db96d56Sopenharmony_cidqadd3106 fma  1  '-5E5'         0 ->  '-500000'
7197db96d56Sopenharmony_cidqadd3107 fma  1  '-5E33'        0 ->  '-5000000000000000000000000000000000'
7207db96d56Sopenharmony_cidqadd3108 fma  1  '-5E34'        0 ->  '-5.000000000000000000000000000000000E+34'  Rounded
7217db96d56Sopenharmony_cidqadd3109 fma  1  '-5E35'        0 ->  '-5.000000000000000000000000000000000E+35'  Rounded
7227db96d56Sopenharmony_cidqadd3110 fma  1  '-5E36'        0 ->  '-5.000000000000000000000000000000000E+36'  Rounded
7237db96d56Sopenharmony_cidqadd3111 fma  1  '-5E100'       0 ->  '-5.000000000000000000000000000000000E+100' Rounded
7247db96d56Sopenharmony_ci
7257db96d56Sopenharmony_ci-- more RHS swaps
7267db96d56Sopenharmony_cidqadd3113 fma  1  0  '-56267E-10' ->  '-0.0000056267'
7277db96d56Sopenharmony_cidqadd3114 fma  1  0  '-56267E-6'  ->  '-0.056267'
7287db96d56Sopenharmony_cidqadd3116 fma  1  0  '-56267E-5'  ->  '-0.56267'
7297db96d56Sopenharmony_cidqadd3117 fma  1  0  '-56267E-4'  ->  '-5.6267'
7307db96d56Sopenharmony_cidqadd3119 fma  1  0  '-56267E-3'  ->  '-56.267'
7317db96d56Sopenharmony_cidqadd3120 fma  1  0  '-56267E-2'  ->  '-562.67'
7327db96d56Sopenharmony_cidqadd3121 fma  1  0  '-56267E-1'  ->  '-5626.7'
7337db96d56Sopenharmony_cidqadd3122 fma  1  0  '-56267E-0'  ->  '-56267'
7347db96d56Sopenharmony_cidqadd3123 fma  1  0  '-5E-10'     ->  '-5E-10'
7357db96d56Sopenharmony_cidqadd3124 fma  1  0  '-5E-7'      ->  '-5E-7'
7367db96d56Sopenharmony_cidqadd3125 fma  1  0  '-5E-6'      ->  '-0.000005'
7377db96d56Sopenharmony_cidqadd3126 fma  1  0  '-5E-5'      ->  '-0.00005'
7387db96d56Sopenharmony_cidqadd3127 fma  1  0  '-5E-4'      ->  '-0.0005'
7397db96d56Sopenharmony_cidqadd3128 fma  1  0  '-5E-1'      ->  '-0.5'
7407db96d56Sopenharmony_cidqadd3129 fma  1  0  '-5E0'       ->  '-5'
7417db96d56Sopenharmony_cidqadd3130 fma  1  0  '-5E1'       ->  '-50'
7427db96d56Sopenharmony_cidqadd3131 fma  1  0  '-5E5'       ->  '-500000'
7437db96d56Sopenharmony_cidqadd3132 fma  1  0  '-5E33'      ->  '-5000000000000000000000000000000000'
7447db96d56Sopenharmony_cidqadd3133 fma  1  0  '-5E34'      ->  '-5.000000000000000000000000000000000E+34'   Rounded
7457db96d56Sopenharmony_cidqadd3134 fma  1  0  '-5E35'      ->  '-5.000000000000000000000000000000000E+35'   Rounded
7467db96d56Sopenharmony_cidqadd3135 fma  1  0  '-5E36'      ->  '-5.000000000000000000000000000000000E+36'   Rounded
7477db96d56Sopenharmony_cidqadd3136 fma  1  0  '-5E100'     ->  '-5.000000000000000000000000000000000E+100'  Rounded
7487db96d56Sopenharmony_ci
7497db96d56Sopenharmony_ci-- related
7507db96d56Sopenharmony_cidqadd3137 fma  1   1  '0E-39'      ->  '1.000000000000000000000000000000000'  Rounded
7517db96d56Sopenharmony_cidqadd3138 fma  1  -1  '0E-39'      ->  '-1.000000000000000000000000000000000' Rounded
7527db96d56Sopenharmony_cidqadd3139 fma  1  '0E-39' 1        ->  '1.000000000000000000000000000000000'  Rounded
7537db96d56Sopenharmony_cidqadd3140 fma  1  '0E-39' -1       ->  '-1.000000000000000000000000000000000' Rounded
7547db96d56Sopenharmony_cidqadd3141 fma  1  1E+29   0.0000   ->  '100000000000000000000000000000.0000'
7557db96d56Sopenharmony_cidqadd3142 fma  1  1E+29   0.00000  ->  '100000000000000000000000000000.0000'  Rounded
7567db96d56Sopenharmony_cidqadd3143 fma  1  0.000   1E+30    ->  '1000000000000000000000000000000.000'
7577db96d56Sopenharmony_cidqadd3144 fma  1  0.0000  1E+30    ->  '1000000000000000000000000000000.000'  Rounded
7587db96d56Sopenharmony_ci
7597db96d56Sopenharmony_ci-- [some of the next group are really constructor tests]
7607db96d56Sopenharmony_cidqadd3146 fma  1  '00.0'  0       ->  '0.0'
7617db96d56Sopenharmony_cidqadd3147 fma  1  '0.00'  0       ->  '0.00'
7627db96d56Sopenharmony_cidqadd3148 fma  1   0      '0.00'  ->  '0.00'
7637db96d56Sopenharmony_cidqadd3149 fma  1   0      '00.0'  ->  '0.0'
7647db96d56Sopenharmony_cidqadd3150 fma  1  '00.0'  '0.00'  ->  '0.00'
7657db96d56Sopenharmony_cidqadd3151 fma  1  '0.00'  '00.0'  ->  '0.00'
7667db96d56Sopenharmony_cidqadd3152 fma  1  '3'     '.3'    ->  '3.3'
7677db96d56Sopenharmony_cidqadd3153 fma  1  '3.'    '.3'    ->  '3.3'
7687db96d56Sopenharmony_cidqadd3154 fma  1  '3.0'   '.3'    ->  '3.3'
7697db96d56Sopenharmony_cidqadd3155 fma  1  '3.00'  '.3'    ->  '3.30'
7707db96d56Sopenharmony_cidqadd3156 fma  1  '3'     '3'     ->  '6'
7717db96d56Sopenharmony_cidqadd3157 fma  1  '3'     '+3'    ->  '6'
7727db96d56Sopenharmony_cidqadd3158 fma  1  '3'     '-3'    ->  '0'
7737db96d56Sopenharmony_cidqadd3159 fma  1  '0.3'   '-0.3'  ->  '0.0'
7747db96d56Sopenharmony_cidqadd3160 fma  1  '0.03'  '-0.03' ->  '0.00'
7757db96d56Sopenharmony_ci
7767db96d56Sopenharmony_ci-- try borderline precision, with carries, etc.
7777db96d56Sopenharmony_cidqadd3161 fma  1  '1E+12' '-1'    -> '999999999999'
7787db96d56Sopenharmony_cidqadd3162 fma  1  '1E+12'  '1.11' -> '1000000000001.11'
7797db96d56Sopenharmony_cidqadd3163 fma  1  '1.11'  '1E+12' -> '1000000000001.11'
7807db96d56Sopenharmony_cidqadd3164 fma  1  '-1'    '1E+12' -> '999999999999'
7817db96d56Sopenharmony_cidqadd3165 fma  1  '7E+12' '-1'    -> '6999999999999'
7827db96d56Sopenharmony_cidqadd3166 fma  1  '7E+12'  '1.11' -> '7000000000001.11'
7837db96d56Sopenharmony_cidqadd3167 fma  1  '1.11'  '7E+12' -> '7000000000001.11'
7847db96d56Sopenharmony_cidqadd3168 fma  1  '-1'    '7E+12' -> '6999999999999'
7857db96d56Sopenharmony_ci
7867db96d56Sopenharmony_cirounding: half_up
7877db96d56Sopenharmony_cidqadd3170 fma  1  '4.444444444444444444444444444444444'  '0.5555555555555555555555555555555567' -> '5.000000000000000000000000000000001' Inexact Rounded
7887db96d56Sopenharmony_cidqadd3171 fma  1  '4.444444444444444444444444444444444'  '0.5555555555555555555555555555555566' -> '5.000000000000000000000000000000001' Inexact Rounded
7897db96d56Sopenharmony_cidqadd3172 fma  1  '4.444444444444444444444444444444444'  '0.5555555555555555555555555555555565' -> '5.000000000000000000000000000000001' Inexact Rounded
7907db96d56Sopenharmony_cidqadd3173 fma  1  '4.444444444444444444444444444444444'  '0.5555555555555555555555555555555564' -> '5.000000000000000000000000000000000' Inexact Rounded
7917db96d56Sopenharmony_cidqadd3174 fma  1  '4.444444444444444444444444444444444'  '0.5555555555555555555555555555555553' -> '4.999999999999999999999999999999999' Inexact Rounded
7927db96d56Sopenharmony_cidqadd3175 fma  1  '4.444444444444444444444444444444444'  '0.5555555555555555555555555555555552' -> '4.999999999999999999999999999999999' Inexact Rounded
7937db96d56Sopenharmony_cidqadd3176 fma  1  '4.444444444444444444444444444444444'  '0.5555555555555555555555555555555551' -> '4.999999999999999999999999999999999' Inexact Rounded
7947db96d56Sopenharmony_cidqadd3177 fma  1  '4.444444444444444444444444444444444'  '0.5555555555555555555555555555555550' -> '4.999999999999999999999999999999999' Rounded
7957db96d56Sopenharmony_cidqadd3178 fma  1  '4.444444444444444444444444444444444'  '0.5555555555555555555555555555555545' -> '4.999999999999999999999999999999999' Inexact Rounded
7967db96d56Sopenharmony_cidqadd3179 fma  1  '4.444444444444444444444444444444444'  '0.5555555555555555555555555555555544' -> '4.999999999999999999999999999999998' Inexact Rounded
7977db96d56Sopenharmony_cidqadd3180 fma  1  '4.444444444444444444444444444444444'  '0.5555555555555555555555555555555543' -> '4.999999999999999999999999999999998' Inexact Rounded
7987db96d56Sopenharmony_cidqadd3181 fma  1  '4.444444444444444444444444444444444'  '0.5555555555555555555555555555555542' -> '4.999999999999999999999999999999998' Inexact Rounded
7997db96d56Sopenharmony_cidqadd3182 fma  1  '4.444444444444444444444444444444444'  '0.5555555555555555555555555555555541' -> '4.999999999999999999999999999999998' Inexact Rounded
8007db96d56Sopenharmony_cidqadd3183 fma  1  '4.444444444444444444444444444444444'  '0.5555555555555555555555555555555540' -> '4.999999999999999999999999999999998' Rounded
8017db96d56Sopenharmony_ci
8027db96d56Sopenharmony_ci-- and some more, including residue effects and different roundings
8037db96d56Sopenharmony_cirounding: half_up
8047db96d56Sopenharmony_cidqadd3200 fma  1  '1231234567890123456784560123456789' 0             -> '1231234567890123456784560123456789'
8057db96d56Sopenharmony_cidqadd3201 fma  1  '1231234567890123456784560123456789' 0.000000001   -> '1231234567890123456784560123456789' Inexact Rounded
8067db96d56Sopenharmony_cidqadd3202 fma  1  '1231234567890123456784560123456789' 0.000001      -> '1231234567890123456784560123456789' Inexact Rounded
8077db96d56Sopenharmony_cidqadd3203 fma  1  '1231234567890123456784560123456789' 0.1           -> '1231234567890123456784560123456789' Inexact Rounded
8087db96d56Sopenharmony_cidqadd3204 fma  1  '1231234567890123456784560123456789' 0.4           -> '1231234567890123456784560123456789' Inexact Rounded
8097db96d56Sopenharmony_cidqadd3205 fma  1  '1231234567890123456784560123456789' 0.49          -> '1231234567890123456784560123456789' Inexact Rounded
8107db96d56Sopenharmony_cidqadd3206 fma  1  '1231234567890123456784560123456789' 0.499999      -> '1231234567890123456784560123456789' Inexact Rounded
8117db96d56Sopenharmony_cidqadd3207 fma  1  '1231234567890123456784560123456789' 0.499999999   -> '1231234567890123456784560123456789' Inexact Rounded
8127db96d56Sopenharmony_cidqadd3208 fma  1  '1231234567890123456784560123456789' 0.5           -> '1231234567890123456784560123456790' Inexact Rounded
8137db96d56Sopenharmony_cidqadd3209 fma  1  '1231234567890123456784560123456789' 0.500000001   -> '1231234567890123456784560123456790' Inexact Rounded
8147db96d56Sopenharmony_cidqadd3210 fma  1  '1231234567890123456784560123456789' 0.500001      -> '1231234567890123456784560123456790' Inexact Rounded
8157db96d56Sopenharmony_cidqadd3211 fma  1  '1231234567890123456784560123456789' 0.51          -> '1231234567890123456784560123456790' Inexact Rounded
8167db96d56Sopenharmony_cidqadd3212 fma  1  '1231234567890123456784560123456789' 0.6           -> '1231234567890123456784560123456790' Inexact Rounded
8177db96d56Sopenharmony_cidqadd3213 fma  1  '1231234567890123456784560123456789' 0.9           -> '1231234567890123456784560123456790' Inexact Rounded
8187db96d56Sopenharmony_cidqadd3214 fma  1  '1231234567890123456784560123456789' 0.99999       -> '1231234567890123456784560123456790' Inexact Rounded
8197db96d56Sopenharmony_cidqadd3215 fma  1  '1231234567890123456784560123456789' 0.999999999   -> '1231234567890123456784560123456790' Inexact Rounded
8207db96d56Sopenharmony_cidqadd3216 fma  1  '1231234567890123456784560123456789' 1             -> '1231234567890123456784560123456790'
8217db96d56Sopenharmony_cidqadd3217 fma  1  '1231234567890123456784560123456789' 1.000000001   -> '1231234567890123456784560123456790' Inexact Rounded
8227db96d56Sopenharmony_cidqadd3218 fma  1  '1231234567890123456784560123456789' 1.00001       -> '1231234567890123456784560123456790' Inexact Rounded
8237db96d56Sopenharmony_cidqadd3219 fma  1  '1231234567890123456784560123456789' 1.1           -> '1231234567890123456784560123456790' Inexact Rounded
8247db96d56Sopenharmony_ci
8257db96d56Sopenharmony_cirounding: half_even
8267db96d56Sopenharmony_cidqadd3220 fma  1  '1231234567890123456784560123456789' 0             -> '1231234567890123456784560123456789'
8277db96d56Sopenharmony_cidqadd3221 fma  1  '1231234567890123456784560123456789' 0.000000001   -> '1231234567890123456784560123456789' Inexact Rounded
8287db96d56Sopenharmony_cidqadd3222 fma  1  '1231234567890123456784560123456789' 0.000001      -> '1231234567890123456784560123456789' Inexact Rounded
8297db96d56Sopenharmony_cidqadd3223 fma  1  '1231234567890123456784560123456789' 0.1           -> '1231234567890123456784560123456789' Inexact Rounded
8307db96d56Sopenharmony_cidqadd3224 fma  1  '1231234567890123456784560123456789' 0.4           -> '1231234567890123456784560123456789' Inexact Rounded
8317db96d56Sopenharmony_cidqadd3225 fma  1  '1231234567890123456784560123456789' 0.49          -> '1231234567890123456784560123456789' Inexact Rounded
8327db96d56Sopenharmony_cidqadd3226 fma  1  '1231234567890123456784560123456789' 0.499999      -> '1231234567890123456784560123456789' Inexact Rounded
8337db96d56Sopenharmony_cidqadd3227 fma  1  '1231234567890123456784560123456789' 0.499999999   -> '1231234567890123456784560123456789' Inexact Rounded
8347db96d56Sopenharmony_cidqadd3228 fma  1  '1231234567890123456784560123456789' 0.5           -> '1231234567890123456784560123456790' Inexact Rounded
8357db96d56Sopenharmony_cidqadd3229 fma  1  '1231234567890123456784560123456789' 0.500000001   -> '1231234567890123456784560123456790' Inexact Rounded
8367db96d56Sopenharmony_cidqadd3230 fma  1  '1231234567890123456784560123456789' 0.500001      -> '1231234567890123456784560123456790' Inexact Rounded
8377db96d56Sopenharmony_cidqadd3231 fma  1  '1231234567890123456784560123456789' 0.51          -> '1231234567890123456784560123456790' Inexact Rounded
8387db96d56Sopenharmony_cidqadd3232 fma  1  '1231234567890123456784560123456789' 0.6           -> '1231234567890123456784560123456790' Inexact Rounded
8397db96d56Sopenharmony_cidqadd3233 fma  1  '1231234567890123456784560123456789' 0.9           -> '1231234567890123456784560123456790' Inexact Rounded
8407db96d56Sopenharmony_cidqadd3234 fma  1  '1231234567890123456784560123456789' 0.99999       -> '1231234567890123456784560123456790' Inexact Rounded
8417db96d56Sopenharmony_cidqadd3235 fma  1  '1231234567890123456784560123456789' 0.999999999   -> '1231234567890123456784560123456790' Inexact Rounded
8427db96d56Sopenharmony_cidqadd3236 fma  1  '1231234567890123456784560123456789' 1             -> '1231234567890123456784560123456790'
8437db96d56Sopenharmony_cidqadd3237 fma  1  '1231234567890123456784560123456789' 1.00000001    -> '1231234567890123456784560123456790' Inexact Rounded
8447db96d56Sopenharmony_cidqadd3238 fma  1  '1231234567890123456784560123456789' 1.00001       -> '1231234567890123456784560123456790' Inexact Rounded
8457db96d56Sopenharmony_cidqadd3239 fma  1  '1231234567890123456784560123456789' 1.1           -> '1231234567890123456784560123456790' Inexact Rounded
8467db96d56Sopenharmony_ci-- critical few with even bottom digit...
8477db96d56Sopenharmony_cidqadd3240 fma  1  '1231234567890123456784560123456788' 0.499999999   -> '1231234567890123456784560123456788' Inexact Rounded
8487db96d56Sopenharmony_cidqadd3241 fma  1  '1231234567890123456784560123456788' 0.5           -> '1231234567890123456784560123456788' Inexact Rounded
8497db96d56Sopenharmony_cidqadd3242 fma  1  '1231234567890123456784560123456788' 0.500000001   -> '1231234567890123456784560123456789' Inexact Rounded
8507db96d56Sopenharmony_ci
8517db96d56Sopenharmony_cirounding: down
8527db96d56Sopenharmony_cidqadd3250 fma  1  '1231234567890123456784560123456789' 0             -> '1231234567890123456784560123456789'
8537db96d56Sopenharmony_cidqadd3251 fma  1  '1231234567890123456784560123456789' 0.000000001   -> '1231234567890123456784560123456789' Inexact Rounded
8547db96d56Sopenharmony_cidqadd3252 fma  1  '1231234567890123456784560123456789' 0.000001      -> '1231234567890123456784560123456789' Inexact Rounded
8557db96d56Sopenharmony_cidqadd3253 fma  1  '1231234567890123456784560123456789' 0.1           -> '1231234567890123456784560123456789' Inexact Rounded
8567db96d56Sopenharmony_cidqadd3254 fma  1  '1231234567890123456784560123456789' 0.4           -> '1231234567890123456784560123456789' Inexact Rounded
8577db96d56Sopenharmony_cidqadd3255 fma  1  '1231234567890123456784560123456789' 0.49          -> '1231234567890123456784560123456789' Inexact Rounded
8587db96d56Sopenharmony_cidqadd3256 fma  1  '1231234567890123456784560123456789' 0.499999      -> '1231234567890123456784560123456789' Inexact Rounded
8597db96d56Sopenharmony_cidqadd3257 fma  1  '1231234567890123456784560123456789' 0.499999999   -> '1231234567890123456784560123456789' Inexact Rounded
8607db96d56Sopenharmony_cidqadd3258 fma  1  '1231234567890123456784560123456789' 0.5           -> '1231234567890123456784560123456789' Inexact Rounded
8617db96d56Sopenharmony_cidqadd3259 fma  1  '1231234567890123456784560123456789' 0.500000001   -> '1231234567890123456784560123456789' Inexact Rounded
8627db96d56Sopenharmony_cidqadd3260 fma  1  '1231234567890123456784560123456789' 0.500001      -> '1231234567890123456784560123456789' Inexact Rounded
8637db96d56Sopenharmony_cidqadd3261 fma  1  '1231234567890123456784560123456789' 0.51          -> '1231234567890123456784560123456789' Inexact Rounded
8647db96d56Sopenharmony_cidqadd3262 fma  1  '1231234567890123456784560123456789' 0.6           -> '1231234567890123456784560123456789' Inexact Rounded
8657db96d56Sopenharmony_cidqadd3263 fma  1  '1231234567890123456784560123456789' 0.9           -> '1231234567890123456784560123456789' Inexact Rounded
8667db96d56Sopenharmony_cidqadd3264 fma  1  '1231234567890123456784560123456789' 0.99999       -> '1231234567890123456784560123456789' Inexact Rounded
8677db96d56Sopenharmony_cidqadd3265 fma  1  '1231234567890123456784560123456789' 0.999999999   -> '1231234567890123456784560123456789' Inexact Rounded
8687db96d56Sopenharmony_cidqadd3266 fma  1  '1231234567890123456784560123456789' 1             -> '1231234567890123456784560123456790'
8697db96d56Sopenharmony_cidqadd3267 fma  1  '1231234567890123456784560123456789' 1.00000001    -> '1231234567890123456784560123456790' Inexact Rounded
8707db96d56Sopenharmony_cidqadd3268 fma  1  '1231234567890123456784560123456789' 1.00001       -> '1231234567890123456784560123456790' Inexact Rounded
8717db96d56Sopenharmony_cidqadd3269 fma  1  '1231234567890123456784560123456789' 1.1           -> '1231234567890123456784560123456790' Inexact Rounded
8727db96d56Sopenharmony_ci
8737db96d56Sopenharmony_ci-- 1 in last place tests
8747db96d56Sopenharmony_cirounding: half_up
8757db96d56Sopenharmony_cidqadd3301 fma  1   -1   1      ->   0
8767db96d56Sopenharmony_cidqadd3302 fma  1    0   1      ->   1
8777db96d56Sopenharmony_cidqadd3303 fma  1    1   1      ->   2
8787db96d56Sopenharmony_cidqadd3304 fma  1   12   1      ->  13
8797db96d56Sopenharmony_cidqadd3305 fma  1   98   1      ->  99
8807db96d56Sopenharmony_cidqadd3306 fma  1   99   1      -> 100
8817db96d56Sopenharmony_cidqadd3307 fma  1  100   1      -> 101
8827db96d56Sopenharmony_cidqadd3308 fma  1  101   1      -> 102
8837db96d56Sopenharmony_cidqadd3309 fma  1   -1  -1      ->  -2
8847db96d56Sopenharmony_cidqadd3310 fma  1    0  -1      ->  -1
8857db96d56Sopenharmony_cidqadd3311 fma  1    1  -1      ->   0
8867db96d56Sopenharmony_cidqadd3312 fma  1   12  -1      ->  11
8877db96d56Sopenharmony_cidqadd3313 fma  1   98  -1      ->  97
8887db96d56Sopenharmony_cidqadd3314 fma  1   99  -1      ->  98
8897db96d56Sopenharmony_cidqadd3315 fma  1  100  -1      ->  99
8907db96d56Sopenharmony_cidqadd3316 fma  1  101  -1      -> 100
8917db96d56Sopenharmony_ci
8927db96d56Sopenharmony_cidqadd3321 fma  1  -0.01  0.01    ->  0.00
8937db96d56Sopenharmony_cidqadd3322 fma  1   0.00  0.01    ->  0.01
8947db96d56Sopenharmony_cidqadd3323 fma  1   0.01  0.01    ->  0.02
8957db96d56Sopenharmony_cidqadd3324 fma  1   0.12  0.01    ->  0.13
8967db96d56Sopenharmony_cidqadd3325 fma  1   0.98  0.01    ->  0.99
8977db96d56Sopenharmony_cidqadd3326 fma  1   0.99  0.01    ->  1.00
8987db96d56Sopenharmony_cidqadd3327 fma  1   1.00  0.01    ->  1.01
8997db96d56Sopenharmony_cidqadd3328 fma  1   1.01  0.01    ->  1.02
9007db96d56Sopenharmony_cidqadd3329 fma  1  -0.01 -0.01    -> -0.02
9017db96d56Sopenharmony_cidqadd3330 fma  1   0.00 -0.01    -> -0.01
9027db96d56Sopenharmony_cidqadd3331 fma  1   0.01 -0.01    ->  0.00
9037db96d56Sopenharmony_cidqadd3332 fma  1   0.12 -0.01    ->  0.11
9047db96d56Sopenharmony_cidqadd3333 fma  1   0.98 -0.01    ->  0.97
9057db96d56Sopenharmony_cidqadd3334 fma  1   0.99 -0.01    ->  0.98
9067db96d56Sopenharmony_cidqadd3335 fma  1   1.00 -0.01    ->  0.99
9077db96d56Sopenharmony_cidqadd3336 fma  1   1.01 -0.01    ->  1.00
9087db96d56Sopenharmony_ci
9097db96d56Sopenharmony_ci-- some more cases where adding 0 affects the coefficient
9107db96d56Sopenharmony_cidqadd3340 fma  1  1E+3    0    ->         1000
9117db96d56Sopenharmony_cidqadd3341 fma  1  1E+33   0    ->    1000000000000000000000000000000000
9127db96d56Sopenharmony_cidqadd3342 fma  1  1E+34   0    ->   1.000000000000000000000000000000000E+34  Rounded
9137db96d56Sopenharmony_cidqadd3343 fma  1  1E+35   0    ->   1.000000000000000000000000000000000E+35  Rounded
9147db96d56Sopenharmony_ci-- which simply follow from these cases ...
9157db96d56Sopenharmony_cidqadd3344 fma  1  1E+3    1    ->         1001
9167db96d56Sopenharmony_cidqadd3345 fma  1  1E+33   1    ->    1000000000000000000000000000000001
9177db96d56Sopenharmony_cidqadd3346 fma  1  1E+34   1    ->   1.000000000000000000000000000000000E+34  Inexact Rounded
9187db96d56Sopenharmony_cidqadd3347 fma  1  1E+35   1    ->   1.000000000000000000000000000000000E+35  Inexact Rounded
9197db96d56Sopenharmony_cidqadd3348 fma  1  1E+3    7    ->         1007
9207db96d56Sopenharmony_cidqadd3349 fma  1  1E+33   7    ->    1000000000000000000000000000000007
9217db96d56Sopenharmony_cidqadd3350 fma  1  1E+34   7    ->   1.000000000000000000000000000000001E+34  Inexact Rounded
9227db96d56Sopenharmony_cidqadd3351 fma  1  1E+35   7    ->   1.000000000000000000000000000000000E+35  Inexact Rounded
9237db96d56Sopenharmony_ci
9247db96d56Sopenharmony_ci-- tryzeros cases
9257db96d56Sopenharmony_cirounding:    half_up
9267db96d56Sopenharmony_cidqadd3360  fma  1  0E+50 10000E+1  -> 1.0000E+5
9277db96d56Sopenharmony_cidqadd3361  fma  1  0E-50 10000E+1  -> 100000.0000000000000000000000000000 Rounded
9287db96d56Sopenharmony_cidqadd3362  fma  1  10000E+1 0E-50  -> 100000.0000000000000000000000000000 Rounded
9297db96d56Sopenharmony_cidqadd3363  fma  1  10000E+1 10000E-50  -> 100000.0000000000000000000000000000 Rounded Inexact
9307db96d56Sopenharmony_cidqadd3364  fma  1  9.999999999999999999999999999999999E+6144 -9.999999999999999999999999999999999E+6144 -> 0E+6111
9317db96d56Sopenharmony_ci--            1 234567890123456789012345678901234
9327db96d56Sopenharmony_ci
9337db96d56Sopenharmony_ci-- a curiosity from JSR 13 testing
9347db96d56Sopenharmony_cirounding:    half_down
9357db96d56Sopenharmony_cidqadd3370 fma  1   999999999999999999999999999999999 815 -> 1000000000000000000000000000000814
9367db96d56Sopenharmony_cidqadd3371 fma  1  9999999999999999999999999999999999 815 -> 1.000000000000000000000000000000081E+34 Rounded Inexact
9377db96d56Sopenharmony_cirounding:    half_up
9387db96d56Sopenharmony_cidqadd3372 fma  1   999999999999999999999999999999999 815 -> 1000000000000000000000000000000814
9397db96d56Sopenharmony_cidqadd3373 fma  1  9999999999999999999999999999999999 815 -> 1.000000000000000000000000000000081E+34 Rounded Inexact
9407db96d56Sopenharmony_cirounding:    half_even
9417db96d56Sopenharmony_cidqadd3374 fma  1   999999999999999999999999999999999 815 -> 1000000000000000000000000000000814
9427db96d56Sopenharmony_cidqadd3375 fma  1  9999999999999999999999999999999999 815 -> 1.000000000000000000000000000000081E+34 Rounded Inexact
9437db96d56Sopenharmony_ci
9447db96d56Sopenharmony_ci-- ulp replacement tests
9457db96d56Sopenharmony_cidqadd3400 fma  1    1   77e-32      ->  1.00000000000000000000000000000077
9467db96d56Sopenharmony_cidqadd3401 fma  1    1   77e-33      ->  1.000000000000000000000000000000077
9477db96d56Sopenharmony_cidqadd3402 fma  1    1   77e-34      ->  1.000000000000000000000000000000008 Inexact Rounded
9487db96d56Sopenharmony_cidqadd3403 fma  1    1   77e-35      ->  1.000000000000000000000000000000001 Inexact Rounded
9497db96d56Sopenharmony_cidqadd3404 fma  1    1   77e-36      ->  1.000000000000000000000000000000000 Inexact Rounded
9507db96d56Sopenharmony_cidqadd3405 fma  1    1   77e-37      ->  1.000000000000000000000000000000000 Inexact Rounded
9517db96d56Sopenharmony_cidqadd3406 fma  1    1   77e-299     ->  1.000000000000000000000000000000000 Inexact Rounded
9527db96d56Sopenharmony_ci
9537db96d56Sopenharmony_cidqadd3410 fma  1   10   77e-32      ->  10.00000000000000000000000000000077
9547db96d56Sopenharmony_cidqadd3411 fma  1   10   77e-33      ->  10.00000000000000000000000000000008 Inexact Rounded
9557db96d56Sopenharmony_cidqadd3412 fma  1   10   77e-34      ->  10.00000000000000000000000000000001 Inexact Rounded
9567db96d56Sopenharmony_cidqadd3413 fma  1   10   77e-35      ->  10.00000000000000000000000000000000 Inexact Rounded
9577db96d56Sopenharmony_cidqadd3414 fma  1   10   77e-36      ->  10.00000000000000000000000000000000 Inexact Rounded
9587db96d56Sopenharmony_cidqadd3415 fma  1   10   77e-37      ->  10.00000000000000000000000000000000 Inexact Rounded
9597db96d56Sopenharmony_cidqadd3416 fma  1   10   77e-299     ->  10.00000000000000000000000000000000 Inexact Rounded
9607db96d56Sopenharmony_ci
9617db96d56Sopenharmony_cidqadd3420 fma  1   77e-32       1   ->  1.00000000000000000000000000000077
9627db96d56Sopenharmony_cidqadd3421 fma  1   77e-33       1   ->  1.000000000000000000000000000000077
9637db96d56Sopenharmony_cidqadd3422 fma  1   77e-34       1   ->  1.000000000000000000000000000000008 Inexact Rounded
9647db96d56Sopenharmony_cidqadd3423 fma  1   77e-35       1   ->  1.000000000000000000000000000000001 Inexact Rounded
9657db96d56Sopenharmony_cidqadd3424 fma  1   77e-36       1   ->  1.000000000000000000000000000000000 Inexact Rounded
9667db96d56Sopenharmony_cidqadd3425 fma  1   77e-37       1   ->  1.000000000000000000000000000000000 Inexact Rounded
9677db96d56Sopenharmony_cidqadd3426 fma  1   77e-299      1   ->  1.000000000000000000000000000000000 Inexact Rounded
9687db96d56Sopenharmony_ci
9697db96d56Sopenharmony_cidqadd3430 fma  1   77e-32      10   ->  10.00000000000000000000000000000077
9707db96d56Sopenharmony_cidqadd3431 fma  1   77e-33      10   ->  10.00000000000000000000000000000008 Inexact Rounded
9717db96d56Sopenharmony_cidqadd3432 fma  1   77e-34      10   ->  10.00000000000000000000000000000001 Inexact Rounded
9727db96d56Sopenharmony_cidqadd3433 fma  1   77e-35      10   ->  10.00000000000000000000000000000000 Inexact Rounded
9737db96d56Sopenharmony_cidqadd3434 fma  1   77e-36      10   ->  10.00000000000000000000000000000000 Inexact Rounded
9747db96d56Sopenharmony_cidqadd3435 fma  1   77e-37      10   ->  10.00000000000000000000000000000000 Inexact Rounded
9757db96d56Sopenharmony_cidqadd3436 fma  1   77e-299     10   ->  10.00000000000000000000000000000000 Inexact Rounded
9767db96d56Sopenharmony_ci
9777db96d56Sopenharmony_ci-- negative ulps
9787db96d56Sopenharmony_cidqadd36440 fma  1    1   -77e-32      ->  0.99999999999999999999999999999923
9797db96d56Sopenharmony_cidqadd36441 fma  1    1   -77e-33      ->  0.999999999999999999999999999999923
9807db96d56Sopenharmony_cidqadd36442 fma  1    1   -77e-34      ->  0.9999999999999999999999999999999923
9817db96d56Sopenharmony_cidqadd36443 fma  1    1   -77e-35      ->  0.9999999999999999999999999999999992 Inexact Rounded
9827db96d56Sopenharmony_cidqadd36444 fma  1    1   -77e-36      ->  0.9999999999999999999999999999999999 Inexact Rounded
9837db96d56Sopenharmony_cidqadd36445 fma  1    1   -77e-37      ->  1.000000000000000000000000000000000 Inexact Rounded
9847db96d56Sopenharmony_cidqadd36446 fma  1    1   -77e-99      ->  1.000000000000000000000000000000000 Inexact Rounded
9857db96d56Sopenharmony_ci
9867db96d56Sopenharmony_cidqadd36450 fma  1   10   -77e-32      ->   9.99999999999999999999999999999923
9877db96d56Sopenharmony_cidqadd36451 fma  1   10   -77e-33      ->   9.999999999999999999999999999999923
9887db96d56Sopenharmony_cidqadd36452 fma  1   10   -77e-34      ->   9.999999999999999999999999999999992 Inexact Rounded
9897db96d56Sopenharmony_cidqadd36453 fma  1   10   -77e-35      ->   9.999999999999999999999999999999999 Inexact Rounded
9907db96d56Sopenharmony_cidqadd36454 fma  1   10   -77e-36      ->  10.00000000000000000000000000000000 Inexact Rounded
9917db96d56Sopenharmony_cidqadd36455 fma  1   10   -77e-37      ->  10.00000000000000000000000000000000 Inexact Rounded
9927db96d56Sopenharmony_cidqadd36456 fma  1   10   -77e-99      ->  10.00000000000000000000000000000000 Inexact Rounded
9937db96d56Sopenharmony_ci
9947db96d56Sopenharmony_cidqadd36460 fma  1   -77e-32       1   ->  0.99999999999999999999999999999923
9957db96d56Sopenharmony_cidqadd36461 fma  1   -77e-33       1   ->  0.999999999999999999999999999999923
9967db96d56Sopenharmony_cidqadd36462 fma  1   -77e-34       1   ->  0.9999999999999999999999999999999923
9977db96d56Sopenharmony_cidqadd36463 fma  1   -77e-35       1   ->  0.9999999999999999999999999999999992 Inexact Rounded
9987db96d56Sopenharmony_cidqadd36464 fma  1   -77e-36       1   ->  0.9999999999999999999999999999999999 Inexact Rounded
9997db96d56Sopenharmony_cidqadd36465 fma  1   -77e-37       1   ->  1.000000000000000000000000000000000 Inexact Rounded
10007db96d56Sopenharmony_cidqadd36466 fma  1   -77e-99       1   ->  1.000000000000000000000000000000000 Inexact Rounded
10017db96d56Sopenharmony_ci
10027db96d56Sopenharmony_cidqadd36470 fma  1   -77e-32      10   ->   9.99999999999999999999999999999923
10037db96d56Sopenharmony_cidqadd36471 fma  1   -77e-33      10   ->   9.999999999999999999999999999999923
10047db96d56Sopenharmony_cidqadd36472 fma  1   -77e-34      10   ->   9.999999999999999999999999999999992 Inexact Rounded
10057db96d56Sopenharmony_cidqadd36473 fma  1   -77e-35      10   ->   9.999999999999999999999999999999999 Inexact Rounded
10067db96d56Sopenharmony_cidqadd36474 fma  1   -77e-36      10   ->  10.00000000000000000000000000000000 Inexact Rounded
10077db96d56Sopenharmony_cidqadd36475 fma  1   -77e-37      10   ->  10.00000000000000000000000000000000 Inexact Rounded
10087db96d56Sopenharmony_cidqadd36476 fma  1   -77e-99      10   ->  10.00000000000000000000000000000000 Inexact Rounded
10097db96d56Sopenharmony_ci
10107db96d56Sopenharmony_ci-- negative ulps
10117db96d56Sopenharmony_cidqadd36480 fma  1   -1    77e-32      ->  -0.99999999999999999999999999999923
10127db96d56Sopenharmony_cidqadd36481 fma  1   -1    77e-33      ->  -0.999999999999999999999999999999923
10137db96d56Sopenharmony_cidqadd36482 fma  1   -1    77e-34      ->  -0.9999999999999999999999999999999923
10147db96d56Sopenharmony_cidqadd36483 fma  1   -1    77e-35      ->  -0.9999999999999999999999999999999992 Inexact Rounded
10157db96d56Sopenharmony_cidqadd36484 fma  1   -1    77e-36      ->  -0.9999999999999999999999999999999999 Inexact Rounded
10167db96d56Sopenharmony_cidqadd36485 fma  1   -1    77e-37      ->  -1.000000000000000000000000000000000 Inexact Rounded
10177db96d56Sopenharmony_cidqadd36486 fma  1   -1    77e-99      ->  -1.000000000000000000000000000000000 Inexact Rounded
10187db96d56Sopenharmony_ci
10197db96d56Sopenharmony_cidqadd36490 fma  1  -10    77e-32      ->   -9.99999999999999999999999999999923
10207db96d56Sopenharmony_cidqadd36491 fma  1  -10    77e-33      ->   -9.999999999999999999999999999999923
10217db96d56Sopenharmony_cidqadd36492 fma  1  -10    77e-34      ->   -9.999999999999999999999999999999992 Inexact Rounded
10227db96d56Sopenharmony_cidqadd36493 fma  1  -10    77e-35      ->   -9.999999999999999999999999999999999 Inexact Rounded
10237db96d56Sopenharmony_cidqadd36494 fma  1  -10    77e-36      ->  -10.00000000000000000000000000000000 Inexact Rounded
10247db96d56Sopenharmony_cidqadd36495 fma  1  -10    77e-37      ->  -10.00000000000000000000000000000000 Inexact Rounded
10257db96d56Sopenharmony_cidqadd36496 fma  1  -10    77e-99      ->  -10.00000000000000000000000000000000 Inexact Rounded
10267db96d56Sopenharmony_ci
10277db96d56Sopenharmony_cidqadd36500 fma  1    77e-32      -1   ->  -0.99999999999999999999999999999923
10287db96d56Sopenharmony_cidqadd36501 fma  1    77e-33      -1   ->  -0.999999999999999999999999999999923
10297db96d56Sopenharmony_cidqadd36502 fma  1    77e-34      -1   ->  -0.9999999999999999999999999999999923
10307db96d56Sopenharmony_cidqadd36503 fma  1    77e-35      -1   ->  -0.9999999999999999999999999999999992 Inexact Rounded
10317db96d56Sopenharmony_cidqadd36504 fma  1    77e-36      -1   ->  -0.9999999999999999999999999999999999 Inexact Rounded
10327db96d56Sopenharmony_cidqadd36505 fma  1    77e-37      -1   ->  -1.000000000000000000000000000000000 Inexact Rounded
10337db96d56Sopenharmony_cidqadd36506 fma  1    77e-99      -1   ->  -1.000000000000000000000000000000000 Inexact Rounded
10347db96d56Sopenharmony_ci
10357db96d56Sopenharmony_cidqadd36510 fma  1    77e-32      -10  ->   -9.99999999999999999999999999999923
10367db96d56Sopenharmony_cidqadd36511 fma  1    77e-33      -10  ->   -9.999999999999999999999999999999923
10377db96d56Sopenharmony_cidqadd36512 fma  1    77e-34      -10  ->   -9.999999999999999999999999999999992 Inexact Rounded
10387db96d56Sopenharmony_cidqadd36513 fma  1    77e-35      -10  ->   -9.999999999999999999999999999999999 Inexact Rounded
10397db96d56Sopenharmony_cidqadd36514 fma  1    77e-36      -10  ->  -10.00000000000000000000000000000000 Inexact Rounded
10407db96d56Sopenharmony_cidqadd36515 fma  1    77e-37      -10  ->  -10.00000000000000000000000000000000 Inexact Rounded
10417db96d56Sopenharmony_cidqadd36516 fma  1    77e-99      -10  ->  -10.00000000000000000000000000000000 Inexact Rounded
10427db96d56Sopenharmony_ci
10437db96d56Sopenharmony_ci-- and some more residue effects and different roundings
10447db96d56Sopenharmony_cirounding: half_up
10457db96d56Sopenharmony_cidqadd36540 fma  1  '9876543219876543216543210123456789' 0             -> '9876543219876543216543210123456789'
10467db96d56Sopenharmony_cidqadd36541 fma  1  '9876543219876543216543210123456789' 0.000000001   -> '9876543219876543216543210123456789' Inexact Rounded
10477db96d56Sopenharmony_cidqadd36542 fma  1  '9876543219876543216543210123456789' 0.000001      -> '9876543219876543216543210123456789' Inexact Rounded
10487db96d56Sopenharmony_cidqadd36543 fma  1  '9876543219876543216543210123456789' 0.1           -> '9876543219876543216543210123456789' Inexact Rounded
10497db96d56Sopenharmony_cidqadd36544 fma  1  '9876543219876543216543210123456789' 0.4           -> '9876543219876543216543210123456789' Inexact Rounded
10507db96d56Sopenharmony_cidqadd36545 fma  1  '9876543219876543216543210123456789' 0.49          -> '9876543219876543216543210123456789' Inexact Rounded
10517db96d56Sopenharmony_cidqadd36546 fma  1  '9876543219876543216543210123456789' 0.499999      -> '9876543219876543216543210123456789' Inexact Rounded
10527db96d56Sopenharmony_cidqadd36547 fma  1  '9876543219876543216543210123456789' 0.499999999   -> '9876543219876543216543210123456789' Inexact Rounded
10537db96d56Sopenharmony_cidqadd36548 fma  1  '9876543219876543216543210123456789' 0.5           -> '9876543219876543216543210123456790' Inexact Rounded
10547db96d56Sopenharmony_cidqadd36549 fma  1  '9876543219876543216543210123456789' 0.500000001   -> '9876543219876543216543210123456790' Inexact Rounded
10557db96d56Sopenharmony_cidqadd36550 fma  1  '9876543219876543216543210123456789' 0.500001      -> '9876543219876543216543210123456790' Inexact Rounded
10567db96d56Sopenharmony_cidqadd36551 fma  1  '9876543219876543216543210123456789' 0.51          -> '9876543219876543216543210123456790' Inexact Rounded
10577db96d56Sopenharmony_cidqadd36552 fma  1  '9876543219876543216543210123456789' 0.6           -> '9876543219876543216543210123456790' Inexact Rounded
10587db96d56Sopenharmony_cidqadd36553 fma  1  '9876543219876543216543210123456789' 0.9           -> '9876543219876543216543210123456790' Inexact Rounded
10597db96d56Sopenharmony_cidqadd36554 fma  1  '9876543219876543216543210123456789' 0.99999       -> '9876543219876543216543210123456790' Inexact Rounded
10607db96d56Sopenharmony_cidqadd36555 fma  1  '9876543219876543216543210123456789' 0.999999999   -> '9876543219876543216543210123456790' Inexact Rounded
10617db96d56Sopenharmony_cidqadd36556 fma  1  '9876543219876543216543210123456789' 1             -> '9876543219876543216543210123456790'
10627db96d56Sopenharmony_cidqadd36557 fma  1  '9876543219876543216543210123456789' 1.000000001   -> '9876543219876543216543210123456790' Inexact Rounded
10637db96d56Sopenharmony_cidqadd36558 fma  1  '9876543219876543216543210123456789' 1.00001       -> '9876543219876543216543210123456790' Inexact Rounded
10647db96d56Sopenharmony_cidqadd36559 fma  1  '9876543219876543216543210123456789' 1.1           -> '9876543219876543216543210123456790' Inexact Rounded
10657db96d56Sopenharmony_ci
10667db96d56Sopenharmony_cirounding: half_even
10677db96d56Sopenharmony_cidqadd36560 fma  1  '9876543219876543216543210123456789' 0             -> '9876543219876543216543210123456789'
10687db96d56Sopenharmony_cidqadd36561 fma  1  '9876543219876543216543210123456789' 0.000000001   -> '9876543219876543216543210123456789' Inexact Rounded
10697db96d56Sopenharmony_cidqadd36562 fma  1  '9876543219876543216543210123456789' 0.000001      -> '9876543219876543216543210123456789' Inexact Rounded
10707db96d56Sopenharmony_cidqadd36563 fma  1  '9876543219876543216543210123456789' 0.1           -> '9876543219876543216543210123456789' Inexact Rounded
10717db96d56Sopenharmony_cidqadd36564 fma  1  '9876543219876543216543210123456789' 0.4           -> '9876543219876543216543210123456789' Inexact Rounded
10727db96d56Sopenharmony_cidqadd36565 fma  1  '9876543219876543216543210123456789' 0.49          -> '9876543219876543216543210123456789' Inexact Rounded
10737db96d56Sopenharmony_cidqadd36566 fma  1  '9876543219876543216543210123456789' 0.499999      -> '9876543219876543216543210123456789' Inexact Rounded
10747db96d56Sopenharmony_cidqadd36567 fma  1  '9876543219876543216543210123456789' 0.499999999   -> '9876543219876543216543210123456789' Inexact Rounded
10757db96d56Sopenharmony_cidqadd36568 fma  1  '9876543219876543216543210123456789' 0.5           -> '9876543219876543216543210123456790' Inexact Rounded
10767db96d56Sopenharmony_cidqadd36569 fma  1  '9876543219876543216543210123456789' 0.500000001   -> '9876543219876543216543210123456790' Inexact Rounded
10777db96d56Sopenharmony_cidqadd36570 fma  1  '9876543219876543216543210123456789' 0.500001      -> '9876543219876543216543210123456790' Inexact Rounded
10787db96d56Sopenharmony_cidqadd36571 fma  1  '9876543219876543216543210123456789' 0.51          -> '9876543219876543216543210123456790' Inexact Rounded
10797db96d56Sopenharmony_cidqadd36572 fma  1  '9876543219876543216543210123456789' 0.6           -> '9876543219876543216543210123456790' Inexact Rounded
10807db96d56Sopenharmony_cidqadd36573 fma  1  '9876543219876543216543210123456789' 0.9           -> '9876543219876543216543210123456790' Inexact Rounded
10817db96d56Sopenharmony_cidqadd36574 fma  1  '9876543219876543216543210123456789' 0.99999       -> '9876543219876543216543210123456790' Inexact Rounded
10827db96d56Sopenharmony_cidqadd36575 fma  1  '9876543219876543216543210123456789' 0.999999999   -> '9876543219876543216543210123456790' Inexact Rounded
10837db96d56Sopenharmony_cidqadd36576 fma  1  '9876543219876543216543210123456789' 1             -> '9876543219876543216543210123456790'
10847db96d56Sopenharmony_cidqadd36577 fma  1  '9876543219876543216543210123456789' 1.00000001    -> '9876543219876543216543210123456790' Inexact Rounded
10857db96d56Sopenharmony_cidqadd36578 fma  1  '9876543219876543216543210123456789' 1.00001       -> '9876543219876543216543210123456790' Inexact Rounded
10867db96d56Sopenharmony_cidqadd36579 fma  1  '9876543219876543216543210123456789' 1.1           -> '9876543219876543216543210123456790' Inexact Rounded
10877db96d56Sopenharmony_ci
10887db96d56Sopenharmony_ci-- critical few with even bottom digit...
10897db96d56Sopenharmony_cidqadd37540 fma  1  '9876543219876543216543210123456788' 0.499999999   -> '9876543219876543216543210123456788' Inexact Rounded
10907db96d56Sopenharmony_cidqadd37541 fma  1  '9876543219876543216543210123456788' 0.5           -> '9876543219876543216543210123456788' Inexact Rounded
10917db96d56Sopenharmony_cidqadd37542 fma  1  '9876543219876543216543210123456788' 0.500000001   -> '9876543219876543216543210123456789' Inexact Rounded
10927db96d56Sopenharmony_ci
10937db96d56Sopenharmony_cirounding: down
10947db96d56Sopenharmony_cidqadd37550 fma  1  '9876543219876543216543210123456789' 0             -> '9876543219876543216543210123456789'
10957db96d56Sopenharmony_cidqadd37551 fma  1  '9876543219876543216543210123456789' 0.000000001   -> '9876543219876543216543210123456789' Inexact Rounded
10967db96d56Sopenharmony_cidqadd37552 fma  1  '9876543219876543216543210123456789' 0.000001      -> '9876543219876543216543210123456789' Inexact Rounded
10977db96d56Sopenharmony_cidqadd37553 fma  1  '9876543219876543216543210123456789' 0.1           -> '9876543219876543216543210123456789' Inexact Rounded
10987db96d56Sopenharmony_cidqadd37554 fma  1  '9876543219876543216543210123456789' 0.4           -> '9876543219876543216543210123456789' Inexact Rounded
10997db96d56Sopenharmony_cidqadd37555 fma  1  '9876543219876543216543210123456789' 0.49          -> '9876543219876543216543210123456789' Inexact Rounded
11007db96d56Sopenharmony_cidqadd37556 fma  1  '9876543219876543216543210123456789' 0.499999      -> '9876543219876543216543210123456789' Inexact Rounded
11017db96d56Sopenharmony_cidqadd37557 fma  1  '9876543219876543216543210123456789' 0.499999999   -> '9876543219876543216543210123456789' Inexact Rounded
11027db96d56Sopenharmony_cidqadd37558 fma  1  '9876543219876543216543210123456789' 0.5           -> '9876543219876543216543210123456789' Inexact Rounded
11037db96d56Sopenharmony_cidqadd37559 fma  1  '9876543219876543216543210123456789' 0.500000001   -> '9876543219876543216543210123456789' Inexact Rounded
11047db96d56Sopenharmony_cidqadd37560 fma  1  '9876543219876543216543210123456789' 0.500001      -> '9876543219876543216543210123456789' Inexact Rounded
11057db96d56Sopenharmony_cidqadd37561 fma  1  '9876543219876543216543210123456789' 0.51          -> '9876543219876543216543210123456789' Inexact Rounded
11067db96d56Sopenharmony_cidqadd37562 fma  1  '9876543219876543216543210123456789' 0.6           -> '9876543219876543216543210123456789' Inexact Rounded
11077db96d56Sopenharmony_cidqadd37563 fma  1  '9876543219876543216543210123456789' 0.9           -> '9876543219876543216543210123456789' Inexact Rounded
11087db96d56Sopenharmony_cidqadd37564 fma  1  '9876543219876543216543210123456789' 0.99999       -> '9876543219876543216543210123456789' Inexact Rounded
11097db96d56Sopenharmony_cidqadd37565 fma  1  '9876543219876543216543210123456789' 0.999999999   -> '9876543219876543216543210123456789' Inexact Rounded
11107db96d56Sopenharmony_cidqadd37566 fma  1  '9876543219876543216543210123456789' 1             -> '9876543219876543216543210123456790'
11117db96d56Sopenharmony_cidqadd37567 fma  1  '9876543219876543216543210123456789' 1.00000001    -> '9876543219876543216543210123456790' Inexact Rounded
11127db96d56Sopenharmony_cidqadd37568 fma  1  '9876543219876543216543210123456789' 1.00001       -> '9876543219876543216543210123456790' Inexact Rounded
11137db96d56Sopenharmony_cidqadd37569 fma  1  '9876543219876543216543210123456789' 1.1           -> '9876543219876543216543210123456790' Inexact Rounded
11147db96d56Sopenharmony_ci
11157db96d56Sopenharmony_ci-- more zeros, etc.
11167db96d56Sopenharmony_cirounding: half_even
11177db96d56Sopenharmony_ci
11187db96d56Sopenharmony_cidqadd37701 fma  1  5.00 1.00E-3 -> 5.00100
11197db96d56Sopenharmony_cidqadd37702 fma  1  00.00 0.000  -> 0.000
11207db96d56Sopenharmony_cidqadd37703 fma  1  00.00 0E-3   -> 0.000
11217db96d56Sopenharmony_cidqadd37704 fma  1  0E-3  00.00  -> 0.000
11227db96d56Sopenharmony_ci
11237db96d56Sopenharmony_cidqadd37710 fma  1  0E+3  00.00  -> 0.00
11247db96d56Sopenharmony_cidqadd37711 fma  1  0E+3  00.0   -> 0.0
11257db96d56Sopenharmony_cidqadd37712 fma  1  0E+3  00.    -> 0
11267db96d56Sopenharmony_cidqadd37713 fma  1  0E+3  00.E+1 -> 0E+1
11277db96d56Sopenharmony_cidqadd37714 fma  1  0E+3  00.E+2 -> 0E+2
11287db96d56Sopenharmony_cidqadd37715 fma  1  0E+3  00.E+3 -> 0E+3
11297db96d56Sopenharmony_cidqadd37716 fma  1  0E+3  00.E+4 -> 0E+3
11307db96d56Sopenharmony_cidqadd37717 fma  1  0E+3  00.E+5 -> 0E+3
11317db96d56Sopenharmony_cidqadd37718 fma  1  0E+3  -00.0   -> 0.0
11327db96d56Sopenharmony_cidqadd37719 fma  1  0E+3  -00.    -> 0
11337db96d56Sopenharmony_cidqadd37731 fma  1  0E+3  -00.E+1 -> 0E+1
11347db96d56Sopenharmony_ci
11357db96d56Sopenharmony_cidqadd37720 fma  1  00.00  0E+3  -> 0.00
11367db96d56Sopenharmony_cidqadd37721 fma  1  00.0   0E+3  -> 0.0
11377db96d56Sopenharmony_cidqadd37722 fma  1  00.    0E+3  -> 0
11387db96d56Sopenharmony_cidqadd37723 fma  1  00.E+1 0E+3  -> 0E+1
11397db96d56Sopenharmony_cidqadd37724 fma  1  00.E+2 0E+3  -> 0E+2
11407db96d56Sopenharmony_cidqadd37725 fma  1  00.E+3 0E+3  -> 0E+3
11417db96d56Sopenharmony_cidqadd37726 fma  1  00.E+4 0E+3  -> 0E+3
11427db96d56Sopenharmony_cidqadd37727 fma  1  00.E+5 0E+3  -> 0E+3
11437db96d56Sopenharmony_cidqadd37728 fma  1  -00.00 0E+3  -> 0.00
11447db96d56Sopenharmony_cidqadd37729 fma  1  -00.0  0E+3  -> 0.0
11457db96d56Sopenharmony_cidqadd37730 fma  1  -00.   0E+3  -> 0
11467db96d56Sopenharmony_ci
11477db96d56Sopenharmony_cidqadd37732 fma  1   0     0     ->  0
11487db96d56Sopenharmony_cidqadd37733 fma  1   0    -0     ->  0
11497db96d56Sopenharmony_cidqadd37734 fma  1  -0     0     ->  0
11507db96d56Sopenharmony_cidqadd37735 fma  1  -0    -0     -> -0     -- IEEE 854 special case
11517db96d56Sopenharmony_ci
11527db96d56Sopenharmony_cidqadd37736 fma  1   1    -1     ->  0
11537db96d56Sopenharmony_cidqadd37737 fma  1  -1    -1     -> -2
11547db96d56Sopenharmony_cidqadd37738 fma  1   1     1     ->  2
11557db96d56Sopenharmony_cidqadd37739 fma  1  -1     1     ->  0
11567db96d56Sopenharmony_ci
11577db96d56Sopenharmony_cidqadd37741 fma  1   0    -1     -> -1
11587db96d56Sopenharmony_cidqadd37742 fma  1  -0    -1     -> -1
11597db96d56Sopenharmony_cidqadd37743 fma  1   0     1     ->  1
11607db96d56Sopenharmony_cidqadd37744 fma  1  -0     1     ->  1
11617db96d56Sopenharmony_cidqadd37745 fma  1  -1     0     -> -1
11627db96d56Sopenharmony_cidqadd37746 fma  1  -1    -0     -> -1
11637db96d56Sopenharmony_cidqadd37747 fma  1   1     0     ->  1
11647db96d56Sopenharmony_cidqadd37748 fma  1   1    -0     ->  1
11657db96d56Sopenharmony_ci
11667db96d56Sopenharmony_cidqadd37751 fma  1   0.0  -1     -> -1.0
11677db96d56Sopenharmony_cidqadd37752 fma  1  -0.0  -1     -> -1.0
11687db96d56Sopenharmony_cidqadd37753 fma  1   0.0   1     ->  1.0
11697db96d56Sopenharmony_cidqadd37754 fma  1  -0.0   1     ->  1.0
11707db96d56Sopenharmony_cidqadd37755 fma  1  -1.0   0     -> -1.0
11717db96d56Sopenharmony_cidqadd37756 fma  1  -1.0  -0     -> -1.0
11727db96d56Sopenharmony_cidqadd37757 fma  1   1.0   0     ->  1.0
11737db96d56Sopenharmony_cidqadd37758 fma  1   1.0  -0     ->  1.0
11747db96d56Sopenharmony_ci
11757db96d56Sopenharmony_cidqadd37761 fma  1   0    -1.0   -> -1.0
11767db96d56Sopenharmony_cidqadd37762 fma  1  -0    -1.0   -> -1.0
11777db96d56Sopenharmony_cidqadd37763 fma  1   0     1.0   ->  1.0
11787db96d56Sopenharmony_cidqadd37764 fma  1  -0     1.0   ->  1.0
11797db96d56Sopenharmony_cidqadd37765 fma  1  -1     0.0   -> -1.0
11807db96d56Sopenharmony_cidqadd37766 fma  1  -1    -0.0   -> -1.0
11817db96d56Sopenharmony_cidqadd37767 fma  1   1     0.0   ->  1.0
11827db96d56Sopenharmony_cidqadd37768 fma  1   1    -0.0   ->  1.0
11837db96d56Sopenharmony_ci
11847db96d56Sopenharmony_cidqadd37771 fma  1   0.0  -1.0   -> -1.0
11857db96d56Sopenharmony_cidqadd37772 fma  1  -0.0  -1.0   -> -1.0
11867db96d56Sopenharmony_cidqadd37773 fma  1   0.0   1.0   ->  1.0
11877db96d56Sopenharmony_cidqadd37774 fma  1  -0.0   1.0   ->  1.0
11887db96d56Sopenharmony_cidqadd37775 fma  1  -1.0   0.0   -> -1.0
11897db96d56Sopenharmony_cidqadd37776 fma  1  -1.0  -0.0   -> -1.0
11907db96d56Sopenharmony_cidqadd37777 fma  1   1.0   0.0   ->  1.0
11917db96d56Sopenharmony_cidqadd37778 fma  1   1.0  -0.0   ->  1.0
11927db96d56Sopenharmony_ci
11937db96d56Sopenharmony_ci-- Specials
11947db96d56Sopenharmony_cidqadd37780 fma  1  -Inf  -Inf   -> -Infinity
11957db96d56Sopenharmony_cidqadd37781 fma  1  -Inf  -1000  -> -Infinity
11967db96d56Sopenharmony_cidqadd37782 fma  1  -Inf  -1     -> -Infinity
11977db96d56Sopenharmony_cidqadd37783 fma  1  -Inf  -0     -> -Infinity
11987db96d56Sopenharmony_cidqadd37784 fma  1  -Inf   0     -> -Infinity
11997db96d56Sopenharmony_cidqadd37785 fma  1  -Inf   1     -> -Infinity
12007db96d56Sopenharmony_cidqadd37786 fma  1  -Inf   1000  -> -Infinity
12017db96d56Sopenharmony_cidqadd37787 fma  1  -1000 -Inf   -> -Infinity
12027db96d56Sopenharmony_cidqadd37788 fma  1  -Inf  -Inf   -> -Infinity
12037db96d56Sopenharmony_cidqadd37789 fma  1  -1    -Inf   -> -Infinity
12047db96d56Sopenharmony_cidqadd37790 fma  1  -0    -Inf   -> -Infinity
12057db96d56Sopenharmony_cidqadd37791 fma  1   0    -Inf   -> -Infinity
12067db96d56Sopenharmony_cidqadd37792 fma  1   1    -Inf   -> -Infinity
12077db96d56Sopenharmony_cidqadd37793 fma  1   1000 -Inf   -> -Infinity
12087db96d56Sopenharmony_cidqadd37794 fma  1   Inf  -Inf   ->  NaN  Invalid_operation
12097db96d56Sopenharmony_ci
12107db96d56Sopenharmony_cidqadd37800 fma  1   Inf  -Inf   ->  NaN  Invalid_operation
12117db96d56Sopenharmony_cidqadd37801 fma  1   Inf  -1000  ->  Infinity
12127db96d56Sopenharmony_cidqadd37802 fma  1   Inf  -1     ->  Infinity
12137db96d56Sopenharmony_cidqadd37803 fma  1   Inf  -0     ->  Infinity
12147db96d56Sopenharmony_cidqadd37804 fma  1   Inf   0     ->  Infinity
12157db96d56Sopenharmony_cidqadd37805 fma  1   Inf   1     ->  Infinity
12167db96d56Sopenharmony_cidqadd37806 fma  1   Inf   1000  ->  Infinity
12177db96d56Sopenharmony_cidqadd37807 fma  1   Inf   Inf   ->  Infinity
12187db96d56Sopenharmony_cidqadd37808 fma  1  -1000  Inf   ->  Infinity
12197db96d56Sopenharmony_cidqadd37809 fma  1  -Inf   Inf   ->  NaN  Invalid_operation
12207db96d56Sopenharmony_cidqadd37810 fma  1  -1     Inf   ->  Infinity
12217db96d56Sopenharmony_cidqadd37811 fma  1  -0     Inf   ->  Infinity
12227db96d56Sopenharmony_cidqadd37812 fma  1   0     Inf   ->  Infinity
12237db96d56Sopenharmony_cidqadd37813 fma  1   1     Inf   ->  Infinity
12247db96d56Sopenharmony_cidqadd37814 fma  1   1000  Inf   ->  Infinity
12257db96d56Sopenharmony_cidqadd37815 fma  1   Inf   Inf   ->  Infinity
12267db96d56Sopenharmony_ci
12277db96d56Sopenharmony_cidqadd37821 fma  1   NaN -Inf    ->  NaN
12287db96d56Sopenharmony_cidqadd37822 fma  1   NaN -1000   ->  NaN
12297db96d56Sopenharmony_cidqadd37823 fma  1   NaN -1      ->  NaN
12307db96d56Sopenharmony_cidqadd37824 fma  1   NaN -0      ->  NaN
12317db96d56Sopenharmony_cidqadd37825 fma  1   NaN  0      ->  NaN
12327db96d56Sopenharmony_cidqadd37826 fma  1   NaN  1      ->  NaN
12337db96d56Sopenharmony_cidqadd37827 fma  1   NaN  1000   ->  NaN
12347db96d56Sopenharmony_cidqadd37828 fma  1   NaN  Inf    ->  NaN
12357db96d56Sopenharmony_cidqadd37829 fma  1   NaN  NaN    ->  NaN
12367db96d56Sopenharmony_cidqadd37830 fma  1  -Inf  NaN    ->  NaN
12377db96d56Sopenharmony_cidqadd37831 fma  1  -1000 NaN    ->  NaN
12387db96d56Sopenharmony_cidqadd37832 fma  1  -1    NaN    ->  NaN
12397db96d56Sopenharmony_cidqadd37833 fma  1  -0    NaN    ->  NaN
12407db96d56Sopenharmony_cidqadd37834 fma  1   0    NaN    ->  NaN
12417db96d56Sopenharmony_cidqadd37835 fma  1   1    NaN    ->  NaN
12427db96d56Sopenharmony_cidqadd37836 fma  1   1000 NaN    ->  NaN
12437db96d56Sopenharmony_cidqadd37837 fma  1   Inf  NaN    ->  NaN
12447db96d56Sopenharmony_ci
12457db96d56Sopenharmony_cidqadd37841 fma  1   sNaN -Inf   ->  NaN  Invalid_operation
12467db96d56Sopenharmony_cidqadd37842 fma  1   sNaN -1000  ->  NaN  Invalid_operation
12477db96d56Sopenharmony_cidqadd37843 fma  1   sNaN -1     ->  NaN  Invalid_operation
12487db96d56Sopenharmony_cidqadd37844 fma  1   sNaN -0     ->  NaN  Invalid_operation
12497db96d56Sopenharmony_cidqadd37845 fma  1   sNaN  0     ->  NaN  Invalid_operation
12507db96d56Sopenharmony_cidqadd37846 fma  1   sNaN  1     ->  NaN  Invalid_operation
12517db96d56Sopenharmony_cidqadd37847 fma  1   sNaN  1000  ->  NaN  Invalid_operation
12527db96d56Sopenharmony_cidqadd37848 fma  1   sNaN  NaN   ->  NaN  Invalid_operation
12537db96d56Sopenharmony_cidqadd37849 fma  1   sNaN sNaN   ->  NaN  Invalid_operation
12547db96d56Sopenharmony_cidqadd37850 fma  1   NaN  sNaN   ->  NaN  Invalid_operation
12557db96d56Sopenharmony_cidqadd37851 fma  1  -Inf  sNaN   ->  NaN  Invalid_operation
12567db96d56Sopenharmony_cidqadd37852 fma  1  -1000 sNaN   ->  NaN  Invalid_operation
12577db96d56Sopenharmony_cidqadd37853 fma  1  -1    sNaN   ->  NaN  Invalid_operation
12587db96d56Sopenharmony_cidqadd37854 fma  1  -0    sNaN   ->  NaN  Invalid_operation
12597db96d56Sopenharmony_cidqadd37855 fma  1   0    sNaN   ->  NaN  Invalid_operation
12607db96d56Sopenharmony_cidqadd37856 fma  1   1    sNaN   ->  NaN  Invalid_operation
12617db96d56Sopenharmony_cidqadd37857 fma  1   1000 sNaN   ->  NaN  Invalid_operation
12627db96d56Sopenharmony_cidqadd37858 fma  1   Inf  sNaN   ->  NaN  Invalid_operation
12637db96d56Sopenharmony_cidqadd37859 fma  1   NaN  sNaN   ->  NaN  Invalid_operation
12647db96d56Sopenharmony_ci
12657db96d56Sopenharmony_ci-- propagating NaNs
12667db96d56Sopenharmony_cidqadd37861 fma  1   NaN1   -Inf    ->  NaN1
12677db96d56Sopenharmony_cidqadd37862 fma  1  +NaN2   -1000   ->  NaN2
12687db96d56Sopenharmony_cidqadd37863 fma  1   NaN3    1000   ->  NaN3
12697db96d56Sopenharmony_cidqadd37864 fma  1   NaN4    Inf    ->  NaN4
12707db96d56Sopenharmony_cidqadd37865 fma  1   NaN5   +NaN6   ->  NaN5
12717db96d56Sopenharmony_cidqadd37866 fma  1  -Inf     NaN7   ->  NaN7
12727db96d56Sopenharmony_cidqadd37867 fma  1  -1000    NaN8   ->  NaN8
12737db96d56Sopenharmony_cidqadd37868 fma  1   1000    NaN9   ->  NaN9
12747db96d56Sopenharmony_cidqadd37869 fma  1   Inf    +NaN10  ->  NaN10
12757db96d56Sopenharmony_cidqadd37871 fma  1   sNaN11  -Inf   ->  NaN11  Invalid_operation
12767db96d56Sopenharmony_cidqadd37872 fma  1   sNaN12  -1000  ->  NaN12  Invalid_operation
12777db96d56Sopenharmony_cidqadd37873 fma  1   sNaN13   1000  ->  NaN13  Invalid_operation
12787db96d56Sopenharmony_cidqadd37874 fma  1   sNaN14   NaN17 ->  NaN14  Invalid_operation
12797db96d56Sopenharmony_cidqadd37875 fma  1   sNaN15  sNaN18 ->  NaN15  Invalid_operation
12807db96d56Sopenharmony_cidqadd37876 fma  1   NaN16   sNaN19 ->  NaN19  Invalid_operation
12817db96d56Sopenharmony_cidqadd37877 fma  1  -Inf    +sNaN20 ->  NaN20  Invalid_operation
12827db96d56Sopenharmony_cidqadd37878 fma  1  -1000    sNaN21 ->  NaN21  Invalid_operation
12837db96d56Sopenharmony_cidqadd37879 fma  1   1000    sNaN22 ->  NaN22  Invalid_operation
12847db96d56Sopenharmony_cidqadd37880 fma  1   Inf     sNaN23 ->  NaN23  Invalid_operation
12857db96d56Sopenharmony_cidqadd37881 fma  1  +NaN25  +sNaN24 ->  NaN24  Invalid_operation
12867db96d56Sopenharmony_cidqadd37882 fma  1  -NaN26    NaN28 -> -NaN26
12877db96d56Sopenharmony_cidqadd37883 fma  1  -sNaN27  sNaN29 -> -NaN27  Invalid_operation
12887db96d56Sopenharmony_cidqadd37884 fma  1   1000    -NaN30 -> -NaN30
12897db96d56Sopenharmony_cidqadd37885 fma  1   1000   -sNaN31 -> -NaN31  Invalid_operation
12907db96d56Sopenharmony_ci
12917db96d56Sopenharmony_ci-- Here we explore near the boundary of rounding a subnormal to Nmin
12927db96d56Sopenharmony_cidqadd37575 fma  1   1E-6143 -1E-6176 ->  9.99999999999999999999999999999999E-6144 Subnormal
12937db96d56Sopenharmony_cidqadd37576 fma  1  -1E-6143 +1E-6176 -> -9.99999999999999999999999999999999E-6144 Subnormal
12947db96d56Sopenharmony_ci
12957db96d56Sopenharmony_ci-- check overflow edge case
12967db96d56Sopenharmony_ci--               1234567890123456
12977db96d56Sopenharmony_cidqadd37972 apply       9.999999999999999999999999999999999E+6144         -> 9.999999999999999999999999999999999E+6144
12987db96d56Sopenharmony_cidqadd37973 fma  1      9.999999999999999999999999999999999E+6144  1      -> 9.999999999999999999999999999999999E+6144 Inexact Rounded
12997db96d56Sopenharmony_cidqadd37974 fma  1       9999999999999999999999999999999999E+6111  1      -> 9.999999999999999999999999999999999E+6144 Inexact Rounded
13007db96d56Sopenharmony_cidqadd37975 fma  1       9999999999999999999999999999999999E+6111  1E+6111  -> Infinity Overflow Inexact Rounded
13017db96d56Sopenharmony_cidqadd37976 fma  1       9999999999999999999999999999999999E+6111  9E+6110  -> Infinity Overflow Inexact Rounded
13027db96d56Sopenharmony_cidqadd37977 fma  1       9999999999999999999999999999999999E+6111  8E+6110  -> Infinity Overflow Inexact Rounded
13037db96d56Sopenharmony_cidqadd37978 fma  1       9999999999999999999999999999999999E+6111  7E+6110  -> Infinity Overflow Inexact Rounded
13047db96d56Sopenharmony_cidqadd37979 fma  1       9999999999999999999999999999999999E+6111  6E+6110  -> Infinity Overflow Inexact Rounded
13057db96d56Sopenharmony_cidqadd37980 fma  1       9999999999999999999999999999999999E+6111  5E+6110  -> Infinity Overflow Inexact Rounded
13067db96d56Sopenharmony_cidqadd37981 fma  1       9999999999999999999999999999999999E+6111  4E+6110  -> 9.999999999999999999999999999999999E+6144 Inexact Rounded
13077db96d56Sopenharmony_cidqadd37982 fma  1       9999999999999999999999999999999999E+6111  3E+6110  -> 9.999999999999999999999999999999999E+6144 Inexact Rounded
13087db96d56Sopenharmony_cidqadd37983 fma  1       9999999999999999999999999999999999E+6111  2E+6110  -> 9.999999999999999999999999999999999E+6144 Inexact Rounded
13097db96d56Sopenharmony_cidqadd37984 fma  1       9999999999999999999999999999999999E+6111  1E+6110  -> 9.999999999999999999999999999999999E+6144 Inexact Rounded
13107db96d56Sopenharmony_ci
13117db96d56Sopenharmony_cidqadd37985 apply      -9.999999999999999999999999999999999E+6144         -> -9.999999999999999999999999999999999E+6144
13127db96d56Sopenharmony_cidqadd37986 fma  1     -9.999999999999999999999999999999999E+6144 -1      -> -9.999999999999999999999999999999999E+6144 Inexact Rounded
13137db96d56Sopenharmony_cidqadd37987 fma  1      -9999999999999999999999999999999999E+6111 -1      -> -9.999999999999999999999999999999999E+6144 Inexact Rounded
13147db96d56Sopenharmony_cidqadd37988 fma  1      -9999999999999999999999999999999999E+6111 -1E+6111  -> -Infinity Overflow Inexact Rounded
13157db96d56Sopenharmony_cidqadd37989 fma  1      -9999999999999999999999999999999999E+6111 -9E+6110  -> -Infinity Overflow Inexact Rounded
13167db96d56Sopenharmony_cidqadd37990 fma  1      -9999999999999999999999999999999999E+6111 -8E+6110  -> -Infinity Overflow Inexact Rounded
13177db96d56Sopenharmony_cidqadd37991 fma  1      -9999999999999999999999999999999999E+6111 -7E+6110  -> -Infinity Overflow Inexact Rounded
13187db96d56Sopenharmony_cidqadd37992 fma  1      -9999999999999999999999999999999999E+6111 -6E+6110  -> -Infinity Overflow Inexact Rounded
13197db96d56Sopenharmony_cidqadd37993 fma  1      -9999999999999999999999999999999999E+6111 -5E+6110  -> -Infinity Overflow Inexact Rounded
13207db96d56Sopenharmony_cidqadd37994 fma  1      -9999999999999999999999999999999999E+6111 -4E+6110  -> -9.999999999999999999999999999999999E+6144 Inexact Rounded
13217db96d56Sopenharmony_cidqadd37995 fma  1      -9999999999999999999999999999999999E+6111 -3E+6110  -> -9.999999999999999999999999999999999E+6144 Inexact Rounded
13227db96d56Sopenharmony_cidqadd37996 fma  1      -9999999999999999999999999999999999E+6111 -2E+6110  -> -9.999999999999999999999999999999999E+6144 Inexact Rounded
13237db96d56Sopenharmony_cidqadd37997 fma  1      -9999999999999999999999999999999999E+6111 -1E+6110  -> -9.999999999999999999999999999999999E+6144 Inexact Rounded
13247db96d56Sopenharmony_ci
13257db96d56Sopenharmony_ci-- And for round down full and subnormal results
13267db96d56Sopenharmony_cirounding:     down
13277db96d56Sopenharmony_cidqadd371100 fma  1  1e+2 -1e-6143    -> 99.99999999999999999999999999999999 Rounded Inexact
13287db96d56Sopenharmony_cidqadd371101 fma  1  1e+1 -1e-6143    -> 9.999999999999999999999999999999999  Rounded Inexact
13297db96d56Sopenharmony_cidqadd371103 fma  1    +1 -1e-6143    -> 0.9999999999999999999999999999999999  Rounded Inexact
13307db96d56Sopenharmony_cidqadd371104 fma  1  1e-1 -1e-6143    -> 0.09999999999999999999999999999999999  Rounded Inexact
13317db96d56Sopenharmony_cidqadd371105 fma  1  1e-2 -1e-6143    -> 0.009999999999999999999999999999999999  Rounded Inexact
13327db96d56Sopenharmony_cidqadd371106 fma  1  1e-3 -1e-6143    -> 0.0009999999999999999999999999999999999  Rounded Inexact
13337db96d56Sopenharmony_cidqadd371107 fma  1  1e-4 -1e-6143    -> 0.00009999999999999999999999999999999999  Rounded Inexact
13347db96d56Sopenharmony_cidqadd371108 fma  1  1e-5 -1e-6143    -> 0.000009999999999999999999999999999999999  Rounded Inexact
13357db96d56Sopenharmony_cidqadd371109 fma  1  1e-6 -1e-6143    -> 9.999999999999999999999999999999999E-7  Rounded Inexact
13367db96d56Sopenharmony_ci
13377db96d56Sopenharmony_cirounding:     ceiling
13387db96d56Sopenharmony_cidqadd371110 fma  1  -1e+2 +1e-6143   -> -99.99999999999999999999999999999999 Rounded Inexact
13397db96d56Sopenharmony_cidqadd371111 fma  1  -1e+1 +1e-6143   -> -9.999999999999999999999999999999999  Rounded Inexact
13407db96d56Sopenharmony_cidqadd371113 fma  1     -1 +1e-6143   -> -0.9999999999999999999999999999999999  Rounded Inexact
13417db96d56Sopenharmony_cidqadd371114 fma  1  -1e-1 +1e-6143   -> -0.09999999999999999999999999999999999  Rounded Inexact
13427db96d56Sopenharmony_cidqadd371115 fma  1  -1e-2 +1e-6143   -> -0.009999999999999999999999999999999999  Rounded Inexact
13437db96d56Sopenharmony_cidqadd371116 fma  1  -1e-3 +1e-6143   -> -0.0009999999999999999999999999999999999  Rounded Inexact
13447db96d56Sopenharmony_cidqadd371117 fma  1  -1e-4 +1e-6143   -> -0.00009999999999999999999999999999999999  Rounded Inexact
13457db96d56Sopenharmony_cidqadd371118 fma  1  -1e-5 +1e-6143   -> -0.000009999999999999999999999999999999999  Rounded Inexact
13467db96d56Sopenharmony_cidqadd371119 fma  1  -1e-6 +1e-6143   -> -9.999999999999999999999999999999999E-7  Rounded Inexact
13477db96d56Sopenharmony_ci
13487db96d56Sopenharmony_ci-- tests based on Gunnar Degnbol's edge case
13497db96d56Sopenharmony_cirounding:     half_even
13507db96d56Sopenharmony_ci
13517db96d56Sopenharmony_cidqadd371300 fma  1  1E34  -0.5                 ->  1.000000000000000000000000000000000E+34 Inexact Rounded
13527db96d56Sopenharmony_cidqadd371310 fma  1  1E34  -0.51                ->  9999999999999999999999999999999999      Inexact Rounded
13537db96d56Sopenharmony_cidqadd371311 fma  1  1E34  -0.501               ->  9999999999999999999999999999999999      Inexact Rounded
13547db96d56Sopenharmony_cidqadd371312 fma  1  1E34  -0.5001              ->  9999999999999999999999999999999999      Inexact Rounded
13557db96d56Sopenharmony_cidqadd371313 fma  1  1E34  -0.50001             ->  9999999999999999999999999999999999      Inexact Rounded
13567db96d56Sopenharmony_cidqadd371314 fma  1  1E34  -0.500001            ->  9999999999999999999999999999999999      Inexact Rounded
13577db96d56Sopenharmony_cidqadd371315 fma  1  1E34  -0.5000001           ->  9999999999999999999999999999999999      Inexact Rounded
13587db96d56Sopenharmony_cidqadd371316 fma  1  1E34  -0.50000001          ->  9999999999999999999999999999999999      Inexact Rounded
13597db96d56Sopenharmony_cidqadd371317 fma  1  1E34  -0.500000001         ->  9999999999999999999999999999999999      Inexact Rounded
13607db96d56Sopenharmony_cidqadd371318 fma  1  1E34  -0.5000000001        ->  9999999999999999999999999999999999      Inexact Rounded
13617db96d56Sopenharmony_cidqadd371319 fma  1  1E34  -0.50000000001       ->  9999999999999999999999999999999999      Inexact Rounded
13627db96d56Sopenharmony_cidqadd371320 fma  1  1E34  -0.500000000001      ->  9999999999999999999999999999999999      Inexact Rounded
13637db96d56Sopenharmony_cidqadd371321 fma  1  1E34  -0.5000000000001     ->  9999999999999999999999999999999999      Inexact Rounded
13647db96d56Sopenharmony_cidqadd371322 fma  1  1E34  -0.50000000000001    ->  9999999999999999999999999999999999      Inexact Rounded
13657db96d56Sopenharmony_cidqadd371323 fma  1  1E34  -0.500000000000001   ->  9999999999999999999999999999999999      Inexact Rounded
13667db96d56Sopenharmony_cidqadd371324 fma  1  1E34  -0.5000000000000001  ->  9999999999999999999999999999999999      Inexact Rounded
13677db96d56Sopenharmony_cidqadd371325 fma  1  1E34  -0.5000000000000000  ->  1.000000000000000000000000000000000E+34 Inexact Rounded
13687db96d56Sopenharmony_cidqadd371326 fma  1  1E34  -0.500000000000000   ->  1.000000000000000000000000000000000E+34 Inexact Rounded
13697db96d56Sopenharmony_cidqadd371327 fma  1  1E34  -0.50000000000000    ->  1.000000000000000000000000000000000E+34 Inexact Rounded
13707db96d56Sopenharmony_cidqadd371328 fma  1  1E34  -0.5000000000000     ->  1.000000000000000000000000000000000E+34 Inexact Rounded
13717db96d56Sopenharmony_cidqadd371329 fma  1  1E34  -0.500000000000      ->  1.000000000000000000000000000000000E+34 Inexact Rounded
13727db96d56Sopenharmony_cidqadd371330 fma  1  1E34  -0.50000000000       ->  1.000000000000000000000000000000000E+34 Inexact Rounded
13737db96d56Sopenharmony_cidqadd371331 fma  1  1E34  -0.5000000000        ->  1.000000000000000000000000000000000E+34 Inexact Rounded
13747db96d56Sopenharmony_cidqadd371332 fma  1  1E34  -0.500000000         ->  1.000000000000000000000000000000000E+34 Inexact Rounded
13757db96d56Sopenharmony_cidqadd371333 fma  1  1E34  -0.50000000          ->  1.000000000000000000000000000000000E+34 Inexact Rounded
13767db96d56Sopenharmony_cidqadd371334 fma  1  1E34  -0.5000000           ->  1.000000000000000000000000000000000E+34 Inexact Rounded
13777db96d56Sopenharmony_cidqadd371335 fma  1  1E34  -0.500000            ->  1.000000000000000000000000000000000E+34 Inexact Rounded
13787db96d56Sopenharmony_cidqadd371336 fma  1  1E34  -0.50000             ->  1.000000000000000000000000000000000E+34 Inexact Rounded
13797db96d56Sopenharmony_cidqadd371337 fma  1  1E34  -0.5000              ->  1.000000000000000000000000000000000E+34 Inexact Rounded
13807db96d56Sopenharmony_cidqadd371338 fma  1  1E34  -0.500               ->  1.000000000000000000000000000000000E+34 Inexact Rounded
13817db96d56Sopenharmony_cidqadd371339 fma  1  1E34  -0.50                ->  1.000000000000000000000000000000000E+34 Inexact Rounded
13827db96d56Sopenharmony_ci
13837db96d56Sopenharmony_cidqadd371340 fma  1  1E34  -5000000.000010001   ->  9999999999999999999999999995000000      Inexact Rounded
13847db96d56Sopenharmony_cidqadd371341 fma  1  1E34  -5000000.000000001   ->  9999999999999999999999999995000000      Inexact Rounded
13857db96d56Sopenharmony_ci
13867db96d56Sopenharmony_cidqadd371349 fma  1  9999999999999999999999999999999999 0.4                 ->  9999999999999999999999999999999999      Inexact Rounded
13877db96d56Sopenharmony_cidqadd371350 fma  1  9999999999999999999999999999999999 0.49                ->  9999999999999999999999999999999999      Inexact Rounded
13887db96d56Sopenharmony_cidqadd371351 fma  1  9999999999999999999999999999999999 0.499               ->  9999999999999999999999999999999999      Inexact Rounded
13897db96d56Sopenharmony_cidqadd371352 fma  1  9999999999999999999999999999999999 0.4999              ->  9999999999999999999999999999999999      Inexact Rounded
13907db96d56Sopenharmony_cidqadd371353 fma  1  9999999999999999999999999999999999 0.49999             ->  9999999999999999999999999999999999      Inexact Rounded
13917db96d56Sopenharmony_cidqadd371354 fma  1  9999999999999999999999999999999999 0.499999            ->  9999999999999999999999999999999999      Inexact Rounded
13927db96d56Sopenharmony_cidqadd371355 fma  1  9999999999999999999999999999999999 0.4999999           ->  9999999999999999999999999999999999      Inexact Rounded
13937db96d56Sopenharmony_cidqadd371356 fma  1  9999999999999999999999999999999999 0.49999999          ->  9999999999999999999999999999999999      Inexact Rounded
13947db96d56Sopenharmony_cidqadd371357 fma  1  9999999999999999999999999999999999 0.499999999         ->  9999999999999999999999999999999999      Inexact Rounded
13957db96d56Sopenharmony_cidqadd371358 fma  1  9999999999999999999999999999999999 0.4999999999        ->  9999999999999999999999999999999999      Inexact Rounded
13967db96d56Sopenharmony_cidqadd371359 fma  1  9999999999999999999999999999999999 0.49999999999       ->  9999999999999999999999999999999999      Inexact Rounded
13977db96d56Sopenharmony_cidqadd371360 fma  1  9999999999999999999999999999999999 0.499999999999      ->  9999999999999999999999999999999999      Inexact Rounded
13987db96d56Sopenharmony_cidqadd371361 fma  1  9999999999999999999999999999999999 0.4999999999999     ->  9999999999999999999999999999999999      Inexact Rounded
13997db96d56Sopenharmony_cidqadd371362 fma  1  9999999999999999999999999999999999 0.49999999999999    ->  9999999999999999999999999999999999      Inexact Rounded
14007db96d56Sopenharmony_cidqadd371363 fma  1  9999999999999999999999999999999999 0.499999999999999   ->  9999999999999999999999999999999999      Inexact Rounded
14017db96d56Sopenharmony_cidqadd371364 fma  1  9999999999999999999999999999999999 0.4999999999999999  ->  9999999999999999999999999999999999      Inexact Rounded
14027db96d56Sopenharmony_cidqadd371365 fma  1  9999999999999999999999999999999999 0.5000000000000000  ->  1.000000000000000000000000000000000E+34 Inexact Rounded
14037db96d56Sopenharmony_cidqadd371367 fma  1  9999999999999999999999999999999999 0.500000000000000   ->  1.000000000000000000000000000000000E+34 Inexact Rounded
14047db96d56Sopenharmony_cidqadd371368 fma  1  9999999999999999999999999999999999 0.50000000000000    ->  1.000000000000000000000000000000000E+34 Inexact Rounded
14057db96d56Sopenharmony_cidqadd371369 fma  1  9999999999999999999999999999999999 0.5000000000000     ->  1.000000000000000000000000000000000E+34 Inexact Rounded
14067db96d56Sopenharmony_cidqadd371370 fma  1  9999999999999999999999999999999999 0.500000000000      ->  1.000000000000000000000000000000000E+34 Inexact Rounded
14077db96d56Sopenharmony_cidqadd371371 fma  1  9999999999999999999999999999999999 0.50000000000       ->  1.000000000000000000000000000000000E+34 Inexact Rounded
14087db96d56Sopenharmony_cidqadd371372 fma  1  9999999999999999999999999999999999 0.5000000000        ->  1.000000000000000000000000000000000E+34 Inexact Rounded
14097db96d56Sopenharmony_cidqadd371373 fma  1  9999999999999999999999999999999999 0.500000000         ->  1.000000000000000000000000000000000E+34 Inexact Rounded
14107db96d56Sopenharmony_cidqadd371374 fma  1  9999999999999999999999999999999999 0.50000000          ->  1.000000000000000000000000000000000E+34 Inexact Rounded
14117db96d56Sopenharmony_cidqadd371375 fma  1  9999999999999999999999999999999999 0.5000000           ->  1.000000000000000000000000000000000E+34 Inexact Rounded
14127db96d56Sopenharmony_cidqadd371376 fma  1  9999999999999999999999999999999999 0.500000            ->  1.000000000000000000000000000000000E+34 Inexact Rounded
14137db96d56Sopenharmony_cidqadd371377 fma  1  9999999999999999999999999999999999 0.50000             ->  1.000000000000000000000000000000000E+34 Inexact Rounded
14147db96d56Sopenharmony_cidqadd371378 fma  1  9999999999999999999999999999999999 0.5000              ->  1.000000000000000000000000000000000E+34 Inexact Rounded
14157db96d56Sopenharmony_cidqadd371379 fma  1  9999999999999999999999999999999999 0.500               ->  1.000000000000000000000000000000000E+34 Inexact Rounded
14167db96d56Sopenharmony_cidqadd371380 fma  1  9999999999999999999999999999999999 0.50                ->  1.000000000000000000000000000000000E+34 Inexact Rounded
14177db96d56Sopenharmony_cidqadd371381 fma  1  9999999999999999999999999999999999 0.5                 ->  1.000000000000000000000000000000000E+34 Inexact Rounded
14187db96d56Sopenharmony_cidqadd371382 fma  1  9999999999999999999999999999999999 0.5000000000000001  ->  1.000000000000000000000000000000000E+34 Inexact Rounded
14197db96d56Sopenharmony_cidqadd371383 fma  1  9999999999999999999999999999999999 0.500000000000001   ->  1.000000000000000000000000000000000E+34 Inexact Rounded
14207db96d56Sopenharmony_cidqadd371384 fma  1  9999999999999999999999999999999999 0.50000000000001    ->  1.000000000000000000000000000000000E+34 Inexact Rounded
14217db96d56Sopenharmony_cidqadd371385 fma  1  9999999999999999999999999999999999 0.5000000000001     ->  1.000000000000000000000000000000000E+34 Inexact Rounded
14227db96d56Sopenharmony_cidqadd371386 fma  1  9999999999999999999999999999999999 0.500000000001      ->  1.000000000000000000000000000000000E+34 Inexact Rounded
14237db96d56Sopenharmony_cidqadd371387 fma  1  9999999999999999999999999999999999 0.50000000001       ->  1.000000000000000000000000000000000E+34 Inexact Rounded
14247db96d56Sopenharmony_cidqadd371388 fma  1  9999999999999999999999999999999999 0.5000000001        ->  1.000000000000000000000000000000000E+34 Inexact Rounded
14257db96d56Sopenharmony_cidqadd371389 fma  1  9999999999999999999999999999999999 0.500000001         ->  1.000000000000000000000000000000000E+34 Inexact Rounded
14267db96d56Sopenharmony_cidqadd371390 fma  1  9999999999999999999999999999999999 0.50000001          ->  1.000000000000000000000000000000000E+34 Inexact Rounded
14277db96d56Sopenharmony_cidqadd371391 fma  1  9999999999999999999999999999999999 0.5000001           ->  1.000000000000000000000000000000000E+34 Inexact Rounded
14287db96d56Sopenharmony_cidqadd371392 fma  1  9999999999999999999999999999999999 0.500001            ->  1.000000000000000000000000000000000E+34 Inexact Rounded
14297db96d56Sopenharmony_cidqadd371393 fma  1  9999999999999999999999999999999999 0.50001             ->  1.000000000000000000000000000000000E+34 Inexact Rounded
14307db96d56Sopenharmony_cidqadd371394 fma  1  9999999999999999999999999999999999 0.5001              ->  1.000000000000000000000000000000000E+34 Inexact Rounded
14317db96d56Sopenharmony_cidqadd371395 fma  1  9999999999999999999999999999999999 0.501               ->  1.000000000000000000000000000000000E+34 Inexact Rounded
14327db96d56Sopenharmony_cidqadd371396 fma  1  9999999999999999999999999999999999 0.51                ->  1.000000000000000000000000000000000E+34 Inexact Rounded
14337db96d56Sopenharmony_ci
14347db96d56Sopenharmony_ci-- More GD edge cases, where difference between the unadjusted
14357db96d56Sopenharmony_ci-- exponents is larger than the maximum precision and one side is 0
14367db96d56Sopenharmony_cidqadd371420 fma  1   0 1.123456789987654321123456789012345     -> 1.123456789987654321123456789012345
14377db96d56Sopenharmony_cidqadd371421 fma  1   0 1.123456789987654321123456789012345E-1  -> 0.1123456789987654321123456789012345
14387db96d56Sopenharmony_cidqadd371422 fma  1   0 1.123456789987654321123456789012345E-2  -> 0.01123456789987654321123456789012345
14397db96d56Sopenharmony_cidqadd371423 fma  1   0 1.123456789987654321123456789012345E-3  -> 0.001123456789987654321123456789012345
14407db96d56Sopenharmony_cidqadd371424 fma  1   0 1.123456789987654321123456789012345E-4  -> 0.0001123456789987654321123456789012345
14417db96d56Sopenharmony_cidqadd371425 fma  1   0 1.123456789987654321123456789012345E-5  -> 0.00001123456789987654321123456789012345
14427db96d56Sopenharmony_cidqadd371426 fma  1   0 1.123456789987654321123456789012345E-6  -> 0.000001123456789987654321123456789012345
14437db96d56Sopenharmony_cidqadd371427 fma  1   0 1.123456789987654321123456789012345E-7  -> 1.123456789987654321123456789012345E-7
14447db96d56Sopenharmony_cidqadd371428 fma  1   0 1.123456789987654321123456789012345E-8  -> 1.123456789987654321123456789012345E-8
14457db96d56Sopenharmony_cidqadd371429 fma  1   0 1.123456789987654321123456789012345E-9  -> 1.123456789987654321123456789012345E-9
14467db96d56Sopenharmony_cidqadd371430 fma  1   0 1.123456789987654321123456789012345E-10 -> 1.123456789987654321123456789012345E-10
14477db96d56Sopenharmony_cidqadd371431 fma  1   0 1.123456789987654321123456789012345E-11 -> 1.123456789987654321123456789012345E-11
14487db96d56Sopenharmony_cidqadd371432 fma  1   0 1.123456789987654321123456789012345E-12 -> 1.123456789987654321123456789012345E-12
14497db96d56Sopenharmony_cidqadd371433 fma  1   0 1.123456789987654321123456789012345E-13 -> 1.123456789987654321123456789012345E-13
14507db96d56Sopenharmony_cidqadd371434 fma  1   0 1.123456789987654321123456789012345E-14 -> 1.123456789987654321123456789012345E-14
14517db96d56Sopenharmony_cidqadd371435 fma  1   0 1.123456789987654321123456789012345E-15 -> 1.123456789987654321123456789012345E-15
14527db96d56Sopenharmony_cidqadd371436 fma  1   0 1.123456789987654321123456789012345E-16 -> 1.123456789987654321123456789012345E-16
14537db96d56Sopenharmony_cidqadd371437 fma  1   0 1.123456789987654321123456789012345E-17 -> 1.123456789987654321123456789012345E-17
14547db96d56Sopenharmony_cidqadd371438 fma  1   0 1.123456789987654321123456789012345E-18 -> 1.123456789987654321123456789012345E-18
14557db96d56Sopenharmony_cidqadd371439 fma  1   0 1.123456789987654321123456789012345E-19 -> 1.123456789987654321123456789012345E-19
14567db96d56Sopenharmony_cidqadd371440 fma  1   0 1.123456789987654321123456789012345E-20 -> 1.123456789987654321123456789012345E-20
14577db96d56Sopenharmony_cidqadd371441 fma  1   0 1.123456789987654321123456789012345E-21 -> 1.123456789987654321123456789012345E-21
14587db96d56Sopenharmony_cidqadd371442 fma  1   0 1.123456789987654321123456789012345E-22 -> 1.123456789987654321123456789012345E-22
14597db96d56Sopenharmony_cidqadd371443 fma  1   0 1.123456789987654321123456789012345E-23 -> 1.123456789987654321123456789012345E-23
14607db96d56Sopenharmony_cidqadd371444 fma  1   0 1.123456789987654321123456789012345E-24 -> 1.123456789987654321123456789012345E-24
14617db96d56Sopenharmony_cidqadd371445 fma  1   0 1.123456789987654321123456789012345E-25 -> 1.123456789987654321123456789012345E-25
14627db96d56Sopenharmony_cidqadd371446 fma  1   0 1.123456789987654321123456789012345E-26 -> 1.123456789987654321123456789012345E-26
14637db96d56Sopenharmony_cidqadd371447 fma  1   0 1.123456789987654321123456789012345E-27 -> 1.123456789987654321123456789012345E-27
14647db96d56Sopenharmony_cidqadd371448 fma  1   0 1.123456789987654321123456789012345E-28 -> 1.123456789987654321123456789012345E-28
14657db96d56Sopenharmony_cidqadd371449 fma  1   0 1.123456789987654321123456789012345E-29 -> 1.123456789987654321123456789012345E-29
14667db96d56Sopenharmony_cidqadd371450 fma  1   0 1.123456789987654321123456789012345E-30 -> 1.123456789987654321123456789012345E-30
14677db96d56Sopenharmony_cidqadd371451 fma  1   0 1.123456789987654321123456789012345E-31 -> 1.123456789987654321123456789012345E-31
14687db96d56Sopenharmony_cidqadd371452 fma  1   0 1.123456789987654321123456789012345E-32 -> 1.123456789987654321123456789012345E-32
14697db96d56Sopenharmony_cidqadd371453 fma  1   0 1.123456789987654321123456789012345E-33 -> 1.123456789987654321123456789012345E-33
14707db96d56Sopenharmony_cidqadd371454 fma  1   0 1.123456789987654321123456789012345E-34 -> 1.123456789987654321123456789012345E-34
14717db96d56Sopenharmony_cidqadd371455 fma  1   0 1.123456789987654321123456789012345E-35 -> 1.123456789987654321123456789012345E-35
14727db96d56Sopenharmony_cidqadd371456 fma  1   0 1.123456789987654321123456789012345E-36 -> 1.123456789987654321123456789012345E-36
14737db96d56Sopenharmony_ci
14747db96d56Sopenharmony_ci-- same, reversed 0
14757db96d56Sopenharmony_cidqadd371460 fma  1  1.123456789987654321123456789012345     0 -> 1.123456789987654321123456789012345
14767db96d56Sopenharmony_cidqadd371461 fma  1  1.123456789987654321123456789012345E-1  0 -> 0.1123456789987654321123456789012345
14777db96d56Sopenharmony_cidqadd371462 fma  1  1.123456789987654321123456789012345E-2  0 -> 0.01123456789987654321123456789012345
14787db96d56Sopenharmony_cidqadd371463 fma  1  1.123456789987654321123456789012345E-3  0 -> 0.001123456789987654321123456789012345
14797db96d56Sopenharmony_cidqadd371464 fma  1  1.123456789987654321123456789012345E-4  0 -> 0.0001123456789987654321123456789012345
14807db96d56Sopenharmony_cidqadd371465 fma  1  1.123456789987654321123456789012345E-5  0 -> 0.00001123456789987654321123456789012345
14817db96d56Sopenharmony_cidqadd371466 fma  1  1.123456789987654321123456789012345E-6  0 -> 0.000001123456789987654321123456789012345
14827db96d56Sopenharmony_cidqadd371467 fma  1  1.123456789987654321123456789012345E-7  0 -> 1.123456789987654321123456789012345E-7
14837db96d56Sopenharmony_cidqadd371468 fma  1  1.123456789987654321123456789012345E-8  0 -> 1.123456789987654321123456789012345E-8
14847db96d56Sopenharmony_cidqadd371469 fma  1  1.123456789987654321123456789012345E-9  0 -> 1.123456789987654321123456789012345E-9
14857db96d56Sopenharmony_cidqadd371470 fma  1  1.123456789987654321123456789012345E-10 0 -> 1.123456789987654321123456789012345E-10
14867db96d56Sopenharmony_cidqadd371471 fma  1  1.123456789987654321123456789012345E-11 0 -> 1.123456789987654321123456789012345E-11
14877db96d56Sopenharmony_cidqadd371472 fma  1  1.123456789987654321123456789012345E-12 0 -> 1.123456789987654321123456789012345E-12
14887db96d56Sopenharmony_cidqadd371473 fma  1  1.123456789987654321123456789012345E-13 0 -> 1.123456789987654321123456789012345E-13
14897db96d56Sopenharmony_cidqadd371474 fma  1  1.123456789987654321123456789012345E-14 0 -> 1.123456789987654321123456789012345E-14
14907db96d56Sopenharmony_cidqadd371475 fma  1  1.123456789987654321123456789012345E-15 0 -> 1.123456789987654321123456789012345E-15
14917db96d56Sopenharmony_cidqadd371476 fma  1  1.123456789987654321123456789012345E-16 0 -> 1.123456789987654321123456789012345E-16
14927db96d56Sopenharmony_cidqadd371477 fma  1  1.123456789987654321123456789012345E-17 0 -> 1.123456789987654321123456789012345E-17
14937db96d56Sopenharmony_cidqadd371478 fma  1  1.123456789987654321123456789012345E-18 0 -> 1.123456789987654321123456789012345E-18
14947db96d56Sopenharmony_cidqadd371479 fma  1  1.123456789987654321123456789012345E-19 0 -> 1.123456789987654321123456789012345E-19
14957db96d56Sopenharmony_cidqadd371480 fma  1  1.123456789987654321123456789012345E-20 0 -> 1.123456789987654321123456789012345E-20
14967db96d56Sopenharmony_cidqadd371481 fma  1  1.123456789987654321123456789012345E-21 0 -> 1.123456789987654321123456789012345E-21
14977db96d56Sopenharmony_cidqadd371482 fma  1  1.123456789987654321123456789012345E-22 0 -> 1.123456789987654321123456789012345E-22
14987db96d56Sopenharmony_cidqadd371483 fma  1  1.123456789987654321123456789012345E-23 0 -> 1.123456789987654321123456789012345E-23
14997db96d56Sopenharmony_cidqadd371484 fma  1  1.123456789987654321123456789012345E-24 0 -> 1.123456789987654321123456789012345E-24
15007db96d56Sopenharmony_cidqadd371485 fma  1  1.123456789987654321123456789012345E-25 0 -> 1.123456789987654321123456789012345E-25
15017db96d56Sopenharmony_cidqadd371486 fma  1  1.123456789987654321123456789012345E-26 0 -> 1.123456789987654321123456789012345E-26
15027db96d56Sopenharmony_cidqadd371487 fma  1  1.123456789987654321123456789012345E-27 0 -> 1.123456789987654321123456789012345E-27
15037db96d56Sopenharmony_cidqadd371488 fma  1  1.123456789987654321123456789012345E-28 0 -> 1.123456789987654321123456789012345E-28
15047db96d56Sopenharmony_cidqadd371489 fma  1  1.123456789987654321123456789012345E-29 0 -> 1.123456789987654321123456789012345E-29
15057db96d56Sopenharmony_cidqadd371490 fma  1  1.123456789987654321123456789012345E-30 0 -> 1.123456789987654321123456789012345E-30
15067db96d56Sopenharmony_cidqadd371491 fma  1  1.123456789987654321123456789012345E-31 0 -> 1.123456789987654321123456789012345E-31
15077db96d56Sopenharmony_cidqadd371492 fma  1  1.123456789987654321123456789012345E-32 0 -> 1.123456789987654321123456789012345E-32
15087db96d56Sopenharmony_cidqadd371493 fma  1  1.123456789987654321123456789012345E-33 0 -> 1.123456789987654321123456789012345E-33
15097db96d56Sopenharmony_cidqadd371494 fma  1  1.123456789987654321123456789012345E-34 0 -> 1.123456789987654321123456789012345E-34
15107db96d56Sopenharmony_cidqadd371495 fma  1  1.123456789987654321123456789012345E-35 0 -> 1.123456789987654321123456789012345E-35
15117db96d56Sopenharmony_cidqadd371496 fma  1  1.123456789987654321123456789012345E-36 0 -> 1.123456789987654321123456789012345E-36
15127db96d56Sopenharmony_ci
15137db96d56Sopenharmony_ci-- same, Es on the 0
15147db96d56Sopenharmony_cidqadd371500 fma  1  1.123456789987654321123456789012345  0E-0   -> 1.123456789987654321123456789012345
15157db96d56Sopenharmony_cidqadd371501 fma  1  1.123456789987654321123456789012345  0E-1   -> 1.123456789987654321123456789012345
15167db96d56Sopenharmony_cidqadd371502 fma  1  1.123456789987654321123456789012345  0E-2   -> 1.123456789987654321123456789012345
15177db96d56Sopenharmony_cidqadd371503 fma  1  1.123456789987654321123456789012345  0E-3   -> 1.123456789987654321123456789012345
15187db96d56Sopenharmony_cidqadd371504 fma  1  1.123456789987654321123456789012345  0E-4   -> 1.123456789987654321123456789012345
15197db96d56Sopenharmony_cidqadd371505 fma  1  1.123456789987654321123456789012345  0E-5   -> 1.123456789987654321123456789012345
15207db96d56Sopenharmony_cidqadd371506 fma  1  1.123456789987654321123456789012345  0E-6   -> 1.123456789987654321123456789012345
15217db96d56Sopenharmony_cidqadd371507 fma  1  1.123456789987654321123456789012345  0E-7   -> 1.123456789987654321123456789012345
15227db96d56Sopenharmony_cidqadd371508 fma  1  1.123456789987654321123456789012345  0E-8   -> 1.123456789987654321123456789012345
15237db96d56Sopenharmony_cidqadd371509 fma  1  1.123456789987654321123456789012345  0E-9   -> 1.123456789987654321123456789012345
15247db96d56Sopenharmony_cidqadd371510 fma  1  1.123456789987654321123456789012345  0E-10  -> 1.123456789987654321123456789012345
15257db96d56Sopenharmony_cidqadd371511 fma  1  1.123456789987654321123456789012345  0E-11  -> 1.123456789987654321123456789012345
15267db96d56Sopenharmony_cidqadd371512 fma  1  1.123456789987654321123456789012345  0E-12  -> 1.123456789987654321123456789012345
15277db96d56Sopenharmony_cidqadd371513 fma  1  1.123456789987654321123456789012345  0E-13  -> 1.123456789987654321123456789012345
15287db96d56Sopenharmony_cidqadd371514 fma  1  1.123456789987654321123456789012345  0E-14  -> 1.123456789987654321123456789012345
15297db96d56Sopenharmony_cidqadd371515 fma  1  1.123456789987654321123456789012345  0E-15  -> 1.123456789987654321123456789012345
15307db96d56Sopenharmony_cidqadd371516 fma  1  1.123456789987654321123456789012345  0E-16  -> 1.123456789987654321123456789012345
15317db96d56Sopenharmony_cidqadd371517 fma  1  1.123456789987654321123456789012345  0E-17  -> 1.123456789987654321123456789012345
15327db96d56Sopenharmony_cidqadd371518 fma  1  1.123456789987654321123456789012345  0E-18  -> 1.123456789987654321123456789012345
15337db96d56Sopenharmony_cidqadd371519 fma  1  1.123456789987654321123456789012345  0E-19  -> 1.123456789987654321123456789012345
15347db96d56Sopenharmony_cidqadd371520 fma  1  1.123456789987654321123456789012345  0E-20  -> 1.123456789987654321123456789012345
15357db96d56Sopenharmony_cidqadd371521 fma  1  1.123456789987654321123456789012345  0E-21  -> 1.123456789987654321123456789012345
15367db96d56Sopenharmony_cidqadd371522 fma  1  1.123456789987654321123456789012345  0E-22  -> 1.123456789987654321123456789012345
15377db96d56Sopenharmony_cidqadd371523 fma  1  1.123456789987654321123456789012345  0E-23  -> 1.123456789987654321123456789012345
15387db96d56Sopenharmony_cidqadd371524 fma  1  1.123456789987654321123456789012345  0E-24  -> 1.123456789987654321123456789012345
15397db96d56Sopenharmony_cidqadd371525 fma  1  1.123456789987654321123456789012345  0E-25  -> 1.123456789987654321123456789012345
15407db96d56Sopenharmony_cidqadd371526 fma  1  1.123456789987654321123456789012345  0E-26  -> 1.123456789987654321123456789012345
15417db96d56Sopenharmony_cidqadd371527 fma  1  1.123456789987654321123456789012345  0E-27  -> 1.123456789987654321123456789012345
15427db96d56Sopenharmony_cidqadd371528 fma  1  1.123456789987654321123456789012345  0E-28  -> 1.123456789987654321123456789012345
15437db96d56Sopenharmony_cidqadd371529 fma  1  1.123456789987654321123456789012345  0E-29  -> 1.123456789987654321123456789012345
15447db96d56Sopenharmony_cidqadd371530 fma  1  1.123456789987654321123456789012345  0E-30  -> 1.123456789987654321123456789012345
15457db96d56Sopenharmony_cidqadd371531 fma  1  1.123456789987654321123456789012345  0E-31  -> 1.123456789987654321123456789012345
15467db96d56Sopenharmony_cidqadd371532 fma  1  1.123456789987654321123456789012345  0E-32  -> 1.123456789987654321123456789012345
15477db96d56Sopenharmony_cidqadd371533 fma  1  1.123456789987654321123456789012345  0E-33  -> 1.123456789987654321123456789012345
15487db96d56Sopenharmony_ci-- next four flag Rounded because the 0 extends the result
15497db96d56Sopenharmony_cidqadd371534 fma  1  1.123456789987654321123456789012345  0E-34  -> 1.123456789987654321123456789012345 Rounded
15507db96d56Sopenharmony_cidqadd371535 fma  1  1.123456789987654321123456789012345  0E-35  -> 1.123456789987654321123456789012345 Rounded
15517db96d56Sopenharmony_cidqadd371536 fma  1  1.123456789987654321123456789012345  0E-36  -> 1.123456789987654321123456789012345 Rounded
15527db96d56Sopenharmony_cidqadd371537 fma  1  1.123456789987654321123456789012345  0E-37  -> 1.123456789987654321123456789012345 Rounded
15537db96d56Sopenharmony_ci
15547db96d56Sopenharmony_ci-- sum of two opposite-sign operands is exactly 0 and floor => -0
15557db96d56Sopenharmony_cirounding:    half_up
15567db96d56Sopenharmony_ci-- exact zeros from zeros
15577db96d56Sopenharmony_cidqadd371600 fma  1   0        0E-19  ->  0E-19
15587db96d56Sopenharmony_cidqadd371601 fma  1  -0        0E-19  ->  0E-19
15597db96d56Sopenharmony_cidqadd371602 fma  1   0       -0E-19  ->  0E-19
15607db96d56Sopenharmony_cidqadd371603 fma  1  -0       -0E-19  -> -0E-19
15617db96d56Sopenharmony_ci-- exact zeros from non-zeros
15627db96d56Sopenharmony_cidqadd371611 fma  1  -11      11    ->  0
15637db96d56Sopenharmony_cidqadd371612 fma  1   11     -11    ->  0
15647db96d56Sopenharmony_ci-- overflow
15657db96d56Sopenharmony_cidqadd371613 fma  9E6144 10   1     ->  Infinity Overflow Inexact Rounded
15667db96d56Sopenharmony_cidqadd371614 fma -9E6144 10   1     -> -Infinity Overflow Inexact Rounded
15677db96d56Sopenharmony_ci
15687db96d56Sopenharmony_cirounding:    half_down
15697db96d56Sopenharmony_ci-- exact zeros from zeros
15707db96d56Sopenharmony_cidqadd371620 fma  1   0        0E-19  ->  0E-19
15717db96d56Sopenharmony_cidqadd371621 fma  1  -0        0E-19  ->  0E-19
15727db96d56Sopenharmony_cidqadd371622 fma  1   0       -0E-19  ->  0E-19
15737db96d56Sopenharmony_cidqadd371623 fma  1  -0       -0E-19  -> -0E-19
15747db96d56Sopenharmony_ci-- exact zeros from non-zeros
15757db96d56Sopenharmony_cidqadd371631 fma  1  -11      11    ->  0
15767db96d56Sopenharmony_cidqadd371632 fma  1   11     -11    ->  0
15777db96d56Sopenharmony_ci-- overflow
15787db96d56Sopenharmony_cidqadd371633 fma  9E6144 10   1     ->  Infinity Overflow Inexact Rounded
15797db96d56Sopenharmony_cidqadd371634 fma -9E6144 10   1     -> -Infinity Overflow Inexact Rounded
15807db96d56Sopenharmony_ci
15817db96d56Sopenharmony_cirounding:    half_even
15827db96d56Sopenharmony_ci-- exact zeros from zeros
15837db96d56Sopenharmony_cidqadd371640 fma  1   0        0E-19  ->  0E-19
15847db96d56Sopenharmony_cidqadd371641 fma  1  -0        0E-19  ->  0E-19
15857db96d56Sopenharmony_cidqadd371642 fma  1   0       -0E-19  ->  0E-19
15867db96d56Sopenharmony_cidqadd371643 fma  1  -0       -0E-19  -> -0E-19
15877db96d56Sopenharmony_ci-- exact zeros from non-zeros
15887db96d56Sopenharmony_cidqadd371651 fma  1  -11      11    ->  0
15897db96d56Sopenharmony_cidqadd371652 fma  1   11     -11    ->  0
15907db96d56Sopenharmony_ci-- overflow
15917db96d56Sopenharmony_cidqadd371653 fma  9E6144 10   1     ->  Infinity Overflow Inexact Rounded
15927db96d56Sopenharmony_cidqadd371654 fma -9E6144 10   1     -> -Infinity Overflow Inexact Rounded
15937db96d56Sopenharmony_ci
15947db96d56Sopenharmony_cirounding:    up
15957db96d56Sopenharmony_ci-- exact zeros from zeros
15967db96d56Sopenharmony_cidqadd371660 fma  1   0        0E-19  ->  0E-19
15977db96d56Sopenharmony_cidqadd371661 fma  1  -0        0E-19  ->  0E-19
15987db96d56Sopenharmony_cidqadd371662 fma  1   0       -0E-19  ->  0E-19
15997db96d56Sopenharmony_cidqadd371663 fma  1  -0       -0E-19  -> -0E-19
16007db96d56Sopenharmony_ci-- exact zeros from non-zeros
16017db96d56Sopenharmony_cidqadd371671 fma  1  -11      11    ->  0
16027db96d56Sopenharmony_cidqadd371672 fma  1   11     -11    ->  0
16037db96d56Sopenharmony_ci-- overflow
16047db96d56Sopenharmony_cidqadd371673 fma  9E6144 10   1     ->  Infinity Overflow Inexact Rounded
16057db96d56Sopenharmony_cidqadd371674 fma -9E6144 10   1     -> -Infinity Overflow Inexact Rounded
16067db96d56Sopenharmony_ci
16077db96d56Sopenharmony_cirounding:    down
16087db96d56Sopenharmony_ci-- exact zeros from zeros
16097db96d56Sopenharmony_cidqadd371680 fma  1   0        0E-19  ->  0E-19
16107db96d56Sopenharmony_cidqadd371681 fma  1  -0        0E-19  ->  0E-19
16117db96d56Sopenharmony_cidqadd371682 fma  1   0       -0E-19  ->  0E-19
16127db96d56Sopenharmony_cidqadd371683 fma  1  -0       -0E-19  -> -0E-19
16137db96d56Sopenharmony_ci-- exact zeros from non-zeros
16147db96d56Sopenharmony_cidqadd371691 fma  1  -11      11    ->  0
16157db96d56Sopenharmony_cidqadd371692 fma  1   11     -11    ->  0
16167db96d56Sopenharmony_ci-- overflow
16177db96d56Sopenharmony_cidqadd371693 fma  9E6144 10   1     ->  9.999999999999999999999999999999999E+6144 Overflow Inexact Rounded
16187db96d56Sopenharmony_cidqadd371694 fma -9E6144 10   1     -> -9.999999999999999999999999999999999E+6144 Overflow Inexact Rounded
16197db96d56Sopenharmony_ci
16207db96d56Sopenharmony_cirounding:    ceiling
16217db96d56Sopenharmony_ci-- exact zeros from zeros
16227db96d56Sopenharmony_cidqadd371700 fma  1   0        0E-19  ->  0E-19
16237db96d56Sopenharmony_cidqadd371701 fma  1  -0        0E-19  ->  0E-19
16247db96d56Sopenharmony_cidqadd371702 fma  1   0       -0E-19  ->  0E-19
16257db96d56Sopenharmony_cidqadd371703 fma  1  -0       -0E-19  -> -0E-19
16267db96d56Sopenharmony_ci-- exact zeros from non-zeros
16277db96d56Sopenharmony_cidqadd371711 fma  1  -11      11    ->  0
16287db96d56Sopenharmony_cidqadd371712 fma  1   11     -11    ->  0
16297db96d56Sopenharmony_ci-- overflow
16307db96d56Sopenharmony_cidqadd371713 fma  9E6144 10   1     ->  Infinity Overflow Inexact Rounded
16317db96d56Sopenharmony_cidqadd371714 fma -9E6144 10   1     -> -9.999999999999999999999999999999999E+6144 Overflow Inexact Rounded
16327db96d56Sopenharmony_ci
16337db96d56Sopenharmony_ci-- and the extra-special ugly case; unusual minuses marked by -- *
16347db96d56Sopenharmony_cirounding:    floor
16357db96d56Sopenharmony_ci-- exact zeros from zeros
16367db96d56Sopenharmony_cidqadd371720 fma  1   0        0E-19  ->  0E-19
16377db96d56Sopenharmony_cidqadd371721 fma  1  -0        0E-19  -> -0E-19           -- *
16387db96d56Sopenharmony_cidqadd371722 fma  1   0       -0E-19  -> -0E-19           -- *
16397db96d56Sopenharmony_cidqadd371723 fma  1  -0       -0E-19  -> -0E-19
16407db96d56Sopenharmony_ci-- exact zeros from non-zeros
16417db96d56Sopenharmony_cidqadd371731 fma  1  -11      11    ->  -0                -- *
16427db96d56Sopenharmony_cidqadd371732 fma  1   11     -11    ->  -0                -- *
16437db96d56Sopenharmony_ci-- overflow
16447db96d56Sopenharmony_cidqadd371733 fma  9E6144 10   1     ->  9.999999999999999999999999999999999E+6144 Overflow Inexact Rounded
16457db96d56Sopenharmony_cidqadd371734 fma -9E6144 10   1     -> -Infinity Overflow Inexact Rounded
16467db96d56Sopenharmony_ci
16477db96d56Sopenharmony_cirounding:    05up
16487db96d56Sopenharmony_ci-- exact zeros from zeros
16497db96d56Sopenharmony_cidqadd371740 fma  1   0        0E-19  ->  0E-19
16507db96d56Sopenharmony_cidqadd371741 fma  1  -0        0E-19  ->  0E-19
16517db96d56Sopenharmony_cidqadd371742 fma  1   0       -0E-19  ->  0E-19
16527db96d56Sopenharmony_cidqadd371743 fma  1  -0       -0E-19  -> -0E-19
16537db96d56Sopenharmony_ci-- exact zeros from non-zeros
16547db96d56Sopenharmony_cidqadd371751 fma  1  -11      11    ->  0
16557db96d56Sopenharmony_cidqadd371752 fma  1   11     -11    ->  0
16567db96d56Sopenharmony_ci-- overflow
16577db96d56Sopenharmony_cidqadd371753 fma  9E6144 10   1     ->  9.999999999999999999999999999999999E+6144 Overflow Inexact Rounded
16587db96d56Sopenharmony_cidqadd371754 fma -9E6144 10   1     -> -9.999999999999999999999999999999999E+6144 Overflow Inexact Rounded
16597db96d56Sopenharmony_ci
16607db96d56Sopenharmony_ci-- Examples from SQL proposal (Krishna Kulkarni)
16617db96d56Sopenharmony_cidqadd371761 fma  1  130E-2    120E-2    -> 2.50
16627db96d56Sopenharmony_cidqadd371762 fma  1  130E-2    12E-1     -> 2.50
16637db96d56Sopenharmony_cidqadd371763 fma  1  130E-2    1E0       -> 2.30
16647db96d56Sopenharmony_cidqadd371764 fma  1  1E2       1E4       -> 1.01E+4
16657db96d56Sopenharmony_cidqadd371765 fma  1  130E-2   -120E-2 -> 0.10
16667db96d56Sopenharmony_cidqadd371766 fma  1  130E-2   -12E-1  -> 0.10
16677db96d56Sopenharmony_cidqadd371767 fma  1  130E-2   -1E0    -> 0.30
16687db96d56Sopenharmony_cidqadd371768 fma  1  1E2      -1E4    -> -9.9E+3
16697db96d56Sopenharmony_ci
16707db96d56Sopenharmony_ci-- Gappy coefficients; check residue handling even with full coefficient gap
16717db96d56Sopenharmony_cirounding: half_even
16727db96d56Sopenharmony_ci
16737db96d56Sopenharmony_cidqadd375001 fma  1  1239876543211234567894567890123456 1      -> 1239876543211234567894567890123457
16747db96d56Sopenharmony_cidqadd375002 fma  1  1239876543211234567894567890123456 0.6    -> 1239876543211234567894567890123457  Inexact Rounded
16757db96d56Sopenharmony_cidqadd375003 fma  1  1239876543211234567894567890123456 0.06   -> 1239876543211234567894567890123456  Inexact Rounded
16767db96d56Sopenharmony_cidqadd375004 fma  1  1239876543211234567894567890123456 6E-3   -> 1239876543211234567894567890123456  Inexact Rounded
16777db96d56Sopenharmony_cidqadd375005 fma  1  1239876543211234567894567890123456 6E-4   -> 1239876543211234567894567890123456  Inexact Rounded
16787db96d56Sopenharmony_cidqadd375006 fma  1  1239876543211234567894567890123456 6E-5   -> 1239876543211234567894567890123456  Inexact Rounded
16797db96d56Sopenharmony_cidqadd375007 fma  1  1239876543211234567894567890123456 6E-6   -> 1239876543211234567894567890123456  Inexact Rounded
16807db96d56Sopenharmony_cidqadd375008 fma  1  1239876543211234567894567890123456 6E-7   -> 1239876543211234567894567890123456  Inexact Rounded
16817db96d56Sopenharmony_cidqadd375009 fma  1  1239876543211234567894567890123456 6E-8   -> 1239876543211234567894567890123456  Inexact Rounded
16827db96d56Sopenharmony_cidqadd375010 fma  1  1239876543211234567894567890123456 6E-9   -> 1239876543211234567894567890123456  Inexact Rounded
16837db96d56Sopenharmony_cidqadd375011 fma  1  1239876543211234567894567890123456 6E-10  -> 1239876543211234567894567890123456  Inexact Rounded
16847db96d56Sopenharmony_cidqadd375012 fma  1  1239876543211234567894567890123456 6E-11  -> 1239876543211234567894567890123456  Inexact Rounded
16857db96d56Sopenharmony_cidqadd375013 fma  1  1239876543211234567894567890123456 6E-12  -> 1239876543211234567894567890123456  Inexact Rounded
16867db96d56Sopenharmony_cidqadd375014 fma  1  1239876543211234567894567890123456 6E-13  -> 1239876543211234567894567890123456  Inexact Rounded
16877db96d56Sopenharmony_cidqadd375015 fma  1  1239876543211234567894567890123456 6E-14  -> 1239876543211234567894567890123456  Inexact Rounded
16887db96d56Sopenharmony_cidqadd375016 fma  1  1239876543211234567894567890123456 6E-15  -> 1239876543211234567894567890123456  Inexact Rounded
16897db96d56Sopenharmony_cidqadd375017 fma  1  1239876543211234567894567890123456 6E-16  -> 1239876543211234567894567890123456  Inexact Rounded
16907db96d56Sopenharmony_cidqadd375018 fma  1  1239876543211234567894567890123456 6E-17  -> 1239876543211234567894567890123456  Inexact Rounded
16917db96d56Sopenharmony_cidqadd375019 fma  1  1239876543211234567894567890123456 6E-18  -> 1239876543211234567894567890123456  Inexact Rounded
16927db96d56Sopenharmony_cidqadd375020 fma  1  1239876543211234567894567890123456 6E-19  -> 1239876543211234567894567890123456  Inexact Rounded
16937db96d56Sopenharmony_cidqadd375021 fma  1  1239876543211234567894567890123456 6E-20  -> 1239876543211234567894567890123456  Inexact Rounded
16947db96d56Sopenharmony_ci
16957db96d56Sopenharmony_ci-- widening second argument at gap
16967db96d56Sopenharmony_cidqadd375030 fma  1  12398765432112345678945678 1                       -> 12398765432112345678945679
16977db96d56Sopenharmony_cidqadd375031 fma  1  12398765432112345678945678 0.1                     -> 12398765432112345678945678.1
16987db96d56Sopenharmony_cidqadd375032 fma  1  12398765432112345678945678 0.12                    -> 12398765432112345678945678.12
16997db96d56Sopenharmony_cidqadd375033 fma  1  12398765432112345678945678 0.123                   -> 12398765432112345678945678.123
17007db96d56Sopenharmony_cidqadd375034 fma  1  12398765432112345678945678 0.1234                  -> 12398765432112345678945678.1234
17017db96d56Sopenharmony_cidqadd375035 fma  1  12398765432112345678945678 0.12345                 -> 12398765432112345678945678.12345
17027db96d56Sopenharmony_cidqadd375036 fma  1  12398765432112345678945678 0.123456                -> 12398765432112345678945678.123456
17037db96d56Sopenharmony_cidqadd375037 fma  1  12398765432112345678945678 0.1234567               -> 12398765432112345678945678.1234567
17047db96d56Sopenharmony_cidqadd375038 fma  1  12398765432112345678945678 0.12345678              -> 12398765432112345678945678.12345678
17057db96d56Sopenharmony_cidqadd375039 fma  1  12398765432112345678945678 0.123456789             -> 12398765432112345678945678.12345679 Inexact Rounded
17067db96d56Sopenharmony_cidqadd375040 fma  1  12398765432112345678945678 0.123456785             -> 12398765432112345678945678.12345678 Inexact Rounded
17077db96d56Sopenharmony_cidqadd375041 fma  1  12398765432112345678945678 0.1234567850            -> 12398765432112345678945678.12345678 Inexact Rounded
17087db96d56Sopenharmony_cidqadd375042 fma  1  12398765432112345678945678 0.1234567851            -> 12398765432112345678945678.12345679 Inexact Rounded
17097db96d56Sopenharmony_cidqadd375043 fma  1  12398765432112345678945678 0.12345678501           -> 12398765432112345678945678.12345679 Inexact Rounded
17107db96d56Sopenharmony_cidqadd375044 fma  1  12398765432112345678945678 0.123456785001          -> 12398765432112345678945678.12345679 Inexact Rounded
17117db96d56Sopenharmony_cidqadd375045 fma  1  12398765432112345678945678 0.1234567850001         -> 12398765432112345678945678.12345679 Inexact Rounded
17127db96d56Sopenharmony_cidqadd375046 fma  1  12398765432112345678945678 0.12345678500001        -> 12398765432112345678945678.12345679 Inexact Rounded
17137db96d56Sopenharmony_cidqadd375047 fma  1  12398765432112345678945678 0.123456785000001       -> 12398765432112345678945678.12345679 Inexact Rounded
17147db96d56Sopenharmony_cidqadd375048 fma  1  12398765432112345678945678 0.1234567850000001      -> 12398765432112345678945678.12345679 Inexact Rounded
17157db96d56Sopenharmony_cidqadd375049 fma  1  12398765432112345678945678 0.1234567850000000      -> 12398765432112345678945678.12345678 Inexact Rounded
17167db96d56Sopenharmony_ci--                               90123456
17177db96d56Sopenharmony_cirounding: half_even
17187db96d56Sopenharmony_cidqadd375050 fma  1  12398765432112345678945678 0.0234567750000000      -> 12398765432112345678945678.02345678 Inexact Rounded
17197db96d56Sopenharmony_cidqadd375051 fma  1  12398765432112345678945678 0.0034567750000000      -> 12398765432112345678945678.00345678 Inexact Rounded
17207db96d56Sopenharmony_cidqadd375052 fma  1  12398765432112345678945678 0.0004567750000000      -> 12398765432112345678945678.00045678 Inexact Rounded
17217db96d56Sopenharmony_cidqadd375053 fma  1  12398765432112345678945678 0.0000567750000000      -> 12398765432112345678945678.00005678 Inexact Rounded
17227db96d56Sopenharmony_cidqadd375054 fma  1  12398765432112345678945678 0.0000067750000000      -> 12398765432112345678945678.00000678 Inexact Rounded
17237db96d56Sopenharmony_cidqadd375055 fma  1  12398765432112345678945678 0.0000007750000000      -> 12398765432112345678945678.00000078 Inexact Rounded
17247db96d56Sopenharmony_cidqadd375056 fma  1  12398765432112345678945678 0.0000000750000000      -> 12398765432112345678945678.00000008 Inexact Rounded
17257db96d56Sopenharmony_cidqadd375057 fma  1  12398765432112345678945678 0.0000000050000000      -> 12398765432112345678945678.00000000 Inexact Rounded
17267db96d56Sopenharmony_cidqadd375060 fma  1  12398765432112345678945678 0.0234567750000001      -> 12398765432112345678945678.02345678 Inexact Rounded
17277db96d56Sopenharmony_cidqadd375061 fma  1  12398765432112345678945678 0.0034567750000001      -> 12398765432112345678945678.00345678 Inexact Rounded
17287db96d56Sopenharmony_cidqadd375062 fma  1  12398765432112345678945678 0.0004567750000001      -> 12398765432112345678945678.00045678 Inexact Rounded
17297db96d56Sopenharmony_cidqadd375063 fma  1  12398765432112345678945678 0.0000567750000001      -> 12398765432112345678945678.00005678 Inexact Rounded
17307db96d56Sopenharmony_cidqadd375064 fma  1  12398765432112345678945678 0.0000067750000001      -> 12398765432112345678945678.00000678 Inexact Rounded
17317db96d56Sopenharmony_cidqadd375065 fma  1  12398765432112345678945678 0.0000007750000001      -> 12398765432112345678945678.00000078 Inexact Rounded
17327db96d56Sopenharmony_cidqadd375066 fma  1  12398765432112345678945678 0.0000000750000001      -> 12398765432112345678945678.00000008 Inexact Rounded
17337db96d56Sopenharmony_cidqadd375067 fma  1  12398765432112345678945678 0.0000000050000001      -> 12398765432112345678945678.00000001 Inexact Rounded
17347db96d56Sopenharmony_ci-- far-out residues (full coefficient gap is 16+15 digits)
17357db96d56Sopenharmony_cirounding: up
17367db96d56Sopenharmony_cidqadd375070 fma  1  12398765432112345678945678 1E-8                    -> 12398765432112345678945678.00000001
17377db96d56Sopenharmony_cidqadd375071 fma  1  12398765432112345678945678 1E-9                    -> 12398765432112345678945678.00000001 Inexact Rounded
17387db96d56Sopenharmony_cidqadd375072 fma  1  12398765432112345678945678 1E-10                   -> 12398765432112345678945678.00000001 Inexact Rounded
17397db96d56Sopenharmony_cidqadd375073 fma  1  12398765432112345678945678 1E-11                   -> 12398765432112345678945678.00000001 Inexact Rounded
17407db96d56Sopenharmony_cidqadd375074 fma  1  12398765432112345678945678 1E-12                   -> 12398765432112345678945678.00000001 Inexact Rounded
17417db96d56Sopenharmony_cidqadd375075 fma  1  12398765432112345678945678 1E-13                   -> 12398765432112345678945678.00000001 Inexact Rounded
17427db96d56Sopenharmony_cidqadd375076 fma  1  12398765432112345678945678 1E-14                   -> 12398765432112345678945678.00000001 Inexact Rounded
17437db96d56Sopenharmony_cidqadd375077 fma  1  12398765432112345678945678 1E-15                   -> 12398765432112345678945678.00000001 Inexact Rounded
17447db96d56Sopenharmony_cidqadd375078 fma  1  12398765432112345678945678 1E-16                   -> 12398765432112345678945678.00000001 Inexact Rounded
17457db96d56Sopenharmony_cidqadd375079 fma  1  12398765432112345678945678 1E-17                   -> 12398765432112345678945678.00000001 Inexact Rounded
17467db96d56Sopenharmony_cidqadd375080 fma  1  12398765432112345678945678 1E-18                   -> 12398765432112345678945678.00000001 Inexact Rounded
17477db96d56Sopenharmony_cidqadd375081 fma  1  12398765432112345678945678 1E-19                   -> 12398765432112345678945678.00000001 Inexact Rounded
17487db96d56Sopenharmony_cidqadd375082 fma  1  12398765432112345678945678 1E-20                   -> 12398765432112345678945678.00000001 Inexact Rounded
17497db96d56Sopenharmony_cidqadd375083 fma  1  12398765432112345678945678 1E-25                   -> 12398765432112345678945678.00000001 Inexact Rounded
17507db96d56Sopenharmony_cidqadd375084 fma  1  12398765432112345678945678 1E-30                   -> 12398765432112345678945678.00000001 Inexact Rounded
17517db96d56Sopenharmony_cidqadd375085 fma  1  12398765432112345678945678 1E-31                   -> 12398765432112345678945678.00000001 Inexact Rounded
17527db96d56Sopenharmony_cidqadd375086 fma  1  12398765432112345678945678 1E-32                   -> 12398765432112345678945678.00000001 Inexact Rounded
17537db96d56Sopenharmony_cidqadd375087 fma  1  12398765432112345678945678 1E-33                   -> 12398765432112345678945678.00000001 Inexact Rounded
17547db96d56Sopenharmony_cidqadd375088 fma  1  12398765432112345678945678 1E-34                   -> 12398765432112345678945678.00000001 Inexact Rounded
17557db96d56Sopenharmony_cidqadd375089 fma  1  12398765432112345678945678 1E-35                   -> 12398765432112345678945678.00000001 Inexact Rounded
17567db96d56Sopenharmony_ci
17577db96d56Sopenharmony_ci-- Destructive subtract (from remainder tests)
17587db96d56Sopenharmony_ci
17597db96d56Sopenharmony_ci-- +++ some of these will be off-by-one remainder vs remainderNear
17607db96d56Sopenharmony_ci
17617db96d56Sopenharmony_cidqfma4000  fma  -1234567890123456789012345678901233   1.000000000000000000000000000000001    1234567890123456789012345678901234  ->  -0.234567890123456789012345678901233
17627db96d56Sopenharmony_cidqfma4001  fma  -1234567890123456789012345678901222    1.00000000000000000000000000000001    1234567890123456789012345678901234  ->  -0.34567890123456789012345678901222
17637db96d56Sopenharmony_cidqfma4002  fma  -1234567890123456789012345678901111     1.0000000000000000000000000000001    1234567890123456789012345678901234  ->  -0.4567890123456789012345678901111
17647db96d56Sopenharmony_cidqfma4003  fma   -308641972530864197253086419725314   4.000000000000000000000000000000001    1234567890123456789012345678901255  ->  -1.308641972530864197253086419725314
17657db96d56Sopenharmony_cidqfma4004  fma   -308641972530864197253086419725308   4.000000000000000000000000000000001    1234567890123456789012345678901234  ->  1.691358027469135802746913580274692
17667db96d56Sopenharmony_cidqfma4005  fma   -246913578024691357802469135780252     4.9999999999999999999999999999999    1234567890123456789012345678901234  ->  -1.3086421975308642197530864219748
17677db96d56Sopenharmony_cidqfma4006  fma   -246913578024691357802469135780247    4.99999999999999999999999999999999    1234567890123456789012345678901234  ->  1.46913578024691357802469135780247
17687db96d56Sopenharmony_cidqfma4007  fma   -246913578024691357802469135780247   4.999999999999999999999999999999999    1234567890123456789012345678901234  ->  -0.753086421975308642197530864219753
17697db96d56Sopenharmony_cidqfma4008  fma   -246913578024691357802469135780247   5.000000000000000000000000000000001    1234567890123456789012345678901234  ->  -1.246913578024691357802469135780247
17707db96d56Sopenharmony_cidqfma4009  fma   -246913578024691357802469135780246    5.00000000000000000000000000000001    1234567890123456789012345678901234  ->  1.53086421975308642197530864219754
17717db96d56Sopenharmony_cidqfma4010  fma   -246913578024691357802469135780242     5.0000000000000000000000000000001    1234567890123456789012345678901234  ->  -0.6913578024691357802469135780242
17727db96d56Sopenharmony_cidqfma4011  fma  -1234567890123456789012345678901232   1.000000000000000000000000000000001    1234567890123456789012345678901234  ->  0.765432109876543210987654321098768
17737db96d56Sopenharmony_cidqfma4012  fma  -1234567890123456789012345678901221    1.00000000000000000000000000000001    1234567890123456789012345678901234  ->  0.65432109876543210987654321098779
17747db96d56Sopenharmony_cidqfma4013  fma  -1234567890123456789012345678901110     1.0000000000000000000000000000001    1234567890123456789012345678901234  ->  0.5432109876543210987654321098890
17757db96d56Sopenharmony_cidqfma4014  fma   -308641972530864197253086419725313   4.000000000000000000000000000000001    1234567890123456789012345678901255  ->  2.691358027469135802746913580274687
17767db96d56Sopenharmony_cidqfma4015  fma   -308641972530864197253086419725308   4.000000000000000000000000000000001    1234567890123456789012345678901234  ->  1.691358027469135802746913580274692
17777db96d56Sopenharmony_cidqfma4016  fma   -246913578024691357802469135780251     4.9999999999999999999999999999999    1234567890123456789012345678901234  ->  3.6913578024691357802469135780251
17787db96d56Sopenharmony_cidqfma4017  fma   -246913578024691357802469135780247    4.99999999999999999999999999999999    1234567890123456789012345678901234  ->  1.46913578024691357802469135780247
17797db96d56Sopenharmony_cidqfma4018  fma   -246913578024691357802469135780246   4.999999999999999999999999999999999    1234567890123456789012345678901234  ->  4.246913578024691357802469135780246
17807db96d56Sopenharmony_cidqfma4019  fma   -246913578024691357802469135780241     5.0000000000000000000000000000001    1234567890123456789012345678901234  ->  4.3086421975308642197530864219759
17817db96d56Sopenharmony_ci
17827db96d56Sopenharmony_ci-- Null tests
17837db96d56Sopenharmony_cidqadd39990 fma  1  10  # -> NaN Invalid_operation
17847db96d56Sopenharmony_cidqadd39991 fma  1   # 10 -> NaN Invalid_operation
17857db96d56Sopenharmony_ci
17867db96d56Sopenharmony_ci
1787