| Thomas Wouters | 1b7f891 | 2007-09-19 03:06:30 +0000 | [diff] [blame] | 1 | ------------------------------------------------------------------------
 | 
 | 2 | -- comparetotal.decTest -- decimal comparison using total ordering    --
 | 
| 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 | -- Note that we cannot assume add/subtract tests cover paths adequately,
 | 
 | 23 | -- here, because the code might be quite different (comparison cannot
 | 
 | 24 | -- overflow or underflow, so actual subtractions are not necessary).
 | 
 | 25 | -- Similarly, comparetotal will have some radically different paths
 | 
 | 26 | -- than compare.
 | 
 | 27 | 
 | 
 | 28 | extended:    1
 | 
 | 29 | precision:   16
 | 
 | 30 | rounding:    half_up
 | 
 | 31 | maxExponent: 384
 | 
 | 32 | minExponent: -383
 | 
 | 33 | 
 | 
 | 34 | -- sanity checks
 | 
 | 35 | cotx001 comparetotal  -2  -2  -> 0
 | 
 | 36 | cotx002 comparetotal  -2  -1  -> -1
 | 
 | 37 | cotx003 comparetotal  -2   0  -> -1
 | 
 | 38 | cotx004 comparetotal  -2   1  -> -1
 | 
 | 39 | cotx005 comparetotal  -2   2  -> -1
 | 
 | 40 | cotx006 comparetotal  -1  -2  -> 1
 | 
 | 41 | cotx007 comparetotal  -1  -1  -> 0
 | 
 | 42 | cotx008 comparetotal  -1   0  -> -1
 | 
 | 43 | cotx009 comparetotal  -1   1  -> -1
 | 
 | 44 | cotx010 comparetotal  -1   2  -> -1
 | 
 | 45 | cotx011 comparetotal   0  -2  -> 1
 | 
 | 46 | cotx012 comparetotal   0  -1  -> 1
 | 
 | 47 | cotx013 comparetotal   0   0  -> 0
 | 
 | 48 | cotx014 comparetotal   0   1  -> -1
 | 
 | 49 | cotx015 comparetotal   0   2  -> -1
 | 
 | 50 | cotx016 comparetotal   1  -2  -> 1
 | 
 | 51 | cotx017 comparetotal   1  -1  -> 1
 | 
 | 52 | cotx018 comparetotal   1   0  -> 1
 | 
 | 53 | cotx019 comparetotal   1   1  -> 0
 | 
 | 54 | cotx020 comparetotal   1   2  -> -1
 | 
 | 55 | cotx021 comparetotal   2  -2  -> 1
 | 
 | 56 | cotx022 comparetotal   2  -1  -> 1
 | 
 | 57 | cotx023 comparetotal   2   0  -> 1
 | 
 | 58 | cotx025 comparetotal   2   1  -> 1
 | 
 | 59 | cotx026 comparetotal   2   2  -> 0
 | 
 | 60 | 
 | 
 | 61 | cotx031 comparetotal  -20  -20  -> 0
 | 
 | 62 | cotx032 comparetotal  -20  -10  -> -1
 | 
 | 63 | cotx033 comparetotal  -20   00  -> -1
 | 
 | 64 | cotx034 comparetotal  -20   10  -> -1
 | 
 | 65 | cotx035 comparetotal  -20   20  -> -1
 | 
 | 66 | cotx036 comparetotal  -10  -20  -> 1
 | 
 | 67 | cotx037 comparetotal  -10  -10  -> 0
 | 
 | 68 | cotx038 comparetotal  -10   00  -> -1
 | 
 | 69 | cotx039 comparetotal  -10   10  -> -1
 | 
 | 70 | cotx040 comparetotal  -10   20  -> -1
 | 
 | 71 | cotx041 comparetotal   00  -20  -> 1
 | 
 | 72 | cotx042 comparetotal   00  -10  -> 1
 | 
 | 73 | cotx043 comparetotal   00   00  -> 0
 | 
 | 74 | cotx044 comparetotal   00   10  -> -1
 | 
 | 75 | cotx045 comparetotal   00   20  -> -1
 | 
 | 76 | cotx046 comparetotal   10  -20  -> 1
 | 
 | 77 | cotx047 comparetotal   10  -10  -> 1
 | 
 | 78 | cotx048 comparetotal   10   00  -> 1
 | 
 | 79 | cotx049 comparetotal   10   10  -> 0
 | 
 | 80 | cotx050 comparetotal   10   20  -> -1
 | 
 | 81 | cotx051 comparetotal   20  -20  -> 1
 | 
 | 82 | cotx052 comparetotal   20  -10  -> 1
 | 
 | 83 | cotx053 comparetotal   20   00  -> 1
 | 
 | 84 | cotx055 comparetotal   20   10  -> 1
 | 
 | 85 | cotx056 comparetotal   20   20  -> 0
 | 
 | 86 | 
 | 
 | 87 | cotx061 comparetotal  -2.0  -2.0  -> 0
 | 
 | 88 | cotx062 comparetotal  -2.0  -1.0  -> -1
 | 
 | 89 | cotx063 comparetotal  -2.0   0.0  -> -1
 | 
 | 90 | cotx064 comparetotal  -2.0   1.0  -> -1
 | 
 | 91 | cotx065 comparetotal  -2.0   2.0  -> -1
 | 
 | 92 | cotx066 comparetotal  -1.0  -2.0  -> 1
 | 
 | 93 | cotx067 comparetotal  -1.0  -1.0  -> 0
 | 
 | 94 | cotx068 comparetotal  -1.0   0.0  -> -1
 | 
 | 95 | cotx069 comparetotal  -1.0   1.0  -> -1
 | 
 | 96 | cotx070 comparetotal  -1.0   2.0  -> -1
 | 
 | 97 | cotx071 comparetotal   0.0  -2.0  -> 1
 | 
 | 98 | cotx072 comparetotal   0.0  -1.0  -> 1
 | 
 | 99 | cotx073 comparetotal   0.0   0.0  -> 0
 | 
 | 100 | cotx074 comparetotal   0.0   1.0  -> -1
 | 
 | 101 | cotx075 comparetotal   0.0   2.0  -> -1
 | 
 | 102 | cotx076 comparetotal   1.0  -2.0  -> 1
 | 
 | 103 | cotx077 comparetotal   1.0  -1.0  -> 1
 | 
 | 104 | cotx078 comparetotal   1.0   0.0  -> 1
 | 
 | 105 | cotx079 comparetotal   1.0   1.0  -> 0
 | 
 | 106 | cotx080 comparetotal   1.0   2.0  -> -1
 | 
 | 107 | cotx081 comparetotal   2.0  -2.0  -> 1
 | 
 | 108 | cotx082 comparetotal   2.0  -1.0  -> 1
 | 
 | 109 | cotx083 comparetotal   2.0   0.0  -> 1
 | 
 | 110 | cotx085 comparetotal   2.0   1.0  -> 1
 | 
 | 111 | cotx086 comparetotal   2.0   2.0  -> 0
 | 
 | 112 | 
 | 
 | 113 | -- now some cases which might overflow if subtract were used
 | 
 | 114 | maxexponent: 999999999
 | 
 | 115 | minexponent: -999999999
 | 
 | 116 | cotx090 comparetotal  9.99999999E+999999999 9.99999999E+999999999  -> 0
 | 
 | 117 | cotx091 comparetotal -9.99999999E+999999999 9.99999999E+999999999  -> -1
 | 
 | 118 | cotx092 comparetotal  9.99999999E+999999999 -9.99999999E+999999999 -> 1
 | 
 | 119 | cotx093 comparetotal -9.99999999E+999999999 -9.99999999E+999999999 -> 0
 | 
 | 120 | 
 | 
 | 121 | -- Examples
 | 
 | 122 | cotx094 comparetotal  12.73  127.9  -> -1
 | 
 | 123 | cotx095 comparetotal  -127   12     -> -1
 | 
 | 124 | cotx096 comparetotal  12.30  12.3   -> -1
 | 
 | 125 | cotx097 comparetotal  12.30  12.30  ->  0
 | 
 | 126 | cotx098 comparetotal  12.3   12.300 ->  1
 | 
 | 127 | cotx099 comparetotal  12.3   NaN    -> -1
 | 
 | 128 | 
 | 
 | 129 | -- some differing length/exponent cases
 | 
 | 130 | -- in this first group, compare would compare all equal
 | 
 | 131 | cotx100 comparetotal   7.0    7.0    -> 0
 | 
 | 132 | cotx101 comparetotal   7.0    7      -> -1
 | 
 | 133 | cotx102 comparetotal   7      7.0    -> 1
 | 
 | 134 | cotx103 comparetotal   7E+0   7.0    -> 1
 | 
 | 135 | cotx104 comparetotal   70E-1  7.0    -> 0
 | 
 | 136 | cotx105 comparetotal   0.7E+1 7      -> 0
 | 
 | 137 | cotx106 comparetotal   70E-1  7      -> -1
 | 
 | 138 | cotx107 comparetotal   7.0    7E+0   -> -1
 | 
 | 139 | cotx108 comparetotal   7.0    70E-1  -> 0
 | 
 | 140 | cotx109 comparetotal   7      0.7E+1 -> 0
 | 
 | 141 | cotx110 comparetotal   7      70E-1  -> 1
 | 
 | 142 | 
 | 
 | 143 | cotx120 comparetotal   8.0    7.0    -> 1
 | 
 | 144 | cotx121 comparetotal   8.0    7      -> 1
 | 
 | 145 | cotx122 comparetotal   8      7.0    -> 1
 | 
 | 146 | cotx123 comparetotal   8E+0   7.0    -> 1
 | 
 | 147 | cotx124 comparetotal   80E-1  7.0    -> 1
 | 
 | 148 | cotx125 comparetotal   0.8E+1 7      -> 1
 | 
 | 149 | cotx126 comparetotal   80E-1  7      -> 1
 | 
 | 150 | cotx127 comparetotal   8.0    7E+0   -> 1
 | 
 | 151 | cotx128 comparetotal   8.0    70E-1  -> 1
 | 
 | 152 | cotx129 comparetotal   8      0.7E+1  -> 1
 | 
 | 153 | cotx130 comparetotal   8      70E-1  -> 1
 | 
 | 154 | 
 | 
 | 155 | cotx140 comparetotal   8.0    9.0    -> -1
 | 
 | 156 | cotx141 comparetotal   8.0    9      -> -1
 | 
 | 157 | cotx142 comparetotal   8      9.0    -> -1
 | 
 | 158 | cotx143 comparetotal   8E+0   9.0    -> -1
 | 
 | 159 | cotx144 comparetotal   80E-1  9.0    -> -1
 | 
 | 160 | cotx145 comparetotal   0.8E+1 9      -> -1
 | 
 | 161 | cotx146 comparetotal   80E-1  9      -> -1
 | 
 | 162 | cotx147 comparetotal   8.0    9E+0   -> -1
 | 
 | 163 | cotx148 comparetotal   8.0    90E-1  -> -1
 | 
 | 164 | cotx149 comparetotal   8      0.9E+1 -> -1
 | 
 | 165 | cotx150 comparetotal   8      90E-1  -> -1
 | 
 | 166 | 
 | 
 | 167 | -- and again, with sign changes -+ ..
 | 
 | 168 | cotx200 comparetotal  -7.0    7.0    -> -1
 | 
 | 169 | cotx201 comparetotal  -7.0    7      -> -1
 | 
 | 170 | cotx202 comparetotal  -7      7.0    -> -1
 | 
 | 171 | cotx203 comparetotal  -7E+0   7.0    -> -1
 | 
 | 172 | cotx204 comparetotal  -70E-1  7.0    -> -1
 | 
 | 173 | cotx205 comparetotal  -0.7E+1 7      -> -1
 | 
 | 174 | cotx206 comparetotal  -70E-1  7      -> -1
 | 
 | 175 | cotx207 comparetotal  -7.0    7E+0   -> -1
 | 
 | 176 | cotx208 comparetotal  -7.0    70E-1  -> -1
 | 
 | 177 | cotx209 comparetotal  -7      0.7E+1 -> -1
 | 
 | 178 | cotx210 comparetotal  -7      70E-1  -> -1
 | 
 | 179 | 
 | 
 | 180 | cotx220 comparetotal  -8.0    7.0    -> -1
 | 
 | 181 | cotx221 comparetotal  -8.0    7      -> -1
 | 
 | 182 | cotx222 comparetotal  -8      7.0    -> -1
 | 
 | 183 | cotx223 comparetotal  -8E+0   7.0    -> -1
 | 
 | 184 | cotx224 comparetotal  -80E-1  7.0    -> -1
 | 
 | 185 | cotx225 comparetotal  -0.8E+1 7      -> -1
 | 
 | 186 | cotx226 comparetotal  -80E-1  7      -> -1
 | 
 | 187 | cotx227 comparetotal  -8.0    7E+0   -> -1
 | 
 | 188 | cotx228 comparetotal  -8.0    70E-1  -> -1
 | 
 | 189 | cotx229 comparetotal  -8      0.7E+1 -> -1
 | 
 | 190 | cotx230 comparetotal  -8      70E-1  -> -1
 | 
 | 191 | 
 | 
 | 192 | cotx240 comparetotal  -8.0    9.0    -> -1
 | 
 | 193 | cotx241 comparetotal  -8.0    9      -> -1
 | 
 | 194 | cotx242 comparetotal  -8      9.0    -> -1
 | 
 | 195 | cotx243 comparetotal  -8E+0   9.0    -> -1
 | 
 | 196 | cotx244 comparetotal  -80E-1  9.0    -> -1
 | 
 | 197 | cotx245 comparetotal  -0.8E+1 9      -> -1
 | 
 | 198 | cotx246 comparetotal  -80E-1  9      -> -1
 | 
 | 199 | cotx247 comparetotal  -8.0    9E+0   -> -1
 | 
 | 200 | cotx248 comparetotal  -8.0    90E-1  -> -1
 | 
 | 201 | cotx249 comparetotal  -8      0.9E+1 -> -1
 | 
 | 202 | cotx250 comparetotal  -8      90E-1  -> -1
 | 
 | 203 | 
 | 
 | 204 | -- and again, with sign changes +- ..
 | 
 | 205 | cotx300 comparetotal   7.0    -7.0    -> 1
 | 
 | 206 | cotx301 comparetotal   7.0    -7      -> 1
 | 
 | 207 | cotx302 comparetotal   7      -7.0    -> 1
 | 
 | 208 | cotx303 comparetotal   7E+0   -7.0    -> 1
 | 
 | 209 | cotx304 comparetotal   70E-1  -7.0    -> 1
 | 
 | 210 | cotx305 comparetotal   .7E+1  -7      -> 1
 | 
 | 211 | cotx306 comparetotal   70E-1  -7      -> 1
 | 
 | 212 | cotx307 comparetotal   7.0    -7E+0   -> 1
 | 
 | 213 | cotx308 comparetotal   7.0    -70E-1  -> 1
 | 
 | 214 | cotx309 comparetotal   7      -.7E+1  -> 1
 | 
 | 215 | cotx310 comparetotal   7      -70E-1  -> 1
 | 
 | 216 | 
 | 
 | 217 | cotx320 comparetotal   8.0    -7.0    -> 1
 | 
 | 218 | cotx321 comparetotal   8.0    -7      -> 1
 | 
 | 219 | cotx322 comparetotal   8      -7.0    -> 1
 | 
 | 220 | cotx323 comparetotal   8E+0   -7.0    -> 1
 | 
 | 221 | cotx324 comparetotal   80E-1  -7.0    -> 1
 | 
 | 222 | cotx325 comparetotal   .8E+1  -7      -> 1
 | 
 | 223 | cotx326 comparetotal   80E-1  -7      -> 1
 | 
 | 224 | cotx327 comparetotal   8.0    -7E+0   -> 1
 | 
 | 225 | cotx328 comparetotal   8.0    -70E-1  -> 1
 | 
 | 226 | cotx329 comparetotal   8      -.7E+1  -> 1
 | 
 | 227 | cotx330 comparetotal   8      -70E-1  -> 1
 | 
 | 228 | 
 | 
 | 229 | cotx340 comparetotal   8.0    -9.0    -> 1
 | 
 | 230 | cotx341 comparetotal   8.0    -9      -> 1
 | 
 | 231 | cotx342 comparetotal   8      -9.0    -> 1
 | 
 | 232 | cotx343 comparetotal   8E+0   -9.0    -> 1
 | 
 | 233 | cotx344 comparetotal   80E-1  -9.0    -> 1
 | 
 | 234 | cotx345 comparetotal   .8E+1  -9      -> 1
 | 
 | 235 | cotx346 comparetotal   80E-1  -9      -> 1
 | 
 | 236 | cotx347 comparetotal   8.0    -9E+0   -> 1
 | 
 | 237 | cotx348 comparetotal   8.0    -90E-1  -> 1
 | 
 | 238 | cotx349 comparetotal   8      -.9E+1  -> 1
 | 
 | 239 | cotx350 comparetotal   8      -90E-1  -> 1
 | 
 | 240 | 
 | 
 | 241 | -- and again, with sign changes -- ..
 | 
 | 242 | cotx400 comparetotal   -7.0    -7.0    -> 0
 | 
 | 243 | cotx401 comparetotal   -7.0    -7      -> 1
 | 
 | 244 | cotx402 comparetotal   -7      -7.0    -> -1
 | 
 | 245 | cotx403 comparetotal   -7E+0   -7.0    -> -1
 | 
 | 246 | cotx404 comparetotal   -70E-1  -7.0    -> 0
 | 
 | 247 | cotx405 comparetotal   -.7E+1  -7      -> 0
 | 
 | 248 | cotx406 comparetotal   -70E-1  -7      -> 1
 | 
 | 249 | cotx407 comparetotal   -7.0    -7E+0   -> 1
 | 
 | 250 | cotx408 comparetotal   -7.0    -70E-1  -> 0
 | 
 | 251 | cotx409 comparetotal   -7      -.7E+1  -> 0
 | 
 | 252 | cotx410 comparetotal   -7      -70E-1  -> -1
 | 
 | 253 | 
 | 
 | 254 | cotx420 comparetotal   -8.0    -7.0    -> -1
 | 
 | 255 | cotx421 comparetotal   -8.0    -7      -> -1
 | 
 | 256 | cotx422 comparetotal   -8      -7.0    -> -1
 | 
 | 257 | cotx423 comparetotal   -8E+0   -7.0    -> -1
 | 
 | 258 | cotx424 comparetotal   -80E-1  -7.0    -> -1
 | 
 | 259 | cotx425 comparetotal   -.8E+1  -7      -> -1
 | 
 | 260 | cotx426 comparetotal   -80E-1  -7      -> -1
 | 
 | 261 | cotx427 comparetotal   -8.0    -7E+0   -> -1
 | 
 | 262 | cotx428 comparetotal   -8.0    -70E-1  -> -1
 | 
 | 263 | cotx429 comparetotal   -8      -.7E+1  -> -1
 | 
 | 264 | cotx430 comparetotal   -8      -70E-1  -> -1
 | 
 | 265 | 
 | 
 | 266 | cotx440 comparetotal   -8.0    -9.0    -> 1
 | 
 | 267 | cotx441 comparetotal   -8.0    -9      -> 1
 | 
 | 268 | cotx442 comparetotal   -8      -9.0    -> 1
 | 
 | 269 | cotx443 comparetotal   -8E+0   -9.0    -> 1
 | 
 | 270 | cotx444 comparetotal   -80E-1  -9.0    -> 1
 | 
 | 271 | cotx445 comparetotal   -.8E+1  -9      -> 1
 | 
 | 272 | cotx446 comparetotal   -80E-1  -9      -> 1
 | 
 | 273 | cotx447 comparetotal   -8.0    -9E+0   -> 1
 | 
 | 274 | cotx448 comparetotal   -8.0    -90E-1  -> 1
 | 
 | 275 | cotx449 comparetotal   -8      -.9E+1  -> 1
 | 
 | 276 | cotx450 comparetotal   -8      -90E-1  -> 1
 | 
 | 277 | 
 | 
 | 278 | 
 | 
 | 279 | -- testcases that subtract to lots of zeros at boundaries [pgr]
 | 
 | 280 | precision: 40
 | 
 | 281 | cotx470 comparetotal 123.4560000000000000E789 123.456E789 -> -1
 | 
 | 282 | cotx471 comparetotal 123.456000000000000E-89 123.456E-89 -> -1
 | 
 | 283 | cotx472 comparetotal 123.45600000000000E789 123.456E789 -> -1
 | 
 | 284 | cotx473 comparetotal 123.4560000000000E-89 123.456E-89 -> -1
 | 
 | 285 | cotx474 comparetotal 123.456000000000E789 123.456E789 -> -1
 | 
 | 286 | cotx475 comparetotal 123.45600000000E-89 123.456E-89 -> -1
 | 
 | 287 | cotx476 comparetotal 123.4560000000E789 123.456E789 -> -1
 | 
 | 288 | cotx477 comparetotal 123.456000000E-89 123.456E-89 -> -1
 | 
 | 289 | cotx478 comparetotal 123.45600000E789 123.456E789 -> -1
 | 
 | 290 | cotx479 comparetotal 123.4560000E-89 123.456E-89 -> -1
 | 
 | 291 | cotx480 comparetotal 123.456000E789 123.456E789 -> -1
 | 
 | 292 | cotx481 comparetotal 123.45600E-89 123.456E-89 -> -1
 | 
 | 293 | cotx482 comparetotal 123.4560E789 123.456E789 -> -1
 | 
 | 294 | cotx483 comparetotal 123.456E-89 123.456E-89 -> 0
 | 
 | 295 | cotx484 comparetotal 123.456E-89 123.4560000000000000E-89 -> 1
 | 
 | 296 | cotx485 comparetotal 123.456E789 123.456000000000000E789 -> 1
 | 
 | 297 | cotx486 comparetotal 123.456E-89 123.45600000000000E-89 -> 1
 | 
 | 298 | cotx487 comparetotal 123.456E789 123.4560000000000E789 -> 1
 | 
 | 299 | cotx488 comparetotal 123.456E-89 123.456000000000E-89 -> 1
 | 
 | 300 | cotx489 comparetotal 123.456E789 123.45600000000E789 -> 1
 | 
 | 301 | cotx490 comparetotal 123.456E-89 123.4560000000E-89 -> 1
 | 
 | 302 | cotx491 comparetotal 123.456E789 123.456000000E789 -> 1
 | 
 | 303 | cotx492 comparetotal 123.456E-89 123.45600000E-89 -> 1
 | 
 | 304 | cotx493 comparetotal 123.456E789 123.4560000E789 -> 1
 | 
 | 305 | cotx494 comparetotal 123.456E-89 123.456000E-89 -> 1
 | 
 | 306 | cotx495 comparetotal 123.456E789 123.45600E789 -> 1
 | 
 | 307 | cotx496 comparetotal 123.456E-89 123.4560E-89 -> 1
 | 
 | 308 | cotx497 comparetotal 123.456E789 123.456E789 -> 0
 | 
 | 309 | 
 | 
 | 310 | -- wide-ranging, around precision; signs equal
 | 
 | 311 | precision: 9
 | 
 | 312 | cotx500 comparetotal    1     1E-15    -> 1
 | 
 | 313 | cotx501 comparetotal    1     1E-14    -> 1
 | 
 | 314 | cotx502 comparetotal    1     1E-13    -> 1
 | 
 | 315 | cotx503 comparetotal    1     1E-12    -> 1
 | 
 | 316 | cotx504 comparetotal    1     1E-11    -> 1
 | 
 | 317 | cotx505 comparetotal    1     1E-10    -> 1
 | 
 | 318 | cotx506 comparetotal    1     1E-9     -> 1
 | 
 | 319 | cotx507 comparetotal    1     1E-8     -> 1
 | 
 | 320 | cotx508 comparetotal    1     1E-7     -> 1
 | 
 | 321 | cotx509 comparetotal    1     1E-6     -> 1
 | 
 | 322 | cotx510 comparetotal    1     1E-5     -> 1
 | 
 | 323 | cotx511 comparetotal    1     1E-4     -> 1
 | 
 | 324 | cotx512 comparetotal    1     1E-3     -> 1
 | 
 | 325 | cotx513 comparetotal    1     1E-2     -> 1
 | 
 | 326 | cotx514 comparetotal    1     1E-1     -> 1
 | 
 | 327 | cotx515 comparetotal    1     1E-0     -> 0
 | 
 | 328 | cotx516 comparetotal    1     1E+1     -> -1
 | 
 | 329 | cotx517 comparetotal    1     1E+2     -> -1
 | 
 | 330 | cotx518 comparetotal    1     1E+3     -> -1
 | 
 | 331 | cotx519 comparetotal    1     1E+4     -> -1
 | 
 | 332 | cotx521 comparetotal    1     1E+5     -> -1
 | 
 | 333 | cotx522 comparetotal    1     1E+6     -> -1
 | 
 | 334 | cotx523 comparetotal    1     1E+7     -> -1
 | 
 | 335 | cotx524 comparetotal    1     1E+8     -> -1
 | 
 | 336 | cotx525 comparetotal    1     1E+9     -> -1
 | 
 | 337 | cotx526 comparetotal    1     1E+10    -> -1
 | 
 | 338 | cotx527 comparetotal    1     1E+11    -> -1
 | 
 | 339 | cotx528 comparetotal    1     1E+12    -> -1
 | 
 | 340 | cotx529 comparetotal    1     1E+13    -> -1
 | 
 | 341 | cotx530 comparetotal    1     1E+14    -> -1
 | 
 | 342 | cotx531 comparetotal    1     1E+15    -> -1
 | 
 | 343 | -- LR swap
 | 
 | 344 | cotx540 comparetotal    1E-15  1       -> -1
 | 
 | 345 | cotx541 comparetotal    1E-14  1       -> -1
 | 
 | 346 | cotx542 comparetotal    1E-13  1       -> -1
 | 
 | 347 | cotx543 comparetotal    1E-12  1       -> -1
 | 
 | 348 | cotx544 comparetotal    1E-11  1       -> -1
 | 
 | 349 | cotx545 comparetotal    1E-10  1       -> -1
 | 
 | 350 | cotx546 comparetotal    1E-9   1       -> -1
 | 
 | 351 | cotx547 comparetotal    1E-8   1       -> -1
 | 
 | 352 | cotx548 comparetotal    1E-7   1       -> -1
 | 
 | 353 | cotx549 comparetotal    1E-6   1       -> -1
 | 
 | 354 | cotx550 comparetotal    1E-5   1       -> -1
 | 
 | 355 | cotx551 comparetotal    1E-4   1       -> -1
 | 
 | 356 | cotx552 comparetotal    1E-3   1       -> -1
 | 
 | 357 | cotx553 comparetotal    1E-2   1       -> -1
 | 
 | 358 | cotx554 comparetotal    1E-1   1       -> -1
 | 
 | 359 | cotx555 comparetotal    1E-0   1       ->  0
 | 
 | 360 | cotx556 comparetotal    1E+1   1       ->  1
 | 
 | 361 | cotx557 comparetotal    1E+2   1       ->  1
 | 
 | 362 | cotx558 comparetotal    1E+3   1       ->  1
 | 
 | 363 | cotx559 comparetotal    1E+4   1       ->  1
 | 
 | 364 | cotx561 comparetotal    1E+5   1       ->  1
 | 
 | 365 | cotx562 comparetotal    1E+6   1       ->  1
 | 
 | 366 | cotx563 comparetotal    1E+7   1       ->  1
 | 
 | 367 | cotx564 comparetotal    1E+8   1       ->  1
 | 
 | 368 | cotx565 comparetotal    1E+9   1       ->  1
 | 
 | 369 | cotx566 comparetotal    1E+10  1       ->  1
 | 
 | 370 | cotx567 comparetotal    1E+11  1       ->  1
 | 
 | 371 | cotx568 comparetotal    1E+12  1       ->  1
 | 
 | 372 | cotx569 comparetotal    1E+13  1       ->  1
 | 
 | 373 | cotx570 comparetotal    1E+14  1       ->  1
 | 
 | 374 | cotx571 comparetotal    1E+15  1       ->  1
 | 
 | 375 | -- similar with an useful coefficient, one side only
 | 
 | 376 | cotx580 comparetotal  0.000000987654321     1E-15    -> 1
 | 
 | 377 | cotx581 comparetotal  0.000000987654321     1E-14    -> 1
 | 
 | 378 | cotx582 comparetotal  0.000000987654321     1E-13    -> 1
 | 
 | 379 | cotx583 comparetotal  0.000000987654321     1E-12    -> 1
 | 
 | 380 | cotx584 comparetotal  0.000000987654321     1E-11    -> 1
 | 
 | 381 | cotx585 comparetotal  0.000000987654321     1E-10    -> 1
 | 
 | 382 | cotx586 comparetotal  0.000000987654321     1E-9     -> 1
 | 
 | 383 | cotx587 comparetotal  0.000000987654321     1E-8     -> 1
 | 
 | 384 | cotx588 comparetotal  0.000000987654321     1E-7     -> 1
 | 
 | 385 | cotx589 comparetotal  0.000000987654321     1E-6     -> -1
 | 
 | 386 | cotx590 comparetotal  0.000000987654321     1E-5     -> -1
 | 
 | 387 | cotx591 comparetotal  0.000000987654321     1E-4     -> -1
 | 
 | 388 | cotx592 comparetotal  0.000000987654321     1E-3     -> -1
 | 
 | 389 | cotx593 comparetotal  0.000000987654321     1E-2     -> -1
 | 
 | 390 | cotx594 comparetotal  0.000000987654321     1E-1     -> -1
 | 
 | 391 | cotx595 comparetotal  0.000000987654321     1E-0     -> -1
 | 
 | 392 | cotx596 comparetotal  0.000000987654321     1E+1     -> -1
 | 
 | 393 | cotx597 comparetotal  0.000000987654321     1E+2     -> -1
 | 
 | 394 | cotx598 comparetotal  0.000000987654321     1E+3     -> -1
 | 
 | 395 | cotx599 comparetotal  0.000000987654321     1E+4     -> -1
 | 
 | 396 | 
 | 
 | 397 | -- check some unit-y traps
 | 
 | 398 | precision: 20
 | 
 | 399 | cotx600 comparetotal   12            12.2345 -> -1
 | 
 | 400 | cotx601 comparetotal   12.0          12.2345 -> -1
 | 
 | 401 | cotx602 comparetotal   12.00         12.2345 -> -1
 | 
 | 402 | cotx603 comparetotal   12.000        12.2345 -> -1
 | 
 | 403 | cotx604 comparetotal   12.0000       12.2345 -> -1
 | 
 | 404 | cotx605 comparetotal   12.00000      12.2345 -> -1
 | 
 | 405 | cotx606 comparetotal   12.000000     12.2345 -> -1
 | 
 | 406 | cotx607 comparetotal   12.0000000    12.2345 -> -1
 | 
 | 407 | cotx608 comparetotal   12.00000000   12.2345 -> -1
 | 
 | 408 | cotx609 comparetotal   12.000000000  12.2345 -> -1
 | 
 | 409 | cotx610 comparetotal   12.1234 12            ->  1
 | 
 | 410 | cotx611 comparetotal   12.1234 12.0          ->  1
 | 
 | 411 | cotx612 comparetotal   12.1234 12.00         ->  1
 | 
 | 412 | cotx613 comparetotal   12.1234 12.000        ->  1
 | 
 | 413 | cotx614 comparetotal   12.1234 12.0000       ->  1
 | 
 | 414 | cotx615 comparetotal   12.1234 12.00000      ->  1
 | 
 | 415 | cotx616 comparetotal   12.1234 12.000000     ->  1
 | 
 | 416 | cotx617 comparetotal   12.1234 12.0000000    ->  1
 | 
 | 417 | cotx618 comparetotal   12.1234 12.00000000   ->  1
 | 
 | 418 | cotx619 comparetotal   12.1234 12.000000000  ->  1
 | 
 | 419 | cotx620 comparetotal  -12           -12.2345 ->  1
 | 
 | 420 | cotx621 comparetotal  -12.0         -12.2345 ->  1
 | 
 | 421 | cotx622 comparetotal  -12.00        -12.2345 ->  1
 | 
 | 422 | cotx623 comparetotal  -12.000       -12.2345 ->  1
 | 
 | 423 | cotx624 comparetotal  -12.0000      -12.2345 ->  1
 | 
 | 424 | cotx625 comparetotal  -12.00000     -12.2345 ->  1
 | 
 | 425 | cotx626 comparetotal  -12.000000    -12.2345 ->  1
 | 
 | 426 | cotx627 comparetotal  -12.0000000   -12.2345 ->  1
 | 
 | 427 | cotx628 comparetotal  -12.00000000  -12.2345 ->  1
 | 
 | 428 | cotx629 comparetotal  -12.000000000 -12.2345 ->  1
 | 
 | 429 | cotx630 comparetotal  -12.1234 -12           -> -1
 | 
 | 430 | cotx631 comparetotal  -12.1234 -12.0         -> -1
 | 
 | 431 | cotx632 comparetotal  -12.1234 -12.00        -> -1
 | 
 | 432 | cotx633 comparetotal  -12.1234 -12.000       -> -1
 | 
 | 433 | cotx634 comparetotal  -12.1234 -12.0000      -> -1
 | 
 | 434 | cotx635 comparetotal  -12.1234 -12.00000     -> -1
 | 
 | 435 | cotx636 comparetotal  -12.1234 -12.000000    -> -1
 | 
 | 436 | cotx637 comparetotal  -12.1234 -12.0000000   -> -1
 | 
 | 437 | cotx638 comparetotal  -12.1234 -12.00000000  -> -1
 | 
 | 438 | cotx639 comparetotal  -12.1234 -12.000000000 -> -1
 | 
 | 439 | precision: 9
 | 
 | 440 | 
 | 
 | 441 | -- extended zeros
 | 
 | 442 | cotx640 comparetotal   0     0   -> 0
 | 
 | 443 | cotx641 comparetotal   0    -0   -> 1
 | 
 | 444 | cotx642 comparetotal   0    -0.0 -> 1
 | 
 | 445 | cotx643 comparetotal   0     0.0 -> 1
 | 
 | 446 | cotx644 comparetotal  -0     0   -> -1
 | 
 | 447 | cotx645 comparetotal  -0    -0   -> 0
 | 
 | 448 | cotx646 comparetotal  -0    -0.0 -> -1
 | 
 | 449 | cotx647 comparetotal  -0     0.0 -> -1
 | 
 | 450 | cotx648 comparetotal   0.0   0   -> -1
 | 
 | 451 | cotx649 comparetotal   0.0  -0   -> 1
 | 
 | 452 | cotx650 comparetotal   0.0  -0.0 -> 1
 | 
 | 453 | cotx651 comparetotal   0.0   0.0 -> 0
 | 
 | 454 | cotx652 comparetotal  -0.0   0   -> -1
 | 
 | 455 | cotx653 comparetotal  -0.0  -0   -> 1
 | 
 | 456 | cotx654 comparetotal  -0.0  -0.0 -> 0
 | 
 | 457 | cotx655 comparetotal  -0.0   0.0 -> -1
 | 
 | 458 | 
 | 
 | 459 | cotx656 comparetotal  -0E1   0.0 -> -1
 | 
 | 460 | cotx657 comparetotal  -0E2   0.0 -> -1
 | 
 | 461 | cotx658 comparetotal   0E1   0.0 -> 1
 | 
 | 462 | cotx659 comparetotal   0E2   0.0 -> 1
 | 
 | 463 | cotx660 comparetotal  -0E1   0   -> -1
 | 
 | 464 | cotx661 comparetotal  -0E2   0   -> -1
 | 
 | 465 | cotx662 comparetotal   0E1   0   -> 1
 | 
 | 466 | cotx663 comparetotal   0E2   0   -> 1
 | 
 | 467 | cotx664 comparetotal  -0E1  -0E1 -> 0
 | 
 | 468 | cotx665 comparetotal  -0E2  -0E1 -> -1
 | 
 | 469 | cotx666 comparetotal   0E1  -0E1 -> 1
 | 
 | 470 | cotx667 comparetotal   0E2  -0E1 -> 1
 | 
 | 471 | cotx668 comparetotal  -0E1  -0E2 -> 1
 | 
 | 472 | cotx669 comparetotal  -0E2  -0E2 -> 0
 | 
 | 473 | cotx670 comparetotal   0E1  -0E2 -> 1
 | 
 | 474 | cotx671 comparetotal   0E2  -0E2 -> 1
 | 
 | 475 | cotx672 comparetotal  -0E1   0E1 -> -1
 | 
 | 476 | cotx673 comparetotal  -0E2   0E1 -> -1
 | 
 | 477 | cotx674 comparetotal   0E1   0E1 -> 0
 | 
 | 478 | cotx675 comparetotal   0E2   0E1 -> 1
 | 
 | 479 | cotx676 comparetotal  -0E1   0E2 -> -1
 | 
 | 480 | cotx677 comparetotal  -0E2   0E2 -> -1
 | 
 | 481 | cotx678 comparetotal   0E1   0E2 -> -1
 | 
 | 482 | cotx679 comparetotal   0E2   0E2 -> 0
 | 
 | 483 | 
 | 
 | 484 | -- trailing zeros; unit-y
 | 
 | 485 | precision: 20
 | 
 | 486 | cotx680 comparetotal   12    12           -> 0
 | 
 | 487 | cotx681 comparetotal   12    12.0         -> 1
 | 
 | 488 | cotx682 comparetotal   12    12.00        -> 1
 | 
 | 489 | cotx683 comparetotal   12    12.000       -> 1
 | 
 | 490 | cotx684 comparetotal   12    12.0000      -> 1
 | 
 | 491 | cotx685 comparetotal   12    12.00000     -> 1
 | 
 | 492 | cotx686 comparetotal   12    12.000000    -> 1
 | 
 | 493 | cotx687 comparetotal   12    12.0000000   -> 1
 | 
 | 494 | cotx688 comparetotal   12    12.00000000  -> 1
 | 
 | 495 | cotx689 comparetotal   12    12.000000000 -> 1
 | 
 | 496 | cotx690 comparetotal   12              12 -> 0
 | 
 | 497 | cotx691 comparetotal   12.0            12 -> -1
 | 
 | 498 | cotx692 comparetotal   12.00           12 -> -1
 | 
 | 499 | cotx693 comparetotal   12.000          12 -> -1
 | 
 | 500 | cotx694 comparetotal   12.0000         12 -> -1
 | 
 | 501 | cotx695 comparetotal   12.00000        12 -> -1
 | 
 | 502 | cotx696 comparetotal   12.000000       12 -> -1
 | 
 | 503 | cotx697 comparetotal   12.0000000      12 -> -1
 | 
 | 504 | cotx698 comparetotal   12.00000000     12 -> -1
 | 
 | 505 | cotx699 comparetotal   12.000000000    12 -> -1
 | 
 | 506 | 
 | 
 | 507 | -- long operand checks
 | 
 | 508 | maxexponent: 999
 | 
 | 509 | minexponent: -999
 | 
 | 510 | precision: 9
 | 
 | 511 | cotx701 comparetotal 12345678000  1 ->  1
 | 
 | 512 | cotx702 comparetotal 1 12345678000  -> -1
 | 
 | 513 | cotx703 comparetotal 1234567800   1 ->  1
 | 
 | 514 | cotx704 comparetotal 1 1234567800   -> -1
 | 
 | 515 | cotx705 comparetotal 1234567890   1 ->  1
 | 
 | 516 | cotx706 comparetotal 1 1234567890   -> -1
 | 
 | 517 | cotx707 comparetotal 1234567891   1 ->  1
 | 
 | 518 | cotx708 comparetotal 1 1234567891   -> -1
 | 
 | 519 | cotx709 comparetotal 12345678901  1 ->  1
 | 
 | 520 | cotx710 comparetotal 1 12345678901  -> -1
 | 
 | 521 | cotx711 comparetotal 1234567896   1 ->  1
 | 
 | 522 | cotx712 comparetotal 1 1234567896   -> -1
 | 
 | 523 | cotx713 comparetotal -1234567891  1 -> -1
 | 
 | 524 | cotx714 comparetotal 1 -1234567891  ->  1
 | 
 | 525 | cotx715 comparetotal -12345678901 1 -> -1
 | 
 | 526 | cotx716 comparetotal 1 -12345678901 ->  1
 | 
 | 527 | cotx717 comparetotal -1234567896  1 -> -1
 | 
 | 528 | cotx718 comparetotal 1 -1234567896  ->  1
 | 
 | 529 | 
 | 
 | 530 | precision: 15
 | 
 | 531 | -- same with plenty of precision
 | 
 | 532 | cotx721 comparetotal 12345678000 1 -> 1
 | 
 | 533 | cotx722 comparetotal 1 12345678000 -> -1
 | 
 | 534 | cotx723 comparetotal 1234567800  1 -> 1
 | 
 | 535 | cotx724 comparetotal 1 1234567800  -> -1
 | 
 | 536 | cotx725 comparetotal 1234567890  1 -> 1
 | 
 | 537 | cotx726 comparetotal 1 1234567890  -> -1
 | 
 | 538 | cotx727 comparetotal 1234567891  1 -> 1
 | 
 | 539 | cotx728 comparetotal 1 1234567891  -> -1
 | 
 | 540 | cotx729 comparetotal 12345678901 1 -> 1
 | 
 | 541 | cotx730 comparetotal 1 12345678901 -> -1
 | 
 | 542 | cotx731 comparetotal 1234567896  1 -> 1
 | 
 | 543 | cotx732 comparetotal 1 1234567896  -> -1
 | 
 | 544 | 
 | 
 | 545 | -- residue cases
 | 
 | 546 | precision: 5
 | 
 | 547 | cotx740 comparetotal  1  0.9999999  -> 1
 | 
 | 548 | cotx741 comparetotal  1  0.999999   -> 1
 | 
 | 549 | cotx742 comparetotal  1  0.99999    -> 1
 | 
 | 550 | cotx743 comparetotal  1  1.0000     -> 1
 | 
 | 551 | cotx744 comparetotal  1  1.00001    -> -1
 | 
 | 552 | cotx745 comparetotal  1  1.000001   -> -1
 | 
 | 553 | cotx746 comparetotal  1  1.0000001  -> -1
 | 
 | 554 | cotx750 comparetotal  0.9999999  1  -> -1
 | 
 | 555 | cotx751 comparetotal  0.999999   1  -> -1
 | 
 | 556 | cotx752 comparetotal  0.99999    1  -> -1
 | 
 | 557 | cotx753 comparetotal  1.0000     1  -> -1
 | 
 | 558 | cotx754 comparetotal  1.00001    1  -> 1
 | 
 | 559 | cotx755 comparetotal  1.000001   1  -> 1
 | 
 | 560 | cotx756 comparetotal  1.0000001  1  -> 1
 | 
 | 561 | 
 | 
 | 562 | -- a selection of longies
 | 
 | 563 | cotx760 comparetotal -36852134.84194296250843579428931 -5830629.8347085025808756560357940 -> -1
 | 
 | 564 | cotx761 comparetotal -36852134.84194296250843579428931 -36852134.84194296250843579428931  -> 0
 | 
 | 565 | cotx762 comparetotal -36852134.94194296250843579428931 -36852134.84194296250843579428931  -> -1
 | 
 | 566 | cotx763 comparetotal -36852134.84194296250843579428931 -36852134.94194296250843579428931  -> 1
 | 
 | 567 | -- precisions above or below the difference should have no effect
 | 
 | 568 | precision:   11
 | 
 | 569 | cotx764 comparetotal -36852134.84194296250843579428931 -36852134.94194296250843579428931  -> 1
 | 
 | 570 | precision:   10
 | 
 | 571 | cotx765 comparetotal -36852134.84194296250843579428931 -36852134.94194296250843579428931  -> 1
 | 
 | 572 | precision:    9
 | 
 | 573 | cotx766 comparetotal -36852134.84194296250843579428931 -36852134.94194296250843579428931  -> 1
 | 
 | 574 | precision:    8
 | 
 | 575 | cotx767 comparetotal -36852134.84194296250843579428931 -36852134.94194296250843579428931  -> 1
 | 
 | 576 | precision:    7
 | 
 | 577 | cotx768 comparetotal -36852134.84194296250843579428931 -36852134.94194296250843579428931  -> 1
 | 
 | 578 | precision:    6
 | 
 | 579 | cotx769 comparetotal -36852134.84194296250843579428931 -36852134.94194296250843579428931  -> 1
 | 
 | 580 | precision:    5
 | 
 | 581 | cotx770 comparetotal -36852134.84194296250843579428931 -36852134.94194296250843579428931  -> 1
 | 
 | 582 | precision:    4
 | 
 | 583 | cotx771 comparetotal -36852134.84194296250843579428931 -36852134.94194296250843579428931  -> 1
 | 
 | 584 | precision:    3
 | 
 | 585 | cotx772 comparetotal -36852134.84194296250843579428931 -36852134.94194296250843579428931  -> 1
 | 
 | 586 | precision:    2
 | 
 | 587 | cotx773 comparetotal -36852134.84194296250843579428931 -36852134.94194296250843579428931  -> 1
 | 
 | 588 | precision:    1
 | 
 | 589 | cotx774 comparetotal -36852134.84194296250843579428931 -36852134.94194296250843579428931  -> 1
 | 
 | 590 | 
 | 
 | 591 | -- Specials
 | 
 | 592 | precision:   9
 | 
 | 593 | cotx780 comparetotal  Inf  -Inf   ->  1
 | 
 | 594 | cotx781 comparetotal  Inf  -1000  ->  1
 | 
 | 595 | cotx782 comparetotal  Inf  -1     ->  1
 | 
 | 596 | cotx783 comparetotal  Inf  -0     ->  1
 | 
 | 597 | cotx784 comparetotal  Inf   0     ->  1
 | 
 | 598 | cotx785 comparetotal  Inf   1     ->  1
 | 
 | 599 | cotx786 comparetotal  Inf   1000  ->  1
 | 
 | 600 | cotx787 comparetotal  Inf   Inf   ->  0
 | 
 | 601 | cotx788 comparetotal -1000  Inf   -> -1
 | 
 | 602 | cotx789 comparetotal -Inf   Inf   -> -1
 | 
 | 603 | cotx790 comparetotal -1     Inf   -> -1
 | 
 | 604 | cotx791 comparetotal -0     Inf   -> -1
 | 
 | 605 | cotx792 comparetotal  0     Inf   -> -1
 | 
 | 606 | cotx793 comparetotal  1     Inf   -> -1
 | 
 | 607 | cotx794 comparetotal  1000  Inf   -> -1
 | 
 | 608 | cotx795 comparetotal  Inf   Inf   ->  0
 | 
 | 609 | 
 | 
 | 610 | cotx800 comparetotal -Inf  -Inf   ->  0
 | 
 | 611 | cotx801 comparetotal -Inf  -1000  -> -1
 | 
 | 612 | cotx802 comparetotal -Inf  -1     -> -1
 | 
 | 613 | cotx803 comparetotal -Inf  -0     -> -1
 | 
 | 614 | cotx804 comparetotal -Inf   0     -> -1
 | 
 | 615 | cotx805 comparetotal -Inf   1     -> -1
 | 
 | 616 | cotx806 comparetotal -Inf   1000  -> -1
 | 
 | 617 | cotx807 comparetotal -Inf   Inf   -> -1
 | 
 | 618 | cotx808 comparetotal -Inf  -Inf   ->  0
 | 
 | 619 | cotx809 comparetotal -1000 -Inf   ->  1
 | 
 | 620 | cotx810 comparetotal -1    -Inf   ->  1
 | 
 | 621 | cotx811 comparetotal -0    -Inf   ->  1
 | 
 | 622 | cotx812 comparetotal  0    -Inf   ->  1
 | 
 | 623 | cotx813 comparetotal  1    -Inf   ->  1
 | 
 | 624 | cotx814 comparetotal  1000 -Inf   ->  1
 | 
 | 625 | cotx815 comparetotal  Inf  -Inf   ->  1
 | 
 | 626 | 
 | 
 | 627 | cotx821 comparetotal  NaN -Inf    ->  1
 | 
 | 628 | cotx822 comparetotal  NaN -1000   ->  1
 | 
 | 629 | cotx823 comparetotal  NaN -1      ->  1
 | 
 | 630 | cotx824 comparetotal  NaN -0      ->  1
 | 
 | 631 | cotx825 comparetotal  NaN  0      ->  1
 | 
 | 632 | cotx826 comparetotal  NaN  1      ->  1
 | 
 | 633 | cotx827 comparetotal  NaN  1000   ->  1
 | 
 | 634 | cotx828 comparetotal  NaN  Inf    ->  1
 | 
 | 635 | cotx829 comparetotal  NaN  NaN    ->  0
 | 
 | 636 | cotx830 comparetotal -Inf  NaN    ->  -1
 | 
 | 637 | cotx831 comparetotal -1000 NaN    ->  -1
 | 
 | 638 | cotx832 comparetotal -1    NaN    ->  -1
 | 
 | 639 | cotx833 comparetotal -0    NaN    ->  -1
 | 
 | 640 | cotx834 comparetotal  0    NaN    ->  -1
 | 
 | 641 | cotx835 comparetotal  1    NaN    ->  -1
 | 
 | 642 | cotx836 comparetotal  1000 NaN    ->  -1
 | 
 | 643 | cotx837 comparetotal  Inf  NaN    ->  -1
 | 
 | 644 | cotx838 comparetotal -NaN -NaN    ->  0
 | 
 | 645 | cotx839 comparetotal +NaN -NaN    ->  1
 | 
 | 646 | cotx840 comparetotal -NaN +NaN    ->  -1
 | 
 | 647 | 
 | 
 | 648 | cotx841 comparetotal  sNaN -sNaN  ->  1
 | 
 | 649 | cotx842 comparetotal  sNaN -NaN   ->  1
 | 
 | 650 | cotx843 comparetotal  sNaN -Inf   ->  1
 | 
 | 651 | cotx844 comparetotal  sNaN -1000  ->  1
 | 
 | 652 | cotx845 comparetotal  sNaN -1     ->  1
 | 
 | 653 | cotx846 comparetotal  sNaN -0     ->  1
 | 
 | 654 | cotx847 comparetotal  sNaN  0     ->  1
 | 
 | 655 | cotx848 comparetotal  sNaN  1     ->  1
 | 
 | 656 | cotx849 comparetotal  sNaN  1000  ->  1
 | 
 | 657 | cotx850 comparetotal  sNaN  NaN   ->  -1
 | 
 | 658 | cotx851 comparetotal  sNaN sNaN   ->  0
 | 
 | 659 | 
 | 
 | 660 | cotx852 comparetotal -sNaN sNaN   ->  -1
 | 
 | 661 | cotx853 comparetotal -NaN  sNaN   ->  -1
 | 
 | 662 | cotx854 comparetotal -Inf  sNaN   ->  -1
 | 
 | 663 | cotx855 comparetotal -1000 sNaN   ->  -1
 | 
 | 664 | cotx856 comparetotal -1    sNaN   ->  -1
 | 
 | 665 | cotx857 comparetotal -0    sNaN   ->  -1
 | 
 | 666 | cotx858 comparetotal  0    sNaN   ->  -1
 | 
 | 667 | cotx859 comparetotal  1    sNaN   ->  -1
 | 
 | 668 | cotx860 comparetotal  1000 sNaN   ->  -1
 | 
 | 669 | cotx861 comparetotal  Inf  sNaN   ->  -1
 | 
 | 670 | cotx862 comparetotal  NaN  sNaN   ->  1
 | 
 | 671 | cotx863 comparetotal  sNaN sNaN   ->  0
 | 
 | 672 | 
 | 
 | 673 | cotx871 comparetotal  -sNaN -sNaN  ->  0
 | 
 | 674 | cotx872 comparetotal  -sNaN -NaN   ->  1
 | 
 | 675 | cotx873 comparetotal  -sNaN -Inf   ->  -1
 | 
 | 676 | cotx874 comparetotal  -sNaN -1000  ->  -1
 | 
 | 677 | cotx875 comparetotal  -sNaN -1     ->  -1
 | 
 | 678 | cotx876 comparetotal  -sNaN -0     ->  -1
 | 
 | 679 | cotx877 comparetotal  -sNaN  0     ->  -1
 | 
 | 680 | cotx878 comparetotal  -sNaN  1     ->  -1
 | 
 | 681 | cotx879 comparetotal  -sNaN  1000  ->  -1
 | 
 | 682 | cotx880 comparetotal  -sNaN  NaN   ->  -1
 | 
 | 683 | cotx881 comparetotal  -sNaN sNaN   ->  -1
 | 
 | 684 | 
 | 
 | 685 | cotx882 comparetotal -sNaN -sNaN   ->  0
 | 
 | 686 | cotx883 comparetotal -NaN  -sNaN   ->  -1
 | 
 | 687 | cotx884 comparetotal -Inf  -sNaN   ->  1
 | 
 | 688 | cotx885 comparetotal -1000 -sNaN   ->  1
 | 
 | 689 | cotx886 comparetotal -1    -sNaN   ->  1
 | 
 | 690 | cotx887 comparetotal -0    -sNaN   ->  1
 | 
 | 691 | cotx888 comparetotal  0    -sNaN   ->  1
 | 
 | 692 | cotx889 comparetotal  1    -sNaN   ->  1
 | 
 | 693 | cotx890 comparetotal  1000 -sNaN   ->  1
 | 
 | 694 | cotx891 comparetotal  Inf  -sNaN   ->  1
 | 
 | 695 | cotx892 comparetotal  NaN  -sNaN   ->  1
 | 
 | 696 | cotx893 comparetotal  sNaN -sNaN   ->  1
 | 
 | 697 | 
 | 
 | 698 | -- NaNs with payload
 | 
 | 699 | cotx960 comparetotal  NaN9 -Inf   ->  1
 | 
 | 700 | cotx961 comparetotal  NaN8  999   ->  1
 | 
 | 701 | cotx962 comparetotal  NaN77 Inf   ->  1
 | 
 | 702 | cotx963 comparetotal -NaN67 NaN5  ->  -1
 | 
 | 703 | cotx964 comparetotal -Inf  -NaN4  ->  1
 | 
 | 704 | cotx965 comparetotal -999  -NaN33 ->  1
 | 
 | 705 | cotx966 comparetotal  Inf   NaN2  ->  -1
 | 
 | 706 | 
 | 
 | 707 | cotx970 comparetotal -NaN41 -NaN42 -> 1
 | 
 | 708 | cotx971 comparetotal +NaN41 -NaN42 -> 1
 | 
 | 709 | cotx972 comparetotal -NaN41 +NaN42 -> -1
 | 
 | 710 | cotx973 comparetotal +NaN41 +NaN42 -> -1
 | 
 | 711 | cotx974 comparetotal -NaN42 -NaN01 -> -1
 | 
 | 712 | cotx975 comparetotal +NaN42 -NaN01 ->  1
 | 
 | 713 | cotx976 comparetotal -NaN42 +NaN01 -> -1
 | 
 | 714 | cotx977 comparetotal +NaN42 +NaN01 ->  1
 | 
 | 715 | 
 | 
 | 716 | cotx980 comparetotal -sNaN771 -sNaN772 -> 1
 | 
 | 717 | cotx981 comparetotal +sNaN771 -sNaN772 -> 1
 | 
 | 718 | cotx982 comparetotal -sNaN771 +sNaN772 -> -1
 | 
 | 719 | cotx983 comparetotal +sNaN771 +sNaN772 -> -1
 | 
 | 720 | cotx984 comparetotal -sNaN772 -sNaN771 -> -1
 | 
 | 721 | cotx985 comparetotal +sNaN772 -sNaN771 ->  1
 | 
 | 722 | cotx986 comparetotal -sNaN772 +sNaN771 -> -1
 | 
 | 723 | cotx987 comparetotal +sNaN772 +sNaN771 ->  1
 | 
 | 724 | 
 | 
 | 725 | cotx991 comparetotal -sNaN99 -Inf    -> -1
 | 
 | 726 | cotx992 comparetotal  sNaN98 -11     ->  1
 | 
 | 727 | cotx993 comparetotal  sNaN97  NaN    -> -1
 | 
 | 728 | cotx994 comparetotal  sNaN16 sNaN94  -> -1
 | 
 | 729 | cotx995 comparetotal  NaN85  sNaN83  ->  1
 | 
 | 730 | cotx996 comparetotal -Inf    sNaN92  -> -1
 | 
 | 731 | cotx997 comparetotal  088    sNaN81  -> -1
 | 
 | 732 | cotx998 comparetotal  Inf    sNaN90  -> -1
 | 
 | 733 | cotx999 comparetotal  NaN   -sNaN89  ->  1
 | 
 | 734 | 
 | 
 | 735 | -- overflow and underflow tests .. subnormal results now allowed
 | 
 | 736 | maxExponent: 999999999
 | 
 | 737 | minexponent: -999999999
 | 
 | 738 | cotx1080 comparetotal +1.23456789012345E-0 9E+999999999 -> -1
 | 
 | 739 | cotx1081 comparetotal 9E+999999999 +1.23456789012345E-0 ->  1
 | 
 | 740 | cotx1082 comparetotal +0.100 9E-999999999               ->  1
 | 
 | 741 | cotx1083 comparetotal 9E-999999999 +0.100               -> -1
 | 
 | 742 | cotx1085 comparetotal -1.23456789012345E-0 9E+999999999 -> -1
 | 
 | 743 | cotx1086 comparetotal 9E+999999999 -1.23456789012345E-0 ->  1
 | 
 | 744 | cotx1087 comparetotal -0.100 9E-999999999               -> -1
 | 
 | 745 | cotx1088 comparetotal 9E-999999999 -0.100               ->  1
 | 
 | 746 | 
 | 
 | 747 | cotx1089 comparetotal 1e-599999999 1e-400000001   -> -1
 | 
 | 748 | cotx1090 comparetotal 1e-599999999 1e-400000000   -> -1
 | 
 | 749 | cotx1091 comparetotal 1e-600000000 1e-400000000   -> -1
 | 
 | 750 | cotx1092 comparetotal 9e-999999998 0.01           -> -1
 | 
 | 751 | cotx1093 comparetotal 9e-999999998 0.1            -> -1
 | 
 | 752 | cotx1094 comparetotal 0.01 9e-999999998           ->  1
 | 
 | 753 | cotx1095 comparetotal 1e599999999 1e400000001     ->  1
 | 
 | 754 | cotx1096 comparetotal 1e599999999 1e400000000     ->  1
 | 
 | 755 | cotx1097 comparetotal 1e600000000 1e400000000     ->  1
 | 
 | 756 | cotx1098 comparetotal 9e999999998 100             ->  1
 | 
 | 757 | cotx1099 comparetotal 9e999999998 10              ->  1
 | 
 | 758 | cotx1100 comparetotal 100  9e999999998            -> -1
 | 
 | 759 | -- signs
 | 
 | 760 | cotx1101 comparetotal  1e+777777777  1e+411111111 ->  1
 | 
 | 761 | cotx1102 comparetotal  1e+777777777 -1e+411111111 ->  1
 | 
 | 762 | cotx1103 comparetotal -1e+777777777  1e+411111111 -> -1
 | 
 | 763 | cotx1104 comparetotal -1e+777777777 -1e+411111111 -> -1
 | 
 | 764 | cotx1105 comparetotal  1e-777777777  1e-411111111 -> -1
 | 
 | 765 | cotx1106 comparetotal  1e-777777777 -1e-411111111 ->  1
 | 
 | 766 | cotx1107 comparetotal -1e-777777777  1e-411111111 -> -1
 | 
 | 767 | cotx1108 comparetotal -1e-777777777 -1e-411111111 ->  1
 | 
 | 768 | 
 | 
 | 769 | -- spread zeros
 | 
 | 770 | cotx1110 comparetotal   0E-383  0       -> -1
 | 
 | 771 | cotx1111 comparetotal   0E-383 -0       ->  1
 | 
 | 772 | cotx1112 comparetotal  -0E-383  0       -> -1
 | 
 | 773 | cotx1113 comparetotal  -0E-383 -0       ->  1
 | 
 | 774 | cotx1114 comparetotal   0E-383  0E+384  -> -1
 | 
 | 775 | cotx1115 comparetotal   0E-383 -0E+384  ->  1
 | 
 | 776 | cotx1116 comparetotal  -0E-383  0E+384  -> -1
 | 
 | 777 | cotx1117 comparetotal  -0E-383 -0E+384  ->  1
 | 
 | 778 | cotx1118 comparetotal   0       0E+384  -> -1
 | 
 | 779 | cotx1119 comparetotal   0      -0E+384  ->  1
 | 
 | 780 | cotx1120 comparetotal  -0       0E+384  -> -1
 | 
 | 781 | cotx1121 comparetotal  -0      -0E+384  ->  1
 | 
 | 782 | 
 | 
 | 783 | cotx1130 comparetotal   0E+384  0       ->  1
 | 
 | 784 | cotx1131 comparetotal   0E+384 -0       ->  1
 | 
 | 785 | cotx1132 comparetotal  -0E+384  0       -> -1
 | 
 | 786 | cotx1133 comparetotal  -0E+384 -0       -> -1
 | 
 | 787 | cotx1134 comparetotal   0E+384  0E-383  ->  1
 | 
 | 788 | cotx1135 comparetotal   0E+384 -0E-383  ->  1
 | 
 | 789 | cotx1136 comparetotal  -0E+384  0E-383  -> -1
 | 
 | 790 | cotx1137 comparetotal  -0E+384 -0E-383  -> -1
 | 
 | 791 | cotx1138 comparetotal   0       0E-383  ->  1
 | 
 | 792 | cotx1139 comparetotal   0      -0E-383  ->  1
 | 
 | 793 | cotx1140 comparetotal  -0       0E-383  -> -1
 | 
 | 794 | cotx1141 comparetotal  -0      -0E-383  -> -1
 | 
 | 795 | 
 | 
 | 796 | -- Null tests
 | 
 | 797 | cotx9990 comparetotal 10  # -> NaN Invalid_operation
 | 
 | 798 | cotx9991 comparetotal  # 10 -> NaN Invalid_operation
 |