Merged the decimal-branch (revisions 54886 to 58140). Decimal is now
fully updated to the latests Decimal Specification (v1.66) and the
latests test cases (v2.56).

Thanks to Mark Dickinson for all his help during this process.
diff --git a/Lib/test/decimaltestdata/dqDivide.decTest b/Lib/test/decimaltestdata/dqDivide.decTest
new file mode 100644
index 0000000..a84e1d0
--- /dev/null
+++ b/Lib/test/decimaltestdata/dqDivide.decTest
@@ -0,0 +1,808 @@
+------------------------------------------------------------------------

+-- dqDivide.decTest -- decQuad division                               --

+-- Copyright (c) IBM Corporation, 1981, 2007.  All rights reserved.   --

+------------------------------------------------------------------------

+-- Please see the document "General Decimal Arithmetic Testcases"     --

+-- at http://www2.hursley.ibm.com/decimal for the description of      --

+-- these testcases.                                                   --

+--                                                                    --

+-- These testcases are experimental ('beta' versions), and they       --

+-- may contain errors.  They are offered on an as-is basis.  In       --

+-- particular, achieving the same results as the tests here is not    --

+-- a guarantee that an implementation complies with any Standard      --

+-- or specification.  The tests are not exhaustive.                   --

+--                                                                    --

+-- Please send comments, suggestions, and corrections to the author:  --

+--   Mike Cowlishaw, IBM Fellow                                       --

+--   IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK         --

+--   mfc@uk.ibm.com                                                   --

+------------------------------------------------------------------------

+version: 2.56

+

+extended:    1

+clamp:       1

+precision:   34

+maxExponent: 6144

+minExponent: -6143

+rounding:    half_even

+

+-- sanity checks

+dqdiv001 divide  1     1    ->  1

+dqdiv002 divide  2     1    ->  2

+dqdiv003 divide  1     2    ->  0.5

+dqdiv004 divide  2     2    ->  1

+dqdiv005 divide  0     1    ->  0

+dqdiv006 divide  0     2    ->  0

+dqdiv007 divide  1     3    ->  0.3333333333333333333333333333333333 Inexact Rounded

+dqdiv008 divide  2     3    ->  0.6666666666666666666666666666666667 Inexact Rounded

+dqdiv009 divide  3     3    ->  1

+

+dqdiv010 divide  2.4   1    ->  2.4

+dqdiv011 divide  2.4   -1   ->  -2.4

+dqdiv012 divide  -2.4  1    ->  -2.4

+dqdiv013 divide  -2.4  -1   ->  2.4

+dqdiv014 divide  2.40  1    ->  2.40

+dqdiv015 divide  2.400 1    ->  2.400

+dqdiv016 divide  2.4   2    ->  1.2

+dqdiv017 divide  2.400 2    ->  1.200

+dqdiv018 divide  2.    2    ->  1

+dqdiv019 divide  20    20   ->  1

+

+dqdiv020 divide  187   187    ->  1

+dqdiv021 divide  5     2      ->  2.5

+dqdiv022 divide  50    20     ->  2.5

+dqdiv023 divide  500   200    ->  2.5

+dqdiv024 divide  50.0  20.0   ->  2.5

+dqdiv025 divide  5.00  2.00   ->  2.5

+dqdiv026 divide  5     2.0    ->  2.5

+dqdiv027 divide  5     2.000  ->  2.5

+dqdiv028 divide  5     0.20   ->  25

+dqdiv029 divide  5     0.200  ->  25

+dqdiv030 divide  10    1      ->  10

+dqdiv031 divide  100   1      ->  100

+dqdiv032 divide  1000  1      ->  1000

+dqdiv033 divide  1000  100    ->  10

+

+dqdiv035 divide  1     2      ->  0.5

+dqdiv036 divide  1     4      ->  0.25

+dqdiv037 divide  1     8      ->  0.125

+dqdiv038 divide  1     16     ->  0.0625

+dqdiv039 divide  1     32     ->  0.03125

+dqdiv040 divide  1     64     ->  0.015625

+dqdiv041 divide  1    -2      ->  -0.5

+dqdiv042 divide  1    -4      ->  -0.25

+dqdiv043 divide  1    -8      ->  -0.125

+dqdiv044 divide  1    -16     ->  -0.0625

+dqdiv045 divide  1    -32     ->  -0.03125

+dqdiv046 divide  1    -64     ->  -0.015625

+dqdiv047 divide -1     2      ->  -0.5

+dqdiv048 divide -1     4      ->  -0.25

+dqdiv049 divide -1     8      ->  -0.125

+dqdiv050 divide -1     16     ->  -0.0625

+dqdiv051 divide -1     32     ->  -0.03125

+dqdiv052 divide -1     64     ->  -0.015625

+dqdiv053 divide -1    -2      ->  0.5

+dqdiv054 divide -1    -4      ->  0.25

+dqdiv055 divide -1    -8      ->  0.125

+dqdiv056 divide -1    -16     ->  0.0625

+dqdiv057 divide -1    -32     ->  0.03125

+dqdiv058 divide -1    -64     ->  0.015625

+

+-- bcdTime

+dqdiv060 divide  1 7                   -> 0.1428571428571428571428571428571429 Inexact Rounded

+dqdiv061 divide 1.2345678  1.9876543   -> 0.6211179680490717123193907511985359 Inexact Rounded

+

+--               1234567890123456

+dqdiv067 divide  9999999999999999999999999999999999  1 ->  9999999999999999999999999999999999

+dqdiv068 divide  999999999999999999999999999999999   1 ->  999999999999999999999999999999999

+dqdiv069 divide  99999999999999999999999999999999    1 ->  99999999999999999999999999999999

+dqdiv070 divide  99999999999999999                   1 ->  99999999999999999

+dqdiv071 divide  9999999999999999                    1 ->  9999999999999999

+dqdiv072 divide  999999999999999                     1 ->  999999999999999

+dqdiv073 divide  99999999999999                      1 ->  99999999999999

+dqdiv074 divide  9999999999999                       1 ->  9999999999999

+dqdiv075 divide  999999999999                        1 ->  999999999999

+dqdiv076 divide  99999999999                         1 ->  99999999999

+dqdiv077 divide  9999999999                          1 ->  9999999999

+dqdiv078 divide  999999999                           1 ->  999999999

+dqdiv079 divide  99999999                            1 ->  99999999

+dqdiv080 divide  9999999                             1 ->  9999999

+dqdiv081 divide  999999                              1 ->  999999

+dqdiv082 divide  99999                               1 ->  99999

+dqdiv083 divide  9999                                1 ->  9999

+dqdiv084 divide  999                                 1 ->  999

+dqdiv085 divide  99                                  1 ->  99

+dqdiv086 divide  9                                   1 ->  9

+

+dqdiv090 divide  0.            1    ->  0

+dqdiv091 divide  .0            1    ->  0.0

+dqdiv092 divide  0.00          1    ->  0.00

+dqdiv093 divide  0.00E+9       1    ->  0E+7

+dqdiv094 divide  0.0000E-50    1    ->  0E-54

+

+dqdiv095 divide  1            1E-8  ->  1E+8

+dqdiv096 divide  1            1E-9  ->  1E+9

+dqdiv097 divide  1            1E-10 ->  1E+10

+dqdiv098 divide  1            1E-11 ->  1E+11

+dqdiv099 divide  1            1E-12 ->  1E+12

+

+dqdiv100 divide  1  1   -> 1

+dqdiv101 divide  1  2   -> 0.5

+dqdiv102 divide  1  3   -> 0.3333333333333333333333333333333333 Inexact Rounded

+dqdiv103 divide  1  4   -> 0.25

+dqdiv104 divide  1  5   -> 0.2

+dqdiv105 divide  1  6   -> 0.1666666666666666666666666666666667 Inexact Rounded

+dqdiv106 divide  1  7   -> 0.1428571428571428571428571428571429 Inexact Rounded

+dqdiv107 divide  1  8   -> 0.125

+dqdiv108 divide  1  9   -> 0.1111111111111111111111111111111111 Inexact Rounded

+dqdiv109 divide  1  10  -> 0.1

+dqdiv110 divide  1  1   -> 1

+dqdiv111 divide  2  1   -> 2

+dqdiv112 divide  3  1   -> 3

+dqdiv113 divide  4  1   -> 4

+dqdiv114 divide  5  1   -> 5

+dqdiv115 divide  6  1   -> 6

+dqdiv116 divide  7  1   -> 7

+dqdiv117 divide  8  1   -> 8

+dqdiv118 divide  9  1   -> 9

+dqdiv119 divide  10 1   -> 10

+

+dqdiv120 divide  3E+1 0.001  -> 3E+4

+dqdiv121 divide  2.200 2     -> 1.100

+

