17db96d56Sopenharmony_ci------------------------------------------------------------------------
27db96d56Sopenharmony_ci-- ddMultiply.decTest -- decDouble multiplication                     --
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_ci-- This set of tests are for decDoubles only; all arguments are
237db96d56Sopenharmony_ci-- representable in a decDouble
247db96d56Sopenharmony_ciprecision:   16
257db96d56Sopenharmony_cimaxExponent: 384
267db96d56Sopenharmony_ciminExponent: -383
277db96d56Sopenharmony_ciextended:    1
287db96d56Sopenharmony_ciclamp:       1
297db96d56Sopenharmony_cirounding:    half_even
307db96d56Sopenharmony_ci
317db96d56Sopenharmony_ci-- sanity checks
327db96d56Sopenharmony_ciddmul000 multiply 2      2 -> 4
337db96d56Sopenharmony_ciddmul001 multiply 2      3 -> 6
347db96d56Sopenharmony_ciddmul002 multiply 5      1 -> 5
357db96d56Sopenharmony_ciddmul003 multiply 5      2 -> 10
367db96d56Sopenharmony_ciddmul004 multiply 1.20   2 -> 2.40
377db96d56Sopenharmony_ciddmul005 multiply 1.20   0 -> 0.00
387db96d56Sopenharmony_ciddmul006 multiply 1.20  -2 -> -2.40
397db96d56Sopenharmony_ciddmul007 multiply -1.20  2 -> -2.40
407db96d56Sopenharmony_ciddmul008 multiply -1.20  0 -> -0.00
417db96d56Sopenharmony_ciddmul009 multiply -1.20 -2 -> 2.40
427db96d56Sopenharmony_ciddmul010 multiply 5.09 7.1 -> 36.139
437db96d56Sopenharmony_ciddmul011 multiply 2.5    4 -> 10.0
447db96d56Sopenharmony_ciddmul012 multiply 2.50   4 -> 10.00
457db96d56Sopenharmony_ciddmul013 multiply 1.23456789 1.00000000 -> 1.234567890000000 Rounded
467db96d56Sopenharmony_ciddmul015 multiply 2.50   4 -> 10.00
477db96d56Sopenharmony_ciddmul016 multiply  9.999999999  9.999999999 ->  99.99999998000000 Inexact Rounded
487db96d56Sopenharmony_ciddmul017 multiply  9.999999999 -9.999999999 -> -99.99999998000000 Inexact Rounded
497db96d56Sopenharmony_ciddmul018 multiply -9.999999999  9.999999999 -> -99.99999998000000 Inexact Rounded
507db96d56Sopenharmony_ciddmul019 multiply -9.999999999 -9.999999999 ->  99.99999998000000 Inexact Rounded
517db96d56Sopenharmony_ci
527db96d56Sopenharmony_ci-- zeros, etc.
537db96d56Sopenharmony_ciddmul021 multiply  0      0     ->  0
547db96d56Sopenharmony_ciddmul022 multiply  0     -0     -> -0
557db96d56Sopenharmony_ciddmul023 multiply -0      0     -> -0
567db96d56Sopenharmony_ciddmul024 multiply -0     -0     ->  0
577db96d56Sopenharmony_ciddmul025 multiply -0.0   -0.0   ->  0.00
587db96d56Sopenharmony_ciddmul026 multiply -0.0   -0.0   ->  0.00
597db96d56Sopenharmony_ciddmul027 multiply -0.0   -0.0   ->  0.00
607db96d56Sopenharmony_ciddmul028 multiply -0.0   -0.0   ->  0.00
617db96d56Sopenharmony_ciddmul030 multiply  5.00   1E-3  ->  0.00500
627db96d56Sopenharmony_ciddmul031 multiply  00.00  0.000 ->  0.00000
637db96d56Sopenharmony_ciddmul032 multiply  00.00  0E-3  ->  0.00000     -- rhs is 0
647db96d56Sopenharmony_ciddmul033 multiply  0E-3   00.00 ->  0.00000     -- lhs is 0
657db96d56Sopenharmony_ciddmul034 multiply -5.00   1E-3  -> -0.00500
667db96d56Sopenharmony_ciddmul035 multiply -00.00  0.000 -> -0.00000
677db96d56Sopenharmony_ciddmul036 multiply -00.00  0E-3  -> -0.00000     -- rhs is 0
687db96d56Sopenharmony_ciddmul037 multiply -0E-3   00.00 -> -0.00000     -- lhs is 0
697db96d56Sopenharmony_ciddmul038 multiply  5.00  -1E-3  -> -0.00500
707db96d56Sopenharmony_ciddmul039 multiply  00.00 -0.000 -> -0.00000
717db96d56Sopenharmony_ciddmul040 multiply  00.00 -0E-3  -> -0.00000     -- rhs is 0
727db96d56Sopenharmony_ciddmul041 multiply  0E-3  -00.00 -> -0.00000     -- lhs is 0
737db96d56Sopenharmony_ciddmul042 multiply -5.00  -1E-3  ->  0.00500
747db96d56Sopenharmony_ciddmul043 multiply -00.00 -0.000 ->  0.00000
757db96d56Sopenharmony_ciddmul044 multiply -00.00 -0E-3  ->  0.00000     -- rhs is 0
767db96d56Sopenharmony_ciddmul045 multiply -0E-3  -00.00 ->  0.00000     -- lhs is 0
777db96d56Sopenharmony_ci
787db96d56Sopenharmony_ci-- examples from decarith
797db96d56Sopenharmony_ciddmul050 multiply 1.20 3        -> 3.60
807db96d56Sopenharmony_ciddmul051 multiply 7    3        -> 21
817db96d56Sopenharmony_ciddmul052 multiply 0.9  0.8      -> 0.72
827db96d56Sopenharmony_ciddmul053 multiply 0.9  -0       -> -0.0
837db96d56Sopenharmony_ciddmul054 multiply 654321 654321 -> 428135971041
847db96d56Sopenharmony_ci
857db96d56Sopenharmony_ciddmul060 multiply 123.45 1e7  ->  1.2345E+9
867db96d56Sopenharmony_ciddmul061 multiply 123.45 1e8  ->  1.2345E+10
877db96d56Sopenharmony_ciddmul062 multiply 123.45 1e+9 ->  1.2345E+11
887db96d56Sopenharmony_ciddmul063 multiply 123.45 1e10 ->  1.2345E+12
897db96d56Sopenharmony_ciddmul064 multiply 123.45 1e11 ->  1.2345E+13
907db96d56Sopenharmony_ciddmul065 multiply 123.45 1e12 ->  1.2345E+14
917db96d56Sopenharmony_ciddmul066 multiply 123.45 1e13 ->  1.2345E+15
927db96d56Sopenharmony_ci
937db96d56Sopenharmony_ci
947db96d56Sopenharmony_ci-- test some intermediate lengths
957db96d56Sopenharmony_ci--                    1234567890123456
967db96d56Sopenharmony_ciddmul080 multiply 0.1 1230123456456789     -> 123012345645678.9
977db96d56Sopenharmony_ciddmul084 multiply 0.1 1230123456456789     -> 123012345645678.9
987db96d56Sopenharmony_ciddmul090 multiply 1230123456456789     0.1 -> 123012345645678.9
997db96d56Sopenharmony_ciddmul094 multiply 1230123456456789     0.1 -> 123012345645678.9
1007db96d56Sopenharmony_ci
1017db96d56Sopenharmony_ci-- test some more edge cases and carries
1027db96d56Sopenharmony_ciddmul101 multiply 9 9   -> 81
1037db96d56Sopenharmony_ciddmul102 multiply 9 90   -> 810
1047db96d56Sopenharmony_ciddmul103 multiply 9 900   -> 8100
1057db96d56Sopenharmony_ciddmul104 multiply 9 9000   -> 81000
1067db96d56Sopenharmony_ciddmul105 multiply 9 90000   -> 810000
1077db96d56Sopenharmony_ciddmul106 multiply 9 900000   -> 8100000
1087db96d56Sopenharmony_ciddmul107 multiply 9 9000000   -> 81000000
1097db96d56Sopenharmony_ciddmul108 multiply 9 90000000   -> 810000000
1107db96d56Sopenharmony_ciddmul109 multiply 9 900000000   -> 8100000000
1117db96d56Sopenharmony_ciddmul110 multiply 9 9000000000   -> 81000000000
1127db96d56Sopenharmony_ciddmul111 multiply 9 90000000000   -> 810000000000
1137db96d56Sopenharmony_ciddmul112 multiply 9 900000000000   -> 8100000000000
1147db96d56Sopenharmony_ciddmul113 multiply 9 9000000000000   -> 81000000000000
1157db96d56Sopenharmony_ciddmul114 multiply 9 90000000000000   -> 810000000000000
1167db96d56Sopenharmony_ciddmul115 multiply 9 900000000000000   -> 8100000000000000
1177db96d56Sopenharmony_ci--ddmul116 multiply 9 9000000000000000   -> 81000000000000000
1187db96d56Sopenharmony_ci--ddmul117 multiply 9 90000000000000000   -> 810000000000000000
1197db96d56Sopenharmony_ci--ddmul118 multiply 9 900000000000000000   -> 8100000000000000000
1207db96d56Sopenharmony_ci--ddmul119 multiply 9 9000000000000000000   -> 81000000000000000000
1217db96d56Sopenharmony_ci--ddmul120 multiply 9 90000000000000000000   -> 810000000000000000000
1227db96d56Sopenharmony_ci--ddmul121 multiply 9 900000000000000000000   -> 8100000000000000000000
1237db96d56Sopenharmony_ci--ddmul122 multiply 9 9000000000000000000000   -> 81000000000000000000000
1247db96d56Sopenharmony_ci--ddmul123 multiply 9 90000000000000000000000   -> 810000000000000000000000
1257db96d56Sopenharmony_ci-- test some more edge cases without carries
1267db96d56Sopenharmony_ciddmul131 multiply 3 3   -> 9
1277db96d56Sopenharmony_ciddmul132 multiply 3 30   -> 90
1287db96d56Sopenharmony_ciddmul133 multiply 3 300   -> 900
1297db96d56Sopenharmony_ciddmul134 multiply 3 3000   -> 9000
1307db96d56Sopenharmony_ciddmul135 multiply 3 30000   -> 90000
1317db96d56Sopenharmony_ciddmul136 multiply 3 300000   -> 900000
1327db96d56Sopenharmony_ciddmul137 multiply 3 3000000   -> 9000000
1337db96d56Sopenharmony_ciddmul138 multiply 3 30000000   -> 90000000
1347db96d56Sopenharmony_ciddmul139 multiply 3 300000000   -> 900000000
1357db96d56Sopenharmony_ciddmul140 multiply 3 3000000000   -> 9000000000
1367db96d56Sopenharmony_ciddmul141 multiply 3 30000000000   -> 90000000000
1377db96d56Sopenharmony_ciddmul142 multiply 3 300000000000   -> 900000000000
1387db96d56Sopenharmony_ciddmul143 multiply 3 3000000000000   -> 9000000000000
1397db96d56Sopenharmony_ciddmul144 multiply 3 30000000000000   -> 90000000000000
1407db96d56Sopenharmony_ciddmul145 multiply 3 300000000000000   -> 900000000000000
1417db96d56Sopenharmony_ci
1427db96d56Sopenharmony_ci-- test some edge cases with exact rounding
1437db96d56Sopenharmony_ciddmul301 multiply 9 9   -> 81
1447db96d56Sopenharmony_ciddmul302 multiply 9 90   -> 810
1457db96d56Sopenharmony_ciddmul303 multiply 9 900   -> 8100
1467db96d56Sopenharmony_ciddmul304 multiply 9 9000   -> 81000
1477db96d56Sopenharmony_ciddmul305 multiply 9 90000   -> 810000
1487db96d56Sopenharmony_ciddmul306 multiply 9 900000   -> 8100000
1497db96d56Sopenharmony_ciddmul307 multiply 9 9000000   -> 81000000
1507db96d56Sopenharmony_ciddmul308 multiply 9 90000000   -> 810000000
1517db96d56Sopenharmony_ciddmul309 multiply 9 900000000   -> 8100000000
1527db96d56Sopenharmony_ciddmul310 multiply 9 9000000000   -> 81000000000
1537db96d56Sopenharmony_ciddmul311 multiply 9 90000000000   -> 810000000000
1547db96d56Sopenharmony_ciddmul312 multiply 9 900000000000   -> 8100000000000
1557db96d56Sopenharmony_ciddmul313 multiply 9 9000000000000   -> 81000000000000
1567db96d56Sopenharmony_ciddmul314 multiply 9 90000000000000   -> 810000000000000
1577db96d56Sopenharmony_ciddmul315 multiply 9 900000000000000   -> 8100000000000000
1587db96d56Sopenharmony_ciddmul316 multiply 9 9000000000000000   -> 8.100000000000000E+16  Rounded
1597db96d56Sopenharmony_ciddmul317 multiply 90 9000000000000000   -> 8.100000000000000E+17  Rounded
1607db96d56Sopenharmony_ciddmul318 multiply 900 9000000000000000   -> 8.100000000000000E+18  Rounded
1617db96d56Sopenharmony_ciddmul319 multiply 9000 9000000000000000   -> 8.100000000000000E+19  Rounded
1627db96d56Sopenharmony_ciddmul320 multiply 90000 9000000000000000   -> 8.100000000000000E+20  Rounded
1637db96d56Sopenharmony_ciddmul321 multiply 900000 9000000000000000   -> 8.100000000000000E+21  Rounded
1647db96d56Sopenharmony_ciddmul322 multiply 9000000 9000000000000000   -> 8.100000000000000E+22  Rounded
1657db96d56Sopenharmony_ciddmul323 multiply 90000000 9000000000000000   -> 8.100000000000000E+23  Rounded
1667db96d56Sopenharmony_ci
1677db96d56Sopenharmony_ci-- tryzeros cases
1687db96d56Sopenharmony_ciddmul504  multiply  0E-260 1000E-260  -> 0E-398 Clamped
1697db96d56Sopenharmony_ciddmul505  multiply  100E+260 0E+260   -> 0E+369 Clamped
1707db96d56Sopenharmony_ci-- 65K-1 case
1717db96d56Sopenharmony_ciddmul506 multiply 77.1 850 -> 65535.0
1727db96d56Sopenharmony_ci
1737db96d56Sopenharmony_ci-- mixed with zeros
1747db96d56Sopenharmony_ciddmul541 multiply  0    -1     -> -0
1757db96d56Sopenharmony_ciddmul542 multiply -0    -1     ->  0
1767db96d56Sopenharmony_ciddmul543 multiply  0     1     ->  0
1777db96d56Sopenharmony_ciddmul544 multiply -0     1     -> -0
1787db96d56Sopenharmony_ciddmul545 multiply -1     0     -> -0
1797db96d56Sopenharmony_ciddmul546 multiply -1    -0     ->  0
1807db96d56Sopenharmony_ciddmul547 multiply  1     0     ->  0
1817db96d56Sopenharmony_ciddmul548 multiply  1    -0     -> -0
1827db96d56Sopenharmony_ci
1837db96d56Sopenharmony_ciddmul551 multiply  0.0  -1     -> -0.0
1847db96d56Sopenharmony_ciddmul552 multiply -0.0  -1     ->  0.0
1857db96d56Sopenharmony_ciddmul553 multiply  0.0   1     ->  0.0
1867db96d56Sopenharmony_ciddmul554 multiply -0.0   1     -> -0.0
1877db96d56Sopenharmony_ciddmul555 multiply -1.0   0     -> -0.0
1887db96d56Sopenharmony_ciddmul556 multiply -1.0  -0     ->  0.0
1897db96d56Sopenharmony_ciddmul557 multiply  1.0   0     ->  0.0
1907db96d56Sopenharmony_ciddmul558 multiply  1.0  -0     -> -0.0
1917db96d56Sopenharmony_ci
1927db96d56Sopenharmony_ciddmul561 multiply  0    -1.0   -> -0.0
1937db96d56Sopenharmony_ciddmul562 multiply -0    -1.0   ->  0.0
1947db96d56Sopenharmony_ciddmul563 multiply  0     1.0   ->  0.0
1957db96d56Sopenharmony_ciddmul564 multiply -0     1.0   -> -0.0
1967db96d56Sopenharmony_ciddmul565 multiply -1     0.0   -> -0.0
1977db96d56Sopenharmony_ciddmul566 multiply -1    -0.0   ->  0.0
1987db96d56Sopenharmony_ciddmul567 multiply  1     0.0   ->  0.0
1997db96d56Sopenharmony_ciddmul568 multiply  1    -0.0   -> -0.0
2007db96d56Sopenharmony_ci
2017db96d56Sopenharmony_ciddmul571 multiply  0.0  -1.0   -> -0.00
2027db96d56Sopenharmony_ciddmul572 multiply -0.0  -1.0   ->  0.00
2037db96d56Sopenharmony_ciddmul573 multiply  0.0   1.0   ->  0.00
2047db96d56Sopenharmony_ciddmul574 multiply -0.0   1.0   -> -0.00
2057db96d56Sopenharmony_ciddmul575 multiply -1.0   0.0   -> -0.00
2067db96d56Sopenharmony_ciddmul576 multiply -1.0  -0.0   ->  0.00
2077db96d56Sopenharmony_ciddmul577 multiply  1.0   0.0   ->  0.00
2087db96d56Sopenharmony_ciddmul578 multiply  1.0  -0.0   -> -0.00
2097db96d56Sopenharmony_ci
2107db96d56Sopenharmony_ci
2117db96d56Sopenharmony_ci-- Specials
2127db96d56Sopenharmony_ciddmul580 multiply  Inf  -Inf   -> -Infinity
2137db96d56Sopenharmony_ciddmul581 multiply  Inf  -1000  -> -Infinity
2147db96d56Sopenharmony_ciddmul582 multiply  Inf  -1     -> -Infinity
2157db96d56Sopenharmony_ciddmul583 multiply  Inf  -0     ->  NaN  Invalid_operation
2167db96d56Sopenharmony_ciddmul584 multiply  Inf   0     ->  NaN  Invalid_operation
2177db96d56Sopenharmony_ciddmul585 multiply  Inf   1     ->  Infinity
2187db96d56Sopenharmony_ciddmul586 multiply  Inf   1000  ->  Infinity
2197db96d56Sopenharmony_ciddmul587 multiply  Inf   Inf   ->  Infinity
2207db96d56Sopenharmony_ciddmul588 multiply -1000  Inf   -> -Infinity
2217db96d56Sopenharmony_ciddmul589 multiply -Inf   Inf   -> -Infinity
2227db96d56Sopenharmony_ciddmul590 multiply -1     Inf   -> -Infinity
2237db96d56Sopenharmony_ciddmul591 multiply -0     Inf   ->  NaN  Invalid_operation
2247db96d56Sopenharmony_ciddmul592 multiply  0     Inf   ->  NaN  Invalid_operation
2257db96d56Sopenharmony_ciddmul593 multiply  1     Inf   ->  Infinity
2267db96d56Sopenharmony_ciddmul594 multiply  1000  Inf   ->  Infinity
2277db96d56Sopenharmony_ciddmul595 multiply  Inf   Inf   ->  Infinity
2287db96d56Sopenharmony_ci
2297db96d56Sopenharmony_ciddmul600 multiply -Inf  -Inf   ->  Infinity
2307db96d56Sopenharmony_ciddmul601 multiply -Inf  -1000  ->  Infinity
2317db96d56Sopenharmony_ciddmul602 multiply -Inf  -1     ->  Infinity
2327db96d56Sopenharmony_ciddmul603 multiply -Inf  -0     ->  NaN  Invalid_operation
2337db96d56Sopenharmony_ciddmul604 multiply -Inf   0     ->  NaN  Invalid_operation
2347db96d56Sopenharmony_ciddmul605 multiply -Inf   1     -> -Infinity
2357db96d56Sopenharmony_ciddmul606 multiply -Inf   1000  -> -Infinity
2367db96d56Sopenharmony_ciddmul607 multiply -Inf   Inf   -> -Infinity
2377db96d56Sopenharmony_ciddmul608 multiply -1000  Inf   -> -Infinity
2387db96d56Sopenharmony_ciddmul609 multiply -Inf  -Inf   ->  Infinity
2397db96d56Sopenharmony_ciddmul610 multiply -1    -Inf   ->  Infinity
2407db96d56Sopenharmony_ciddmul611 multiply -0    -Inf   ->  NaN  Invalid_operation
2417db96d56Sopenharmony_ciddmul612 multiply  0    -Inf   ->  NaN  Invalid_operation
2427db96d56Sopenharmony_ciddmul613 multiply  1    -Inf   -> -Infinity
2437db96d56Sopenharmony_ciddmul614 multiply  1000 -Inf   -> -Infinity
2447db96d56Sopenharmony_ciddmul615 multiply  Inf  -Inf   -> -Infinity
2457db96d56Sopenharmony_ci
2467db96d56Sopenharmony_ciddmul621 multiply  NaN -Inf    ->  NaN
2477db96d56Sopenharmony_ciddmul622 multiply  NaN -1000   ->  NaN
2487db96d56Sopenharmony_ciddmul623 multiply  NaN -1      ->  NaN
2497db96d56Sopenharmony_ciddmul624 multiply  NaN -0      ->  NaN
2507db96d56Sopenharmony_ciddmul625 multiply  NaN  0      ->  NaN
2517db96d56Sopenharmony_ciddmul626 multiply  NaN  1      ->  NaN
2527db96d56Sopenharmony_ciddmul627 multiply  NaN  1000   ->  NaN
2537db96d56Sopenharmony_ciddmul628 multiply  NaN  Inf    ->  NaN
2547db96d56Sopenharmony_ciddmul629 multiply  NaN  NaN    ->  NaN
2557db96d56Sopenharmony_ciddmul630 multiply -Inf  NaN    ->  NaN
2567db96d56Sopenharmony_ciddmul631 multiply -1000 NaN    ->  NaN
2577db96d56Sopenharmony_ciddmul632 multiply -1    NaN    ->  NaN
2587db96d56Sopenharmony_ciddmul633 multiply -0    NaN    ->  NaN
2597db96d56Sopenharmony_ciddmul634 multiply  0    NaN    ->  NaN
2607db96d56Sopenharmony_ciddmul635 multiply  1    NaN    ->  NaN
2617db96d56Sopenharmony_ciddmul636 multiply  1000 NaN    ->  NaN
2627db96d56Sopenharmony_ciddmul637 multiply  Inf  NaN    ->  NaN
2637db96d56Sopenharmony_ci
2647db96d56Sopenharmony_ciddmul641 multiply  sNaN -Inf   ->  NaN  Invalid_operation
2657db96d56Sopenharmony_ciddmul642 multiply  sNaN -1000  ->  NaN  Invalid_operation
2667db96d56Sopenharmony_ciddmul643 multiply  sNaN -1     ->  NaN  Invalid_operation
2677db96d56Sopenharmony_ciddmul644 multiply  sNaN -0     ->  NaN  Invalid_operation
2687db96d56Sopenharmony_ciddmul645 multiply  sNaN  0     ->  NaN  Invalid_operation
2697db96d56Sopenharmony_ciddmul646 multiply  sNaN  1     ->  NaN  Invalid_operation
2707db96d56Sopenharmony_ciddmul647 multiply  sNaN  1000  ->  NaN  Invalid_operation
2717db96d56Sopenharmony_ciddmul648 multiply  sNaN  NaN   ->  NaN  Invalid_operation
2727db96d56Sopenharmony_ciddmul649 multiply  sNaN sNaN   ->  NaN  Invalid_operation
2737db96d56Sopenharmony_ciddmul650 multiply  NaN  sNaN   ->  NaN  Invalid_operation
2747db96d56Sopenharmony_ciddmul651 multiply -Inf  sNaN   ->  NaN  Invalid_operation
2757db96d56Sopenharmony_ciddmul652 multiply -1000 sNaN   ->  NaN  Invalid_operation
2767db96d56Sopenharmony_ciddmul653 multiply -1    sNaN   ->  NaN  Invalid_operation
2777db96d56Sopenharmony_ciddmul654 multiply -0    sNaN   ->  NaN  Invalid_operation
2787db96d56Sopenharmony_ciddmul655 multiply  0    sNaN   ->  NaN  Invalid_operation
2797db96d56Sopenharmony_ciddmul656 multiply  1    sNaN   ->  NaN  Invalid_operation
2807db96d56Sopenharmony_ciddmul657 multiply  1000 sNaN   ->  NaN  Invalid_operation
2817db96d56Sopenharmony_ciddmul658 multiply  Inf  sNaN   ->  NaN  Invalid_operation
2827db96d56Sopenharmony_ciddmul659 multiply  NaN  sNaN   ->  NaN  Invalid_operation
2837db96d56Sopenharmony_ci
2847db96d56Sopenharmony_ci-- propagating NaNs
2857db96d56Sopenharmony_ciddmul661 multiply  NaN9 -Inf   ->  NaN9
2867db96d56Sopenharmony_ciddmul662 multiply  NaN8  999   ->  NaN8
2877db96d56Sopenharmony_ciddmul663 multiply  NaN71 Inf   ->  NaN71
2887db96d56Sopenharmony_ciddmul664 multiply  NaN6  NaN5  ->  NaN6
2897db96d56Sopenharmony_ciddmul665 multiply -Inf   NaN4  ->  NaN4
2907db96d56Sopenharmony_ciddmul666 multiply -999   NaN33 ->  NaN33
2917db96d56Sopenharmony_ciddmul667 multiply  Inf   NaN2  ->  NaN2
2927db96d56Sopenharmony_ci
2937db96d56Sopenharmony_ciddmul671 multiply  sNaN99 -Inf    ->  NaN99 Invalid_operation
2947db96d56Sopenharmony_ciddmul672 multiply  sNaN98 -11     ->  NaN98 Invalid_operation
2957db96d56Sopenharmony_ciddmul673 multiply  sNaN97  NaN    ->  NaN97 Invalid_operation
2967db96d56Sopenharmony_ciddmul674 multiply  sNaN16 sNaN94  ->  NaN16 Invalid_operation
2977db96d56Sopenharmony_ciddmul675 multiply  NaN95  sNaN93  ->  NaN93 Invalid_operation
2987db96d56Sopenharmony_ciddmul676 multiply -Inf    sNaN92  ->  NaN92 Invalid_operation
2997db96d56Sopenharmony_ciddmul677 multiply  088    sNaN91  ->  NaN91 Invalid_operation
3007db96d56Sopenharmony_ciddmul678 multiply  Inf    sNaN90  ->  NaN90 Invalid_operation
3017db96d56Sopenharmony_ciddmul679 multiply  NaN    sNaN89  ->  NaN89 Invalid_operation
3027db96d56Sopenharmony_ci
3037db96d56Sopenharmony_ciddmul681 multiply -NaN9 -Inf   -> -NaN9
3047db96d56Sopenharmony_ciddmul682 multiply -NaN8  999   -> -NaN8
3057db96d56Sopenharmony_ciddmul683 multiply -NaN71 Inf   -> -NaN71
3067db96d56Sopenharmony_ciddmul684 multiply -NaN6 -NaN5  -> -NaN6
3077db96d56Sopenharmony_ciddmul685 multiply -Inf  -NaN4  -> -NaN4
3087db96d56Sopenharmony_ciddmul686 multiply -999  -NaN33 -> -NaN33
3097db96d56Sopenharmony_ciddmul687 multiply  Inf  -NaN2  -> -NaN2
3107db96d56Sopenharmony_ci
3117db96d56Sopenharmony_ciddmul691 multiply -sNaN99 -Inf    -> -NaN99 Invalid_operation
3127db96d56Sopenharmony_ciddmul692 multiply -sNaN98 -11     -> -NaN98 Invalid_operation
3137db96d56Sopenharmony_ciddmul693 multiply -sNaN97  NaN    -> -NaN97 Invalid_operation
3147db96d56Sopenharmony_ciddmul694 multiply -sNaN16 -sNaN94 -> -NaN16 Invalid_operation
3157db96d56Sopenharmony_ciddmul695 multiply -NaN95  -sNaN93 -> -NaN93 Invalid_operation
3167db96d56Sopenharmony_ciddmul696 multiply -Inf    -sNaN92 -> -NaN92 Invalid_operation
3177db96d56Sopenharmony_ciddmul697 multiply  088    -sNaN91 -> -NaN91 Invalid_operation
3187db96d56Sopenharmony_ciddmul698 multiply  Inf    -sNaN90 -> -NaN90 Invalid_operation
3197db96d56Sopenharmony_ciddmul699 multiply -NaN    -sNaN89 -> -NaN89 Invalid_operation
3207db96d56Sopenharmony_ci
3217db96d56Sopenharmony_ciddmul701 multiply -NaN  -Inf   -> -NaN
3227db96d56Sopenharmony_ciddmul702 multiply -NaN   999   -> -NaN
3237db96d56Sopenharmony_ciddmul703 multiply -NaN   Inf   -> -NaN
3247db96d56Sopenharmony_ciddmul704 multiply -NaN  -NaN   -> -NaN
3257db96d56Sopenharmony_ciddmul705 multiply -Inf  -NaN0  -> -NaN
3267db96d56Sopenharmony_ciddmul706 multiply -999  -NaN   -> -NaN
3277db96d56Sopenharmony_ciddmul707 multiply  Inf  -NaN   -> -NaN
3287db96d56Sopenharmony_ci
3297db96d56Sopenharmony_ciddmul711 multiply -sNaN   -Inf    -> -NaN Invalid_operation
3307db96d56Sopenharmony_ciddmul712 multiply -sNaN   -11     -> -NaN Invalid_operation
3317db96d56Sopenharmony_ciddmul713 multiply -sNaN00  NaN    -> -NaN Invalid_operation
3327db96d56Sopenharmony_ciddmul714 multiply -sNaN   -sNaN   -> -NaN Invalid_operation
3337db96d56Sopenharmony_ciddmul715 multiply -NaN    -sNaN   -> -NaN Invalid_operation
3347db96d56Sopenharmony_ciddmul716 multiply -Inf    -sNaN   -> -NaN Invalid_operation
3357db96d56Sopenharmony_ciddmul717 multiply  088    -sNaN   -> -NaN Invalid_operation
3367db96d56Sopenharmony_ciddmul718 multiply  Inf    -sNaN   -> -NaN Invalid_operation
3377db96d56Sopenharmony_ciddmul719 multiply -NaN    -sNaN   -> -NaN Invalid_operation
3387db96d56Sopenharmony_ci
3397db96d56Sopenharmony_ci-- overflow and underflow tests .. note subnormal results
3407db96d56Sopenharmony_ci-- signs
3417db96d56Sopenharmony_ciddmul751 multiply  1e+277  1e+311 ->  Infinity Overflow Inexact Rounded
3427db96d56Sopenharmony_ciddmul752 multiply  1e+277 -1e+311 -> -Infinity Overflow Inexact Rounded
3437db96d56Sopenharmony_ciddmul753 multiply -1e+277  1e+311 -> -Infinity Overflow Inexact Rounded
3447db96d56Sopenharmony_ciddmul754 multiply -1e+277 -1e+311 ->  Infinity Overflow Inexact Rounded
3457db96d56Sopenharmony_ciddmul755 multiply  1e-277  1e-311 ->  0E-398 Underflow Subnormal Inexact Rounded Clamped
3467db96d56Sopenharmony_ciddmul756 multiply  1e-277 -1e-311 -> -0E-398 Underflow Subnormal Inexact Rounded Clamped
3477db96d56Sopenharmony_ciddmul757 multiply -1e-277  1e-311 -> -0E-398 Underflow Subnormal Inexact Rounded Clamped
3487db96d56Sopenharmony_ciddmul758 multiply -1e-277 -1e-311 ->  0E-398 Underflow Subnormal Inexact Rounded Clamped
3497db96d56Sopenharmony_ci
3507db96d56Sopenharmony_ci-- 'subnormal' boundary (all hard underflow or overflow in base arithmetic)
3517db96d56Sopenharmony_ciddmul760 multiply 1e-291 1e-101 -> 1E-392 Subnormal
3527db96d56Sopenharmony_ciddmul761 multiply 1e-291 1e-102 -> 1E-393 Subnormal
3537db96d56Sopenharmony_ciddmul762 multiply 1e-291 1e-103 -> 1E-394 Subnormal
3547db96d56Sopenharmony_ciddmul763 multiply 1e-291 1e-104 -> 1E-395 Subnormal
3557db96d56Sopenharmony_ciddmul764 multiply 1e-291 1e-105 -> 1E-396 Subnormal
3567db96d56Sopenharmony_ciddmul765 multiply 1e-291 1e-106 -> 1E-397 Subnormal
3577db96d56Sopenharmony_ciddmul766 multiply 1e-291 1e-107 -> 1E-398 Subnormal
3587db96d56Sopenharmony_ciddmul767 multiply 1e-291 1e-108 -> 0E-398 Underflow Subnormal Inexact Rounded Clamped
3597db96d56Sopenharmony_ciddmul768 multiply 1e-291 1e-109 -> 0E-398 Underflow Subnormal Inexact Rounded Clamped
3607db96d56Sopenharmony_ciddmul769 multiply 1e-291 1e-110 -> 0E-398 Underflow Subnormal Inexact Rounded Clamped
3617db96d56Sopenharmony_ci-- [no equivalent of 'subnormal' for overflow]
3627db96d56Sopenharmony_ciddmul770 multiply 1e+60 1e+321 -> 1.000000000000E+381  Clamped
3637db96d56Sopenharmony_ciddmul771 multiply 1e+60 1e+322 -> 1.0000000000000E+382  Clamped
3647db96d56Sopenharmony_ciddmul772 multiply 1e+60 1e+323 -> 1.00000000000000E+383  Clamped
3657db96d56Sopenharmony_ciddmul773 multiply 1e+60 1e+324 -> 1.000000000000000E+384  Clamped
3667db96d56Sopenharmony_ciddmul774 multiply 1e+60 1e+325 -> Infinity Overflow Inexact Rounded
3677db96d56Sopenharmony_ciddmul775 multiply 1e+60 1e+326 -> Infinity Overflow Inexact Rounded
3687db96d56Sopenharmony_ciddmul776 multiply 1e+60 1e+327 -> Infinity Overflow Inexact Rounded
3697db96d56Sopenharmony_ciddmul777 multiply 1e+60 1e+328 -> Infinity Overflow Inexact Rounded
3707db96d56Sopenharmony_ciddmul778 multiply 1e+60 1e+329 -> Infinity Overflow Inexact Rounded
3717db96d56Sopenharmony_ciddmul779 multiply 1e+60 1e+330 -> Infinity Overflow Inexact Rounded
3727db96d56Sopenharmony_ci
3737db96d56Sopenharmony_ciddmul801 multiply  1.0000E-394  1     -> 1.0000E-394 Subnormal
3747db96d56Sopenharmony_ciddmul802 multiply  1.000E-394   1e-1  -> 1.000E-395  Subnormal
3757db96d56Sopenharmony_ciddmul803 multiply  1.00E-394    1e-2  -> 1.00E-396   Subnormal
3767db96d56Sopenharmony_ciddmul804 multiply  1.0E-394     1e-3  -> 1.0E-397    Subnormal
3777db96d56Sopenharmony_ciddmul805 multiply  1.0E-394     1e-4  -> 1E-398     Subnormal Rounded
3787db96d56Sopenharmony_ciddmul806 multiply  1.3E-394     1e-4  -> 1E-398     Underflow Subnormal Inexact Rounded
3797db96d56Sopenharmony_ciddmul807 multiply  1.5E-394     1e-4  -> 2E-398     Underflow Subnormal Inexact Rounded
3807db96d56Sopenharmony_ciddmul808 multiply  1.7E-394     1e-4  -> 2E-398     Underflow Subnormal Inexact Rounded
3817db96d56Sopenharmony_ciddmul809 multiply  2.3E-394     1e-4  -> 2E-398     Underflow Subnormal Inexact Rounded
3827db96d56Sopenharmony_ciddmul810 multiply  2.5E-394     1e-4  -> 2E-398     Underflow Subnormal Inexact Rounded
3837db96d56Sopenharmony_ciddmul811 multiply  2.7E-394     1e-4  -> 3E-398     Underflow Subnormal Inexact Rounded
3847db96d56Sopenharmony_ciddmul812 multiply  1.49E-394    1e-4  -> 1E-398     Underflow Subnormal Inexact Rounded
3857db96d56Sopenharmony_ciddmul813 multiply  1.50E-394    1e-4  -> 2E-398     Underflow Subnormal Inexact Rounded
3867db96d56Sopenharmony_ciddmul814 multiply  1.51E-394    1e-4  -> 2E-398     Underflow Subnormal Inexact Rounded
3877db96d56Sopenharmony_ciddmul815 multiply  2.49E-394    1e-4  -> 2E-398     Underflow Subnormal Inexact Rounded
3887db96d56Sopenharmony_ciddmul816 multiply  2.50E-394    1e-4  -> 2E-398     Underflow Subnormal Inexact Rounded
3897db96d56Sopenharmony_ciddmul817 multiply  2.51E-394    1e-4  -> 3E-398     Underflow Subnormal Inexact Rounded
3907db96d56Sopenharmony_ci
3917db96d56Sopenharmony_ciddmul818 multiply  1E-394       1e-4  -> 1E-398     Subnormal
3927db96d56Sopenharmony_ciddmul819 multiply  3E-394       1e-5  -> 0E-398     Underflow Subnormal Inexact Rounded Clamped
3937db96d56Sopenharmony_ciddmul820 multiply  5E-394       1e-5  -> 0E-398     Underflow Subnormal Inexact Rounded Clamped
3947db96d56Sopenharmony_ciddmul821 multiply  7E-394       1e-5  -> 1E-398     Underflow Subnormal Inexact Rounded
3957db96d56Sopenharmony_ciddmul822 multiply  9E-394       1e-5  -> 1E-398     Underflow Subnormal Inexact Rounded
3967db96d56Sopenharmony_ciddmul823 multiply  9.9E-394     1e-5  -> 1E-398     Underflow Subnormal Inexact Rounded
3977db96d56Sopenharmony_ci
3987db96d56Sopenharmony_ciddmul824 multiply  1E-394      -1e-4  -> -1E-398    Subnormal
3997db96d56Sopenharmony_ciddmul825 multiply  3E-394      -1e-5  -> -0E-398    Underflow Subnormal Inexact Rounded Clamped
4007db96d56Sopenharmony_ciddmul826 multiply -5E-394       1e-5  -> -0E-398    Underflow Subnormal Inexact Rounded Clamped
4017db96d56Sopenharmony_ciddmul827 multiply  7E-394      -1e-5  -> -1E-398    Underflow Subnormal Inexact Rounded
4027db96d56Sopenharmony_ciddmul828 multiply -9E-394       1e-5  -> -1E-398    Underflow Subnormal Inexact Rounded
4037db96d56Sopenharmony_ciddmul829 multiply  9.9E-394    -1e-5  -> -1E-398    Underflow Subnormal Inexact Rounded
4047db96d56Sopenharmony_ciddmul830 multiply  3.0E-394    -1e-5  -> -0E-398    Underflow Subnormal Inexact Rounded Clamped
4057db96d56Sopenharmony_ci
4067db96d56Sopenharmony_ciddmul831 multiply  1.0E-199     1e-200 -> 0E-398 Underflow Subnormal Inexact Rounded Clamped
4077db96d56Sopenharmony_ciddmul832 multiply  1.0E-199     1e-199 -> 1E-398    Subnormal Rounded
4087db96d56Sopenharmony_ciddmul833 multiply  1.0E-199     1e-198 -> 1.0E-397    Subnormal
4097db96d56Sopenharmony_ciddmul834 multiply  2.0E-199     2e-198 -> 4.0E-397    Subnormal
4107db96d56Sopenharmony_ciddmul835 multiply  4.0E-199     4e-198 -> 1.60E-396   Subnormal
4117db96d56Sopenharmony_ciddmul836 multiply 10.0E-199    10e-198 -> 1.000E-395  Subnormal
4127db96d56Sopenharmony_ciddmul837 multiply 30.0E-199    30e-198 -> 9.000E-395  Subnormal
4137db96d56Sopenharmony_ciddmul838 multiply 40.0E-199    40e-188 -> 1.6000E-384 Subnormal
4147db96d56Sopenharmony_ciddmul839 multiply 40.0E-199    40e-187 -> 1.6000E-383
4157db96d56Sopenharmony_ciddmul840 multiply 40.0E-199    40e-186 -> 1.6000E-382
4167db96d56Sopenharmony_ci
4177db96d56Sopenharmony_ci-- Long operand overflow may be a different path
4187db96d56Sopenharmony_ciddmul870 multiply 100  9.999E+383         ->  Infinity Inexact Overflow Rounded
4197db96d56Sopenharmony_ciddmul871 multiply 100 -9.999E+383     -> -Infinity Inexact Overflow Rounded
4207db96d56Sopenharmony_ciddmul872 multiply      9.999E+383 100 ->  Infinity Inexact Overflow Rounded
4217db96d56Sopenharmony_ciddmul873 multiply     -9.999E+383 100 -> -Infinity Inexact Overflow Rounded
4227db96d56Sopenharmony_ci
4237db96d56Sopenharmony_ci-- check for double-rounded subnormals
4247db96d56Sopenharmony_ciddmul881 multiply  1.2347E-355 1.2347E-40  ->  1.524E-395 Inexact Rounded Subnormal Underflow
4257db96d56Sopenharmony_ciddmul882 multiply  1.234E-355 1.234E-40    ->  1.523E-395 Inexact Rounded Subnormal Underflow
4267db96d56Sopenharmony_ciddmul883 multiply  1.23E-355  1.23E-40     ->  1.513E-395 Inexact Rounded Subnormal Underflow
4277db96d56Sopenharmony_ciddmul884 multiply  1.2E-355   1.2E-40      ->  1.44E-395  Subnormal
4287db96d56Sopenharmony_ciddmul885 multiply  1.2E-355   1.2E-41      ->  1.44E-396  Subnormal
4297db96d56Sopenharmony_ciddmul886 multiply  1.2E-355   1.2E-42      ->  1.4E-397   Subnormal Inexact Rounded Underflow
4307db96d56Sopenharmony_ciddmul887 multiply  1.2E-355   1.3E-42      ->  1.6E-397   Subnormal Inexact Rounded Underflow
4317db96d56Sopenharmony_ciddmul888 multiply  1.3E-355   1.3E-42      ->  1.7E-397   Subnormal Inexact Rounded Underflow
4327db96d56Sopenharmony_ciddmul889 multiply  1.3E-355   1.3E-43      ->    2E-398   Subnormal Inexact Rounded Underflow
4337db96d56Sopenharmony_ciddmul890 multiply  1.3E-356   1.3E-43      ->    0E-398   Clamped Subnormal Inexact Rounded Underflow
4347db96d56Sopenharmony_ci
4357db96d56Sopenharmony_ciddmul891 multiply  1.2345E-39   1.234E-355 ->  1.5234E-394 Inexact Rounded Subnormal Underflow
4367db96d56Sopenharmony_ciddmul892 multiply  1.23456E-39  1.234E-355 ->  1.5234E-394 Inexact Rounded Subnormal Underflow
4377db96d56Sopenharmony_ciddmul893 multiply  1.2345E-40   1.234E-355 ->  1.523E-395  Inexact Rounded Subnormal Underflow
4387db96d56Sopenharmony_ciddmul894 multiply  1.23456E-40  1.234E-355 ->  1.523E-395  Inexact Rounded Subnormal Underflow
4397db96d56Sopenharmony_ciddmul895 multiply  1.2345E-41   1.234E-355 ->  1.52E-396   Inexact Rounded Subnormal Underflow
4407db96d56Sopenharmony_ciddmul896 multiply  1.23456E-41  1.234E-355 ->  1.52E-396   Inexact Rounded Subnormal Underflow
4417db96d56Sopenharmony_ci
4427db96d56Sopenharmony_ci-- Now explore the case where we get a normal result with Underflow
4437db96d56Sopenharmony_ci--                                                        1 234567890123456
4447db96d56Sopenharmony_ciddmul900 multiply  0.3000000000E-191 0.3000000000E-191 -> 9.00000000000000E-384 Subnormal Rounded
4457db96d56Sopenharmony_ciddmul901 multiply  0.3000000001E-191 0.3000000001E-191 -> 9.00000000600000E-384 Underflow Inexact Subnormal Rounded
4467db96d56Sopenharmony_ciddmul902 multiply  9.999999999999999E-383  0.0999999999999    -> 9.99999999999000E-384 Underflow Inexact Subnormal Rounded
4477db96d56Sopenharmony_ciddmul903 multiply  9.999999999999999E-383  0.09999999999999   -> 9.99999999999900E-384 Underflow Inexact Subnormal Rounded
4487db96d56Sopenharmony_ciddmul904 multiply  9.999999999999999E-383  0.099999999999999  -> 9.99999999999990E-384 Underflow Inexact Subnormal Rounded
4497db96d56Sopenharmony_ciddmul905 multiply  9.999999999999999E-383  0.0999999999999999 -> 9.99999999999999E-384 Underflow Inexact Subnormal Rounded
4507db96d56Sopenharmony_ci-- The next rounds to Nmin (b**emin); this is the distinguishing case
4517db96d56Sopenharmony_ci-- for detecting tininess (before or after rounding) -- if after
4527db96d56Sopenharmony_ci-- rounding then the result would be the same, but the Underflow flag
4537db96d56Sopenharmony_ci-- would not be set
4547db96d56Sopenharmony_ciddmul906 multiply  9.999999999999999E-383  0.09999999999999999     -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded
4557db96d56Sopenharmony_ci-- prove those operands were exact
4567db96d56Sopenharmony_ciddmul907 multiply  9.999999999999999E-383  1                       -> 9.999999999999999E-383
4577db96d56Sopenharmony_ciddmul908 multiply                       1  0.09999999999999999     -> 0.09999999999999999
4587db96d56Sopenharmony_ci
4597db96d56Sopenharmony_ci-- reducing tiniest
4607db96d56Sopenharmony_ciddmul910 multiply 1e-398 0.99 -> 1E-398 Subnormal Inexact Rounded Underflow
4617db96d56Sopenharmony_ciddmul911 multiply 1e-398 0.75 -> 1E-398 Subnormal Inexact Rounded Underflow
4627db96d56Sopenharmony_ciddmul912 multiply 1e-398 0.5  -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
4637db96d56Sopenharmony_ciddmul913 multiply 1e-398 0.25 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
4647db96d56Sopenharmony_ciddmul914 multiply 1e-398 0.01 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
4657db96d56Sopenharmony_ci
4667db96d56Sopenharmony_ci-- hugest
4677db96d56Sopenharmony_ciddmul920 multiply  9999999999999999 9999999999999999 -> 9.999999999999998E+31 Inexact Rounded
4687db96d56Sopenharmony_ci
4697db96d56Sopenharmony_ci-- power-of-ten edge cases
4707db96d56Sopenharmony_ciddmul1001 multiply  1      10               -> 10
4717db96d56Sopenharmony_ciddmul1002 multiply  1      100              -> 100
4727db96d56Sopenharmony_ciddmul1003 multiply  1      1000             -> 1000
4737db96d56Sopenharmony_ciddmul1004 multiply  1      10000            -> 10000
4747db96d56Sopenharmony_ciddmul1005 multiply  1      100000           -> 100000
4757db96d56Sopenharmony_ciddmul1006 multiply  1      1000000          -> 1000000
4767db96d56Sopenharmony_ciddmul1007 multiply  1      10000000         -> 10000000
4777db96d56Sopenharmony_ciddmul1008 multiply  1      100000000        -> 100000000
4787db96d56Sopenharmony_ciddmul1009 multiply  1      1000000000       -> 1000000000
4797db96d56Sopenharmony_ciddmul1010 multiply  1      10000000000      -> 10000000000
4807db96d56Sopenharmony_ciddmul1011 multiply  1      100000000000     -> 100000000000
4817db96d56Sopenharmony_ciddmul1012 multiply  1      1000000000000    -> 1000000000000
4827db96d56Sopenharmony_ciddmul1013 multiply  1      10000000000000   -> 10000000000000
4837db96d56Sopenharmony_ciddmul1014 multiply  1      100000000000000  -> 100000000000000
4847db96d56Sopenharmony_ciddmul1015 multiply  1      1000000000000000 -> 1000000000000000
4857db96d56Sopenharmony_ciddmul1021 multiply  10     1                -> 10
4867db96d56Sopenharmony_ciddmul1022 multiply  10     10               -> 100
4877db96d56Sopenharmony_ciddmul1023 multiply  10     100              -> 1000
4887db96d56Sopenharmony_ciddmul1024 multiply  10     1000             -> 10000
4897db96d56Sopenharmony_ciddmul1025 multiply  10     10000            -> 100000
4907db96d56Sopenharmony_ciddmul1026 multiply  10     100000           -> 1000000
4917db96d56Sopenharmony_ciddmul1027 multiply  10     1000000          -> 10000000
4927db96d56Sopenharmony_ciddmul1028 multiply  10     10000000         -> 100000000
4937db96d56Sopenharmony_ciddmul1029 multiply  10     100000000        -> 1000000000
4947db96d56Sopenharmony_ciddmul1030 multiply  10     1000000000       -> 10000000000
4957db96d56Sopenharmony_ciddmul1031 multiply  10     10000000000      -> 100000000000
4967db96d56Sopenharmony_ciddmul1032 multiply  10     100000000000     -> 1000000000000
4977db96d56Sopenharmony_ciddmul1033 multiply  10     1000000000000    -> 10000000000000
4987db96d56Sopenharmony_ciddmul1034 multiply  10     10000000000000   -> 100000000000000
4997db96d56Sopenharmony_ciddmul1035 multiply  10     100000000000000  -> 1000000000000000
5007db96d56Sopenharmony_ciddmul1041 multiply  100    0.1              -> 10.0
5017db96d56Sopenharmony_ciddmul1042 multiply  100    1                -> 100
5027db96d56Sopenharmony_ciddmul1043 multiply  100    10               -> 1000
5037db96d56Sopenharmony_ciddmul1044 multiply  100    100              -> 10000
5047db96d56Sopenharmony_ciddmul1045 multiply  100    1000             -> 100000
5057db96d56Sopenharmony_ciddmul1046 multiply  100    10000            -> 1000000
5067db96d56Sopenharmony_ciddmul1047 multiply  100    100000           -> 10000000
5077db96d56Sopenharmony_ciddmul1048 multiply  100    1000000          -> 100000000
5087db96d56Sopenharmony_ciddmul1049 multiply  100    10000000         -> 1000000000
5097db96d56Sopenharmony_ciddmul1050 multiply  100    100000000        -> 10000000000
5107db96d56Sopenharmony_ciddmul1051 multiply  100    1000000000       -> 100000000000
5117db96d56Sopenharmony_ciddmul1052 multiply  100    10000000000      -> 1000000000000
5127db96d56Sopenharmony_ciddmul1053 multiply  100    100000000000     -> 10000000000000
5137db96d56Sopenharmony_ciddmul1054 multiply  100    1000000000000    -> 100000000000000
5147db96d56Sopenharmony_ciddmul1055 multiply  100    10000000000000   -> 1000000000000000
5157db96d56Sopenharmony_ciddmul1061 multiply  1000   0.01             -> 10.00
5167db96d56Sopenharmony_ciddmul1062 multiply  1000   0.1              -> 100.0
5177db96d56Sopenharmony_ciddmul1063 multiply  1000   1                -> 1000
5187db96d56Sopenharmony_ciddmul1064 multiply  1000   10               -> 10000
5197db96d56Sopenharmony_ciddmul1065 multiply  1000   100              -> 100000
5207db96d56Sopenharmony_ciddmul1066 multiply  1000   1000             -> 1000000
5217db96d56Sopenharmony_ciddmul1067 multiply  1000   10000            -> 10000000
5227db96d56Sopenharmony_ciddmul1068 multiply  1000   100000           -> 100000000
5237db96d56Sopenharmony_ciddmul1069 multiply  1000   1000000          -> 1000000000
5247db96d56Sopenharmony_ciddmul1070 multiply  1000   10000000         -> 10000000000
5257db96d56Sopenharmony_ciddmul1071 multiply  1000   100000000        -> 100000000000
5267db96d56Sopenharmony_ciddmul1072 multiply  1000   1000000000       -> 1000000000000
5277db96d56Sopenharmony_ciddmul1073 multiply  1000   10000000000      -> 10000000000000
5287db96d56Sopenharmony_ciddmul1074 multiply  1000   100000000000     -> 100000000000000
5297db96d56Sopenharmony_ciddmul1075 multiply  1000   1000000000000    -> 1000000000000000
5307db96d56Sopenharmony_ciddmul1081 multiply  10000  0.001            -> 10.000
5317db96d56Sopenharmony_ciddmul1082 multiply  10000  0.01             -> 100.00
5327db96d56Sopenharmony_ciddmul1083 multiply  10000  0.1              -> 1000.0
5337db96d56Sopenharmony_ciddmul1084 multiply  10000  1                -> 10000
5347db96d56Sopenharmony_ciddmul1085 multiply  10000  10               -> 100000
5357db96d56Sopenharmony_ciddmul1086 multiply  10000  100              -> 1000000
5367db96d56Sopenharmony_ciddmul1087 multiply  10000  1000             -> 10000000
5377db96d56Sopenharmony_ciddmul1088 multiply  10000  10000            -> 100000000
5387db96d56Sopenharmony_ciddmul1089 multiply  10000  100000           -> 1000000000
5397db96d56Sopenharmony_ciddmul1090 multiply  10000  1000000          -> 10000000000
5407db96d56Sopenharmony_ciddmul1091 multiply  10000  10000000         -> 100000000000
5417db96d56Sopenharmony_ciddmul1092 multiply  10000  100000000        -> 1000000000000
5427db96d56Sopenharmony_ciddmul1093 multiply  10000  1000000000       -> 10000000000000
5437db96d56Sopenharmony_ciddmul1094 multiply  10000  10000000000      -> 100000000000000
5447db96d56Sopenharmony_ciddmul1095 multiply  10000  100000000000     -> 1000000000000000
5457db96d56Sopenharmony_ci
5467db96d56Sopenharmony_ciddmul1097 multiply  10000   99999999999     ->  999999999990000
5477db96d56Sopenharmony_ciddmul1098 multiply  10000   99999999999     ->  999999999990000
5487db96d56Sopenharmony_ci
5497db96d56Sopenharmony_ci
5507db96d56Sopenharmony_ci-- Null tests
5517db96d56Sopenharmony_ciddmul9990 multiply 10  # -> NaN Invalid_operation
5527db96d56Sopenharmony_ciddmul9991 multiply  # 10 -> NaN Invalid_operation
5537db96d56Sopenharmony_ci
554