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

     1  ------------------------------------------------------------------------
     2  -- rounding.decTest -- decimal rounding modes testcases               --
     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  -- These tests require that implementations take account of residues in
    22  -- order to get correct results for some rounding modes.  Rather than
    23  -- single rounding tests we therefore need tests for most operators.
    24  -- [We do assume add/minus/plus/subtract are common paths, however, as
    25  -- is rounding of negatives (if the latter works for addition, assume it
    26  -- works for the others, too).]
    27  --
    28  -- Round-for-reround (05UP) is tested as a separate block, mostly for
    29  -- 'historical' reasons.
    30  --
    31  -- Underflow Subnormal and overflow behaviours are tested under the
    32  -- individual operators.
    33  
    34  extended:    1
    35  precision:   5           -- for easier visual inspection
    36  maxExponent: 999
    37  minexponent: -999
    38  
    39  -- Addition operators -------------------------------------------------
    40  rounding: down
    41  
    42  radx100  add 12345 -0.1       -> 12344 Inexact Rounded
    43  radx101  add 12345 -0.01      -> 12344 Inexact Rounded
    44  radx102  add 12345 -0.001     -> 12344 Inexact Rounded
    45  radx103  add 12345 -0.00001   -> 12344 Inexact Rounded
    46  radx104  add 12345 -0.000001  -> 12344 Inexact Rounded
    47  radx105  add 12345 -0.0000001 -> 12344 Inexact Rounded
    48  radx106  add 12345  0         -> 12345
    49  radx107  add 12345  0.0000001 -> 12345 Inexact Rounded
    50  radx108  add 12345  0.000001  -> 12345 Inexact Rounded
    51  radx109  add 12345  0.00001   -> 12345 Inexact Rounded
    52  radx110  add 12345  0.0001    -> 12345 Inexact Rounded
    53  radx111  add 12345  0.001     -> 12345 Inexact Rounded
    54  radx112  add 12345  0.01      -> 12345 Inexact Rounded
    55  radx113  add 12345  0.1       -> 12345 Inexact Rounded
    56  
    57  radx115  add 12346  0.49999   -> 12346 Inexact Rounded
    58  radx116  add 12346  0.5       -> 12346 Inexact Rounded
    59  radx117  add 12346  0.50001   -> 12346 Inexact Rounded
    60  
    61  radx120  add 12345  0.4       -> 12345 Inexact Rounded
    62  radx121  add 12345  0.49      -> 12345 Inexact Rounded
    63  radx122  add 12345  0.499     -> 12345 Inexact Rounded
    64  radx123  add 12345  0.49999   -> 12345 Inexact Rounded
    65  radx124  add 12345  0.5       -> 12345 Inexact Rounded
    66  radx125  add 12345  0.50001   -> 12345 Inexact Rounded
    67  radx126  add 12345  0.5001    -> 12345 Inexact Rounded
    68  radx127  add 12345  0.501     -> 12345 Inexact Rounded
    69  radx128  add 12345  0.51      -> 12345 Inexact Rounded
    70  radx129  add 12345  0.6       -> 12345 Inexact Rounded
    71  
    72  rounding: half_down
    73  
    74  radx140  add 12345 -0.1       -> 12345 Inexact Rounded
    75  radx141  add 12345 -0.01      -> 12345 Inexact Rounded
    76  radx142  add 12345 -0.001     -> 12345 Inexact Rounded
    77  radx143  add 12345 -0.00001   -> 12345 Inexact Rounded
    78  radx144  add 12345 -0.000001  -> 12345 Inexact Rounded
    79  radx145  add 12345 -0.0000001 -> 12345 Inexact Rounded
    80  radx146  add 12345  0         -> 12345
    81  radx147  add 12345  0.0000001 -> 12345 Inexact Rounded
    82  radx148  add 12345  0.000001  -> 12345 Inexact Rounded
    83  radx149  add 12345  0.00001   -> 12345 Inexact Rounded
    84  radx150  add 12345  0.0001    -> 12345 Inexact Rounded
    85  radx151  add 12345  0.001     -> 12345 Inexact Rounded
    86  radx152  add 12345  0.01      -> 12345 Inexact Rounded
    87  radx153  add 12345  0.1       -> 12345 Inexact Rounded
    88  
    89  radx155  add 12346  0.49999   -> 12346 Inexact Rounded
    90  radx156  add 12346  0.5       -> 12346 Inexact Rounded
    91  radx157  add 12346  0.50001   -> 12347 Inexact Rounded
    92  
    93  radx160  add 12345  0.4       -> 12345 Inexact Rounded
    94  radx161  add 12345  0.49      -> 12345 Inexact Rounded
    95  radx162  add 12345  0.499     -> 12345 Inexact Rounded
    96  radx163  add 12345  0.49999   -> 12345 Inexact Rounded
    97  radx164  add 12345  0.5       -> 12345 Inexact Rounded
    98  radx165  add 12345  0.50001   -> 12346 Inexact Rounded
    99  radx166  add 12345  0.5001    -> 12346 Inexact Rounded
   100  radx167  add 12345  0.501     -> 12346 Inexact Rounded
   101  radx168  add 12345  0.51      -> 12346 Inexact Rounded
   102  radx169  add 12345  0.6       -> 12346 Inexact Rounded
   103  
   104  rounding: half_even
   105  
   106  radx170  add 12345 -0.1       -> 12345 Inexact Rounded
   107  radx171  add 12345 -0.01      -> 12345 Inexact Rounded
   108  radx172  add 12345 -0.001     -> 12345 Inexact Rounded
   109  radx173  add 12345 -0.00001   -> 12345 Inexact Rounded
   110  radx174  add 12345 -0.000001  -> 12345 Inexact Rounded
   111  radx175  add 12345 -0.0000001 -> 12345 Inexact Rounded
   112  radx176  add 12345  0         -> 12345
   113  radx177  add 12345  0.0000001 -> 12345 Inexact Rounded
   114  radx178  add 12345  0.000001  -> 12345 Inexact Rounded
   115  radx179  add 12345  0.00001   -> 12345 Inexact Rounded
   116  radx180  add 12345  0.0001    -> 12345 Inexact Rounded
   117  radx181  add 12345  0.001     -> 12345 Inexact Rounded
   118  radx182  add 12345  0.01      -> 12345 Inexact Rounded
   119  radx183  add 12345  0.1       -> 12345 Inexact Rounded
   120  
   121  radx185  add 12346  0.49999   -> 12346 Inexact Rounded
   122  radx186  add 12346  0.5       -> 12346 Inexact Rounded
   123  radx187  add 12346  0.50001   -> 12347 Inexact Rounded
   124  
   125  radx190  add 12345  0.4       -> 12345 Inexact Rounded
   126  radx191  add 12345  0.49      -> 12345 Inexact Rounded
   127  radx192  add 12345  0.499     -> 12345 Inexact Rounded
   128  radx193  add 12345  0.49999   -> 12345 Inexact Rounded
   129  radx194  add 12345  0.5       -> 12346 Inexact Rounded
   130  radx195  add 12345  0.50001   -> 12346 Inexact Rounded
   131  radx196  add 12345  0.5001    -> 12346 Inexact Rounded
   132  radx197  add 12345  0.501     -> 12346 Inexact Rounded
   133  radx198  add 12345  0.51      -> 12346 Inexact Rounded
   134  radx199  add 12345  0.6       -> 12346 Inexact Rounded
   135  
   136  rounding: half_up
   137  
   138  radx200  add 12345 -0.1       -> 12345 Inexact Rounded
   139  radx201  add 12345 -0.01      -> 12345 Inexact Rounded
   140  radx202  add 12345 -0.001     -> 12345 Inexact Rounded
   141  radx203  add 12345 -0.00001   -> 12345 Inexact Rounded
   142  radx204  add 12345 -0.000001  -> 12345 Inexact Rounded
   143  radx205  add 12345 -0.0000001 -> 12345 Inexact Rounded
   144  radx206  add 12345  0         -> 12345
   145  radx207  add 12345  0.0000001 -> 12345 Inexact Rounded
   146  radx208  add 12345  0.000001  -> 12345 Inexact Rounded
   147  radx209  add 12345  0.00001   -> 12345 Inexact Rounded
   148  radx210  add 12345  0.0001    -> 12345 Inexact Rounded
   149  radx211  add 12345  0.001     -> 12345 Inexact Rounded
   150  radx212  add 12345  0.01      -> 12345 Inexact Rounded
   151  radx213  add 12345  0.1       -> 12345 Inexact Rounded
   152  
   153  radx215  add 12346  0.49999   -> 12346 Inexact Rounded
   154  radx216  add 12346  0.5       -> 12347 Inexact Rounded
   155  radx217  add 12346  0.50001   -> 12347 Inexact Rounded
   156  
   157  radx220  add 12345  0.4       -> 12345 Inexact Rounded
   158  radx221  add 12345  0.49      -> 12345 Inexact Rounded
   159  radx222  add 12345  0.499     -> 12345 Inexact Rounded
   160  radx223  add 12345  0.49999   -> 12345 Inexact Rounded
   161  radx224  add 12345  0.5       -> 12346 Inexact Rounded
   162  radx225  add 12345  0.50001   -> 12346 Inexact Rounded
   163  radx226  add 12345  0.5001    -> 12346 Inexact Rounded
   164  radx227  add 12345  0.501     -> 12346 Inexact Rounded
   165  radx228  add 12345  0.51      -> 12346 Inexact Rounded
   166  radx229  add 12345  0.6       -> 12346 Inexact Rounded
   167  
   168  rounding: up
   169  
   170  radx230  add 12345 -0.1       -> 12345 Inexact Rounded
   171  radx231  add 12345 -0.01      -> 12345 Inexact Rounded
   172  radx232  add 12345 -0.001     -> 12345 Inexact Rounded
   173  radx233  add 12345 -0.00001   -> 12345 Inexact Rounded
   174  radx234  add 12345 -0.000001  -> 12345 Inexact Rounded
   175  radx235  add 12345 -0.0000001 -> 12345 Inexact Rounded
   176  radx236  add 12345  0         -> 12345
   177  radx237  add 12345  0.0000001 -> 12346 Inexact Rounded
   178  radx238  add 12345  0.000001  -> 12346 Inexact Rounded
   179  radx239  add 12345  0.00001   -> 12346 Inexact Rounded
   180  radx240  add 12345  0.0001    -> 12346 Inexact Rounded
   181  radx241  add 12345  0.001     -> 12346 Inexact Rounded
   182  radx242  add 12345  0.01      -> 12346 Inexact Rounded
   183  radx243  add 12345  0.1       -> 12346 Inexact Rounded
   184  
   185  radx245  add 12346  0.49999   -> 12347 Inexact Rounded
   186  radx246  add 12346  0.5       -> 12347 Inexact Rounded
   187  radx247  add 12346  0.50001   -> 12347 Inexact Rounded
   188  
   189  radx250  add 12345  0.4       -> 12346 Inexact Rounded
   190  radx251  add 12345  0.49      -> 12346 Inexact Rounded
   191  radx252  add 12345  0.499     -> 12346 Inexact Rounded
   192  radx253  add 12345  0.49999   -> 12346 Inexact Rounded
   193  radx254  add 12345  0.5       -> 12346 Inexact Rounded
   194  radx255  add 12345  0.50001   -> 12346 Inexact Rounded
   195  radx256  add 12345  0.5001    -> 12346 Inexact Rounded
   196  radx257  add 12345  0.501     -> 12346 Inexact Rounded
   197  radx258  add 12345  0.51      -> 12346 Inexact Rounded
   198  radx259  add 12345  0.6       -> 12346 Inexact Rounded
   199  
   200  rounding: floor
   201  
   202  radx300  add 12345 -0.1       -> 12344 Inexact Rounded
   203  radx301  add 12345 -0.01      -> 12344 Inexact Rounded
   204  radx302  add 12345 -0.001     -> 12344 Inexact Rounded
   205  radx303  add 12345 -0.00001   -> 12344 Inexact Rounded
   206  radx304  add 12345 -0.000001  -> 12344 Inexact Rounded
   207  radx305  add 12345 -0.0000001 -> 12344 Inexact Rounded
   208  radx306  add 12345  0         -> 12345
   209  radx307  add 12345  0.0000001 -> 12345 Inexact Rounded
   210  radx308  add 12345  0.000001  -> 12345 Inexact Rounded
   211  radx309  add 12345  0.00001   -> 12345 Inexact Rounded
   212  radx310  add 12345  0.0001    -> 12345 Inexact Rounded
   213  radx311  add 12345  0.001     -> 12345 Inexact Rounded
   214  radx312  add 12345  0.01      -> 12345 Inexact Rounded
   215  radx313  add 12345  0.1       -> 12345 Inexact Rounded
   216  
   217  radx315  add 12346  0.49999   -> 12346 Inexact Rounded
   218  radx316  add 12346  0.5       -> 12346 Inexact Rounded
   219  radx317  add 12346  0.50001   -> 12346 Inexact Rounded
   220  
   221  radx320  add 12345  0.4       -> 12345 Inexact Rounded
   222  radx321  add 12345  0.49      -> 12345 Inexact Rounded
   223  radx322  add 12345  0.499     -> 12345 Inexact Rounded
   224  radx323  add 12345  0.49999   -> 12345 Inexact Rounded
   225  radx324  add 12345  0.5       -> 12345 Inexact Rounded
   226  radx325  add 12345  0.50001   -> 12345 Inexact Rounded
   227  radx326  add 12345  0.5001    -> 12345 Inexact Rounded
   228  radx327  add 12345  0.501     -> 12345 Inexact Rounded
   229  radx328  add 12345  0.51      -> 12345 Inexact Rounded
   230  radx329  add 12345  0.6       -> 12345 Inexact Rounded
   231  
   232  rounding: ceiling
   233  
   234  radx330  add 12345 -0.1       -> 12345 Inexact Rounded
   235  radx331  add 12345 -0.01      -> 12345 Inexact Rounded
   236  radx332  add 12345 -0.001     -> 12345 Inexact Rounded
   237  radx333  add 12345 -0.00001   -> 12345 Inexact Rounded
   238  radx334  add 12345 -0.000001  -> 12345 Inexact Rounded
   239  radx335  add 12345 -0.0000001 -> 12345 Inexact Rounded
   240  radx336  add 12345  0         -> 12345
   241  radx337  add 12345  0.0000001 -> 12346 Inexact Rounded
   242  radx338  add 12345  0.000001  -> 12346 Inexact Rounded
   243  radx339  add 12345  0.00001   -> 12346 Inexact Rounded
   244  radx340  add 12345  0.0001    -> 12346 Inexact Rounded
   245  radx341  add 12345  0.001     -> 12346 Inexact Rounded
   246  radx342  add 12345  0.01      -> 12346 Inexact Rounded
   247  radx343  add 12345  0.1       -> 12346 Inexact Rounded
   248  
   249  radx345  add 12346  0.49999   -> 12347 Inexact Rounded
   250  radx346  add 12346  0.5       -> 12347 Inexact Rounded
   251  radx347  add 12346  0.50001   -> 12347 Inexact Rounded
   252  
   253  radx350  add 12345  0.4       -> 12346 Inexact Rounded
   254  radx351  add 12345  0.49      -> 12346 Inexact Rounded
   255  radx352  add 12345  0.499     -> 12346 Inexact Rounded
   256  radx353  add 12345  0.49999   -> 12346 Inexact Rounded
   257  radx354  add 12345  0.5       -> 12346 Inexact Rounded
   258  radx355  add 12345  0.50001   -> 12346 Inexact Rounded
   259  radx356  add 12345  0.5001    -> 12346 Inexact Rounded
   260  radx357  add 12345  0.501     -> 12346 Inexact Rounded
   261  radx358  add 12345  0.51      -> 12346 Inexact Rounded
   262  radx359  add 12345  0.6       -> 12346 Inexact Rounded
   263  
   264  -- negatives...
   265  
   266  rounding: down
   267  
   268  rsux100  add -12345 -0.1       -> -12345 Inexact Rounded
   269  rsux101  add -12345 -0.01      -> -12345 Inexact Rounded
   270  rsux102  add -12345 -0.001     -> -12345 Inexact Rounded
   271  rsux103  add -12345 -0.00001   -> -12345 Inexact Rounded
   272  rsux104  add -12345 -0.000001  -> -12345 Inexact Rounded
   273  rsux105  add -12345 -0.0000001 -> -12345 Inexact Rounded
   274  rsux106  add -12345  0         -> -12345
   275  rsux107  add -12345  0.0000001 -> -12344 Inexact Rounded
   276  rsux108  add -12345  0.000001  -> -12344 Inexact Rounded
   277  rsux109  add -12345  0.00001   -> -12344 Inexact Rounded
   278  rsux110  add -12345  0.0001    -> -12344 Inexact Rounded
   279  rsux111  add -12345  0.001     -> -12344 Inexact Rounded
   280  rsux112  add -12345  0.01      -> -12344 Inexact Rounded
   281  rsux113  add -12345  0.1       -> -12344 Inexact Rounded
   282  
   283  rsux115  add -12346  0.49999   -> -12345 Inexact Rounded
   284  rsux116  add -12346  0.5       -> -12345 Inexact Rounded
   285  rsux117  add -12346  0.50001   -> -12345 Inexact Rounded
   286  
   287  rsux120  add -12345  0.4       -> -12344 Inexact Rounded
   288  rsux121  add -12345  0.49      -> -12344 Inexact Rounded
   289  rsux122  add -12345  0.499     -> -12344 Inexact Rounded
   290  rsux123  add -12345  0.49999   -> -12344 Inexact Rounded
   291  rsux124  add -12345  0.5       -> -12344 Inexact Rounded
   292  rsux125  add -12345  0.50001   -> -12344 Inexact Rounded
   293  rsux126  add -12345  0.5001    -> -12344 Inexact Rounded
   294  rsux127  add -12345  0.501     -> -12344 Inexact Rounded
   295  rsux128  add -12345  0.51      -> -12344 Inexact Rounded
   296  rsux129  add -12345  0.6       -> -12344 Inexact Rounded
   297  
   298  rounding: half_down
   299  
   300  rsux140  add -12345 -0.1       -> -12345 Inexact Rounded
   301  rsux141  add -12345 -0.01      -> -12345 Inexact Rounded
   302  rsux142  add -12345 -0.001     -> -12345 Inexact Rounded
   303  rsux143  add -12345 -0.00001   -> -12345 Inexact Rounded
   304  rsux144  add -12345 -0.000001  -> -12345 Inexact Rounded
   305  rsux145  add -12345 -0.0000001 -> -12345 Inexact Rounded
   306  rsux146  add -12345  0         -> -12345
   307  rsux147  add -12345  0.0000001 -> -12345 Inexact Rounded
   308  rsux148  add -12345  0.000001  -> -12345 Inexact Rounded
   309  rsux149  add -12345  0.00001   -> -12345 Inexact Rounded
   310  rsux150  add -12345  0.0001    -> -12345 Inexact Rounded
   311  rsux151  add -12345  0.001     -> -12345 Inexact Rounded
   312  rsux152  add -12345  0.01      -> -12345 Inexact Rounded
   313  rsux153  add -12345  0.1       -> -12345 Inexact Rounded
   314  
   315  rsux155  add -12346  0.49999   -> -12346 Inexact Rounded
   316  rsux156  add -12346  0.5       -> -12345 Inexact Rounded
   317  rsux157  add -12346  0.50001   -> -12345 Inexact Rounded
   318  
   319  rsux160  add -12345  0.4       -> -12345 Inexact Rounded
   320  rsux161  add -12345  0.49      -> -12345 Inexact Rounded
   321  rsux162  add -12345  0.499     -> -12345 Inexact Rounded
   322  rsux163  add -12345  0.49999   -> -12345 Inexact Rounded
   323  rsux164  add -12345  0.5       -> -12344 Inexact Rounded
   324  rsux165  add -12345  0.50001   -> -12344 Inexact Rounded
   325  rsux166  add -12345  0.5001    -> -12344 Inexact Rounded
   326  rsux167  add -12345  0.501     -> -12344 Inexact Rounded
   327  rsux168  add -12345  0.51      -> -12344 Inexact Rounded
   328  rsux169  add -12345  0.6       -> -12344 Inexact Rounded
   329  
   330  rounding: half_even
   331  
   332  rsux170  add -12345 -0.1       -> -12345 Inexact Rounded
   333  rsux171  add -12345 -0.01      -> -12345 Inexact Rounded
   334  rsux172  add -12345 -0.001     -> -12345 Inexact Rounded
   335  rsux173  add -12345 -0.00001   -> -12345 Inexact Rounded
   336  rsux174  add -12345 -0.000001  -> -12345 Inexact Rounded
   337  rsux175  add -12345 -0.0000001 -> -12345 Inexact Rounded
   338  rsux176  add -12345  0         -> -12345
   339  rsux177  add -12345  0.0000001 -> -12345 Inexact Rounded
   340  rsux178  add -12345  0.000001  -> -12345 Inexact Rounded
   341  rsux179  add -12345  0.00001   -> -12345 Inexact Rounded
   342  rsux180  add -12345  0.0001    -> -12345 Inexact Rounded
   343  rsux181  add -12345  0.001     -> -12345 Inexact Rounded
   344  rsux182  add -12345  0.01      -> -12345 Inexact Rounded
   345  rsux183  add -12345  0.1       -> -12345 Inexact Rounded
   346  
   347  rsux185  add -12346  0.49999   -> -12346 Inexact Rounded
   348  rsux186  add -12346  0.5       -> -12346 Inexact Rounded
   349  rsux187  add -12346  0.50001   -> -12345 Inexact Rounded
   350  
   351  rsux190  add -12345  0.4       -> -12345 Inexact Rounded
   352  rsux191  add -12345  0.49      -> -12345 Inexact Rounded
   353  rsux192  add -12345  0.499     -> -12345 Inexact Rounded
   354  rsux193  add -12345  0.49999   -> -12345 Inexact Rounded
   355  rsux194  add -12345  0.5       -> -12344 Inexact Rounded
   356  rsux195  add -12345  0.50001   -> -12344 Inexact Rounded
   357  rsux196  add -12345  0.5001    -> -12344 Inexact Rounded
   358  rsux197  add -12345  0.501     -> -12344 Inexact Rounded
   359  rsux198  add -12345  0.51      -> -12344 Inexact Rounded
   360  rsux199  add -12345  0.6       -> -12344 Inexact Rounded
   361  
   362  rounding: half_up
   363  
   364  rsux200  add -12345 -0.1       -> -12345 Inexact Rounded
   365  rsux201  add -12345 -0.01      -> -12345 Inexact Rounded
   366  rsux202  add -12345 -0.001     -> -12345 Inexact Rounded
   367  rsux203  add -12345 -0.00001   -> -12345 Inexact Rounded
   368  rsux204  add -12345 -0.000001  -> -12345 Inexact Rounded
   369  rsux205  add -12345 -0.0000001 -> -12345 Inexact Rounded
   370  rsux206  add -12345  0         -> -12345
   371  rsux207  add -12345  0.0000001 -> -12345 Inexact Rounded
   372  rsux208  add -12345  0.000001  -> -12345 Inexact Rounded
   373  rsux209  add -12345  0.00001   -> -12345 Inexact Rounded
   374  rsux210  add -12345  0.0001    -> -12345 Inexact Rounded
   375  rsux211  add -12345  0.001     -> -12345 Inexact Rounded
   376  rsux212  add -12345  0.01      -> -12345 Inexact Rounded
   377  rsux213  add -12345  0.1       -> -12345 Inexact Rounded
   378  
   379  rsux215  add -12346  0.49999   -> -12346 Inexact Rounded
   380  rsux216  add -12346  0.5       -> -12346 Inexact Rounded
   381  rsux217  add -12346  0.50001   -> -12345 Inexact Rounded
   382  
   383  rsux220  add -12345  0.4       -> -12345 Inexact Rounded
   384  rsux221  add -12345  0.49      -> -12345 Inexact Rounded
   385  rsux222  add -12345  0.499     -> -12345 Inexact Rounded
   386  rsux223  add -12345  0.49999   -> -12345 Inexact Rounded
   387  rsux224  add -12345  0.5       -> -12345 Inexact Rounded
   388  rsux225  add -12345  0.50001   -> -12344 Inexact Rounded
   389  rsux226  add -12345  0.5001    -> -12344 Inexact Rounded
   390  rsux227  add -12345  0.501     -> -12344 Inexact Rounded
   391  rsux228  add -12345  0.51      -> -12344 Inexact Rounded
   392  rsux229  add -12345  0.6       -> -12344 Inexact Rounded
   393  
   394  rounding: up
   395  
   396  rsux230  add -12345 -0.1       -> -12346 Inexact Rounded
   397  rsux231  add -12345 -0.01      -> -12346 Inexact Rounded
   398  rsux232  add -12345 -0.001     -> -12346 Inexact Rounded
   399  rsux233  add -12345 -0.00001   -> -12346 Inexact Rounded
   400  rsux234  add -12345 -0.000001  -> -12346 Inexact Rounded
   401  rsux235  add -12345 -0.0000001 -> -12346 Inexact Rounded
   402  rsux236  add -12345  0         -> -12345
   403  rsux237  add -12345  0.0000001 -> -12345 Inexact Rounded
   404  rsux238  add -12345  0.000001  -> -12345 Inexact Rounded
   405  rsux239  add -12345  0.00001   -> -12345 Inexact Rounded
   406  rsux240  add -12345  0.0001    -> -12345 Inexact Rounded
   407  rsux241  add -12345  0.001     -> -12345 Inexact Rounded
   408  rsux242  add -12345  0.01      -> -12345 Inexact Rounded
   409  rsux243  add -12345  0.1       -> -12345 Inexact Rounded
   410  
   411  rsux245  add -12346  0.49999   -> -12346 Inexact Rounded
   412  rsux246  add -12346  0.5       -> -12346 Inexact Rounded
   413  rsux247  add -12346  0.50001   -> -12346 Inexact Rounded
   414  
   415  rsux250  add -12345  0.4       -> -12345 Inexact Rounded
   416  rsux251  add -12345  0.49      -> -12345 Inexact Rounded
   417  rsux252  add -12345  0.499     -> -12345 Inexact Rounded
   418  rsux253  add -12345  0.49999   -> -12345 Inexact Rounded
   419  rsux254  add -12345  0.5       -> -12345 Inexact Rounded
   420  rsux255  add -12345  0.50001   -> -12345 Inexact Rounded
   421  rsux256  add -12345  0.5001    -> -12345 Inexact Rounded
   422  rsux257  add -12345  0.501     -> -12345 Inexact Rounded
   423  rsux258  add -12345  0.51      -> -12345 Inexact Rounded
   424  rsux259  add -12345  0.6       -> -12345 Inexact Rounded
   425  
   426  rounding: floor
   427  
   428  rsux300  add -12345 -0.1       -> -12346 Inexact Rounded
   429  rsux301  add -12345 -0.01      -> -12346 Inexact Rounded
   430  rsux302  add -12345 -0.001     -> -12346 Inexact Rounded
   431  rsux303  add -12345 -0.00001   -> -12346 Inexact Rounded
   432  rsux304  add -12345 -0.000001  -> -12346 Inexact Rounded
   433  rsux305  add -12345 -0.0000001 -> -12346 Inexact Rounded
   434  rsux306  add -12345  0         -> -12345
   435  rsux307  add -12345  0.0000001 -> -12345 Inexact Rounded
   436  rsux308  add -12345  0.000001  -> -12345 Inexact Rounded
   437  rsux309  add -12345  0.00001   -> -12345 Inexact Rounded
   438  rsux310  add -12345  0.0001    -> -12345 Inexact Rounded
   439  rsux311  add -12345  0.001     -> -12345 Inexact Rounded
   440  rsux312  add -12345  0.01      -> -12345 Inexact Rounded
   441  rsux313  add -12345  0.1       -> -12345 Inexact Rounded
   442  
   443  rsux315  add -12346  0.49999   -> -12346 Inexact Rounded
   444  rsux316  add -12346  0.5       -> -12346 Inexact Rounded
   445  rsux317  add -12346  0.50001   -> -12346 Inexact Rounded
   446  
   447  rsux320  add -12345  0.4       -> -12345 Inexact Rounded
   448  rsux321  add -12345  0.49      -> -12345 Inexact Rounded
   449  rsux322  add -12345  0.499     -> -12345 Inexact Rounded
   450  rsux323  add -12345  0.49999   -> -12345 Inexact Rounded
   451  rsux324  add -12345  0.5       -> -12345 Inexact Rounded
   452  rsux325  add -12345  0.50001   -> -12345 Inexact Rounded
   453  rsux326  add -12345  0.5001    -> -12345 Inexact Rounded
   454  rsux327  add -12345  0.501     -> -12345 Inexact Rounded
   455  rsux328  add -12345  0.51      -> -12345 Inexact Rounded
   456  rsux329  add -12345  0.6       -> -12345 Inexact Rounded
   457  
   458  rounding: ceiling
   459  
   460  rsux330  add -12345 -0.1       -> -12345 Inexact Rounded
   461  rsux331  add -12345 -0.01      -> -12345 Inexact Rounded
   462  rsux332  add -12345 -0.001     -> -12345 Inexact Rounded
   463  rsux333  add -12345 -0.00001   -> -12345 Inexact Rounded
   464  rsux334  add -12345 -0.000001  -> -12345 Inexact Rounded
   465  rsux335  add -12345 -0.0000001 -> -12345 Inexact Rounded
   466  rsux336  add -12345  0         -> -12345
   467  rsux337  add -12345  0.0000001 -> -12344 Inexact Rounded
   468  rsux338  add -12345  0.000001  -> -12344 Inexact Rounded
   469  rsux339  add -12345  0.00001   -> -12344 Inexact Rounded
   470  rsux340  add -12345  0.0001    -> -12344 Inexact Rounded
   471  rsux341  add -12345  0.001     -> -12344 Inexact Rounded
   472  rsux342  add -12345  0.01      -> -12344 Inexact Rounded
   473  rsux343  add -12345  0.1       -> -12344 Inexact Rounded
   474  
   475  rsux345  add -12346  0.49999   -> -12345 Inexact Rounded
   476  rsux346  add -12346  0.5       -> -12345 Inexact Rounded
   477  rsux347  add -12346  0.50001   -> -12345 Inexact Rounded
   478  
   479  rsux350  add -12345  0.4       -> -12344 Inexact Rounded
   480  rsux351  add -12345  0.49      -> -12344 Inexact Rounded
   481  rsux352  add -12345  0.499     -> -12344 Inexact Rounded
   482  rsux353  add -12345  0.49999   -> -12344 Inexact Rounded
   483  rsux354  add -12345  0.5       -> -12344 Inexact Rounded
   484  rsux355  add -12345  0.50001   -> -12344 Inexact Rounded
   485  rsux356  add -12345  0.5001    -> -12344 Inexact Rounded
   486  rsux357  add -12345  0.501     -> -12344 Inexact Rounded
   487  rsux358  add -12345  0.51      -> -12344 Inexact Rounded
   488  rsux359  add -12345  0.6       -> -12344 Inexact Rounded
   489  
   490  -- Check cancellation subtractions
   491  -- (The IEEE 854 'curious rule' in $6.3)
   492  
   493  rounding: down
   494  rzex001  add  0    0    ->  0
   495  rzex002  add  0   -0    ->  0
   496  rzex003  add -0    0    ->  0
   497  rzex004  add -0   -0    -> -0
   498  rzex005  add  1   -1    ->  0
   499  rzex006  add -1    1    ->  0
   500  rzex007  add  1.5 -1.5  ->  0.0
   501  rzex008  add -1.5  1.5  ->  0.0
   502  rzex009  add  2   -2    ->  0
   503  rzex010  add -2    2    ->  0
   504  
   505  rounding: up
   506  rzex011  add  0    0    ->  0
   507  rzex012  add  0   -0    ->  0
   508  rzex013  add -0    0    ->  0
   509  rzex014  add -0   -0    -> -0
   510  rzex015  add  1   -1    ->  0
   511  rzex016  add -1    1    ->  0
   512  rzex017  add  1.5 -1.5  ->  0.0
   513  rzex018  add -1.5  1.5  ->  0.0
   514  rzex019  add  2   -2    ->  0
   515  rzex020  add -2    2    ->  0
   516  
   517  rounding: half_up
   518  rzex021  add  0    0    ->  0
   519  rzex022  add  0   -0    ->  0
   520  rzex023  add -0    0    ->  0
   521  rzex024  add -0   -0    -> -0
   522  rzex025  add  1   -1    ->  0
   523  rzex026  add -1    1    ->  0
   524  rzex027  add  1.5 -1.5  ->  0.0
   525  rzex028  add -1.5  1.5  ->  0.0
   526  rzex029  add  2   -2    ->  0
   527  rzex030  add -2    2    ->  0
   528  
   529  rounding: half_down
   530  rzex031  add  0    0    ->  0
   531  rzex032  add  0   -0    ->  0
   532  rzex033  add -0    0    ->  0
   533  rzex034  add -0   -0    -> -0
   534  rzex035  add  1   -1    ->  0
   535  rzex036  add -1    1    ->  0
   536  rzex037  add  1.5 -1.5  ->  0.0
   537  rzex038  add -1.5  1.5  ->  0.0
   538  rzex039  add  2   -2    ->  0
   539  rzex040  add -2    2    ->  0
   540  
   541  rounding: half_even
   542  rzex041  add  0    0    ->  0
   543  rzex042  add  0   -0    ->  0
   544  rzex043  add -0    0    ->  0
   545  rzex044  add -0   -0    -> -0
   546  rzex045  add  1   -1    ->  0
   547  rzex046  add -1    1    ->  0
   548  rzex047  add  1.5 -1.5  ->  0.0
   549  rzex048  add -1.5  1.5  ->  0.0
   550  rzex049  add  2   -2    ->  0
   551  rzex050  add -2    2    ->  0
   552  
   553  rounding: floor
   554  rzex051  add  0    0    ->  0
   555  rzex052  add  0   -0    -> -0    -- here are two 'curious'
   556  rzex053  add -0    0    -> -0    --
   557  rzex054  add -0   -0    -> -0
   558  rzex055  add  1   -1    -> -0    -- here are the rest
   559  rzex056  add -1    1    -> -0    -- ..
   560  rzex057  add  1.5 -1.5  -> -0.0  -- ..
   561  rzex058  add -1.5  1.5  -> -0.0  -- ..
   562  rzex059  add  2   -2    -> -0    -- ..
   563  rzex060  add -2    2    -> -0    -- ..
   564  
   565  rounding: ceiling
   566  rzex061  add  0    0    ->  0
   567  rzex062  add  0   -0    ->  0
   568  rzex063  add -0    0    ->  0
   569  rzex064  add -0   -0    -> -0
   570  rzex065  add  1   -1    ->  0
   571  rzex066  add -1    1    ->  0
   572  rzex067  add  1.5 -1.5  ->  0.0
   573  rzex068  add -1.5  1.5  ->  0.0
   574  rzex069  add  2   -2    ->  0
   575  rzex070  add -2    2    ->  0
   576  
   577  
   578  -- Division operators -------------------------------------------------
   579  
   580  rounding: down
   581  rdvx101  divide 12345  1         ->  12345
   582  rdvx102  divide 12345  1.0001    ->  12343 Inexact Rounded
   583  rdvx103  divide 12345  1.001     ->  12332 Inexact Rounded
   584  rdvx104  divide 12345  1.01      ->  12222 Inexact Rounded
   585  rdvx105  divide 12345  1.1       ->  11222 Inexact Rounded
   586  rdvx106  divide 12355  4         ->   3088.7 Inexact Rounded
   587  rdvx107  divide 12345  4         ->   3086.2 Inexact Rounded
   588  rdvx108  divide 12355  4.0001    ->   3088.6 Inexact Rounded
   589  rdvx109  divide 12345  4.0001    ->   3086.1 Inexact Rounded
   590  rdvx110  divide 12345  4.9       ->   2519.3 Inexact Rounded
   591  rdvx111  divide 12345  4.99      ->   2473.9 Inexact Rounded
   592  rdvx112  divide 12345  4.999     ->   2469.4 Inexact Rounded
   593  rdvx113  divide 12345  4.9999    ->   2469.0 Inexact Rounded
   594  rdvx114  divide 12345  5         ->   2469
   595  rdvx115  divide 12345  5.0001    ->  2468.9 Inexact Rounded
   596  rdvx116  divide 12345  5.001     ->  2468.5 Inexact Rounded
   597  rdvx117  divide 12345  5.01      ->  2464.0 Inexact Rounded
   598  rdvx118  divide 12345  5.1       ->  2420.5 Inexact Rounded
   599  
   600  rounding: half_down
   601  rdvx201  divide 12345  1         ->  12345
   602  rdvx202  divide 12345  1.0001    ->  12344 Inexact Rounded
   603  rdvx203  divide 12345  1.001     ->  12333 Inexact Rounded
   604  rdvx204  divide 12345  1.01      ->  12223 Inexact Rounded
   605  rdvx205  divide 12345  1.1       ->  11223 Inexact Rounded
   606  rdvx206  divide 12355  4         ->   3088.7 Inexact Rounded
   607  rdvx207  divide 12345  4         ->   3086.2 Inexact Rounded
   608  rdvx208  divide 12355  4.0001    ->   3088.7 Inexact Rounded
   609  rdvx209  divide 12345  4.0001    ->   3086.2 Inexact Rounded
   610  rdvx210  divide 12345  4.9       ->   2519.4 Inexact Rounded
   611  rdvx211  divide 12345  4.99      ->   2473.9 Inexact Rounded
   612  rdvx212  divide 12345  4.999     ->   2469.5 Inexact Rounded
   613  rdvx213  divide 12345  4.9999    ->   2469.0 Inexact Rounded
   614  rdvx214  divide 12345  5         ->   2469
   615  rdvx215  divide 12345  5.0001    ->  2469.0 Inexact Rounded
   616  rdvx216  divide 12345  5.001     ->  2468.5 Inexact Rounded
   617  rdvx217  divide 12345  5.01      ->  2464.1 Inexact Rounded
   618  rdvx218  divide 12345  5.1       ->  2420.6 Inexact Rounded
   619  
   620  rounding: half_even
   621  rdvx301  divide 12345  1         ->  12345
   622  rdvx302  divide 12345  1.0001    ->  12344 Inexact Rounded
   623  rdvx303  divide 12345  1.001     ->  12333 Inexact Rounded
   624  rdvx304  divide 12345  1.01      ->  12223 Inexact Rounded
   625  rdvx305  divide 12345  1.1       ->  11223 Inexact Rounded
   626  rdvx306  divide 12355  4         ->   3088.8 Inexact Rounded
   627  rdvx307  divide 12345  4         ->   3086.2 Inexact Rounded
   628  rdvx308  divide 12355  4.0001    ->   3088.7 Inexact Rounded
   629  rdvx309  divide 12345  4.0001    ->   3086.2 Inexact Rounded
   630  rdvx310  divide 12345  4.9       ->   2519.4 Inexact Rounded
   631  rdvx311  divide 12345  4.99      ->   2473.9 Inexact Rounded
   632  rdvx312  divide 12345  4.999     ->   2469.5 Inexact Rounded
   633  rdvx313  divide 12345  4.9999    ->   2469.0 Inexact Rounded
   634  rdvx314  divide 12345  5         ->   2469
   635  rdvx315  divide 12345  5.0001    ->  2469.0 Inexact Rounded
   636  rdvx316  divide 12345  5.001     ->  2468.5 Inexact Rounded
   637  rdvx317  divide 12345  5.01      ->  2464.1 Inexact Rounded
   638  rdvx318  divide 12345  5.1       ->  2420.6 Inexact Rounded
   639  
   640  rounding: half_up
   641  rdvx401  divide 12345  1         ->  12345
   642  rdvx402  divide 12345  1.0001    ->  12344 Inexact Rounded
   643  rdvx403  divide 12345  1.001     ->  12333 Inexact Rounded
   644  rdvx404  divide 12345  1.01      ->  12223 Inexact Rounded
   645  rdvx405  divide 12345  1.1       ->  11223 Inexact Rounded
   646  rdvx406  divide 12355  4         ->   3088.8 Inexact Rounded
   647  rdvx407  divide 12345  4         ->   3086.3 Inexact Rounded
   648  rdvx408  divide 12355  4.0001    ->   3088.7 Inexact Rounded
   649  rdvx409  divide 12345  4.0001    ->   3086.2 Inexact Rounded
   650  rdvx410  divide 12345  4.9       ->   2519.4 Inexact Rounded
   651  rdvx411  divide 12345  4.99      ->   2473.9 Inexact Rounded
   652  rdvx412  divide 12345  4.999     ->   2469.5 Inexact Rounded
   653  rdvx413  divide 12345  4.9999    ->   2469.0 Inexact Rounded
   654  rdvx414  divide 12345  5         ->   2469
   655  rdvx415  divide 12345  5.0001    ->  2469.0 Inexact Rounded
   656  rdvx416  divide 12345  5.001     ->  2468.5 Inexact Rounded
   657  rdvx417  divide 12345  5.01      ->  2464.1 Inexact Rounded
   658  rdvx418  divide 12345  5.1       ->  2420.6 Inexact Rounded
   659  
   660  rounding: up
   661  rdvx501  divide 12345  1         ->  12345
   662  rdvx502  divide 12345  1.0001    ->  12344 Inexact Rounded
   663  rdvx503  divide 12345  1.001     ->  12333 Inexact Rounded
   664  rdvx504  divide 12345  1.01      ->  12223 Inexact Rounded
   665  rdvx505  divide 12345  1.1       ->  11223 Inexact Rounded
   666  rdvx506  divide 12355  4         ->   3088.8 Inexact Rounded
   667  rdvx507  divide 12345  4         ->   3086.3 Inexact Rounded
   668  rdvx508  divide 12355  4.0001    ->   3088.7 Inexact Rounded
   669  rdvx509  divide 12345  4.0001    ->   3086.2 Inexact Rounded
   670  rdvx510  divide 12345  4.9       ->   2519.4 Inexact Rounded
   671  rdvx511  divide 12345  4.99      ->   2474.0 Inexact Rounded
   672  rdvx512  divide 12345  4.999     ->   2469.5 Inexact Rounded
   673  rdvx513  divide 12345  4.9999    ->   2469.1 Inexact Rounded
   674  rdvx514  divide 12345  5         ->   2469
   675  rdvx515  divide 12345  5.0001    ->  2469.0 Inexact Rounded
   676  rdvx516  divide 12345  5.001     ->  2468.6 Inexact Rounded
   677  rdvx517  divide 12345  5.01      ->  2464.1 Inexact Rounded
   678  rdvx518  divide 12345  5.1       ->  2420.6 Inexact Rounded
   679  
   680  rounding: floor
   681  rdvx601  divide 12345  1         ->  12345
   682  rdvx602  divide 12345  1.0001    ->  12343 Inexact Rounded
   683  rdvx603  divide 12345  1.001     ->  12332 Inexact Rounded
   684  rdvx604  divide 12345  1.01      ->  12222 Inexact Rounded
   685  rdvx605  divide 12345  1.1       ->  11222 Inexact Rounded
   686  rdvx606  divide 12355  4         ->   3088.7 Inexact Rounded
   687  rdvx607  divide 12345  4         ->   3086.2 Inexact Rounded
   688  rdvx608  divide 12355  4.0001    ->   3088.6 Inexact Rounded
   689  rdvx609  divide 12345  4.0001    ->   3086.1 Inexact Rounded
   690  rdvx610  divide 12345  4.9       ->   2519.3 Inexact Rounded
   691  rdvx611  divide 12345  4.99      ->   2473.9 Inexact Rounded
   692  rdvx612  divide 12345  4.999     ->   2469.4 Inexact Rounded
   693  rdvx613  divide 12345  4.9999    ->   2469.0 Inexact Rounded
   694  rdvx614  divide 12345  5         ->   2469
   695  rdvx615  divide 12345  5.0001    ->  2468.9 Inexact Rounded
   696  rdvx616  divide 12345  5.001     ->  2468.5 Inexact Rounded
   697  rdvx617  divide 12345  5.01      ->  2464.0 Inexact Rounded
   698  rdvx618  divide 12345  5.1       ->  2420.5 Inexact Rounded
   699  
   700  rounding: ceiling
   701  rdvx701  divide 12345  1         ->  12345
   702  rdvx702  divide 12345  1.0001    ->  12344 Inexact Rounded
   703  rdvx703  divide 12345  1.001     ->  12333 Inexact Rounded
   704  rdvx704  divide 12345  1.01      ->  12223 Inexact Rounded
   705  rdvx705  divide 12345  1.1       ->  11223 Inexact Rounded
   706  rdvx706  divide 12355  4         ->   3088.8 Inexact Rounded
   707  rdvx707  divide 12345  4         ->   3086.3 Inexact Rounded
   708  rdvx708  divide 12355  4.0001    ->   3088.7 Inexact Rounded
   709  rdvx709  divide 12345  4.0001    ->   3086.2 Inexact Rounded
   710  rdvx710  divide 12345  4.9       ->   2519.4 Inexact Rounded
   711  rdvx711  divide 12345  4.99      ->   2474.0 Inexact Rounded
   712  rdvx712  divide 12345  4.999     ->   2469.5 Inexact Rounded
   713  rdvx713  divide 12345  4.9999    ->   2469.1 Inexact Rounded
   714  rdvx714  divide 12345  5         ->   2469
   715  rdvx715  divide 12345  5.0001    ->  2469.0 Inexact Rounded
   716  rdvx716  divide 12345  5.001     ->  2468.6 Inexact Rounded
   717  rdvx717  divide 12345  5.01      ->  2464.1 Inexact Rounded
   718  rdvx718  divide 12345  5.1       ->  2420.6 Inexact Rounded
   719  
   720  -- [divideInteger and remainder unaffected]
   721  
   722  -- Multiplication operator --------------------------------------------
   723  
   724  rounding: down
   725  rmux101  multiply 12345  1         ->  12345
   726  rmux102  multiply 12345  1.0001    ->  12346 Inexact Rounded
   727  rmux103  multiply 12345  1.001     ->  12357 Inexact Rounded
   728  rmux104  multiply 12345  1.01      ->  12468 Inexact Rounded
   729  rmux105  multiply 12345  1.1       ->  13579 Inexact Rounded
   730  rmux106  multiply 12345  4         ->  49380
   731  rmux107  multiply 12345  4.0001    ->  49381 Inexact Rounded
   732  rmux108  multiply 12345  4.9       ->  60490 Inexact Rounded
   733  rmux109  multiply 12345  4.99      ->  61601 Inexact Rounded
   734  rmux110  multiply 12345  4.999     ->  61712 Inexact Rounded
   735  rmux111  multiply 12345  4.9999    ->  61723 Inexact Rounded
   736  rmux112  multiply 12345  5         ->  61725
   737  rmux113  multiply 12345  5.0001    ->  61726 Inexact Rounded
   738  rmux114  multiply 12345  5.001     ->  61737 Inexact Rounded
   739  rmux115  multiply 12345  5.01      ->  61848 Inexact Rounded
   740  rmux116  multiply 12345  12        ->  1.4814E+5 Rounded
   741  rmux117  multiply 12345  13        ->  1.6048E+5 Inexact Rounded
   742  rmux118  multiply 12355  12        ->  1.4826E+5 Rounded
   743  rmux119  multiply 12355  13        ->  1.6061E+5 Inexact Rounded
   744  
   745  rounding: half_down
   746  rmux201  multiply 12345  1         ->  12345
   747  rmux202  multiply 12345  1.0001    ->  12346 Inexact Rounded
   748  rmux203  multiply 12345  1.001     ->  12357 Inexact Rounded
   749  rmux204  multiply 12345  1.01      ->  12468 Inexact Rounded
   750  rmux205  multiply 12345  1.1       ->  13579 Inexact Rounded
   751  rmux206  multiply 12345  4         ->  49380
   752  rmux207  multiply 12345  4.0001    ->  49381 Inexact Rounded
   753  rmux208  multiply 12345  4.9       ->  60490 Inexact Rounded
   754  rmux209  multiply 12345  4.99      ->  61602 Inexact Rounded
   755  rmux210  multiply 12345  4.999     ->  61713 Inexact Rounded
   756  rmux211  multiply 12345  4.9999    ->  61724 Inexact Rounded
   757  rmux212  multiply 12345  5         ->  61725
   758  rmux213  multiply 12345  5.0001    ->  61726 Inexact Rounded
   759  rmux214  multiply 12345  5.001     ->  61737 Inexact Rounded
   760  rmux215  multiply 12345  5.01      ->  61848 Inexact Rounded
   761  rmux216  multiply 12345  12        ->  1.4814E+5 Rounded
   762  rmux217  multiply 12345  13        ->  1.6048E+5 Inexact Rounded
   763  rmux218  multiply 12355  12        ->  1.4826E+5 Rounded
   764  rmux219  multiply 12355  13        ->  1.6061E+5 Inexact Rounded
   765  
   766  rounding: half_even
   767  rmux301  multiply 12345  1         ->  12345
   768  rmux302  multiply 12345  1.0001    ->  12346 Inexact Rounded
   769  rmux303  multiply 12345  1.001     ->  12357 Inexact Rounded
   770  rmux304  multiply 12345  1.01      ->  12468 Inexact Rounded
   771  rmux305  multiply 12345  1.1       ->  13580 Inexact Rounded
   772  rmux306  multiply 12345  4         ->  49380
   773  rmux307  multiply 12345  4.0001    ->  49381 Inexact Rounded
   774  rmux308  multiply 12345  4.9       ->  60490 Inexact Rounded
   775  rmux309  multiply 12345  4.99      ->  61602 Inexact Rounded
   776  rmux310  multiply 12345  4.999     ->  61713 Inexact Rounded
   777  rmux311  multiply 12345  4.9999    ->  61724 Inexact Rounded
   778  rmux312  multiply 12345  5         ->  61725
   779  rmux313  multiply 12345  5.0001    ->  61726 Inexact Rounded
   780  rmux314  multiply 12345  5.001     ->  61737 Inexact Rounded
   781  rmux315  multiply 12345  5.01      ->  61848 Inexact Rounded
   782  rmux316  multiply 12345  12        ->  1.4814E+5 Rounded
   783  rmux317  multiply 12345  13        ->  1.6048E+5 Inexact Rounded
   784  rmux318  multiply 12355  12        ->  1.4826E+5 Rounded
   785  rmux319  multiply 12355  13        ->  1.6062E+5 Inexact Rounded
   786  
   787  rounding: half_up
   788  rmux401  multiply 12345  1         ->  12345
   789  rmux402  multiply 12345  1.0001    ->  12346 Inexact Rounded
   790  rmux403  multiply 12345  1.001     ->  12357 Inexact Rounded
   791  rmux404  multiply 12345  1.01      ->  12468 Inexact Rounded
   792  rmux405  multiply 12345  1.1       ->  13580 Inexact Rounded
   793  rmux406  multiply 12345  4         ->  49380
   794  rmux407  multiply 12345  4.0001    ->  49381 Inexact Rounded
   795  rmux408  multiply 12345  4.9       ->  60491 Inexact Rounded
   796  rmux409  multiply 12345  4.99      ->  61602 Inexact Rounded
   797  rmux410  multiply 12345  4.999     ->  61713 Inexact Rounded
   798  rmux411  multiply 12345  4.9999    ->  61724 Inexact Rounded
   799  rmux412  multiply 12345  5         ->  61725
   800  rmux413  multiply 12345  5.0001    ->  61726 Inexact Rounded
   801  rmux414  multiply 12345  5.001     ->  61737 Inexact Rounded
   802  rmux415  multiply 12345  5.01      ->  61848 Inexact Rounded
   803  rmux416  multiply 12345  12        ->  1.4814E+5 Rounded
   804  rmux417  multiply 12345  13        ->  1.6049E+5 Inexact Rounded
   805  rmux418  multiply 12355  12        ->  1.4826E+5 Rounded
   806  rmux419  multiply 12355  13        ->  1.6062E+5 Inexact Rounded
   807  
   808  rounding: up
   809  rmux501  multiply 12345  1         ->  12345
   810  rmux502  multiply 12345  1.0001    ->  12347 Inexact Rounded
   811  rmux503  multiply 12345  1.001     ->  12358 Inexact Rounded
   812  rmux504  multiply 12345  1.01      ->  12469 Inexact Rounded
   813  rmux505  multiply 12345  1.1       ->  13580 Inexact Rounded
   814  rmux506  multiply 12345  4         ->  49380
   815  rmux507  multiply 12345  4.0001    ->  49382 Inexact Rounded
   816  rmux508  multiply 12345  4.9       ->  60491 Inexact Rounded
   817  rmux509  multiply 12345  4.99      ->  61602 Inexact Rounded
   818  rmux510  multiply 12345  4.999     ->  61713 Inexact Rounded
   819  rmux511  multiply 12345  4.9999    ->  61724 Inexact Rounded
   820  rmux512  multiply 12345  5         ->  61725
   821  rmux513  multiply 12345  5.0001    ->  61727 Inexact Rounded
   822  rmux514  multiply 12345  5.001     ->  61738 Inexact Rounded
   823  rmux515  multiply 12345  5.01      ->  61849 Inexact Rounded
   824  rmux516  multiply 12345  12        ->  1.4814E+5 Rounded
   825  rmux517  multiply 12345  13        ->  1.6049E+5 Inexact Rounded
   826  rmux518  multiply 12355  12        ->  1.4826E+5 Rounded
   827  rmux519  multiply 12355  13        ->  1.6062E+5 Inexact Rounded
   828  -- [rmux516 & rmux518] can surprise
   829  
   830  rounding: floor
   831  rmux601  multiply 12345  1         ->  12345
   832  rmux602  multiply 12345  1.0001    ->  12346 Inexact Rounded
   833  rmux603  multiply 12345  1.001     ->  12357 Inexact Rounded
   834  rmux604  multiply 12345  1.01      ->  12468 Inexact Rounded
   835  rmux605  multiply 12345  1.1       ->  13579 Inexact Rounded
   836  rmux606  multiply 12345  4         ->  49380
   837  rmux607  multiply 12345  4.0001    ->  49381 Inexact Rounded
   838  rmux608  multiply 12345  4.9       ->  60490 Inexact Rounded
   839  rmux609  multiply 12345  4.99      ->  61601 Inexact Rounded
   840  rmux610  multiply 12345  4.999     ->  61712 Inexact Rounded
   841  rmux611  multiply 12345  4.9999    ->  61723 Inexact Rounded
   842  rmux612  multiply 12345  5         ->  61725
   843  rmux613  multiply 12345  5.0001    ->  61726 Inexact Rounded
   844  rmux614  multiply 12345  5.001     ->  61737 Inexact Rounded
   845  rmux615  multiply 12345  5.01      ->  61848 Inexact Rounded
   846  rmux616  multiply 12345  12        ->  1.4814E+5 Rounded
   847  rmux617  multiply 12345  13        ->  1.6048E+5 Inexact Rounded
   848  rmux618  multiply 12355  12        ->  1.4826E+5 Rounded
   849  rmux619  multiply 12355  13        ->  1.6061E+5 Inexact Rounded
   850  
   851  rounding: ceiling
   852  rmux701  multiply 12345  1         ->  12345
   853  rmux702  multiply 12345  1.0001    ->  12347 Inexact Rounded
   854  rmux703  multiply 12345  1.001     ->  12358 Inexact Rounded
   855  rmux704  multiply 12345  1.01      ->  12469 Inexact Rounded
   856  rmux705  multiply 12345  1.1       ->  13580 Inexact Rounded
   857  rmux706  multiply 12345  4         ->  49380
   858  rmux707  multiply 12345  4.0001    ->  49382 Inexact Rounded
   859  rmux708  multiply 12345  4.9       ->  60491 Inexact Rounded
   860  rmux709  multiply 12345  4.99      ->  61602 Inexact Rounded
   861  rmux710  multiply 12345  4.999     ->  61713 Inexact Rounded
   862  rmux711  multiply 12345  4.9999    ->  61724 Inexact Rounded
   863  rmux712  multiply 12345  5         ->  61725
   864  rmux713  multiply 12345  5.0001    ->  61727 Inexact Rounded
   865  rmux714  multiply 12345  5.001     ->  61738 Inexact Rounded
   866  rmux715  multiply 12345  5.01      ->  61849 Inexact Rounded
   867  rmux716  multiply 12345  12        ->  1.4814E+5 Rounded
   868  rmux717  multiply 12345  13        ->  1.6049E+5 Inexact Rounded
   869  rmux718  multiply 12355  12        ->  1.4826E+5 Rounded
   870  rmux719  multiply 12355  13        ->  1.6062E+5 Inexact Rounded
   871  
   872  -- Power operator -----------------------------------------------------
   873  
   874  rounding: down
   875  rpox101  power 12345  -5        ->  3.4877E-21 Inexact Rounded
   876  rpox102  power 12345  -4        ->  4.3056E-17 Inexact Rounded
   877  rpox103  power 12345  -3        ->  5.3152E-13 Inexact Rounded
   878  rpox104  power 12345  -2        ->  6.5617E-9 Inexact Rounded
   879  rpox105  power 12345  -1        ->  0.000081004 Inexact Rounded
   880  rpox106  power 12345  0         ->  1
   881  rpox107  power 12345  1         ->  12345
   882  rpox108  power 12345  2         ->  1.5239E+8 Inexact Rounded
   883  rpox109  power 12345  3         ->  1.8813E+12 Inexact Rounded
   884  rpox110  power 12345  4         ->  2.3225E+16 Inexact Rounded
   885  rpox111  power 12345  5         ->  2.8671E+20 Inexact Rounded
   886  rpox112  power   415  2         ->  1.7222E+5 Inexact Rounded
   887  rpox113  power    75  3         ->  4.2187E+5 Inexact Rounded
   888  
   889  rounding: half_down
   890  rpox201  power 12345  -5        ->  3.4877E-21 Inexact Rounded
   891  rpox202  power 12345  -4        ->  4.3056E-17 Inexact Rounded
   892  rpox203  power 12345  -3        ->  5.3153E-13 Inexact Rounded
   893  rpox204  power 12345  -2        ->  6.5617E-9 Inexact Rounded
   894  rpox205  power 12345  -1        ->  0.000081004 Inexact Rounded
   895  rpox206  power 12345  0         ->  1
   896  rpox207  power 12345  1         ->  12345
   897  rpox208  power 12345  2         ->  1.5240E+8 Inexact Rounded
   898  rpox209  power 12345  3         ->  1.8814E+12 Inexact Rounded
   899  rpox210  power 12345  4         ->  2.3225E+16 Inexact Rounded
   900  rpox211  power 12345  5         ->  2.8672E+20 Inexact Rounded
   901  rpox212  power   415  2         ->  1.7222E+5 Inexact Rounded
   902  rpox213  power    75  3         ->  4.2187E+5 Inexact Rounded
   903  
   904  rounding: half_even
   905  rpox301  power 12345  -5        ->  3.4877E-21 Inexact Rounded
   906  rpox302  power 12345  -4        ->  4.3056E-17 Inexact Rounded
   907  rpox303  power 12345  -3        ->  5.3153E-13 Inexact Rounded
   908  rpox304  power 12345  -2        ->  6.5617E-9 Inexact Rounded
   909  rpox305  power 12345  -1        ->  0.000081004 Inexact Rounded
   910  rpox306  power 12345  0         ->  1
   911  rpox307  power 12345  1         ->  12345
   912  rpox308  power 12345  2         ->  1.5240E+8 Inexact Rounded
   913  rpox309  power 12345  3         ->  1.8814E+12 Inexact Rounded
   914  rpox310  power 12345  4         ->  2.3225E+16 Inexact Rounded
   915  rpox311  power 12345  5         ->  2.8672E+20 Inexact Rounded
   916  rpox312  power   415  2         ->  1.7222E+5 Inexact Rounded
   917  rpox313  power    75  3         ->  4.2188E+5 Inexact Rounded
   918  
   919  rounding: half_up
   920  rpox401  power 12345  -5        ->  3.4877E-21 Inexact Rounded
   921  rpox402  power 12345  -4        ->  4.3056E-17 Inexact Rounded
   922  rpox403  power 12345  -3        ->  5.3153E-13 Inexact Rounded
   923  rpox404  power 12345  -2        ->  6.5617E-9 Inexact Rounded
   924  rpox405  power 12345  -1        ->  0.000081004 Inexact Rounded
   925  rpox406  power 12345  0         ->  1
   926  rpox407  power 12345  1         ->  12345
   927  rpox408  power 12345  2         ->  1.5240E+8 Inexact Rounded
   928  rpox409  power 12345  3         ->  1.8814E+12 Inexact Rounded
   929  rpox410  power 12345  4         ->  2.3225E+16 Inexact Rounded
   930  rpox411  power 12345  5         ->  2.8672E+20 Inexact Rounded
   931  rpox412  power   415  2         ->  1.7223E+5 Inexact Rounded
   932  rpox413  power    75  3         ->  4.2188E+5 Inexact Rounded
   933  
   934  rounding: up
   935  rpox501  power 12345  -5        ->  3.4878E-21 Inexact Rounded
   936  rpox502  power 12345  -4        ->  4.3057E-17 Inexact Rounded
   937  rpox503  power 12345  -3        ->  5.3153E-13 Inexact Rounded
   938  rpox504  power 12345  -2        ->  6.5618E-9 Inexact Rounded
   939  rpox505  power 12345  -1        ->  0.000081005 Inexact Rounded
   940  rpox506  power 12345  0         ->  1
   941  rpox507  power 12345  1         ->  12345
   942  rpox508  power 12345  2         ->  1.5240E+8 Inexact Rounded
   943  rpox509  power 12345  3         ->  1.8814E+12 Inexact Rounded
   944  rpox510  power 12345  4         ->  2.3226E+16 Inexact Rounded
   945  rpox511  power 12345  5         ->  2.8672E+20 Inexact Rounded
   946  rpox512  power   415  2         ->  1.7223E+5 Inexact Rounded
   947  rpox513  power    75  3         ->  4.2188E+5 Inexact Rounded
   948  
   949  rounding: floor
   950  rpox601  power 12345  -5        ->  3.4877E-21 Inexact Rounded
   951  rpox602  power 12345  -4        ->  4.3056E-17 Inexact Rounded
   952  rpox603  power 12345  -3        ->  5.3152E-13 Inexact Rounded
   953  rpox604  power 12345  -2        ->  6.5617E-9 Inexact Rounded
   954  rpox605  power 12345  -1        ->  0.000081004 Inexact Rounded
   955  rpox606  power 12345  0         ->  1
   956  rpox607  power 12345  1         ->  12345
   957  rpox608  power 12345  2         ->  1.5239E+8 Inexact Rounded
   958  rpox609  power 12345  3         ->  1.8813E+12 Inexact Rounded
   959  rpox610  power 12345  4         ->  2.3225E+16 Inexact Rounded
   960  rpox611  power 12345  5         ->  2.8671E+20 Inexact Rounded
   961  rpox612  power   415  2         ->  1.7222E+5 Inexact Rounded
   962  rpox613  power    75  3         ->  4.2187E+5 Inexact Rounded
   963  
   964  rounding: ceiling
   965  rpox701  power 12345  -5        ->  3.4878E-21 Inexact Rounded
   966  rpox702  power 12345  -4        ->  4.3057E-17 Inexact Rounded
   967  rpox703  power 12345  -3        ->  5.3153E-13 Inexact Rounded
   968  rpox704  power 12345  -2        ->  6.5618E-9 Inexact Rounded
   969  rpox705  power 12345  -1        ->  0.000081005 Inexact Rounded
   970  rpox706  power 12345  0         ->  1
   971  rpox707  power 12345  1         ->  12345
   972  rpox708  power 12345  2         ->  1.5240E+8 Inexact Rounded
   973  rpox709  power 12345  3         ->  1.8814E+12 Inexact Rounded
   974  rpox710  power 12345  4         ->  2.3226E+16 Inexact Rounded
   975  rpox711  power 12345  5         ->  2.8672E+20 Inexact Rounded
   976  rpox712  power   415  2         ->  1.7223E+5 Inexact Rounded
   977  rpox713  power    75  3         ->  4.2188E+5 Inexact Rounded
   978  
   979  -- Underflow Subnormal and overflow values vary with rounding mode and sign
   980  maxexponent: 999999999
   981  minexponent: -999999999
   982  rounding: down
   983  rovx100  multiply   10    9E+999999999 ->  9.9999E+999999999 Overflow Inexact Rounded
   984  rovx101  multiply  -10    9E+999999999 -> -9.9999E+999999999 Overflow Inexact Rounded
   985  rovx102  divide     1E-9  9E+999999999 ->  0E-1000000003 Underflow Subnormal Inexact Rounded Clamped
   986  rovx104  divide    -1E-9  9E+999999999 -> -0E-1000000003 Underflow Subnormal Inexact Rounded Clamped
   987  
   988  rounding: up
   989  rovx110  multiply   10    9E+999999999 ->  Infinity Overflow Inexact Rounded
   990  rovx111  multiply  -10    9E+999999999 -> -Infinity Overflow Inexact Rounded
   991  rovx112  divide     1E-9  9E+999999999 ->  1E-1000000003 Underflow Subnormal Inexact Rounded
   992  rovx114  divide    -1E-9  9E+999999999 -> -1E-1000000003 Underflow Subnormal Inexact Rounded
   993  
   994  rounding: ceiling
   995  rovx120  multiply   10    9E+999999999 ->  Infinity Overflow Inexact Rounded
   996  rovx121  multiply  -10    9E+999999999 -> -9.9999E+999999999 Overflow Inexact Rounded
   997  rovx122  divide     1E-9  9E+999999999 ->  1E-1000000003 Underflow Subnormal Inexact Rounded
   998  rovx124  divide    -1E-9  9E+999999999 -> -0E-1000000003 Underflow Subnormal Inexact Rounded Clamped
   999  
  1000  rounding: floor
  1001  rovx130  multiply   10    9E+999999999 ->  9.9999E+999999999 Overflow Inexact Rounded
  1002  rovx131  multiply  -10    9E+999999999 -> -Infinity Overflow Inexact Rounded
  1003  rovx132  divide     1E-9  9E+999999999 ->  0E-1000000003 Underflow Subnormal Inexact Rounded Clamped
  1004  rovx134  divide    -1E-9  9E+999999999 -> -1E-1000000003 Underflow Subnormal Inexact Rounded
  1005  
  1006  rounding: half_up
  1007  rovx140  multiply   10    9E+999999999 ->  Infinity Overflow Inexact Rounded
  1008  rovx141  multiply  -10    9E+999999999 -> -Infinity Overflow Inexact Rounded
  1009  rovx142  divide     1E-9  9E+999999999 ->  0E-1000000003 Underflow Subnormal Inexact Rounded Clamped
  1010  rovx144  divide    -1E-9  9E+999999999 -> -0E-1000000003 Underflow Subnormal Inexact Rounded Clamped
  1011  
  1012  rounding: half_even
  1013  rovx150  multiply   10    9E+999999999 ->  Infinity Overflow Inexact Rounded
  1014  rovx151  multiply  -10    9E+999999999 -> -Infinity Overflow Inexact Rounded
  1015  rovx152  divide     1E-9  9E+999999999 ->  0E-1000000003 Underflow Subnormal Inexact Rounded Clamped
  1016  rovx154  divide    -1E-9  9E+999999999 -> -0E-1000000003 Underflow Subnormal Inexact Rounded Clamped
  1017  
  1018  rounding: half_down
  1019  rovx160  multiply   10    9E+999999999 ->  Infinity Overflow Inexact Rounded
  1020  rovx161  multiply  -10    9E+999999999 -> -Infinity Overflow Inexact Rounded
  1021  rovx162  divide     1E-9  9E+999999999 ->  0E-1000000003 Underflow Subnormal Inexact Rounded Clamped
  1022  rovx164  divide    -1E-9  9E+999999999 -> -0E-1000000003 Underflow Subnormal Inexact Rounded Clamped
  1023  
  1024  -- check maximum finite value over a range of precisions
  1025  rounding: down
  1026  precision: 1
  1027  rovx200  multiply   10    9E+999999999 ->  9E+999999999 Overflow Inexact Rounded
  1028  rovx201  multiply  -10    9E+999999999 -> -9E+999999999 Overflow Inexact Rounded
  1029  precision: 2
  1030  rovx210  multiply   10    9E+999999999 ->  9.9E+999999999 Overflow Inexact Rounded
  1031  rovx211  multiply  -10    9E+999999999 -> -9.9E+999999999 Overflow Inexact Rounded
  1032  precision: 3
  1033  rovx220  multiply   10    9E+999999999 ->  9.99E+999999999 Overflow Inexact Rounded
  1034  rovx221  multiply  -10    9E+999999999 -> -9.99E+999999999 Overflow Inexact Rounded
  1035  precision: 4
  1036  rovx230  multiply   10    9E+999999999 ->  9.999E+999999999 Overflow Inexact Rounded
  1037  rovx231  multiply  -10    9E+999999999 -> -9.999E+999999999 Overflow Inexact Rounded
  1038  precision: 5
  1039  rovx240  multiply   10    9E+999999999 ->  9.9999E+999999999 Overflow Inexact Rounded
  1040  rovx241  multiply  -10    9E+999999999 -> -9.9999E+999999999 Overflow Inexact Rounded
  1041  precision: 6
  1042  rovx250  multiply   10    9E+999999999 ->  9.99999E+999999999 Overflow Inexact Rounded
  1043  rovx251  multiply  -10    9E+999999999 -> -9.99999E+999999999 Overflow Inexact Rounded
  1044  precision: 7
  1045  rovx260  multiply   10    9E+999999999 ->  9.999999E+999999999 Overflow Inexact Rounded
  1046  rovx261  multiply  -10    9E+999999999 -> -9.999999E+999999999 Overflow Inexact Rounded
  1047  precision: 8
  1048  rovx270  multiply   10    9E+999999999 ->  9.9999999E+999999999 Overflow Inexact Rounded
  1049  rovx271  multiply  -10    9E+999999999 -> -9.9999999E+999999999 Overflow Inexact Rounded
  1050  precision: 9
  1051  rovx280  multiply   10    9E+999999999 ->  9.99999999E+999999999 Overflow Inexact Rounded
  1052  rovx281  multiply  -10    9E+999999999 -> -9.99999999E+999999999 Overflow Inexact Rounded
  1053  precision: 10
  1054  rovx290  multiply   10    9E+999999999 ->  9.999999999E+999999999 Overflow Inexact Rounded
  1055  rovx291  multiply  -10    9E+999999999 -> -9.999999999E+999999999 Overflow Inexact Rounded
  1056  
  1057  -- reprise rounding mode effect (using multiplies so precision directive used)
  1058  precision: 9
  1059  maxexponent: 999999999
  1060  rounding: half_up
  1061  rmex400 multiply -9.999E+999999999 10 -> -Infinity Overflow Inexact Rounded
  1062  rmex401 multiply  9.999E+999999999 10 ->  Infinity Overflow Inexact Rounded
  1063  rounding: half_down
  1064  rmex402 multiply -9.999E+999999999 10 -> -Infinity Overflow Inexact Rounded
  1065  rmex403 multiply  9.999E+999999999 10 ->  Infinity Overflow Inexact Rounded
  1066  rounding: half_even
  1067  rmex404 multiply -9.999E+999999999 10 -> -Infinity Overflow Inexact Rounded
  1068  rmex405 multiply  9.999E+999999999 10 ->  Infinity Overflow Inexact Rounded
  1069  rounding: floor
  1070  rmex406 multiply -9.999E+999999999 10 -> -Infinity Overflow Inexact Rounded
  1071  rmex407 multiply  9.999E+999999999 10 ->  9.99999999E+999999999 Overflow Inexact Rounded
  1072  rounding: ceiling
  1073  rmex408 multiply -9.999E+999999999 10 -> -9.99999999E+999999999 Overflow Inexact Rounded
  1074  rmex409 multiply  9.999E+999999999 10 ->  Infinity Overflow Inexact Rounded
  1075  rounding: up
  1076  rmex410 multiply -9.999E+999999999 10 -> -Infinity Overflow Inexact Rounded
  1077  rmex411 multiply  9.999E+999999999 10 ->  Infinity Overflow Inexact Rounded
  1078  rounding: down
  1079  rmex412 multiply -9.999E+999999999 10 -> -9.99999999E+999999999 Overflow Inexact Rounded
  1080  rmex413 multiply  9.999E+999999999 10 ->  9.99999999E+999999999 Overflow Inexact Rounded
  1081  
  1082  ----- Round-for-reround -----
  1083  rounding:    05up
  1084  precision:   5           -- for easier visual inspection
  1085  maxExponent: 999
  1086  minexponent: -999
  1087  
  1088  -- basic rounding; really is just 0 and 5 up
  1089  r05up001 add 12340  0.001     -> 12341 Inexact Rounded
  1090  r05up002 add 12341  0.001     -> 12341 Inexact Rounded
  1091  r05up003 add 12342  0.001     -> 12342 Inexact Rounded
  1092  r05up004 add 12343  0.001     -> 12343 Inexact Rounded
  1093  r05up005 add 12344  0.001     -> 12344 Inexact Rounded
  1094  r05up006 add 12345  0.001     -> 12346 Inexact Rounded
  1095  r05up007 add 12346  0.001     -> 12346 Inexact Rounded
  1096  r05up008 add 12347  0.001     -> 12347 Inexact Rounded
  1097  r05up009 add 12348  0.001     -> 12348 Inexact Rounded
  1098  r05up010 add 12349  0.001     -> 12349 Inexact Rounded
  1099  
  1100  r05up011 add 12340  0.000     -> 12340 Rounded
  1101  r05up012 add 12341  0.000     -> 12341 Rounded
  1102  r05up013 add 12342  0.000     -> 12342 Rounded
  1103  r05up014 add 12343  0.000     -> 12343 Rounded
  1104  r05up015 add 12344  0.000     -> 12344 Rounded
  1105  r05up016 add 12345  0.000     -> 12345 Rounded
  1106  r05up017 add 12346  0.000     -> 12346 Rounded
  1107  r05up018 add 12347  0.000     -> 12347 Rounded
  1108  r05up019 add 12348  0.000     -> 12348 Rounded
  1109  r05up020 add 12349  0.000     -> 12349 Rounded
  1110  
  1111  r05up021 add 12340  0.901     -> 12341 Inexact Rounded
  1112  r05up022 add 12341  0.901     -> 12341 Inexact Rounded
  1113  r05up023 add 12342  0.901     -> 12342 Inexact Rounded
  1114  r05up024 add 12343  0.901     -> 12343 Inexact Rounded
  1115  r05up025 add 12344  0.901     -> 12344 Inexact Rounded
  1116  r05up026 add 12345  0.901     -> 12346 Inexact Rounded
  1117  r05up027 add 12346  0.901     -> 12346 Inexact Rounded
  1118  r05up028 add 12347  0.901     -> 12347 Inexact Rounded
  1119  r05up029 add 12348  0.901     -> 12348 Inexact Rounded
  1120  r05up030 add 12349  0.901     -> 12349 Inexact Rounded
  1121  
  1122  r05up031 add -12340  -0.001     -> -12341 Inexact Rounded
  1123  r05up032 add -12341  -0.001     -> -12341 Inexact Rounded
  1124  r05up033 add -12342  -0.001     -> -12342 Inexact Rounded
  1125  r05up034 add -12343  -0.001     -> -12343 Inexact Rounded
  1126  r05up035 add -12344  -0.001     -> -12344 Inexact Rounded
  1127  r05up036 add -12345  -0.001     -> -12346 Inexact Rounded
  1128  r05up037 add -12346  -0.001     -> -12346 Inexact Rounded
  1129  r05up038 add -12347  -0.001     -> -12347 Inexact Rounded
  1130  r05up039 add -12348  -0.001     -> -12348 Inexact Rounded
  1131  r05up040 add -12349  -0.001     -> -12349 Inexact Rounded
  1132  
  1133  r05up041 add -12340   0.001     -> -12339 Inexact Rounded
  1134  r05up042 add -12341   0.001     -> -12341 Inexact Rounded
  1135  r05up043 add -12342   0.001     -> -12341 Inexact Rounded
  1136  r05up044 add -12343   0.001     -> -12342 Inexact Rounded
  1137  r05up045 add -12344   0.001     -> -12343 Inexact Rounded
  1138  r05up046 add -12345   0.001     -> -12344 Inexact Rounded
  1139  r05up047 add -12346   0.001     -> -12346 Inexact Rounded
  1140  r05up048 add -12347   0.001     -> -12346 Inexact Rounded
  1141  r05up049 add -12348   0.001     -> -12347 Inexact Rounded
  1142  r05up050 add -12349   0.001     -> -12348 Inexact Rounded
  1143  
  1144  -- Addition operators -------------------------------------------------
  1145  -- [The first few of these check negative residue possibilities; these
  1146  -- cases may be implemented as a negative residue in fastpaths]
  1147  
  1148  r0adx100  add 12345 -0.1       -> 12344 Inexact Rounded
  1149  r0adx101  add 12345 -0.01      -> 12344 Inexact Rounded
  1150  r0adx102  add 12345 -0.001     -> 12344 Inexact Rounded
  1151  r0adx103  add 12345 -0.00001   -> 12344 Inexact Rounded
  1152  r0adx104  add 12345 -0.000001  -> 12344 Inexact Rounded
  1153  r0adx105  add 12345 -0.0000001 -> 12344 Inexact Rounded
  1154  r0adx106  add 12345  0         -> 12345
  1155  r0adx107  add 12345  0.0000001 -> 12346 Inexact Rounded
  1156  r0adx108  add 12345  0.000001  -> 12346 Inexact Rounded
  1157  r0adx109  add 12345  0.00001   -> 12346 Inexact Rounded
  1158  r0adx110  add 12345  0.0001    -> 12346 Inexact Rounded
  1159  r0adx111  add 12345  0.001     -> 12346 Inexact Rounded
  1160  r0adx112  add 12345  0.01      -> 12346 Inexact Rounded
  1161  r0adx113  add 12345  0.1       -> 12346 Inexact Rounded
  1162  
  1163  r0adx115  add 12346  0.49999   -> 12346 Inexact Rounded
  1164  r0adx116  add 12346  0.5       -> 12346 Inexact Rounded
  1165  r0adx117  add 12346  0.50001   -> 12346 Inexact Rounded
  1166  
  1167  r0adx120  add 12345  0.4       -> 12346 Inexact Rounded
  1168  r0adx121  add 12345  0.49      -> 12346 Inexact Rounded
  1169  r0adx122  add 12345  0.499     -> 12346 Inexact Rounded
  1170  r0adx123  add 12345  0.49999   -> 12346 Inexact Rounded
  1171  r0adx124  add 12345  0.5       -> 12346 Inexact Rounded
  1172  r0adx125  add 12345  0.50001   -> 12346 Inexact Rounded
  1173  r0adx126  add 12345  0.5001    -> 12346 Inexact Rounded
  1174  r0adx127  add 12345  0.501     -> 12346 Inexact Rounded
  1175  r0adx128  add 12345  0.51      -> 12346 Inexact Rounded
  1176  r0adx129  add 12345  0.6       -> 12346 Inexact Rounded
  1177  
  1178  -- negatives...
  1179  
  1180  r0sux100  add -12345 -0.1       -> -12346 Inexact Rounded
  1181  r0sux101  add -12345 -0.01      -> -12346 Inexact Rounded
  1182  r0sux102  add -12345 -0.001     -> -12346 Inexact Rounded
  1183  r0sux103  add -12345 -0.00001   -> -12346 Inexact Rounded
  1184  r0sux104  add -12345 -0.000001  -> -12346 Inexact Rounded
  1185  r0sux105  add -12345 -0.0000001 -> -12346 Inexact Rounded
  1186  r0sux106  add -12345  0         -> -12345
  1187  r0sux107  add -12345  0.0000001 -> -12344 Inexact Rounded
  1188  r0sux108  add -12345  0.000001  -> -12344 Inexact Rounded
  1189  r0sux109  add -12345  0.00001   -> -12344 Inexact Rounded
  1190  r0sux110  add -12345  0.0001    -> -12344 Inexact Rounded
  1191  r0sux111  add -12345  0.001     -> -12344 Inexact Rounded
  1192  r0sux112  add -12345  0.01      -> -12344 Inexact Rounded
  1193  r0sux113  add -12345  0.1       -> -12344 Inexact Rounded
  1194  
  1195  r0sux115  add -12346  0.49999   -> -12346 Inexact Rounded
  1196  r0sux116  add -12346  0.5       -> -12346 Inexact Rounded
  1197  r0sux117  add -12346  0.50001   -> -12346 Inexact Rounded
  1198  
  1199  r0sux120  add -12345  0.4       -> -12344 Inexact Rounded
  1200  r0sux121  add -12345  0.49      -> -12344 Inexact Rounded
  1201  r0sux122  add -12345  0.499     -> -12344 Inexact Rounded
  1202  r0sux123  add -12345  0.49999   -> -12344 Inexact Rounded
  1203  r0sux124  add -12345  0.5       -> -12344 Inexact Rounded
  1204  r0sux125  add -12345  0.50001   -> -12344 Inexact Rounded
  1205  r0sux126  add -12345  0.5001    -> -12344 Inexact Rounded
  1206  r0sux127  add -12345  0.501     -> -12344 Inexact Rounded
  1207  r0sux128  add -12345  0.51      -> -12344 Inexact Rounded
  1208  r0sux129  add -12345  0.6       -> -12344 Inexact Rounded
  1209  
  1210  -- Check cancellation subtractions
  1211  -- (The IEEE 854 'curious rule' in $6.3)
  1212  
  1213  r0zex001  add  0    0    ->  0
  1214  r0zex002  add  0   -0    ->  0
  1215  r0zex003  add -0    0    ->  0
  1216  r0zex004  add -0   -0    -> -0
  1217  r0zex005  add  1   -1    ->  0
  1218  r0zex006  add -1    1    ->  0
  1219  r0zex007  add  1.5 -1.5  ->  0.0
  1220  r0zex008  add -1.5  1.5  ->  0.0
  1221  r0zex009  add  2   -2    ->  0
  1222  r0zex010  add -2    2    ->  0
  1223  
  1224  
  1225  -- Division operators -------------------------------------------------
  1226  
  1227  r0dvx101  divide 12345  1         ->  12345
  1228  r0dvx102  divide 12345  1.0001    ->  12343 Inexact Rounded
  1229  r0dvx103  divide 12345  1.001     ->  12332 Inexact Rounded
  1230  r0dvx104  divide 12345  1.01      ->  12222 Inexact Rounded
  1231  r0dvx105  divide 12345  1.1       ->  11222 Inexact Rounded
  1232  r0dvx106  divide 12355  4         ->   3088.7 Inexact Rounded
  1233  r0dvx107  divide 12345  4         ->   3086.2 Inexact Rounded
  1234  r0dvx108  divide 12355  4.0001    ->   3088.6 Inexact Rounded
  1235  r0dvx109  divide 12345  4.0001    ->   3086.1 Inexact Rounded
  1236  r0dvx110  divide 12345  4.9       ->   2519.3 Inexact Rounded
  1237  r0dvx111  divide 12345  4.99      ->   2473.9 Inexact Rounded
  1238  r0dvx112  divide 12345  4.999     ->   2469.4 Inexact Rounded
  1239  r0dvx113  divide 12345  4.9999    ->   2469.1 Inexact Rounded
  1240  r0dvx114  divide 12345  5         ->   2469
  1241  r0dvx115  divide 12345  5.0001    ->  2468.9 Inexact Rounded
  1242  r0dvx116  divide 12345  5.001     ->  2468.6 Inexact Rounded
  1243  r0dvx117  divide 12345  5.01      ->  2464.1 Inexact Rounded
  1244  r0dvx118  divide 12345  5.1       ->  2420.6 Inexact Rounded
  1245  
  1246  -- [divideInteger and remainder unaffected]
  1247  
  1248  -- Multiplication operator --------------------------------------------
  1249  
  1250  r0mux101  multiply 12345  1         ->  12345
  1251  r0mux102  multiply 12345  1.0001    ->  12346 Inexact Rounded
  1252  r0mux103  multiply 12345  1.001     ->  12357 Inexact Rounded
  1253  r0mux104  multiply 12345  1.01      ->  12468 Inexact Rounded
  1254  r0mux105  multiply 12345  1.1       ->  13579 Inexact Rounded
  1255  r0mux106  multiply 12345  4         ->  49380
  1256  r0mux107  multiply 12345  4.0001    ->  49381 Inexact Rounded
  1257  r0mux108  multiply 12345  4.9       ->  60491 Inexact Rounded
  1258  r0mux109  multiply 12345  4.99      ->  61601 Inexact Rounded
  1259  r0mux110  multiply 12345  4.999     ->  61712 Inexact Rounded
  1260  r0mux111  multiply 12345  4.9999    ->  61723 Inexact Rounded
  1261  r0mux112  multiply 12345  5         ->  61725
  1262  r0mux113  multiply 12345  5.0001    ->  61726 Inexact Rounded
  1263  r0mux114  multiply 12345  5.001     ->  61737 Inexact Rounded
  1264  r0mux115  multiply 12345  5.01      ->  61848 Inexact Rounded
  1265  r0mux116  multiply 12345  12        ->  1.4814E+5 Rounded
  1266  r0mux117  multiply 12345  13        ->  1.6048E+5 Inexact Rounded
  1267  r0mux118  multiply 12355  12        ->  1.4826E+5 Rounded
  1268  r0mux119  multiply 12355  13        ->  1.6061E+5 Inexact Rounded
  1269  
  1270  
  1271  -- Power operator -----------------------------------------------------
  1272  
  1273  r0pox101  power 12345  -5        ->  3.4877E-21 Inexact Rounded
  1274  r0pox102  power 12345  -4        ->  4.3056E-17 Inexact Rounded
  1275  r0pox103  power 12345  -3        ->  5.3152E-13 Inexact Rounded
  1276  r0pox104  power 12345  -2        ->  6.5617E-9 Inexact Rounded
  1277  r0pox105  power 12345  -1        ->  0.000081004 Inexact Rounded
  1278  r0pox106  power 12345  0         ->  1
  1279  r0pox107  power 12345  1         ->  12345
  1280  r0pox108  power 12345  2         ->  1.5239E+8 Inexact Rounded
  1281  r0pox109  power 12345  3         ->  1.8813E+12 Inexact Rounded
  1282  r0pox110  power 12345  4         ->  2.3226E+16 Inexact Rounded
  1283  r0pox111  power 12345  5         ->  2.8671E+20 Inexact Rounded
  1284  r0pox112  power   415  2         ->  1.7222E+5 Inexact Rounded
  1285  r0pox113  power    75  3         ->  4.2187E+5 Inexact Rounded
  1286  
  1287  
  1288  -- Underflow Subnormal and overflow values vary with rounding mode and sign
  1289  maxexponent: 999999999
  1290  minexponent: -999999999
  1291  -- [round down gives Nmax on first two and .0E... on the next two]
  1292  r0ovx100  multiply   10    9E+999999999 ->  9.9999E+999999999 Overflow Inexact Rounded
  1293  r0ovx101  multiply  -10    9E+999999999 -> -9.9999E+999999999 Overflow Inexact Rounded
  1294  r0ovx102  divide     1E-9  9E+999999999 ->  1E-1000000003 Underflow Subnormal Inexact Rounded
  1295  r0ovx104  divide    -1E-9  9E+999999999 -> -1E-1000000003 Underflow Subnormal Inexact Rounded
  1296  
  1297  -- reprise rounding mode effect (using multiplies so precision directive used)
  1298  precision: 9
  1299  maxexponent: 999999999
  1300  r0mex412 multiply -9.999E+999999999 10 -> -9.99999999E+999999999 Overflow Inexact Rounded
  1301  r0mex413 multiply  9.999E+999999999 10 ->  9.99999999E+999999999 Overflow Inexact Rounded
  1302