+dqdiv130 divide  12345  4.999  -> 2469.493898779755951190238047609522  Inexact Rounded

+dqdiv131 divide  12345  4.99   -> 2473.947895791583166332665330661323  Inexact Rounded

+dqdiv132 divide  12345  4.9    -> 2519.387755102040816326530612244898  Inexact Rounded

+dqdiv133 divide  12345  5      -> 2469

+dqdiv134 divide  12345  5.1    -> 2420.588235294117647058823529411765  Inexact Rounded

+dqdiv135 divide  12345  5.01   -> 2464.071856287425149700598802395210  Inexact Rounded

+dqdiv136 divide  12345  5.001  -> 2468.506298740251949610077984403119  Inexact Rounded

+

+-- test possibly imprecise results

+dqdiv220 divide 391   597 ->  0.6549413735343383584589614740368509  Inexact Rounded

+dqdiv221 divide 391  -597 -> -0.6549413735343383584589614740368509  Inexact Rounded

+dqdiv222 divide -391  597 -> -0.6549413735343383584589614740368509  Inexact Rounded

+dqdiv223 divide -391 -597 ->  0.6549413735343383584589614740368509  Inexact Rounded

+

+-- test some cases that are close to exponent overflow

+dqdiv270 divide 1 1e6144                  -> 1E-6144                 Subnormal

+dqdiv271 divide 1 0.9e6144                -> 1.11111111111111111111111111111111E-6144  Rounded Inexact Subnormal Underflow

+dqdiv272 divide 1 0.99e6144               -> 1.01010101010101010101010101010101E-6144  Rounded Inexact Subnormal Underflow

+dqdiv273 divide 1 0.9999999999999999e6144 -> 1.00000000000000010000000000000001E-6144  Rounded Inexact Subnormal Underflow

+dqdiv274 divide 9e6144    1               -> 9.000000000000000000000000000000000E+6144 Clamped

+dqdiv275 divide 9.9e6144  1               -> 9.900000000000000000000000000000000E+6144 Clamped

+dqdiv276 divide 9.99e6144 1               -> 9.990000000000000000000000000000000E+6144 Clamped

+dqdiv277 divide 9.999999999999999e6144 1  -> 9.999999999999999000000000000000000E+6144 Clamped

+

+dqdiv278 divide 1 0.9999999999999999999999999999999999e6144 -> 1.00000000000000000000000000000000E-6144  Rounded Inexact Subnormal Underflow

+dqdiv279 divide 9.999999999999999999999999999999999e6144 1  -> 9.999999999999999999999999999999999E+6144

+

+-- Divide into 0 tests

+dqdiv301 divide    0    7     -> 0

+dqdiv302 divide    0    7E-5  -> 0E+5

+dqdiv303 divide    0    7E-1  -> 0E+1

+dqdiv304 divide    0    7E+1  -> 0.0

+dqdiv305 divide    0    7E+5  -> 0.00000

+dqdiv306 divide    0    7E+6  -> 0.000000

+dqdiv307 divide    0    7E+7  -> 0E-7

+dqdiv308 divide    0   70E-5  -> 0E+5

+dqdiv309 divide    0   70E-1  -> 0E+1

+dqdiv310 divide    0   70E+0  -> 0

+dqdiv311 divide    0   70E+1  -> 0.0

+dqdiv312 divide    0   70E+5  -> 0.00000

+dqdiv313 divide    0   70E+6  -> 0.000000

+dqdiv314 divide    0   70E+7  -> 0E-7

+dqdiv315 divide    0  700E-5  -> 0E+5

+dqdiv316 divide    0  700E-1  -> 0E+1

+dqdiv317 divide    0  700E+0  -> 0

+dqdiv318 divide    0  700E+1  -> 0.0

+dqdiv319 divide    0  700E+5  -> 0.00000

+dqdiv320 divide    0  700E+6  -> 0.000000

+dqdiv321 divide    0  700E+7  -> 0E-7

+dqdiv322 divide    0  700E+77 -> 0E-77

+

+dqdiv331 divide 0E-3    7E-5  -> 0E+2

+dqdiv332 divide 0E-3    7E-1  -> 0.00

+dqdiv333 divide 0E-3    7E+1  -> 0.0000

+dqdiv334 divide 0E-3    7E+5  -> 0E-8

+dqdiv335 divide 0E-1    7E-5  -> 0E+4

+dqdiv336 divide 0E-1    7E-1  -> 0

+dqdiv337 divide 0E-1    7E+1  -> 0.00

+dqdiv338 divide 0E-1    7E+5  -> 0.000000

+dqdiv339 divide 0E+1    7E-5  -> 0E+6

+dqdiv340 divide 0E+1    7E-1  -> 0E+2

+dqdiv341 divide 0E+1    7E+1  -> 0

+dqdiv342 divide 0E+1    7E+5  -> 0.0000

+dqdiv343 divide 0E+3    7E-5  -> 0E+8

+dqdiv344 divide 0E+3    7E-1  -> 0E+4

+dqdiv345 divide 0E+3    7E+1  -> 0E+2

+dqdiv346 divide 0E+3    7E+5  -> 0.00

+

+-- These were 'input rounding'

+dqdiv441 divide 12345678000 1 -> 12345678000

+dqdiv442 divide 1 12345678000 -> 8.100000664200054464404466081166219E-11 Inexact Rounded

+dqdiv443 divide 1234567800  1 -> 1234567800

+dqdiv444 divide 1 1234567800  -> 8.100000664200054464404466081166219E-10 Inexact Rounded

+dqdiv445 divide 1234567890  1 -> 1234567890

+dqdiv446 divide 1 1234567890  -> 8.100000073710000670761006103925156E-10 Inexact Rounded

+dqdiv447 divide 1234567891  1 -> 1234567891

+dqdiv448 divide 1 1234567891  -> 8.100000067149000556665214614754629E-10 Inexact Rounded

+dqdiv449 divide 12345678901 1 -> 12345678901

+dqdiv450 divide 1 12345678901 -> 8.100000073053900658873130042376760E-11 Inexact Rounded

+dqdiv451 divide 1234567896  1 -> 1234567896

+dqdiv452 divide 1 1234567896  -> 8.100000034344000145618560617422697E-10 Inexact Rounded

+

+-- high-lows

+dqdiv453 divide 1e+1   1    ->   1E+1

+dqdiv454 divide 1e+1   1.0  ->   1E+1

+dqdiv455 divide 1e+1   1.00 ->   1E+1

+dqdiv456 divide 1e+2   2    ->   5E+1

+dqdiv457 divide 1e+2   2.0  ->   5E+1

+dqdiv458 divide 1e+2   2.00 ->   5E+1

+

+-- some from IEEE discussions

+dqdiv460 divide 3e0      2e0     -> 1.5

+dqdiv461 divide 30e-1    2e0     -> 1.5

+dqdiv462 divide 300e-2   2e0     -> 1.50

+dqdiv464 divide 3000e-3  2e0     -> 1.500

+dqdiv465 divide 3e0      20e-1   -> 1.5

+dqdiv466 divide 30e-1    20e-1   -> 1.5

+dqdiv467 divide 300e-2   20e-1   -> 1.5

+dqdiv468 divide 3000e-3  20e-1   -> 1.50

+dqdiv469 divide 3e0      200e-2  -> 1.5

+dqdiv470 divide 30e-1    200e-2  -> 1.5

+dqdiv471 divide 300e-2   200e-2  -> 1.5

+dqdiv472 divide 3000e-3  200e-2  -> 1.5

+dqdiv473 divide 3e0      2000e-3 -> 1.5

+dqdiv474 divide 30e-1    2000e-3 -> 1.5

+dqdiv475 divide 300e-2   2000e-3 -> 1.5

+dqdiv476 divide 3000e-3  2000e-3 -> 1.5

+

+-- some reciprocals

+dqdiv480 divide 1        1.0E+33 -> 1E-33

+dqdiv481 divide 1        10E+33  -> 1E-34

+dqdiv482 divide 1        1.0E-33 -> 1E+33

+dqdiv483 divide 1        10E-33  -> 1E+32

+

+-- RMS discussion table

+dqdiv484 divide 0e5     1e3 ->   0E+2

+dqdiv485 divide 0e5     2e3 ->   0E+2

+dqdiv486 divide 0e5    10e2 ->   0E+3

+dqdiv487 divide 0e5    20e2 ->   0E+3

+dqdiv488 divide 0e5   100e1 ->   0E+4

+dqdiv489 divide 0e5   200e1 ->   0E+4

+

+dqdiv491 divide 1e5     1e3 ->   1E+2

+dqdiv492 divide 1e5     2e3 ->   5E+1

+dqdiv493 divide 1e5    10e2 ->   1E+2

