github.com/cockroachdb/apd/v3@v3.2.0/testdata/divide.decTest (about)

     1  ------------------------------------------------------------------------
     2  -- divide.decTest -- decimal division                                 --
     3  -- Copyright (c) Mike Cowlishaw,  1981, 2010.  All rights reserved.   --
     4  -- Parts copyright (c) IBM Corporation, 1981, 2008.                   --
     5  ------------------------------------------------------------------------
     6  -- Please see the document "General Decimal Arithmetic Testcases"     --
     7  -- at http://speleotrove.com/decimal for the description of           --
     8  -- these testcases.                                                   --
     9  --                                                                    --
    10  -- These testcases are experimental ('beta' versions), and they       --
    11  -- may contain errors.  They are offered on an as-is basis.  In       --
    12  -- particular, achieving the same results as the tests here is not    --
    13  -- a guarantee that an implementation complies with any Standard      --
    14  -- or specification.  The tests are not exhaustive.                   --
    15  --                                                                    --
    16  -- Please send comments, suggestions, and corrections to the author:  --
    17  --   Mike Cowlishaw, mfc@speleotrove.com                              --
    18  ------------------------------------------------------------------------
    19  version: 2.62
    20  
    21  extended:    1
    22  precision:   9
    23  rounding:    half_up
    24  maxExponent: 384
    25  minexponent: -383
    26  
    27  -- sanity checks
    28  divx001 divide  1     1    ->  1
    29  divx002 divide  2     1    ->  2
    30  divx003 divide  1     2    ->  0.5
    31  divx004 divide  2     2    ->  1
    32  divx005 divide  0     1    ->  0
    33  divx006 divide  0     2    ->  0
    34  divx007 divide  1     3    ->  0.333333333 Inexact Rounded
    35  divx008 divide  2     3    ->  0.666666667 Inexact Rounded
    36  divx009 divide  3     3    ->  1
    37  
    38  divx010 divide  2.4   1    ->  2.4
    39  divx011 divide  2.4   -1   ->  -2.4
    40  divx012 divide  -2.4  1    ->  -2.4
    41  divx013 divide  -2.4  -1   ->  2.4
    42  divx014 divide  2.40  1    ->  2.40
    43  divx015 divide  2.400 1    ->  2.400
    44  divx016 divide  2.4   2    ->  1.2
    45  divx017 divide  2.400 2    ->  1.200
    46  divx018 divide  2.    2    ->  1
    47  divx019 divide  20    20   ->  1
    48  
    49  divx020 divide  187   187    ->  1
    50  divx021 divide  5     2      ->  2.5
    51  divx022 divide  50    20     ->  2.5
    52  divx023 divide  500   200    ->  2.5
    53  divx024 divide  50.0  20.0   ->  2.5
    54  divx025 divide  5.00  2.00   ->  2.5
    55  divx026 divide  5     2.0    ->  2.5
    56  divx027 divide  5     2.000  ->  2.5
    57  divx028 divide  5     0.20   ->  25
    58  divx029 divide  5     0.200  ->  25
    59  divx030 divide  10    1      ->  10
    60  divx031 divide  100   1      ->  100
    61  divx032 divide  1000  1      ->  1000
    62  divx033 divide  1000  100    ->  10
    63  
    64  divx035 divide  1     2      ->  0.5
    65  divx036 divide  1     4      ->  0.25
    66  divx037 divide  1     8      ->  0.125
    67  divx038 divide  1     16     ->  0.0625
    68  divx039 divide  1     32     ->  0.03125
    69  divx040 divide  1     64     ->  0.015625
    70  divx041 divide  1    -2      ->  -0.5
    71  divx042 divide  1    -4      ->  -0.25
    72  divx043 divide  1    -8      ->  -0.125
    73  divx044 divide  1    -16     ->  -0.0625
    74  divx045 divide  1    -32     ->  -0.03125
    75  divx046 divide  1    -64     ->  -0.015625
    76  divx047 divide -1     2      ->  -0.5
    77  divx048 divide -1     4      ->  -0.25
    78  divx049 divide -1     8      ->  -0.125
    79  divx050 divide -1     16     ->  -0.0625
    80  divx051 divide -1     32     ->  -0.03125
    81  divx052 divide -1     64     ->  -0.015625
    82  divx053 divide -1    -2      ->  0.5
    83  divx054 divide -1    -4      ->  0.25
    84  divx055 divide -1    -8      ->  0.125
    85  divx056 divide -1    -16     ->  0.0625
    86  divx057 divide -1    -32     ->  0.03125
    87  divx058 divide -1    -64     ->  0.015625
    88  
    89  divx070 divide  999999999        1    ->  999999999
    90  divx071 divide  999999999.4      1    ->  999999999 Inexact Rounded
    91  divx072 divide  999999999.5      1    ->  1.00000000E+9 Inexact Rounded
    92  divx073 divide  999999999.9      1    ->  1.00000000E+9 Inexact Rounded
    93  divx074 divide  999999999.999    1    ->  1.00000000E+9 Inexact Rounded
    94  precision: 6
    95  divx080 divide  999999999     1  ->  1.00000E+9 Inexact Rounded
    96  divx081 divide  99999999      1  ->  1.00000E+8 Inexact Rounded
    97  divx082 divide  9999999       1  ->  1.00000E+7 Inexact Rounded
    98  divx083 divide  999999        1  ->  999999
    99  divx084 divide  99999         1  ->  99999
   100  divx085 divide  9999          1  ->  9999
   101  divx086 divide  999           1  ->  999
   102  divx087 divide  99            1  ->  99
   103  divx088 divide  9             1  ->  9
   104  
   105  precision: 9
   106  divx090 divide  0.            1    ->  0
   107  divx091 divide  .0            1    ->  0.0
   108  divx092 divide  0.00          1    ->  0.00
   109  divx093 divide  0.00E+9       1    ->  0E+7
   110  divx094 divide  0.0000E-50    1    ->  0E-54
   111  
   112  divx095 divide  1            1E-8  ->  1E+8
   113  divx096 divide  1            1E-9  ->  1E+9
   114  divx097 divide  1            1E-10 ->  1E+10
   115  divx098 divide  1            1E-11 ->  1E+11
   116  divx099 divide  1            1E-12 ->  1E+12
   117  
   118  divx100 divide  1  1   -> 1
   119  divx101 divide  1  2   -> 0.5
   120  divx102 divide  1  3   -> 0.333333333 Inexact Rounded
   121  divx103 divide  1  4   -> 0.25
   122  divx104 divide  1  5   -> 0.2
   123  divx105 divide  1  6   -> 0.166666667 Inexact Rounded
   124  divx106 divide  1  7   -> 0.142857143 Inexact Rounded
   125  divx107 divide  1  8   -> 0.125
   126  divx108 divide  1  9   -> 0.111111111 Inexact Rounded
   127  divx109 divide  1  10  -> 0.1
   128  divx110 divide  1  1   -> 1
   129  divx111 divide  2  1   -> 2
   130  divx112 divide  3  1   -> 3
   131  divx113 divide  4  1   -> 4
   132  divx114 divide  5  1   -> 5
   133  divx115 divide  6  1   -> 6
   134  divx116 divide  7  1   -> 7
   135  divx117 divide  8  1   -> 8
   136  divx118 divide  9  1   -> 9
   137  divx119 divide  10 1   -> 10
   138  
   139  divx120 divide  3E+1 0.001  -> 3E+4
   140  divx121 divide  2.200 2     -> 1.100
   141  
   142  divx130 divide  12345  4.999  ->  2469.49390 Inexact Rounded
   143  divx131 divide  12345  4.99   ->  2473.94790 Inexact Rounded
   144  divx132 divide  12345  4.9    ->  2519.38776 Inexact Rounded
   145  divx133 divide  12345  5      ->  2469
   146  divx134 divide  12345  5.1    ->  2420.58824 Inexact Rounded
   147  divx135 divide  12345  5.01   ->  2464.07186 Inexact Rounded
   148  divx136 divide  12345  5.001  ->  2468.50630 Inexact Rounded
   149  
   150  precision:   9
   151  maxexponent: 999999999
   152  minexponent: -999999999
   153  
   154  -- test possibly imprecise results
   155  divx220 divide 391   597 ->  0.654941374 Inexact Rounded
   156  divx221 divide 391  -597 -> -0.654941374 Inexact Rounded
   157  divx222 divide -391  597 -> -0.654941374 Inexact Rounded
   158  divx223 divide -391 -597 ->  0.654941374 Inexact Rounded
   159  
   160  -- test some cases that are close to exponent overflow
   161  maxexponent: 999999999
   162  minexponent: -999999999
   163  divx270 divide 1 1e999999999    -> 1E-999999999
   164  divx271 divide 1 0.9e999999999  -> 1.11111111E-999999999 Inexact Rounded
   165  divx272 divide 1 0.99e999999999 -> 1.01010101E-999999999 Inexact Rounded
   166  divx273 divide 1 0.999999999e999999999 -> 1.00000000E-999999999 Inexact Rounded
   167  divx274 divide 9e999999999    1 -> 9E+999999999
   168  divx275 divide 9.9e999999999  1 -> 9.9E+999999999
   169  divx276 divide 9.99e999999999 1 -> 9.99E+999999999
   170  divx277 divide 9.99999999e999999999 1 -> 9.99999999E+999999999
   171  
   172  divx280 divide 0.1 9e-999999999   -> 1.11111111E+999999997 Inexact Rounded
   173  divx281 divide 0.1 99e-999999999  -> 1.01010101E+999999996 Inexact Rounded
   174  divx282 divide 0.1 999e-999999999 -> 1.00100100E+999999995 Inexact Rounded
   175  
   176  divx283 divide 0.1 9e-999999998     -> 1.11111111E+999999996 Inexact Rounded
   177  divx284 divide 0.1 99e-999999998    -> 1.01010101E+999999995 Inexact Rounded
   178  divx285 divide 0.1 999e-999999998   -> 1.00100100E+999999994 Inexact Rounded
   179  divx286 divide 0.1 999e-999999997   -> 1.00100100E+999999993 Inexact Rounded
   180  divx287 divide 0.1 9999e-999999997  -> 1.00010001E+999999992 Inexact Rounded
   181  divx288 divide 0.1 99999e-999999997 -> 1.00001000E+999999991 Inexact Rounded
   182  
   183  -- Divide into 0 tests
   184  
   185  divx301 divide    0    7     -> 0
   186  divx302 divide    0    7E-5  -> 0E+5
   187  divx303 divide    0    7E-1  -> 0E+1
   188  divx304 divide    0    7E+1  -> 0.0
   189  divx305 divide    0    7E+5  -> 0.00000
   190  divx306 divide    0    7E+6  -> 0.000000
   191  divx307 divide    0    7E+7  -> 0E-7
   192  divx308 divide    0   70E-5  -> 0E+5
   193  divx309 divide    0   70E-1  -> 0E+1
   194  divx310 divide    0   70E+0  -> 0
   195  divx311 divide    0   70E+1  -> 0.0
   196  divx312 divide    0   70E+5  -> 0.00000
   197  divx313 divide    0   70E+6  -> 0.000000
   198  divx314 divide    0   70E+7  -> 0E-7
   199  divx315 divide    0  700E-5  -> 0E+5
   200  divx316 divide    0  700E-1  -> 0E+1
   201  divx317 divide    0  700E+0  -> 0
   202  divx318 divide    0  700E+1  -> 0.0
   203  divx319 divide    0  700E+5  -> 0.00000
   204  divx320 divide    0  700E+6  -> 0.000000
   205  divx321 divide    0  700E+7  -> 0E-7
   206  divx322 divide    0  700E+77 -> 0E-77
   207  
   208  divx331 divide 0E-3    7E-5  -> 0E+2
   209  divx332 divide 0E-3    7E-1  -> 0.00
   210  divx333 divide 0E-3    7E+1  -> 0.0000
   211  divx334 divide 0E-3    7E+5  -> 0E-8
   212  divx335 divide 0E-1    7E-5  -> 0E+4
   213  divx336 divide 0E-1    7E-1  -> 0
   214  divx337 divide 0E-1    7E+1  -> 0.00
   215  divx338 divide 0E-1    7E+5  -> 0.000000
   216  divx339 divide 0E+1    7E-5  -> 0E+6
   217  divx340 divide 0E+1    7E-1  -> 0E+2
   218  divx341 divide 0E+1    7E+1  -> 0
   219  divx342 divide 0E+1    7E+5  -> 0.0000
   220  divx343 divide 0E+3    7E-5  -> 0E+8
   221  divx344 divide 0E+3    7E-1  -> 0E+4
   222  divx345 divide 0E+3    7E+1  -> 0E+2
   223  divx346 divide 0E+3    7E+5  -> 0.00
   224  
   225  maxexponent: 92
   226  minexponent: -92
   227  precision:    7
   228  divx351 divide 0E-92   7E-1  -> 0E-91
   229  divx352 divide 0E-92   7E+1  -> 0E-93
   230  divx353 divide 0E-92   7E+5  -> 0E-97
   231  divx354 divide 0E-92   7E+6  -> 0E-98
   232  divx355 divide 0E-92   7E+7  -> 0E-98 Clamped
   233  divx356 divide 0E-92 777E-1  -> 0E-91
   234  divx357 divide 0E-92 777E+1  -> 0E-93
   235  divx358 divide 0E-92 777E+3  -> 0E-95
   236  divx359 divide 0E-92 777E+4  -> 0E-96
   237  divx360 divide 0E-92 777E+5  -> 0E-97
   238  divx361 divide 0E-92 777E+6  -> 0E-98
   239  divx362 divide 0E-92 777E+7  -> 0E-98 Clamped
   240  divx363 divide 0E-92   7E+92 -> 0E-98 Clamped
   241  
   242  divx371 divide 0E-92 700E-1  -> 0E-91
   243  divx372 divide 0E-92 700E+1  -> 0E-93
   244  divx373 divide 0E-92 700E+3  -> 0E-95
   245  divx374 divide 0E-92 700E+4  -> 0E-96
   246  divx375 divide 0E-92 700E+5  -> 0E-97
   247  divx376 divide 0E-92 700E+6  -> 0E-98
   248  divx377 divide 0E-92 700E+7  -> 0E-98 Clamped
   249  
   250  divx381 divide 0E+92   7E+1  -> 0E+91
   251  divx382 divide 0E+92   7E+0  -> 0E+92
   252  divx383 divide 0E+92   7E-1  -> 0E+92 Clamped
   253  divx384 divide 0E+90 777E+1  -> 0E+89
   254  divx385 divide 0E+90 777E-1  -> 0E+91
   255  divx386 divide 0E+90 777E-2  -> 0E+92
   256  divx387 divide 0E+90 777E-3  -> 0E+92 Clamped
   257  divx388 divide 0E+90 777E-4  -> 0E+92 Clamped
   258  
   259  divx391 divide 0E+90 700E+1  -> 0E+89
   260  divx392 divide 0E+90 700E-1  -> 0E+91
   261  divx393 divide 0E+90 700E-2  -> 0E+92
   262  divx394 divide 0E+90 700E-3  -> 0E+92 Clamped
   263  divx395 divide 0E+90 700E-4  -> 0E+92 Clamped
   264  
   265  -- input rounding checks
   266  maxexponent: 999
   267  minexponent: -999
   268  precision: 9
   269  divx401 divide 12345678000 1 -> 1.23456780E+10 Rounded
   270  divx402 divide 1 12345678000 -> 8.10000066E-11 Inexact Rounded
   271  divx403 divide 1234567800  1 -> 1.23456780E+9  Rounded
   272  divx404 divide 1 1234567800  -> 8.10000066E-10 Inexact Rounded
   273  divx405 divide 1234567890  1 -> 1.23456789E+9  Rounded
   274  divx406 divide 1 1234567890  -> 8.10000007E-10 Inexact Rounded
   275  divx407 divide 1234567891  1 -> 1.23456789E+9  Inexact Rounded
   276  divx408 divide 1 1234567891  -> 8.10000007E-10 Inexact Rounded
   277  divx409 divide 12345678901 1 -> 1.23456789E+10 Inexact Rounded
   278  divx410 divide 1 12345678901 -> 8.10000007E-11 Inexact Rounded
   279  divx411 divide 1234567896  1 -> 1.23456790E+9  Inexact Rounded
   280  divx412 divide 1 1234567896  -> 8.10000003E-10 Inexact Rounded
   281  divx413 divide 1 1234567897  -> 8.10000003E-10 Inexact Rounded
   282  divx414 divide 1 1234567898  -> 8.10000002E-10 Inexact Rounded
   283  divx415 divide 1 1234567899  -> 8.10000001E-10 Inexact Rounded
   284  divx416 divide 1 1234567900  -> 8.10000001E-10 Inexact Rounded
   285  divx417 divide 1 1234567901  -> 8.10000000E-10 Inexact Rounded
   286  divx418 divide 1 1234567902  -> 8.09999999E-10 Inexact Rounded
   287  -- some longies
   288  divx421 divide 1234567896.000000000000  1 -> 1.23456790E+9  Inexact Rounded
   289  divx422 divide 1 1234567896.000000000000  -> 8.10000003E-10 Inexact Rounded
   290  divx423 divide 1234567896.000000000001  1 -> 1.23456790E+9  Inexact Rounded
   291  divx424 divide 1 1234567896.000000000001  -> 8.10000003E-10 Inexact Rounded
   292  divx425 divide 1234567896.000000000000000000000000000000000000000009  1 -> 1.23456790E+9  Inexact Rounded
   293  divx426 divide 1 1234567896.000000000000000000000000000000000000000009  -> 8.10000003E-10 Inexact Rounded
   294  divx427 divide 1234567897.900010000000000000000000000000000000000009  1 -> 1.23456790E+9  Inexact Rounded
   295  divx428 divide 1 1234567897.900010000000000000000000000000000000000009  -> 8.10000002E-10 Inexact Rounded
   296  
   297  precision: 15
   298  -- still checking...
   299  divx441 divide 12345678000 1 -> 12345678000
   300  divx442 divide 1 12345678000 -> 8.10000066420005E-11 Inexact Rounded
   301  divx443 divide 1234567800  1 -> 1234567800
   302  divx444 divide 1 1234567800  -> 8.10000066420005E-10 Inexact Rounded
   303  divx445 divide 1234567890  1 -> 1234567890
   304  divx446 divide 1 1234567890  -> 8.10000007371000E-10 Inexact Rounded
   305  divx447 divide 1234567891  1 -> 1234567891
   306  divx448 divide 1 1234567891  -> 8.10000006714900E-10 Inexact Rounded
   307  divx449 divide 12345678901 1 -> 12345678901
   308  divx450 divide 1 12345678901 -> 8.10000007305390E-11 Inexact Rounded
   309  divx451 divide 1234567896  1 -> 1234567896
   310  divx452 divide 1 1234567896  -> 8.10000003434400E-10 Inexact Rounded
   311  
   312  -- high-lows
   313  divx453 divide 1e+1   1    ->   1E+1
   314  divx454 divide 1e+1   1.0  ->   1E+1
   315  divx455 divide 1e+1   1.00 ->   1E+1
   316  divx456 divide 1e+2   2    ->   5E+1
   317  divx457 divide 1e+2   2.0  ->   5E+1
   318  divx458 divide 1e+2   2.00 ->   5E+1
   319  
   320  -- some from IEEE discussions
   321  divx460 divide 3e0      2e0     -> 1.5
   322  divx461 divide 30e-1    2e0     -> 1.5
   323  divx462 divide 300e-2   2e0     -> 1.50
   324  divx464 divide 3000e-3  2e0     -> 1.500
   325  divx465 divide 3e0      20e-1   -> 1.5
   326  divx466 divide 30e-1    20e-1   -> 1.5
   327  divx467 divide 300e-2   20e-1   -> 1.5
   328  divx468 divide 3000e-3  20e-1   -> 1.50
   329  divx469 divide 3e0      200e-2  -> 1.5
   330  divx470 divide 30e-1    200e-2  -> 1.5
   331  divx471 divide 300e-2   200e-2  -> 1.5
   332  divx472 divide 3000e-3  200e-2  -> 1.5
   333  divx473 divide 3e0      2000e-3 -> 1.5
   334  divx474 divide 30e-1    2000e-3 -> 1.5
   335  divx475 divide 300e-2   2000e-3 -> 1.5
   336  divx476 divide 3000e-3  2000e-3 -> 1.5
   337  
   338  -- some reciprocals
   339  divx480 divide 1        1.0E+33 -> 1E-33
   340  divx481 divide 1        10E+33  -> 1E-34
   341  divx482 divide 1        1.0E-33 -> 1E+33
   342  divx483 divide 1        10E-33  -> 1E+32
   343  
   344  -- RMS discussion table
   345  maxexponent:  96
   346  minexponent: -95
   347  precision:     7
   348  
   349  divx484 divide 0e5     1e3 ->   0E+2
   350  divx485 divide 0e5     2e3 ->   0E+2
   351  divx486 divide 0e5    10e2 ->   0E+3
   352  divx487 divide 0e5    20e2 ->   0E+3
   353  divx488 divide 0e5   100e1 ->   0E+4
   354  divx489 divide 0e5   200e1 ->   0E+4
   355  
   356  divx491 divide 1e5     1e3 ->   1E+2
   357  divx492 divide 1e5     2e3 ->   5E+1
   358  divx493 divide 1e5    10e2 ->   1E+2
   359  divx494 divide 1e5    20e2 ->   5E+1
   360  divx495 divide 1e5   100e1 ->   1E+2
   361  divx496 divide 1e5   200e1 ->   5E+1
   362  
   363  -- tryzeros cases
   364  precision:   7
   365  rounding:    half_up
   366  maxExponent: 92
   367  minexponent: -92
   368  divx497  divide  0E+86 1000E-13  -> 0E+92 Clamped
   369  divx498  divide  0E-98 1000E+13  -> 0E-98 Clamped
   370  
   371  precision:   9
   372  rounding:    half_up
   373  maxExponent: 999
   374  minexponent: -999
   375  
   376  -- focus on trailing zeros issues
   377  precision:   9
   378  divx500 divide  1      9.9    ->  0.101010101  Inexact Rounded
   379  precision:   8
   380  divx501 divide  1      9.9    ->  0.10101010   Inexact Rounded
   381  precision:   7
   382  divx502 divide  1      9.9    ->  0.1010101    Inexact Rounded
   383  precision:   6
   384  divx503 divide  1      9.9    ->  0.101010     Inexact Rounded
   385  precision:   9
   386  
   387  divx511 divide 1         2    -> 0.5
   388  divx512 divide 1.0       2    -> 0.5
   389  divx513 divide 1.00      2    -> 0.50
   390  divx514 divide 1.000     2    -> 0.500
   391  divx515 divide 1.0000    2    -> 0.5000
   392  divx516 divide 1.00000   2    -> 0.50000
   393  divx517 divide 1.000000  2    -> 0.500000
   394  divx518 divide 1.0000000 2    -> 0.5000000
   395  divx519 divide 1.00      2.00 -> 0.5
   396  
   397  divx521 divide 2    1         -> 2
   398  divx522 divide 2    1.0       -> 2
   399  divx523 divide 2    1.00      -> 2
   400  divx524 divide 2    1.000     -> 2
   401  divx525 divide 2    1.0000    -> 2
   402  divx526 divide 2    1.00000   -> 2
   403  divx527 divide 2    1.000000  -> 2
   404  divx528 divide 2    1.0000000 -> 2
   405  divx529 divide 2.00 1.00      -> 2
   406  
   407  divx530 divide  2.40   2      ->  1.20
   408  divx531 divide  2.40   4      ->  0.60
   409  divx532 divide  2.40  10      ->  0.24
   410  divx533 divide  2.40   2.0    ->  1.2
   411  divx534 divide  2.40   4.0    ->  0.6
   412  divx535 divide  2.40  10.0    ->  0.24
   413  divx536 divide  2.40   2.00   ->  1.2
   414  divx537 divide  2.40   4.00   ->  0.6
   415  divx538 divide  2.40  10.00   ->  0.24
   416  divx539 divide  0.9    0.1    ->  9
   417  divx540 divide  0.9    0.01   ->  9E+1
   418  divx541 divide  0.9    0.001  ->  9E+2
   419  divx542 divide  5      2      ->  2.5
   420  divx543 divide  5      2.0    ->  2.5
   421  divx544 divide  5      2.00   ->  2.5
   422  divx545 divide  5      20     ->  0.25
   423  divx546 divide  5      20.0   ->  0.25
   424  divx547 divide  2.400  2      ->  1.200
   425  divx548 divide  2.400  2.0    ->  1.20
   426  divx549 divide  2.400  2.400  ->  1
   427  
   428  divx550 divide  240    1      ->  240
   429  divx551 divide  240    10     ->  24
   430  divx552 divide  240    100    ->  2.4
   431  divx553 divide  240    1000   ->  0.24
   432  divx554 divide  2400   1      ->  2400
   433  divx555 divide  2400   10     ->  240
   434  divx556 divide  2400   100    ->  24
   435  divx557 divide  2400   1000   ->  2.4
   436  
   437  -- +ve exponent
   438  precision: 5
   439  divx570 divide  2.4E+6     2  ->  1.2E+6
   440  divx571 divide  2.40E+6    2  ->  1.20E+6
   441  divx572 divide  2.400E+6   2  ->  1.200E+6
   442  divx573 divide  2.4000E+6  2  ->  1.2000E+6
   443  divx574 divide  24E+5      2  ->  1.2E+6
   444  divx575 divide  240E+4     2  ->  1.20E+6
   445  divx576 divide  2400E+3    2  ->  1.200E+6
   446  divx577 divide  24000E+2   2  ->  1.2000E+6
   447  precision: 6
   448  divx580 divide  2.4E+6     2  ->  1.2E+6
   449  divx581 divide  2.40E+6    2  ->  1.20E+6
   450  divx582 divide  2.400E+6   2  ->  1.200E+6
   451  divx583 divide  2.4000E+6  2  ->  1.2000E+6
   452  divx584 divide  24E+5      2  ->  1.2E+6
   453  divx585 divide  240E+4     2  ->  1.20E+6
   454  divx586 divide  2400E+3    2  ->  1.200E+6
   455  divx587 divide  24000E+2   2  ->  1.2000E+6
   456  precision: 7
   457  divx590 divide  2.4E+6     2  ->  1.2E+6
   458  divx591 divide  2.40E+6    2  ->  1.20E+6
   459  divx592 divide  2.400E+6   2  ->  1.200E+6
   460  divx593 divide  2.4000E+6  2  ->  1.2000E+6
   461  divx594 divide  24E+5      2  ->  1.2E+6
   462  divx595 divide  240E+4     2  ->  1.20E+6
   463  divx596 divide  2400E+3    2  ->  1.200E+6
   464  divx597 divide  24000E+2   2  ->  1.2000E+6
   465  precision:   9
   466  divx600 divide  2.4E+9     2  ->  1.2E+9
   467  divx601 divide  2.40E+9    2  ->  1.20E+9
   468  divx602 divide  2.400E+9   2  ->  1.200E+9
   469  divx603 divide  2.4000E+9  2  ->  1.2000E+9
   470  divx604 divide  24E+8      2  ->  1.2E+9
   471  divx605 divide  240E+7     2  ->  1.20E+9
   472  divx606 divide  2400E+6    2  ->  1.200E+9
   473  divx607 divide  24000E+5   2  ->  1.2000E+9
   474  
   475  -- long operand triangle
   476  precision: 33
   477  divx610 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.8131097703792 Inexact Rounded
   478  precision: 32
   479  divx611 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.813109770379  Inexact Rounded
   480  precision: 31
   481  divx612 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.81310977038   Inexact Rounded
   482  precision: 30
   483  divx613 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.8131097704    Inexact Rounded
   484  precision: 29
   485  divx614 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.813109770     Inexact Rounded
   486  precision: 28
   487  divx615 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.81310977      Inexact Rounded
   488  precision: 27
   489  divx616 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.8131098       Inexact Rounded
   490  precision: 26
   491  divx617 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.813110        Inexact Rounded
   492  precision: 25
   493  divx618 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.81311         Inexact Rounded
   494  precision: 24
   495  divx619 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.8131          Inexact Rounded
   496  precision: 23
   497  divx620 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.813           Inexact Rounded
   498  precision: 22
   499  divx621 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.81            Inexact Rounded
   500  precision: 21
   501  divx622 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.8             Inexact Rounded
   502  precision: 20
   503  divx623 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817798               Inexact Rounded
   504  precision: 19
   505  divx624 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.101140888379681780E+19         Inexact Rounded
   506  precision: 18
   507  divx625 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.10114088837968178E+19         Inexact Rounded
   508  precision: 17
   509  divx626 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.1011408883796818E+19         Inexact Rounded
   510  precision: 16
   511  divx627 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.101140888379682E+19         Inexact Rounded
   512  precision: 15
   513  divx628 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.10114088837968E+19         Inexact Rounded
   514  precision: 14
   515  divx629 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.1011408883797E+19         Inexact Rounded
   516  precision: 13
   517  divx630 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.101140888380E+19         Inexact Rounded
   518  precision: 12
   519  divx631 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.10114088838E+19         Inexact Rounded
   520  precision: 11
   521  divx632 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.1011408884E+19         Inexact Rounded
   522  precision: 10
   523  divx633 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.101140888E+19         Inexact Rounded
   524  precision:  9
   525  divx634 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.10114089E+19         Inexact Rounded
   526  precision:  8
   527  divx635 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.1011409E+19         Inexact Rounded
   528  precision:  7
   529  divx636 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.101141E+19         Inexact Rounded
   530  precision:  6
   531  divx637 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.10114E+19         Inexact Rounded
   532  precision:  5
   533  divx638 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.1011E+19         Inexact Rounded
   534  precision:  4
   535  divx639 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.101E+19         Inexact Rounded
   536  precision:  3
   537  divx640 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.10E+19         Inexact Rounded
   538  precision:  2
   539  divx641 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.1E+19         Inexact Rounded
   540  precision:  1
   541  divx642 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4E+19         Inexact Rounded
   542  
   543  -- more zeros, etc.
   544  precision:   16
   545  rounding:    half_up
   546  maxExponent: 384
   547  minExponent: -383
   548  
   549  divx731 divide 5.00 1E-3    -> 5.00E+3
   550  divx732 divide 00.00 0.000  -> NaN Division_undefined
   551  divx733 divide 00.00 0E-3   -> NaN Division_undefined
   552  divx734 divide  0    -0     -> NaN Division_undefined
   553  divx735 divide -0     0     -> NaN Division_undefined
   554  divx736 divide -0    -0     -> NaN Division_undefined
   555  
   556  divx741 divide  0    -1     -> -0
   557  divx742 divide -0    -1     ->  0
   558  divx743 divide  0     1     ->  0
   559  divx744 divide -0     1     -> -0
   560  divx745 divide -1     0     -> -Infinity Division_by_zero
   561  divx746 divide -1    -0     ->  Infinity Division_by_zero
   562  divx747 divide  1     0     ->  Infinity Division_by_zero
   563  divx748 divide  1    -0     -> -Infinity Division_by_zero
   564  
   565  divx751 divide  0.0  -1     -> -0.0
   566  divx752 divide -0.0  -1     ->  0.0
   567  divx753 divide  0.0   1     ->  0.0
   568  divx754 divide -0.0   1     -> -0.0
   569  divx755 divide -1.0   0     -> -Infinity Division_by_zero
   570  divx756 divide -1.0  -0     ->  Infinity Division_by_zero
   571  divx757 divide  1.0   0     ->  Infinity Division_by_zero
   572  divx758 divide  1.0  -0     -> -Infinity Division_by_zero
   573  
   574  divx761 divide  0    -1.0   -> -0E+1
   575  divx762 divide -0    -1.0   ->  0E+1
   576  divx763 divide  0     1.0   ->  0E+1
   577  divx764 divide -0     1.0   -> -0E+1
   578  divx765 divide -1     0.0   -> -Infinity Division_by_zero
   579  divx766 divide -1    -0.0   ->  Infinity Division_by_zero
   580  divx767 divide  1     0.0   ->  Infinity Division_by_zero
   581  divx768 divide  1    -0.0   -> -Infinity Division_by_zero
   582  
   583  divx771 divide  0.0  -1.0   -> -0
   584  divx772 divide -0.0  -1.0   ->  0
   585  divx773 divide  0.0   1.0   ->  0
   586  divx774 divide -0.0   1.0   -> -0
   587  divx775 divide -1.0   0.0   -> -Infinity Division_by_zero
   588  divx776 divide -1.0  -0.0   ->  Infinity Division_by_zero
   589  divx777 divide  1.0   0.0   ->  Infinity Division_by_zero
   590  divx778 divide  1.0  -0.0   -> -Infinity Division_by_zero
   591  
   592  -- Specials
   593  divx780 divide  Inf  -Inf   ->  NaN Invalid_operation
   594  divx781 divide  Inf  -1000  -> -Infinity
   595  divx782 divide  Inf  -1     -> -Infinity
   596  divx783 divide  Inf  -0     -> -Infinity
   597  divx784 divide  Inf   0     ->  Infinity
   598  divx785 divide  Inf   1     ->  Infinity
   599  divx786 divide  Inf   1000  ->  Infinity
   600  divx787 divide  Inf   Inf   ->  NaN Invalid_operation
   601  divx788 divide -1000  Inf   -> -0E-398 Clamped
   602  divx789 divide -Inf   Inf   ->  NaN Invalid_operation
   603  divx790 divide -1     Inf   -> -0E-398 Clamped
   604  divx791 divide -0     Inf   -> -0E-398 Clamped
   605  divx792 divide  0     Inf   ->  0E-398 Clamped
   606  divx793 divide  1     Inf   ->  0E-398 Clamped
   607  divx794 divide  1000  Inf   ->  0E-398 Clamped
   608  divx795 divide  Inf   Inf   ->  NaN Invalid_operation
   609  
   610  divx800 divide -Inf  -Inf   ->  NaN Invalid_operation
   611  divx801 divide -Inf  -1000  ->  Infinity
   612  divx802 divide -Inf  -1     ->  Infinity
   613  divx803 divide -Inf  -0     ->  Infinity
   614  divx804 divide -Inf   0     -> -Infinity
   615  divx805 divide -Inf   1     -> -Infinity
   616  divx806 divide -Inf   1000  -> -Infinity
   617  divx807 divide -Inf   Inf   ->  NaN Invalid_operation
   618  divx808 divide -1000  Inf   -> -0E-398 Clamped
   619  divx809 divide -Inf  -Inf   ->  NaN Invalid_operation
   620  divx810 divide -1    -Inf   ->  0E-398 Clamped
   621  divx811 divide -0    -Inf   ->  0E-398 Clamped
   622  divx812 divide  0    -Inf   -> -0E-398 Clamped
   623  divx813 divide  1    -Inf   -> -0E-398 Clamped
   624  divx814 divide  1000 -Inf   -> -0E-398 Clamped
   625  divx815 divide  Inf  -Inf   ->  NaN Invalid_operation
   626  
   627  divx821 divide  NaN -Inf    ->  NaN
   628  divx822 divide  NaN -1000   ->  NaN
   629  divx823 divide  NaN -1      ->  NaN
   630  divx824 divide  NaN -0      ->  NaN
   631  divx825 divide  NaN  0      ->  NaN
   632  divx826 divide  NaN  1      ->  NaN
   633  divx827 divide  NaN  1000   ->  NaN
   634  divx828 divide  NaN  Inf    ->  NaN
   635  divx829 divide  NaN  NaN    ->  NaN
   636  divx830 divide -Inf  NaN    ->  NaN
   637  divx831 divide -1000 NaN    ->  NaN
   638  divx832 divide -1    NaN    ->  NaN
   639  divx833 divide -0    NaN    ->  NaN
   640  divx834 divide  0    NaN    ->  NaN
   641  divx835 divide  1    NaN    ->  NaN
   642  divx836 divide  1000 NaN    ->  NaN
   643  divx837 divide  Inf  NaN    ->  NaN
   644  
   645  divx841 divide  sNaN -Inf   ->  NaN  Invalid_operation
   646  divx842 divide  sNaN -1000  ->  NaN  Invalid_operation
   647  divx843 divide  sNaN -1     ->  NaN  Invalid_operation
   648  divx844 divide  sNaN -0     ->  NaN  Invalid_operation
   649  divx845 divide  sNaN  0     ->  NaN  Invalid_operation
   650  divx846 divide  sNaN  1     ->  NaN  Invalid_operation
   651  divx847 divide  sNaN  1000  ->  NaN  Invalid_operation
   652  divx848 divide  sNaN  NaN   ->  NaN  Invalid_operation
   653  divx849 divide  sNaN sNaN   ->  NaN  Invalid_operation
   654  divx850 divide  NaN  sNaN   ->  NaN  Invalid_operation
   655  divx851 divide -Inf  sNaN   ->  NaN  Invalid_operation
   656  divx852 divide -1000 sNaN   ->  NaN  Invalid_operation
   657  divx853 divide -1    sNaN   ->  NaN  Invalid_operation
   658  divx854 divide -0    sNaN   ->  NaN  Invalid_operation
   659  divx855 divide  0    sNaN   ->  NaN  Invalid_operation
   660  divx856 divide  1    sNaN   ->  NaN  Invalid_operation
   661  divx857 divide  1000 sNaN   ->  NaN  Invalid_operation
   662  divx858 divide  Inf  sNaN   ->  NaN  Invalid_operation
   663  divx859 divide  NaN  sNaN   ->  NaN  Invalid_operation
   664  
   665  -- propagating NaNs
   666  divx861 divide  NaN9 -Inf   ->  NaN9
   667  divx862 divide  NaN8  1000  ->  NaN8
   668  divx863 divide  NaN7  Inf   ->  NaN7
   669  divx864 divide  NaN6  NaN5  ->  NaN6
   670  divx865 divide -Inf   NaN4  ->  NaN4
   671  divx866 divide -1000  NaN3  ->  NaN3
   672  divx867 divide  Inf   NaN2  ->  NaN2
   673  
   674  divx871 divide  sNaN99 -Inf    ->  NaN99 Invalid_operation
   675  divx872 divide  sNaN98 -1      ->  NaN98 Invalid_operation
   676  divx873 divide  sNaN97  NaN    ->  NaN97 Invalid_operation
   677  divx874 divide  sNaN96 sNaN94  ->  NaN96 Invalid_operation
   678  divx875 divide  NaN95  sNaN93  ->  NaN93 Invalid_operation
   679  divx876 divide -Inf    sNaN92  ->  NaN92 Invalid_operation
   680  divx877 divide  0      sNaN91  ->  NaN91 Invalid_operation
   681  divx878 divide  Inf    sNaN90  ->  NaN90 Invalid_operation
   682  divx879 divide  NaN    sNaN89  ->  NaN89 Invalid_operation
   683  
   684  divx881 divide  -NaN9  -Inf   ->  -NaN9
   685  divx882 divide  -NaN8   1000  ->  -NaN8
   686  divx883 divide  -NaN7   Inf   ->  -NaN7
   687  divx884 divide  -NaN6  -NaN5  ->  -NaN6
   688  divx885 divide  -Inf   -NaN4  ->  -NaN4
   689  divx886 divide  -1000  -NaN3  ->  -NaN3
   690  divx887 divide   Inf   -NaN2  ->  -NaN2
   691  
   692  divx891 divide -sNaN99 -Inf    -> -NaN99 Invalid_operation
   693  divx892 divide -sNaN98 -1      -> -NaN98 Invalid_operation
   694  divx893 divide -sNaN97  NaN    -> -NaN97 Invalid_operation
   695  divx894 divide -sNaN96 -sNaN94 -> -NaN96 Invalid_operation
   696  divx895 divide -NaN95  -sNaN93 -> -NaN93 Invalid_operation
   697  divx896 divide -Inf    -sNaN92 -> -NaN92 Invalid_operation
   698  divx897 divide  0      -sNaN91 -> -NaN91 Invalid_operation
   699  divx898 divide  Inf    -sNaN90 -> -NaN90 Invalid_operation
   700  divx899 divide -NaN    -sNaN89 -> -NaN89 Invalid_operation
   701  
   702  maxexponent: 999999999
   703  minexponent: -999999999
   704  
   705  -- Various flavours of divide by 0
   706  divx901 divide    0       0   ->  NaN Division_undefined
   707  divx902 divide    0.0E5   0   ->  NaN Division_undefined
   708  divx903 divide    0.000   0   ->  NaN Division_undefined
   709  divx904 divide    0.0001  0   ->  Infinity Division_by_zero
   710  divx905 divide    0.01    0   ->  Infinity Division_by_zero
   711  divx906 divide    0.1     0   ->  Infinity Division_by_zero
   712  divx907 divide    1       0   ->  Infinity Division_by_zero
   713  divx908 divide    1       0.0 ->  Infinity Division_by_zero
   714  divx909 divide   10       0.0 ->  Infinity Division_by_zero
   715  divx910 divide   1E+100   0.0 ->  Infinity Division_by_zero
   716  divx911 divide   1E+1000  0   ->  Infinity Division_by_zero
   717  
   718  divx921 divide   -0.0001  0   -> -Infinity Division_by_zero
   719  divx922 divide   -0.01    0   -> -Infinity Division_by_zero
   720  divx923 divide   -0.1     0   -> -Infinity Division_by_zero
   721  divx924 divide   -1       0   -> -Infinity Division_by_zero
   722  divx925 divide   -1       0.0 -> -Infinity Division_by_zero
   723  divx926 divide  -10       0.0 -> -Infinity Division_by_zero
   724  divx927 divide  -1E+100   0.0 -> -Infinity Division_by_zero
   725  divx928 divide  -1E+1000  0   -> -Infinity Division_by_zero
   726  
   727  divx931 divide    0.0001 -0   -> -Infinity Division_by_zero
   728  divx932 divide    0.01   -0   -> -Infinity Division_by_zero
   729  divx933 divide    0.1    -0   -> -Infinity Division_by_zero
   730  divx934 divide    1      -0   -> -Infinity Division_by_zero
   731  divx935 divide    1      -0.0 -> -Infinity Division_by_zero
   732  divx936 divide   10      -0.0 -> -Infinity Division_by_zero
   733  divx937 divide   1E+100  -0.0 -> -Infinity Division_by_zero
   734  divx938 divide   1E+1000 -0   -> -Infinity Division_by_zero
   735  
   736  divx941 divide   -0.0001 -0   ->  Infinity Division_by_zero
   737  divx942 divide   -0.01   -0   ->  Infinity Division_by_zero
   738  divx943 divide   -0.1    -0   ->  Infinity Division_by_zero
   739  divx944 divide   -1      -0   ->  Infinity Division_by_zero
   740  divx945 divide   -1      -0.0 ->  Infinity Division_by_zero
   741  divx946 divide  -10      -0.0 ->  Infinity Division_by_zero
   742  divx947 divide  -1E+100  -0.0 ->  Infinity Division_by_zero
   743  divx948 divide  -1E+1000 -0   ->  Infinity Division_by_zero
   744  
   745  -- overflow and underflow tests
   746  precision: 9
   747  maxexponent: 999999999
   748  minexponent: -999999999
   749  divx951 divide 9E+999999999 +0.23456789012345E-0 -> Infinity Inexact Overflow Rounded
   750  divx952 divide +0.100 9E+999999999 -> 1.111111E-1000000001 Inexact Rounded Underflow Subnormal
   751  divx953 divide 9E-999999999 +9.100 -> 9.8901099E-1000000000 Inexact Rounded Underflow Subnormal
   752  divx954 divide -1.23456789          9E+999999999 -> -1.3717421E-1000000000 Subnormal
   753  divx955 divide -1.23456789012345E-0 9E+999999999 -> -1.3717421E-1000000000 Underflow Subnormal Rounded Inexact
   754  divx956 divide -1.23456789012345E-0 7E+999999999 -> -1.7636684E-1000000000 Inexact Rounded Underflow Subnormal
   755  divx957 divide 9E+999999999 -0.83456789012345E-0 -> -Infinity Inexact Overflow Rounded
   756  divx958 divide -0.100 9E+999999999 -> -1.111111E-1000000001 Subnormal Inexact Rounded Underflow
   757  divx959 divide 9E-999999999 -9.100 -> -9.8901099E-1000000000 Inexact Rounded Underflow Subnormal
   758  
   759  -- overflow and underflow (additional edge tests in multiply.decTest)
   760  -- 'subnormal' results now possible (all hard underflow or overflow in
   761  -- base arithemtic)
   762  divx960 divide 1e-600000000 1e+400000001 -> 1E-1000000001 Subnormal
   763  divx961 divide 1e-600000000 1e+400000002 -> 1E-1000000002 Subnormal
   764  divx962 divide 1e-600000000 1e+400000003 -> 1E-1000000003 Subnormal
   765  divx963 divide 1e-600000000 1e+400000004 -> 1E-1000000004 Subnormal
   766  divx964 divide 1e-600000000 1e+400000005 -> 1E-1000000005 Subnormal
   767  divx965 divide 1e-600000000 1e+400000006 -> 1E-1000000006 Subnormal
   768  divx966 divide 1e-600000000 1e+400000007 -> 1E-1000000007 Subnormal
   769  divx967 divide 1e-600000000 1e+400000008 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
   770  divx968 divide 1e-600000000 1e+400000009 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
   771  divx969 divide 1e-600000000 1e+400000010 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
   772  -- [no equivalent of 'subnormal' for overflow]
   773  divx970 divide 1e+600000000 1e-400000001 -> Infinity Overflow Inexact Rounded
   774  divx971 divide 1e+600000000 1e-400000002 -> Infinity Overflow Inexact Rounded
   775  divx972 divide 1e+600000000 1e-400000003 -> Infinity Overflow Inexact Rounded
   776  divx973 divide 1e+600000000 1e-400000004 -> Infinity Overflow Inexact Rounded
   777  divx974 divide 1e+600000000 1e-400000005 -> Infinity Overflow Inexact Rounded
   778  divx975 divide 1e+600000000 1e-400000006 -> Infinity Overflow Inexact Rounded
   779  divx976 divide 1e+600000000 1e-400000007 -> Infinity Overflow Inexact Rounded
   780  divx977 divide 1e+600000000 1e-400000008 -> Infinity Overflow Inexact Rounded
   781  divx978 divide 1e+600000000 1e-400000009 -> Infinity Overflow Inexact Rounded
   782  divx979 divide 1e+600000000 1e-400000010 -> Infinity Overflow Inexact Rounded
   783  
   784  -- Sign after overflow and underflow
   785  divx980 divide  1e-600000000  1e+400000009 ->  0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
   786  divx981 divide  1e-600000000 -1e+400000009 -> -0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
   787  divx982 divide -1e-600000000  1e+400000009 -> -0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
   788  divx983 divide -1e-600000000 -1e+400000009 ->  0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
   789  divx984 divide  1e+600000000  1e-400000009 ->  Infinity Overflow Inexact Rounded
   790  divx985 divide  1e+600000000 -1e-400000009 -> -Infinity Overflow Inexact Rounded
   791  divx986 divide -1e+600000000  1e-400000009 -> -Infinity Overflow Inexact Rounded
   792  divx987 divide -1e+600000000 -1e-400000009 ->  Infinity Overflow Inexact Rounded
   793  
   794  -- Long operand overflow may be a different path
   795  precision: 3
   796  divx990 divide 1000  9.999E-999999999      ->  Infinity Inexact Overflow Rounded
   797  divx991 divide 1000 -9.999E-999999999      -> -Infinity Inexact Overflow Rounded
   798  divx992 divide       9.999E+999999999 0.01 ->  Infinity Inexact Overflow Rounded
   799  divx993 divide      -9.999E+999999999 0.01 -> -Infinity Inexact Overflow Rounded
   800  
   801  -- check for double-rounded subnormals
   802  precision:   5
   803  maxexponent: 79
   804  minexponent: -79
   805  divx1001 divide    1.52444E-80 1      -> 1.524E-80 Inexact Rounded Subnormal Underflow
   806  divx1002 divide    1.52445E-80 1      -> 1.524E-80 Inexact Rounded Subnormal Underflow
   807  divx1003 divide    1.52446E-80 1      -> 1.524E-80 Inexact Rounded Subnormal Underflow
   808  
   809  -- a rounding problem in one implementation
   810  precision:   34
   811  rounding:    half_up
   812  maxExponent: 6144
   813  minExponent: -6143
   814  -- Unbounded answer to 40 digits:
   815  --   1.465811965811965811965811965811965811966E+7000
   816  divx1010 divide 343E6000  234E-1000 -> Infinity Overflow Inexact Rounded
   817  
   818  precision:   34
   819  rounding:    half_up
   820  maxExponent: 6144
   821  minExponent: -6143
   822  
   823  -- Examples from SQL proposal (Krishna Kulkarni)
   824  precision: 7
   825  divx1021  divide 1E0          1E0 -> 1
   826  divx1022  divide 1E0          2E0 -> 0.5
   827  divx1023  divide 1E0          3E0 -> 0.3333333 Inexact Rounded
   828  divx1024  divide 100E-2   1000E-3 -> 1
   829  divx1025  divide 24E-1        2E0 -> 1.2
   830  divx1026  divide 2400E-3      2E0 -> 1.200
   831  divx1027  divide 5E0          2E0 -> 2.5
   832  divx1028  divide 5E0        20E-1 -> 2.5
   833  divx1029  divide 5E0      2000E-3 -> 2.5
   834  divx1030  divide 5E0         2E-1 -> 25
   835  divx1031  divide 5E0        20E-2 -> 25
   836  divx1032  divide 480E-2       3E0 -> 1.60
   837  divx1033  divide 47E-1        2E0 -> 2.35
   838  
   839  -- ECMAScript bad examples
   840  rounding:    half_down
   841  precision: 7
   842  divx1050  divide 5 9  -> 0.5555556 Inexact Rounded
   843  rounding:    half_even
   844  divx1051  divide 5 11 -> 0.4545455 Inexact Rounded
   845  
   846  -- payload decapitate
   847  precision: 5
   848  divx1055  divide   sNaN987654321 1 ->  NaN54321  Invalid_operation
   849  
   850  -- Null tests
   851  divx9998 divide 10  # -> NaN Invalid_operation
   852  divx9999 divide  # 10 -> NaN Invalid_operation
   853