Thomas Wouters | 1b7f891 | 2007-09-19 03:06:30 +0000 | [diff] [blame] | 1 | ------------------------------------------------------------------------
|
| 2 | -- fma.decTest -- decimal fused multiply add --
|
Benjamin Peterson | f17ff4e | 2008-07-31 16:32:12 +0000 | [diff] [blame] | 3 | -- Copyright (c) IBM Corporation, 1981, 2008. All rights reserved. --
|
Thomas Wouters | 1b7f891 | 2007-09-19 03:06:30 +0000 | [diff] [blame] | 4 | ------------------------------------------------------------------------
|
| 5 | -- Please see the document "General Decimal Arithmetic Testcases" --
|
| 6 | -- at http://www2.hursley.ibm.com/decimal for the description of --
|
| 7 | -- these testcases. --
|
| 8 | -- --
|
| 9 | -- These testcases are experimental ('beta' versions), and they --
|
| 10 | -- may contain errors. They are offered on an as-is basis. In --
|
| 11 | -- particular, achieving the same results as the tests here is not --
|
| 12 | -- a guarantee that an implementation complies with any Standard --
|
| 13 | -- or specification. The tests are not exhaustive. --
|
| 14 | -- --
|
| 15 | -- Please send comments, suggestions, and corrections to the author: --
|
| 16 | -- Mike Cowlishaw, IBM Fellow --
|
| 17 | -- IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK --
|
| 18 | -- mfc@uk.ibm.com --
|
| 19 | ------------------------------------------------------------------------
|
Mark Dickinson | 8a54653 | 2009-10-08 16:30:38 +0000 | [diff] [blame] | 20 | version: 2.59
|
Thomas Wouters | 1b7f891 | 2007-09-19 03:06:30 +0000 | [diff] [blame] | 21 |
|
| 22 | extended: 1
|
| 23 | precision: 9
|
| 24 | rounding: half_up
|
| 25 | maxExponent: 384
|
| 26 | minexponent: -383
|
| 27 |
|
| 28 | -- These tests comprese three parts:
|
| 29 | -- 1. Sanity checks and other three-operand tests (especially those
|
| 30 | -- where the fused operation makes a difference)
|
| 31 | -- 2. Multiply tests (third operand is neutral zero [0E+emax])
|
| 32 | -- 3. Addition tests (first operand is 1)
|
| 33 | -- The multiply and addition tests are extensive because FMA may have
|
| 34 | -- its own dedicated multiplication or addition routine(s), and they
|
| 35 | -- also inherently check the left-to-right properties.
|
| 36 |
|
| 37 | -- Sanity checks
|
| 38 | fmax0001 fma 1 1 1 -> 2
|
| 39 | fmax0002 fma 1 1 2 -> 3
|
| 40 | fmax0003 fma 2 2 3 -> 7
|
| 41 | fmax0004 fma 9 9 9 -> 90
|
| 42 | fmax0005 fma -1 1 1 -> 0
|
| 43 | fmax0006 fma -1 1 2 -> 1
|
| 44 | fmax0007 fma -2 2 3 -> -1
|
| 45 | fmax0008 fma -9 9 9 -> -72
|
| 46 | fmax0011 fma 1 -1 1 -> 0
|
| 47 | fmax0012 fma 1 -1 2 -> 1
|
| 48 | fmax0013 fma 2 -2 3 -> -1
|
| 49 | fmax0014 fma 9 -9 9 -> -72
|
| 50 | fmax0015 fma 1 1 -1 -> 0
|
| 51 | fmax0016 fma 1 1 -2 -> -1
|
| 52 | fmax0017 fma 2 2 -3 -> 1
|
| 53 | fmax0018 fma 9 9 -9 -> 72
|
| 54 | fmax0019 fma 3 5 7 -> 22
|
| 55 | fmax0029 fma 3 -5 7 -> -8
|
| 56 |
|
| 57 | -- non-integer exacts
|
| 58 | fma0100 fma 25.2 63.6 -438 -> 1164.72
|
| 59 | fma0101 fma 0.301 0.380 334 -> 334.114380
|
| 60 | fma0102 fma 49.2 -4.8 23.3 -> -212.86
|
| 61 | fma0103 fma 4.22 0.079 -94.6 -> -94.26662
|
| 62 | fma0104 fma 903 0.797 0.887 -> 720.578
|
| 63 | fma0105 fma 6.13 -161 65.9 -> -921.03
|
| 64 | fma0106 fma 28.2 727 5.45 -> 20506.85
|
| 65 | fma0107 fma 4 605 688 -> 3108
|
| 66 | fma0108 fma 93.3 0.19 0.226 -> 17.953
|
| 67 | fma0109 fma 0.169 -341 5.61 -> -52.019
|
| 68 | fma0110 fma -72.2 30 -51.2 -> -2217.2
|
| 69 | fma0111 fma -0.409 13 20.4 -> 15.083
|
| 70 | fma0112 fma 317 77.0 19.0 -> 24428.0
|
| 71 | fma0113 fma 47 6.58 1.62 -> 310.88
|
| 72 | fma0114 fma 1.36 0.984 0.493 -> 1.83124
|
| 73 | fma0115 fma 72.7 274 1.56 -> 19921.36
|
| 74 | fma0116 fma 335 847 83 -> 283828
|
| 75 | fma0117 fma 666 0.247 25.4 -> 189.902
|
| 76 | fma0118 fma -3.87 3.06 78.0 -> 66.1578
|
| 77 | fma0119 fma 0.742 192 35.6 -> 178.064
|
| 78 | fma0120 fma -91.6 5.29 0.153 -> -484.411
|
| 79 |
|
| 80 | -- cases where result is different from separate multiply + add; each
|
| 81 | -- is preceded by the result of unfused multiply and add
|
| 82 | -- [this is about 20% of all similar cases in general]
|
| 83 | -- 888565290 1557.96930 -86087.7578 -> 1.38435735E+12
|
| 84 | fma0201 fma 888565290 1557.96930 -86087.7578 -> 1.38435736E+12 Inexact Rounded
|
| 85 | -- -85519342.9 735155419 42010431 -> -6.28700084E+16
|
| 86 | fma0205 fma -85519342.9 735155419 42010431 -> -6.28700083E+16 Inexact Rounded
|
| 87 | -- -98025.5 -294603.472 10414348.2 -> 2.88890669E+10
|
| 88 | fma0208 fma -98025.5 -294603.472 10414348.2 -> 2.88890670E+10 Inexact Rounded
|
| 89 | -- 5967627.39 83526540.6 498494.810 -> 4.98455271E+14
|
| 90 | fma0211 fma 5967627.39 83526540.6 498494.810 -> 4.98455272E+14 Inexact Rounded
|
| 91 | -- 3456.9433 874.39518 197866.615 -> 3220601.18
|
| 92 | fma0216 fma 3456.9433 874.39518 197866.615 -> 3220601.17 Inexact Rounded
|
| 93 | -- 62769.8287 2096.98927 48.420317 -> 131627705
|
| 94 | fma0218 fma 62769.8287 2096.98927 48.420317 -> 131627706 Inexact Rounded
|
| 95 | -- -68.81500 59961113.9 -8988862 -> -4.13521291E+9
|
| 96 | fma0219 fma -68.81500 59961113.9 -8988862 -> -4.13521292E+9 Inexact Rounded
|
| 97 | -- 2126341.02 63491.5152 302427455 -> 1.35307040E+11
|
| 98 | fma0226 fma 2126341.02 63491.5152 302427455 -> 1.35307041E+11 Inexact Rounded
|
| 99 |
|
| 100 |
|
| 101 | -- Infinite combinations
|
| 102 | fmax0800 fma Inf Inf Inf -> Infinity
|
| 103 | fmax0801 fma Inf Inf -Inf -> NaN Invalid_operation
|
| 104 | fmax0802 fma Inf -Inf Inf -> NaN Invalid_operation
|
| 105 | fmax0803 fma Inf -Inf -Inf -> -Infinity
|
| 106 | fmax0804 fma -Inf Inf Inf -> NaN Invalid_operation
|
| 107 | fmax0805 fma -Inf Inf -Inf -> -Infinity
|
| 108 | fmax0806 fma -Inf -Inf Inf -> Infinity
|
| 109 | fmax0807 fma -Inf -Inf -Inf -> NaN Invalid_operation
|
| 110 | fmax0808 fma -Inf 0 1 -> NaN Invalid_operation
|
| 111 | fmax0809 fma -Inf 0 NaN -> NaN Invalid_operation
|
| 112 |
|
| 113 | -- Triple NaN propagation
|
| 114 | fmax0900 fma NaN2 NaN3 NaN5 -> NaN2
|
| 115 | fmax0901 fma 0 NaN3 NaN5 -> NaN3
|
| 116 | fmax0902 fma 0 0 NaN5 -> NaN5
|
| 117 | -- first sNaN wins (consider qNaN from earlier sNaN being
|
| 118 | -- overridden by an sNaN in third operand)
|
| 119 | fmax0903 fma sNaN1 sNaN2 sNaN3 -> NaN1 Invalid_operation
|
| 120 | fmax0904 fma 0 sNaN2 sNaN3 -> NaN2 Invalid_operation
|
| 121 | fmax0905 fma 0 0 sNaN3 -> NaN3 Invalid_operation
|
| 122 | fmax0906 fma sNaN1 sNaN2 sNaN3 -> NaN1 Invalid_operation
|
| 123 | fmax0907 fma NaN7 sNaN2 sNaN3 -> NaN2 Invalid_operation
|
| 124 | fmax0908 fma NaN7 NaN5 sNaN3 -> NaN3 Invalid_operation
|
| 125 |
|
| 126 | -- MULTIPLICATION TESTS ------------------------------------------------
|
| 127 | -- sanity checks (as base, above)
|
| 128 | fmax2000 fma 2 2 0E+999999 -> 4
|
| 129 | fmax2001 fma 2 3 0E+999999 -> 6
|
| 130 | fmax2002 fma 5 1 0E+999999 -> 5
|
| 131 | fmax2003 fma 5 2 0E+999999 -> 10
|
| 132 | fmax2004 fma 1.20 2 0E+999999 -> 2.40
|
| 133 | fmax2005 fma 1.20 0 0E+999999 -> 0.00
|
| 134 | fmax2006 fma 1.20 -2 0E+999999 -> -2.40
|
| 135 | fmax2007 fma -1.20 2 0E+999999 -> -2.40
|
| 136 | fmax2008 fma -1.20 0 0E+999999 -> 0.00
|
| 137 | fmax2009 fma -1.20 -2 0E+999999 -> 2.40
|
| 138 | fmax2010 fma 5.09 7.1 0E+999999 -> 36.139
|
| 139 | fmax2011 fma 2.5 4 0E+999999 -> 10.0
|
| 140 | fmax2012 fma 2.50 4 0E+999999 -> 10.00
|
| 141 | fmax2013 fma 1.23456789 1.00000000 0E+999999 -> 1.23456789 Rounded
|
| 142 | fmax2014 fma 9.999999999 9.999999999 0E+999999 -> 100.000000 Inexact Rounded
|
| 143 | fmax2015 fma 2.50 4 0E+999999 -> 10.00
|
| 144 | precision: 6
|
| 145 | fmax2016 fma 2.50 4 0E+999999 -> 10.00
|
| 146 | fmax2017 fma 9.999999 9.999999 0E+999999 -> 100.000 Inexact Rounded
|
| 147 | fmax2018 fma 9.999999 -9.999999 0E+999999 -> -100.000 Inexact Rounded
|
| 148 | fmax2019 fma -9.999999 9.999999 0E+999999 -> -100.000 Inexact Rounded
|
| 149 | fmax2020 fma -9.999999 -9.999999 0E+999999 -> 100.000 Inexact Rounded
|
| 150 |
|
| 151 | -- 1999.12.21: next one is a edge case if intermediate longs are used
|
| 152 | precision: 15
|
| 153 | fmax2059 fma 999999999999 9765625 0E+999999 -> 9.76562499999023E+18 Inexact Rounded
|
| 154 | precision: 30
|
| 155 | fmax2160 fma 999999999999 9765625 0E+999999 -> 9765624999990234375
|
| 156 | precision: 9
|
| 157 | -----
|
| 158 |
|
| 159 | -- zeros, etc.
|
| 160 | fmax2021 fma 0 0 0E+999999 -> 0
|
| 161 | fmax2022 fma 0 -0 0E+999999 -> 0
|
| 162 | fmax2023 fma -0 0 0E+999999 -> 0
|
| 163 | fmax2024 fma -0 -0 0E+999999 -> 0
|
| 164 | fmax2025 fma -0.0 -0.0 0E+999999 -> 0.00
|
| 165 | fmax2026 fma -0.0 -0.0 0E+999999 -> 0.00
|
| 166 | fmax2027 fma -0.0 -0.0 0E+999999 -> 0.00
|
| 167 | fmax2028 fma -0.0 -0.0 0E+999999 -> 0.00
|
| 168 | fmax2030 fma 5.00 1E-3 0E+999999 -> 0.00500
|
| 169 | fmax2031 fma 00.00 0.000 0E+999999 -> 0.00000
|
| 170 | fmax2032 fma 00.00 0E-3 0E+999999 -> 0.00000 -- rhs is 0
|
| 171 | fmax2033 fma 0E-3 00.00 0E+999999 -> 0.00000 -- lhs is 0
|
| 172 | fmax2034 fma -5.00 1E-3 0E+999999 -> -0.00500
|
| 173 | fmax2035 fma -00.00 0.000 0E+999999 -> 0.00000
|
| 174 | fmax2036 fma -00.00 0E-3 0E+999999 -> 0.00000 -- rhs is 0
|
| 175 | fmax2037 fma -0E-3 00.00 0E+999999 -> 0.00000 -- lhs is 0
|
| 176 | fmax2038 fma 5.00 -1E-3 0E+999999 -> -0.00500
|
| 177 | fmax2039 fma 00.00 -0.000 0E+999999 -> 0.00000
|
| 178 | fmax2040 fma 00.00 -0E-3 0E+999999 -> 0.00000 -- rhs is 0
|
| 179 | fmax2041 fma 0E-3 -00.00 0E+999999 -> 0.00000 -- lhs is 0
|
| 180 | fmax2042 fma -5.00 -1E-3 0E+999999 -> 0.00500
|
| 181 | fmax2043 fma -00.00 -0.000 0E+999999 -> 0.00000
|
| 182 | fmax2044 fma -00.00 -0E-3 0E+999999 -> 0.00000 -- rhs is 0
|
| 183 | fmax2045 fma -0E-3 -00.00 0E+999999 -> 0.00000 -- lhs is 0
|
| 184 |
|
| 185 | -- examples from decarith multiply
|
| 186 | fmax2050 fma 1.20 3 0E+999999 -> 3.60
|
| 187 | fmax2051 fma 7 3 0E+999999 -> 21
|
| 188 | fmax2052 fma 0.9 0.8 0E+999999 -> 0.72
|
| 189 | fmax2053 fma 0.9 -0 0E+999999 -> 0.0
|
| 190 | fmax2054 fma 654321 654321 0E+999999 -> 4.28135971E+11 Inexact Rounded
|
| 191 |
|
| 192 | fmax2060 fma 123.45 1e7 0E+999999 -> 1.2345E+9
|
| 193 | fmax2061 fma 123.45 1e8 0E+999999 -> 1.2345E+10
|
| 194 | fmax2062 fma 123.45 1e+9 0E+999999 -> 1.2345E+11
|
| 195 | fmax2063 fma 123.45 1e10 0E+999999 -> 1.2345E+12
|
| 196 | fmax2064 fma 123.45 1e11 0E+999999 -> 1.2345E+13
|
| 197 | fmax2065 fma 123.45 1e12 0E+999999 -> 1.2345E+14
|
| 198 | fmax2066 fma 123.45 1e13 0E+999999 -> 1.2345E+15
|
| 199 |
|
| 200 |
|
| 201 | -- test some intermediate lengths
|
| 202 | precision: 9
|
| 203 | fmax2080 fma 0.1 123456789 0E+999999 -> 12345678.9
|
| 204 | fmax2081 fma 0.1 1234567891 0E+999999 -> 123456789 Inexact Rounded
|
| 205 | fmax2082 fma 0.1 12345678912 0E+999999 -> 1.23456789E+9 Inexact Rounded
|
| 206 | fmax2083 fma 0.1 12345678912345 0E+999999 -> 1.23456789E+12 Inexact Rounded
|
| 207 | fmax2084 fma 0.1 123456789 0E+999999 -> 12345678.9
|
| 208 | precision: 8
|
| 209 | fmax2085 fma 0.1 12345678912 0E+999999 -> 1.2345679E+9 Inexact Rounded
|
| 210 | fmax2086 fma 0.1 12345678912345 0E+999999 -> 1.2345679E+12 Inexact Rounded
|
| 211 | precision: 7
|
| 212 | fmax2087 fma 0.1 12345678912 0E+999999 -> 1.234568E+9 Inexact Rounded
|
| 213 | fmax2088 fma 0.1 12345678912345 0E+999999 -> 1.234568E+12 Inexact Rounded
|
| 214 |
|
| 215 | precision: 9
|
| 216 | fmax2090 fma 123456789 0.1 0E+999999 -> 12345678.9
|
| 217 | fmax2091 fma 1234567891 0.1 0E+999999 -> 123456789 Inexact Rounded
|
| 218 | fmax2092 fma 12345678912 0.1 0E+999999 -> 1.23456789E+9 Inexact Rounded
|
| 219 | fmax2093 fma 12345678912345 0.1 0E+999999 -> 1.23456789E+12 Inexact Rounded
|
| 220 | fmax2094 fma 123456789 0.1 0E+999999 -> 12345678.9
|
| 221 | precision: 8
|
| 222 | fmax2095 fma 12345678912 0.1 0E+999999 -> 1.2345679E+9 Inexact Rounded
|
| 223 | fmax2096 fma 12345678912345 0.1 0E+999999 -> 1.2345679E+12 Inexact Rounded
|
| 224 | precision: 7
|
| 225 | fmax2097 fma 12345678912 0.1 0E+999999 -> 1.234568E+9 Inexact Rounded
|
| 226 | fmax2098 fma 12345678912345 0.1 0E+999999 -> 1.234568E+12 Inexact Rounded
|
| 227 |
|
| 228 | -- test some more edge cases and carries
|
| 229 | maxexponent: 9999
|
| 230 | minexponent: -9999
|
| 231 | precision: 33
|
| 232 | fmax2101 fma 9 9 0E+999999 -> 81
|
| 233 | fmax2102 fma 9 90 0E+999999 -> 810
|
| 234 | fmax2103 fma 9 900 0E+999999 -> 8100
|
| 235 | fmax2104 fma 9 9000 0E+999999 -> 81000
|
| 236 | fmax2105 fma 9 90000 0E+999999 -> 810000
|
| 237 | fmax2106 fma 9 900000 0E+999999 -> 8100000
|
| 238 | fmax2107 fma 9 9000000 0E+999999 -> 81000000
|
| 239 | fmax2108 fma 9 90000000 0E+999999 -> 810000000
|
| 240 | fmax2109 fma 9 900000000 0E+999999 -> 8100000000
|
| 241 | fmax2110 fma 9 9000000000 0E+999999 -> 81000000000
|
| 242 | fmax2111 fma 9 90000000000 0E+999999 -> 810000000000
|
| 243 | fmax2112 fma 9 900000000000 0E+999999 -> 8100000000000
|
| 244 | fmax2113 fma 9 9000000000000 0E+999999 -> 81000000000000
|
| 245 | fmax2114 fma 9 90000000000000 0E+999999 -> 810000000000000
|
| 246 | fmax2115 fma 9 900000000000000 0E+999999 -> 8100000000000000
|
| 247 | fmax2116 fma 9 9000000000000000 0E+999999 -> 81000000000000000
|
| 248 | fmax2117 fma 9 90000000000000000 0E+999999 -> 810000000000000000
|
| 249 | fmax2118 fma 9 900000000000000000 0E+999999 -> 8100000000000000000
|
| 250 | fmax2119 fma 9 9000000000000000000 0E+999999 -> 81000000000000000000
|
| 251 | fmax2120 fma 9 90000000000000000000 0E+999999 -> 810000000000000000000
|
| 252 | fmax2121 fma 9 900000000000000000000 0E+999999 -> 8100000000000000000000
|
| 253 | fmax2122 fma 9 9000000000000000000000 0E+999999 -> 81000000000000000000000
|
| 254 | fmax2123 fma 9 90000000000000000000000 0E+999999 -> 810000000000000000000000
|
| 255 | -- test some more edge cases without carries
|
| 256 | fmax2131 fma 3 3 0E+999999 -> 9
|
| 257 | fmax2132 fma 3 30 0E+999999 -> 90
|
| 258 | fmax2133 fma 3 300 0E+999999 -> 900
|
| 259 | fmax2134 fma 3 3000 0E+999999 -> 9000
|
| 260 | fmax2135 fma 3 30000 0E+999999 -> 90000
|
| 261 | fmax2136 fma 3 300000 0E+999999 -> 900000
|
| 262 | fmax2137 fma 3 3000000 0E+999999 -> 9000000
|
| 263 | fmax2138 fma 3 30000000 0E+999999 -> 90000000
|
| 264 | fmax2139 fma 3 300000000 0E+999999 -> 900000000
|
| 265 | fmax2140 fma 3 3000000000 0E+999999 -> 9000000000
|
| 266 | fmax2141 fma 3 30000000000 0E+999999 -> 90000000000
|
| 267 | fmax2142 fma 3 300000000000 0E+999999 -> 900000000000
|
| 268 | fmax2143 fma 3 3000000000000 0E+999999 -> 9000000000000
|
| 269 | fmax2144 fma 3 30000000000000 0E+999999 -> 90000000000000
|
| 270 | fmax2145 fma 3 300000000000000 0E+999999 -> 900000000000000
|
| 271 | fmax2146 fma 3 3000000000000000 0E+999999 -> 9000000000000000
|
| 272 | fmax2147 fma 3 30000000000000000 0E+999999 -> 90000000000000000
|
| 273 | fmax2148 fma 3 300000000000000000 0E+999999 -> 900000000000000000
|
| 274 | fmax2149 fma 3 3000000000000000000 0E+999999 -> 9000000000000000000
|
| 275 | fmax2150 fma 3 30000000000000000000 0E+999999 -> 90000000000000000000
|
| 276 | fmax2151 fma 3 300000000000000000000 0E+999999 -> 900000000000000000000
|
| 277 | fmax2152 fma 3 3000000000000000000000 0E+999999 -> 9000000000000000000000
|
| 278 | fmax2153 fma 3 30000000000000000000000 0E+999999 -> 90000000000000000000000
|
| 279 |
|
| 280 | maxexponent: 999999
|
| 281 | minexponent: -999999
|
| 282 | precision: 9
|
| 283 | -- test some cases that are close to exponent overflow/underflow
|
| 284 | fmax2170 fma 1 9e999999 0E+999999 -> 9E+999999
|
| 285 | fmax2171 fma 1 9.9e999999 0E+999999 -> 9.9E+999999
|
| 286 | fmax2172 fma 1 9.99e999999 0E+999999 -> 9.99E+999999
|
| 287 | fmax2173 fma 9e999999 1 0E+999999 -> 9E+999999
|
| 288 | fmax2174 fma 9.9e999999 1 0E+999999 -> 9.9E+999999
|
| 289 | fmax2176 fma 9.99e999999 1 0E+999999 -> 9.99E+999999
|
| 290 | fmax2177 fma 1 9.99999e999999 0E+999999 -> 9.99999E+999999
|
| 291 | fmax2178 fma 9.99999e999999 1 0E+999999 -> 9.99999E+999999
|
| 292 |
|
| 293 | fmax2180 fma 0.1 9e-999998 0E+999999 -> 9E-999999
|
| 294 | fmax2181 fma 0.1 99e-999998 0E+999999 -> 9.9E-999998
|
| 295 | fmax2182 fma 0.1 999e-999998 0E+999999 -> 9.99E-999997
|
| 296 |
|
| 297 | fmax2183 fma 0.1 9e-999998 0E+999999 -> 9E-999999
|
| 298 | fmax2184 fma 0.1 99e-999998 0E+999999 -> 9.9E-999998
|
| 299 | fmax2185 fma 0.1 999e-999998 0E+999999 -> 9.99E-999997
|
| 300 | fmax2186 fma 0.1 999e-999997 0E+999999 -> 9.99E-999996
|
| 301 | fmax2187 fma 0.1 9999e-999997 0E+999999 -> 9.999E-999995
|
| 302 | fmax2188 fma 0.1 99999e-999997 0E+999999 -> 9.9999E-999994
|
| 303 |
|
| 304 | fmax2190 fma 1 9e-999998 0E+999999 -> 9E-999998
|
| 305 | fmax2191 fma 1 99e-999998 0E+999999 -> 9.9E-999997
|
| 306 | fmax2192 fma 1 999e-999998 0E+999999 -> 9.99E-999996
|
| 307 | fmax2193 fma 9e-999998 1 0E+999999 -> 9E-999998
|
| 308 | fmax2194 fma 99e-999998 1 0E+999999 -> 9.9E-999997
|
| 309 | fmax2195 fma 999e-999998 1 0E+999999 -> 9.99E-999996
|
| 310 |
|
| 311 | -- long operand triangle
|
| 312 | precision: 33
|
| 313 | fmax2246 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.290801193369671916511992830 Inexact Rounded
|
| 314 | precision: 32
|
| 315 | fmax2247 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.29080119336967191651199283 Inexact Rounded
|
| 316 | precision: 31
|
| 317 | fmax2248 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.2908011933696719165119928 Inexact Rounded
|
| 318 | precision: 30
|
| 319 | fmax2249 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.290801193369671916511993 Inexact Rounded
|
| 320 | precision: 29
|
| 321 | fmax2250 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.29080119336967191651199 Inexact Rounded
|
| 322 | precision: 28
|
| 323 | fmax2251 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.2908011933696719165120 Inexact Rounded
|
| 324 | precision: 27
|
| 325 | fmax2252 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.290801193369671916512 Inexact Rounded
|
| 326 | precision: 26
|
| 327 | fmax2253 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.29080119336967191651 Inexact Rounded
|
| 328 | precision: 25
|
| 329 | fmax2254 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.2908011933696719165 Inexact Rounded
|
| 330 | precision: 24
|
| 331 | fmax2255 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.290801193369671917 Inexact Rounded
|
| 332 | precision: 23
|
| 333 | fmax2256 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.29080119336967192 Inexact Rounded
|
| 334 | precision: 22
|
| 335 | fmax2257 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.2908011933696719 Inexact Rounded
|
| 336 | precision: 21
|
| 337 | fmax2258 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.290801193369672 Inexact Rounded
|
| 338 | precision: 20
|
| 339 | fmax2259 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.29080119336967 Inexact Rounded
|
| 340 | precision: 19
|
| 341 | fmax2260 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.2908011933697 Inexact Rounded
|
| 342 | precision: 18
|
| 343 | fmax2261 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.290801193370 Inexact Rounded
|
| 344 | precision: 17
|
| 345 | fmax2262 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.29080119337 Inexact Rounded
|
| 346 | precision: 16
|
| 347 | fmax2263 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.2908011934 Inexact Rounded
|
| 348 | precision: 15
|
| 349 | fmax2264 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.290801193 Inexact Rounded
|
| 350 | precision: 14
|
| 351 | fmax2265 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.29080119 Inexact Rounded
|
| 352 | precision: 13
|
| 353 | fmax2266 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.2908012 Inexact Rounded
|
| 354 | precision: 12
|
| 355 | fmax2267 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.290801 Inexact Rounded
|
| 356 | precision: 11
|
| 357 | fmax2268 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.29080 Inexact Rounded
|
| 358 | precision: 10
|
| 359 | fmax2269 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.2908 Inexact Rounded
|
| 360 | precision: 9
|
| 361 | fmax2270 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.291 Inexact Rounded
|
| 362 | precision: 8
|
| 363 | fmax2271 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.29 Inexact Rounded
|
| 364 | precision: 7
|
| 365 | fmax2272 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.3 Inexact Rounded
|
| 366 | precision: 6
|
| 367 | fmax2273 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433 Inexact Rounded
|
| 368 | precision: 5
|
| 369 | fmax2274 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 1.4543E+5 Inexact Rounded
|
| 370 | precision: 4
|
| 371 | fmax2275 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 1.454E+5 Inexact Rounded
|
| 372 | precision: 3
|
| 373 | fmax2276 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 1.45E+5 Inexact Rounded
|
| 374 | precision: 2
|
| 375 | fmax2277 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 1.5E+5 Inexact Rounded
|
| 376 | precision: 1
|
| 377 | fmax2278 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 1E+5 Inexact Rounded
|
| 378 |
|
| 379 | -- test some edge cases with exact rounding
|
| 380 | maxexponent: 9999
|
| 381 | minexponent: -9999
|
| 382 | precision: 9
|
| 383 | fmax2301 fma 9 9 0E+999999 -> 81
|
| 384 | fmax2302 fma 9 90 0E+999999 -> 810
|
| 385 | fmax2303 fma 9 900 0E+999999 -> 8100
|
| 386 | fmax2304 fma 9 9000 0E+999999 -> 81000
|
| 387 | fmax2305 fma 9 90000 0E+999999 -> 810000
|
| 388 | fmax2306 fma 9 900000 0E+999999 -> 8100000
|
| 389 | fmax2307 fma 9 9000000 0E+999999 -> 81000000
|
| 390 | fmax2308 fma 9 90000000 0E+999999 -> 810000000
|
| 391 | fmax2309 fma 9 900000000 0E+999999 -> 8.10000000E+9 Rounded
|
| 392 | fmax2310 fma 9 9000000000 0E+999999 -> 8.10000000E+10 Rounded
|
| 393 | fmax2311 fma 9 90000000000 0E+999999 -> 8.10000000E+11 Rounded
|
| 394 | fmax2312 fma 9 900000000000 0E+999999 -> 8.10000000E+12 Rounded
|
| 395 | fmax2313 fma 9 9000000000000 0E+999999 -> 8.10000000E+13 Rounded
|
| 396 | fmax2314 fma 9 90000000000000 0E+999999 -> 8.10000000E+14 Rounded
|
| 397 | fmax2315 fma 9 900000000000000 0E+999999 -> 8.10000000E+15 Rounded
|
| 398 | fmax2316 fma 9 9000000000000000 0E+999999 -> 8.10000000E+16 Rounded
|
| 399 | fmax2317 fma 9 90000000000000000 0E+999999 -> 8.10000000E+17 Rounded
|
| 400 | fmax2318 fma 9 900000000000000000 0E+999999 -> 8.10000000E+18 Rounded
|
| 401 | fmax2319 fma 9 9000000000000000000 0E+999999 -> 8.10000000E+19 Rounded
|
| 402 | fmax2320 fma 9 90000000000000000000 0E+999999 -> 8.10000000E+20 Rounded
|
| 403 | fmax2321 fma 9 900000000000000000000 0E+999999 -> 8.10000000E+21 Rounded
|
| 404 | fmax2322 fma 9 9000000000000000000000 0E+999999 -> 8.10000000E+22 Rounded
|
| 405 | fmax2323 fma 9 90000000000000000000000 0E+999999 -> 8.10000000E+23 Rounded
|
| 406 |
|
| 407 | -- fastpath breakers
|
| 408 | precision: 29
|
| 409 | fmax2330 fma 1.491824697641270317824852952837224 1.105170918075647624811707826490246514675628614562883537345747603 0E+999999 -> 1.6487212707001281468486507878 Inexact Rounded
|
| 410 | precision: 55
|
| 411 | fmax2331 fma 0.8958341352965282506768545828765117803873717284891040428 0.8958341352965282506768545828765117803873717284891040428 0E+999999 -> 0.8025187979624784829842553829934069955890983696752228299 Inexact Rounded
|
| 412 |
|
| 413 |
|
| 414 | -- tryzeros cases
|
| 415 | precision: 7
|
| 416 | rounding: half_up
|
| 417 | maxExponent: 92
|
| 418 | minexponent: -92
|
| 419 | fmax2504 fma 0E-60 1000E-60 0E+999999 -> 0E-98 Clamped
|
| 420 | fmax2505 fma 100E+60 0E+60 0E+999999 -> 0E+92 Clamped
|
| 421 |
|
| 422 | -- mixed with zeros
|
| 423 | maxexponent: 999999
|
| 424 | minexponent: -999999
|
| 425 | precision: 9
|
| 426 | fmax2541 fma 0 -1 0E+999999 -> 0
|
| 427 | fmax2542 fma -0 -1 0E+999999 -> 0
|
| 428 | fmax2543 fma 0 1 0E+999999 -> 0
|
| 429 | fmax2544 fma -0 1 0E+999999 -> 0
|
| 430 | fmax2545 fma -1 0 0E+999999 -> 0
|
| 431 | fmax2546 fma -1 -0 0E+999999 -> 0
|
| 432 | fmax2547 fma 1 0 0E+999999 -> 0
|
| 433 | fmax2548 fma 1 -0 0E+999999 -> 0
|
| 434 |
|
| 435 | fmax2551 fma 0.0 -1 0E+999999 -> 0.0
|
| 436 | fmax2552 fma -0.0 -1 0E+999999 -> 0.0
|
| 437 | fmax2553 fma 0.0 1 0E+999999 -> 0.0
|
| 438 | fmax2554 fma -0.0 1 0E+999999 -> 0.0
|
| 439 | fmax2555 fma -1.0 0 0E+999999 -> 0.0
|
| 440 | fmax2556 fma -1.0 -0 0E+999999 -> 0.0
|
| 441 | fmax2557 fma 1.0 0 0E+999999 -> 0.0
|
| 442 | fmax2558 fma 1.0 -0 0E+999999 -> 0.0
|
| 443 |
|
| 444 | fmax2561 fma 0 -1.0 0E+999999 -> 0.0
|
| 445 | fmax2562 fma -0 -1.0 0E+999999 -> 0.0
|
| 446 | fmax2563 fma 0 1.0 0E+999999 -> 0.0
|
| 447 | fmax2564 fma -0 1.0 0E+999999 -> 0.0
|
| 448 | fmax2565 fma -1 0.0 0E+999999 -> 0.0
|
| 449 | fmax2566 fma -1 -0.0 0E+999999 -> 0.0
|
| 450 | fmax2567 fma 1 0.0 0E+999999 -> 0.0
|
| 451 | fmax2568 fma 1 -0.0 0E+999999 -> 0.0
|
| 452 |
|
| 453 | fmax2571 fma 0.0 -1.0 0E+999999 -> 0.00
|
| 454 | fmax2572 fma -0.0 -1.0 0E+999999 -> 0.00
|
| 455 | fmax2573 fma 0.0 1.0 0E+999999 -> 0.00
|
| 456 | fmax2574 fma -0.0 1.0 0E+999999 -> 0.00
|
| 457 | fmax2575 fma -1.0 0.0 0E+999999 -> 0.00
|
| 458 | fmax2576 fma -1.0 -0.0 0E+999999 -> 0.00
|
| 459 | fmax2577 fma 1.0 0.0 0E+999999 -> 0.00
|
| 460 | fmax2578 fma 1.0 -0.0 0E+999999 -> 0.00
|
| 461 |
|
| 462 |
|
| 463 | -- Specials
|
| 464 | fmax2580 fma Inf -Inf 0E+999999 -> -Infinity
|
| 465 | fmax2581 fma Inf -1000 0E+999999 -> -Infinity
|
| 466 | fmax2582 fma Inf -1 0E+999999 -> -Infinity
|
| 467 | fmax2583 fma Inf -0 0E+999999 -> NaN Invalid_operation
|
| 468 | fmax2584 fma Inf 0 0E+999999 -> NaN Invalid_operation
|
| 469 | fmax2585 fma Inf 1 0E+999999 -> Infinity
|
| 470 | fmax2586 fma Inf 1000 0E+999999 -> Infinity
|
| 471 | fmax2587 fma Inf Inf 0E+999999 -> Infinity
|
| 472 | fmax2588 fma -1000 Inf 0E+999999 -> -Infinity
|
| 473 | fmax2589 fma -Inf Inf 0E+999999 -> -Infinity
|
| 474 | fmax2590 fma -1 Inf 0E+999999 -> -Infinity
|
| 475 | fmax2591 fma -0 Inf 0E+999999 -> NaN Invalid_operation
|
| 476 | fmax2592 fma 0 Inf 0E+999999 -> NaN Invalid_operation
|
| 477 | fmax2593 fma 1 Inf 0E+999999 -> Infinity
|
| 478 | fmax2594 fma 1000 Inf 0E+999999 -> Infinity
|
| 479 | fmax2595 fma Inf Inf 0E+999999 -> Infinity
|
| 480 |
|
| 481 | fmax2600 fma -Inf -Inf 0E+999999 -> Infinity
|
| 482 | fmax2601 fma -Inf -1000 0E+999999 -> Infinity
|
| 483 | fmax2602 fma -Inf -1 0E+999999 -> Infinity
|
| 484 | fmax2603 fma -Inf -0 0E+999999 -> NaN Invalid_operation
|
| 485 | fmax2604 fma -Inf 0 0E+999999 -> NaN Invalid_operation
|
| 486 | fmax2605 fma -Inf 1 0E+999999 -> -Infinity
|
| 487 | fmax2606 fma -Inf 1000 0E+999999 -> -Infinity
|
| 488 | fmax2607 fma -Inf Inf 0E+999999 -> -Infinity
|
| 489 | fmax2608 fma -1000 Inf 0E+999999 -> -Infinity
|
| 490 | fmax2609 fma -Inf -Inf 0E+999999 -> Infinity
|
| 491 | fmax2610 fma -1 -Inf 0E+999999 -> Infinity
|
| 492 | fmax2611 fma -0 -Inf 0E+999999 -> NaN Invalid_operation
|
| 493 | fmax2612 fma 0 -Inf 0E+999999 -> NaN Invalid_operation
|
| 494 | fmax2613 fma 1 -Inf 0E+999999 -> -Infinity
|
| 495 | fmax2614 fma 1000 -Inf 0E+999999 -> -Infinity
|
| 496 | fmax2615 fma Inf -Inf 0E+999999 -> -Infinity
|
| 497 |
|
| 498 | fmax2621 fma NaN -Inf 0E+999999 -> NaN
|
| 499 | fmax2622 fma NaN -1000 0E+999999 -> NaN
|
| 500 | fmax2623 fma NaN -1 0E+999999 -> NaN
|
| 501 | fmax2624 fma NaN -0 0E+999999 -> NaN
|
| 502 | fmax2625 fma NaN 0 0E+999999 -> NaN
|
| 503 | fmax2626 fma NaN 1 0E+999999 -> NaN
|
| 504 | fmax2627 fma NaN 1000 0E+999999 -> NaN
|
| 505 | fmax2628 fma NaN Inf 0E+999999 -> NaN
|
| 506 | fmax2629 fma NaN NaN 0E+999999 -> NaN
|
| 507 | fmax2630 fma -Inf NaN 0E+999999 -> NaN
|
| 508 | fmax2631 fma -1000 NaN 0E+999999 -> NaN
|
| 509 | fmax2632 fma -1 NaN 0E+999999 -> NaN
|
| 510 | fmax2633 fma -0 NaN 0E+999999 -> NaN
|
| 511 | fmax2634 fma 0 NaN 0E+999999 -> NaN
|
| 512 | fmax2635 fma 1 NaN 0E+999999 -> NaN
|
| 513 | fmax2636 fma 1000 NaN 0E+999999 -> NaN
|
| 514 | fmax2637 fma Inf NaN 0E+999999 -> NaN
|
| 515 |
|
| 516 | fmax2641 fma sNaN -Inf 0E+999999 -> NaN Invalid_operation
|
| 517 | fmax2642 fma sNaN -1000 0E+999999 -> NaN Invalid_operation
|
| 518 | fmax2643 fma sNaN -1 0E+999999 -> NaN Invalid_operation
|
| 519 | fmax2644 fma sNaN -0 0E+999999 -> NaN Invalid_operation
|
| 520 | fmax2645 fma sNaN 0 0E+999999 -> NaN Invalid_operation
|
| 521 | fmax2646 fma sNaN 1 0E+999999 -> NaN Invalid_operation
|
| 522 | fmax2647 fma sNaN 1000 0E+999999 -> NaN Invalid_operation
|
| 523 | fmax2648 fma sNaN NaN 0E+999999 -> NaN Invalid_operation
|
| 524 | fmax2649 fma sNaN sNaN 0E+999999 -> NaN Invalid_operation
|
| 525 | fmax2650 fma NaN sNaN 0E+999999 -> NaN Invalid_operation
|
| 526 | fmax2651 fma -Inf sNaN 0E+999999 -> NaN Invalid_operation
|
| 527 | fmax2652 fma -1000 sNaN 0E+999999 -> NaN Invalid_operation
|
| 528 | fmax2653 fma -1 sNaN 0E+999999 -> NaN Invalid_operation
|
| 529 | fmax2654 fma -0 sNaN 0E+999999 -> NaN Invalid_operation
|
| 530 | fmax2655 fma 0 sNaN 0E+999999 -> NaN Invalid_operation
|
| 531 | fmax2656 fma 1 sNaN 0E+999999 -> NaN Invalid_operation
|
| 532 | fmax2657 fma 1000 sNaN 0E+999999 -> NaN Invalid_operation
|
| 533 | fmax2658 fma Inf sNaN 0E+999999 -> NaN Invalid_operation
|
| 534 | fmax2659 fma NaN sNaN 0E+999999 -> NaN Invalid_operation
|
| 535 |
|
| 536 | -- propagating NaNs
|
| 537 | fmax2661 fma NaN9 -Inf 0E+999999 -> NaN9
|
| 538 | fmax2662 fma NaN8 999 0E+999999 -> NaN8
|
| 539 | fmax2663 fma NaN71 Inf 0E+999999 -> NaN71
|
| 540 | fmax2664 fma NaN6 NaN5 0E+999999 -> NaN6
|
| 541 | fmax2665 fma -Inf NaN4 0E+999999 -> NaN4
|
| 542 | fmax2666 fma -999 NaN33 0E+999999 -> NaN33
|
| 543 | fmax2667 fma Inf NaN2 0E+999999 -> NaN2
|
| 544 |
|
| 545 | fmax2671 fma sNaN99 -Inf 0E+999999 -> NaN99 Invalid_operation
|
| 546 | fmax2672 fma sNaN98 -11 0E+999999 -> NaN98 Invalid_operation
|
| 547 | fmax2673 fma sNaN97 NaN 0E+999999 -> NaN97 Invalid_operation
|
| 548 | fmax2674 fma sNaN16 sNaN94 0E+999999 -> NaN16 Invalid_operation
|
| 549 | fmax2675 fma NaN95 sNaN93 0E+999999 -> NaN93 Invalid_operation
|
| 550 | fmax2676 fma -Inf sNaN92 0E+999999 -> NaN92 Invalid_operation
|
| 551 | fmax2677 fma 088 sNaN91 0E+999999 -> NaN91 Invalid_operation
|
| 552 | fmax2678 fma Inf sNaN90 0E+999999 -> NaN90 Invalid_operation
|
| 553 | fmax2679 fma NaN sNaN89 0E+999999 -> NaN89 Invalid_operation
|
| 554 |
|
| 555 | fmax2681 fma -NaN9 -Inf 0E+999999 -> -NaN9
|
| 556 | fmax2682 fma -NaN8 999 0E+999999 -> -NaN8
|
| 557 | fmax2683 fma -NaN71 Inf 0E+999999 -> -NaN71
|
| 558 | fmax2684 fma -NaN6 -NaN5 0E+999999 -> -NaN6
|
| 559 | fmax2685 fma -Inf -NaN4 0E+999999 -> -NaN4
|
| 560 | fmax2686 fma -999 -NaN33 0E+999999 -> -NaN33
|
| 561 | fmax2687 fma Inf -NaN2 0E+999999 -> -NaN2
|
| 562 |
|
| 563 | fmax2691 fma -sNaN99 -Inf 0E+999999 -> -NaN99 Invalid_operation
|
| 564 | fmax2692 fma -sNaN98 -11 0E+999999 -> -NaN98 Invalid_operation
|
| 565 | fmax2693 fma -sNaN97 NaN 0E+999999 -> -NaN97 Invalid_operation
|
| 566 | fmax2694 fma -sNaN16 -sNaN94 0E+999999 -> -NaN16 Invalid_operation
|
| 567 | fmax2695 fma -NaN95 -sNaN93 0E+999999 -> -NaN93 Invalid_operation
|
| 568 | fmax2696 fma -Inf -sNaN92 0E+999999 -> -NaN92 Invalid_operation
|
| 569 | fmax2697 fma 088 -sNaN91 0E+999999 -> -NaN91 Invalid_operation
|
| 570 | fmax2698 fma Inf -sNaN90 0E+999999 -> -NaN90 Invalid_operation
|
| 571 | fmax2699 fma -NaN -sNaN89 0E+999999 -> -NaN89 Invalid_operation
|
| 572 |
|
| 573 | fmax2701 fma -NaN -Inf 0E+999999 -> -NaN
|
| 574 | fmax2702 fma -NaN 999 0E+999999 -> -NaN
|
| 575 | fmax2703 fma -NaN Inf 0E+999999 -> -NaN
|
| 576 | fmax2704 fma -NaN -NaN 0E+999999 -> -NaN
|
| 577 | fmax2705 fma -Inf -NaN0 0E+999999 -> -NaN
|
| 578 | fmax2706 fma -999 -NaN 0E+999999 -> -NaN
|
| 579 | fmax2707 fma Inf -NaN 0E+999999 -> -NaN
|
| 580 |
|
| 581 | fmax2711 fma -sNaN -Inf 0E+999999 -> -NaN Invalid_operation
|
| 582 | fmax2712 fma -sNaN -11 0E+999999 -> -NaN Invalid_operation
|
| 583 | fmax2713 fma -sNaN00 NaN 0E+999999 -> -NaN Invalid_operation
|
| 584 | fmax2714 fma -sNaN -sNaN 0E+999999 -> -NaN Invalid_operation
|
| 585 | fmax2715 fma -NaN -sNaN 0E+999999 -> -NaN Invalid_operation
|
| 586 | fmax2716 fma -Inf -sNaN 0E+999999 -> -NaN Invalid_operation
|
| 587 | fmax2717 fma 088 -sNaN 0E+999999 -> -NaN Invalid_operation
|
| 588 | fmax2718 fma Inf -sNaN 0E+999999 -> -NaN Invalid_operation
|
| 589 | fmax2719 fma -NaN -sNaN 0E+999999 -> -NaN Invalid_operation
|
| 590 |
|
| 591 | -- overflow and underflow tests .. note subnormal results
|
| 592 | maxexponent: 999999
|
| 593 | minexponent: -999999
|
| 594 | fmax2730 fma +1.23456789012345E-0 9E+999999 0E+999999 -> Infinity Inexact Overflow Rounded
|
| 595 | fmax2731 fma 9E+999999 +1.23456789012345E-0 0E+999999 -> Infinity Inexact Overflow Rounded
|
| 596 | fmax2732 fma +0.100 9E-999999 0E+999999 -> 9.00E-1000000 Subnormal
|
| 597 | fmax2733 fma 9E-999999 +0.100 0E+999999 -> 9.00E-1000000 Subnormal
|
| 598 | fmax2735 fma -1.23456789012345E-0 9E+999999 0E+999999 -> -Infinity Inexact Overflow Rounded
|
| 599 | fmax2736 fma 9E+999999 -1.23456789012345E-0 0E+999999 -> -Infinity Inexact Overflow Rounded
|
| 600 | fmax2737 fma -0.100 9E-999999 0E+999999 -> -9.00E-1000000 Subnormal
|
| 601 | fmax2738 fma 9E-999999 -0.100 0E+999999 -> -9.00E-1000000 Subnormal
|
| 602 |
|
| 603 | -- signs
|
| 604 | fmax2751 fma 1e+777777 1e+411111 0E+999999 -> Infinity Overflow Inexact Rounded
|
| 605 | fmax2752 fma 1e+777777 -1e+411111 0E+999999 -> -Infinity Overflow Inexact Rounded
|
| 606 | fmax2753 fma -1e+777777 1e+411111 0E+999999 -> -Infinity Overflow Inexact Rounded
|
| 607 | fmax2754 fma -1e+777777 -1e+411111 0E+999999 -> Infinity Overflow Inexact Rounded
|
| 608 | fmax2755 fma 1e-777777 1e-411111 0E+999999 -> 0E-1000007 Underflow Subnormal Inexact Rounded Clamped
|
| 609 | fmax2756 fma 1e-777777 -1e-411111 0E+999999 -> -0E-1000007 Underflow Subnormal Inexact Rounded Clamped
|
| 610 | fmax2757 fma -1e-777777 1e-411111 0E+999999 -> -0E-1000007 Underflow Subnormal Inexact Rounded Clamped
|
| 611 | fmax2758 fma -1e-777777 -1e-411111 0E+999999 -> 0E-1000007 Underflow Subnormal Inexact Rounded Clamped
|
| 612 |
|
| 613 | -- 'subnormal' boundary (all hard underflow or overflow in base arithemtic)
|
| 614 | precision: 9
|
| 615 | fmax2760 fma 1e-600000 1e-400001 0E+999999 -> 1E-1000001 Subnormal
|
| 616 | fmax2761 fma 1e-600000 1e-400002 0E+999999 -> 1E-1000002 Subnormal
|
| 617 | fmax2762 fma 1e-600000 1e-400003 0E+999999 -> 1E-1000003 Subnormal
|
| 618 | fmax2763 fma 1e-600000 1e-400004 0E+999999 -> 1E-1000004 Subnormal
|
| 619 | fmax2764 fma 1e-600000 1e-400005 0E+999999 -> 1E-1000005 Subnormal
|
| 620 | fmax2765 fma 1e-600000 1e-400006 0E+999999 -> 1E-1000006 Subnormal
|
| 621 | fmax2766 fma 1e-600000 1e-400007 0E+999999 -> 1E-1000007 Subnormal
|
| 622 | fmax2767 fma 1e-600000 1e-400008 0E+999999 -> 0E-1000007 Underflow Subnormal Inexact Rounded Clamped
|
| 623 | fmax2768 fma 1e-600000 1e-400009 0E+999999 -> 0E-1000007 Underflow Subnormal Inexact Rounded Clamped
|
| 624 | fmax2769 fma 1e-600000 1e-400010 0E+999999 -> 0E-1000007 Underflow Subnormal Inexact Rounded Clamped
|
| 625 | -- [no equivalent of 'subnormal' for overflow]
|
| 626 | fmax2770 fma 1e+600000 1e+400001 0E+999999 -> Infinity Overflow Inexact Rounded
|
| 627 | fmax2771 fma 1e+600000 1e+400002 0E+999999 -> Infinity Overflow Inexact Rounded
|
| 628 | fmax2772 fma 1e+600000 1e+400003 0E+999999 -> Infinity Overflow Inexact Rounded
|
| 629 | fmax2773 fma 1e+600000 1e+400004 0E+999999 -> Infinity Overflow Inexact Rounded
|
| 630 | fmax2774 fma 1e+600000 1e+400005 0E+999999 -> Infinity Overflow Inexact Rounded
|
| 631 | fmax2775 fma 1e+600000 1e+400006 0E+999999 -> Infinity Overflow Inexact Rounded
|
| 632 | fmax2776 fma 1e+600000 1e+400007 0E+999999 -> Infinity Overflow Inexact Rounded
|
| 633 | fmax2777 fma 1e+600000 1e+400008 0E+999999 -> Infinity Overflow Inexact Rounded
|
| 634 | fmax2778 fma 1e+600000 1e+400009 0E+999999 -> Infinity Overflow Inexact Rounded
|
| 635 | fmax2779 fma 1e+600000 1e+400010 0E+999999 -> Infinity Overflow Inexact Rounded
|
| 636 |
|
| 637 | -- 'subnormal' test edge condition at higher precisions
|
| 638 | precision: 99
|
| 639 | fmax2780 fma 1e-600000 1e-400007 0E+999999 -> 1E-1000007 Subnormal
|
| 640 | fmax2781 fma 1e-600000 1e-400008 0E+999999 -> 1E-1000008 Subnormal
|
| 641 | fmax2782 fma 1e-600000 1e-400097 0E+999999 -> 1E-1000097 Subnormal
|
| 642 | fmax2783 fma 1e-600000 1e-400098 0E+999999 -> 0E-1000097 Underflow Subnormal Inexact Rounded Clamped
|
| 643 | precision: 999
|
| 644 | fmax2784 fma 1e-600000 1e-400997 0E+999999 -> 1E-1000997 Subnormal
|
| 645 | fmax2785 fma 1e-600000 1e-400998 0E+999999 -> 0E-1000997 Underflow Subnormal Inexact Rounded Clamped
|
| 646 |
|
| 647 | -- test subnormals rounding
|
| 648 | precision: 5
|
| 649 | maxExponent: 999
|
| 650 | minexponent: -999
|
| 651 | rounding: half_even
|
| 652 |
|
| 653 | fmax2801 fma 1.0000E-999 1 0E+999999 -> 1.0000E-999
|
| 654 | fmax2802 fma 1.000E-999 1e-1 0E+999999 -> 1.000E-1000 Subnormal
|
| 655 | fmax2803 fma 1.00E-999 1e-2 0E+999999 -> 1.00E-1001 Subnormal
|
| 656 | fmax2804 fma 1.0E-999 1e-3 0E+999999 -> 1.0E-1002 Subnormal
|
| 657 | fmax2805 fma 1.0E-999 1e-4 0E+999999 -> 1E-1003 Subnormal Rounded
|
| 658 | fmax2806 fma 1.3E-999 1e-4 0E+999999 -> 1E-1003 Underflow Subnormal Inexact Rounded
|
| 659 | fmax2807 fma 1.5E-999 1e-4 0E+999999 -> 2E-1003 Underflow Subnormal Inexact Rounded
|
| 660 | fmax2808 fma 1.7E-999 1e-4 0E+999999 -> 2E-1003 Underflow Subnormal Inexact Rounded
|
| 661 | fmax2809 fma 2.3E-999 1e-4 0E+999999 -> 2E-1003 Underflow Subnormal Inexact Rounded
|
| 662 | fmax2810 fma 2.5E-999 1e-4 0E+999999 -> 2E-1003 Underflow Subnormal Inexact Rounded
|
| 663 | fmax2811 fma 2.7E-999 1e-4 0E+999999 -> 3E-1003 Underflow Subnormal Inexact Rounded
|
| 664 | fmax2812 fma 1.49E-999 1e-4 0E+999999 -> 1E-1003 Underflow Subnormal Inexact Rounded
|
| 665 | fmax2813 fma 1.50E-999 1e-4 0E+999999 -> 2E-1003 Underflow Subnormal Inexact Rounded
|
| 666 | fmax2814 fma 1.51E-999 1e-4 0E+999999 -> 2E-1003 Underflow Subnormal Inexact Rounded
|
| 667 | fmax2815 fma 2.49E-999 1e-4 0E+999999 -> 2E-1003 Underflow Subnormal Inexact Rounded
|
| 668 | fmax2816 fma 2.50E-999 1e-4 0E+999999 -> 2E-1003 Underflow Subnormal Inexact Rounded
|
| 669 | fmax2817 fma 2.51E-999 1e-4 0E+999999 -> 3E-1003 Underflow Subnormal Inexact Rounded
|
| 670 |
|
| 671 | fmax2818 fma 1E-999 1e-4 0E+999999 -> 1E-1003 Subnormal
|
| 672 | fmax2819 fma 3E-999 1e-5 0E+999999 -> 0E-1003 Underflow Subnormal Inexact Rounded Clamped
|
| 673 | fmax2820 fma 5E-999 1e-5 0E+999999 -> 0E-1003 Underflow Subnormal Inexact Rounded Clamped
|
| 674 | fmax2821 fma 7E-999 1e-5 0E+999999 -> 1E-1003 Underflow Subnormal Inexact Rounded
|
| 675 | fmax2822 fma 9E-999 1e-5 0E+999999 -> 1E-1003 Underflow Subnormal Inexact Rounded
|
| 676 | fmax2823 fma 9.9E-999 1e-5 0E+999999 -> 1E-1003 Underflow Subnormal Inexact Rounded
|
| 677 |
|
| 678 | fmax2824 fma 1E-999 -1e-4 0E+999999 -> -1E-1003 Subnormal
|
| 679 | fmax2825 fma 3E-999 -1e-5 0E+999999 -> -0E-1003 Underflow Subnormal Inexact Rounded Clamped
|
| 680 | fmax2826 fma -5E-999 1e-5 0E+999999 -> -0E-1003 Underflow Subnormal Inexact Rounded Clamped
|
| 681 | fmax2827 fma 7E-999 -1e-5 0E+999999 -> -1E-1003 Underflow Subnormal Inexact Rounded
|
| 682 | fmax2828 fma -9E-999 1e-5 0E+999999 -> -1E-1003 Underflow Subnormal Inexact Rounded
|
| 683 | fmax2829 fma 9.9E-999 -1e-5 0E+999999 -> -1E-1003 Underflow Subnormal Inexact Rounded
|
| 684 | fmax2830 fma 3.0E-999 -1e-5 0E+999999 -> -0E-1003 Underflow Subnormal Inexact Rounded Clamped
|
| 685 |
|
| 686 | fmax2831 fma 1.0E-501 1e-501 0E+999999 -> 1.0E-1002 Subnormal
|
| 687 | fmax2832 fma 2.0E-501 2e-501 0E+999999 -> 4.0E-1002 Subnormal
|
| 688 | fmax2833 fma 4.0E-501 4e-501 0E+999999 -> 1.60E-1001 Subnormal
|
| 689 | fmax2834 fma 10.0E-501 10e-501 0E+999999 -> 1.000E-1000 Subnormal
|
| 690 | fmax2835 fma 30.0E-501 30e-501 0E+999999 -> 9.000E-1000 Subnormal
|
| 691 | fmax2836 fma 40.0E-501 40e-501 0E+999999 -> 1.6000E-999
|
| 692 |
|
| 693 | -- squares
|
| 694 | fmax2840 fma 1E-502 1e-502 0E+999999 -> 0E-1003 Underflow Subnormal Inexact Rounded Clamped
|
| 695 | fmax2841 fma 1E-501 1e-501 0E+999999 -> 1E-1002 Subnormal
|
| 696 | fmax2842 fma 2E-501 2e-501 0E+999999 -> 4E-1002 Subnormal
|
| 697 | fmax2843 fma 4E-501 4e-501 0E+999999 -> 1.6E-1001 Subnormal
|
| 698 | fmax2844 fma 10E-501 10e-501 0E+999999 -> 1.00E-1000 Subnormal
|
| 699 | fmax2845 fma 30E-501 30e-501 0E+999999 -> 9.00E-1000 Subnormal
|
| 700 | fmax2846 fma 40E-501 40e-501 0E+999999 -> 1.600E-999
|
| 701 |
|
| 702 | -- cubes
|
| 703 | fmax2850 fma 1E-670 1e-335 0E+999999 -> 0E-1003 Underflow Subnormal Inexact Rounded Clamped
|
| 704 | fmax2851 fma 1E-668 1e-334 0E+999999 -> 1E-1002 Subnormal
|
| 705 | fmax2852 fma 4E-668 2e-334 0E+999999 -> 8E-1002 Subnormal
|
| 706 | fmax2853 fma 9E-668 3e-334 0E+999999 -> 2.7E-1001 Subnormal
|
| 707 | fmax2854 fma 16E-668 4e-334 0E+999999 -> 6.4E-1001 Subnormal
|
| 708 | fmax2855 fma 25E-668 5e-334 0E+999999 -> 1.25E-1000 Subnormal
|
| 709 | fmax2856 fma 10E-668 100e-334 0E+999999 -> 1.000E-999
|
| 710 |
|
| 711 | -- test derived from result of 0.099 ** 999 at 15 digits with unlimited exponent
|
| 712 | precision: 19
|
| 713 | fmax2860 fma 6636851557994578716E-520 6636851557994578716E-520 0E+999999 -> 4.40477986028551E-1003 Underflow Subnormal Inexact Rounded
|
| 714 |
|
| 715 | -- Long operand overflow may be a different path
|
| 716 | precision: 3
|
| 717 | maxExponent: 999999
|
| 718 | minexponent: -999999
|
| 719 | fmax2870 fma 1 9.999E+999999 0E+999999 -> Infinity Inexact Overflow Rounded
|
| 720 | fmax2871 fma 1 -9.999E+999999 0E+999999 -> -Infinity Inexact Overflow Rounded
|
| 721 | fmax2872 fma 9.999E+999999 1 0E+999999 -> Infinity Inexact Overflow Rounded
|
| 722 | fmax2873 fma -9.999E+999999 1 0E+999999 -> -Infinity Inexact Overflow Rounded
|
| 723 |
|
| 724 | -- check for double-rounded subnormals
|
| 725 | precision: 5
|
| 726 | maxexponent: 79
|
| 727 | minexponent: -79
|
| 728 | fmax2881 fma 1.2347E-40 1.2347E-40 0E+999999 -> 1.524E-80 Inexact Rounded Subnormal Underflow
|
| 729 | fmax2882 fma 1.234E-40 1.234E-40 0E+999999 -> 1.523E-80 Inexact Rounded Subnormal Underflow
|
| 730 | fmax2883 fma 1.23E-40 1.23E-40 0E+999999 -> 1.513E-80 Inexact Rounded Subnormal Underflow
|
| 731 | fmax2884 fma 1.2E-40 1.2E-40 0E+999999 -> 1.44E-80 Subnormal
|
| 732 | fmax2885 fma 1.2E-40 1.2E-41 0E+999999 -> 1.44E-81 Subnormal
|
| 733 | fmax2886 fma 1.2E-40 1.2E-42 0E+999999 -> 1.4E-82 Subnormal Inexact Rounded Underflow
|
| 734 | fmax2887 fma 1.2E-40 1.3E-42 0E+999999 -> 1.6E-82 Subnormal Inexact Rounded Underflow
|
| 735 | fmax2888 fma 1.3E-40 1.3E-42 0E+999999 -> 1.7E-82 Subnormal Inexact Rounded Underflow
|
| 736 | fmax2889 fma 1.3E-40 1.3E-43 0E+999999 -> 2E-83 Subnormal Inexact Rounded Underflow
|
| 737 | fmax2890 fma 1.3E-41 1.3E-43 0E+999999 -> 0E-83 Clamped Subnormal Inexact Rounded Underflow
|
| 738 |
|
| 739 | fmax2891 fma 1.2345E-39 1.234E-40 0E+999999 -> 1.5234E-79 Inexact Rounded
|
| 740 | fmax2892 fma 1.23456E-39 1.234E-40 0E+999999 -> 1.5234E-79 Inexact Rounded
|
| 741 | fmax2893 fma 1.2345E-40 1.234E-40 0E+999999 -> 1.523E-80 Inexact Rounded Subnormal Underflow
|
| 742 | fmax2894 fma 1.23456E-40 1.234E-40 0E+999999 -> 1.523E-80 Inexact Rounded Subnormal Underflow
|
| 743 | fmax2895 fma 1.2345E-41 1.234E-40 0E+999999 -> 1.52E-81 Inexact Rounded Subnormal Underflow
|
| 744 | fmax2896 fma 1.23456E-41 1.234E-40 0E+999999 -> 1.52E-81 Inexact Rounded Subnormal Underflow
|
| 745 |
|
| 746 | -- Now explore the case where we get a normal result with Underflow
|
| 747 | precision: 16
|
| 748 | rounding: half_up
|
| 749 | maxExponent: 384
|
| 750 | minExponent: -383
|
| 751 |
|
| 752 | fmax2900 fma 0.3000000000E-191 0.3000000000E-191 0E+999999 -> 9.00000000000000E-384 Subnormal Rounded
|
| 753 | fmax2901 fma 0.3000000001E-191 0.3000000001E-191 0E+999999 -> 9.00000000600000E-384 Underflow Inexact Subnormal Rounded
|
| 754 | fmax2902 fma 9.999999999999999E-383 0.0999999999999 0E+999999 -> 9.99999999999000E-384 Underflow Inexact Subnormal Rounded
|
| 755 | fmax2903 fma 9.999999999999999E-383 0.09999999999999 0E+999999 -> 9.99999999999900E-384 Underflow Inexact Subnormal Rounded
|
| 756 | fmax2904 fma 9.999999999999999E-383 0.099999999999999 0E+999999 -> 9.99999999999990E-384 Underflow Inexact Subnormal Rounded
|
| 757 | fmax2905 fma 9.999999999999999E-383 0.0999999999999999 0E+999999 -> 9.99999999999999E-384 Underflow Inexact Subnormal Rounded
|
| 758 | -- prove operands are exact
|
| 759 | fmax2906 fma 9.999999999999999E-383 1 0E+999999 -> 9.999999999999999E-383
|
| 760 | fmax2907 fma 1 0.09999999999999999 0E+999999 -> 0.09999999999999999
|
| 761 | -- the next rounds to Nmin
|
| 762 | fmax2908 fma 9.999999999999999E-383 0.09999999999999999 0E+999999 -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded
|
| 763 | fmax2909 fma 9.999999999999999E-383 0.099999999999999999 0E+999999 -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded
|
| 764 | fmax2910 fma 9.999999999999999E-383 0.0999999999999999999 0E+999999 -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded
|
| 765 | fmax2911 fma 9.999999999999999E-383 0.09999999999999999999 0E+999999 -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded
|
| 766 |
|
| 767 | -- Examples from SQL proposal (Krishna Kulkarni)
|
| 768 | precision: 34
|
| 769 | rounding: half_up
|
| 770 | maxExponent: 6144
|
| 771 | minExponent: -6143
|
| 772 | fmax2921 fma 130E-2 120E-2 0E+999999 -> 1.5600
|
| 773 | fmax2922 fma 130E-2 12E-1 0E+999999 -> 1.560
|
| 774 | fmax2923 fma 130E-2 1E0 0E+999999 -> 1.30
|
| 775 |
|
| 776 | -- Null tests
|
| 777 | fmax2990 fma # 10 0E+999999 -> NaN Invalid_operation
|
| 778 | fmax2991 fma 10 # 0E+999999 -> NaN Invalid_operation
|
| 779 |
|
| 780 | -- ADDITION TESTS ------------------------------------------------------
|
| 781 | precision: 9
|
| 782 | rounding: half_up
|
| 783 | maxExponent: 384
|
| 784 | minexponent: -383
|
| 785 |
|
| 786 | -- [first group are 'quick confidence check']
|
| 787 | fmax3001 fma 1 1 1 -> 2
|
| 788 | fmax3002 fma 1 2 3 -> 5
|
| 789 | fmax3003 fma 1 '5.75' '3.3' -> 9.05
|
| 790 | fmax3004 fma 1 '5' '-3' -> 2
|
| 791 | fmax3005 fma 1 '-5' '-3' -> -8
|
| 792 | fmax3006 fma 1 '-7' '2.5' -> -4.5
|
| 793 | fmax3007 fma 1 '0.7' '0.3' -> 1.0
|
| 794 | fmax3008 fma 1 '1.25' '1.25' -> 2.50
|
| 795 | fmax3009 fma 1 '1.23456789' '1.00000000' -> '2.23456789'
|
| 796 | fmax3010 fma 1 '1.23456789' '1.00000011' -> '2.23456800'
|
| 797 |
|
| 798 | fmax3011 fma 1 '0.4444444444' '0.5555555555' -> '1.00000000' Inexact Rounded
|
| 799 | fmax3012 fma 1 '0.4444444440' '0.5555555555' -> '1.00000000' Inexact Rounded
|
| 800 | fmax3013 fma 1 '0.4444444444' '0.5555555550' -> '0.999999999' Inexact Rounded
|
| 801 | fmax3014 fma 1 '0.44444444449' '0' -> '0.444444444' Inexact Rounded
|
| 802 | fmax3015 fma 1 '0.444444444499' '0' -> '0.444444444' Inexact Rounded
|
| 803 | fmax3016 fma 1 '0.4444444444999' '0' -> '0.444444444' Inexact Rounded
|
| 804 | fmax3017 fma 1 '0.4444444445000' '0' -> '0.444444445' Inexact Rounded
|
| 805 | fmax3018 fma 1 '0.4444444445001' '0' -> '0.444444445' Inexact Rounded
|
| 806 | fmax3019 fma 1 '0.444444444501' '0' -> '0.444444445' Inexact Rounded
|
| 807 | fmax3020 fma 1 '0.44444444451' '0' -> '0.444444445' Inexact Rounded
|
| 808 |
|
| 809 | fmax3021 fma 1 0 1 -> 1
|
| 810 | fmax3022 fma 1 1 1 -> 2
|
| 811 | fmax3023 fma 1 2 1 -> 3
|
| 812 | fmax3024 fma 1 3 1 -> 4
|
| 813 | fmax3025 fma 1 4 1 -> 5
|
| 814 | fmax3026 fma 1 5 1 -> 6
|
| 815 | fmax3027 fma 1 6 1 -> 7
|
| 816 | fmax3028 fma 1 7 1 -> 8
|
| 817 | fmax3029 fma 1 8 1 -> 9
|
| 818 | fmax3030 fma 1 9 1 -> 10
|
| 819 |
|
| 820 | -- some carrying effects
|
| 821 | fmax3031 fma 1 '0.9998' '0.0000' -> '0.9998'
|
| 822 | fmax3032 fma 1 '0.9998' '0.0001' -> '0.9999'
|
| 823 | fmax3033 fma 1 '0.9998' '0.0002' -> '1.0000'
|
| 824 | fmax3034 fma 1 '0.9998' '0.0003' -> '1.0001'
|
| 825 |
|
| 826 | fmax3035 fma 1 '70' '10000e+9' -> '1.00000000E+13' Inexact Rounded
|
| 827 | fmax3036 fma 1 '700' '10000e+9' -> '1.00000000E+13' Inexact Rounded
|
| 828 | fmax3037 fma 1 '7000' '10000e+9' -> '1.00000000E+13' Inexact Rounded
|
| 829 | fmax3038 fma 1 '70000' '10000e+9' -> '1.00000001E+13' Inexact Rounded
|
| 830 | fmax3039 fma 1 '700000' '10000e+9' -> '1.00000007E+13' Rounded
|
| 831 |
|
| 832 | -- symmetry:
|
| 833 | fmax3040 fma 1 '10000e+9' '70' -> '1.00000000E+13' Inexact Rounded
|
| 834 | fmax3041 fma 1 '10000e+9' '700' -> '1.00000000E+13' Inexact Rounded
|
| 835 | fmax3042 fma 1 '10000e+9' '7000' -> '1.00000000E+13' Inexact Rounded
|
| 836 | fmax3044 fma 1 '10000e+9' '70000' -> '1.00000001E+13' Inexact Rounded
|
| 837 | fmax3045 fma 1 '10000e+9' '700000' -> '1.00000007E+13' Rounded
|
| 838 |
|
| 839 | -- same, higher precision
|
| 840 | precision: 15
|
| 841 | fmax3046 fma 1 '10000e+9' '7' -> '10000000000007'
|
| 842 | fmax3047 fma 1 '10000e+9' '70' -> '10000000000070'
|
| 843 | fmax3048 fma 1 '10000e+9' '700' -> '10000000000700'
|
| 844 | fmax3049 fma 1 '10000e+9' '7000' -> '10000000007000'
|
| 845 | fmax3050 fma 1 '10000e+9' '70000' -> '10000000070000'
|
| 846 | fmax3051 fma 1 '10000e+9' '700000' -> '10000000700000'
|
| 847 | fmax3052 fma 1 '10000e+9' '7000000' -> '10000007000000'
|
| 848 |
|
| 849 | -- examples from decarith
|
| 850 | fmax3053 fma 1 '12' '7.00' -> '19.00'
|
| 851 | fmax3054 fma 1 '1.3' '-1.07' -> '0.23'
|
| 852 | fmax3055 fma 1 '1.3' '-1.30' -> '0.00'
|
| 853 | fmax3056 fma 1 '1.3' '-2.07' -> '-0.77'
|
| 854 | fmax3057 fma 1 '1E+2' '1E+4' -> '1.01E+4'
|
| 855 |
|
| 856 | -- zero preservation
|
| 857 | precision: 6
|
| 858 | fmax3060 fma 1 '10000e+9' '70000' -> '1.00000E+13' Inexact Rounded
|
| 859 | fmax3061 fma 1 1 '0.0001' -> '1.0001'
|
| 860 | fmax3062 fma 1 1 '0.00001' -> '1.00001'
|
| 861 | fmax3063 fma 1 1 '0.000001' -> '1.00000' Inexact Rounded
|
| 862 | fmax3064 fma 1 1 '0.0000001' -> '1.00000' Inexact Rounded
|
| 863 | fmax3065 fma 1 1 '0.00000001' -> '1.00000' Inexact Rounded
|
| 864 |
|
| 865 | -- some funny zeros [in case of bad signum]
|
| 866 | fmax3070 fma 1 1 0 -> 1
|
| 867 | fmax3071 fma 1 1 0. -> 1
|
| 868 | fmax3072 fma 1 1 .0 -> 1.0
|
| 869 | fmax3073 fma 1 1 0.0 -> 1.0
|
| 870 | fmax3074 fma 1 1 0.00 -> 1.00
|
| 871 | fmax3075 fma 1 0 1 -> 1
|
| 872 | fmax3076 fma 1 0. 1 -> 1
|
| 873 | fmax3077 fma 1 .0 1 -> 1.0
|
| 874 | fmax3078 fma 1 0.0 1 -> 1.0
|
| 875 | fmax3079 fma 1 0.00 1 -> 1.00
|
| 876 |
|
| 877 | precision: 9
|
| 878 |
|
| 879 | -- some carries
|
| 880 | fmax3080 fma 1 999999998 1 -> 999999999
|
| 881 | fmax3081 fma 1 999999999 1 -> 1.00000000E+9 Rounded
|
| 882 | fmax3082 fma 1 99999999 1 -> 100000000
|
| 883 | fmax3083 fma 1 9999999 1 -> 10000000
|
| 884 | fmax3084 fma 1 999999 1 -> 1000000
|
| 885 | fmax3085 fma 1 99999 1 -> 100000
|
| 886 | fmax3086 fma 1 9999 1 -> 10000
|
| 887 | fmax3087 fma 1 999 1 -> 1000
|
| 888 | fmax3088 fma 1 99 1 -> 100
|
| 889 | fmax3089 fma 1 9 1 -> 10
|
| 890 |
|
| 891 |
|
| 892 | -- more LHS swaps
|
| 893 | fmax3090 fma 1 '-56267E-10' 0 -> '-0.0000056267'
|
| 894 | fmax3091 fma 1 '-56267E-6' 0 -> '-0.056267'
|
| 895 | fmax3092 fma 1 '-56267E-5' 0 -> '-0.56267'
|
| 896 | fmax3093 fma 1 '-56267E-4' 0 -> '-5.6267'
|
| 897 | fmax3094 fma 1 '-56267E-3' 0 -> '-56.267'
|
| 898 | fmax3095 fma 1 '-56267E-2' 0 -> '-562.67'
|
| 899 | fmax3096 fma 1 '-56267E-1' 0 -> '-5626.7'
|
| 900 | fmax3097 fma 1 '-56267E-0' 0 -> '-56267'
|
| 901 | fmax3098 fma 1 '-5E-10' 0 -> '-5E-10'
|
| 902 | fmax3099 fma 1 '-5E-7' 0 -> '-5E-7'
|
| 903 | fmax3100 fma 1 '-5E-6' 0 -> '-0.000005'
|
| 904 | fmax3101 fma 1 '-5E-5' 0 -> '-0.00005'
|
| 905 | fmax3102 fma 1 '-5E-4' 0 -> '-0.0005'
|
| 906 | fmax3103 fma 1 '-5E-1' 0 -> '-0.5'
|
| 907 | fmax3104 fma 1 '-5E0' 0 -> '-5'
|
| 908 | fmax3105 fma 1 '-5E1' 0 -> '-50'
|
| 909 | fmax3106 fma 1 '-5E5' 0 -> '-500000'
|
| 910 | fmax3107 fma 1 '-5E8' 0 -> '-500000000'
|
| 911 | fmax3108 fma 1 '-5E9' 0 -> '-5.00000000E+9' Rounded
|
| 912 | fmax3109 fma 1 '-5E10' 0 -> '-5.00000000E+10' Rounded
|
| 913 | fmax3110 fma 1 '-5E11' 0 -> '-5.00000000E+11' Rounded
|
| 914 | fmax3111 fma 1 '-5E100' 0 -> '-5.00000000E+100' Rounded
|
| 915 |
|
| 916 | -- more RHS swaps
|
| 917 | fmax3113 fma 1 0 '-56267E-10' -> '-0.0000056267'
|
| 918 | fmax3114 fma 1 0 '-56267E-6' -> '-0.056267'
|
| 919 | fmax3116 fma 1 0 '-56267E-5' -> '-0.56267'
|
| 920 | fmax3117 fma 1 0 '-56267E-4' -> '-5.6267'
|
| 921 | fmax3119 fma 1 0 '-56267E-3' -> '-56.267'
|
| 922 | fmax3120 fma 1 0 '-56267E-2' -> '-562.67'
|
| 923 | fmax3121 fma 1 0 '-56267E-1' -> '-5626.7'
|
| 924 | fmax3122 fma 1 0 '-56267E-0' -> '-56267'
|
| 925 | fmax3123 fma 1 0 '-5E-10' -> '-5E-10'
|
| 926 | fmax3124 fma 1 0 '-5E-7' -> '-5E-7'
|
| 927 | fmax3125 fma 1 0 '-5E-6' -> '-0.000005'
|
| 928 | fmax3126 fma 1 0 '-5E-5' -> '-0.00005'
|
| 929 | fmax3127 fma 1 0 '-5E-4' -> '-0.0005'
|
| 930 | fmax3128 fma 1 0 '-5E-1' -> '-0.5'
|
| 931 | fmax3129 fma 1 0 '-5E0' -> '-5'
|
| 932 | fmax3130 fma 1 0 '-5E1' -> '-50'
|
| 933 | fmax3131 fma 1 0 '-5E5' -> '-500000'
|
| 934 | fmax3132 fma 1 0 '-5E8' -> '-500000000'
|
| 935 | fmax3133 fma 1 0 '-5E9' -> '-5.00000000E+9' Rounded
|
| 936 | fmax3134 fma 1 0 '-5E10' -> '-5.00000000E+10' Rounded
|
| 937 | fmax3135 fma 1 0 '-5E11' -> '-5.00000000E+11' Rounded
|
| 938 | fmax3136 fma 1 0 '-5E100' -> '-5.00000000E+100' Rounded
|
| 939 |
|
| 940 | -- related
|
| 941 | fmax3137 fma 1 1 '0E-12' -> '1.00000000' Rounded
|
| 942 | fmax3138 fma 1 -1 '0E-12' -> '-1.00000000' Rounded
|
| 943 | fmax3139 fma 1 '0E-12' 1 -> '1.00000000' Rounded
|
| 944 | fmax3140 fma 1 '0E-12' -1 -> '-1.00000000' Rounded
|
| 945 | fmax3141 fma 1 1E+4 0.0000 -> '10000.0000'
|
| 946 | fmax3142 fma 1 1E+4 0.00000 -> '10000.0000' Rounded
|
| 947 | fmax3143 fma 1 0.000 1E+5 -> '100000.000'
|
| 948 | fmax3144 fma 1 0.0000 1E+5 -> '100000.000' Rounded
|
| 949 |
|
| 950 | -- [some of the next group are really constructor tests]
|
| 951 | fmax3146 fma 1 '00.0' 0 -> '0.0'
|
| 952 | fmax3147 fma 1 '0.00' 0 -> '0.00'
|
| 953 | fmax3148 fma 1 0 '0.00' -> '0.00'
|
| 954 | fmax3149 fma 1 0 '00.0' -> '0.0'
|
| 955 | fmax3150 fma 1 '00.0' '0.00' -> '0.00'
|
| 956 | fmax3151 fma 1 '0.00' '00.0' -> '0.00'
|
| 957 | fmax3152 fma 1 '3' '.3' -> '3.3'
|
| 958 | fmax3153 fma 1 '3.' '.3' -> '3.3'
|
| 959 | fmax3154 fma 1 '3.0' '.3' -> '3.3'
|
| 960 | fmax3155 fma 1 '3.00' '.3' -> '3.30'
|
| 961 | fmax3156 fma 1 '3' '3' -> '6'
|
| 962 | fmax3157 fma 1 '3' '+3' -> '6'
|
| 963 | fmax3158 fma 1 '3' '-3' -> '0'
|
| 964 | fmax3159 fma 1 '0.3' '-0.3' -> '0.0'
|
| 965 | fmax3160 fma 1 '0.03' '-0.03' -> '0.00'
|
| 966 |
|
| 967 | -- try borderline precision, with carries, etc.
|
| 968 | precision: 15
|
| 969 | fmax3161 fma 1 '1E+12' '-1' -> '999999999999'
|
| 970 | fmax3162 fma 1 '1E+12' '1.11' -> '1000000000001.11'
|
| 971 | fmax3163 fma 1 '1.11' '1E+12' -> '1000000000001.11'
|
| 972 | fmax3164 fma 1 '-1' '1E+12' -> '999999999999'
|
| 973 | fmax3165 fma 1 '7E+12' '-1' -> '6999999999999'
|
| 974 | fmax3166 fma 1 '7E+12' '1.11' -> '7000000000001.11'
|
| 975 | fmax3167 fma 1 '1.11' '7E+12' -> '7000000000001.11'
|
| 976 | fmax3168 fma 1 '-1' '7E+12' -> '6999999999999'
|
| 977 |
|
| 978 | -- 123456789012345 123456789012345 1 23456789012345
|
| 979 | fmax3170 fma 1 '0.444444444444444' '0.555555555555563' -> '1.00000000000001' Inexact Rounded
|
| 980 | fmax3171 fma 1 '0.444444444444444' '0.555555555555562' -> '1.00000000000001' Inexact Rounded
|
| 981 | fmax3172 fma 1 '0.444444444444444' '0.555555555555561' -> '1.00000000000001' Inexact Rounded
|
| 982 | fmax3173 fma 1 '0.444444444444444' '0.555555555555560' -> '1.00000000000000' Inexact Rounded
|
| 983 | fmax3174 fma 1 '0.444444444444444' '0.555555555555559' -> '1.00000000000000' Inexact Rounded
|
| 984 | fmax3175 fma 1 '0.444444444444444' '0.555555555555558' -> '1.00000000000000' Inexact Rounded
|
| 985 | fmax3176 fma 1 '0.444444444444444' '0.555555555555557' -> '1.00000000000000' Inexact Rounded
|
| 986 | fmax3177 fma 1 '0.444444444444444' '0.555555555555556' -> '1.00000000000000' Rounded
|
| 987 | fmax3178 fma 1 '0.444444444444444' '0.555555555555555' -> '0.999999999999999'
|
| 988 | fmax3179 fma 1 '0.444444444444444' '0.555555555555554' -> '0.999999999999998'
|
| 989 | fmax3180 fma 1 '0.444444444444444' '0.555555555555553' -> '0.999999999999997'
|
| 990 | fmax3181 fma 1 '0.444444444444444' '0.555555555555552' -> '0.999999999999996'
|
| 991 | fmax3182 fma 1 '0.444444444444444' '0.555555555555551' -> '0.999999999999995'
|
| 992 | fmax3183 fma 1 '0.444444444444444' '0.555555555555550' -> '0.999999999999994'
|
| 993 |
|
| 994 | -- and some more, including residue effects and different roundings
|
| 995 | precision: 9
|
| 996 | rounding: half_up
|
| 997 | fmax3200 fma 1 '123456789' 0 -> '123456789'
|
| 998 | fmax3201 fma 1 '123456789' 0.000000001 -> '123456789' Inexact Rounded
|
| 999 | fmax3202 fma 1 '123456789' 0.000001 -> '123456789' Inexact Rounded
|
| 1000 | fmax3203 fma 1 '123456789' 0.1 -> '123456789' Inexact Rounded
|
| 1001 | fmax3204 fma 1 '123456789' 0.4 -> '123456789' Inexact Rounded
|
| 1002 | fmax3205 fma 1 '123456789' 0.49 -> '123456789' Inexact Rounded
|
| 1003 | fmax3206 fma 1 '123456789' 0.499999 -> '123456789' Inexact Rounded
|
| 1004 | fmax3207 fma 1 '123456789' 0.499999999 -> '123456789' Inexact Rounded
|
| 1005 | fmax3208 fma 1 '123456789' 0.5 -> '123456790' Inexact Rounded
|
| 1006 | fmax3209 fma 1 '123456789' 0.500000001 -> '123456790' Inexact Rounded
|
| 1007 | fmax3210 fma 1 '123456789' 0.500001 -> '123456790' Inexact Rounded
|
| 1008 | fmax3211 fma 1 '123456789' 0.51 -> '123456790' Inexact Rounded
|
| 1009 | fmax3212 fma 1 '123456789' 0.6 -> '123456790' Inexact Rounded
|
| 1010 | fmax3213 fma 1 '123456789' 0.9 -> '123456790' Inexact Rounded
|
| 1011 | fmax3214 fma 1 '123456789' 0.99999 -> '123456790' Inexact Rounded
|
| 1012 | fmax3215 fma 1 '123456789' 0.999999999 -> '123456790' Inexact Rounded
|
| 1013 | fmax3216 fma 1 '123456789' 1 -> '123456790'
|
| 1014 | fmax3217 fma 1 '123456789' 1.000000001 -> '123456790' Inexact Rounded
|
| 1015 | fmax3218 fma 1 '123456789' 1.00001 -> '123456790' Inexact Rounded
|
| 1016 | fmax3219 fma 1 '123456789' 1.1 -> '123456790' Inexact Rounded
|
| 1017 |
|
| 1018 | rounding: half_even
|
| 1019 | fmax3220 fma 1 '123456789' 0 -> '123456789'
|
| 1020 | fmax3221 fma 1 '123456789' 0.000000001 -> '123456789' Inexact Rounded
|
| 1021 | fmax3222 fma 1 '123456789' 0.000001 -> '123456789' Inexact Rounded
|
| 1022 | fmax3223 fma 1 '123456789' 0.1 -> '123456789' Inexact Rounded
|
| 1023 | fmax3224 fma 1 '123456789' 0.4 -> '123456789' Inexact Rounded
|
| 1024 | fmax3225 fma 1 '123456789' 0.49 -> '123456789' Inexact Rounded
|
| 1025 | fmax3226 fma 1 '123456789' 0.499999 -> '123456789' Inexact Rounded
|
| 1026 | fmax3227 fma 1 '123456789' 0.499999999 -> '123456789' Inexact Rounded
|
| 1027 | fmax3228 fma 1 '123456789' 0.5 -> '123456790' Inexact Rounded
|
| 1028 | fmax3229 fma 1 '123456789' 0.500000001 -> '123456790' Inexact Rounded
|
| 1029 | fmax3230 fma 1 '123456789' 0.500001 -> '123456790' Inexact Rounded
|
| 1030 | fmax3231 fma 1 '123456789' 0.51 -> '123456790' Inexact Rounded
|
| 1031 | fmax3232 fma 1 '123456789' 0.6 -> '123456790' Inexact Rounded
|
| 1032 | fmax3233 fma 1 '123456789' 0.9 -> '123456790' Inexact Rounded
|
| 1033 | fmax3234 fma 1 '123456789' 0.99999 -> '123456790' Inexact Rounded
|
| 1034 | fmax3235 fma 1 '123456789' 0.999999999 -> '123456790' Inexact Rounded
|
| 1035 | fmax3236 fma 1 '123456789' 1 -> '123456790'
|
| 1036 | fmax3237 fma 1 '123456789' 1.00000001 -> '123456790' Inexact Rounded
|
| 1037 | fmax3238 fma 1 '123456789' 1.00001 -> '123456790' Inexact Rounded
|
| 1038 | fmax3239 fma 1 '123456789' 1.1 -> '123456790' Inexact Rounded
|
| 1039 | -- critical few with even bottom digit...
|
| 1040 | fmax3240 fma 1 '123456788' 0.499999999 -> '123456788' Inexact Rounded
|
| 1041 | fmax3241 fma 1 '123456788' 0.5 -> '123456788' Inexact Rounded
|
| 1042 | fmax3242 fma 1 '123456788' 0.500000001 -> '123456789' Inexact Rounded
|
| 1043 |
|
| 1044 | rounding: down
|
| 1045 | fmax3250 fma 1 '123456789' 0 -> '123456789'
|
| 1046 | fmax3251 fma 1 '123456789' 0.000000001 -> '123456789' Inexact Rounded
|
| 1047 | fmax3252 fma 1 '123456789' 0.000001 -> '123456789' Inexact Rounded
|
| 1048 | fmax3253 fma 1 '123456789' 0.1 -> '123456789' Inexact Rounded
|
| 1049 | fmax3254 fma 1 '123456789' 0.4 -> '123456789' Inexact Rounded
|
| 1050 | fmax3255 fma 1 '123456789' 0.49 -> '123456789' Inexact Rounded
|
| 1051 | fmax3256 fma 1 '123456789' 0.499999 -> '123456789' Inexact Rounded
|
| 1052 | fmax3257 fma 1 '123456789' 0.499999999 -> '123456789' Inexact Rounded
|
| 1053 | fmax3258 fma 1 '123456789' 0.5 -> '123456789' Inexact Rounded
|
| 1054 | fmax3259 fma 1 '123456789' 0.500000001 -> '123456789' Inexact Rounded
|
| 1055 | fmax3260 fma 1 '123456789' 0.500001 -> '123456789' Inexact Rounded
|
| 1056 | fmax3261 fma 1 '123456789' 0.51 -> '123456789' Inexact Rounded
|
| 1057 | fmax3262 fma 1 '123456789' 0.6 -> '123456789' Inexact Rounded
|
| 1058 | fmax3263 fma 1 '123456789' 0.9 -> '123456789' Inexact Rounded
|
| 1059 | fmax3264 fma 1 '123456789' 0.99999 -> '123456789' Inexact Rounded
|
| 1060 | fmax3265 fma 1 '123456789' 0.999999999 -> '123456789' Inexact Rounded
|
| 1061 | fmax3266 fma 1 '123456789' 1 -> '123456790'
|
| 1062 | fmax3267 fma 1 '123456789' 1.00000001 -> '123456790' Inexact Rounded
|
| 1063 | fmax3268 fma 1 '123456789' 1.00001 -> '123456790' Inexact Rounded
|
| 1064 | fmax3269 fma 1 '123456789' 1.1 -> '123456790' Inexact Rounded
|
| 1065 |
|
| 1066 | -- input preparation tests (operands should not be rounded)
|
| 1067 | precision: 3
|
| 1068 | rounding: half_up
|
| 1069 |
|
| 1070 | fmax3270 fma 1 '12345678900000' 9999999999999 -> '2.23E+13' Inexact Rounded
|
| 1071 | fmax3271 fma 1 '9999999999999' 12345678900000 -> '2.23E+13' Inexact Rounded
|
| 1072 |
|
| 1073 | fmax3272 fma 1 '12E+3' '3444' -> '1.54E+4' Inexact Rounded
|
| 1074 | fmax3273 fma 1 '12E+3' '3446' -> '1.54E+4' Inexact Rounded
|
| 1075 | fmax3274 fma 1 '12E+3' '3449.9' -> '1.54E+4' Inexact Rounded
|
| 1076 | fmax3275 fma 1 '12E+3' '3450.0' -> '1.55E+4' Inexact Rounded
|
| 1077 | fmax3276 fma 1 '12E+3' '3450.1' -> '1.55E+4' Inexact Rounded
|
| 1078 | fmax3277 fma 1 '12E+3' '3454' -> '1.55E+4' Inexact Rounded
|
| 1079 | fmax3278 fma 1 '12E+3' '3456' -> '1.55E+4' Inexact Rounded
|
| 1080 |
|
| 1081 | fmax3281 fma 1 '3444' '12E+3' -> '1.54E+4' Inexact Rounded
|
| 1082 | fmax3282 fma 1 '3446' '12E+3' -> '1.54E+4' Inexact Rounded
|
| 1083 | fmax3283 fma 1 '3449.9' '12E+3' -> '1.54E+4' Inexact Rounded
|
| 1084 | fmax3284 fma 1 '3450.0' '12E+3' -> '1.55E+4' Inexact Rounded
|
| 1085 | fmax3285 fma 1 '3450.1' '12E+3' -> '1.55E+4' Inexact Rounded
|
| 1086 | fmax3286 fma 1 '3454' '12E+3' -> '1.55E+4' Inexact Rounded
|
| 1087 | fmax3287 fma 1 '3456' '12E+3' -> '1.55E+4' Inexact Rounded
|
| 1088 |
|
| 1089 | rounding: half_down
|
| 1090 | fmax3291 fma 1 '3444' '12E+3' -> '1.54E+4' Inexact Rounded
|
| 1091 | fmax3292 fma 1 '3446' '12E+3' -> '1.54E+4' Inexact Rounded
|
| 1092 | fmax3293 fma 1 '3449.9' '12E+3' -> '1.54E+4' Inexact Rounded
|
| 1093 | fmax3294 fma 1 '3450.0' '12E+3' -> '1.54E+4' Inexact Rounded
|
| 1094 | fmax3295 fma 1 '3450.1' '12E+3' -> '1.55E+4' Inexact Rounded
|
| 1095 | fmax3296 fma 1 '3454' '12E+3' -> '1.55E+4' Inexact Rounded
|
| 1096 | fmax3297 fma 1 '3456' '12E+3' -> '1.55E+4' Inexact Rounded
|
| 1097 |
|
| 1098 | -- 1 in last place tests
|
| 1099 | rounding: half_up
|
| 1100 | fmax3301 fma 1 -1 1 -> 0
|
| 1101 | fmax3302 fma 1 0 1 -> 1
|
| 1102 | fmax3303 fma 1 1 1 -> 2
|
| 1103 | fmax3304 fma 1 12 1 -> 13
|
| 1104 | fmax3305 fma 1 98 1 -> 99
|
| 1105 | fmax3306 fma 1 99 1 -> 100
|
| 1106 | fmax3307 fma 1 100 1 -> 101
|
| 1107 | fmax3308 fma 1 101 1 -> 102
|
| 1108 | fmax3309 fma 1 -1 -1 -> -2
|
| 1109 | fmax3310 fma 1 0 -1 -> -1
|
| 1110 | fmax3311 fma 1 1 -1 -> 0
|
| 1111 | fmax3312 fma 1 12 -1 -> 11
|
| 1112 | fmax3313 fma 1 98 -1 -> 97
|
| 1113 | fmax3314 fma 1 99 -1 -> 98
|
| 1114 | fmax3315 fma 1 100 -1 -> 99
|
| 1115 | fmax3316 fma 1 101 -1 -> 100
|
| 1116 |
|
| 1117 | fmax3321 fma 1 -0.01 0.01 -> 0.00
|
| 1118 | fmax3322 fma 1 0.00 0.01 -> 0.01
|
| 1119 | fmax3323 fma 1 0.01 0.01 -> 0.02
|
| 1120 | fmax3324 fma 1 0.12 0.01 -> 0.13
|
| 1121 | fmax3325 fma 1 0.98 0.01 -> 0.99
|
| 1122 | fmax3326 fma 1 0.99 0.01 -> 1.00
|
| 1123 | fmax3327 fma 1 1.00 0.01 -> 1.01
|
| 1124 | fmax3328 fma 1 1.01 0.01 -> 1.02
|
| 1125 | fmax3329 fma 1 -0.01 -0.01 -> -0.02
|
| 1126 | fmax3330 fma 1 0.00 -0.01 -> -0.01
|
| 1127 | fmax3331 fma 1 0.01 -0.01 -> 0.00
|
| 1128 | fmax3332 fma 1 0.12 -0.01 -> 0.11
|
| 1129 | fmax3333 fma 1 0.98 -0.01 -> 0.97
|
| 1130 | fmax3334 fma 1 0.99 -0.01 -> 0.98
|
| 1131 | fmax3335 fma 1 1.00 -0.01 -> 0.99
|
| 1132 | fmax3336 fma 1 1.01 -0.01 -> 1.00
|
| 1133 |
|
| 1134 | -- some more cases where fma 1 ing 0 affects the coefficient
|
| 1135 | precision: 9
|
| 1136 | fmax3340 fma 1 1E+3 0 -> 1000
|
| 1137 | fmax3341 fma 1 1E+8 0 -> 100000000
|
| 1138 | fmax3342 fma 1 1E+9 0 -> 1.00000000E+9 Rounded
|
| 1139 | fmax3343 fma 1 1E+10 0 -> 1.00000000E+10 Rounded
|
| 1140 | -- which simply follow from these cases ...
|
| 1141 | fmax3344 fma 1 1E+3 1 -> 1001
|
| 1142 | fmax3345 fma 1 1E+8 1 -> 100000001
|
| 1143 | fmax3346 fma 1 1E+9 1 -> 1.00000000E+9 Inexact Rounded
|
| 1144 | fmax3347 fma 1 1E+10 1 -> 1.00000000E+10 Inexact Rounded
|
| 1145 | fmax3348 fma 1 1E+3 7 -> 1007
|
| 1146 | fmax3349 fma 1 1E+8 7 -> 100000007
|
| 1147 | fmax3350 fma 1 1E+9 7 -> 1.00000001E+9 Inexact Rounded
|
| 1148 | fmax3351 fma 1 1E+10 7 -> 1.00000000E+10 Inexact Rounded
|
| 1149 |
|
| 1150 | -- tryzeros cases
|
| 1151 | precision: 7
|
| 1152 | rounding: half_up
|
| 1153 | maxExponent: 92
|
| 1154 | minexponent: -92
|
| 1155 | fmax3361 fma 1 0E+50 10000E+1 -> 1.0000E+5
|
| 1156 | fmax3362 fma 1 10000E+1 0E-50 -> 100000.0 Rounded
|
| 1157 | fmax3363 fma 1 10000E+1 10000E-50 -> 100000.0 Rounded Inexact
|
| 1158 | fmax3364 fma 1 9.999999E+92 -9.999999E+92 -> 0E+86
|
| 1159 |
|
| 1160 | -- a curiosity from JSR 13 testing
|
| 1161 | rounding: half_down
|
| 1162 | precision: 10
|
| 1163 | fmax3370 fma 1 99999999 81512 -> 100081511
|
| 1164 | precision: 6
|
| 1165 | fmax3371 fma 1 99999999 81512 -> 1.00082E+8 Rounded Inexact
|
| 1166 | rounding: half_up
|
| 1167 | precision: 10
|
| 1168 | fmax3372 fma 1 99999999 81512 -> 100081511
|
| 1169 | precision: 6
|
| 1170 | fmax3373 fma 1 99999999 81512 -> 1.00082E+8 Rounded Inexact
|
| 1171 | rounding: half_even
|
| 1172 | precision: 10
|
| 1173 | fmax3374 fma 1 99999999 81512 -> 100081511
|
| 1174 | precision: 6
|
| 1175 | fmax3375 fma 1 99999999 81512 -> 1.00082E+8 Rounded Inexact
|
| 1176 |
|
| 1177 | -- ulp replacement tests
|
| 1178 | precision: 9
|
| 1179 | maxexponent: 999999
|
| 1180 | minexponent: -999999
|
| 1181 | fmax3400 fma 1 1 77e-7 -> 1.0000077
|
| 1182 | fmax3401 fma 1 1 77e-8 -> 1.00000077
|
| 1183 | fmax3402 fma 1 1 77e-9 -> 1.00000008 Inexact Rounded
|
| 1184 | fmax3403 fma 1 1 77e-10 -> 1.00000001 Inexact Rounded
|
| 1185 | fmax3404 fma 1 1 77e-11 -> 1.00000000 Inexact Rounded
|
| 1186 | fmax3405 fma 1 1 77e-12 -> 1.00000000 Inexact Rounded
|
| 1187 | fmax3406 fma 1 1 77e-999 -> 1.00000000 Inexact Rounded
|
| 1188 | fmax3407 fma 1 1 77e-999999 -> 1.00000000 Inexact Rounded
|
| 1189 |
|
| 1190 | fmax3410 fma 1 10 77e-7 -> 10.0000077
|
| 1191 | fmax3411 fma 1 10 77e-8 -> 10.0000008 Inexact Rounded
|
| 1192 | fmax3412 fma 1 10 77e-9 -> 10.0000001 Inexact Rounded
|
| 1193 | fmax3413 fma 1 10 77e-10 -> 10.0000000 Inexact Rounded
|
| 1194 | fmax3414 fma 1 10 77e-11 -> 10.0000000 Inexact Rounded
|
| 1195 | fmax3415 fma 1 10 77e-12 -> 10.0000000 Inexact Rounded
|
| 1196 | fmax3416 fma 1 10 77e-999 -> 10.0000000 Inexact Rounded
|
| 1197 | fmax3417 fma 1 10 77e-999999 -> 10.0000000 Inexact Rounded
|
| 1198 |
|
| 1199 | fmax3420 fma 1 77e-7 1 -> 1.0000077
|
| 1200 | fmax3421 fma 1 77e-8 1 -> 1.00000077
|
| 1201 | fmax3422 fma 1 77e-9 1 -> 1.00000008 Inexact Rounded
|
| 1202 | fmax3423 fma 1 77e-10 1 -> 1.00000001 Inexact Rounded
|
| 1203 | fmax3424 fma 1 77e-11 1 -> 1.00000000 Inexact Rounded
|
| 1204 | fmax3425 fma 1 77e-12 1 -> 1.00000000 Inexact Rounded
|
| 1205 | fmax3426 fma 1 77e-999 1 -> 1.00000000 Inexact Rounded
|
| 1206 | fmax3427 fma 1 77e-999999 1 -> 1.00000000 Inexact Rounded
|
| 1207 |
|
| 1208 | fmax3430 fma 1 77e-7 10 -> 10.0000077
|
| 1209 | fmax3431 fma 1 77e-8 10 -> 10.0000008 Inexact Rounded
|
| 1210 | fmax3432 fma 1 77e-9 10 -> 10.0000001 Inexact Rounded
|
| 1211 | fmax3433 fma 1 77e-10 10 -> 10.0000000 Inexact Rounded
|
| 1212 | fmax3434 fma 1 77e-11 10 -> 10.0000000 Inexact Rounded
|
| 1213 | fmax3435 fma 1 77e-12 10 -> 10.0000000 Inexact Rounded
|
| 1214 | fmax3436 fma 1 77e-999 10 -> 10.0000000 Inexact Rounded
|
| 1215 | fmax3437 fma 1 77e-999999 10 -> 10.0000000 Inexact Rounded
|
| 1216 |
|
| 1217 | -- negative ulps
|
| 1218 | fmax3440 fma 1 1 -77e-7 -> 0.9999923
|
| 1219 | fmax3441 fma 1 1 -77e-8 -> 0.99999923
|
| 1220 | fmax3442 fma 1 1 -77e-9 -> 0.999999923
|
| 1221 | fmax3443 fma 1 1 -77e-10 -> 0.999999992 Inexact Rounded
|
| 1222 | fmax3444 fma 1 1 -77e-11 -> 0.999999999 Inexact Rounded
|
| 1223 | fmax3445 fma 1 1 -77e-12 -> 1.00000000 Inexact Rounded
|
| 1224 | fmax3446 fma 1 1 -77e-999 -> 1.00000000 Inexact Rounded
|
| 1225 | fmax3447 fma 1 1 -77e-999999 -> 1.00000000 Inexact Rounded
|
| 1226 |
|
| 1227 | fmax3450 fma 1 10 -77e-7 -> 9.9999923
|
| 1228 | fmax3451 fma 1 10 -77e-8 -> 9.99999923
|
| 1229 | fmax3452 fma 1 10 -77e-9 -> 9.99999992 Inexact Rounded
|
| 1230 | fmax3453 fma 1 10 -77e-10 -> 9.99999999 Inexact Rounded
|
| 1231 | fmax3454 fma 1 10 -77e-11 -> 10.0000000 Inexact Rounded
|
| 1232 | fmax3455 fma 1 10 -77e-12 -> 10.0000000 Inexact Rounded
|
| 1233 | fmax3456 fma 1 10 -77e-999 -> 10.0000000 Inexact Rounded
|
| 1234 | fmax3457 fma 1 10 -77e-999999 -> 10.0000000 Inexact Rounded
|
| 1235 |
|
| 1236 | fmax3460 fma 1 -77e-7 1 -> 0.9999923
|
| 1237 | fmax3461 fma 1 -77e-8 1 -> 0.99999923
|
| 1238 | fmax3462 fma 1 -77e-9 1 -> 0.999999923
|
| 1239 | fmax3463 fma 1 -77e-10 1 -> 0.999999992 Inexact Rounded
|
| 1240 | fmax3464 fma 1 -77e-11 1 -> 0.999999999 Inexact Rounded
|
| 1241 | fmax3465 fma 1 -77e-12 1 -> 1.00000000 Inexact Rounded
|
| 1242 | fmax3466 fma 1 -77e-999 1 -> 1.00000000 Inexact Rounded
|
| 1243 | fmax3467 fma 1 -77e-999999 1 -> 1.00000000 Inexact Rounded
|
| 1244 |
|
| 1245 | fmax3470 fma 1 -77e-7 10 -> 9.9999923
|
| 1246 | fmax3471 fma 1 -77e-8 10 -> 9.99999923
|
| 1247 | fmax3472 fma 1 -77e-9 10 -> 9.99999992 Inexact Rounded
|
| 1248 | fmax3473 fma 1 -77e-10 10 -> 9.99999999 Inexact Rounded
|
| 1249 | fmax3474 fma 1 -77e-11 10 -> 10.0000000 Inexact Rounded
|
| 1250 | fmax3475 fma 1 -77e-12 10 -> 10.0000000 Inexact Rounded
|
| 1251 | fmax3476 fma 1 -77e-999 10 -> 10.0000000 Inexact Rounded
|
| 1252 | fmax3477 fma 1 -77e-999999 10 -> 10.0000000 Inexact Rounded
|
| 1253 |
|
| 1254 | -- negative ulps
|
| 1255 | fmax3480 fma 1 -1 77e-7 -> -0.9999923
|
| 1256 | fmax3481 fma 1 -1 77e-8 -> -0.99999923
|
| 1257 | fmax3482 fma 1 -1 77e-9 -> -0.999999923
|
| 1258 | fmax3483 fma 1 -1 77e-10 -> -0.999999992 Inexact Rounded
|
| 1259 | fmax3484 fma 1 -1 77e-11 -> -0.999999999 Inexact Rounded
|
| 1260 | fmax3485 fma 1 -1 77e-12 -> -1.00000000 Inexact Rounded
|
| 1261 | fmax3486 fma 1 -1 77e-999 -> -1.00000000 Inexact Rounded
|
| 1262 | fmax3487 fma 1 -1 77e-999999 -> -1.00000000 Inexact Rounded
|
| 1263 |
|
| 1264 | fmax3490 fma 1 -10 77e-7 -> -9.9999923
|
| 1265 | fmax3491 fma 1 -10 77e-8 -> -9.99999923
|
| 1266 | fmax3492 fma 1 -10 77e-9 -> -9.99999992 Inexact Rounded
|
| 1267 | fmax3493 fma 1 -10 77e-10 -> -9.99999999 Inexact Rounded
|
| 1268 | fmax3494 fma 1 -10 77e-11 -> -10.0000000 Inexact Rounded
|
| 1269 | fmax3495 fma 1 -10 77e-12 -> -10.0000000 Inexact Rounded
|
| 1270 | fmax3496 fma 1 -10 77e-999 -> -10.0000000 Inexact Rounded
|
| 1271 | fmax3497 fma 1 -10 77e-999999 -> -10.0000000 Inexact Rounded
|
| 1272 |
|
| 1273 | fmax3500 fma 1 77e-7 -1 -> -0.9999923
|
| 1274 | fmax3501 fma 1 77e-8 -1 -> -0.99999923
|
| 1275 | fmax3502 fma 1 77e-9 -1 -> -0.999999923
|
| 1276 | fmax3503 fma 1 77e-10 -1 -> -0.999999992 Inexact Rounded
|
| 1277 | fmax3504 fma 1 77e-11 -1 -> -0.999999999 Inexact Rounded
|
| 1278 | fmax3505 fma 1 77e-12 -1 -> -1.00000000 Inexact Rounded
|
| 1279 | fmax3506 fma 1 77e-999 -1 -> -1.00000000 Inexact Rounded
|
| 1280 | fmax3507 fma 1 77e-999999 -1 -> -1.00000000 Inexact Rounded
|
| 1281 |
|
| 1282 | fmax3510 fma 1 77e-7 -10 -> -9.9999923
|
| 1283 | fmax3511 fma 1 77e-8 -10 -> -9.99999923
|
| 1284 | fmax3512 fma 1 77e-9 -10 -> -9.99999992 Inexact Rounded
|
| 1285 | fmax3513 fma 1 77e-10 -10 -> -9.99999999 Inexact Rounded
|
| 1286 | fmax3514 fma 1 77e-11 -10 -> -10.0000000 Inexact Rounded
|
| 1287 | fmax3515 fma 1 77e-12 -10 -> -10.0000000 Inexact Rounded
|
| 1288 | fmax3516 fma 1 77e-999 -10 -> -10.0000000 Inexact Rounded
|
| 1289 | fmax3517 fma 1 77e-999999 -10 -> -10.0000000 Inexact Rounded
|
| 1290 |
|
| 1291 |
|
| 1292 | -- long operands
|
| 1293 | maxexponent: 999
|
| 1294 | minexponent: -999
|
| 1295 | precision: 9
|
| 1296 | fmax3521 fma 1 12345678000 0 -> 1.23456780E+10 Rounded
|
| 1297 | fmax3522 fma 1 0 12345678000 -> 1.23456780E+10 Rounded
|
| 1298 | fmax3523 fma 1 1234567800 0 -> 1.23456780E+9 Rounded
|
| 1299 | fmax3524 fma 1 0 1234567800 -> 1.23456780E+9 Rounded
|
| 1300 | fmax3525 fma 1 1234567890 0 -> 1.23456789E+9 Rounded
|
| 1301 | fmax3526 fma 1 0 1234567890 -> 1.23456789E+9 Rounded
|
| 1302 | fmax3527 fma 1 1234567891 0 -> 1.23456789E+9 Inexact Rounded
|
| 1303 | fmax3528 fma 1 0 1234567891 -> 1.23456789E+9 Inexact Rounded
|
| 1304 | fmax3529 fma 1 12345678901 0 -> 1.23456789E+10 Inexact Rounded
|
| 1305 | fmax3530 fma 1 0 12345678901 -> 1.23456789E+10 Inexact Rounded
|
| 1306 | fmax3531 fma 1 1234567896 0 -> 1.23456790E+9 Inexact Rounded
|
| 1307 | fmax3532 fma 1 0 1234567896 -> 1.23456790E+9 Inexact Rounded
|
| 1308 |
|
| 1309 | precision: 15
|
| 1310 | -- still checking
|
| 1311 | fmax3541 fma 1 12345678000 0 -> 12345678000
|
| 1312 | fmax3542 fma 1 0 12345678000 -> 12345678000
|
| 1313 | fmax3543 fma 1 1234567800 0 -> 1234567800
|
| 1314 | fmax3544 fma 1 0 1234567800 -> 1234567800
|
| 1315 | fmax3545 fma 1 1234567890 0 -> 1234567890
|
| 1316 | fmax3546 fma 1 0 1234567890 -> 1234567890
|
| 1317 | fmax3547 fma 1 1234567891 0 -> 1234567891
|
| 1318 | fmax3548 fma 1 0 1234567891 -> 1234567891
|
| 1319 | fmax3549 fma 1 12345678901 0 -> 12345678901
|
| 1320 | fmax3550 fma 1 0 12345678901 -> 12345678901
|
| 1321 | fmax3551 fma 1 1234567896 0 -> 1234567896
|
| 1322 | fmax3552 fma 1 0 1234567896 -> 1234567896
|
| 1323 |
|
| 1324 | -- verify a query
|
| 1325 | precision: 16
|
| 1326 | maxExponent: +394
|
| 1327 | minExponent: -393
|
| 1328 | rounding: down
|
| 1329 | fmax3561 fma 1 1e-398 9.000000000000000E+384 -> 9.000000000000000E+384 Inexact Rounded
|
| 1330 | fmax3562 fma 1 0 9.000000000000000E+384 -> 9.000000000000000E+384 Rounded
|
| 1331 | -- and using decimal64 bounds...
|
| 1332 | precision: 16
|
| 1333 | maxExponent: +384
|
| 1334 | minExponent: -383
|
| 1335 | rounding: down
|
| 1336 | fmax3563 fma 1 1e-388 9.000000000000000E+374 -> 9.000000000000000E+374 Inexact Rounded
|
| 1337 | fmax3564 fma 1 0 9.000000000000000E+374 -> 9.000000000000000E+374 Rounded
|
| 1338 |
|
| 1339 |
|
| 1340 | -- some more residue effects with extreme rounding
|
| 1341 | precision: 9
|
| 1342 | rounding: half_up
|
| 1343 | fmax3601 fma 1 123456789 0.000001 -> 123456789 Inexact Rounded
|
| 1344 | rounding: half_even
|
| 1345 | fmax3602 fma 1 123456789 0.000001 -> 123456789 Inexact Rounded
|
| 1346 | rounding: half_down
|
| 1347 | fmax3603 fma 1 123456789 0.000001 -> 123456789 Inexact Rounded
|
| 1348 | rounding: floor
|
| 1349 | fmax3604 fma 1 123456789 0.000001 -> 123456789 Inexact Rounded
|
| 1350 | rounding: ceiling
|
| 1351 | fmax3605 fma 1 123456789 0.000001 -> 123456790 Inexact Rounded
|
| 1352 | rounding: up
|
| 1353 | fmax3606 fma 1 123456789 0.000001 -> 123456790 Inexact Rounded
|
| 1354 | rounding: down
|
| 1355 | fmax3607 fma 1 123456789 0.000001 -> 123456789 Inexact Rounded
|
| 1356 |
|
| 1357 | rounding: half_up
|
| 1358 | fmax3611 fma 1 123456789 -0.000001 -> 123456789 Inexact Rounded
|
| 1359 | rounding: half_even
|
| 1360 | fmax3612 fma 1 123456789 -0.000001 -> 123456789 Inexact Rounded
|
| 1361 | rounding: half_down
|
| 1362 | fmax3613 fma 1 123456789 -0.000001 -> 123456789 Inexact Rounded
|
| 1363 | rounding: floor
|
| 1364 | fmax3614 fma 1 123456789 -0.000001 -> 123456788 Inexact Rounded
|
| 1365 | rounding: ceiling
|
| 1366 | fmax3615 fma 1 123456789 -0.000001 -> 123456789 Inexact Rounded
|
| 1367 | rounding: up
|
| 1368 | fmax3616 fma 1 123456789 -0.000001 -> 123456789 Inexact Rounded
|
| 1369 | rounding: down
|
| 1370 | fmax3617 fma 1 123456789 -0.000001 -> 123456788 Inexact Rounded
|
| 1371 |
|
| 1372 | rounding: half_up
|
| 1373 | fmax3621 fma 1 123456789 0.499999 -> 123456789 Inexact Rounded
|
| 1374 | rounding: half_even
|
| 1375 | fmax3622 fma 1 123456789 0.499999 -> 123456789 Inexact Rounded
|
| 1376 | rounding: half_down
|
| 1377 | fmax3623 fma 1 123456789 0.499999 -> 123456789 Inexact Rounded
|
| 1378 | rounding: floor
|
| 1379 | fmax3624 fma 1 123456789 0.499999 -> 123456789 Inexact Rounded
|
| 1380 | rounding: ceiling
|
| 1381 | fmax3625 fma 1 123456789 0.499999 -> 123456790 Inexact Rounded
|
| 1382 | rounding: up
|
| 1383 | fmax3626 fma 1 123456789 0.499999 -> 123456790 Inexact Rounded
|
| 1384 | rounding: down
|
| 1385 | fmax3627 fma 1 123456789 0.499999 -> 123456789 Inexact Rounded
|
| 1386 |
|
| 1387 | rounding: half_up
|
| 1388 | fmax3631 fma 1 123456789 -0.499999 -> 123456789 Inexact Rounded
|
| 1389 | rounding: half_even
|
| 1390 | fmax3632 fma 1 123456789 -0.499999 -> 123456789 Inexact Rounded
|
| 1391 | rounding: half_down
|
| 1392 | fmax3633 fma 1 123456789 -0.499999 -> 123456789 Inexact Rounded
|
| 1393 | rounding: floor
|
| 1394 | fmax3634 fma 1 123456789 -0.499999 -> 123456788 Inexact Rounded
|
| 1395 | rounding: ceiling
|
| 1396 | fmax3635 fma 1 123456789 -0.499999 -> 123456789 Inexact Rounded
|
| 1397 | rounding: up
|
| 1398 | fmax3636 fma 1 123456789 -0.499999 -> 123456789 Inexact Rounded
|
| 1399 | rounding: down
|
| 1400 | fmax3637 fma 1 123456789 -0.499999 -> 123456788 Inexact Rounded
|
| 1401 |
|
| 1402 | rounding: half_up
|
| 1403 | fmax3641 fma 1 123456789 0.500001 -> 123456790 Inexact Rounded
|
| 1404 | rounding: half_even
|
| 1405 | fmax3642 fma 1 123456789 0.500001 -> 123456790 Inexact Rounded
|
| 1406 | rounding: half_down
|
| 1407 | fmax3643 fma 1 123456789 0.500001 -> 123456790 Inexact Rounded
|
| 1408 | rounding: floor
|
| 1409 | fmax3644 fma 1 123456789 0.500001 -> 123456789 Inexact Rounded
|
| 1410 | rounding: ceiling
|
| 1411 | fmax3645 fma 1 123456789 0.500001 -> 123456790 Inexact Rounded
|
| 1412 | rounding: up
|
| 1413 | fmax3646 fma 1 123456789 0.500001 -> 123456790 Inexact Rounded
|
| 1414 | rounding: down
|
| 1415 | fmax3647 fma 1 123456789 0.500001 -> 123456789 Inexact Rounded
|
| 1416 |
|
| 1417 | rounding: half_up
|
| 1418 | fmax3651 fma 1 123456789 -0.500001 -> 123456788 Inexact Rounded
|
| 1419 | rounding: half_even
|
| 1420 | fmax3652 fma 1 123456789 -0.500001 -> 123456788 Inexact Rounded
|
| 1421 | rounding: half_down
|
| 1422 | fmax3653 fma 1 123456789 -0.500001 -> 123456788 Inexact Rounded
|
| 1423 | rounding: floor
|
| 1424 | fmax3654 fma 1 123456789 -0.500001 -> 123456788 Inexact Rounded
|
| 1425 | rounding: ceiling
|
| 1426 | fmax3655 fma 1 123456789 -0.500001 -> 123456789 Inexact Rounded
|
| 1427 | rounding: up
|
| 1428 | fmax3656 fma 1 123456789 -0.500001 -> 123456789 Inexact Rounded
|
| 1429 | rounding: down
|
| 1430 | fmax3657 fma 1 123456789 -0.500001 -> 123456788 Inexact Rounded
|
| 1431 |
|
| 1432 | -- long operand triangle
|
| 1433 | rounding: half_up
|
| 1434 | precision: 37
|
| 1435 | fmax3660 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211023638922337114834538
|
| 1436 | precision: 36
|
| 1437 | fmax3661 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221102363892233711483454 Inexact Rounded
|
| 1438 | precision: 35
|
| 1439 | fmax3662 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422110236389223371148345 Inexact Rounded
|
| 1440 | precision: 34
|
| 1441 | fmax3663 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211023638922337114835 Inexact Rounded
|
| 1442 | precision: 33
|
| 1443 | fmax3664 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221102363892233711483 Inexact Rounded
|
| 1444 | precision: 32
|
| 1445 | fmax3665 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422110236389223371148 Inexact Rounded
|
| 1446 | precision: 31
|
| 1447 | fmax3666 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211023638922337115 Inexact Rounded
|
| 1448 | precision: 30
|
| 1449 | fmax3667 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221102363892233711 Inexact Rounded
|
| 1450 | precision: 29
|
| 1451 | fmax3668 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422110236389223371 Inexact Rounded
|
| 1452 | precision: 28
|
| 1453 | fmax3669 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211023638922337 Inexact Rounded
|
| 1454 | precision: 27
|
| 1455 | fmax3670 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221102363892234 Inexact Rounded
|
| 1456 | precision: 26
|
| 1457 | fmax3671 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422110236389223 Inexact Rounded
|
| 1458 | precision: 25
|
| 1459 | fmax3672 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211023638922 Inexact Rounded
|
| 1460 | precision: 24
|
| 1461 | fmax3673 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221102363892 Inexact Rounded
|
| 1462 | precision: 23
|
| 1463 | fmax3674 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422110236389 Inexact Rounded
|
| 1464 | precision: 22
|
| 1465 | fmax3675 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211023639 Inexact Rounded
|
| 1466 | precision: 21
|
| 1467 | fmax3676 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221102364 Inexact Rounded
|
| 1468 | precision: 20
|
| 1469 | fmax3677 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422110236 Inexact Rounded
|
| 1470 | precision: 19
|
| 1471 | fmax3678 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211024 Inexact Rounded
|
| 1472 | precision: 18
|
| 1473 | fmax3679 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221102 Inexact Rounded
|
| 1474 | precision: 17
|
| 1475 | fmax3680 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422110 Inexact Rounded
|
| 1476 | precision: 16
|
| 1477 | fmax3681 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211 Inexact Rounded
|
| 1478 | precision: 15
|
| 1479 | fmax3682 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221 Inexact Rounded
|
| 1480 | precision: 14
|
| 1481 | fmax3683 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422 Inexact Rounded
|
| 1482 | precision: 13
|
| 1483 | fmax3684 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42 Inexact Rounded
|
| 1484 | precision: 12
|
| 1485 | fmax3685 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4 Inexact Rounded
|
| 1486 | precision: 11
|
| 1487 | fmax3686 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166 Inexact Rounded
|
| 1488 | precision: 10
|
| 1489 | fmax3687 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.847117417E+10 Inexact Rounded
|
| 1490 | precision: 9
|
| 1491 | fmax3688 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.84711742E+10 Inexact Rounded
|
| 1492 | precision: 8
|
| 1493 | fmax3689 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.8471174E+10 Inexact Rounded
|
| 1494 | precision: 7
|
| 1495 | fmax3690 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.847117E+10 Inexact Rounded
|
| 1496 | precision: 6
|
| 1497 | fmax3691 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.84712E+10 Inexact Rounded
|
| 1498 | precision: 5
|
| 1499 | fmax3692 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.8471E+10 Inexact Rounded
|
| 1500 | precision: 4
|
| 1501 | fmax3693 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.847E+10 Inexact Rounded
|
| 1502 | precision: 3
|
| 1503 | fmax3694 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.85E+10 Inexact Rounded
|
| 1504 | precision: 2
|
| 1505 | fmax3695 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.8E+10 Inexact Rounded
|
| 1506 | precision: 1
|
| 1507 | fmax3696 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 1E+11 Inexact Rounded
|
| 1508 |
|
| 1509 | -- more zeros, etc.
|
| 1510 | rounding: half_up
|
| 1511 | precision: 9
|
| 1512 |
|
| 1513 | fmax3701 fma 1 5.00 1.00E-3 -> 5.00100
|
| 1514 | fmax3702 fma 1 00.00 0.000 -> 0.000
|
| 1515 | fmax3703 fma 1 00.00 0E-3 -> 0.000
|
| 1516 | fmax3704 fma 1 0E-3 00.00 -> 0.000
|
| 1517 |
|
| 1518 | fmax3710 fma 1 0E+3 00.00 -> 0.00
|
| 1519 | fmax3711 fma 1 0E+3 00.0 -> 0.0
|
| 1520 | fmax3712 fma 1 0E+3 00. -> 0
|
| 1521 | fmax3713 fma 1 0E+3 00.E+1 -> 0E+1
|
| 1522 | fmax3714 fma 1 0E+3 00.E+2 -> 0E+2
|
| 1523 | fmax3715 fma 1 0E+3 00.E+3 -> 0E+3
|
| 1524 | fmax3716 fma 1 0E+3 00.E+4 -> 0E+3
|
| 1525 | fmax3717 fma 1 0E+3 00.E+5 -> 0E+3
|
| 1526 | fmax3718 fma 1 0E+3 -00.0 -> 0.0
|
| 1527 | fmax3719 fma 1 0E+3 -00. -> 0
|
| 1528 | fmax3731 fma 1 0E+3 -00.E+1 -> 0E+1
|
| 1529 |
|
| 1530 | fmax3720 fma 1 00.00 0E+3 -> 0.00
|
| 1531 | fmax3721 fma 1 00.0 0E+3 -> 0.0
|
| 1532 | fmax3722 fma 1 00. 0E+3 -> 0
|
| 1533 | fmax3723 fma 1 00.E+1 0E+3 -> 0E+1
|
| 1534 | fmax3724 fma 1 00.E+2 0E+3 -> 0E+2
|
| 1535 | fmax3725 fma 1 00.E+3 0E+3 -> 0E+3
|
| 1536 | fmax3726 fma 1 00.E+4 0E+3 -> 0E+3
|
| 1537 | fmax3727 fma 1 00.E+5 0E+3 -> 0E+3
|
| 1538 | fmax3728 fma 1 -00.00 0E+3 -> 0.00
|
| 1539 | fmax3729 fma 1 -00.0 0E+3 -> 0.0
|
| 1540 | fmax3730 fma 1 -00. 0E+3 -> 0
|
| 1541 |
|
| 1542 | fmax3732 fma 1 0 0 -> 0
|
| 1543 | fmax3733 fma 1 0 -0 -> 0
|
| 1544 | fmax3734 fma 1 -0 0 -> 0
|
| 1545 | fmax3735 fma 1 -0 -0 -> -0 -- IEEE 854 special case
|
| 1546 |
|
| 1547 | fmax3736 fma 1 1 -1 -> 0
|
| 1548 | fmax3737 fma 1 -1 -1 -> -2
|
| 1549 | fmax3738 fma 1 1 1 -> 2
|
| 1550 | fmax3739 fma 1 -1 1 -> 0
|
| 1551 |
|
| 1552 | fmax3741 fma 1 0 -1 -> -1
|
| 1553 | fmax3742 fma 1 -0 -1 -> -1
|
| 1554 | fmax3743 fma 1 0 1 -> 1
|
| 1555 | fmax3744 fma 1 -0 1 -> 1
|
| 1556 | fmax3745 fma 1 -1 0 -> -1
|
| 1557 | fmax3746 fma 1 -1 -0 -> -1
|
| 1558 | fmax3747 fma 1 1 0 -> 1
|
| 1559 | fmax3748 fma 1 1 -0 -> 1
|
| 1560 |
|
| 1561 | fmax3751 fma 1 0.0 -1 -> -1.0
|
| 1562 | fmax3752 fma 1 -0.0 -1 -> -1.0
|
| 1563 | fmax3753 fma 1 0.0 1 -> 1.0
|
| 1564 | fmax3754 fma 1 -0.0 1 -> 1.0
|
| 1565 | fmax3755 fma 1 -1.0 0 -> -1.0
|
| 1566 | fmax3756 fma 1 -1.0 -0 -> -1.0
|
| 1567 | fmax3757 fma 1 1.0 0 -> 1.0
|
| 1568 | fmax3758 fma 1 1.0 -0 -> 1.0
|
| 1569 |
|
| 1570 | fmax3761 fma 1 0 -1.0 -> -1.0
|
| 1571 | fmax3762 fma 1 -0 -1.0 -> -1.0
|
| 1572 | fmax3763 fma 1 0 1.0 -> 1.0
|
| 1573 | fmax3764 fma 1 -0 1.0 -> 1.0
|
| 1574 | fmax3765 fma 1 -1 0.0 -> -1.0
|
| 1575 | fmax3766 fma 1 -1 -0.0 -> -1.0
|
| 1576 | fmax3767 fma 1 1 0.0 -> 1.0
|
| 1577 | fmax3768 fma 1 1 -0.0 -> 1.0
|
| 1578 |
|
| 1579 | fmax3771 fma 1 0.0 -1.0 -> -1.0
|
| 1580 | fmax3772 fma 1 -0.0 -1.0 -> -1.0
|
| 1581 | fmax3773 fma 1 0.0 1.0 -> 1.0
|
| 1582 | fmax3774 fma 1 -0.0 1.0 -> 1.0
|
| 1583 | fmax3775 fma 1 -1.0 0.0 -> -1.0
|
| 1584 | fmax3776 fma 1 -1.0 -0.0 -> -1.0
|
| 1585 | fmax3777 fma 1 1.0 0.0 -> 1.0
|
| 1586 | fmax3778 fma 1 1.0 -0.0 -> 1.0
|
| 1587 |
|
| 1588 | -- Specials
|
| 1589 | fmax3780 fma 1 -Inf -Inf -> -Infinity
|
| 1590 | fmax3781 fma 1 -Inf -1000 -> -Infinity
|
| 1591 | fmax3782 fma 1 -Inf -1 -> -Infinity
|
| 1592 | fmax3783 fma 1 -Inf -0 -> -Infinity
|
| 1593 | fmax3784 fma 1 -Inf 0 -> -Infinity
|
| 1594 | fmax3785 fma 1 -Inf 1 -> -Infinity
|
| 1595 | fmax3786 fma 1 -Inf 1000 -> -Infinity
|
| 1596 | fmax3787 fma 1 -1000 -Inf -> -Infinity
|
| 1597 | fmax3788 fma 1 -Inf -Inf -> -Infinity
|
| 1598 | fmax3789 fma 1 -1 -Inf -> -Infinity
|
| 1599 | fmax3790 fma 1 -0 -Inf -> -Infinity
|
| 1600 | fmax3791 fma 1 0 -Inf -> -Infinity
|
| 1601 | fmax3792 fma 1 1 -Inf -> -Infinity
|
| 1602 | fmax3793 fma 1 1000 -Inf -> -Infinity
|
| 1603 | fmax3794 fma 1 Inf -Inf -> NaN Invalid_operation
|
| 1604 |
|
| 1605 | fmax3800 fma 1 Inf -Inf -> NaN Invalid_operation
|
| 1606 | fmax3801 fma 1 Inf -1000 -> Infinity
|
| 1607 | fmax3802 fma 1 Inf -1 -> Infinity
|
| 1608 | fmax3803 fma 1 Inf -0 -> Infinity
|
| 1609 | fmax3804 fma 1 Inf 0 -> Infinity
|
| 1610 | fmax3805 fma 1 Inf 1 -> Infinity
|
| 1611 | fmax3806 fma 1 Inf 1000 -> Infinity
|
| 1612 | fmax3807 fma 1 Inf Inf -> Infinity
|
| 1613 | fmax3808 fma 1 -1000 Inf -> Infinity
|
| 1614 | fmax3809 fma 1 -Inf Inf -> NaN Invalid_operation
|
| 1615 | fmax3810 fma 1 -1 Inf -> Infinity
|
| 1616 | fmax3811 fma 1 -0 Inf -> Infinity
|
| 1617 | fmax3812 fma 1 0 Inf -> Infinity
|
| 1618 | fmax3813 fma 1 1 Inf -> Infinity
|
| 1619 | fmax3814 fma 1 1000 Inf -> Infinity
|
| 1620 | fmax3815 fma 1 Inf Inf -> Infinity
|
| 1621 |
|
| 1622 | fmax3821 fma 1 NaN -Inf -> NaN
|
| 1623 | fmax3822 fma 1 NaN -1000 -> NaN
|
| 1624 | fmax3823 fma 1 NaN -1 -> NaN
|
| 1625 | fmax3824 fma 1 NaN -0 -> NaN
|
| 1626 | fmax3825 fma 1 NaN 0 -> NaN
|
| 1627 | fmax3826 fma 1 NaN 1 -> NaN
|
| 1628 | fmax3827 fma 1 NaN 1000 -> NaN
|
| 1629 | fmax3828 fma 1 NaN Inf -> NaN
|
| 1630 | fmax3829 fma 1 NaN NaN -> NaN
|
| 1631 | fmax3830 fma 1 -Inf NaN -> NaN
|
| 1632 | fmax3831 fma 1 -1000 NaN -> NaN
|
| 1633 | fmax3832 fma 1 -1 NaN -> NaN
|
| 1634 | fmax3833 fma 1 -0 NaN -> NaN
|
| 1635 | fmax3834 fma 1 0 NaN -> NaN
|
| 1636 | fmax3835 fma 1 1 NaN -> NaN
|
| 1637 | fmax3836 fma 1 1000 NaN -> NaN
|
| 1638 | fmax3837 fma 1 Inf NaN -> NaN
|
| 1639 |
|
| 1640 | fmax3841 fma 1 sNaN -Inf -> NaN Invalid_operation
|
| 1641 | fmax3842 fma 1 sNaN -1000 -> NaN Invalid_operation
|
| 1642 | fmax3843 fma 1 sNaN -1 -> NaN Invalid_operation
|
| 1643 | fmax3844 fma 1 sNaN -0 -> NaN Invalid_operation
|
| 1644 | fmax3845 fma 1 sNaN 0 -> NaN Invalid_operation
|
| 1645 | fmax3846 fma 1 sNaN 1 -> NaN Invalid_operation
|
| 1646 | fmax3847 fma 1 sNaN 1000 -> NaN Invalid_operation
|
| 1647 | fmax3848 fma 1 sNaN NaN -> NaN Invalid_operation
|
| 1648 | fmax3849 fma 1 sNaN sNaN -> NaN Invalid_operation
|
| 1649 | fmax3850 fma 1 NaN sNaN -> NaN Invalid_operation
|
| 1650 | fmax3851 fma 1 -Inf sNaN -> NaN Invalid_operation
|
| 1651 | fmax3852 fma 1 -1000 sNaN -> NaN Invalid_operation
|
| 1652 | fmax3853 fma 1 -1 sNaN -> NaN Invalid_operation
|
| 1653 | fmax3854 fma 1 -0 sNaN -> NaN Invalid_operation
|
| 1654 | fmax3855 fma 1 0 sNaN -> NaN Invalid_operation
|
| 1655 | fmax3856 fma 1 1 sNaN -> NaN Invalid_operation
|
| 1656 | fmax3857 fma 1 1000 sNaN -> NaN Invalid_operation
|
| 1657 | fmax3858 fma 1 Inf sNaN -> NaN Invalid_operation
|
| 1658 | fmax3859 fma 1 NaN sNaN -> NaN Invalid_operation
|
| 1659 |
|
| 1660 | -- propagating NaNs
|
| 1661 | fmax3861 fma 1 NaN1 -Inf -> NaN1
|
| 1662 | fmax3862 fma 1 +NaN2 -1000 -> NaN2
|
| 1663 | fmax3863 fma 1 NaN3 1000 -> NaN3
|
| 1664 | fmax3864 fma 1 NaN4 Inf -> NaN4
|
| 1665 | fmax3865 fma 1 NaN5 +NaN6 -> NaN5
|
| 1666 | fmax3866 fma 1 -Inf NaN7 -> NaN7
|
| 1667 | fmax3867 fma 1 -1000 NaN8 -> NaN8
|
| 1668 | fmax3868 fma 1 1000 NaN9 -> NaN9
|
| 1669 | fmax3869 fma 1 Inf +NaN10 -> NaN10
|
| 1670 | fmax3871 fma 1 sNaN11 -Inf -> NaN11 Invalid_operation
|
| 1671 | fmax3872 fma 1 sNaN12 -1000 -> NaN12 Invalid_operation
|
| 1672 | fmax3873 fma 1 sNaN13 1000 -> NaN13 Invalid_operation
|
| 1673 | fmax3874 fma 1 sNaN14 NaN17 -> NaN14 Invalid_operation
|
| 1674 | fmax3875 fma 1 sNaN15 sNaN18 -> NaN15 Invalid_operation
|
| 1675 | fmax3876 fma 1 NaN16 sNaN19 -> NaN19 Invalid_operation
|
| 1676 | fmax3877 fma 1 -Inf +sNaN20 -> NaN20 Invalid_operation
|
| 1677 | fmax3878 fma 1 -1000 sNaN21 -> NaN21 Invalid_operation
|
| 1678 | fmax3879 fma 1 1000 sNaN22 -> NaN22 Invalid_operation
|
| 1679 | fmax3880 fma 1 Inf sNaN23 -> NaN23 Invalid_operation
|
| 1680 | fmax3881 fma 1 +NaN25 +sNaN24 -> NaN24 Invalid_operation
|
| 1681 | fmax3882 fma 1 -NaN26 NaN28 -> -NaN26
|
| 1682 | fmax3883 fma 1 -sNaN27 sNaN29 -> -NaN27 Invalid_operation
|
| 1683 | fmax3884 fma 1 1000 -NaN30 -> -NaN30
|
| 1684 | fmax3885 fma 1 1000 -sNaN31 -> -NaN31 Invalid_operation
|
| 1685 |
|
| 1686 | -- overflow, underflow and subnormal tests
|
| 1687 | maxexponent: 999999
|
| 1688 | minexponent: -999999
|
| 1689 | precision: 9
|
| 1690 | fmax3890 fma 1 1E+999999 9E+999999 -> Infinity Overflow Inexact Rounded
|
| 1691 | fmax3891 fma 1 9E+999999 1E+999999 -> Infinity Overflow Inexact Rounded
|
| 1692 | fmax3892 fma 1 -1.1E-999999 1E-999999 -> -1E-1000000 Subnormal
|
| 1693 | fmax3893 fma 1 1E-999999 -1.1e-999999 -> -1E-1000000 Subnormal
|
| 1694 | fmax3894 fma 1 -1.0001E-999999 1E-999999 -> -1E-1000003 Subnormal
|
| 1695 | fmax3895 fma 1 1E-999999 -1.0001e-999999 -> -1E-1000003 Subnormal
|
| 1696 | fmax3896 fma 1 -1E+999999 -9E+999999 -> -Infinity Overflow Inexact Rounded
|
| 1697 | fmax3897 fma 1 -9E+999999 -1E+999999 -> -Infinity Overflow Inexact Rounded
|
| 1698 | fmax3898 fma 1 +1.1E-999999 -1E-999999 -> 1E-1000000 Subnormal
|
| 1699 | fmax3899 fma 1 -1E-999999 +1.1e-999999 -> 1E-1000000 Subnormal
|
| 1700 | fmax3900 fma 1 +1.0001E-999999 -1E-999999 -> 1E-1000003 Subnormal
|
| 1701 | fmax3901 fma 1 -1E-999999 +1.0001e-999999 -> 1E-1000003 Subnormal
|
| 1702 | fmax3902 fma 1 -1E+999999 +9E+999999 -> 8E+999999
|
| 1703 | fmax3903 fma 1 -9E+999999 +1E+999999 -> -8E+999999
|
| 1704 |
|
| 1705 | precision: 3
|
| 1706 | fmax3904 fma 1 0 -9.999E+999999 -> -Infinity Inexact Overflow Rounded
|
| 1707 | fmax3905 fma 1 -9.999E+999999 0 -> -Infinity Inexact Overflow Rounded
|
| 1708 | fmax3906 fma 1 0 9.999E+999999 -> Infinity Inexact Overflow Rounded
|
| 1709 | fmax3907 fma 1 9.999E+999999 0 -> Infinity Inexact Overflow Rounded
|
| 1710 |
|
| 1711 | precision: 3
|
| 1712 | maxexponent: 999
|
| 1713 | minexponent: -999
|
| 1714 | fmax3910 fma 1 1.00E-999 0 -> 1.00E-999
|
| 1715 | fmax3911 fma 1 0.1E-999 0 -> 1E-1000 Subnormal
|
| 1716 | fmax3912 fma 1 0.10E-999 0 -> 1.0E-1000 Subnormal
|
| 1717 | fmax3913 fma 1 0.100E-999 0 -> 1.0E-1000 Subnormal Rounded
|
| 1718 | fmax3914 fma 1 0.01E-999 0 -> 1E-1001 Subnormal
|
| 1719 | -- next is rounded to Nmin
|
| 1720 | fmax3915 fma 1 0.999E-999 0 -> 1.00E-999 Inexact Rounded Subnormal Underflow
|
| 1721 | fmax3916 fma 1 0.099E-999 0 -> 1.0E-1000 Inexact Rounded Subnormal Underflow
|
| 1722 | fmax3917 fma 1 0.009E-999 0 -> 1E-1001 Inexact Rounded Subnormal Underflow
|
| 1723 | fmax3918 fma 1 0.001E-999 0 -> 0E-1001 Inexact Rounded Subnormal Underflow Clamped
|
| 1724 | fmax3919 fma 1 0.0009E-999 0 -> 0E-1001 Inexact Rounded Subnormal Underflow Clamped
|
| 1725 | fmax3920 fma 1 0.0001E-999 0 -> 0E-1001 Inexact Rounded Subnormal Underflow Clamped
|
| 1726 |
|
| 1727 | fmax3930 fma 1 -1.00E-999 0 -> -1.00E-999
|
| 1728 | fmax3931 fma 1 -0.1E-999 0 -> -1E-1000 Subnormal
|
| 1729 | fmax3932 fma 1 -0.10E-999 0 -> -1.0E-1000 Subnormal
|
| 1730 | fmax3933 fma 1 -0.100E-999 0 -> -1.0E-1000 Subnormal Rounded
|
| 1731 | fmax3934 fma 1 -0.01E-999 0 -> -1E-1001 Subnormal
|
| 1732 | -- next is rounded to Nmin
|
| 1733 | fmax3935 fma 1 -0.999E-999 0 -> -1.00E-999 Inexact Rounded Subnormal Underflow
|
| 1734 | fmax3936 fma 1 -0.099E-999 0 -> -1.0E-1000 Inexact Rounded Subnormal Underflow
|
| 1735 | fmax3937 fma 1 -0.009E-999 0 -> -1E-1001 Inexact Rounded Subnormal Underflow
|
| 1736 | fmax3938 fma 1 -0.001E-999 0 -> -0E-1001 Inexact Rounded Subnormal Underflow Clamped
|
| 1737 | fmax3939 fma 1 -0.0009E-999 0 -> -0E-1001 Inexact Rounded Subnormal Underflow Clamped
|
| 1738 | fmax3940 fma 1 -0.0001E-999 0 -> -0E-1001 Inexact Rounded Subnormal Underflow Clamped
|
| 1739 |
|
| 1740 | -- some non-zero subnormal fma 1 s
|
| 1741 | fmax3950 fma 1 1.00E-999 0.1E-999 -> 1.10E-999
|
| 1742 | fmax3951 fma 1 0.1E-999 0.1E-999 -> 2E-1000 Subnormal
|
| 1743 | fmax3952 fma 1 0.10E-999 0.1E-999 -> 2.0E-1000 Subnormal
|
| 1744 | fmax3953 fma 1 0.100E-999 0.1E-999 -> 2.0E-1000 Subnormal Rounded
|
| 1745 | fmax3954 fma 1 0.01E-999 0.1E-999 -> 1.1E-1000 Subnormal
|
| 1746 | fmax3955 fma 1 0.999E-999 0.1E-999 -> 1.10E-999 Inexact Rounded
|
| 1747 | fmax3956 fma 1 0.099E-999 0.1E-999 -> 2.0E-1000 Inexact Rounded Subnormal Underflow
|
| 1748 | fmax3957 fma 1 0.009E-999 0.1E-999 -> 1.1E-1000 Inexact Rounded Subnormal Underflow
|
| 1749 | fmax3958 fma 1 0.001E-999 0.1E-999 -> 1.0E-1000 Inexact Rounded Subnormal Underflow
|
| 1750 | fmax3959 fma 1 0.0009E-999 0.1E-999 -> 1.0E-1000 Inexact Rounded Subnormal Underflow
|
| 1751 | fmax3960 fma 1 0.0001E-999 0.1E-999 -> 1.0E-1000 Inexact Rounded Subnormal Underflow
|
| 1752 | -- negatives...
|
| 1753 | fmax3961 fma 1 1.00E-999 -0.1E-999 -> 9.0E-1000 Subnormal
|
| 1754 | fmax3962 fma 1 0.1E-999 -0.1E-999 -> 0E-1000
|
| 1755 | fmax3963 fma 1 0.10E-999 -0.1E-999 -> 0E-1001
|
| 1756 | fmax3964 fma 1 0.100E-999 -0.1E-999 -> 0E-1001 Clamped
|
| 1757 | fmax3965 fma 1 0.01E-999 -0.1E-999 -> -9E-1001 Subnormal
|
| 1758 | fmax3966 fma 1 0.999E-999 -0.1E-999 -> 9.0E-1000 Inexact Rounded Subnormal Underflow
|
| 1759 | fmax3967 fma 1 0.099E-999 -0.1E-999 -> -0E-1001 Inexact Rounded Subnormal Underflow Clamped
|
| 1760 | fmax3968 fma 1 0.009E-999 -0.1E-999 -> -9E-1001 Inexact Rounded Subnormal Underflow
|
| 1761 | fmax3969 fma 1 0.001E-999 -0.1E-999 -> -1.0E-1000 Inexact Rounded Subnormal Underflow
|
| 1762 | fmax3970 fma 1 0.0009E-999 -0.1E-999 -> -1.0E-1000 Inexact Rounded Subnormal Underflow
|
| 1763 | fmax3971 fma 1 0.0001E-999 -0.1E-999 -> -1.0E-1000 Inexact Rounded Subnormal Underflow
|
| 1764 |
|
| 1765 | -- some 'real' numbers
|
| 1766 | maxExponent: 384
|
| 1767 | minExponent: -383
|
| 1768 | precision: 8
|
| 1769 | fmax3566 fma 1 99999061735E-394 0E-394 -> 9.999906E-384 Inexact Rounded Underflow Subnormal
|
| 1770 | precision: 7
|
| 1771 | fmax3567 fma 1 99999061735E-394 0E-394 -> 9.99991E-384 Inexact Rounded Underflow Subnormal
|
| 1772 | precision: 6
|
| 1773 | fmax3568 fma 1 99999061735E-394 0E-394 -> 9.9999E-384 Inexact Rounded Underflow Subnormal
|
| 1774 |
|
| 1775 | -- now the case where we can get underflow but the result is normal
|
| 1776 | -- [note this can't happen if the operands are also bounded, as we
|
| 1777 | -- cannot represent 1E-399, for example]
|
| 1778 | precision: 16
|
| 1779 | rounding: half_up
|
| 1780 | maxExponent: 384
|
| 1781 | minExponent: -383
|
| 1782 |
|
| 1783 | fmax3571 fma 1 1E-383 0 -> 1E-383
|
| 1784 | fmax3572 fma 1 1E-384 0 -> 1E-384 Subnormal
|
| 1785 | fmax3573 fma 1 1E-383 1E-384 -> 1.1E-383
|
| 1786 | fmax3574 subtract 1E-383 1E-384 -> 9E-384 Subnormal
|
| 1787 |
|
| 1788 | -- Here we explore the boundary of rounding a subnormal to Nmin
|
| 1789 | fmax3575 subtract 1E-383 1E-398 -> 9.99999999999999E-384 Subnormal
|
| 1790 | fmax3576 subtract 1E-383 1E-398 -> 9.99999999999999E-384 Subnormal
|
| 1791 | fmax3577 subtract 1E-383 1E-399 -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded
|
| 1792 | fmax3578 subtract 1E-383 1E-400 -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded
|
| 1793 | fmax3579 subtract 1E-383 1E-401 -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded
|
| 1794 | fmax3580 subtract 1E-383 1E-402 -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded
|
| 1795 |
|
| 1796 | -- check for double-rounded subnormals
|
| 1797 | precision: 5
|
| 1798 | maxexponent: 79
|
| 1799 | minexponent: -79
|
| 1800 | -- Add: lhs and rhs 0
|
| 1801 | fmax31001 fma 1 1.52444E-80 0 -> 1.524E-80 Inexact Rounded Subnormal Underflow
|
| 1802 | fmax31002 fma 1 1.52445E-80 0 -> 1.524E-80 Inexact Rounded Subnormal Underflow
|
| 1803 | fmax31003 fma 1 1.52446E-80 0 -> 1.524E-80 Inexact Rounded Subnormal Underflow
|
| 1804 | fmax31004 fma 1 0 1.52444E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow
|
| 1805 | fmax31005 fma 1 0 1.52445E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow
|
| 1806 | fmax31006 fma 1 0 1.52446E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow
|
| 1807 |
|
| 1808 | -- Add: lhs >> rhs and vice versa
|
| 1809 | fmax31011 fma 1 1.52444E-80 1E-100 -> 1.524E-80 Inexact Rounded Subnormal Underflow
|
| 1810 | fmax31012 fma 1 1.52445E-80 1E-100 -> 1.524E-80 Inexact Rounded Subnormal Underflow
|
| 1811 | fmax31013 fma 1 1.52446E-80 1E-100 -> 1.524E-80 Inexact Rounded Subnormal Underflow
|
| 1812 | fmax31014 fma 1 1E-100 1.52444E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow
|
| 1813 | fmax31015 fma 1 1E-100 1.52445E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow
|
| 1814 | fmax31016 fma 1 1E-100 1.52446E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow
|
| 1815 |
|
| 1816 | -- Add: lhs + rhs fma 1 ition carried out
|
| 1817 | fmax31021 fma 1 1.52443E-80 1.00001E-80 -> 2.524E-80 Inexact Rounded Subnormal Underflow
|
| 1818 | fmax31022 fma 1 1.52444E-80 1.00001E-80 -> 2.524E-80 Inexact Rounded Subnormal Underflow
|
| 1819 | fmax31023 fma 1 1.52445E-80 1.00001E-80 -> 2.524E-80 Inexact Rounded Subnormal Underflow
|
| 1820 | fmax31024 fma 1 1.00001E-80 1.52443E-80 -> 2.524E-80 Inexact Rounded Subnormal Underflow
|
| 1821 | fmax31025 fma 1 1.00001E-80 1.52444E-80 -> 2.524E-80 Inexact Rounded Subnormal Underflow
|
| 1822 | fmax31026 fma 1 1.00001E-80 1.52445E-80 -> 2.524E-80 Inexact Rounded Subnormal Underflow
|
| 1823 |
|
| 1824 | -- And for round down full and subnormal results
|
| 1825 | precision: 16
|
| 1826 | maxExponent: +384
|
| 1827 | minExponent: -383
|
| 1828 | rounding: down
|
| 1829 |
|
| 1830 | fmax31100 fma 1 1e+2 -1e-383 -> 99.99999999999999 Rounded Inexact
|
| 1831 | fmax31101 fma 1 1e+1 -1e-383 -> 9.999999999999999 Rounded Inexact
|
| 1832 | fmax31103 fma 1 +1 -1e-383 -> 0.9999999999999999 Rounded Inexact
|
| 1833 | fmax31104 fma 1 1e-1 -1e-383 -> 0.09999999999999999 Rounded Inexact
|
| 1834 | fmax31105 fma 1 1e-2 -1e-383 -> 0.009999999999999999 Rounded Inexact
|
| 1835 | fmax31106 fma 1 1e-3 -1e-383 -> 0.0009999999999999999 Rounded Inexact
|
| 1836 | fmax31107 fma 1 1e-4 -1e-383 -> 0.00009999999999999999 Rounded Inexact
|
| 1837 | fmax31108 fma 1 1e-5 -1e-383 -> 0.000009999999999999999 Rounded Inexact
|
| 1838 | fmax31109 fma 1 1e-6 -1e-383 -> 9.999999999999999E-7 Rounded Inexact
|
| 1839 |
|
| 1840 | rounding: ceiling
|
| 1841 | fmax31110 fma 1 -1e+2 +1e-383 -> -99.99999999999999 Rounded Inexact
|
| 1842 | fmax31111 fma 1 -1e+1 +1e-383 -> -9.999999999999999 Rounded Inexact
|
| 1843 | fmax31113 fma 1 -1 +1e-383 -> -0.9999999999999999 Rounded Inexact
|
| 1844 | fmax31114 fma 1 -1e-1 +1e-383 -> -0.09999999999999999 Rounded Inexact
|
| 1845 | fmax31115 fma 1 -1e-2 +1e-383 -> -0.009999999999999999 Rounded Inexact
|
| 1846 | fmax31116 fma 1 -1e-3 +1e-383 -> -0.0009999999999999999 Rounded Inexact
|
| 1847 | fmax31117 fma 1 -1e-4 +1e-383 -> -0.00009999999999999999 Rounded Inexact
|
| 1848 | fmax31118 fma 1 -1e-5 +1e-383 -> -0.000009999999999999999 Rounded Inexact
|
| 1849 | fmax31119 fma 1 -1e-6 +1e-383 -> -9.999999999999999E-7 Rounded Inexact
|
| 1850 |
|
| 1851 | rounding: down
|
| 1852 | precision: 7
|
| 1853 | maxExponent: +96
|
| 1854 | minExponent: -95
|
| 1855 | fmax31130 fma 1 1 -1e-200 -> 0.9999999 Rounded Inexact
|
| 1856 | -- subnormal boundary
|
| 1857 | fmax31131 fma 1 1.000000E-94 -1e-200 -> 9.999999E-95 Rounded Inexact
|
| 1858 | fmax31132 fma 1 1.000001E-95 -1e-200 -> 1.000000E-95 Rounded Inexact
|
| 1859 | fmax31133 fma 1 1.000000E-95 -1e-200 -> 9.99999E-96 Rounded Inexact Subnormal Underflow
|
| 1860 | fmax31134 fma 1 0.999999E-95 -1e-200 -> 9.99998E-96 Rounded Inexact Subnormal Underflow
|
| 1861 | fmax31135 fma 1 0.001000E-95 -1e-200 -> 9.99E-99 Rounded Inexact Subnormal Underflow
|
| 1862 | fmax31136 fma 1 0.000999E-95 -1e-200 -> 9.98E-99 Rounded Inexact Subnormal Underflow
|
| 1863 | fmax31137 fma 1 1.000000E-95 -1e-101 -> 9.99999E-96 Subnormal
|
| 1864 | fmax31138 fma 1 10000E-101 -1e-200 -> 9.999E-98 Subnormal Inexact Rounded Underflow
|
| 1865 | fmax31139 fma 1 1000E-101 -1e-200 -> 9.99E-99 Subnormal Inexact Rounded Underflow
|
| 1866 | fmax31140 fma 1 100E-101 -1e-200 -> 9.9E-100 Subnormal Inexact Rounded Underflow
|
| 1867 | fmax31141 fma 1 10E-101 -1e-200 -> 9E-101 Subnormal Inexact Rounded Underflow
|
| 1868 | fmax31142 fma 1 1E-101 -1e-200 -> 0E-101 Subnormal Inexact Rounded Underflow Clamped
|
| 1869 | fmax31143 fma 1 0E-101 -1e-200 -> -0E-101 Subnormal Inexact Rounded Underflow Clamped
|
| 1870 | fmax31144 fma 1 1E-102 -1e-200 -> 0E-101 Subnormal Inexact Rounded Underflow Clamped
|
| 1871 |
|
| 1872 | fmax31151 fma 1 10000E-102 -1e-200 -> 9.99E-99 Subnormal Inexact Rounded Underflow
|
| 1873 | fmax31152 fma 1 1000E-102 -1e-200 -> 9.9E-100 Subnormal Inexact Rounded Underflow
|
| 1874 | fmax31153 fma 1 100E-102 -1e-200 -> 9E-101 Subnormal Inexact Rounded Underflow
|
| 1875 | fmax31154 fma 1 10E-102 -1e-200 -> 0E-101 Subnormal Inexact Rounded Underflow Clamped
|
| 1876 | fmax31155 fma 1 1E-102 -1e-200 -> 0E-101 Subnormal Inexact Rounded Underflow Clamped
|
| 1877 | fmax31156 fma 1 0E-102 -1e-200 -> -0E-101 Subnormal Inexact Rounded Underflow Clamped
|
| 1878 | fmax31157 fma 1 1E-103 -1e-200 -> 0E-101 Subnormal Inexact Rounded Underflow Clamped
|
| 1879 |
|
| 1880 | fmax31160 fma 1 100E-105 -1e-101 -> -0E-101 Subnormal Inexact Rounded Underflow Clamped
|
| 1881 | fmax31161 fma 1 100E-105 -1e-201 -> 0E-101 Subnormal Inexact Rounded Underflow Clamped
|
| 1882 |
|
| 1883 | -- tests based on Gunnar Degnbol's edge case
|
| 1884 | precision: 15
|
| 1885 | rounding: half_up
|
| 1886 | maxExponent: 384
|
| 1887 | minexponent: -383
|
| 1888 |
|
| 1889 | fmax31200 fma 1 1E15 -0.5 -> 1.00000000000000E+15 Inexact Rounded
|
| 1890 | fmax31201 fma 1 1E15 -0.50 -> 1.00000000000000E+15 Inexact Rounded
|
| 1891 | fmax31210 fma 1 1E15 -0.51 -> 999999999999999 Inexact Rounded
|
| 1892 | fmax31211 fma 1 1E15 -0.501 -> 999999999999999 Inexact Rounded
|
| 1893 | fmax31212 fma 1 1E15 -0.5001 -> 999999999999999 Inexact Rounded
|
| 1894 | fmax31213 fma 1 1E15 -0.50001 -> 999999999999999 Inexact Rounded
|
| 1895 | fmax31214 fma 1 1E15 -0.500001 -> 999999999999999 Inexact Rounded
|
| 1896 | fmax31215 fma 1 1E15 -0.5000001 -> 999999999999999 Inexact Rounded
|
| 1897 | fmax31216 fma 1 1E15 -0.50000001 -> 999999999999999 Inexact Rounded
|
| 1898 | fmax31217 fma 1 1E15 -0.500000001 -> 999999999999999 Inexact Rounded
|
| 1899 | fmax31218 fma 1 1E15 -0.5000000001 -> 999999999999999 Inexact Rounded
|
| 1900 | fmax31219 fma 1 1E15 -0.50000000001 -> 999999999999999 Inexact Rounded
|
| 1901 | fmax31220 fma 1 1E15 -0.500000000001 -> 999999999999999 Inexact Rounded
|
| 1902 | fmax31221 fma 1 1E15 -0.5000000000001 -> 999999999999999 Inexact Rounded
|
| 1903 | fmax31222 fma 1 1E15 -0.50000000000001 -> 999999999999999 Inexact Rounded
|
| 1904 | fmax31223 fma 1 1E15 -0.500000000000001 -> 999999999999999 Inexact Rounded
|
| 1905 | fmax31224 fma 1 1E15 -0.5000000000000001 -> 999999999999999 Inexact Rounded
|
| 1906 | fmax31225 fma 1 1E15 -0.5000000000000000 -> 1.00000000000000E+15 Inexact Rounded
|
| 1907 | fmax31230 fma 1 1E15 -5000000.000000001 -> 999999995000000 Inexact Rounded
|
| 1908 |
|
| 1909 | precision: 16
|
| 1910 |
|
| 1911 | fmax31300 fma 1 1E16 -0.5 -> 1.000000000000000E+16 Inexact Rounded
|
| 1912 | fmax31310 fma 1 1E16 -0.51 -> 9999999999999999 Inexact Rounded
|
| 1913 | fmax31311 fma 1 1E16 -0.501 -> 9999999999999999 Inexact Rounded
|
| 1914 | fmax31312 fma 1 1E16 -0.5001 -> 9999999999999999 Inexact Rounded
|
| 1915 | fmax31313 fma 1 1E16 -0.50001 -> 9999999999999999 Inexact Rounded
|
| 1916 | fmax31314 fma 1 1E16 -0.500001 -> 9999999999999999 Inexact Rounded
|
| 1917 | fmax31315 fma 1 1E16 -0.5000001 -> 9999999999999999 Inexact Rounded
|
| 1918 | fmax31316 fma 1 1E16 -0.50000001 -> 9999999999999999 Inexact Rounded
|
| 1919 | fmax31317 fma 1 1E16 -0.500000001 -> 9999999999999999 Inexact Rounded
|
| 1920 | fmax31318 fma 1 1E16 -0.5000000001 -> 9999999999999999 Inexact Rounded
|
| 1921 | fmax31319 fma 1 1E16 -0.50000000001 -> 9999999999999999 Inexact Rounded
|
| 1922 | fmax31320 fma 1 1E16 -0.500000000001 -> 9999999999999999 Inexact Rounded
|
| 1923 | fmax31321 fma 1 1E16 -0.5000000000001 -> 9999999999999999 Inexact Rounded
|
| 1924 | fmax31322 fma 1 1E16 -0.50000000000001 -> 9999999999999999 Inexact Rounded
|
| 1925 | fmax31323 fma 1 1E16 -0.500000000000001 -> 9999999999999999 Inexact Rounded
|
| 1926 | fmax31324 fma 1 1E16 -0.5000000000000001 -> 9999999999999999 Inexact Rounded
|
| 1927 | fmax31325 fma 1 1E16 -0.5000000000000000 -> 1.000000000000000E+16 Inexact Rounded
|
| 1928 | fmax31326 fma 1 1E16 -0.500000000000000 -> 1.000000000000000E+16 Inexact Rounded
|
| 1929 | fmax31327 fma 1 1E16 -0.50000000000000 -> 1.000000000000000E+16 Inexact Rounded
|
| 1930 | fmax31328 fma 1 1E16 -0.5000000000000 -> 1.000000000000000E+16 Inexact Rounded
|
| 1931 | fmax31329 fma 1 1E16 -0.500000000000 -> 1.000000000000000E+16 Inexact Rounded
|
| 1932 | fmax31330 fma 1 1E16 -0.50000000000 -> 1.000000000000000E+16 Inexact Rounded
|
| 1933 | fmax31331 fma 1 1E16 -0.5000000000 -> 1.000000000000000E+16 Inexact Rounded
|
| 1934 | fmax31332 fma 1 1E16 -0.500000000 -> 1.000000000000000E+16 Inexact Rounded
|
| 1935 | fmax31333 fma 1 1E16 -0.50000000 -> 1.000000000000000E+16 Inexact Rounded
|
| 1936 | fmax31334 fma 1 1E16 -0.5000000 -> 1.000000000000000E+16 Inexact Rounded
|
| 1937 | fmax31335 fma 1 1E16 -0.500000 -> 1.000000000000000E+16 Inexact Rounded
|
| 1938 | fmax31336 fma 1 1E16 -0.50000 -> 1.000000000000000E+16 Inexact Rounded
|
| 1939 | fmax31337 fma 1 1E16 -0.5000 -> 1.000000000000000E+16 Inexact Rounded
|
| 1940 | fmax31338 fma 1 1E16 -0.500 -> 1.000000000000000E+16 Inexact Rounded
|
| 1941 | fmax31339 fma 1 1E16 -0.50 -> 1.000000000000000E+16 Inexact Rounded
|
| 1942 |
|
| 1943 | fmax31340 fma 1 1E16 -5000000.000010001 -> 9999999995000000 Inexact Rounded
|
| 1944 | fmax31341 fma 1 1E16 -5000000.000000001 -> 9999999995000000 Inexact Rounded
|
| 1945 |
|
| 1946 | fmax31349 fma 1 9999999999999999 0.4 -> 9999999999999999 Inexact Rounded
|
| 1947 | fmax31350 fma 1 9999999999999999 0.49 -> 9999999999999999 Inexact Rounded
|
| 1948 | fmax31351 fma 1 9999999999999999 0.499 -> 9999999999999999 Inexact Rounded
|
| 1949 | fmax31352 fma 1 9999999999999999 0.4999 -> 9999999999999999 Inexact Rounded
|
| 1950 | fmax31353 fma 1 9999999999999999 0.49999 -> 9999999999999999 Inexact Rounded
|
| 1951 | fmax31354 fma 1 9999999999999999 0.499999 -> 9999999999999999 Inexact Rounded
|
| 1952 | fmax31355 fma 1 9999999999999999 0.4999999 -> 9999999999999999 Inexact Rounded
|
| 1953 | fmax31356 fma 1 9999999999999999 0.49999999 -> 9999999999999999 Inexact Rounded
|
| 1954 | fmax31357 fma 1 9999999999999999 0.499999999 -> 9999999999999999 Inexact Rounded
|
| 1955 | fmax31358 fma 1 9999999999999999 0.4999999999 -> 9999999999999999 Inexact Rounded
|
| 1956 | fmax31359 fma 1 9999999999999999 0.49999999999 -> 9999999999999999 Inexact Rounded
|
| 1957 | fmax31360 fma 1 9999999999999999 0.499999999999 -> 9999999999999999 Inexact Rounded
|
| 1958 | fmax31361 fma 1 9999999999999999 0.4999999999999 -> 9999999999999999 Inexact Rounded
|
| 1959 | fmax31362 fma 1 9999999999999999 0.49999999999999 -> 9999999999999999 Inexact Rounded
|
| 1960 | fmax31363 fma 1 9999999999999999 0.499999999999999 -> 9999999999999999 Inexact Rounded
|
| 1961 | fmax31364 fma 1 9999999999999999 0.4999999999999999 -> 9999999999999999 Inexact Rounded
|
| 1962 | fmax31365 fma 1 9999999999999999 0.5000000000000000 -> 1.000000000000000E+16 Inexact Rounded
|
| 1963 | fmax31367 fma 1 9999999999999999 0.500000000000000 -> 1.000000000000000E+16 Inexact Rounded
|
| 1964 | fmax31368 fma 1 9999999999999999 0.50000000000000 -> 1.000000000000000E+16 Inexact Rounded
|
| 1965 | fmax31369 fma 1 9999999999999999 0.5000000000000 -> 1.000000000000000E+16 Inexact Rounded
|
| 1966 | fmax31370 fma 1 9999999999999999 0.500000000000 -> 1.000000000000000E+16 Inexact Rounded
|
| 1967 | fmax31371 fma 1 9999999999999999 0.50000000000 -> 1.000000000000000E+16 Inexact Rounded
|
| 1968 | fmax31372 fma 1 9999999999999999 0.5000000000 -> 1.000000000000000E+16 Inexact Rounded
|
| 1969 | fmax31373 fma 1 9999999999999999 0.500000000 -> 1.000000000000000E+16 Inexact Rounded
|
| 1970 | fmax31374 fma 1 9999999999999999 0.50000000 -> 1.000000000000000E+16 Inexact Rounded
|
| 1971 | fmax31375 fma 1 9999999999999999 0.5000000 -> 1.000000000000000E+16 Inexact Rounded
|
| 1972 | fmax31376 fma 1 9999999999999999 0.500000 -> 1.000000000000000E+16 Inexact Rounded
|
| 1973 | fmax31377 fma 1 9999999999999999 0.50000 -> 1.000000000000000E+16 Inexact Rounded
|
| 1974 | fmax31378 fma 1 9999999999999999 0.5000 -> 1.000000000000000E+16 Inexact Rounded
|
| 1975 | fmax31379 fma 1 9999999999999999 0.500 -> 1.000000000000000E+16 Inexact Rounded
|
| 1976 | fmax31380 fma 1 9999999999999999 0.50 -> 1.000000000000000E+16 Inexact Rounded
|
| 1977 | fmax31381 fma 1 9999999999999999 0.5 -> 1.000000000000000E+16 Inexact Rounded
|
| 1978 | fmax31382 fma 1 9999999999999999 0.5000000000000001 -> 1.000000000000000E+16 Inexact Rounded
|
| 1979 | fmax31383 fma 1 9999999999999999 0.500000000000001 -> 1.000000000000000E+16 Inexact Rounded
|
| 1980 | fmax31384 fma 1 9999999999999999 0.50000000000001 -> 1.000000000000000E+16 Inexact Rounded
|
| 1981 | fmax31385 fma 1 9999999999999999 0.5000000000001 -> 1.000000000000000E+16 Inexact Rounded
|
| 1982 | fmax31386 fma 1 9999999999999999 0.500000000001 -> 1.000000000000000E+16 Inexact Rounded
|
| 1983 | fmax31387 fma 1 9999999999999999 0.50000000001 -> 1.000000000000000E+16 Inexact Rounded
|
| 1984 | fmax31388 fma 1 9999999999999999 0.5000000001 -> 1.000000000000000E+16 Inexact Rounded
|
| 1985 | fmax31389 fma 1 9999999999999999 0.500000001 -> 1.000000000000000E+16 Inexact Rounded
|
| 1986 | fmax31390 fma 1 9999999999999999 0.50000001 -> 1.000000000000000E+16 Inexact Rounded
|
| 1987 | fmax31391 fma 1 9999999999999999 0.5000001 -> 1.000000000000000E+16 Inexact Rounded
|
| 1988 | fmax31392 fma 1 9999999999999999 0.500001 -> 1.000000000000000E+16 Inexact Rounded
|
| 1989 | fmax31393 fma 1 9999999999999999 0.50001 -> 1.000000000000000E+16 Inexact Rounded
|
| 1990 | fmax31394 fma 1 9999999999999999 0.5001 -> 1.000000000000000E+16 Inexact Rounded
|
| 1991 | fmax31395 fma 1 9999999999999999 0.501 -> 1.000000000000000E+16 Inexact Rounded
|
| 1992 | fmax31396 fma 1 9999999999999999 0.51 -> 1.000000000000000E+16 Inexact Rounded
|
| 1993 |
|
| 1994 | -- More GD edge cases, where difference between the unadjusted
|
| 1995 | -- exponents is larger than the maximum precision and one side is 0
|
| 1996 | precision: 15
|
| 1997 | rounding: half_up
|
| 1998 | maxExponent: 384
|
| 1999 | minexponent: -383
|
| 2000 |
|
| 2001 | fmax31400 fma 1 0 1.23456789012345 -> 1.23456789012345
|
| 2002 | fmax31401 fma 1 0 1.23456789012345E-1 -> 0.123456789012345
|
| 2003 | fmax31402 fma 1 0 1.23456789012345E-2 -> 0.0123456789012345
|
| 2004 | fmax31403 fma 1 0 1.23456789012345E-3 -> 0.00123456789012345
|
| 2005 | fmax31404 fma 1 0 1.23456789012345E-4 -> 0.000123456789012345
|
| 2006 | fmax31405 fma 1 0 1.23456789012345E-5 -> 0.0000123456789012345
|
| 2007 | fmax31406 fma 1 0 1.23456789012345E-6 -> 0.00000123456789012345
|
| 2008 | fmax31407 fma 1 0 1.23456789012345E-7 -> 1.23456789012345E-7
|
| 2009 | fmax31408 fma 1 0 1.23456789012345E-8 -> 1.23456789012345E-8
|
| 2010 | fmax31409 fma 1 0 1.23456789012345E-9 -> 1.23456789012345E-9
|
| 2011 | fmax31410 fma 1 0 1.23456789012345E-10 -> 1.23456789012345E-10
|
| 2012 | fmax31411 fma 1 0 1.23456789012345E-11 -> 1.23456789012345E-11
|
| 2013 | fmax31412 fma 1 0 1.23456789012345E-12 -> 1.23456789012345E-12
|
| 2014 | fmax31413 fma 1 0 1.23456789012345E-13 -> 1.23456789012345E-13
|
| 2015 | fmax31414 fma 1 0 1.23456789012345E-14 -> 1.23456789012345E-14
|
| 2016 | fmax31415 fma 1 0 1.23456789012345E-15 -> 1.23456789012345E-15
|
| 2017 | fmax31416 fma 1 0 1.23456789012345E-16 -> 1.23456789012345E-16
|
| 2018 | fmax31417 fma 1 0 1.23456789012345E-17 -> 1.23456789012345E-17
|
| 2019 | fmax31418 fma 1 0 1.23456789012345E-18 -> 1.23456789012345E-18
|
| 2020 | fmax31419 fma 1 0 1.23456789012345E-19 -> 1.23456789012345E-19
|
| 2021 |
|
| 2022 | -- same, precision 16..
|
| 2023 | precision: 16
|
| 2024 | fmax31420 fma 1 0 1.123456789012345 -> 1.123456789012345
|
| 2025 | fmax31421 fma 1 0 1.123456789012345E-1 -> 0.1123456789012345
|
| 2026 | fmax31422 fma 1 0 1.123456789012345E-2 -> 0.01123456789012345
|
| 2027 | fmax31423 fma 1 0 1.123456789012345E-3 -> 0.001123456789012345
|
| 2028 | fmax31424 fma 1 0 1.123456789012345E-4 -> 0.0001123456789012345
|
| 2029 | fmax31425 fma 1 0 1.123456789012345E-5 -> 0.00001123456789012345
|
| 2030 | fmax31426 fma 1 0 1.123456789012345E-6 -> 0.000001123456789012345
|
| 2031 | fmax31427 fma 1 0 1.123456789012345E-7 -> 1.123456789012345E-7
|
| 2032 | fmax31428 fma 1 0 1.123456789012345E-8 -> 1.123456789012345E-8
|
| 2033 | fmax31429 fma 1 0 1.123456789012345E-9 -> 1.123456789012345E-9
|
| 2034 | fmax31430 fma 1 0 1.123456789012345E-10 -> 1.123456789012345E-10
|
| 2035 | fmax31431 fma 1 0 1.123456789012345E-11 -> 1.123456789012345E-11
|
| 2036 | fmax31432 fma 1 0 1.123456789012345E-12 -> 1.123456789012345E-12
|
| 2037 | fmax31433 fma 1 0 1.123456789012345E-13 -> 1.123456789012345E-13
|
| 2038 | fmax31434 fma 1 0 1.123456789012345E-14 -> 1.123456789012345E-14
|
| 2039 | fmax31435 fma 1 0 1.123456789012345E-15 -> 1.123456789012345E-15
|
| 2040 | fmax31436 fma 1 0 1.123456789012345E-16 -> 1.123456789012345E-16
|
| 2041 | fmax31437 fma 1 0 1.123456789012345E-17 -> 1.123456789012345E-17
|
| 2042 | fmax31438 fma 1 0 1.123456789012345E-18 -> 1.123456789012345E-18
|
| 2043 | fmax31439 fma 1 0 1.123456789012345E-19 -> 1.123456789012345E-19
|
| 2044 |
|
| 2045 | -- same, reversed 0
|
| 2046 | fmax31440 fma 1 1.123456789012345 0 -> 1.123456789012345
|
| 2047 | fmax31441 fma 1 1.123456789012345E-1 0 -> 0.1123456789012345
|
| 2048 | fmax31442 fma 1 1.123456789012345E-2 0 -> 0.01123456789012345
|
| 2049 | fmax31443 fma 1 1.123456789012345E-3 0 -> 0.001123456789012345
|
| 2050 | fmax31444 fma 1 1.123456789012345E-4 0 -> 0.0001123456789012345
|
| 2051 | fmax31445 fma 1 1.123456789012345E-5 0 -> 0.00001123456789012345
|
| 2052 | fmax31446 fma 1 1.123456789012345E-6 0 -> 0.000001123456789012345
|
| 2053 | fmax31447 fma 1 1.123456789012345E-7 0 -> 1.123456789012345E-7
|
| 2054 | fmax31448 fma 1 1.123456789012345E-8 0 -> 1.123456789012345E-8
|
| 2055 | fmax31449 fma 1 1.123456789012345E-9 0 -> 1.123456789012345E-9
|
| 2056 | fmax31450 fma 1 1.123456789012345E-10 0 -> 1.123456789012345E-10
|
| 2057 | fmax31451 fma 1 1.123456789012345E-11 0 -> 1.123456789012345E-11
|
| 2058 | fmax31452 fma 1 1.123456789012345E-12 0 -> 1.123456789012345E-12
|
| 2059 | fmax31453 fma 1 1.123456789012345E-13 0 -> 1.123456789012345E-13
|
| 2060 | fmax31454 fma 1 1.123456789012345E-14 0 -> 1.123456789012345E-14
|
| 2061 | fmax31455 fma 1 1.123456789012345E-15 0 -> 1.123456789012345E-15
|
| 2062 | fmax31456 fma 1 1.123456789012345E-16 0 -> 1.123456789012345E-16
|
| 2063 | fmax31457 fma 1 1.123456789012345E-17 0 -> 1.123456789012345E-17
|
| 2064 | fmax31458 fma 1 1.123456789012345E-18 0 -> 1.123456789012345E-18
|
| 2065 | fmax31459 fma 1 1.123456789012345E-19 0 -> 1.123456789012345E-19
|
| 2066 |
|
| 2067 | -- same, Es on the 0
|
| 2068 | fmax31460 fma 1 1.123456789012345 0E-0 -> 1.123456789012345
|
| 2069 | fmax31461 fma 1 1.123456789012345 0E-1 -> 1.123456789012345
|
| 2070 | fmax31462 fma 1 1.123456789012345 0E-2 -> 1.123456789012345
|
| 2071 | fmax31463 fma 1 1.123456789012345 0E-3 -> 1.123456789012345
|
| 2072 | fmax31464 fma 1 1.123456789012345 0E-4 -> 1.123456789012345
|
| 2073 | fmax31465 fma 1 1.123456789012345 0E-5 -> 1.123456789012345
|
| 2074 | fmax31466 fma 1 1.123456789012345 0E-6 -> 1.123456789012345
|
| 2075 | fmax31467 fma 1 1.123456789012345 0E-7 -> 1.123456789012345
|
| 2076 | fmax31468 fma 1 1.123456789012345 0E-8 -> 1.123456789012345
|
| 2077 | fmax31469 fma 1 1.123456789012345 0E-9 -> 1.123456789012345
|
| 2078 | fmax31470 fma 1 1.123456789012345 0E-10 -> 1.123456789012345
|
| 2079 | fmax31471 fma 1 1.123456789012345 0E-11 -> 1.123456789012345
|
| 2080 | fmax31472 fma 1 1.123456789012345 0E-12 -> 1.123456789012345
|
| 2081 | fmax31473 fma 1 1.123456789012345 0E-13 -> 1.123456789012345
|
| 2082 | fmax31474 fma 1 1.123456789012345 0E-14 -> 1.123456789012345
|
| 2083 | fmax31475 fma 1 1.123456789012345 0E-15 -> 1.123456789012345
|
| 2084 | -- next four flag Rounded because the 0 extends the result
|
| 2085 | fmax31476 fma 1 1.123456789012345 0E-16 -> 1.123456789012345 Rounded
|
| 2086 | fmax31477 fma 1 1.123456789012345 0E-17 -> 1.123456789012345 Rounded
|
| 2087 | fmax31478 fma 1 1.123456789012345 0E-18 -> 1.123456789012345 Rounded
|
| 2088 | fmax31479 fma 1 1.123456789012345 0E-19 -> 1.123456789012345 Rounded
|
| 2089 |
|
| 2090 | -- sum of two opposite-sign operands is exactly 0 and floor => -0
|
| 2091 | precision: 16
|
| 2092 | maxExponent: 384
|
| 2093 | minexponent: -383
|
| 2094 |
|
| 2095 | rounding: half_up
|
| 2096 | -- exact zeros from zeros
|
| 2097 | fmax31500 fma 1 0 0E-19 -> 0E-19
|
| 2098 | fmax31501 fma 1 -0 0E-19 -> 0E-19
|
| 2099 | fmax31502 fma 1 0 -0E-19 -> 0E-19
|
| 2100 | fmax31503 fma 1 -0 -0E-19 -> -0E-19
|
| 2101 | fmax31504 fma 1 0E-400 0E-19 -> 0E-398 Clamped
|
| 2102 | fmax31505 fma 1 -0E-400 0E-19 -> 0E-398 Clamped
|
| 2103 | fmax31506 fma 1 0E-400 -0E-19 -> 0E-398 Clamped
|
| 2104 | fmax31507 fma 1 -0E-400 -0E-19 -> -0E-398 Clamped
|
| 2105 | -- inexact zeros
|
| 2106 | fmax31511 fma 1 1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 2107 | fmax31512 fma 1 -1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 2108 | fmax31513 fma 1 1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 2109 | fmax31514 fma 1 -1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 2110 | -- some exact zeros from non-zeros
|
| 2111 | fmax31515 fma 1 1E-401 1E-401 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 2112 | fmax31516 fma 1 -1E-401 1E-401 -> 0E-398 Clamped
|
| 2113 | fmax31517 fma 1 1E-401 -1E-401 -> 0E-398 Clamped
|
| 2114 | fmax31518 fma 1 -1E-401 -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 2115 |
|
| 2116 | rounding: half_down
|
| 2117 | -- exact zeros from zeros
|
| 2118 | fmax31520 fma 1 0 0E-19 -> 0E-19
|
| 2119 | fmax31521 fma 1 -0 0E-19 -> 0E-19
|
| 2120 | fmax31522 fma 1 0 -0E-19 -> 0E-19
|
| 2121 | fmax31523 fma 1 -0 -0E-19 -> -0E-19
|
| 2122 | fmax31524 fma 1 0E-400 0E-19 -> 0E-398 Clamped
|
| 2123 | fmax31525 fma 1 -0E-400 0E-19 -> 0E-398 Clamped
|
| 2124 | fmax31526 fma 1 0E-400 -0E-19 -> 0E-398 Clamped
|
| 2125 | fmax31527 fma 1 -0E-400 -0E-19 -> -0E-398 Clamped
|
| 2126 | -- inexact zeros
|
| 2127 | fmax31531 fma 1 1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 2128 | fmax31532 fma 1 -1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 2129 | fmax31533 fma 1 1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 2130 | fmax31534 fma 1 -1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 2131 | -- some exact zeros from non-zeros
|
| 2132 | fmax31535 fma 1 1E-401 1E-401 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 2133 | fmax31536 fma 1 -1E-401 1E-401 -> 0E-398 Clamped
|
| 2134 | fmax31537 fma 1 1E-401 -1E-401 -> 0E-398 Clamped
|
| 2135 | fmax31538 fma 1 -1E-401 -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 2136 |
|
| 2137 | rounding: half_even
|
| 2138 | -- exact zeros from zeros
|
| 2139 | fmax31540 fma 1 0 0E-19 -> 0E-19
|
| 2140 | fmax31541 fma 1 -0 0E-19 -> 0E-19
|
| 2141 | fmax31542 fma 1 0 -0E-19 -> 0E-19
|
| 2142 | fmax31543 fma 1 -0 -0E-19 -> -0E-19
|
| 2143 | fmax31544 fma 1 0E-400 0E-19 -> 0E-398 Clamped
|
| 2144 | fmax31545 fma 1 -0E-400 0E-19 -> 0E-398 Clamped
|
| 2145 | fmax31546 fma 1 0E-400 -0E-19 -> 0E-398 Clamped
|
| 2146 | fmax31547 fma 1 -0E-400 -0E-19 -> -0E-398 Clamped
|
| 2147 | -- inexact zeros
|
| 2148 | fmax31551 fma 1 1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 2149 | fmax31552 fma 1 -1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 2150 | fmax31553 fma 1 1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 2151 | fmax31554 fma 1 -1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 2152 | -- some exact zeros from non-zeros
|
| 2153 | fmax31555 fma 1 1E-401 1E-401 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 2154 | fmax31556 fma 1 -1E-401 1E-401 -> 0E-398 Clamped
|
| 2155 | fmax31557 fma 1 1E-401 -1E-401 -> 0E-398 Clamped
|
| 2156 | fmax31558 fma 1 -1E-401 -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 2157 |
|
| 2158 | rounding: up
|
| 2159 | -- exact zeros from zeros
|
| 2160 | fmax31560 fma 1 0 0E-19 -> 0E-19
|
| 2161 | fmax31561 fma 1 -0 0E-19 -> 0E-19
|
| 2162 | fmax31562 fma 1 0 -0E-19 -> 0E-19
|
| 2163 | fmax31563 fma 1 -0 -0E-19 -> -0E-19
|
| 2164 | fmax31564 fma 1 0E-400 0E-19 -> 0E-398 Clamped
|
| 2165 | fmax31565 fma 1 -0E-400 0E-19 -> 0E-398 Clamped
|
| 2166 | fmax31566 fma 1 0E-400 -0E-19 -> 0E-398 Clamped
|
| 2167 | fmax31567 fma 1 -0E-400 -0E-19 -> -0E-398 Clamped
|
| 2168 | -- inexact zeros
|
| 2169 | fmax31571 fma 1 1E-401 1E-400 -> 1E-398 Subnormal Inexact Rounded Underflow
|
| 2170 | fmax31572 fma 1 -1E-401 1E-400 -> 1E-398 Subnormal Inexact Rounded Underflow
|
| 2171 | fmax31573 fma 1 1E-401 -1E-400 -> -1E-398 Subnormal Inexact Rounded Underflow
|
| 2172 | fmax31574 fma 1 -1E-401 -1E-400 -> -1E-398 Subnormal Inexact Rounded Underflow
|
| 2173 | -- some exact zeros from non-zeros
|
| 2174 | fmax31575 fma 1 1E-401 1E-401 -> 1E-398 Subnormal Inexact Rounded Underflow
|
| 2175 | fmax31576 fma 1 -1E-401 1E-401 -> 0E-398 Clamped
|
| 2176 | fmax31577 fma 1 1E-401 -1E-401 -> 0E-398 Clamped
|
| 2177 | fmax31578 fma 1 -1E-401 -1E-401 -> -1E-398 Subnormal Inexact Rounded Underflow
|
| 2178 |
|
| 2179 | rounding: down
|
| 2180 | -- exact zeros from zeros
|
| 2181 | fmax31580 fma 1 0 0E-19 -> 0E-19
|
| 2182 | fmax31581 fma 1 -0 0E-19 -> 0E-19
|
| 2183 | fmax31582 fma 1 0 -0E-19 -> 0E-19
|
| 2184 | fmax31583 fma 1 -0 -0E-19 -> -0E-19
|
| 2185 | fmax31584 fma 1 0E-400 0E-19 -> 0E-398 Clamped
|
| 2186 | fmax31585 fma 1 -0E-400 0E-19 -> 0E-398 Clamped
|
| 2187 | fmax31586 fma 1 0E-400 -0E-19 -> 0E-398 Clamped
|
| 2188 | fmax31587 fma 1 -0E-400 -0E-19 -> -0E-398 Clamped
|
| 2189 | -- inexact zeros
|
| 2190 | fmax31591 fma 1 1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 2191 | fmax31592 fma 1 -1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 2192 | fmax31593 fma 1 1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 2193 | fmax31594 fma 1 -1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 2194 | -- some exact zeros from non-zeros
|
| 2195 | fmax31595 fma 1 1E-401 1E-401 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 2196 | fmax31596 fma 1 -1E-401 1E-401 -> 0E-398 Clamped
|
| 2197 | fmax31597 fma 1 1E-401 -1E-401 -> 0E-398 Clamped
|
| 2198 | fmax31598 fma 1 -1E-401 -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 2199 |
|
| 2200 | rounding: ceiling
|
| 2201 | -- exact zeros from zeros
|
| 2202 | fmax31600 fma 1 0 0E-19 -> 0E-19
|
| 2203 | fmax31601 fma 1 -0 0E-19 -> 0E-19
|
| 2204 | fmax31602 fma 1 0 -0E-19 -> 0E-19
|
| 2205 | fmax31603 fma 1 -0 -0E-19 -> -0E-19
|
| 2206 | fmax31604 fma 1 0E-400 0E-19 -> 0E-398 Clamped
|
| 2207 | fmax31605 fma 1 -0E-400 0E-19 -> 0E-398 Clamped
|
| 2208 | fmax31606 fma 1 0E-400 -0E-19 -> 0E-398 Clamped
|
| 2209 | fmax31607 fma 1 -0E-400 -0E-19 -> -0E-398 Clamped
|
| 2210 | -- inexact zeros
|
| 2211 | fmax31611 fma 1 1E-401 1E-400 -> 1E-398 Subnormal Inexact Rounded Underflow
|
| 2212 | fmax31612 fma 1 -1E-401 1E-400 -> 1E-398 Subnormal Inexact Rounded Underflow
|
| 2213 | fmax31613 fma 1 1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 2214 | fmax31614 fma 1 -1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 2215 | -- some exact zeros from non-zeros
|
| 2216 | fmax31615 fma 1 1E-401 1E-401 -> 1E-398 Subnormal Inexact Rounded Underflow
|
| 2217 | fmax31616 fma 1 -1E-401 1E-401 -> 0E-398 Clamped
|
| 2218 | fmax31617 fma 1 1E-401 -1E-401 -> 0E-398 Clamped
|
| 2219 | fmax31618 fma 1 -1E-401 -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 2220 |
|
| 2221 | -- and the extra-special ugly case; unusual minuses marked by -- *
|
| 2222 | rounding: floor
|
| 2223 | -- exact zeros from zeros
|
| 2224 | fmax31620 fma 1 0 0E-19 -> 0E-19
|
| 2225 | fmax31621 fma 1 -0 0E-19 -> -0E-19 -- *
|
| 2226 | fmax31622 fma 1 0 -0E-19 -> -0E-19 -- *
|
| 2227 | fmax31623 fma 1 -0 -0E-19 -> -0E-19
|
| 2228 | fmax31624 fma 1 0E-400 0E-19 -> 0E-398 Clamped
|
| 2229 | fmax31625 fma 1 -0E-400 0E-19 -> -0E-398 Clamped -- *
|
| 2230 | fmax31626 fma 1 0E-400 -0E-19 -> -0E-398 Clamped -- *
|
| 2231 | fmax31627 fma 1 -0E-400 -0E-19 -> -0E-398 Clamped
|
| 2232 | -- inexact zeros
|
| 2233 | fmax31631 fma 1 1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 2234 | fmax31632 fma 1 -1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 2235 | fmax31633 fma 1 1E-401 -1E-400 -> -1E-398 Subnormal Inexact Rounded Underflow
|
| 2236 | fmax31634 fma 1 -1E-401 -1E-400 -> -1E-398 Subnormal Inexact Rounded Underflow
|
| 2237 | -- some exact zeros from non-zeros
|
| 2238 | fmax31635 fma 1 1E-401 1E-401 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 2239 | fmax31636 fma 1 -1E-401 1E-401 -> -0E-398 Clamped -- *
|
| 2240 | fmax31637 fma 1 1E-401 -1E-401 -> -0E-398 Clamped -- *
|
| 2241 | fmax31638 fma 1 -1E-401 -1E-401 -> -1E-398 Subnormal Inexact Rounded Underflow
|
| 2242 |
|
| 2243 | -- BigDecimal problem testcases 2006.01.23
|
| 2244 | precision: 16
|
| 2245 | maxExponent: 384
|
| 2246 | minexponent: -383
|
| 2247 |
|
| 2248 | rounding: down
|
| 2249 | precision: 7
|
| 2250 | fmax31651 fma 1 10001E+2 -2E+1 -> 1.00008E+6
|
| 2251 | precision: 6
|
| 2252 | fmax31652 fma 1 10001E+2 -2E+1 -> 1.00008E+6
|
| 2253 | precision: 5
|
| 2254 | fmax31653 fma 1 10001E+2 -2E+1 -> 1.0000E+6 Inexact Rounded
|
| 2255 | precision: 4
|
| 2256 | fmax31654 fma 1 10001E+2 -2E+1 -> 1.000E+6 Inexact Rounded
|
| 2257 | precision: 3
|
| 2258 | fmax31655 fma 1 10001E+2 -2E+1 -> 1.00E+6 Inexact Rounded
|
| 2259 | precision: 2
|
| 2260 | fmax31656 fma 1 10001E+2 -2E+1 -> 1.0E+6 Inexact Rounded
|
| 2261 | precision: 1
|
| 2262 | fmax31657 fma 1 10001E+2 -2E+1 -> 1E+6 Inexact Rounded
|
| 2263 |
|
| 2264 | rounding: half_even
|
| 2265 | precision: 7
|
| 2266 | fmax31661 fma 1 10001E+2 -2E+1 -> 1.00008E+6
|
| 2267 | precision: 6
|
| 2268 | fmax31662 fma 1 10001E+2 -2E+1 -> 1.00008E+6
|
| 2269 | precision: 5
|
| 2270 | fmax31663 fma 1 10001E+2 -2E+1 -> 1.0001E+6 Inexact Rounded
|
| 2271 | precision: 4
|
| 2272 | fmax31664 fma 1 10001E+2 -2E+1 -> 1.000E+6 Inexact Rounded
|
| 2273 | precision: 3
|
| 2274 | fmax31665 fma 1 10001E+2 -2E+1 -> 1.00E+6 Inexact Rounded
|
| 2275 | precision: 2
|
| 2276 | fmax31666 fma 1 10001E+2 -2E+1 -> 1.0E+6 Inexact Rounded
|
| 2277 | precision: 1
|
| 2278 | fmax31667 fma 1 10001E+2 -2E+1 -> 1E+6 Inexact Rounded
|
| 2279 |
|
| 2280 | rounding: up
|
| 2281 | precision: 7
|
| 2282 | fmax31671 fma 1 10001E+2 -2E+1 -> 1.00008E+6
|
| 2283 | precision: 6
|
| 2284 | fmax31672 fma 1 10001E+2 -2E+1 -> 1.00008E+6
|
| 2285 | precision: 5
|
| 2286 | fmax31673 fma 1 10001E+2 -2E+1 -> 1.0001E+6 Inexact Rounded
|
| 2287 | precision: 4
|
| 2288 | fmax31674 fma 1 10001E+2 -2E+1 -> 1.001E+6 Inexact Rounded
|
| 2289 | precision: 3
|
| 2290 | fmax31675 fma 1 10001E+2 -2E+1 -> 1.01E+6 Inexact Rounded
|
| 2291 | precision: 2
|
| 2292 | fmax31676 fma 1 10001E+2 -2E+1 -> 1.1E+6 Inexact Rounded
|
| 2293 | precision: 1
|
| 2294 | fmax31677 fma 1 10001E+2 -2E+1 -> 2E+6 Inexact Rounded
|
| 2295 |
|
| 2296 | precision: 34
|
| 2297 | rounding: half_up
|
| 2298 | maxExponent: 6144
|
| 2299 | minExponent: -6143
|
| 2300 | -- Examples from SQL proposal (Krishna Kulkarni)
|
| 2301 | fmax31701 fma 1 130E-2 120E-2 -> 2.50
|
| 2302 | fmax31702 fma 1 130E-2 12E-1 -> 2.50
|
| 2303 | fmax31703 fma 1 130E-2 1E0 -> 2.30
|
| 2304 | fmax31704 fma 1 1E2 1E4 -> 1.01E+4
|
| 2305 | fmax31705 subtract 130E-2 120E-2 -> 0.10
|
| 2306 | fmax31706 subtract 130E-2 12E-1 -> 0.10
|
| 2307 | fmax31707 subtract 130E-2 1E0 -> 0.30
|
| 2308 | fmax31708 subtract 1E2 1E4 -> -9.9E+3
|
| 2309 |
|
| 2310 | ------------------------------------------------------------------------
|
| 2311 | -- Same as above, using decimal64 default parameters --
|
| 2312 | ------------------------------------------------------------------------
|
| 2313 | precision: 16
|
| 2314 | rounding: half_even
|
| 2315 | maxExponent: 384
|
| 2316 | minexponent: -383
|
| 2317 |
|
| 2318 | -- [first group are 'quick confidence check']
|
| 2319 | fmax36001 fma 1 1 1 -> 2
|
| 2320 | fmax36002 fma 1 2 3 -> 5
|
| 2321 | fmax36003 fma 1 '5.75' '3.3' -> 9.05
|
| 2322 | fmax36004 fma 1 '5' '-3' -> 2
|
| 2323 | fmax36005 fma 1 '-5' '-3' -> -8
|
| 2324 | fmax36006 fma 1 '-7' '2.5' -> -4.5
|
| 2325 | fmax36007 fma 1 '0.7' '0.3' -> 1.0
|
| 2326 | fmax36008 fma 1 '1.25' '1.25' -> 2.50
|
| 2327 | fmax36009 fma 1 '1.23456789' '1.00000000' -> '2.23456789'
|
| 2328 | fmax36010 fma 1 '1.23456789' '1.00000011' -> '2.23456800'
|
| 2329 |
|
| 2330 | fmax36011 fma 1 '0.44444444444444444' '0.55555555555555555' -> '1.000000000000000' Inexact Rounded
|
| 2331 | fmax36012 fma 1 '0.44444444444444440' '0.55555555555555555' -> '1.000000000000000' Inexact Rounded
|
| 2332 | fmax36013 fma 1 '0.44444444444444444' '0.55555555555555550' -> '0.9999999999999999' Inexact Rounded
|
| 2333 | fmax36014 fma 1 '0.444444444444444449' '0' -> '0.4444444444444444' Inexact Rounded
|
| 2334 | fmax36015 fma 1 '0.4444444444444444499' '0' -> '0.4444444444444444' Inexact Rounded
|
| 2335 | fmax36016 fma 1 '0.44444444444444444999' '0' -> '0.4444444444444444' Inexact Rounded
|
| 2336 | fmax36017 fma 1 '0.44444444444444445000' '0' -> '0.4444444444444444' Inexact Rounded
|
| 2337 | fmax36018 fma 1 '0.44444444444444445001' '0' -> '0.4444444444444445' Inexact Rounded
|
| 2338 | fmax36019 fma 1 '0.4444444444444444501' '0' -> '0.4444444444444445' Inexact Rounded
|
| 2339 | fmax36020 fma 1 '0.444444444444444451' '0' -> '0.4444444444444445' Inexact Rounded
|
| 2340 |
|
| 2341 | fmax36021 fma 1 0 1 -> 1
|
| 2342 | fmax36022 fma 1 1 1 -> 2
|
| 2343 | fmax36023 fma 1 2 1 -> 3
|
| 2344 | fmax36024 fma 1 3 1 -> 4
|
| 2345 | fmax36025 fma 1 4 1 -> 5
|
| 2346 | fmax36026 fma 1 5 1 -> 6
|
| 2347 | fmax36027 fma 1 6 1 -> 7
|
| 2348 | fmax36028 fma 1 7 1 -> 8
|
| 2349 | fmax36029 fma 1 8 1 -> 9
|
| 2350 | fmax36030 fma 1 9 1 -> 10
|
| 2351 |
|
| 2352 | -- some carrying effects
|
| 2353 | fmax36031 fma 1 '0.9998' '0.0000' -> '0.9998'
|
| 2354 | fmax36032 fma 1 '0.9998' '0.0001' -> '0.9999'
|
| 2355 | fmax36033 fma 1 '0.9998' '0.0002' -> '1.0000'
|
| 2356 | fmax36034 fma 1 '0.9998' '0.0003' -> '1.0001'
|
| 2357 |
|
| 2358 | fmax36035 fma 1 '70' '10000e+16' -> '1.000000000000000E+20' Inexact Rounded
|
| 2359 | fmax36036 fma 1 '700' '10000e+16' -> '1.000000000000000E+20' Inexact Rounded
|
| 2360 | fmax36037 fma 1 '7000' '10000e+16' -> '1.000000000000000E+20' Inexact Rounded
|
| 2361 | fmax36038 fma 1 '70000' '10000e+16' -> '1.000000000000001E+20' Inexact Rounded
|
| 2362 | fmax36039 fma 1 '700000' '10000e+16' -> '1.000000000000007E+20' Rounded
|
| 2363 |
|
| 2364 | -- symmetry:
|
| 2365 | fmax36040 fma 1 '10000e+16' '70' -> '1.000000000000000E+20' Inexact Rounded
|
| 2366 | fmax36041 fma 1 '10000e+16' '700' -> '1.000000000000000E+20' Inexact Rounded
|
| 2367 | fmax36042 fma 1 '10000e+16' '7000' -> '1.000000000000000E+20' Inexact Rounded
|
| 2368 | fmax36044 fma 1 '10000e+16' '70000' -> '1.000000000000001E+20' Inexact Rounded
|
| 2369 | fmax36045 fma 1 '10000e+16' '700000' -> '1.000000000000007E+20' Rounded
|
| 2370 |
|
| 2371 | fmax36046 fma 1 '10000e+9' '7' -> '10000000000007'
|
| 2372 | fmax36047 fma 1 '10000e+9' '70' -> '10000000000070'
|
| 2373 | fmax36048 fma 1 '10000e+9' '700' -> '10000000000700'
|
| 2374 | fmax36049 fma 1 '10000e+9' '7000' -> '10000000007000'
|
| 2375 | fmax36050 fma 1 '10000e+9' '70000' -> '10000000070000'
|
| 2376 | fmax36051 fma 1 '10000e+9' '700000' -> '10000000700000'
|
| 2377 |
|
| 2378 | -- examples from decarith
|
| 2379 | fmax36053 fma 1 '12' '7.00' -> '19.00'
|
| 2380 | fmax36054 fma 1 '1.3' '-1.07' -> '0.23'
|
| 2381 | fmax36055 fma 1 '1.3' '-1.30' -> '0.00'
|
| 2382 | fmax36056 fma 1 '1.3' '-2.07' -> '-0.77'
|
| 2383 | fmax36057 fma 1 '1E+2' '1E+4' -> '1.01E+4'
|
| 2384 |
|
| 2385 | -- from above
|
| 2386 | fmax36061 fma 1 1 '0.1' -> '1.1'
|
| 2387 | fmax36062 fma 1 1 '0.01' -> '1.01'
|
| 2388 | fmax36063 fma 1 1 '0.001' -> '1.001'
|
| 2389 | fmax36064 fma 1 1 '0.0001' -> '1.0001'
|
| 2390 | fmax36065 fma 1 1 '0.00001' -> '1.00001'
|
| 2391 | fmax36066 fma 1 1 '0.000001' -> '1.000001'
|
| 2392 | fmax36067 fma 1 1 '0.0000001' -> '1.0000001'
|
| 2393 | fmax36068 fma 1 1 '0.00000001' -> '1.00000001'
|
| 2394 |
|
| 2395 | -- some funny zeros [in case of bad signum]
|
| 2396 | fmax36070 fma 1 1 0 -> 1
|
| 2397 | fmax36071 fma 1 1 0. -> 1
|
| 2398 | fmax36072 fma 1 1 .0 -> 1.0
|
| 2399 | fmax36073 fma 1 1 0.0 -> 1.0
|
| 2400 | fmax36074 fma 1 1 0.00 -> 1.00
|
| 2401 | fmax36075 fma 1 0 1 -> 1
|
| 2402 | fmax36076 fma 1 0. 1 -> 1
|
| 2403 | fmax36077 fma 1 .0 1 -> 1.0
|
| 2404 | fmax36078 fma 1 0.0 1 -> 1.0
|
| 2405 | fmax36079 fma 1 0.00 1 -> 1.00
|
| 2406 |
|
| 2407 | -- some carries
|
| 2408 | fmax36080 fma 1 9999999999999998 1 -> 9999999999999999
|
| 2409 | fmax36081 fma 1 9999999999999999 1 -> 1.000000000000000E+16 Rounded
|
| 2410 | fmax36082 fma 1 999999999999999 1 -> 1000000000000000
|
| 2411 | fmax36083 fma 1 9999999999999 1 -> 10000000000000
|
| 2412 | fmax36084 fma 1 99999999999 1 -> 100000000000
|
| 2413 | fmax36085 fma 1 999999999 1 -> 1000000000
|
| 2414 | fmax36086 fma 1 9999999 1 -> 10000000
|
| 2415 | fmax36087 fma 1 99999 1 -> 100000
|
| 2416 | fmax36088 fma 1 999 1 -> 1000
|
| 2417 | fmax36089 fma 1 9 1 -> 10
|
| 2418 |
|
| 2419 |
|
| 2420 | -- more LHS swaps
|
| 2421 | fmax36090 fma 1 '-56267E-10' 0 -> '-0.0000056267'
|
| 2422 | fmax36091 fma 1 '-56267E-6' 0 -> '-0.056267'
|
| 2423 | fmax36092 fma 1 '-56267E-5' 0 -> '-0.56267'
|
| 2424 | fmax36093 fma 1 '-56267E-4' 0 -> '-5.6267'
|
| 2425 | fmax36094 fma 1 '-56267E-3' 0 -> '-56.267'
|
| 2426 | fmax36095 fma 1 '-56267E-2' 0 -> '-562.67'
|
| 2427 | fmax36096 fma 1 '-56267E-1' 0 -> '-5626.7'
|
| 2428 | fmax36097 fma 1 '-56267E-0' 0 -> '-56267'
|
| 2429 | fmax36098 fma 1 '-5E-10' 0 -> '-5E-10'
|
| 2430 | fmax36099 fma 1 '-5E-7' 0 -> '-5E-7'
|
| 2431 | fmax36100 fma 1 '-5E-6' 0 -> '-0.000005'
|
| 2432 | fmax36101 fma 1 '-5E-5' 0 -> '-0.00005'
|
| 2433 | fmax36102 fma 1 '-5E-4' 0 -> '-0.0005'
|
| 2434 | fmax36103 fma 1 '-5E-1' 0 -> '-0.5'
|
| 2435 | fmax36104 fma 1 '-5E0' 0 -> '-5'
|
| 2436 | fmax36105 fma 1 '-5E1' 0 -> '-50'
|
| 2437 | fmax36106 fma 1 '-5E5' 0 -> '-500000'
|
| 2438 | fmax36107 fma 1 '-5E15' 0 -> '-5000000000000000'
|
| 2439 | fmax36108 fma 1 '-5E16' 0 -> '-5.000000000000000E+16' Rounded
|
| 2440 | fmax36109 fma 1 '-5E17' 0 -> '-5.000000000000000E+17' Rounded
|
| 2441 | fmax36110 fma 1 '-5E18' 0 -> '-5.000000000000000E+18' Rounded
|
| 2442 | fmax36111 fma 1 '-5E100' 0 -> '-5.000000000000000E+100' Rounded
|
| 2443 |
|
| 2444 | -- more RHS swaps
|
| 2445 | fmax36113 fma 1 0 '-56267E-10' -> '-0.0000056267'
|
| 2446 | fmax36114 fma 1 0 '-56267E-6' -> '-0.056267'
|
| 2447 | fmax36116 fma 1 0 '-56267E-5' -> '-0.56267'
|
| 2448 | fmax36117 fma 1 0 '-56267E-4' -> '-5.6267'
|
| 2449 | fmax36119 fma 1 0 '-56267E-3' -> '-56.267'
|
| 2450 | fmax36120 fma 1 0 '-56267E-2' -> '-562.67'
|
| 2451 | fmax36121 fma 1 0 '-56267E-1' -> '-5626.7'
|
| 2452 | fmax36122 fma 1 0 '-56267E-0' -> '-56267'
|
| 2453 | fmax36123 fma 1 0 '-5E-10' -> '-5E-10'
|
| 2454 | fmax36124 fma 1 0 '-5E-7' -> '-5E-7'
|
| 2455 | fmax36125 fma 1 0 '-5E-6' -> '-0.000005'
|
| 2456 | fmax36126 fma 1 0 '-5E-5' -> '-0.00005'
|
| 2457 | fmax36127 fma 1 0 '-5E-4' -> '-0.0005'
|
| 2458 | fmax36128 fma 1 0 '-5E-1' -> '-0.5'
|
| 2459 | fmax36129 fma 1 0 '-5E0' -> '-5'
|
| 2460 | fmax36130 fma 1 0 '-5E1' -> '-50'
|
| 2461 | fmax36131 fma 1 0 '-5E5' -> '-500000'
|
| 2462 | fmax36132 fma 1 0 '-5E15' -> '-5000000000000000'
|
| 2463 | fmax36133 fma 1 0 '-5E16' -> '-5.000000000000000E+16' Rounded
|
| 2464 | fmax36134 fma 1 0 '-5E17' -> '-5.000000000000000E+17' Rounded
|
| 2465 | fmax36135 fma 1 0 '-5E18' -> '-5.000000000000000E+18' Rounded
|
| 2466 | fmax36136 fma 1 0 '-5E100' -> '-5.000000000000000E+100' Rounded
|
| 2467 |
|
| 2468 | -- related
|
| 2469 | fmax36137 fma 1 1 '0E-19' -> '1.000000000000000' Rounded
|
| 2470 | fmax36138 fma 1 -1 '0E-19' -> '-1.000000000000000' Rounded
|
| 2471 | fmax36139 fma 1 '0E-19' 1 -> '1.000000000000000' Rounded
|
| 2472 | fmax36140 fma 1 '0E-19' -1 -> '-1.000000000000000' Rounded
|
| 2473 | fmax36141 fma 1 1E+11 0.0000 -> '100000000000.0000'
|
| 2474 | fmax36142 fma 1 1E+11 0.00000 -> '100000000000.0000' Rounded
|
| 2475 | fmax36143 fma 1 0.000 1E+12 -> '1000000000000.000'
|
| 2476 | fmax36144 fma 1 0.0000 1E+12 -> '1000000000000.000' Rounded
|
| 2477 |
|
| 2478 | -- [some of the next group are really constructor tests]
|
| 2479 | fmax36146 fma 1 '00.0' 0 -> '0.0'
|
| 2480 | fmax36147 fma 1 '0.00' 0 -> '0.00'
|
| 2481 | fmax36148 fma 1 0 '0.00' -> '0.00'
|
| 2482 | fmax36149 fma 1 0 '00.0' -> '0.0'
|
| 2483 | fmax36150 fma 1 '00.0' '0.00' -> '0.00'
|
| 2484 | fmax36151 fma 1 '0.00' '00.0' -> '0.00'
|
| 2485 | fmax36152 fma 1 '3' '.3' -> '3.3'
|
| 2486 | fmax36153 fma 1 '3.' '.3' -> '3.3'
|
| 2487 | fmax36154 fma 1 '3.0' '.3' -> '3.3'
|
| 2488 | fmax36155 fma 1 '3.00' '.3' -> '3.30'
|
| 2489 | fmax36156 fma 1 '3' '3' -> '6'
|
| 2490 | fmax36157 fma 1 '3' '+3' -> '6'
|
| 2491 | fmax36158 fma 1 '3' '-3' -> '0'
|
| 2492 | fmax36159 fma 1 '0.3' '-0.3' -> '0.0'
|
| 2493 | fmax36160 fma 1 '0.03' '-0.03' -> '0.00'
|
| 2494 |
|
| 2495 | -- try borderline precision, with carries, etc.
|
| 2496 | fmax36161 fma 1 '1E+13' '-1' -> '9999999999999'
|
| 2497 | fmax36162 fma 1 '1E+13' '1.11' -> '10000000000001.11'
|
| 2498 | fmax36163 fma 1 '1.11' '1E+13' -> '10000000000001.11'
|
| 2499 | fmax36164 fma 1 '-1' '1E+13' -> '9999999999999'
|
| 2500 | fmax36165 fma 1 '7E+13' '-1' -> '69999999999999'
|
| 2501 | fmax36166 fma 1 '7E+13' '1.11' -> '70000000000001.11'
|
| 2502 | fmax36167 fma 1 '1.11' '7E+13' -> '70000000000001.11'
|
| 2503 | fmax36168 fma 1 '-1' '7E+13' -> '69999999999999'
|
| 2504 |
|
| 2505 | -- 1234567890123456 1234567890123456 1 234567890123456
|
| 2506 | fmax36170 fma 1 '0.4444444444444444' '0.5555555555555563' -> '1.000000000000001' Inexact Rounded
|
| 2507 | fmax36171 fma 1 '0.4444444444444444' '0.5555555555555562' -> '1.000000000000001' Inexact Rounded
|
| 2508 | fmax36172 fma 1 '0.4444444444444444' '0.5555555555555561' -> '1.000000000000000' Inexact Rounded
|
| 2509 | fmax36173 fma 1 '0.4444444444444444' '0.5555555555555560' -> '1.000000000000000' Inexact Rounded
|
| 2510 | fmax36174 fma 1 '0.4444444444444444' '0.5555555555555559' -> '1.000000000000000' Inexact Rounded
|
| 2511 | fmax36175 fma 1 '0.4444444444444444' '0.5555555555555558' -> '1.000000000000000' Inexact Rounded
|
| 2512 | fmax36176 fma 1 '0.4444444444444444' '0.5555555555555557' -> '1.000000000000000' Inexact Rounded
|
| 2513 | fmax36177 fma 1 '0.4444444444444444' '0.5555555555555556' -> '1.000000000000000' Rounded
|
| 2514 | fmax36178 fma 1 '0.4444444444444444' '0.5555555555555555' -> '0.9999999999999999'
|
| 2515 | fmax36179 fma 1 '0.4444444444444444' '0.5555555555555554' -> '0.9999999999999998'
|
| 2516 | fmax36180 fma 1 '0.4444444444444444' '0.5555555555555553' -> '0.9999999999999997'
|
| 2517 | fmax36181 fma 1 '0.4444444444444444' '0.5555555555555552' -> '0.9999999999999996'
|
| 2518 | fmax36182 fma 1 '0.4444444444444444' '0.5555555555555551' -> '0.9999999999999995'
|
| 2519 | fmax36183 fma 1 '0.4444444444444444' '0.5555555555555550' -> '0.9999999999999994'
|
| 2520 |
|
| 2521 | -- and some more, including residue effects and different roundings
|
| 2522 | rounding: half_up
|
| 2523 | fmax36200 fma 1 '6543210123456789' 0 -> '6543210123456789'
|
| 2524 | fmax36201 fma 1 '6543210123456789' 0.000000001 -> '6543210123456789' Inexact Rounded
|
| 2525 | fmax36202 fma 1 '6543210123456789' 0.000001 -> '6543210123456789' Inexact Rounded
|
| 2526 | fmax36203 fma 1 '6543210123456789' 0.1 -> '6543210123456789' Inexact Rounded
|
| 2527 | fmax36204 fma 1 '6543210123456789' 0.4 -> '6543210123456789' Inexact Rounded
|
| 2528 | fmax36205 fma 1 '6543210123456789' 0.49 -> '6543210123456789' Inexact Rounded
|
| 2529 | fmax36206 fma 1 '6543210123456789' 0.499999 -> '6543210123456789' Inexact Rounded
|
| 2530 | fmax36207 fma 1 '6543210123456789' 0.499999 -> '6543210123456789' Inexact Rounded
|
| 2531 | fmax36208 fma 1 '6543210123456789' 0.5 -> '6543210123456790' Inexact Rounded
|
| 2532 | fmax36209 fma 1 '6543210123456789' 0.500000001 -> '6543210123456790' Inexact Rounded
|
| 2533 | fmax36210 fma 1 '6543210123456789' 0.500001 -> '6543210123456790' Inexact Rounded
|
| 2534 | fmax36211 fma 1 '6543210123456789' 0.51 -> '6543210123456790' Inexact Rounded
|
| 2535 | fmax36212 fma 1 '6543210123456789' 0.6 -> '6543210123456790' Inexact Rounded
|
| 2536 | fmax36213 fma 1 '6543210123456789' 0.9 -> '6543210123456790' Inexact Rounded
|
| 2537 | fmax36214 fma 1 '6543210123456789' 0.99999 -> '6543210123456790' Inexact Rounded
|
| 2538 | fmax36215 fma 1 '6543210123456789' 0.999999 -> '6543210123456790' Inexact Rounded
|
| 2539 | fmax36216 fma 1 '6543210123456789' 1 -> '6543210123456790'
|
| 2540 | fmax36217 fma 1 '6543210123456789' 1.000000001 -> '6543210123456790' Inexact Rounded
|
| 2541 | fmax36218 fma 1 '6543210123456789' 1.00001 -> '6543210123456790' Inexact Rounded
|
| 2542 | fmax36219 fma 1 '6543210123456789' 1.1 -> '6543210123456790' Inexact Rounded
|
| 2543 |
|
| 2544 | rounding: half_even
|
| 2545 | fmax36220 fma 1 '6543210123456789' 0 -> '6543210123456789'
|
| 2546 | fmax36221 fma 1 '6543210123456789' 0.000000001 -> '6543210123456789' Inexact Rounded
|
| 2547 | fmax36222 fma 1 '6543210123456789' 0.000001 -> '6543210123456789' Inexact Rounded
|
| 2548 | fmax36223 fma 1 '6543210123456789' 0.1 -> '6543210123456789' Inexact Rounded
|
| 2549 | fmax36224 fma 1 '6543210123456789' 0.4 -> '6543210123456789' Inexact Rounded
|
| 2550 | fmax36225 fma 1 '6543210123456789' 0.49 -> '6543210123456789' Inexact Rounded
|
| 2551 | fmax36226 fma 1 '6543210123456789' 0.499999 -> '6543210123456789' Inexact Rounded
|
| 2552 | fmax36227 fma 1 '6543210123456789' 0.499999 -> '6543210123456789' Inexact Rounded
|
| 2553 | fmax36228 fma 1 '6543210123456789' 0.5 -> '6543210123456790' Inexact Rounded
|
| 2554 | fmax36229 fma 1 '6543210123456789' 0.500000001 -> '6543210123456790' Inexact Rounded
|
| 2555 | fmax36230 fma 1 '6543210123456789' 0.500001 -> '6543210123456790' Inexact Rounded
|
| 2556 | fmax36231 fma 1 '6543210123456789' 0.51 -> '6543210123456790' Inexact Rounded
|
| 2557 | fmax36232 fma 1 '6543210123456789' 0.6 -> '6543210123456790' Inexact Rounded
|
| 2558 | fmax36233 fma 1 '6543210123456789' 0.9 -> '6543210123456790' Inexact Rounded
|
| 2559 | fmax36234 fma 1 '6543210123456789' 0.99999 -> '6543210123456790' Inexact Rounded
|
| 2560 | fmax36235 fma 1 '6543210123456789' 0.999999 -> '6543210123456790' Inexact Rounded
|
| 2561 | fmax36236 fma 1 '6543210123456789' 1 -> '6543210123456790'
|
| 2562 | fmax36237 fma 1 '6543210123456789' 1.00000001 -> '6543210123456790' Inexact Rounded
|
| 2563 | fmax36238 fma 1 '6543210123456789' 1.00001 -> '6543210123456790' Inexact Rounded
|
| 2564 | fmax36239 fma 1 '6543210123456789' 1.1 -> '6543210123456790' Inexact Rounded
|
| 2565 | -- critical few with even bottom digit...
|
| 2566 | fmax36240 fma 1 '6543210123456788' 0.499999 -> '6543210123456788' Inexact Rounded
|
| 2567 | fmax36241 fma 1 '6543210123456788' 0.5 -> '6543210123456788' Inexact Rounded
|
| 2568 | fmax36242 fma 1 '6543210123456788' 0.500000001 -> '6543210123456789' Inexact Rounded
|
| 2569 |
|
| 2570 | rounding: down
|
| 2571 | fmax36250 fma 1 '6543210123456789' 0 -> '6543210123456789'
|
| 2572 | fmax36251 fma 1 '6543210123456789' 0.000000001 -> '6543210123456789' Inexact Rounded
|
| 2573 | fmax36252 fma 1 '6543210123456789' 0.000001 -> '6543210123456789' Inexact Rounded
|
| 2574 | fmax36253 fma 1 '6543210123456789' 0.1 -> '6543210123456789' Inexact Rounded
|
| 2575 | fmax36254 fma 1 '6543210123456789' 0.4 -> '6543210123456789' Inexact Rounded
|
| 2576 | fmax36255 fma 1 '6543210123456789' 0.49 -> '6543210123456789' Inexact Rounded
|
| 2577 | fmax36256 fma 1 '6543210123456789' 0.499999 -> '6543210123456789' Inexact Rounded
|
| 2578 | fmax36257 fma 1 '6543210123456789' 0.499999 -> '6543210123456789' Inexact Rounded
|
| 2579 | fmax36258 fma 1 '6543210123456789' 0.5 -> '6543210123456789' Inexact Rounded
|
| 2580 | fmax36259 fma 1 '6543210123456789' 0.500000001 -> '6543210123456789' Inexact Rounded
|
| 2581 | fmax36260 fma 1 '6543210123456789' 0.500001 -> '6543210123456789' Inexact Rounded
|
| 2582 | fmax36261 fma 1 '6543210123456789' 0.51 -> '6543210123456789' Inexact Rounded
|
| 2583 | fmax36262 fma 1 '6543210123456789' 0.6 -> '6543210123456789' Inexact Rounded
|
| 2584 | fmax36263 fma 1 '6543210123456789' 0.9 -> '6543210123456789' Inexact Rounded
|
| 2585 | fmax36264 fma 1 '6543210123456789' 0.99999 -> '6543210123456789' Inexact Rounded
|
| 2586 | fmax36265 fma 1 '6543210123456789' 0.999999 -> '6543210123456789' Inexact Rounded
|
| 2587 | fmax36266 fma 1 '6543210123456789' 1 -> '6543210123456790'
|
| 2588 | fmax36267 fma 1 '6543210123456789' 1.00000001 -> '6543210123456790' Inexact Rounded
|
| 2589 | fmax36268 fma 1 '6543210123456789' 1.00001 -> '6543210123456790' Inexact Rounded
|
| 2590 | fmax36269 fma 1 '6543210123456789' 1.1 -> '6543210123456790' Inexact Rounded
|
| 2591 |
|
| 2592 | -- 1 in last place tests
|
| 2593 | rounding: half_even
|
| 2594 | fmax36301 fma 1 -1 1 -> 0
|
| 2595 | fmax36302 fma 1 0 1 -> 1
|
| 2596 | fmax36303 fma 1 1 1 -> 2
|
| 2597 | fmax36304 fma 1 12 1 -> 13
|
| 2598 | fmax36305 fma 1 98 1 -> 99
|
| 2599 | fmax36306 fma 1 99 1 -> 100
|
| 2600 | fmax36307 fma 1 100 1 -> 101
|
| 2601 | fmax36308 fma 1 101 1 -> 102
|
| 2602 | fmax36309 fma 1 -1 -1 -> -2
|
| 2603 | fmax36310 fma 1 0 -1 -> -1
|
| 2604 | fmax36311 fma 1 1 -1 -> 0
|
| 2605 | fmax36312 fma 1 12 -1 -> 11
|
| 2606 | fmax36313 fma 1 98 -1 -> 97
|
| 2607 | fmax36314 fma 1 99 -1 -> 98
|
| 2608 | fmax36315 fma 1 100 -1 -> 99
|
| 2609 | fmax36316 fma 1 101 -1 -> 100
|
| 2610 |
|
| 2611 | fmax36321 fma 1 -0.01 0.01 -> 0.00
|
| 2612 | fmax36322 fma 1 0.00 0.01 -> 0.01
|
| 2613 | fmax36323 fma 1 0.01 0.01 -> 0.02
|
| 2614 | fmax36324 fma 1 0.12 0.01 -> 0.13
|
| 2615 | fmax36325 fma 1 0.98 0.01 -> 0.99
|
| 2616 | fmax36326 fma 1 0.99 0.01 -> 1.00
|
| 2617 | fmax36327 fma 1 1.00 0.01 -> 1.01
|
| 2618 | fmax36328 fma 1 1.01 0.01 -> 1.02
|
| 2619 | fmax36329 fma 1 -0.01 -0.01 -> -0.02
|
| 2620 | fmax36330 fma 1 0.00 -0.01 -> -0.01
|
| 2621 | fmax36331 fma 1 0.01 -0.01 -> 0.00
|
| 2622 | fmax36332 fma 1 0.12 -0.01 -> 0.11
|
| 2623 | fmax36333 fma 1 0.98 -0.01 -> 0.97
|
| 2624 | fmax36334 fma 1 0.99 -0.01 -> 0.98
|
| 2625 | fmax36335 fma 1 1.00 -0.01 -> 0.99
|
| 2626 | fmax36336 fma 1 1.01 -0.01 -> 1.00
|
| 2627 |
|
| 2628 | -- some more cases where fma 1 ing 0 affects the coefficient
|
| 2629 | fmax36340 fma 1 1E+3 0 -> 1000
|
| 2630 | fmax36341 fma 1 1E+15 0 -> 1000000000000000
|
| 2631 | fmax36342 fma 1 1E+16 0 -> 1.000000000000000E+16 Rounded
|
| 2632 | fmax36343 fma 1 1E+17 0 -> 1.000000000000000E+17 Rounded
|
| 2633 | -- which simply follow from these cases ...
|
| 2634 | fmax36344 fma 1 1E+3 1 -> 1001
|
| 2635 | fmax36345 fma 1 1E+15 1 -> 1000000000000001
|
| 2636 | fmax36346 fma 1 1E+16 1 -> 1.000000000000000E+16 Inexact Rounded
|
| 2637 | fmax36347 fma 1 1E+17 1 -> 1.000000000000000E+17 Inexact Rounded
|
| 2638 | fmax36348 fma 1 1E+3 7 -> 1007
|
| 2639 | fmax36349 fma 1 1E+15 7 -> 1000000000000007
|
| 2640 | fmax36350 fma 1 1E+16 7 -> 1.000000000000001E+16 Inexact Rounded
|
| 2641 | fmax36351 fma 1 1E+17 7 -> 1.000000000000000E+17 Inexact Rounded
|
| 2642 |
|
| 2643 | -- tryzeros cases
|
| 2644 | fmax36361 fma 1 0E+50 10000E+1 -> 1.0000E+5
|
| 2645 | fmax36362 fma 1 10000E+1 0E-50 -> 100000.0000000000 Rounded
|
| 2646 | fmax36363 fma 1 10000E+1 10000E-50 -> 100000.0000000000 Rounded Inexact
|
| 2647 | fmax36364 fma 1 12.34 0e-398 -> 12.34000000000000 Rounded
|
| 2648 |
|
| 2649 | -- ulp replacement tests
|
| 2650 | fmax36400 fma 1 1 77e-14 -> 1.00000000000077
|
| 2651 | fmax36401 fma 1 1 77e-15 -> 1.000000000000077
|
| 2652 | fmax36402 fma 1 1 77e-16 -> 1.000000000000008 Inexact Rounded
|
| 2653 | fmax36403 fma 1 1 77e-17 -> 1.000000000000001 Inexact Rounded
|
| 2654 | fmax36404 fma 1 1 77e-18 -> 1.000000000000000 Inexact Rounded
|
| 2655 | fmax36405 fma 1 1 77e-19 -> 1.000000000000000 Inexact Rounded
|
| 2656 | fmax36406 fma 1 1 77e-99 -> 1.000000000000000 Inexact Rounded
|
| 2657 |
|
| 2658 | fmax36410 fma 1 10 77e-14 -> 10.00000000000077
|
| 2659 | fmax36411 fma 1 10 77e-15 -> 10.00000000000008 Inexact Rounded
|
| 2660 | fmax36412 fma 1 10 77e-16 -> 10.00000000000001 Inexact Rounded
|
| 2661 | fmax36413 fma 1 10 77e-17 -> 10.00000000000000 Inexact Rounded
|
| 2662 | fmax36414 fma 1 10 77e-18 -> 10.00000000000000 Inexact Rounded
|
| 2663 | fmax36415 fma 1 10 77e-19 -> 10.00000000000000 Inexact Rounded
|
| 2664 | fmax36416 fma 1 10 77e-99 -> 10.00000000000000 Inexact Rounded
|
| 2665 |
|
| 2666 | fmax36420 fma 1 77e-14 1 -> 1.00000000000077
|
| 2667 | fmax36421 fma 1 77e-15 1 -> 1.000000000000077
|
| 2668 | fmax36422 fma 1 77e-16 1 -> 1.000000000000008 Inexact Rounded
|
| 2669 | fmax36423 fma 1 77e-17 1 -> 1.000000000000001 Inexact Rounded
|
| 2670 | fmax36424 fma 1 77e-18 1 -> 1.000000000000000 Inexact Rounded
|
| 2671 | fmax36425 fma 1 77e-19 1 -> 1.000000000000000 Inexact Rounded
|
| 2672 | fmax36426 fma 1 77e-99 1 -> 1.000000000000000 Inexact Rounded
|
| 2673 |
|
| 2674 | fmax36430 fma 1 77e-14 10 -> 10.00000000000077
|
| 2675 | fmax36431 fma 1 77e-15 10 -> 10.00000000000008 Inexact Rounded
|
| 2676 | fmax36432 fma 1 77e-16 10 -> 10.00000000000001 Inexact Rounded
|
| 2677 | fmax36433 fma 1 77e-17 10 -> 10.00000000000000 Inexact Rounded
|
| 2678 | fmax36434 fma 1 77e-18 10 -> 10.00000000000000 Inexact Rounded
|
| 2679 | fmax36435 fma 1 77e-19 10 -> 10.00000000000000 Inexact Rounded
|
| 2680 | fmax36436 fma 1 77e-99 10 -> 10.00000000000000 Inexact Rounded
|
| 2681 |
|
| 2682 | -- negative ulps
|
| 2683 | fmax36440 fma 1 1 -77e-14 -> 0.99999999999923
|
| 2684 | fmax36441 fma 1 1 -77e-15 -> 0.999999999999923
|
| 2685 | fmax36442 fma 1 1 -77e-16 -> 0.9999999999999923
|
| 2686 | fmax36443 fma 1 1 -77e-17 -> 0.9999999999999992 Inexact Rounded
|
| 2687 | fmax36444 fma 1 1 -77e-18 -> 0.9999999999999999 Inexact Rounded
|
| 2688 | fmax36445 fma 1 1 -77e-19 -> 1.000000000000000 Inexact Rounded
|
| 2689 | fmax36446 fma 1 1 -77e-99 -> 1.000000000000000 Inexact Rounded
|
| 2690 |
|
| 2691 | fmax36450 fma 1 10 -77e-14 -> 9.99999999999923
|
| 2692 | fmax36451 fma 1 10 -77e-15 -> 9.999999999999923
|
| 2693 | fmax36452 fma 1 10 -77e-16 -> 9.999999999999992 Inexact Rounded
|
| 2694 | fmax36453 fma 1 10 -77e-17 -> 9.999999999999999 Inexact Rounded
|
| 2695 | fmax36454 fma 1 10 -77e-18 -> 10.00000000000000 Inexact Rounded
|
| 2696 | fmax36455 fma 1 10 -77e-19 -> 10.00000000000000 Inexact Rounded
|
| 2697 | fmax36456 fma 1 10 -77e-99 -> 10.00000000000000 Inexact Rounded
|
| 2698 |
|
| 2699 | fmax36460 fma 1 -77e-14 1 -> 0.99999999999923
|
| 2700 | fmax36461 fma 1 -77e-15 1 -> 0.999999999999923
|
| 2701 | fmax36462 fma 1 -77e-16 1 -> 0.9999999999999923
|
| 2702 | fmax36463 fma 1 -77e-17 1 -> 0.9999999999999992 Inexact Rounded
|
| 2703 | fmax36464 fma 1 -77e-18 1 -> 0.9999999999999999 Inexact Rounded
|
| 2704 | fmax36465 fma 1 -77e-19 1 -> 1.000000000000000 Inexact Rounded
|
| 2705 | fmax36466 fma 1 -77e-99 1 -> 1.000000000000000 Inexact Rounded
|
| 2706 |
|
| 2707 | fmax36470 fma 1 -77e-14 10 -> 9.99999999999923
|
| 2708 | fmax36471 fma 1 -77e-15 10 -> 9.999999999999923
|
| 2709 | fmax36472 fma 1 -77e-16 10 -> 9.999999999999992 Inexact Rounded
|
| 2710 | fmax36473 fma 1 -77e-17 10 -> 9.999999999999999 Inexact Rounded
|
| 2711 | fmax36474 fma 1 -77e-18 10 -> 10.00000000000000 Inexact Rounded
|
| 2712 | fmax36475 fma 1 -77e-19 10 -> 10.00000000000000 Inexact Rounded
|
| 2713 | fmax36476 fma 1 -77e-99 10 -> 10.00000000000000 Inexact Rounded
|
| 2714 |
|
| 2715 | -- negative ulps
|
| 2716 | fmax36480 fma 1 -1 77e-14 -> -0.99999999999923
|
| 2717 | fmax36481 fma 1 -1 77e-15 -> -0.999999999999923
|
| 2718 | fmax36482 fma 1 -1 77e-16 -> -0.9999999999999923
|
| 2719 | fmax36483 fma 1 -1 77e-17 -> -0.9999999999999992 Inexact Rounded
|
| 2720 | fmax36484 fma 1 -1 77e-18 -> -0.9999999999999999 Inexact Rounded
|
| 2721 | fmax36485 fma 1 -1 77e-19 -> -1.000000000000000 Inexact Rounded
|
| 2722 | fmax36486 fma 1 -1 77e-99 -> -1.000000000000000 Inexact Rounded
|
| 2723 |
|
| 2724 | fmax36490 fma 1 -10 77e-14 -> -9.99999999999923
|
| 2725 | fmax36491 fma 1 -10 77e-15 -> -9.999999999999923
|
| 2726 | fmax36492 fma 1 -10 77e-16 -> -9.999999999999992 Inexact Rounded
|
| 2727 | fmax36493 fma 1 -10 77e-17 -> -9.999999999999999 Inexact Rounded
|
| 2728 | fmax36494 fma 1 -10 77e-18 -> -10.00000000000000 Inexact Rounded
|
| 2729 | fmax36495 fma 1 -10 77e-19 -> -10.00000000000000 Inexact Rounded
|
| 2730 | fmax36496 fma 1 -10 77e-99 -> -10.00000000000000 Inexact Rounded
|
| 2731 |
|
| 2732 | fmax36500 fma 1 77e-14 -1 -> -0.99999999999923
|
| 2733 | fmax36501 fma 1 77e-15 -1 -> -0.999999999999923
|
| 2734 | fmax36502 fma 1 77e-16 -1 -> -0.9999999999999923
|
| 2735 | fmax36503 fma 1 77e-17 -1 -> -0.9999999999999992 Inexact Rounded
|
| 2736 | fmax36504 fma 1 77e-18 -1 -> -0.9999999999999999 Inexact Rounded
|
| 2737 | fmax36505 fma 1 77e-19 -1 -> -1.000000000000000 Inexact Rounded
|
| 2738 | fmax36506 fma 1 77e-99 -1 -> -1.000000000000000 Inexact Rounded
|
| 2739 |
|
| 2740 | fmax36510 fma 1 77e-14 -10 -> -9.99999999999923
|
| 2741 | fmax36511 fma 1 77e-15 -10 -> -9.999999999999923
|
| 2742 | fmax36512 fma 1 77e-16 -10 -> -9.999999999999992 Inexact Rounded
|
| 2743 | fmax36513 fma 1 77e-17 -10 -> -9.999999999999999 Inexact Rounded
|
| 2744 | fmax36514 fma 1 77e-18 -10 -> -10.00000000000000 Inexact Rounded
|
| 2745 | fmax36515 fma 1 77e-19 -10 -> -10.00000000000000 Inexact Rounded
|
| 2746 | fmax36516 fma 1 77e-99 -10 -> -10.00000000000000 Inexact Rounded
|
| 2747 |
|
| 2748 |
|
| 2749 | -- long operands
|
| 2750 | fmax36521 fma 1 101234562345678000 0 -> 1.012345623456780E+17 Rounded
|
| 2751 | fmax36522 fma 1 0 101234562345678000 -> 1.012345623456780E+17 Rounded
|
| 2752 | fmax36523 fma 1 10123456234567800 0 -> 1.012345623456780E+16 Rounded
|
| 2753 | fmax36524 fma 1 0 10123456234567800 -> 1.012345623456780E+16 Rounded
|
| 2754 | fmax36525 fma 1 10123456234567890 0 -> 1.012345623456789E+16 Rounded
|
| 2755 | fmax36526 fma 1 0 10123456234567890 -> 1.012345623456789E+16 Rounded
|
| 2756 | fmax36527 fma 1 10123456234567891 0 -> 1.012345623456789E+16 Inexact Rounded
|
| 2757 | fmax36528 fma 1 0 10123456234567891 -> 1.012345623456789E+16 Inexact Rounded
|
| 2758 | fmax36529 fma 1 101234562345678901 0 -> 1.012345623456789E+17 Inexact Rounded
|
| 2759 | fmax36530 fma 1 0 101234562345678901 -> 1.012345623456789E+17 Inexact Rounded
|
| 2760 | fmax36531 fma 1 10123456234567896 0 -> 1.012345623456790E+16 Inexact Rounded
|
| 2761 | fmax36532 fma 1 0 10123456234567896 -> 1.012345623456790E+16 Inexact Rounded
|
| 2762 |
|
| 2763 | -- verify a query
|
| 2764 | rounding: down
|
| 2765 | fmax36561 fma 1 1e-398 9.000000000000000E+384 -> 9.000000000000000E+384 Inexact Rounded
|
| 2766 | fmax36562 fma 1 0 9.000000000000000E+384 -> 9.000000000000000E+384 Rounded
|
| 2767 | -- and using decimal64 bounds...
|
| 2768 | rounding: down
|
| 2769 | fmax36563 fma 1 1e-388 9.000000000000000E+374 -> 9.000000000000000E+374 Inexact Rounded
|
| 2770 | fmax36564 fma 1 0 9.000000000000000E+374 -> 9.000000000000000E+374 Rounded
|
| 2771 |
|
| 2772 | -- more zeros, etc.
|
| 2773 | rounding: half_even
|
| 2774 |
|
| 2775 | fmax36701 fma 1 5.00 1.00E-3 -> 5.00100
|
| 2776 | fmax36702 fma 1 00.00 0.000 -> 0.000
|
| 2777 | fmax36703 fma 1 00.00 0E-3 -> 0.000
|
| 2778 | fmax36704 fma 1 0E-3 00.00 -> 0.000
|
| 2779 |
|
| 2780 | fmax36710 fma 1 0E+3 00.00 -> 0.00
|
| 2781 | fmax36711 fma 1 0E+3 00.0 -> 0.0
|
| 2782 | fmax36712 fma 1 0E+3 00. -> 0
|
| 2783 | fmax36713 fma 1 0E+3 00.E+1 -> 0E+1
|
| 2784 | fmax36714 fma 1 0E+3 00.E+2 -> 0E+2
|
| 2785 | fmax36715 fma 1 0E+3 00.E+3 -> 0E+3
|
| 2786 | fmax36716 fma 1 0E+3 00.E+4 -> 0E+3
|
| 2787 | fmax36717 fma 1 0E+3 00.E+5 -> 0E+3
|
| 2788 | fmax36718 fma 1 0E+3 -00.0 -> 0.0
|
| 2789 | fmax36719 fma 1 0E+3 -00. -> 0
|
| 2790 | fmax36731 fma 1 0E+3 -00.E+1 -> 0E+1
|
| 2791 |
|
| 2792 | fmax36720 fma 1 00.00 0E+3 -> 0.00
|
| 2793 | fmax36721 fma 1 00.0 0E+3 -> 0.0
|
| 2794 | fmax36722 fma 1 00. 0E+3 -> 0
|
| 2795 | fmax36723 fma 1 00.E+1 0E+3 -> 0E+1
|
| 2796 | fmax36724 fma 1 00.E+2 0E+3 -> 0E+2
|
| 2797 | fmax36725 fma 1 00.E+3 0E+3 -> 0E+3
|
| 2798 | fmax36726 fma 1 00.E+4 0E+3 -> 0E+3
|
| 2799 | fmax36727 fma 1 00.E+5 0E+3 -> 0E+3
|
| 2800 | fmax36728 fma 1 -00.00 0E+3 -> 0.00
|
| 2801 | fmax36729 fma 1 -00.0 0E+3 -> 0.0
|
| 2802 | fmax36730 fma 1 -00. 0E+3 -> 0
|
| 2803 |
|
| 2804 | fmax36732 fma 1 0 0 -> 0
|
| 2805 | fmax36733 fma 1 0 -0 -> 0
|
| 2806 | fmax36734 fma 1 -0 0 -> 0
|
| 2807 | fmax36735 fma 1 -0 -0 -> -0 -- IEEE 854 special case
|
| 2808 |
|
| 2809 | fmax36736 fma 1 1 -1 -> 0
|
| 2810 | fmax36737 fma 1 -1 -1 -> -2
|
| 2811 | fmax36738 fma 1 1 1 -> 2
|
| 2812 | fmax36739 fma 1 -1 1 -> 0
|
| 2813 |
|
| 2814 | fmax36741 fma 1 0 -1 -> -1
|
| 2815 | fmax36742 fma 1 -0 -1 -> -1
|
| 2816 | fmax36743 fma 1 0 1 -> 1
|
| 2817 | fmax36744 fma 1 -0 1 -> 1
|
| 2818 | fmax36745 fma 1 -1 0 -> -1
|
| 2819 | fmax36746 fma 1 -1 -0 -> -1
|
| 2820 | fmax36747 fma 1 1 0 -> 1
|
| 2821 | fmax36748 fma 1 1 -0 -> 1
|
| 2822 |
|
| 2823 | fmax36751 fma 1 0.0 -1 -> -1.0
|
| 2824 | fmax36752 fma 1 -0.0 -1 -> -1.0
|
| 2825 | fmax36753 fma 1 0.0 1 -> 1.0
|
| 2826 | fmax36754 fma 1 -0.0 1 -> 1.0
|
| 2827 | fmax36755 fma 1 -1.0 0 -> -1.0
|
| 2828 | fmax36756 fma 1 -1.0 -0 -> -1.0
|
| 2829 | fmax36757 fma 1 1.0 0 -> 1.0
|
| 2830 | fmax36758 fma 1 1.0 -0 -> 1.0
|
| 2831 |
|
| 2832 | fmax36761 fma 1 0 -1.0 -> -1.0
|
| 2833 | fmax36762 fma 1 -0 -1.0 -> -1.0
|
| 2834 | fmax36763 fma 1 0 1.0 -> 1.0
|
| 2835 | fmax36764 fma 1 -0 1.0 -> 1.0
|
| 2836 | fmax36765 fma 1 -1 0.0 -> -1.0
|
| 2837 | fmax36766 fma 1 -1 -0.0 -> -1.0
|
| 2838 | fmax36767 fma 1 1 0.0 -> 1.0
|
| 2839 | fmax36768 fma 1 1 -0.0 -> 1.0
|
| 2840 |
|
| 2841 | fmax36771 fma 1 0.0 -1.0 -> -1.0
|
| 2842 | fmax36772 fma 1 -0.0 -1.0 -> -1.0
|
| 2843 | fmax36773 fma 1 0.0 1.0 -> 1.0
|
| 2844 | fmax36774 fma 1 -0.0 1.0 -> 1.0
|
| 2845 | fmax36775 fma 1 -1.0 0.0 -> -1.0
|
| 2846 | fmax36776 fma 1 -1.0 -0.0 -> -1.0
|
| 2847 | fmax36777 fma 1 1.0 0.0 -> 1.0
|
| 2848 | fmax36778 fma 1 1.0 -0.0 -> 1.0
|
| 2849 |
|
| 2850 | -- Specials
|
| 2851 | fmax36780 fma 1 -Inf -Inf -> -Infinity
|
| 2852 | fmax36781 fma 1 -Inf -1000 -> -Infinity
|
| 2853 | fmax36782 fma 1 -Inf -1 -> -Infinity
|
| 2854 | fmax36783 fma 1 -Inf -0 -> -Infinity
|
| 2855 | fmax36784 fma 1 -Inf 0 -> -Infinity
|
| 2856 | fmax36785 fma 1 -Inf 1 -> -Infinity
|
| 2857 | fmax36786 fma 1 -Inf 1000 -> -Infinity
|
| 2858 | fmax36787 fma 1 -1000 -Inf -> -Infinity
|
| 2859 | fmax36788 fma 1 -Inf -Inf -> -Infinity
|
| 2860 | fmax36789 fma 1 -1 -Inf -> -Infinity
|
| 2861 | fmax36790 fma 1 -0 -Inf -> -Infinity
|
| 2862 | fmax36791 fma 1 0 -Inf -> -Infinity
|
| 2863 | fmax36792 fma 1 1 -Inf -> -Infinity
|
| 2864 | fmax36793 fma 1 1000 -Inf -> -Infinity
|
| 2865 | fmax36794 fma 1 Inf -Inf -> NaN Invalid_operation
|
| 2866 |
|
| 2867 | fmax36800 fma 1 Inf -Inf -> NaN Invalid_operation
|
| 2868 | fmax36801 fma 1 Inf -1000 -> Infinity
|
| 2869 | fmax36802 fma 1 Inf -1 -> Infinity
|
| 2870 | fmax36803 fma 1 Inf -0 -> Infinity
|
| 2871 | fmax36804 fma 1 Inf 0 -> Infinity
|
| 2872 | fmax36805 fma 1 Inf 1 -> Infinity
|
| 2873 | fmax36806 fma 1 Inf 1000 -> Infinity
|
| 2874 | fmax36807 fma 1 Inf Inf -> Infinity
|
| 2875 | fmax36808 fma 1 -1000 Inf -> Infinity
|
| 2876 | fmax36809 fma 1 -Inf Inf -> NaN Invalid_operation
|
| 2877 | fmax36810 fma 1 -1 Inf -> Infinity
|
| 2878 | fmax36811 fma 1 -0 Inf -> Infinity
|
| 2879 | fmax36812 fma 1 0 Inf -> Infinity
|
| 2880 | fmax36813 fma 1 1 Inf -> Infinity
|
| 2881 | fmax36814 fma 1 1000 Inf -> Infinity
|
| 2882 | fmax36815 fma 1 Inf Inf -> Infinity
|
| 2883 |
|
| 2884 | fmax36821 fma 1 NaN -Inf -> NaN
|
| 2885 | fmax36822 fma 1 NaN -1000 -> NaN
|
| 2886 | fmax36823 fma 1 NaN -1 -> NaN
|
| 2887 | fmax36824 fma 1 NaN -0 -> NaN
|
| 2888 | fmax36825 fma 1 NaN 0 -> NaN
|
| 2889 | fmax36826 fma 1 NaN 1 -> NaN
|
| 2890 | fmax36827 fma 1 NaN 1000 -> NaN
|
| 2891 | fmax36828 fma 1 NaN Inf -> NaN
|
| 2892 | fmax36829 fma 1 NaN NaN -> NaN
|
| 2893 | fmax36830 fma 1 -Inf NaN -> NaN
|
| 2894 | fmax36831 fma 1 -1000 NaN -> NaN
|
| 2895 | fmax36832 fma 1 -1 NaN -> NaN
|
| 2896 | fmax36833 fma 1 -0 NaN -> NaN
|
| 2897 | fmax36834 fma 1 0 NaN -> NaN
|
| 2898 | fmax36835 fma 1 1 NaN -> NaN
|
| 2899 | fmax36836 fma 1 1000 NaN -> NaN
|
| 2900 | fmax36837 fma 1 Inf NaN -> NaN
|
| 2901 |
|
| 2902 | fmax36841 fma 1 sNaN -Inf -> NaN Invalid_operation
|
| 2903 | fmax36842 fma 1 sNaN -1000 -> NaN Invalid_operation
|
| 2904 | fmax36843 fma 1 sNaN -1 -> NaN Invalid_operation
|
| 2905 | fmax36844 fma 1 sNaN -0 -> NaN Invalid_operation
|
| 2906 | fmax36845 fma 1 sNaN 0 -> NaN Invalid_operation
|
| 2907 | fmax36846 fma 1 sNaN 1 -> NaN Invalid_operation
|
| 2908 | fmax36847 fma 1 sNaN 1000 -> NaN Invalid_operation
|
| 2909 | fmax36848 fma 1 sNaN NaN -> NaN Invalid_operation
|
| 2910 | fmax36849 fma 1 sNaN sNaN -> NaN Invalid_operation
|
| 2911 | fmax36850 fma 1 NaN sNaN -> NaN Invalid_operation
|
| 2912 | fmax36851 fma 1 -Inf sNaN -> NaN Invalid_operation
|
| 2913 | fmax36852 fma 1 -1000 sNaN -> NaN Invalid_operation
|
| 2914 | fmax36853 fma 1 -1 sNaN -> NaN Invalid_operation
|
| 2915 | fmax36854 fma 1 -0 sNaN -> NaN Invalid_operation
|
| 2916 | fmax36855 fma 1 0 sNaN -> NaN Invalid_operation
|
| 2917 | fmax36856 fma 1 1 sNaN -> NaN Invalid_operation
|
| 2918 | fmax36857 fma 1 1000 sNaN -> NaN Invalid_operation
|
| 2919 | fmax36858 fma 1 Inf sNaN -> NaN Invalid_operation
|
| 2920 | fmax36859 fma 1 NaN sNaN -> NaN Invalid_operation
|
| 2921 |
|
| 2922 | -- propagating NaNs
|
| 2923 | fmax36861 fma 1 NaN1 -Inf -> NaN1
|
| 2924 | fmax36862 fma 1 +NaN2 -1000 -> NaN2
|
| 2925 | fmax36863 fma 1 NaN3 1000 -> NaN3
|
| 2926 | fmax36864 fma 1 NaN4 Inf -> NaN4
|
| 2927 | fmax36865 fma 1 NaN5 +NaN6 -> NaN5
|
| 2928 | fmax36866 fma 1 -Inf NaN7 -> NaN7
|
| 2929 | fmax36867 fma 1 -1000 NaN8 -> NaN8
|
| 2930 | fmax36868 fma 1 1000 NaN9 -> NaN9
|
| 2931 | fmax36869 fma 1 Inf +NaN10 -> NaN10
|
| 2932 | fmax36871 fma 1 sNaN11 -Inf -> NaN11 Invalid_operation
|
| 2933 | fmax36872 fma 1 sNaN12 -1000 -> NaN12 Invalid_operation
|
| 2934 | fmax36873 fma 1 sNaN13 1000 -> NaN13 Invalid_operation
|
| 2935 | fmax36874 fma 1 sNaN14 NaN17 -> NaN14 Invalid_operation
|
| 2936 | fmax36875 fma 1 sNaN15 sNaN18 -> NaN15 Invalid_operation
|
| 2937 | fmax36876 fma 1 NaN16 sNaN19 -> NaN19 Invalid_operation
|
| 2938 | fmax36877 fma 1 -Inf +sNaN20 -> NaN20 Invalid_operation
|
| 2939 | fmax36878 fma 1 -1000 sNaN21 -> NaN21 Invalid_operation
|
| 2940 | fmax36879 fma 1 1000 sNaN22 -> NaN22 Invalid_operation
|
| 2941 | fmax36880 fma 1 Inf sNaN23 -> NaN23 Invalid_operation
|
| 2942 | fmax36881 fma 1 +NaN25 +sNaN24 -> NaN24 Invalid_operation
|
| 2943 | fmax36882 fma 1 -NaN26 NaN28 -> -NaN26
|
| 2944 | fmax36883 fma 1 -sNaN27 sNaN29 -> -NaN27 Invalid_operation
|
| 2945 | fmax36884 fma 1 1000 -NaN30 -> -NaN30
|
| 2946 | fmax36885 fma 1 1000 -sNaN31 -> -NaN31 Invalid_operation
|
| 2947 |
|
| 2948 | -- now the case where we can get underflow but the result is normal
|
| 2949 | -- [note this can't happen if the operands are also bounded, as we
|
| 2950 | -- cannot represent 1E-399, for example]
|
| 2951 |
|
| 2952 | fmax36571 fma 1 1E-383 0 -> 1E-383
|
| 2953 | fmax36572 fma 1 1E-384 0 -> 1E-384 Subnormal
|
| 2954 | fmax36573 fma 1 1E-383 1E-384 -> 1.1E-383
|
| 2955 | fmax36574 subtract 1E-383 1E-384 -> 9E-384 Subnormal
|
| 2956 |
|
| 2957 | -- Here we explore the boundary of rounding a subnormal to Nmin
|
| 2958 | fmax36575 subtract 1E-383 1E-398 -> 9.99999999999999E-384 Subnormal
|
| 2959 | fmax36576 subtract 1E-383 1E-398 -> 9.99999999999999E-384 Subnormal
|
| 2960 | fmax36577 subtract 1E-383 1E-399 -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded
|
| 2961 | fmax36578 subtract 1E-383 1E-400 -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded
|
| 2962 | fmax36579 subtract 1E-383 1E-401 -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded
|
| 2963 | fmax36580 subtract 1E-383 1E-402 -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded
|
| 2964 |
|
| 2965 | -- check overflow edge case
|
| 2966 | -- 1234567890123456
|
| 2967 | fmax36972 apply 9.999999999999999E+384 -> 9.999999999999999E+384
|
| 2968 | fmax36973 fma 1 9.999999999999999E+384 1 -> 9.999999999999999E+384 Inexact Rounded
|
| 2969 | fmax36974 fma 1 9999999999999999E+369 1 -> 9.999999999999999E+384 Inexact Rounded
|
| 2970 | fmax36975 fma 1 9999999999999999E+369 1E+369 -> Infinity Overflow Inexact Rounded
|
| 2971 | fmax36976 fma 1 9999999999999999E+369 9E+368 -> Infinity Overflow Inexact Rounded
|
| 2972 | fmax36977 fma 1 9999999999999999E+369 8E+368 -> Infinity Overflow Inexact Rounded
|
| 2973 | fmax36978 fma 1 9999999999999999E+369 7E+368 -> Infinity Overflow Inexact Rounded
|
| 2974 | fmax36979 fma 1 9999999999999999E+369 6E+368 -> Infinity Overflow Inexact Rounded
|
| 2975 | fmax36980 fma 1 9999999999999999E+369 5E+368 -> Infinity Overflow Inexact Rounded
|
| 2976 | fmax36981 fma 1 9999999999999999E+369 4E+368 -> 9.999999999999999E+384 Inexact Rounded
|
| 2977 | fmax36982 fma 1 9999999999999999E+369 3E+368 -> 9.999999999999999E+384 Inexact Rounded
|
| 2978 | fmax36983 fma 1 9999999999999999E+369 2E+368 -> 9.999999999999999E+384 Inexact Rounded
|
| 2979 | fmax36984 fma 1 9999999999999999E+369 1E+368 -> 9.999999999999999E+384 Inexact Rounded
|
| 2980 |
|
| 2981 | fmax36985 apply -9.999999999999999E+384 -> -9.999999999999999E+384
|
| 2982 | fmax36986 fma 1 -9.999999999999999E+384 -1 -> -9.999999999999999E+384 Inexact Rounded
|
| 2983 | fmax36987 fma 1 -9999999999999999E+369 -1 -> -9.999999999999999E+384 Inexact Rounded
|
| 2984 | fmax36988 fma 1 -9999999999999999E+369 -1E+369 -> -Infinity Overflow Inexact Rounded
|
| 2985 | fmax36989 fma 1 -9999999999999999E+369 -9E+368 -> -Infinity Overflow Inexact Rounded
|
| 2986 | fmax36990 fma 1 -9999999999999999E+369 -8E+368 -> -Infinity Overflow Inexact Rounded
|
| 2987 | fmax36991 fma 1 -9999999999999999E+369 -7E+368 -> -Infinity Overflow Inexact Rounded
|
| 2988 | fmax36992 fma 1 -9999999999999999E+369 -6E+368 -> -Infinity Overflow Inexact Rounded
|
| 2989 | fmax36993 fma 1 -9999999999999999E+369 -5E+368 -> -Infinity Overflow Inexact Rounded
|
| 2990 | fmax36994 fma 1 -9999999999999999E+369 -4E+368 -> -9.999999999999999E+384 Inexact Rounded
|
| 2991 | fmax36995 fma 1 -9999999999999999E+369 -3E+368 -> -9.999999999999999E+384 Inexact Rounded
|
| 2992 | fmax36996 fma 1 -9999999999999999E+369 -2E+368 -> -9.999999999999999E+384 Inexact Rounded
|
| 2993 | fmax36997 fma 1 -9999999999999999E+369 -1E+368 -> -9.999999999999999E+384 Inexact Rounded
|
| 2994 |
|
| 2995 | -- And for round down full and subnormal results
|
| 2996 | rounding: down
|
| 2997 | fmax361100 fma 1 1e+2 -1e-383 -> 99.99999999999999 Rounded Inexact
|
| 2998 | fmax361101 fma 1 1e+1 -1e-383 -> 9.999999999999999 Rounded Inexact
|
| 2999 | fmax361103 fma 1 +1 -1e-383 -> 0.9999999999999999 Rounded Inexact
|
| 3000 | fmax361104 fma 1 1e-1 -1e-383 -> 0.09999999999999999 Rounded Inexact
|
| 3001 | fmax361105 fma 1 1e-2 -1e-383 -> 0.009999999999999999 Rounded Inexact
|
| 3002 | fmax361106 fma 1 1e-3 -1e-383 -> 0.0009999999999999999 Rounded Inexact
|
| 3003 | fmax361107 fma 1 1e-4 -1e-383 -> 0.00009999999999999999 Rounded Inexact
|
| 3004 | fmax361108 fma 1 1e-5 -1e-383 -> 0.000009999999999999999 Rounded Inexact
|
| 3005 | fmax361109 fma 1 1e-6 -1e-383 -> 9.999999999999999E-7 Rounded Inexact
|
| 3006 |
|
| 3007 | rounding: ceiling
|
| 3008 | fmax361110 fma 1 -1e+2 +1e-383 -> -99.99999999999999 Rounded Inexact
|
| 3009 | fmax361111 fma 1 -1e+1 +1e-383 -> -9.999999999999999 Rounded Inexact
|
| 3010 | fmax361113 fma 1 -1 +1e-383 -> -0.9999999999999999 Rounded Inexact
|
| 3011 | fmax361114 fma 1 -1e-1 +1e-383 -> -0.09999999999999999 Rounded Inexact
|
| 3012 | fmax361115 fma 1 -1e-2 +1e-383 -> -0.009999999999999999 Rounded Inexact
|
| 3013 | fmax361116 fma 1 -1e-3 +1e-383 -> -0.0009999999999999999 Rounded Inexact
|
| 3014 | fmax361117 fma 1 -1e-4 +1e-383 -> -0.00009999999999999999 Rounded Inexact
|
| 3015 | fmax361118 fma 1 -1e-5 +1e-383 -> -0.000009999999999999999 Rounded Inexact
|
| 3016 | fmax361119 fma 1 -1e-6 +1e-383 -> -9.999999999999999E-7 Rounded Inexact
|
| 3017 |
|
| 3018 | -- tests based on Gunnar Degnbol's edge case
|
| 3019 | rounding: half_even
|
| 3020 |
|
| 3021 | fmax361300 fma 1 1E16 -0.5 -> 1.000000000000000E+16 Inexact Rounded
|
| 3022 | fmax361310 fma 1 1E16 -0.51 -> 9999999999999999 Inexact Rounded
|
| 3023 | fmax361311 fma 1 1E16 -0.501 -> 9999999999999999 Inexact Rounded
|
| 3024 | fmax361312 fma 1 1E16 -0.5001 -> 9999999999999999 Inexact Rounded
|
| 3025 | fmax361313 fma 1 1E16 -0.50001 -> 9999999999999999 Inexact Rounded
|
| 3026 | fmax361314 fma 1 1E16 -0.500001 -> 9999999999999999 Inexact Rounded
|
| 3027 | fmax361315 fma 1 1E16 -0.5000001 -> 9999999999999999 Inexact Rounded
|
| 3028 | fmax361316 fma 1 1E16 -0.50000001 -> 9999999999999999 Inexact Rounded
|
| 3029 | fmax361317 fma 1 1E16 -0.500000001 -> 9999999999999999 Inexact Rounded
|
| 3030 | fmax361318 fma 1 1E16 -0.5000000001 -> 9999999999999999 Inexact Rounded
|
| 3031 | fmax361319 fma 1 1E16 -0.50000000001 -> 9999999999999999 Inexact Rounded
|
| 3032 | fmax361320 fma 1 1E16 -0.500000000001 -> 9999999999999999 Inexact Rounded
|
| 3033 | fmax361321 fma 1 1E16 -0.5000000000001 -> 9999999999999999 Inexact Rounded
|
| 3034 | fmax361322 fma 1 1E16 -0.50000000000001 -> 9999999999999999 Inexact Rounded
|
| 3035 | fmax361323 fma 1 1E16 -0.500000000000001 -> 9999999999999999 Inexact Rounded
|
| 3036 | fmax361324 fma 1 1E16 -0.5000000000000001 -> 9999999999999999 Inexact Rounded
|
| 3037 | fmax361325 fma 1 1E16 -0.5000000000000000 -> 1.000000000000000E+16 Inexact Rounded
|
| 3038 | fmax361326 fma 1 1E16 -0.500000000000000 -> 1.000000000000000E+16 Inexact Rounded
|
| 3039 | fmax361327 fma 1 1E16 -0.50000000000000 -> 1.000000000000000E+16 Inexact Rounded
|
| 3040 | fmax361328 fma 1 1E16 -0.5000000000000 -> 1.000000000000000E+16 Inexact Rounded
|
| 3041 | fmax361329 fma 1 1E16 -0.500000000000 -> 1.000000000000000E+16 Inexact Rounded
|
| 3042 | fmax361330 fma 1 1E16 -0.50000000000 -> 1.000000000000000E+16 Inexact Rounded
|
| 3043 | fmax361331 fma 1 1E16 -0.5000000000 -> 1.000000000000000E+16 Inexact Rounded
|
| 3044 | fmax361332 fma 1 1E16 -0.500000000 -> 1.000000000000000E+16 Inexact Rounded
|
| 3045 | fmax361333 fma 1 1E16 -0.50000000 -> 1.000000000000000E+16 Inexact Rounded
|
| 3046 | fmax361334 fma 1 1E16 -0.5000000 -> 1.000000000000000E+16 Inexact Rounded
|
| 3047 | fmax361335 fma 1 1E16 -0.500000 -> 1.000000000000000E+16 Inexact Rounded
|
| 3048 | fmax361336 fma 1 1E16 -0.50000 -> 1.000000000000000E+16 Inexact Rounded
|
| 3049 | fmax361337 fma 1 1E16 -0.5000 -> 1.000000000000000E+16 Inexact Rounded
|
| 3050 | fmax361338 fma 1 1E16 -0.500 -> 1.000000000000000E+16 Inexact Rounded
|
| 3051 | fmax361339 fma 1 1E16 -0.50 -> 1.000000000000000E+16 Inexact Rounded
|
| 3052 |
|
| 3053 | fmax361340 fma 1 1E16 -5000000.000010001 -> 9999999995000000 Inexact Rounded
|
| 3054 | fmax361341 fma 1 1E16 -5000000.000000001 -> 9999999995000000 Inexact Rounded
|
| 3055 |
|
| 3056 | fmax361349 fma 1 9999999999999999 0.4 -> 9999999999999999 Inexact Rounded
|
| 3057 | fmax361350 fma 1 9999999999999999 0.49 -> 9999999999999999 Inexact Rounded
|
| 3058 | fmax361351 fma 1 9999999999999999 0.499 -> 9999999999999999 Inexact Rounded
|
| 3059 | fmax361352 fma 1 9999999999999999 0.4999 -> 9999999999999999 Inexact Rounded
|
| 3060 | fmax361353 fma 1 9999999999999999 0.49999 -> 9999999999999999 Inexact Rounded
|
| 3061 | fmax361354 fma 1 9999999999999999 0.499999 -> 9999999999999999 Inexact Rounded
|
| 3062 | fmax361355 fma 1 9999999999999999 0.4999999 -> 9999999999999999 Inexact Rounded
|
| 3063 | fmax361356 fma 1 9999999999999999 0.49999999 -> 9999999999999999 Inexact Rounded
|
| 3064 | fmax361357 fma 1 9999999999999999 0.499999999 -> 9999999999999999 Inexact Rounded
|
| 3065 | fmax361358 fma 1 9999999999999999 0.4999999999 -> 9999999999999999 Inexact Rounded
|
| 3066 | fmax361359 fma 1 9999999999999999 0.49999999999 -> 9999999999999999 Inexact Rounded
|
| 3067 | fmax361360 fma 1 9999999999999999 0.499999999999 -> 9999999999999999 Inexact Rounded
|
| 3068 | fmax361361 fma 1 9999999999999999 0.4999999999999 -> 9999999999999999 Inexact Rounded
|
| 3069 | fmax361362 fma 1 9999999999999999 0.49999999999999 -> 9999999999999999 Inexact Rounded
|
| 3070 | fmax361363 fma 1 9999999999999999 0.499999999999999 -> 9999999999999999 Inexact Rounded
|
| 3071 | fmax361364 fma 1 9999999999999999 0.4999999999999999 -> 9999999999999999 Inexact Rounded
|
| 3072 | fmax361365 fma 1 9999999999999999 0.5000000000000000 -> 1.000000000000000E+16 Inexact Rounded
|
| 3073 | fmax361367 fma 1 9999999999999999 0.500000000000000 -> 1.000000000000000E+16 Inexact Rounded
|
| 3074 | fmax361368 fma 1 9999999999999999 0.50000000000000 -> 1.000000000000000E+16 Inexact Rounded
|
| 3075 | fmax361369 fma 1 9999999999999999 0.5000000000000 -> 1.000000000000000E+16 Inexact Rounded
|
| 3076 | fmax361370 fma 1 9999999999999999 0.500000000000 -> 1.000000000000000E+16 Inexact Rounded
|
| 3077 | fmax361371 fma 1 9999999999999999 0.50000000000 -> 1.000000000000000E+16 Inexact Rounded
|
| 3078 | fmax361372 fma 1 9999999999999999 0.5000000000 -> 1.000000000000000E+16 Inexact Rounded
|
| 3079 | fmax361373 fma 1 9999999999999999 0.500000000 -> 1.000000000000000E+16 Inexact Rounded
|
| 3080 | fmax361374 fma 1 9999999999999999 0.50000000 -> 1.000000000000000E+16 Inexact Rounded
|
| 3081 | fmax361375 fma 1 9999999999999999 0.5000000 -> 1.000000000000000E+16 Inexact Rounded
|
| 3082 | fmax361376 fma 1 9999999999999999 0.500000 -> 1.000000000000000E+16 Inexact Rounded
|
| 3083 | fmax361377 fma 1 9999999999999999 0.50000 -> 1.000000000000000E+16 Inexact Rounded
|
| 3084 | fmax361378 fma 1 9999999999999999 0.5000 -> 1.000000000000000E+16 Inexact Rounded
|
| 3085 | fmax361379 fma 1 9999999999999999 0.500 -> 1.000000000000000E+16 Inexact Rounded
|
| 3086 | fmax361380 fma 1 9999999999999999 0.50 -> 1.000000000000000E+16 Inexact Rounded
|
| 3087 | fmax361381 fma 1 9999999999999999 0.5 -> 1.000000000000000E+16 Inexact Rounded
|
| 3088 | fmax361382 fma 1 9999999999999999 0.5000000000000001 -> 1.000000000000000E+16 Inexact Rounded
|
| 3089 | fmax361383 fma 1 9999999999999999 0.500000000000001 -> 1.000000000000000E+16 Inexact Rounded
|
| 3090 | fmax361384 fma 1 9999999999999999 0.50000000000001 -> 1.000000000000000E+16 Inexact Rounded
|
| 3091 | fmax361385 fma 1 9999999999999999 0.5000000000001 -> 1.000000000000000E+16 Inexact Rounded
|
| 3092 | fmax361386 fma 1 9999999999999999 0.500000000001 -> 1.000000000000000E+16 Inexact Rounded
|
| 3093 | fmax361387 fma 1 9999999999999999 0.50000000001 -> 1.000000000000000E+16 Inexact Rounded
|
| 3094 | fmax361388 fma 1 9999999999999999 0.5000000001 -> 1.000000000000000E+16 Inexact Rounded
|
| 3095 | fmax361389 fma 1 9999999999999999 0.500000001 -> 1.000000000000000E+16 Inexact Rounded
|
| 3096 | fmax361390 fma 1 9999999999999999 0.50000001 -> 1.000000000000000E+16 Inexact Rounded
|
| 3097 | fmax361391 fma 1 9999999999999999 0.5000001 -> 1.000000000000000E+16 Inexact Rounded
|
| 3098 | fmax361392 fma 1 9999999999999999 0.500001 -> 1.000000000000000E+16 Inexact Rounded
|
| 3099 | fmax361393 fma 1 9999999999999999 0.50001 -> 1.000000000000000E+16 Inexact Rounded
|
| 3100 | fmax361394 fma 1 9999999999999999 0.5001 -> 1.000000000000000E+16 Inexact Rounded
|
| 3101 | fmax361395 fma 1 9999999999999999 0.501 -> 1.000000000000000E+16 Inexact Rounded
|
| 3102 | fmax361396 fma 1 9999999999999999 0.51 -> 1.000000000000000E+16 Inexact Rounded
|
| 3103 |
|
| 3104 | -- More GD edge cases, where difference between the unadjusted
|
| 3105 | -- exponents is larger than the maximum precision and one side is 0
|
| 3106 | fmax361420 fma 1 0 1.123456789012345 -> 1.123456789012345
|
| 3107 | fmax361421 fma 1 0 1.123456789012345E-1 -> 0.1123456789012345
|
| 3108 | fmax361422 fma 1 0 1.123456789012345E-2 -> 0.01123456789012345
|
| 3109 | fmax361423 fma 1 0 1.123456789012345E-3 -> 0.001123456789012345
|
| 3110 | fmax361424 fma 1 0 1.123456789012345E-4 -> 0.0001123456789012345
|
| 3111 | fmax361425 fma 1 0 1.123456789012345E-5 -> 0.00001123456789012345
|
| 3112 | fmax361426 fma 1 0 1.123456789012345E-6 -> 0.000001123456789012345
|
| 3113 | fmax361427 fma 1 0 1.123456789012345E-7 -> 1.123456789012345E-7
|
| 3114 | fmax361428 fma 1 0 1.123456789012345E-8 -> 1.123456789012345E-8
|
| 3115 | fmax361429 fma 1 0 1.123456789012345E-9 -> 1.123456789012345E-9
|
| 3116 | fmax361430 fma 1 0 1.123456789012345E-10 -> 1.123456789012345E-10
|
| 3117 | fmax361431 fma 1 0 1.123456789012345E-11 -> 1.123456789012345E-11
|
| 3118 | fmax361432 fma 1 0 1.123456789012345E-12 -> 1.123456789012345E-12
|
| 3119 | fmax361433 fma 1 0 1.123456789012345E-13 -> 1.123456789012345E-13
|
| 3120 | fmax361434 fma 1 0 1.123456789012345E-14 -> 1.123456789012345E-14
|
| 3121 | fmax361435 fma 1 0 1.123456789012345E-15 -> 1.123456789012345E-15
|
| 3122 | fmax361436 fma 1 0 1.123456789012345E-16 -> 1.123456789012345E-16
|
| 3123 | fmax361437 fma 1 0 1.123456789012345E-17 -> 1.123456789012345E-17
|
| 3124 | fmax361438 fma 1 0 1.123456789012345E-18 -> 1.123456789012345E-18
|
| 3125 | fmax361439 fma 1 0 1.123456789012345E-19 -> 1.123456789012345E-19
|
| 3126 |
|
| 3127 | -- same, reversed 0
|
| 3128 | fmax361440 fma 1 1.123456789012345 0 -> 1.123456789012345
|
| 3129 | fmax361441 fma 1 1.123456789012345E-1 0 -> 0.1123456789012345
|
| 3130 | fmax361442 fma 1 1.123456789012345E-2 0 -> 0.01123456789012345
|
| 3131 | fmax361443 fma 1 1.123456789012345E-3 0 -> 0.001123456789012345
|
| 3132 | fmax361444 fma 1 1.123456789012345E-4 0 -> 0.0001123456789012345
|
| 3133 | fmax361445 fma 1 1.123456789012345E-5 0 -> 0.00001123456789012345
|
| 3134 | fmax361446 fma 1 1.123456789012345E-6 0 -> 0.000001123456789012345
|
| 3135 | fmax361447 fma 1 1.123456789012345E-7 0 -> 1.123456789012345E-7
|
| 3136 | fmax361448 fma 1 1.123456789012345E-8 0 -> 1.123456789012345E-8
|
| 3137 | fmax361449 fma 1 1.123456789012345E-9 0 -> 1.123456789012345E-9
|
| 3138 | fmax361450 fma 1 1.123456789012345E-10 0 -> 1.123456789012345E-10
|
| 3139 | fmax361451 fma 1 1.123456789012345E-11 0 -> 1.123456789012345E-11
|
| 3140 | fmax361452 fma 1 1.123456789012345E-12 0 -> 1.123456789012345E-12
|
| 3141 | fmax361453 fma 1 1.123456789012345E-13 0 -> 1.123456789012345E-13
|
| 3142 | fmax361454 fma 1 1.123456789012345E-14 0 -> 1.123456789012345E-14
|
| 3143 | fmax361455 fma 1 1.123456789012345E-15 0 -> 1.123456789012345E-15
|
| 3144 | fmax361456 fma 1 1.123456789012345E-16 0 -> 1.123456789012345E-16
|
| 3145 | fmax361457 fma 1 1.123456789012345E-17 0 -> 1.123456789012345E-17
|
| 3146 | fmax361458 fma 1 1.123456789012345E-18 0 -> 1.123456789012345E-18
|
| 3147 | fmax361459 fma 1 1.123456789012345E-19 0 -> 1.123456789012345E-19
|
| 3148 |
|
| 3149 | -- same, Es on the 0
|
| 3150 | fmax361460 fma 1 1.123456789012345 0E-0 -> 1.123456789012345
|
| 3151 | fmax361461 fma 1 1.123456789012345 0E-1 -> 1.123456789012345
|
| 3152 | fmax361462 fma 1 1.123456789012345 0E-2 -> 1.123456789012345
|
| 3153 | fmax361463 fma 1 1.123456789012345 0E-3 -> 1.123456789012345
|
| 3154 | fmax361464 fma 1 1.123456789012345 0E-4 -> 1.123456789012345
|
| 3155 | fmax361465 fma 1 1.123456789012345 0E-5 -> 1.123456789012345
|
| 3156 | fmax361466 fma 1 1.123456789012345 0E-6 -> 1.123456789012345
|
| 3157 | fmax361467 fma 1 1.123456789012345 0E-7 -> 1.123456789012345
|
| 3158 | fmax361468 fma 1 1.123456789012345 0E-8 -> 1.123456789012345
|
| 3159 | fmax361469 fma 1 1.123456789012345 0E-9 -> 1.123456789012345
|
| 3160 | fmax361470 fma 1 1.123456789012345 0E-10 -> 1.123456789012345
|
| 3161 | fmax361471 fma 1 1.123456789012345 0E-11 -> 1.123456789012345
|
| 3162 | fmax361472 fma 1 1.123456789012345 0E-12 -> 1.123456789012345
|
| 3163 | fmax361473 fma 1 1.123456789012345 0E-13 -> 1.123456789012345
|
| 3164 | fmax361474 fma 1 1.123456789012345 0E-14 -> 1.123456789012345
|
| 3165 | fmax361475 fma 1 1.123456789012345 0E-15 -> 1.123456789012345
|
| 3166 | -- next four flag Rounded because the 0 extends the result
|
| 3167 | fmax361476 fma 1 1.123456789012345 0E-16 -> 1.123456789012345 Rounded
|
| 3168 | fmax361477 fma 1 1.123456789012345 0E-17 -> 1.123456789012345 Rounded
|
| 3169 | fmax361478 fma 1 1.123456789012345 0E-18 -> 1.123456789012345 Rounded
|
| 3170 | fmax361479 fma 1 1.123456789012345 0E-19 -> 1.123456789012345 Rounded
|
| 3171 |
|
| 3172 | -- sum of two opposite-sign operands is exactly 0 and floor => -0
|
| 3173 | rounding: half_up
|
| 3174 | -- exact zeros from zeros
|
| 3175 | fmax361500 fma 1 0 0E-19 -> 0E-19
|
| 3176 | fmax361501 fma 1 -0 0E-19 -> 0E-19
|
| 3177 | fmax361502 fma 1 0 -0E-19 -> 0E-19
|
| 3178 | fmax361503 fma 1 -0 -0E-19 -> -0E-19
|
| 3179 | fmax361504 fma 1 0E-400 0E-19 -> 0E-398 Clamped
|
| 3180 | fmax361505 fma 1 -0E-400 0E-19 -> 0E-398 Clamped
|
| 3181 | fmax361506 fma 1 0E-400 -0E-19 -> 0E-398 Clamped
|
| 3182 | fmax361507 fma 1 -0E-400 -0E-19 -> -0E-398 Clamped
|
| 3183 | -- inexact zeros
|
| 3184 | fmax361511 fma 1 1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 3185 | fmax361512 fma 1 -1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 3186 | fmax361513 fma 1 1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 3187 | fmax361514 fma 1 -1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 3188 | -- some exact zeros from non-zeros
|
| 3189 | fmax361515 fma 1 1E-401 1E-401 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 3190 | fmax361516 fma 1 -1E-401 1E-401 -> 0E-398 Clamped
|
| 3191 | fmax361517 fma 1 1E-401 -1E-401 -> 0E-398 Clamped
|
| 3192 | fmax361518 fma 1 -1E-401 -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 3193 |
|
| 3194 | rounding: half_down
|
| 3195 | -- exact zeros from zeros
|
| 3196 | fmax361520 fma 1 0 0E-19 -> 0E-19
|
| 3197 | fmax361521 fma 1 -0 0E-19 -> 0E-19
|
| 3198 | fmax361522 fma 1 0 -0E-19 -> 0E-19
|
| 3199 | fmax361523 fma 1 -0 -0E-19 -> -0E-19
|
| 3200 | fmax361524 fma 1 0E-400 0E-19 -> 0E-398 Clamped
|
| 3201 | fmax361525 fma 1 -0E-400 0E-19 -> 0E-398 Clamped
|
| 3202 | fmax361526 fma 1 0E-400 -0E-19 -> 0E-398 Clamped
|
| 3203 | fmax361527 fma 1 -0E-400 -0E-19 -> -0E-398 Clamped
|
| 3204 | -- inexact zeros
|
| 3205 | fmax361531 fma 1 1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 3206 | fmax361532 fma 1 -1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 3207 | fmax361533 fma 1 1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 3208 | fmax361534 fma 1 -1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 3209 | -- some exact zeros from non-zeros
|
| 3210 | fmax361535 fma 1 1E-401 1E-401 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 3211 | fmax361536 fma 1 -1E-401 1E-401 -> 0E-398 Clamped
|
| 3212 | fmax361537 fma 1 1E-401 -1E-401 -> 0E-398 Clamped
|
| 3213 | fmax361538 fma 1 -1E-401 -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 3214 |
|
| 3215 | rounding: half_even
|
| 3216 | -- exact zeros from zeros
|
| 3217 | fmax361540 fma 1 0 0E-19 -> 0E-19
|
| 3218 | fmax361541 fma 1 -0 0E-19 -> 0E-19
|
| 3219 | fmax361542 fma 1 0 -0E-19 -> 0E-19
|
| 3220 | fmax361543 fma 1 -0 -0E-19 -> -0E-19
|
| 3221 | fmax361544 fma 1 0E-400 0E-19 -> 0E-398 Clamped
|
| 3222 | fmax361545 fma 1 -0E-400 0E-19 -> 0E-398 Clamped
|
| 3223 | fmax361546 fma 1 0E-400 -0E-19 -> 0E-398 Clamped
|
| 3224 | fmax361547 fma 1 -0E-400 -0E-19 -> -0E-398 Clamped
|
| 3225 | -- inexact zeros
|
| 3226 | fmax361551 fma 1 1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 3227 | fmax361552 fma 1 -1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 3228 | fmax361553 fma 1 1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 3229 | fmax361554 fma 1 -1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 3230 | -- some exact zeros from non-zeros
|
| 3231 | fmax361555 fma 1 1E-401 1E-401 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 3232 | fmax361556 fma 1 -1E-401 1E-401 -> 0E-398 Clamped
|
| 3233 | fmax361557 fma 1 1E-401 -1E-401 -> 0E-398 Clamped
|
| 3234 | fmax361558 fma 1 -1E-401 -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 3235 |
|
| 3236 | rounding: up
|
| 3237 | -- exact zeros from zeros
|
| 3238 | fmax361560 fma 1 0 0E-19 -> 0E-19
|
| 3239 | fmax361561 fma 1 -0 0E-19 -> 0E-19
|
| 3240 | fmax361562 fma 1 0 -0E-19 -> 0E-19
|
| 3241 | fmax361563 fma 1 -0 -0E-19 -> -0E-19
|
| 3242 | fmax361564 fma 1 0E-400 0E-19 -> 0E-398 Clamped
|
| 3243 | fmax361565 fma 1 -0E-400 0E-19 -> 0E-398 Clamped
|
| 3244 | fmax361566 fma 1 0E-400 -0E-19 -> 0E-398 Clamped
|
| 3245 | fmax361567 fma 1 -0E-400 -0E-19 -> -0E-398 Clamped
|
| 3246 | -- inexact zeros
|
| 3247 | fmax361571 fma 1 1E-401 1E-400 -> 1E-398 Subnormal Inexact Rounded Underflow
|
| 3248 | fmax361572 fma 1 -1E-401 1E-400 -> 1E-398 Subnormal Inexact Rounded Underflow
|
| 3249 | fmax361573 fma 1 1E-401 -1E-400 -> -1E-398 Subnormal Inexact Rounded Underflow
|
| 3250 | fmax361574 fma 1 -1E-401 -1E-400 -> -1E-398 Subnormal Inexact Rounded Underflow
|
| 3251 | -- some exact zeros from non-zeros
|
| 3252 | fmax361575 fma 1 1E-401 1E-401 -> 1E-398 Subnormal Inexact Rounded Underflow
|
| 3253 | fmax361576 fma 1 -1E-401 1E-401 -> 0E-398 Clamped
|
| 3254 | fmax361577 fma 1 1E-401 -1E-401 -> 0E-398 Clamped
|
| 3255 | fmax361578 fma 1 -1E-401 -1E-401 -> -1E-398 Subnormal Inexact Rounded Underflow
|
| 3256 |
|
| 3257 | rounding: down
|
| 3258 | -- exact zeros from zeros
|
| 3259 | fmax361580 fma 1 0 0E-19 -> 0E-19
|
| 3260 | fmax361581 fma 1 -0 0E-19 -> 0E-19
|
| 3261 | fmax361582 fma 1 0 -0E-19 -> 0E-19
|
| 3262 | fmax361583 fma 1 -0 -0E-19 -> -0E-19
|
| 3263 | fmax361584 fma 1 0E-400 0E-19 -> 0E-398 Clamped
|
| 3264 | fmax361585 fma 1 -0E-400 0E-19 -> 0E-398 Clamped
|
| 3265 | fmax361586 fma 1 0E-400 -0E-19 -> 0E-398 Clamped
|
| 3266 | fmax361587 fma 1 -0E-400 -0E-19 -> -0E-398 Clamped
|
| 3267 | -- inexact zeros
|
| 3268 | fmax361591 fma 1 1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 3269 | fmax361592 fma 1 -1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 3270 | fmax361593 fma 1 1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 3271 | fmax361594 fma 1 -1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 3272 | -- some exact zeros from non-zeros
|
| 3273 | fmax361595 fma 1 1E-401 1E-401 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 3274 | fmax361596 fma 1 -1E-401 1E-401 -> 0E-398 Clamped
|
| 3275 | fmax361597 fma 1 1E-401 -1E-401 -> 0E-398 Clamped
|
| 3276 | fmax361598 fma 1 -1E-401 -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 3277 |
|
| 3278 | rounding: ceiling
|
| 3279 | -- exact zeros from zeros
|
| 3280 | fmax361600 fma 1 0 0E-19 -> 0E-19
|
| 3281 | fmax361601 fma 1 -0 0E-19 -> 0E-19
|
| 3282 | fmax361602 fma 1 0 -0E-19 -> 0E-19
|
| 3283 | fmax361603 fma 1 -0 -0E-19 -> -0E-19
|
| 3284 | fmax361604 fma 1 0E-400 0E-19 -> 0E-398 Clamped
|
| 3285 | fmax361605 fma 1 -0E-400 0E-19 -> 0E-398 Clamped
|
| 3286 | fmax361606 fma 1 0E-400 -0E-19 -> 0E-398 Clamped
|
| 3287 | fmax361607 fma 1 -0E-400 -0E-19 -> -0E-398 Clamped
|
| 3288 | -- inexact zeros
|
| 3289 | fmax361611 fma 1 1E-401 1E-400 -> 1E-398 Subnormal Inexact Rounded Underflow
|
| 3290 | fmax361612 fma 1 -1E-401 1E-400 -> 1E-398 Subnormal Inexact Rounded Underflow
|
| 3291 | fmax361613 fma 1 1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 3292 | fmax361614 fma 1 -1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 3293 | -- some exact zeros from non-zeros
|
| 3294 | fmax361615 fma 1 1E-401 1E-401 -> 1E-398 Subnormal Inexact Rounded Underflow
|
| 3295 | fmax361616 fma 1 -1E-401 1E-401 -> 0E-398 Clamped
|
| 3296 | fmax361617 fma 1 1E-401 -1E-401 -> 0E-398 Clamped
|
| 3297 | fmax361618 fma 1 -1E-401 -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 3298 |
|
| 3299 | -- and the extra-special ugly case; unusual minuses marked by -- *
|
| 3300 | rounding: floor
|
| 3301 | -- exact zeros from zeros
|
| 3302 | fmax361620 fma 1 0 0E-19 -> 0E-19
|
| 3303 | fmax361621 fma 1 -0 0E-19 -> -0E-19 -- *
|
| 3304 | fmax361622 fma 1 0 -0E-19 -> -0E-19 -- *
|
| 3305 | fmax361623 fma 1 -0 -0E-19 -> -0E-19
|
| 3306 | fmax361624 fma 1 0E-400 0E-19 -> 0E-398 Clamped
|
| 3307 | fmax361625 fma 1 -0E-400 0E-19 -> -0E-398 Clamped -- *
|
| 3308 | fmax361626 fma 1 0E-400 -0E-19 -> -0E-398 Clamped -- *
|
| 3309 | fmax361627 fma 1 -0E-400 -0E-19 -> -0E-398 Clamped
|
| 3310 | -- inexact zeros
|
| 3311 | fmax361631 fma 1 1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 3312 | fmax361632 fma 1 -1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 3313 | fmax361633 fma 1 1E-401 -1E-400 -> -1E-398 Subnormal Inexact Rounded Underflow
|
| 3314 | fmax361634 fma 1 -1E-401 -1E-400 -> -1E-398 Subnormal Inexact Rounded Underflow
|
| 3315 | -- some exact zeros from non-zeros
|
| 3316 | fmax361635 fma 1 1E-401 1E-401 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
|
| 3317 | fmax361636 fma 1 -1E-401 1E-401 -> -0E-398 Clamped -- *
|
| 3318 | fmax361637 fma 1 1E-401 -1E-401 -> -0E-398 Clamped -- *
|
| 3319 | fmax361638 fma 1 -1E-401 -1E-401 -> -1E-398 Subnormal Inexact Rounded Underflow
|
| 3320 |
|
| 3321 | -- Examples from SQL proposal (Krishna Kulkarni)
|
| 3322 | fmax361701 fma 1 130E-2 120E-2 -> 2.50
|
| 3323 | fmax361702 fma 1 130E-2 12E-1 -> 2.50
|
| 3324 | fmax361703 fma 1 130E-2 1E0 -> 2.30
|
| 3325 | fmax361704 fma 1 1E2 1E4 -> 1.01E+4
|
| 3326 | fmax361705 subtract 130E-2 120E-2 -> 0.10
|
| 3327 | fmax361706 subtract 130E-2 12E-1 -> 0.10
|
| 3328 | fmax361707 subtract 130E-2 1E0 -> 0.30
|
| 3329 | fmax361708 subtract 1E2 1E4 -> -9.9E+3
|
| 3330 |
|
| 3331 | -- Gappy coefficients; check residue handling even with full coefficient gap
|
| 3332 | rounding: half_even
|
| 3333 |
|
| 3334 | fmax362001 fma 1 1234567890123456 1 -> 1234567890123457
|
| 3335 | fmax362002 fma 1 1234567890123456 0.6 -> 1234567890123457 Inexact Rounded
|
| 3336 | fmax362003 fma 1 1234567890123456 0.06 -> 1234567890123456 Inexact Rounded
|
| 3337 | fmax362004 fma 1 1234567890123456 6E-3 -> 1234567890123456 Inexact Rounded
|
| 3338 | fmax362005 fma 1 1234567890123456 6E-4 -> 1234567890123456 Inexact Rounded
|
| 3339 | fmax362006 fma 1 1234567890123456 6E-5 -> 1234567890123456 Inexact Rounded
|
| 3340 | fmax362007 fma 1 1234567890123456 6E-6 -> 1234567890123456 Inexact Rounded
|
| 3341 | fmax362008 fma 1 1234567890123456 6E-7 -> 1234567890123456 Inexact Rounded
|
| 3342 | fmax362009 fma 1 1234567890123456 6E-8 -> 1234567890123456 Inexact Rounded
|
| 3343 | fmax362010 fma 1 1234567890123456 6E-9 -> 1234567890123456 Inexact Rounded
|
| 3344 | fmax362011 fma 1 1234567890123456 6E-10 -> 1234567890123456 Inexact Rounded
|
| 3345 | fmax362012 fma 1 1234567890123456 6E-11 -> 1234567890123456 Inexact Rounded
|
| 3346 | fmax362013 fma 1 1234567890123456 6E-12 -> 1234567890123456 Inexact Rounded
|
| 3347 | fmax362014 fma 1 1234567890123456 6E-13 -> 1234567890123456 Inexact Rounded
|
| 3348 | fmax362015 fma 1 1234567890123456 6E-14 -> 1234567890123456 Inexact Rounded
|
| 3349 | fmax362016 fma 1 1234567890123456 6E-15 -> 1234567890123456 Inexact Rounded
|
| 3350 | fmax362017 fma 1 1234567890123456 6E-16 -> 1234567890123456 Inexact Rounded
|
| 3351 | fmax362018 fma 1 1234567890123456 6E-17 -> 1234567890123456 Inexact Rounded
|
| 3352 | fmax362019 fma 1 1234567890123456 6E-18 -> 1234567890123456 Inexact Rounded
|
| 3353 | fmax362020 fma 1 1234567890123456 6E-19 -> 1234567890123456 Inexact Rounded
|
| 3354 | fmax362021 fma 1 1234567890123456 6E-20 -> 1234567890123456 Inexact Rounded
|
| 3355 |
|
| 3356 | -- widening second argument at gap
|
| 3357 | fmax362030 fma 1 12345678 1 -> 12345679
|
| 3358 | fmax362031 fma 1 12345678 0.1 -> 12345678.1
|
| 3359 | fmax362032 fma 1 12345678 0.12 -> 12345678.12
|
| 3360 | fmax362033 fma 1 12345678 0.123 -> 12345678.123
|
| 3361 | fmax362034 fma 1 12345678 0.1234 -> 12345678.1234
|
| 3362 | fmax362035 fma 1 12345678 0.12345 -> 12345678.12345
|
| 3363 | fmax362036 fma 1 12345678 0.123456 -> 12345678.123456
|
| 3364 | fmax362037 fma 1 12345678 0.1234567 -> 12345678.1234567
|
| 3365 | fmax362038 fma 1 12345678 0.12345678 -> 12345678.12345678
|
| 3366 | fmax362039 fma 1 12345678 0.123456789 -> 12345678.12345679 Inexact Rounded
|
| 3367 | fmax362040 fma 1 12345678 0.123456785 -> 12345678.12345678 Inexact Rounded
|
| 3368 | fmax362041 fma 1 12345678 0.1234567850 -> 12345678.12345678 Inexact Rounded
|
| 3369 | fmax362042 fma 1 12345678 0.1234567851 -> 12345678.12345679 Inexact Rounded
|
| 3370 | fmax362043 fma 1 12345678 0.12345678501 -> 12345678.12345679 Inexact Rounded
|
| 3371 | fmax362044 fma 1 12345678 0.123456785001 -> 12345678.12345679 Inexact Rounded
|
| 3372 | fmax362045 fma 1 12345678 0.1234567850001 -> 12345678.12345679 Inexact Rounded
|
| 3373 | fmax362046 fma 1 12345678 0.12345678500001 -> 12345678.12345679 Inexact Rounded
|
| 3374 | fmax362047 fma 1 12345678 0.123456785000001 -> 12345678.12345679 Inexact Rounded
|
| 3375 | fmax362048 fma 1 12345678 0.1234567850000001 -> 12345678.12345679 Inexact Rounded
|
| 3376 | fmax362049 fma 1 12345678 0.1234567850000000 -> 12345678.12345678 Inexact Rounded
|
| 3377 | -- 90123456
|
| 3378 | rounding: half_even
|
| 3379 | fmax362050 fma 1 12345678 0.0234567750000000 -> 12345678.02345678 Inexact Rounded
|
| 3380 | fmax362051 fma 1 12345678 0.0034567750000000 -> 12345678.00345678 Inexact Rounded
|
| 3381 | fmax362052 fma 1 12345678 0.0004567750000000 -> 12345678.00045678 Inexact Rounded
|
| 3382 | fmax362053 fma 1 12345678 0.0000567750000000 -> 12345678.00005678 Inexact Rounded
|
| 3383 | fmax362054 fma 1 12345678 0.0000067750000000 -> 12345678.00000678 Inexact Rounded
|
| 3384 | fmax362055 fma 1 12345678 0.0000007750000000 -> 12345678.00000078 Inexact Rounded
|
| 3385 | fmax362056 fma 1 12345678 0.0000000750000000 -> 12345678.00000008 Inexact Rounded
|
| 3386 | fmax362057 fma 1 12345678 0.0000000050000000 -> 12345678.00000000 Inexact Rounded
|
| 3387 | fmax362060 fma 1 12345678 0.0234567750000001 -> 12345678.02345678 Inexact Rounded
|
| 3388 | fmax362061 fma 1 12345678 0.0034567750000001 -> 12345678.00345678 Inexact Rounded
|
| 3389 | fmax362062 fma 1 12345678 0.0004567750000001 -> 12345678.00045678 Inexact Rounded
|
| 3390 | fmax362063 fma 1 12345678 0.0000567750000001 -> 12345678.00005678 Inexact Rounded
|
| 3391 | fmax362064 fma 1 12345678 0.0000067750000001 -> 12345678.00000678 Inexact Rounded
|
| 3392 | fmax362065 fma 1 12345678 0.0000007750000001 -> 12345678.00000078 Inexact Rounded
|
| 3393 | fmax362066 fma 1 12345678 0.0000000750000001 -> 12345678.00000008 Inexact Rounded
|
| 3394 | fmax362067 fma 1 12345678 0.0000000050000001 -> 12345678.00000001 Inexact Rounded
|
| 3395 | -- far-out residues (full coefficient gap is 16+15 digits)
|
| 3396 | rounding: up
|
| 3397 | fmax362070 fma 1 12345678 1E-8 -> 12345678.00000001
|
| 3398 | fmax362071 fma 1 12345678 1E-9 -> 12345678.00000001 Inexact Rounded
|
| 3399 | fmax362072 fma 1 12345678 1E-10 -> 12345678.00000001 Inexact Rounded
|
| 3400 | fmax362073 fma 1 12345678 1E-11 -> 12345678.00000001 Inexact Rounded
|
| 3401 | fmax362074 fma 1 12345678 1E-12 -> 12345678.00000001 Inexact Rounded
|
| 3402 | fmax362075 fma 1 12345678 1E-13 -> 12345678.00000001 Inexact Rounded
|
| 3403 | fmax362076 fma 1 12345678 1E-14 -> 12345678.00000001 Inexact Rounded
|
| 3404 | fmax362077 fma 1 12345678 1E-15 -> 12345678.00000001 Inexact Rounded
|
| 3405 | fmax362078 fma 1 12345678 1E-16 -> 12345678.00000001 Inexact Rounded
|
| 3406 | fmax362079 fma 1 12345678 1E-17 -> 12345678.00000001 Inexact Rounded
|
| 3407 | fmax362080 fma 1 12345678 1E-18 -> 12345678.00000001 Inexact Rounded
|
| 3408 | fmax362081 fma 1 12345678 1E-19 -> 12345678.00000001 Inexact Rounded
|
| 3409 | fmax362082 fma 1 12345678 1E-20 -> 12345678.00000001 Inexact Rounded
|
| 3410 | fmax362083 fma 1 12345678 1E-25 -> 12345678.00000001 Inexact Rounded
|
| 3411 | fmax362084 fma 1 12345678 1E-30 -> 12345678.00000001 Inexact Rounded
|
| 3412 | fmax362085 fma 1 12345678 1E-31 -> 12345678.00000001 Inexact Rounded
|
| 3413 | fmax362086 fma 1 12345678 1E-32 -> 12345678.00000001 Inexact Rounded
|
| 3414 | fmax362087 fma 1 12345678 1E-33 -> 12345678.00000001 Inexact Rounded
|
| 3415 | fmax362088 fma 1 12345678 1E-34 -> 12345678.00000001 Inexact Rounded
|
| 3416 | fmax362089 fma 1 12345678 1E-35 -> 12345678.00000001 Inexact Rounded
|
| 3417 |
|
| 3418 | -- payload decapitate x3
|
| 3419 | precision: 5
|
| 3420 | fmax363000 fma 1 1 sNaN1234567890 -> NaN67890 Invalid_operation
|
| 3421 | fmax363001 fma 1 -sNaN1234512345 1 -> -NaN12345 Invalid_operation
|
| 3422 | fmax363002 fma sNaN1234554321 1 1 -> NaN54321 Invalid_operation
|
| 3423 |
|
| 3424 | -- Null tests
|
| 3425 | fmax39990 fma 1 10 # -> NaN Invalid_operation
|
| 3426 | fmax39991 fma 1 # 10 -> NaN Invalid_operation
|