+dqdiv494 divide 1e5    20e2 ->   5E+1

+dqdiv495 divide 1e5   100e1 ->   1E+2

+dqdiv496 divide 1e5   200e1 ->   5E+1

+

+-- tryzeros cases

+rounding:    half_up

+dqdiv497  divide  0E+6108 1000E-33  -> 0E+6111 Clamped

+dqdiv498  divide  0E-6170 1000E+33  -> 0E-6176 Clamped

+

+rounding:    half_up

+

+-- focus on trailing zeros issues

+dqdiv500 divide  1      9.9    ->  0.1010101010101010101010101010101010  Inexact Rounded

+dqdiv501 divide  1      9.09   ->  0.1100110011001100110011001100110011  Inexact Rounded

+dqdiv502 divide  1      9.009  ->  0.1110001110001110001110001110001110  Inexact Rounded

+

+dqdiv511 divide 1         2    -> 0.5

+dqdiv512 divide 1.0       2    -> 0.5

+dqdiv513 divide 1.00      2    -> 0.50

+dqdiv514 divide 1.000     2    -> 0.500

+dqdiv515 divide 1.0000    2    -> 0.5000

+dqdiv516 divide 1.00000   2    -> 0.50000

+dqdiv517 divide 1.000000  2    -> 0.500000

+dqdiv518 divide 1.0000000 2    -> 0.5000000

+dqdiv519 divide 1.00      2.00 -> 0.5

+

+dqdiv521 divide 2    1         -> 2

+dqdiv522 divide 2    1.0       -> 2

+dqdiv523 divide 2    1.00      -> 2

+dqdiv524 divide 2    1.000     -> 2

+dqdiv525 divide 2    1.0000    -> 2

+dqdiv526 divide 2    1.00000   -> 2

+dqdiv527 divide 2    1.000000  -> 2

+dqdiv528 divide 2    1.0000000 -> 2

+dqdiv529 divide 2.00 1.00      -> 2

+

+dqdiv530 divide  2.40   2      ->  1.20

+dqdiv531 divide  2.40   4      ->  0.60

+dqdiv532 divide  2.40  10      ->  0.24

+dqdiv533 divide  2.40   2.0    ->  1.2

+dqdiv534 divide  2.40   4.0    ->  0.6

+dqdiv535 divide  2.40  10.0    ->  0.24

+dqdiv536 divide  2.40   2.00   ->  1.2

+dqdiv537 divide  2.40   4.00   ->  0.6

+dqdiv538 divide  2.40  10.00   ->  0.24

+dqdiv539 divide  0.9    0.1    ->  9

+dqdiv540 divide  0.9    0.01   ->  9E+1

+dqdiv541 divide  0.9    0.001  ->  9E+2

+dqdiv542 divide  5      2      ->  2.5

+dqdiv543 divide  5      2.0    ->  2.5

+dqdiv544 divide  5      2.00   ->  2.5

+dqdiv545 divide  5      20     ->  0.25

+dqdiv546 divide  5      20.0   ->  0.25

+dqdiv547 divide  2.400  2      ->  1.200

+dqdiv548 divide  2.400  2.0    ->  1.20

+dqdiv549 divide  2.400  2.400  ->  1

+

+dqdiv550 divide  240    1      ->  240

+dqdiv551 divide  240    10     ->  24

+dqdiv552 divide  240    100    ->  2.4

+dqdiv553 divide  240    1000   ->  0.24

+dqdiv554 divide  2400   1      ->  2400

+dqdiv555 divide  2400   10     ->  240

+dqdiv556 divide  2400   100    ->  24

+dqdiv557 divide  2400   1000   ->  2.4

+

+-- +ve exponent

+dqdiv600 divide  2.4E+9     2  ->  1.2E+9

+dqdiv601 divide  2.40E+9    2  ->  1.20E+9

+dqdiv602 divide  2.400E+9   2  ->  1.200E+9

+dqdiv603 divide  2.4000E+9  2  ->  1.2000E+9

+dqdiv604 divide  24E+8      2  ->  1.2E+9

+dqdiv605 divide  240E+7     2  ->  1.20E+9

+dqdiv606 divide  2400E+6    2  ->  1.200E+9

+dqdiv607 divide  24000E+5   2  ->  1.2000E+9

+

+-- more zeros, etc.

+dqdiv731 divide 5.00 1E-3    -> 5.00E+3

+dqdiv732 divide 00.00 0.000  -> NaN Division_undefined

+dqdiv733 divide 00.00 0E-3   -> NaN Division_undefined

+dqdiv734 divide  0    -0     -> NaN Division_undefined

+dqdiv735 divide -0     0     -> NaN Division_undefined

+dqdiv736 divide -0    -0     -> NaN Division_undefined

+

+dqdiv741 divide  0    -1     -> -0

+dqdiv742 divide -0    -1     ->  0

+dqdiv743 divide  0     1     ->  0

+dqdiv744 divide -0     1     -> -0

+dqdiv745 divide -1     0     -> -Infinity Division_by_zero

+dqdiv746 divide -1    -0     ->  Infinity Division_by_zero

+dqdiv747 divide  1     0     ->  Infinity Division_by_zero

+dqdiv748 divide  1    -0     -> -Infinity Division_by_zero

+

+dqdiv751 divide  0.0  -1     -> -0.0

+dqdiv752 divide -0.0  -1     ->  0.0

+dqdiv753 divide  0.0   1     ->  0.0

+dqdiv754 divide -0.0   1     -> -0.0

+dqdiv755 divide -1.0   0     -> -Infinity Division_by_zero

+dqdiv756 divide -1.0  -0     ->  Infinity Division_by_zero

+dqdiv757 divide  1.0   0     ->  Infinity Division_by_zero

+dqdiv758 divide  1.0  -0     -> -Infinity Division_by_zero

+

+dqdiv761 divide  0    -1.0   -> -0E+1

+dqdiv762 divide -0    -1.0   ->  0E+1

+dqdiv763 divide  0     1.0   ->  0E+1

+dqdiv764 divide -0     1.0   -> -0E+1

+dqdiv765 divide -1     0.0   -> -Infinity Division_by_zero

+dqdiv766 divide -1    -0.0   ->  Infinity Division_by_zero

+dqdiv767 divide  1     0.0   ->  Infinity Division_by_zero

+dqdiv768 divide  1    -0.0   -> -Infinity Division_by_zero

+

+dqdiv771 divide  0.0  -1.0   -> -0

+dqdiv772 divide -0.0  -1.0   ->  0

+dqdiv773 divide  0.0   1.0   ->  0

+dqdiv774 divide -0.0   1.0   -> -0

+dqdiv775 divide -1.0   0.0   -> -Infinity Division_by_zero

+dqdiv776 divide -1.0  -0.0   ->  Infinity Division_by_zero

+dqdiv777 divide  1.0   0.0   ->  Infinity Division_by_zero

+dqdiv778 divide  1.0  -0.0   -> -Infinity Division_by_zero

+

+-- Specials

+dqdiv780 divide  Inf  -Inf   ->  NaN Invalid_operation

+dqdiv781 divide  Inf  -1000  -> -Infinity

+dqdiv782 divide  Inf  -1     -> -Infinity

+dqdiv783 divide  Inf  -0     -> -Infinity

+dqdiv784 divide  Inf   0     ->  Infinity

+dqdiv785 divide  Inf   1     ->  Infinity

+dqdiv786 divide  Inf   1000  ->  Infinity

+dqdiv787 divide  Inf   Inf   ->  NaN Invalid_operation

+dqdiv788 divide -1000  Inf   -> -0E-6176 Clamped

+dqdiv789 divide -Inf   Inf   ->  NaN Invalid_operation

+dqdiv790 divide -1     Inf   -> -0E-6176 Clamped

+dqdiv791 divide -0     Inf   -> -0E-6176 Clamped

+dqdiv792 divide  0     Inf   ->  0E-6176 Clamped

+dqdiv793 divide  1     Inf   ->  0E-6176 Clamped

+dqdiv794 divide  1000  Inf   ->  0E-6176 Clamped

+dqdiv795 divide  Inf   Inf   ->  NaN Invalid_operation

+

+dqdiv800 divide -Inf  -Inf   ->  NaN Invalid_operation

+dqdiv801 divide -Inf  -1000  ->  Infinity

+dqdiv802 divide -Inf  -1     ->  Infinity

+dqdiv803 divide -Inf  -0     ->  Infinity

+dqdiv804 divide -Inf   0     -> -Infinity

+dqdiv805 divide -Inf   1     -> -Infinity

+dqdiv806 divide -Inf   1000  -> -Infinity

+dqdiv807 divide -Inf   Inf   ->  NaN Invalid_operation

+dqdiv808 divide -1000  Inf   -> -0E-6176 Clamped

+dqdiv809 divide -Inf  -Inf   ->  NaN Invalid_operation

+dqdiv810 divide -1    -Inf   ->  0E-6176 Clamped

+dqdiv811 divide -0    -Inf   ->  0E-6176 Clamped

+dqdiv812 divide  0    -Inf   -> -0E-6176 Clamped

+dqdiv813 divide  1    -Inf   -> -0E-6176 Clamped

+dqdiv814 divide  1000 -Inf   -> -0E-6176 Clamped

+dqdiv815 divide  Inf  -Inf   ->  NaN Invalid_operation

+

+dqdiv821 divide  NaN -Inf    ->  NaN

+dqdiv822 divide  NaN -1000   ->  NaN

+dqdiv823 divide  NaN -1      ->  NaN

+dqdiv824 divide  NaN -0      ->  NaN

+dqdiv825 divide  NaN  0      ->  NaN

+dqdiv826 divide  NaN  1      ->  NaN

+dqdiv827 divide  NaN  1000   ->  NaN

+dqdiv828 divide  NaN  Inf    ->  NaN

+dqdiv829 divide  NaN  NaN    ->  NaN

+dqdiv830 divide -Inf  NaN    ->  NaN

+dqdiv831 divide -1000 NaN    ->  NaN

+dqdiv832 divide -1    NaN    ->  NaN

+dqdiv833 divide -0    NaN    ->  NaN

+dqdiv834 divide  0    NaN    ->  NaN

+dqdiv835 divide  1    NaN    ->  NaN

+dqdiv836 divide  1000 NaN    ->  NaN

+dqdiv837 divide  Inf  NaN    ->  NaN

+

+dqdiv841 divide  sNaN -Inf   ->  NaN  Invalid_operation

+dqdiv842 divide  sNaN -1000  ->  NaN  Invalid_operation

+dqdiv843 divide  sNaN -1     ->  NaN  Invalid_operation

+dqdiv844 divide  sNaN -0     ->  NaN  Invalid_operation

+dqdiv845 divide  sNaN  0     ->  NaN  Invalid_operation

+dqdiv846 divide  sNaN  1     ->  NaN  Invalid_operation

+dqdiv847 divide  sNaN  1000  ->  NaN  Invalid_operation

+dqdiv848 divide  sNaN  NaN   ->  NaN  Invalid_operation

+dqdiv849 divide  sNaN sNaN   ->  NaN  Invalid_operation

+dqdiv850 divide  NaN  sNaN   ->  NaN  Invalid_operation

+dqdiv851 divide -Inf  sNaN   ->  NaN  Invalid_operation

+dqdiv852 divide -1000 sNaN   ->  NaN  Invalid_operation

+dqdiv853 divide -1    sNaN   ->  NaN  Invalid_operation

+dqdiv854 divide -0    sNaN   ->  NaN  Invalid_operation

+dqdiv855 divide  0    sNaN   ->  NaN  Invalid_operation

+dqdiv856 divide  1    sNaN   ->  NaN  Invalid_operation

+dqdiv857 divide  1000 sNaN   ->  NaN  Invalid_operation

+dqdiv858 divide  Inf  sNaN   ->  NaN  Invalid_operation

+dqdiv859 divide  NaN  sNaN   ->  NaN  Invalid_operation

+

+-- propagating NaNs

+dqdiv861 divide  NaN9 -Inf   ->  NaN9

+dqdiv862 divide  NaN8  1000  ->  NaN8

+dqdiv863 divide  NaN7  Inf   ->  NaN7

+dqdiv864 divide  NaN6  NaN5  ->  NaN6

+dqdiv865 divide -Inf   NaN4  ->  NaN4

+dqdiv866 divide -1000  NaN3  ->  NaN3

+dqdiv867 divide  Inf   NaN2  ->  NaN2

+

+dqdiv871 divide  sNaN99 -Inf    ->  NaN99 Invalid_operation

+dqdiv872 divide  sNaN98 -1      ->  NaN98 Invalid_operation

+dqdiv873 divide  sNaN97  NaN    ->  NaN97 Invalid_operation

+dqdiv874 divide  sNaN96 sNaN94  ->  NaN96 Invalid_operation

+dqdiv875 divide  NaN95  sNaN93  ->  NaN93 Invalid_operation

+dqdiv876 divide -Inf    sNaN92  ->  NaN92 Invalid_operation

+dqdiv877 divide  0      sNaN91  ->  NaN91 Invalid_operation

+dqdiv878 divide  Inf    sNaN90  ->  NaN90 Invalid_operation

+dqdiv879 divide  NaN    sNaN89  ->  NaN89 Invalid_operation

+

+dqdiv881 divide  -NaN9  -Inf   ->  -NaN9

+dqdiv882 divide  -NaN8   1000  ->  -NaN8

+dqdiv883 divide  -NaN7   Inf   ->  -NaN7

+dqdiv884 divide  -NaN6  -NaN5  ->  -NaN6

+dqdiv885 divide  -Inf   -NaN4  ->  -NaN4

+dqdiv886 divide  -1000  -NaN3  ->  -NaN3

+dqdiv887 divide   Inf   -NaN2  ->  -NaN2

+

+dqdiv891 divide -sNaN99 -Inf    -> -NaN99 Invalid_operation

+dqdiv892 divide -sNaN98 -1      -> -NaN98 Invalid_operation

+dqdiv893 divide -sNaN97  NaN    -> -NaN97 Invalid_operation

+dqdiv894 divide -sNaN96 -sNaN94 -> -NaN96 Invalid_operation

+dqdiv895 divide -NaN95  -sNaN93 -> -NaN93 Invalid_operation

+dqdiv896 divide -Inf    -sNaN92 -> -NaN92 Invalid_operation

+dqdiv897 divide  0      -sNaN91 -> -NaN91 Invalid_operation

+dqdiv898 divide  Inf    -sNaN90 -> -NaN90 Invalid_operation

+dqdiv899 divide -NaN    -sNaN89 -> -NaN89 Invalid_operation

+

+-- Various flavours of divide by 0

+dqdiv901 divide    0       0   ->  NaN Division_undefined

+dqdiv902 divide    0.0E5   0   ->  NaN Division_undefined

+dqdiv903 divide    0.000   0   ->  NaN Division_undefined

+dqdiv904 divide    0.0001  0   ->  Infinity Division_by_zero

+dqdiv905 divide    0.01    0   ->  Infinity Division_by_zero

+dqdiv906 divide    0.1     0   ->  Infinity Division_by_zero

+dqdiv907 divide    1       0   ->  Infinity Division_by_zero

+dqdiv908 divide    1       0.0 ->  Infinity Division_by_zero

+dqdiv909 divide   10       0.0 ->  Infinity Division_by_zero

+dqdiv910 divide   1E+100   0.0 ->  Infinity Division_by_zero

+dqdiv911 divide   1E+100   0   ->  Infinity Division_by_zero

+

+dqdiv921 divide   -0.0001  0   -> -Infinity Division_by_zero

+dqdiv922 divide   -0.01    0   -> -Infinity Division_by_zero

+dqdiv923 divide   -0.1     0   -> -Infinity Division_by_zero

+dqdiv924 divide   -1       0   -> -Infinity Division_by_zero

+dqdiv925 divide   -1       0.0 -> -Infinity Division_by_zero

+dqdiv926 divide  -10       0.0 -> -Infinity Division_by_zero

+dqdiv927 divide  -1E+100   0.0 -> -Infinity Division_by_zero

+dqdiv928 divide  -1E+100   0   -> -Infinity Division_by_zero

+

+dqdiv931 divide    0.0001 -0   -> -Infinity Division_by_zero

+dqdiv932 divide    0.01   -0   -> -Infinity Division_by_zero

+dqdiv933 divide    0.1    -0   -> -Infinity Division_by_zero

+dqdiv934 divide    1      -0   -> -Infinity Division_by_zero

+dqdiv935 divide    1      -0.0 -> -Infinity Division_by_zero

+dqdiv936 divide   10      -0.0 -> -Infinity Division_by_zero

+dqdiv937 divide   1E+100  -0.0 -> -Infinity Division_by_zero

+dqdiv938 divide   1E+100  -0   -> -Infinity Division_by_zero

+

+dqdiv941 divide   -0.0001 -0   ->  Infinity Division_by_zero

+dqdiv942 divide   -0.01   -0   ->  Infinity Division_by_zero

+dqdiv943 divide   -0.1    -0   ->  Infinity Division_by_zero

+dqdiv944 divide   -1      -0   ->  Infinity Division_by_zero

+dqdiv945 divide   -1      -0.0 ->  Infinity Division_by_zero

+dqdiv946 divide  -10      -0.0 ->  Infinity Division_by_zero

+dqdiv947 divide  -1E+100  -0.0 ->  Infinity Division_by_zero

+dqdiv948 divide  -1E+100  -0   ->  Infinity Division_by_zero

+

+-- Examples from SQL proposal (Krishna Kulkarni)

+dqdiv1021  divide 1E0          1E0 -> 1

+dqdiv1022  divide 1E0          2E0 -> 0.5

+dqdiv1023  divide 1E0          3E0 -> 0.3333333333333333333333333333333333 Inexact Rounded

+dqdiv1024  divide 100E-2   1000E-3 -> 1

+dqdiv1025  divide 24E-1        2E0 -> 1.2

+dqdiv1026  divide 2400E-3      2E0 -> 1.200

+dqdiv1027  divide 5E0          2E0 -> 2.5

+dqdiv1028  divide 5E0        20E-1 -> 2.5

+dqdiv1029  divide 5E0      2000E-3 -> 2.5

+dqdiv1030  divide 5E0         2E-1 -> 25

+dqdiv1031  divide 5E0        20E-2 -> 25

+dqdiv1032  divide 480E-2       3E0 -> 1.60

+dqdiv1033  divide 47E-1        2E0 -> 2.35

+

+-- ECMAScript bad examples

+rounding:    half_down

+dqdiv1040  divide 5 9  -> 0.5555555555555555555555555555555556 Inexact Rounded

+rounding:    half_even

+dqdiv1041  divide 6 11 -> 0.5454545454545454545454545454545455 Inexact Rounded

+

+-- Gyuris example

+dqdiv1050  divide 8.336804418094040989630006819881709E-6143 8.336804418094040989630006819889000E-6143 -> 0.9999999999999999999999999999991254 Inexact Rounded

+

+-- overflow and underflow tests .. note subnormal results

+-- signs

+dqdiv1751 divide  1e+4277  1e-3311 ->  Infinity Overflow Inexact Rounded

+dqdiv1752 divide  1e+4277 -1e-3311 -> -Infinity Overflow Inexact Rounded

+dqdiv1753 divide -1e+4277  1e-3311 -> -Infinity Overflow Inexact Rounded

+dqdiv1754 divide -1e+4277 -1e-3311 ->  Infinity Overflow Inexact Rounded

+dqdiv1755 divide  1e-4277  1e+3311 ->  0E-6176 Underflow Subnormal Inexact Rounded Clamped

+dqdiv1756 divide  1e-4277 -1e+3311 -> -0E-6176 Underflow Subnormal Inexact Rounded Clamped

+dqdiv1757 divide -1e-4277  1e+3311 -> -0E-6176 Underflow Subnormal Inexact Rounded Clamped

+dqdiv1758 divide -1e-4277 -1e+3311 ->  0E-6176 Underflow Subnormal Inexact Rounded Clamped

+

+-- 'subnormal' boundary (all hard underflow or overflow in base arithemtic)

+dqdiv1760 divide 1e-6069 1e+101 -> 1E-6170 Subnormal

+dqdiv1761 divide 1e-6069 1e+102 -> 1E-6171 Subnormal

+dqdiv1762 divide 1e-6069 1e+103 -> 1E-6172 Subnormal

+dqdiv1763 divide 1e-6069 1e+104 -> 1E-6173 Subnormal

+dqdiv1764 divide 1e-6069 1e+105 -> 1E-6174 Subnormal

+dqdiv1765 divide 1e-6069 1e+106 -> 1E-6175 Subnormal

+dqdiv1766 divide 1e-6069 1e+107 -> 1E-6176 Subnormal

+dqdiv1767 divide 1e-6069 1e+108 -> 0E-6176 Underflow Subnormal Inexact Rounded Clamped

+dqdiv1768 divide 1e-6069 1e+109 -> 0E-6176 Underflow Subnormal Inexact Rounded Clamped

+dqdiv1769 divide 1e-6069 1e+110 -> 0E-6176 Underflow Subnormal Inexact Rounded Clamped

+-- [no equivalent of 'subnormal' for overflow]

+dqdiv1770 divide 1e+40 1e-6101 -> 1.000000000000000000000000000000E+6141 Clamped

+dqdiv1771 divide 1e+40 1e-6102 -> 1.0000000000000000000000000000000E+6142  Clamped

+dqdiv1772 divide 1e+40 1e-6103 -> 1.00000000000000000000000000000000E+6143  Clamped

+dqdiv1773 divide 1e+40 1e-6104 -> 1.000000000000000000000000000000000E+6144  Clamped

+dqdiv1774 divide 1e+40 1e-6105 -> Infinity Overflow Inexact Rounded

+dqdiv1775 divide 1e+40 1e-6106 -> Infinity Overflow Inexact Rounded

+dqdiv1776 divide 1e+40 1e-6107 -> Infinity Overflow Inexact Rounded

+dqdiv1777 divide 1e+40 1e-6108 -> Infinity Overflow Inexact Rounded

+dqdiv1778 divide 1e+40 1e-6109 -> Infinity Overflow Inexact Rounded

+dqdiv1779 divide 1e+40 1e-6110 -> Infinity Overflow Inexact Rounded

+

+dqdiv1801 divide  1.0000E-6172  1     -> 1.0000E-6172 Subnormal

+dqdiv1802 divide  1.000E-6172   1e+1  -> 1.000E-6173  Subnormal

+dqdiv1803 divide  1.00E-6172    1e+2  -> 1.00E-6174   Subnormal

+dqdiv1804 divide  1.0E-6172     1e+3  -> 1.0E-6175    Subnormal

+dqdiv1805 divide  1.0E-6172     1e+4  -> 1E-6176     Subnormal Rounded

+dqdiv1806 divide  1.3E-6172     1e+4  -> 1E-6176     Underflow Subnormal Inexact Rounded

+dqdiv1807 divide  1.5E-6172     1e+4  -> 2E-6176     Underflow Subnormal Inexact Rounded

+dqdiv1808 divide  1.7E-6172     1e+4  -> 2E-6176     Underflow Subnormal Inexact Rounded

+dqdiv1809 divide  2.3E-6172     1e+4  -> 2E-6176     Underflow Subnormal Inexact Rounded

+dqdiv1810 divide  2.5E-6172     1e+4  -> 2E-6176     Underflow Subnormal Inexact Rounded

+dqdiv1811 divide  2.7E-6172     1e+4  -> 3E-6176     Underflow Subnormal Inexact Rounded

+dqdiv1812 divide  1.49E-6172    1e+4  -> 1E-6176     Underflow Subnormal Inexact Rounded

+dqdiv1813 divide  1.50E-6172    1e+4  -> 2E-6176     Underflow Subnormal Inexact Rounded

+dqdiv1814 divide  1.51E-6172    1e+4  -> 2E-6176     Underflow Subnormal Inexact Rounded

+dqdiv1815 divide  2.49E-6172    1e+4  -> 2E-6176     Underflow Subnormal Inexact Rounded

+dqdiv1816 divide  2.50E-6172    1e+4  -> 2E-6176     Underflow Subnormal Inexact Rounded

+dqdiv1817 divide  2.51E-6172    1e+4  -> 3E-6176     Underflow Subnormal Inexact Rounded

+

+dqdiv1818 divide  1E-6172       1e+4  -> 1E-6176     Subnormal

+dqdiv1819 divide  3E-6172       1e+5  -> 0E-6176     Underflow Subnormal Inexact Rounded Clamped

+dqdiv1820 divide  5E-6172       1e+5  -> 0E-6176     Underflow Subnormal Inexact Rounded Clamped

+dqdiv1821 divide  7E-6172       1e+5  -> 1E-6176     Underflow Subnormal Inexact Rounded

+dqdiv1822 divide  9E-6172       1e+5  -> 1E-6176     Underflow Subnormal Inexact Rounded

+dqdiv1823 divide  9.9E-6172     1e+5  -> 1E-6176     Underflow Subnormal Inexact Rounded

+

+dqdiv1824 divide  1E-6172      -1e+4  -> -1E-6176    Subnormal

+dqdiv1825 divide  3E-6172      -1e+5  -> -0E-6176    Underflow Subnormal Inexact Rounded Clamped

+dqdiv1826 divide -5E-6172       1e+5  -> -0E-6176    Underflow Subnormal Inexact Rounded Clamped

+dqdiv1827 divide  7E-6172      -1e+5  -> -1E-6176    Underflow Subnormal Inexact Rounded

+dqdiv1828 divide -9E-6172       1e+5  -> -1E-6176    Underflow Subnormal Inexact Rounded

+dqdiv1829 divide  9.9E-6172    -1e+5  -> -1E-6176    Underflow Subnormal Inexact Rounded

+dqdiv1830 divide  3.0E-6172    -1e+5  -> -0E-6176    Underflow Subnormal Inexact Rounded Clamped

+

+dqdiv1831 divide  1.0E-5977     1e+200 -> 0E-6176 Underflow Subnormal Inexact Rounded Clamped

+dqdiv1832 divide  1.0E-5977     1e+199 -> 1E-6176   Subnormal Rounded

+dqdiv1833 divide  1.0E-5977     1e+198 -> 1.0E-6175 Subnormal

+dqdiv1834 divide  2.0E-5977     2e+198 -> 1.0E-6175 Subnormal

+dqdiv1835 divide  4.0E-5977     4e+198 -> 1.0E-6175 Subnormal

+dqdiv1836 divide 10.0E-5977    10e+198 -> 1.0E-6175 Subnormal

+dqdiv1837 divide 30.0E-5977    30e+198 -> 1.0E-6175 Subnormal

+dqdiv1838 divide 40.0E-5982    40e+166 -> 1.0E-6148 Subnormal

+dqdiv1839 divide 40.0E-5982    40e+165 -> 1.0E-6147 Subnormal

+dqdiv1840 divide 40.0E-5982    40e+164 -> 1.0E-6146 Subnormal

+

+-- randoms

+rounding:  half_even

+dqdiv2010  divide  -5231195652931651968034356117118850         -7243718664422548573203260970.34995          ->   722169.9095831284624736051460550680 Inexact Rounded

+dqdiv2011  divide  -89584669773927.82711237350022515352        -42077943728529635884.21142627532985         ->   0.000002129017291146471565928125887527266 Inexact Rounded

+dqdiv2012  divide  -2.828201693360723203806974891946180E-232    812596541221823960386384403089240.9         ->  -3.480450075640521320040055759125120E-265 Inexact Rounded

+dqdiv2013  divide  -6442775372761069267502937539408720          24904085056.69185465145182606089196         ->  -258703556388226463687701.4884719589 Inexact Rounded

+dqdiv2014  divide   5.535520011272625629610079879714705        -44343664650.57203052003068113531208         ->  -1.248322630728089308975940533493562E-10 Inexact Rounded

+dqdiv2015  divide   65919273712517865964325.99419625010        -314733354141381737378622515.7789054         ->  -0.0002094448295521490616379784758911632 Inexact Rounded

+dqdiv2016  divide  -7.779172568193197107115275140431129E+759   -140453015639.3988987652895178782143         ->   5.538629792161641534962774244238115E+748 Inexact Rounded

+dqdiv2017  divide   644314832597569.0181226067518178797        -115024585257425.1635759521565201075         ->  -5.601540150356479257367687450922795 Inexact Rounded

+dqdiv2018  divide   6.898640941579611450676592553286870E-47    -11272429881407851485163914999.25943         ->  -6.119923578285338689371137648319280E-75 Inexact Rounded

+dqdiv2019  divide  -3591344544888727133.30819750163254          5329395.423792795661446561090331037         ->  -673874662941.1968525589460533725290 Inexact Rounded

+dqdiv2020  divide  -7.682356781384631313156462724425838E+747   -6.60375855512219057281922141809940E+703     ->   1.163330960279556016678379128875149E+44 Inexact Rounded

+dqdiv2021  divide  -4511495596596941820863224.274679699         3365395017.263329795449661616090724         ->  -1340554548115304.904166888018346299 Inexact Rounded

+dqdiv2022  divide   5.211164127840931517263639608151299         164.5566381356276567012533847006453         ->   0.03166790587655228864478260157156510 Inexact Rounded

+dqdiv2023  divide  -49891.2243893458830384077684620383         -47179.9312961860747554053371171530          ->   1.057467084386767291602189656430268 Inexact Rounded

+dqdiv2024  divide   15065477.47214268488077415462413353         4366211.120892953261309529740552596         ->   3.450469309661227984244545513441359 Inexact Rounded

+dqdiv2025  divide   1.575670269440761846109602429612644E+370    653199649324740300.006185482643439          ->   2.412233795700359170904588548041481E+352 Inexact Rounded

+dqdiv2026  divide  -2112422311733448924573432192.620145        -80067206.03590693153848215848613406         ->   26383115089417660175.20102646756574 Inexact Rounded

+dqdiv2027  divide  -67096536051279809.32218611548721839        -869685412881941081664251990181.1049         ->   7.715035236584805921278566365231168E-14 Inexact Rounded

+dqdiv2028  divide  -58612908548962047.21866913425488972        -978449597531.3873665583475633831644         ->   59903.86085991703091236507859837023 Inexact Rounded

+dqdiv2029  divide  -133032412010942.1476864138213319796        -7.882059293498670705446528648201359E-428    ->   1.687787506504433064549515681693715E+441 Inexact Rounded

+dqdiv2030  divide   1.83746698338966029492299716360513E+977    -9.897926608979649951672839879128603E+154    ->  -1.856416051542212552042390218062458E+822 Inexact Rounded

+dqdiv2031  divide  -113742475841399236307128962.1507063         8298602.203049834732657567965262989         ->  -13706221006665137826.16557393919929 Inexact Rounded

+dqdiv2032  divide   196.4787574650754152995941808331862         929.6553388472318094427422117172394         ->   0.2113458066176526651006917922814018 Inexact Rounded

+dqdiv2033  divide   71931221465.43867996282803628130350         3838685934206426257090718.402248853         ->   1.873850132527423413607199513324021E-14 Inexact Rounded

+dqdiv2034  divide   488.4282502289651653783596246312885        -80.68940956806634280078706577953188         ->  -6.053189047280693318844801899473272 Inexact Rounded

+dqdiv2035  divide   9.001764344963921754981762913247394E-162   -8.585540973667205753734967645386919E-729    ->  -1.048479574271827326396012573232934E+567 Inexact Rounded

+dqdiv2036  divide  -7.404133959409894743706402857145471E-828   -51.38159929460289711134684843086265         ->   1.441008855516029461032061785219773E-829 Inexact Rounded

+dqdiv2037  divide   2.967520235574419794048994436040717E-613   -6252513855.91394894949879262731889          ->  -4.746123405656409127572998751885338E-623 Inexact Rounded

+dqdiv2038  divide  -18826852654824040505.83920366765051        -6336924877942437992590557460147340          ->   2.970976146546494669807886278519194E-15 Inexact Rounded

+dqdiv2039  divide  -8.101406784809197604949584001735949E+561    4.823300306948942821076681658771635E+361    ->  -1.679639721610839204738445747238987E+200 Inexact Rounded

+dqdiv2040  divide  -6.11981977773094052331062585191723E+295     1.507610253755339328302779005586534E+238    ->  -4.059285058911577244044418416044763E+57 Inexact Rounded

+dqdiv2041  divide   6.472638850046815880599220534274055E-596   -4.475233712083047516933911786159972         ->  -1.446324207062261745520496475778879E-596 Inexact Rounded

+dqdiv2042  divide  -84438593330.71277839631144509397112        -586684596204401664208947.4054879633         ->   1.439250218550041228759983937772504E-13 Inexact Rounded

+dqdiv2043  divide   9.354533233294022616695815656704369E-24     405.500390626135304252144163591746          ->   2.306911028827774549740571229736198E-26 Inexact Rounded

+dqdiv2044  divide   985606423350210.7374876650149957881        -36811563697.41925681866694859828794         ->  -26774.36990864119445335813354717711 Inexact Rounded

+dqdiv2045  divide  -8.187280774177715706278002247766311E-123   -38784124393.91212870828430001300068         ->   2.110987653356139147357240727794365E-133 Inexact Rounded

+dqdiv2046  divide  -4.612203126350070903459245798371657E+912    7.971562182727956290901984736800519E+64     ->  -5.785820922708683237098826662769748E+847 Inexact Rounded

+dqdiv2047  divide   4.661015909421485298247928967977089E+888   -6.360911253323922338737311563845581E+388    ->  -7.327591478321365980156654539638836E+499 Inexact Rounded

+dqdiv2048  divide   9156078172903.257500003260710833030         7.189796653262147139071634237964074E-90     ->   1.273482215766000994365201545096026E+102 Inexact Rounded

+dqdiv2049  divide  -1.710722303327476586373477781276586E-311   -3167561628260156837329323.729380695         ->   5.400754599578613984875752958645655E-336 Inexact Rounded

+dqdiv2050  divide  -4.647935210881806238321616345413021E-878    209388.5431867744648177308460639582         ->  -2.219765771394593733140494297388140E-883 Inexact Rounded

+dqdiv2051  divide   5958.694728395760992719084781582700         4.541510156564315632536353171846096E-746    ->   1.312051393253638664947852693005480E+749 Inexact Rounded

+dqdiv2052  divide  -7.935732544649702175256699886872093E-489   -7.433329073664793138998765647467971E+360    ->   1.067587949626076917672271619664656E-849 Inexact Rounded

+dqdiv2053  divide  -2746650864601157.863589959939901350         7.016684945507647528907184694359598E+548    ->  -3.914456593009309529351254950429932E-534 Inexact Rounded

+dqdiv2054  divide   3605149408631197365447953.994569178        -75614025825649082.78264864428237833         ->  -47678315.88472693507060063188020532 Inexact Rounded

+dqdiv2055  divide   788194320921798404906375214.196349         -6.222718148433247384932573401976337E-418    ->  -1.266639918634671803982222244977287E+444 Inexact Rounded

+dqdiv2056  divide   5620722730534752.758208943447603211         6.843552841168538319123000917657759E-139    ->   8.213164800485434666629970443739554E+153 Inexact Rounded

+dqdiv2057  divide   7304534676713703938102.403949019402        -576169.3685010935108153023803590835         ->  -12677756014201995.31969237144394772 Inexact Rounded

+dqdiv2058  divide   8067918762.134621639254916786945547        -8.774771480055536009105596163864758E+954    ->  -9.194448858836332156766764605125245E-946 Inexact Rounded

+dqdiv2059  divide   8.702093454123046507578256899537563E-324   -5.875399733016018404580201176576293E-401    ->  -1.481106622452052581470443526957335E+77 Inexact Rounded

+dqdiv2060  divide  -41426.01662518451861386352415092356         90.00146621684478300510769802013464         ->  -460.2815750287318692732067709176200 Inexact Rounded

+

+-- random divide tests with result near 1

+dqdiv4001 divide  2003100352770753969878925664524900   2003100352770753969878925664497824  ->  1.000000000000000000000000000013517  Inexact Rounded

+dqdiv4002 divide  4817785793916490652579552318371645   4817785793916490652579552318362097  ->  1.000000000000000000000000000001982  Inexact Rounded

+dqdiv4003 divide  8299187410920067325648068439560282   8299187410920067325648068439591159  ->  0.9999999999999999999999999999962795  Inexact Rounded

+dqdiv4004 divide  5641088455897407044544461785365899   5641088455897407044544461785389965  ->  0.9999999999999999999999999999957338  Inexact Rounded

+dqdiv4005 divide  5752274694706545359326361313490424   5752274694706545359326361313502723  ->  0.9999999999999999999999999999978619  Inexact Rounded

+dqdiv4006 divide  6762079477373670594829319346099665   6762079477373670594829319346132579  ->  0.9999999999999999999999999999951326  Inexact Rounded

+dqdiv4007 divide  7286425153691890341633023222602916   7286425153691890341633023222606556  ->  0.9999999999999999999999999999995004  Inexact Rounded

+dqdiv4008 divide  9481233991901305727648306421946655   9481233991901305727648306421919124  ->  1.000000000000000000000000000002904  Inexact Rounded

+dqdiv4009 divide  4282053941893951742029444065614311   4282053941893951742029444065583077  ->  1.000000000000000000000000000007294  Inexact Rounded

+dqdiv4010 divide   626888225441250639741781850338695    626888225441250639741781850327299  ->  1.000000000000000000000000000018179  Inexact Rounded

+dqdiv4011 divide  3860973649222028009456598604468547   3860973649222028009456598604476849  ->  0.9999999999999999999999999999978498  Inexact Rounded

+dqdiv4012 divide  4753157080127468127908060607821839   4753157080127468127908060607788379  ->  1.000000000000000000000000000007040  Inexact Rounded

+dqdiv4013 divide   552448546203754062805706277880419    552448546203754062805706277881903  ->  0.9999999999999999999999999999973138  Inexact Rounded

+dqdiv4014 divide  8405954527952158455323713728917395   8405954527952158455323713728933866  ->  0.9999999999999999999999999999980406  Inexact Rounded

+dqdiv4015 divide  7554096502235321142555802238016116   7554096502235321142555802238026546  ->  0.9999999999999999999999999999986193  Inexact Rounded

+dqdiv4016 divide  4053257674127518606871054934746782   4053257674127518606871054934767355  ->  0.9999999999999999999999999999949243  Inexact Rounded

+dqdiv4017 divide  7112419420755090454716888844011582   7112419420755090454716888844038105  ->  0.9999999999999999999999999999962709  Inexact Rounded

+dqdiv4018 divide  3132302137520072728164549730911846   3132302137520072728164549730908416  ->  1.000000000000000000000000000001095  Inexact Rounded

+dqdiv4019 divide  4788374045841416355706715048161013   4788374045841416355706715048190077  ->  0.9999999999999999999999999999939303  Inexact Rounded

+dqdiv4020 divide  9466021636047630218238075099510597   9466021636047630218238075099484053  ->  1.000000000000000000000000000002804  Inexact Rounded

+dqdiv4021 divide   912742745646765625597399692138650    912742745646765625597399692139042  ->  0.9999999999999999999999999999995705  Inexact Rounded

+dqdiv4022 divide  9508402742933643208806264897188504   9508402742933643208806264897195973  ->  0.9999999999999999999999999999992145  Inexact Rounded

+dqdiv4023 divide  1186956795727233704962361914360895   1186956795727233704962361914329577  ->  1.000000000000000000000000000026385  Inexact Rounded

+dqdiv4024 divide  5972210268839014812696916170967938   5972210268839014812696916170954974  ->  1.000000000000000000000000000002171  Inexact Rounded

+dqdiv4025 divide  2303801625521619930894460139793140   2303801625521619930894460139799643  ->  0.9999999999999999999999999999971773  Inexact Rounded

+dqdiv4026 divide  6022231560002898264777393473966595   6022231560002898264777393473947198  ->  1.000000000000000000000000000003221  Inexact Rounded

+dqdiv4027 divide  8426148335801396199969346032210893   8426148335801396199969346032203179  ->  1.000000000000000000000000000000915  Inexact Rounded

+dqdiv4028 divide  8812278947028784637382847098411749   8812278947028784637382847098385317  ->  1.000000000000000000000000000002999  Inexact Rounded

+dqdiv4029 divide  8145282002348367383264197170116146   8145282002348367383264197170083988  ->  1.000000000000000000000000000003948  Inexact Rounded

+dqdiv4030 divide  6821577571876840153123510107387026   6821577571876840153123510107418008  ->  0.9999999999999999999999999999954582  Inexact Rounded

+dqdiv4031 divide  9018555319518966970480565482023720   9018555319518966970480565482013346  ->  1.000000000000000000000000000001150  Inexact Rounded

+dqdiv4032 divide  4602155712998228449640717252788864   4602155712998228449640717252818502  ->  0.9999999999999999999999999999935600  Inexact Rounded

+dqdiv4033 divide  6675607481522785614506828292264472   6675607481522785614506828292277100  ->  0.9999999999999999999999999999981083  Inexact Rounded

+dqdiv4034 divide  4015881516871833897766945836264472   4015881516871833897766945836262645  ->  1.000000000000000000000000000000455  Inexact Rounded

+dqdiv4035 divide  1415580205933411837595459716910365   1415580205933411837595459716880139  ->  1.000000000000000000000000000021352  Inexact Rounded

+dqdiv4036 divide  9432968297069542816752035276361552   9432968297069542816752035276353054  ->  1.000000000000000000000000000000901  Inexact Rounded

+dqdiv4037 divide  4799319591303848500532766682140658   4799319591303848500532766682172655  ->  0.9999999999999999999999999999933330  Inexact Rounded

+dqdiv4038 divide   316854270732839529790584284987472    316854270732839529790584285004832  ->  0.9999999999999999999999999999452114  Inexact Rounded

+dqdiv4039 divide  3598981300592490427826027975697415   3598981300592490427826027975686712  ->  1.000000000000000000000000000002974  Inexact Rounded

+dqdiv4040 divide  1664315435694461371155800682196520   1664315435694461371155800682195617  ->  1.000000000000000000000000000000543  Inexact Rounded

+dqdiv4041 divide  1680872316531128890102855316510581   1680872316531128890102855316495545  ->  1.000000000000000000000000000008945  Inexact Rounded

+dqdiv4042 divide  9881274879566405475755499281644730   9881274879566405475755499281615743  ->  1.000000000000000000000000000002934  Inexact Rounded

+dqdiv4043 divide  4737225957717466960447204232279216   4737225957717466960447204232277452  ->  1.000000000000000000000000000000372  Inexact Rounded

+dqdiv4044 divide  2482097379414867061213319346418288   2482097379414867061213319346387936  ->  1.000000000000000000000000000012228  Inexact Rounded

+dqdiv4045 divide  7406977595233762723576434122161868   7406977595233762723576434122189042  ->  0.9999999999999999999999999999963313  Inexact Rounded

+dqdiv4046 divide   228782057757566047086593281773577    228782057757566047086593281769727  ->  1.000000000000000000000000000016828  Inexact Rounded

+dqdiv4047 divide  2956594270240579648823270540367653   2956594270240579648823270540368556  ->  0.9999999999999999999999999999996946  Inexact Rounded

+dqdiv4048 divide  6326964098897620620534136767634340   6326964098897620620534136767619339  ->  1.000000000000000000000000000002371  Inexact Rounded

+dqdiv4049 divide   414586440456590215247002678327800    414586440456590215247002678316922  ->  1.000000000000000000000000000026238  Inexact Rounded

+dqdiv4050 divide  7364552208570039386220505636779125   7364552208570039386220505636803548  ->  0.9999999999999999999999999999966837  Inexact Rounded

+dqdiv4051 divide  5626266749902369710022824950590056   5626266749902369710022824950591008  ->  0.9999999999999999999999999999998308  Inexact Rounded

+dqdiv4052 divide  4863278293916197454987481343460484   4863278293916197454987481343442522  ->  1.000000000000000000000000000003693  Inexact Rounded

+dqdiv4053 divide  1170713582030637359713249796835483   1170713582030637359713249796823345  ->  1.000000000000000000000000000010368  Inexact Rounded

+dqdiv4054 divide  9838062494725965667776326556052931   9838062494725965667776326556061002  ->  0.9999999999999999999999999999991796  Inexact Rounded

+dqdiv4055 divide  4071388731298861093005687091498922   4071388731298861093005687091498278  ->  1.000000000000000000000000000000158  Inexact Rounded

+dqdiv4056 divide  8753155722324706795855038590272526   8753155722324706795855038590276656  ->  0.9999999999999999999999999999995282  Inexact Rounded

+dqdiv4057 divide  4399941911533273418844742658240485   4399941911533273418844742658219891  ->  1.000000000000000000000000000004681  Inexact Rounded

+dqdiv4058 divide  4127884159949503677776430620050269   4127884159949503677776430620026091  ->  1.000000000000000000000000000005857  Inexact Rounded

+dqdiv4059 divide  5536160822360800067042528317438808   5536160822360800067042528317450687  ->  0.9999999999999999999999999999978543  Inexact Rounded

+dqdiv4060 divide  3973234998468664936671088237710246   3973234998468664936671088237741886  ->  0.9999999999999999999999999999920367  Inexact Rounded

+dqdiv4061 divide  9824855935638263593410444142327358   9824855935638263593410444142328576  ->  0.9999999999999999999999999999998760  Inexact Rounded

+dqdiv4062 divide  5917078517340218131867327300814867   5917078517340218131867327300788701  ->  1.000000000000000000000000000004422  Inexact Rounded

+dqdiv4063 divide  4354236601830544882286139612521362   4354236601830544882286139612543223  ->  0.9999999999999999999999999999949794  Inexact Rounded

+dqdiv4064 divide  8058474772375259017342110013891294   8058474772375259017342110013906792  ->  0.9999999999999999999999999999980768  Inexact Rounded

+dqdiv4065 divide  5519604020981748170517093746166328   5519604020981748170517093746181763  ->  0.9999999999999999999999999999972036  Inexact Rounded

+dqdiv4066 divide  1502130966879805458831323782443139   1502130966879805458831323782412213  ->  1.000000000000000000000000000020588  Inexact Rounded

+dqdiv4067 divide   562795633719481212915159787980270    562795633719481212915159788007066  ->  0.9999999999999999999999999999523877  Inexact Rounded

+dqdiv4068 divide  6584743324494664273941281557268878   6584743324494664273941281557258945  ->  1.000000000000000000000000000001508  Inexact Rounded

+dqdiv4069 divide  3632000327285743997976431109416500   3632000327285743997976431109408107  ->  1.000000000000000000000000000002311  Inexact Rounded

+dqdiv4070 divide  1145827237315430089388953838561450   1145827237315430089388953838527332  ->  1.000000000000000000000000000029776  Inexact Rounded

+dqdiv4071 divide  8874431010357691869725372317350380   8874431010357691869725372317316472  ->  1.000000000000000000000000000003821  Inexact Rounded

+dqdiv4072 divide   992948718902804648119753141202196    992948718902804648119753141235222  ->  0.9999999999999999999999999999667395  Inexact Rounded

+dqdiv4073 divide  2522735183374218505142417265439989   2522735183374218505142417265453779  ->  0.9999999999999999999999999999945337  Inexact Rounded

+dqdiv4074 divide  2668419161912936508006872303501052   2668419161912936508006872303471036  ->  1.000000000000000000000000000011249  Inexact Rounded

+dqdiv4075 divide  3036169085665186712590941111775092   3036169085665186712590941111808846  ->  0.9999999999999999999999999999888827  Inexact Rounded

+dqdiv4076 divide  9441634604917231638508898934006147   9441634604917231638508898934000288  ->  1.000000000000000000000000000000621  Inexact Rounded

+dqdiv4077 divide  2677301353164377091111458811839190   2677301353164377091111458811867722  ->  0.9999999999999999999999999999893430  Inexact Rounded

+dqdiv4078 divide  6844979203112066166583765857171426   6844979203112066166583765857189682  ->  0.9999999999999999999999999999973329  Inexact Rounded

+dqdiv4079 divide  2220337435141796724323783960231661   2220337435141796724323783960208778  ->  1.000000000000000000000000000010306  Inexact Rounded

+dqdiv4080 divide  6447424700019783931569996989561380   6447424700019783931569996989572454  ->  0.9999999999999999999999999999982824  Inexact Rounded

+dqdiv4081 divide  7512856762696607119847092195587180   7512856762696607119847092195557346  ->  1.000000000000000000000000000003971  Inexact Rounded

+dqdiv4082 divide  7395261981193960399087819077237482   7395261981193960399087819077242487  ->  0.9999999999999999999999999999993232  Inexact Rounded

+dqdiv4083 divide  2253442467682584035792724884376735   2253442467682584035792724884407178  ->  0.9999999999999999999999999999864904  Inexact Rounded

+dqdiv4084 divide  8153138680300213135577336466190997   8153138680300213135577336466220607  ->  0.9999999999999999999999999999963683  Inexact Rounded

+dqdiv4085 divide  4668731252254148074041022681801390   4668731252254148074041022681778101  ->  1.000000000000000000000000000004988  Inexact Rounded

+dqdiv4086 divide  6078404557993669696040425501815056   6078404557993669696040425501797612  ->  1.000000000000000000000000000002870  Inexact Rounded

+dqdiv4087 divide  2306352359874261623223356878316278   2306352359874261623223356878335612  ->  0.9999999999999999999999999999916171  Inexact Rounded

+dqdiv4088 divide  3264842186668480362900909564091908   3264842186668480362900909564058658  ->  1.000000000000000000000000000010184  Inexact Rounded

+dqdiv4089 divide  6971985047279636878957959608612204   6971985047279636878957959608615088  ->  0.9999999999999999999999999999995863  Inexact Rounded

+dqdiv4090 divide  5262810889952721235466445973816257   5262810889952721235466445973783077  ->  1.000000000000000000000000000006305  Inexact Rounded

+dqdiv4091 divide  7947944731035267178548357070080288   7947944731035267178548357070061339  ->  1.000000000000000000000000000002384  Inexact Rounded

+dqdiv4092 divide  5071808908395375108383035800443229   5071808908395375108383035800412429  ->  1.000000000000000000000000000006073  Inexact Rounded

+dqdiv4093 divide  2043146542084503655511507209262969   2043146542084503655511507209249263  ->  1.000000000000000000000000000006708  Inexact Rounded

+dqdiv4094 divide  4097632735384534181661959731264802   4097632735384534181661959731234499  ->  1.000000000000000000000000000007395  Inexact Rounded

+dqdiv4095 divide  3061477642831387489729464587044430   3061477642831387489729464587059452  ->  0.9999999999999999999999999999950932  Inexact Rounded

+dqdiv4096 divide  3429854941039776159498802936252638   3429854941039776159498802936246415  ->  1.000000000000000000000000000001814  Inexact Rounded

+dqdiv4097 divide  4874324979578599700024133278284545   4874324979578599700024133278262131  ->  1.000000000000000000000000000004598  Inexact Rounded

+dqdiv4098 divide  5701652369691833541455978515820882   5701652369691833541455978515834854  ->  0.9999999999999999999999999999975495  Inexact Rounded

+dqdiv4099 divide  2928205728402945266953255632343113   2928205728402945266953255632373794  ->  0.9999999999999999999999999999895223  Inexact Rounded

+

+-- Null tests

+dqdiv9998 divide 10  # -> NaN Invalid_operation

+dqdiv9999 divide  # 10 -> NaN Invalid_operation

+