[Python-checkins] r46102 - in sandbox/trunk/decimal-c: Makefile README.txt decimal.py decimaltestdata decimaltestdata/abs.decTest decimaltestdata/add.decTest decimaltestdata/base.decTest decimaltestdata/clamp.decTest decimaltestdata/compare.decTest decimaltestdata/decimal128.decTest decimaltestdata/decimal32.decTest decimaltestdata/decimal64.decTest decimaltestdata/divide.decTest decimaltestdata/divideint.decTest decimaltestdata/inexact.decTest decimaltestdata/max.decTest decimaltestdata/min.decTest decimaltestdata/minus.decTest decimaltestdata/multiply.decTest decimaltestdata/normalize.decTest decimaltestdata/plus.decTest decimaltestdata/power.decTest decimaltestdata/quantize.decTest decimaltestdata/randomBound32.decTest decimaltestdata/randoms.decTest decimaltestdata/remainder.decTest decimaltestdata/remainderNear.decTest decimaltestdata/rescale.decTest decimaltestdata/rounding.decTest decimaltestdata/samequantum.decTest decimaltestdata/squareroot.decTest decimaltestdata/subtract.decTest decimaltestdata/testall.decTest decimaltestdata/tointegral.decTest setup.py test_decimal.py

jack.diederich python-checkins at python.org
Tue May 23 13:34:19 CEST 2006


Author: jack.diederich
Date: Tue May 23 13:34:01 2006
New Revision: 46102

Added:
   sandbox/trunk/decimal-c/Makefile
   sandbox/trunk/decimal-c/README.txt
   sandbox/trunk/decimal-c/decimal.py
   sandbox/trunk/decimal-c/decimaltestdata/
   sandbox/trunk/decimal-c/decimaltestdata/abs.decTest
   sandbox/trunk/decimal-c/decimaltestdata/add.decTest
   sandbox/trunk/decimal-c/decimaltestdata/base.decTest
   sandbox/trunk/decimal-c/decimaltestdata/clamp.decTest
   sandbox/trunk/decimal-c/decimaltestdata/compare.decTest
   sandbox/trunk/decimal-c/decimaltestdata/decimal128.decTest
   sandbox/trunk/decimal-c/decimaltestdata/decimal32.decTest
   sandbox/trunk/decimal-c/decimaltestdata/decimal64.decTest
   sandbox/trunk/decimal-c/decimaltestdata/divide.decTest
   sandbox/trunk/decimal-c/decimaltestdata/divideint.decTest
   sandbox/trunk/decimal-c/decimaltestdata/inexact.decTest
   sandbox/trunk/decimal-c/decimaltestdata/max.decTest
   sandbox/trunk/decimal-c/decimaltestdata/min.decTest
   sandbox/trunk/decimal-c/decimaltestdata/minus.decTest
   sandbox/trunk/decimal-c/decimaltestdata/multiply.decTest
   sandbox/trunk/decimal-c/decimaltestdata/normalize.decTest
   sandbox/trunk/decimal-c/decimaltestdata/plus.decTest
   sandbox/trunk/decimal-c/decimaltestdata/power.decTest
   sandbox/trunk/decimal-c/decimaltestdata/quantize.decTest
   sandbox/trunk/decimal-c/decimaltestdata/randomBound32.decTest
   sandbox/trunk/decimal-c/decimaltestdata/randoms.decTest
   sandbox/trunk/decimal-c/decimaltestdata/remainder.decTest
   sandbox/trunk/decimal-c/decimaltestdata/remainderNear.decTest
   sandbox/trunk/decimal-c/decimaltestdata/rescale.decTest
   sandbox/trunk/decimal-c/decimaltestdata/rounding.decTest
   sandbox/trunk/decimal-c/decimaltestdata/samequantum.decTest
   sandbox/trunk/decimal-c/decimaltestdata/squareroot.decTest
   sandbox/trunk/decimal-c/decimaltestdata/subtract.decTest
   sandbox/trunk/decimal-c/decimaltestdata/testall.decTest
   sandbox/trunk/decimal-c/decimaltestdata/tointegral.decTest
   sandbox/trunk/decimal-c/setup.py
   sandbox/trunk/decimal-c/test_decimal.py
Modified:
   sandbox/trunk/decimal-c/   (props changed)
Log:
* aids to build the _decimal module as a regular python extension
* copies of decimal.py and tests from the trunk


Added: sandbox/trunk/decimal-c/Makefile
==============================================================================
--- (empty file)
+++ sandbox/trunk/decimal-c/Makefile	Tue May 23 13:34:01 2006
@@ -0,0 +1,11 @@
+# change PYTHON_25 to point to a 2.5 HEAD build
+PYTHON_25=../python-rw/python
+
+all: module test
+module:
+	$(PYTHON_25) setup.py build
+	cp build/lib*/_decimal.so .
+clean:
+	rm -rf build/
+test:
+	$(PYTHON_25) test_decimal.py

Added: sandbox/trunk/decimal-c/README.txt
==============================================================================
--- (empty file)
+++ sandbox/trunk/decimal-c/README.txt	Tue May 23 13:34:01 2006
@@ -0,0 +1,14 @@
+
+The decimal-c branch is an attempt to rewrite the decimal module in C
+
+_decimal builds as a regular stand-alone python extension module
+decimal.py and test_decimal.py are copies from the 2.5 trunk
+
+The plan is to change decimal.Decimal to inherit from _decimal.Decimal
+and replace the pure-python methods one-by-one while keeping all the
+tests passing.  This should allow us to tackle the job in small pieces
+and allow many people to tackle it at once.
+
+Edit the Makefile to point PYTHON_25 to point to a trunk build of python
+and then run 'make' or 'make all' to build the extension and run the
+test suite.

Added: sandbox/trunk/decimal-c/decimal.py
==============================================================================
--- (empty file)
+++ sandbox/trunk/decimal-c/decimal.py	Tue May 23 13:34:01 2006
@@ -0,0 +1,3108 @@
+# Copyright (c) 2004 Python Software Foundation.
+# All rights reserved.
+
+# Written by Eric Price <eprice at tjhsst.edu>
+#    and Facundo Batista <facundo at taniquetil.com.ar>
+#    and Raymond Hettinger <python at rcn.com>
+#    and Aahz <aahz at pobox.com>
+#    and Tim Peters
+
+# This module is currently Py2.3 compatible and should be kept that way
+# unless a major compelling advantage arises.  IOW, 2.3 compatibility is
+# strongly preferred, but not guaranteed.
+
+# Also, this module should be kept in sync with the latest updates of
+# the IBM specification as it evolves.  Those updates will be treated
+# as bug fixes (deviation from the spec is a compatibility, usability
+# bug) and will be backported.  At this point the spec is stabilizing
+# and the updates are becoming fewer, smaller, and less significant.
+
+"""
+This is a Py2.3 implementation of decimal floating point arithmetic based on
+the General Decimal Arithmetic Specification:
+
+    www2.hursley.ibm.com/decimal/decarith.html
+
+and IEEE standard 854-1987:
+
+    www.cs.berkeley.edu/~ejr/projects/754/private/drafts/854-1987/dir.html
+
+Decimal floating point has finite precision with arbitrarily large bounds.
+
+The purpose of the module is to support arithmetic using familiar
+"schoolhouse" rules and to avoid the some of tricky representation
+issues associated with binary floating point.  The package is especially
+useful for financial applications or for contexts where users have
+expectations that are at odds with binary floating point (for instance,
+in binary floating point, 1.00 % 0.1 gives 0.09999999999999995 instead
+of the expected Decimal("0.00") returned by decimal floating point).
+
+Here are some examples of using the decimal module:
+
+>>> from decimal import *
+>>> setcontext(ExtendedContext)
+>>> Decimal(0)
+Decimal("0")
+>>> Decimal("1")
+Decimal("1")
+>>> Decimal("-.0123")
+Decimal("-0.0123")
+>>> Decimal(123456)
+Decimal("123456")
+>>> Decimal("123.45e12345678901234567890")
+Decimal("1.2345E+12345678901234567892")
+>>> Decimal("1.33") + Decimal("1.27")
+Decimal("2.60")
+>>> Decimal("12.34") + Decimal("3.87") - Decimal("18.41")
+Decimal("-2.20")
+>>> dig = Decimal(1)
+>>> print dig / Decimal(3)
+0.333333333
+>>> getcontext().prec = 18
+>>> print dig / Decimal(3)
+0.333333333333333333
+>>> print dig.sqrt()
+1
+>>> print Decimal(3).sqrt()
+1.73205080756887729
+>>> print Decimal(3) ** 123
+4.85192780976896427E+58
+>>> inf = Decimal(1) / Decimal(0)
+>>> print inf
+Infinity
+>>> neginf = Decimal(-1) / Decimal(0)
+>>> print neginf
+-Infinity
+>>> print neginf + inf
+NaN
+>>> print neginf * inf
+-Infinity
+>>> print dig / 0
+Infinity
+>>> getcontext().traps[DivisionByZero] = 1
+>>> print dig / 0
+Traceback (most recent call last):
+  ...
+  ...
+  ...
+DivisionByZero: x / 0
+>>> c = Context()
+>>> c.traps[InvalidOperation] = 0
+>>> print c.flags[InvalidOperation]
+0
+>>> c.divide(Decimal(0), Decimal(0))
+Decimal("NaN")
+>>> c.traps[InvalidOperation] = 1
+>>> print c.flags[InvalidOperation]
+1
+>>> c.flags[InvalidOperation] = 0
+>>> print c.flags[InvalidOperation]
+0
+>>> print c.divide(Decimal(0), Decimal(0))
+Traceback (most recent call last):
+  ...
+  ...
+  ...
+InvalidOperation: 0 / 0
+>>> print c.flags[InvalidOperation]
+1
+>>> c.flags[InvalidOperation] = 0
+>>> c.traps[InvalidOperation] = 0
+>>> print c.divide(Decimal(0), Decimal(0))
+NaN
+>>> print c.flags[InvalidOperation]
+1
+>>>
+"""
+
+__all__ = [
+    # Two major classes
+    'Decimal', 'Context',
+
+    # Contexts
+    'DefaultContext', 'BasicContext', 'ExtendedContext',
+
+    # Exceptions
+    'DecimalException', 'Clamped', 'InvalidOperation', 'DivisionByZero',
+    'Inexact', 'Rounded', 'Subnormal', 'Overflow', 'Underflow',
+
+    # Constants for use in setting up contexts
+    'ROUND_DOWN', 'ROUND_HALF_UP', 'ROUND_HALF_EVEN', 'ROUND_CEILING',
+    'ROUND_FLOOR', 'ROUND_UP', 'ROUND_HALF_DOWN',
+
+    # Functions for manipulating contexts
+    'setcontext', 'getcontext'
+]
+
+import copy as _copy
+
+#Rounding
+ROUND_DOWN = 'ROUND_DOWN'
+ROUND_HALF_UP = 'ROUND_HALF_UP'
+ROUND_HALF_EVEN = 'ROUND_HALF_EVEN'
+ROUND_CEILING = 'ROUND_CEILING'
+ROUND_FLOOR = 'ROUND_FLOOR'
+ROUND_UP = 'ROUND_UP'
+ROUND_HALF_DOWN = 'ROUND_HALF_DOWN'
+
+#Rounding decision (not part of the public API)
+NEVER_ROUND = 'NEVER_ROUND'    # Round in division (non-divmod), sqrt ONLY
+ALWAYS_ROUND = 'ALWAYS_ROUND'  # Every operation rounds at end.
+
+#Errors
+
+class DecimalException(ArithmeticError):
+    """Base exception class.
+
+    Used exceptions derive from this.
+    If an exception derives from another exception besides this (such as
+    Underflow (Inexact, Rounded, Subnormal) that indicates that it is only
+    called if the others are present.  This isn't actually used for
+    anything, though.
+
+    handle  -- Called when context._raise_error is called and the
+               trap_enabler is set.  First argument is self, second is the
+               context.  More arguments can be given, those being after
+               the explanation in _raise_error (For example,
+               context._raise_error(NewError, '(-x)!', self._sign) would
+               call NewError().handle(context, self._sign).)
+
+    To define a new exception, it should be sufficient to have it derive
+    from DecimalException.
+    """
+    def handle(self, context, *args):
+        pass
+
+
+class Clamped(DecimalException):
+    """Exponent of a 0 changed to fit bounds.
+
+    This occurs and signals clamped if the exponent of a result has been
+    altered in order to fit the constraints of a specific concrete
+    representation. This may occur when the exponent of a zero result would
+    be outside the bounds of a representation, or  when a large normal
+    number would have an encoded exponent that cannot be represented. In
+    this latter case, the exponent is reduced to fit and the corresponding
+    number of zero digits are appended to the coefficient ("fold-down").
+    """
+
+
+class InvalidOperation(DecimalException):
+    """An invalid operation was performed.
+
+    Various bad things cause this:
+
+    Something creates a signaling NaN
+    -INF + INF
+     0 * (+-)INF
+     (+-)INF / (+-)INF
+    x % 0
+    (+-)INF % x
+    x._rescale( non-integer )
+    sqrt(-x) , x > 0
+    0 ** 0
+    x ** (non-integer)
+    x ** (+-)INF
+    An operand is invalid
+    """
+    def handle(self, context, *args):
+        if args:
+            if args[0] == 1: #sNaN, must drop 's' but keep diagnostics
+                return Decimal( (args[1]._sign, args[1]._int, 'n') )
+        return NaN
+
+class ConversionSyntax(InvalidOperation):
+    """Trying to convert badly formed string.
+
+    This occurs and signals invalid-operation if an string is being
+    converted to a number and it does not conform to the numeric string
+    syntax. The result is [0,qNaN].
+    """
+
+    def handle(self, context, *args):
+        return (0, (0,), 'n') #Passed to something which uses a tuple.
+
+class DivisionByZero(DecimalException, ZeroDivisionError):
+    """Division by 0.
+
+    This occurs and signals division-by-zero if division of a finite number
+    by zero was attempted (during a divide-integer or divide operation, or a
+    power operation with negative right-hand operand), and the dividend was
+    not zero.
+
+    The result of the operation is [sign,inf], where sign is the exclusive
+    or of the signs of the operands for divide, or is 1 for an odd power of
+    -0, for power.
+    """
+
+    def handle(self, context, sign, double = None, *args):
+        if double is not None:
+            return (Infsign[sign],)*2
+        return Infsign[sign]
+
+class DivisionImpossible(InvalidOperation):
+    """Cannot perform the division adequately.
+
+    This occurs and signals invalid-operation if the integer result of a
+    divide-integer or remainder operation had too many digits (would be
+    longer than precision). The result is [0,qNaN].
+    """
+
+    def handle(self, context, *args):
+        return (NaN, NaN)
+
+class DivisionUndefined(InvalidOperation, ZeroDivisionError):
+    """Undefined result of division.
+
+    This occurs and signals invalid-operation if division by zero was
+    attempted (during a divide-integer, divide, or remainder operation), and
+    the dividend is also zero. The result is [0,qNaN].
+    """
+
+    def handle(self, context, tup=None, *args):
+        if tup is not None:
+            return (NaN, NaN) #for 0 %0, 0 // 0
+        return NaN
+
+class Inexact(DecimalException):
+    """Had to round, losing information.
+
+    This occurs and signals inexact whenever the result of an operation is
+    not exact (that is, it needed to be rounded and any discarded digits
+    were non-zero), or if an overflow or underflow condition occurs. The
+    result in all cases is unchanged.
+
+    The inexact signal may be tested (or trapped) to determine if a given
+    operation (or sequence of operations) was inexact.
+    """
+    pass
+
+class InvalidContext(InvalidOperation):
+    """Invalid context.  Unknown rounding, for example.
+
+    This occurs and signals invalid-operation if an invalid context was
+    detected during an operation. This can occur if contexts are not checked
+    on creation and either the precision exceeds the capability of the
+    underlying concrete representation or an unknown or unsupported rounding
+    was specified. These aspects of the context need only be checked when
+    the values are required to be used. The result is [0,qNaN].
+    """
+
+    def handle(self, context, *args):
+        return NaN
+
+class Rounded(DecimalException):
+    """Number got rounded (not  necessarily changed during rounding).
+
+    This occurs and signals rounded whenever the result of an operation is
+    rounded (that is, some zero or non-zero digits were discarded from the
+    coefficient), or if an overflow or underflow condition occurs. The
+    result in all cases is unchanged.
+
+    The rounded signal may be tested (or trapped) to determine if a given
+    operation (or sequence of operations) caused a loss of precision.
+    """
+    pass
+
+class Subnormal(DecimalException):
+    """Exponent < Emin before rounding.
+
+    This occurs and signals subnormal whenever the result of a conversion or
+    operation is subnormal (that is, its adjusted exponent is less than
+    Emin, before any rounding). The result in all cases is unchanged.
+
+    The subnormal signal may be tested (or trapped) to determine if a given
+    or operation (or sequence of operations) yielded a subnormal result.
+    """
+    pass
+
+class Overflow(Inexact, Rounded):
+    """Numerical overflow.
+
+    This occurs and signals overflow if the adjusted exponent of a result
+    (from a conversion or from an operation that is not an attempt to divide
+    by zero), after rounding, would be greater than the largest value that
+    can be handled by the implementation (the value Emax).
+
+    The result depends on the rounding mode:
+
+    For round-half-up and round-half-even (and for round-half-down and
+    round-up, if implemented), the result of the operation is [sign,inf],
+    where sign is the sign of the intermediate result. For round-down, the
+    result is the largest finite number that can be represented in the
+    current precision, with the sign of the intermediate result. For
+    round-ceiling, the result is the same as for round-down if the sign of
+    the intermediate result is 1, or is [0,inf] otherwise. For round-floor,
+    the result is the same as for round-down if the sign of the intermediate
+    result is 0, or is [1,inf] otherwise. In all cases, Inexact and Rounded
+    will also be raised.
+   """
+
+    def handle(self, context, sign, *args):
+        if context.rounding in (ROUND_HALF_UP, ROUND_HALF_EVEN,
+                                     ROUND_HALF_DOWN, ROUND_UP):
+            return Infsign[sign]
+        if sign == 0:
+            if context.rounding == ROUND_CEILING:
+                return Infsign[sign]
+            return Decimal((sign, (9,)*context.prec,
+                            context.Emax-context.prec+1))
+        if sign == 1:
+            if context.rounding == ROUND_FLOOR:
+                return Infsign[sign]
+            return Decimal( (sign, (9,)*context.prec,
+                             context.Emax-context.prec+1))
+
+
+class Underflow(Inexact, Rounded, Subnormal):
+    """Numerical underflow with result rounded to 0.
+
+    This occurs and signals underflow if a result is inexact and the
+    adjusted exponent of the result would be smaller (more negative) than
+    the smallest value that can be handled by the implementation (the value
+    Emin). That is, the result is both inexact and subnormal.
+
+    The result after an underflow will be a subnormal number rounded, if
+    necessary, so that its exponent is not less than Etiny. This may result
+    in 0 with the sign of the intermediate result and an exponent of Etiny.
+
+    In all cases, Inexact, Rounded, and Subnormal will also be raised.
+    """
+
+# List of public traps and flags
+_signals = [Clamped, DivisionByZero, Inexact, Overflow, Rounded,
+           Underflow, InvalidOperation, Subnormal]
+
+# Map conditions (per the spec) to signals
+_condition_map = {ConversionSyntax:InvalidOperation,
+                  DivisionImpossible:InvalidOperation,
+                  DivisionUndefined:InvalidOperation,
+                  InvalidContext:InvalidOperation}
+
+##### Context Functions #######################################
+
+# The getcontext() and setcontext() function manage access to a thread-local
+# current context.  Py2.4 offers direct support for thread locals.  If that
+# is not available, use threading.currentThread() which is slower but will
+# work for older Pythons.  If threads are not part of the build, create a
+# mock threading object with threading.local() returning the module namespace.
+
+try:
+    import threading
+except ImportError:
+    # Python was compiled without threads; create a mock object instead
+    import sys
+    class MockThreading:
+        def local(self, sys=sys):
+            return sys.modules[__name__]
+    threading = MockThreading()
+    del sys, MockThreading
+
+try:
+    threading.local
+
+except AttributeError:
+
+    #To fix reloading, force it to create a new context
+    #Old contexts have different exceptions in their dicts, making problems.
+    if hasattr(threading.currentThread(), '__decimal_context__'):
+        del threading.currentThread().__decimal_context__
+
+    def setcontext(context):
+        """Set this thread's context to context."""
+        if context in (DefaultContext, BasicContext, ExtendedContext):
+            context = context.copy()
+            context.clear_flags()
+        threading.currentThread().__decimal_context__ = context
+
+    def getcontext():
+        """Returns this thread's context.
+
+        If this thread does not yet have a context, returns
+        a new context and sets this thread's context.
+        New contexts are copies of DefaultContext.
+        """
+        try:
+            return threading.currentThread().__decimal_context__
+        except AttributeError:
+            context = Context()
+            threading.currentThread().__decimal_context__ = context
+            return context
+
+else:
+
+    local = threading.local()
+    if hasattr(local, '__decimal_context__'):
+        del local.__decimal_context__
+
+    def getcontext(_local=local):
+        """Returns this thread's context.
+
+        If this thread does not yet have a context, returns
+        a new context and sets this thread's context.
+        New contexts are copies of DefaultContext.
+        """
+        try:
+            return _local.__decimal_context__
+        except AttributeError:
+            context = Context()
+            _local.__decimal_context__ = context
+            return context
+
+    def setcontext(context, _local=local):
+        """Set this thread's context to context."""
+        if context in (DefaultContext, BasicContext, ExtendedContext):
+            context = context.copy()
+            context.clear_flags()
+        _local.__decimal_context__ = context
+
+    del threading, local        # Don't contaminate the namespace
+
+
+##### Decimal class ###########################################
+
+import _decimal
+
+class Decimal(_decimal.Decimal):
+    """Floating point class for decimal arithmetic."""
+
+    __slots__ = ('_exp','_int','_sign', '_is_special')
+    # Generally, the value of the Decimal instance is given by
+    #  (-1)**_sign * _int * 10**_exp
+    # Special values are signified by _is_special == True
+
+    # We're immutable, so use __new__ not __init__
+    def __new__(cls, value="0", context=None):
+        """Create a decimal point instance.
+
+        >>> Decimal('3.14')              # string input
+        Decimal("3.14")
+        >>> Decimal((0, (3, 1, 4), -2))  # tuple input (sign, digit_tuple, exponent)
+        Decimal("3.14")
+        >>> Decimal(314)                 # int or long
+        Decimal("314")
+        >>> Decimal(Decimal(314))        # another decimal instance
+        Decimal("314")
+        """
+
+        self = object.__new__(cls)
+        self._is_special = False
+
+        # From an internal working value
+        if isinstance(value, _WorkRep):
+            self._sign = value.sign
+            self._int = tuple(map(int, str(value.int)))
+            self._exp = int(value.exp)
+            return self
+
+        # From another decimal
+        if isinstance(value, Decimal):
+            self._exp  = value._exp
+            self._sign = value._sign
+            self._int  = value._int
+            self._is_special  = value._is_special
+            return self
+
+        # From an integer
+        if isinstance(value, (int,long)):
+            if value >= 0:
+                self._sign = 0
+            else:
+                self._sign = 1
+            self._exp = 0
+            self._int = tuple(map(int, str(abs(value))))
+            return self
+
+        # tuple/list conversion (possibly from as_tuple())
+        if isinstance(value, (list,tuple)):
+            if len(value) != 3:
+                raise ValueError, 'Invalid arguments'
+            if value[0] not in (0,1):
+                raise ValueError, 'Invalid sign'
+            for digit in value[1]:
+                if not isinstance(digit, (int,long)) or digit < 0:
+                    raise ValueError, "The second value in the tuple must be composed of non negative integer elements."
+
+            self._sign = value[0]
+            self._int  = tuple(value[1])
+            if value[2] in ('F','n','N'):
+                self._exp = value[2]
+                self._is_special = True
+            else:
+                self._exp  = int(value[2])
+            return self
+
+        if isinstance(value, float):
+            raise TypeError("Cannot convert float to Decimal.  " +
+                            "First convert the float to a string")
+
+        # Other argument types may require the context during interpretation
+        if context is None:
+            context = getcontext()
+
+        # From a string
+        # REs insist on real strings, so we can too.
+        if isinstance(value, basestring):
+            if _isinfinity(value):
+                self._exp = 'F'
+                self._int = (0,)
+                self._is_special = True
+                if _isinfinity(value) == 1:
+                    self._sign = 0
+                else:
+                    self._sign = 1
+                return self
+            if _isnan(value):
+                sig, sign, diag = _isnan(value)
+                self._is_special = True
+                if len(diag) > context.prec: #Diagnostic info too long
+                    self._sign, self._int, self._exp = \
+                                context._raise_error(ConversionSyntax)
+                    return self
+                if sig == 1:
+                    self._exp = 'n' #qNaN
+                else: #sig == 2
+                    self._exp = 'N' #sNaN
+                self._sign = sign
+                self._int = tuple(map(int, diag)) #Diagnostic info
+                return self
+            try:
+                self._sign, self._int, self._exp = _string2exact(value)
+            except ValueError:
+                self._is_special = True
+                self._sign, self._int, self._exp = context._raise_error(ConversionSyntax)
+            return self
+
+        raise TypeError("Cannot convert %r to Decimal" % value)
+
+    def _isnan(self):
+        """Returns whether the number is not actually one.
+
+        0 if a number
+        1 if NaN
+        2 if sNaN
+        """
+        if self._is_special:
+            exp = self._exp
+            if exp == 'n':
+                return 1
+            elif exp == 'N':
+                return 2
+        return 0
+
+    def _isinfinity(self):
+        """Returns whether the number is infinite
+
+        0 if finite or not a number
+        1 if +INF
+        -1 if -INF
+        """
+        if self._exp == 'F':
+            if self._sign:
+                return -1
+            return 1
+        return 0
+
+    def _check_nans(self, other = None, context=None):
+        """Returns whether the number is not actually one.
+
+        if self, other are sNaN, signal
+        if self, other are NaN return nan
+        return 0
+
+        Done before operations.
+        """
+
+        self_is_nan = self._isnan()
+        if other is None:
+            other_is_nan = False
+        else:
+            other_is_nan = other._isnan()
+
+        if self_is_nan or other_is_nan:
+            if context is None:
+                context = getcontext()
+
+            if self_is_nan == 2:
+                return context._raise_error(InvalidOperation, 'sNaN',
+                                        1, self)
+            if other_is_nan == 2:
+                return context._raise_error(InvalidOperation, 'sNaN',
+                                        1, other)
+            if self_is_nan:
+                return self
+
+            return other
+        return 0
+
+    def __nonzero__(self):
+        """Is the number non-zero?
+
+        0 if self == 0
+        1 if self != 0
+        """
+        if self._is_special:
+            return 1
+        return sum(self._int) != 0
+
+    def __cmp__(self, other, context=None):
+        other = _convert_other(other)
+        if other is NotImplemented:
+            return other
+
+        if self._is_special or other._is_special:
+            ans = self._check_nans(other, context)
+            if ans:
+                return 1 # Comparison involving NaN's always reports self > other
+
+            # INF = INF
+            return cmp(self._isinfinity(), other._isinfinity())
+
+        if not self and not other:
+            return 0 #If both 0, sign comparison isn't certain.
+
+        #If different signs, neg one is less
+        if other._sign < self._sign:
+            return -1
+        if self._sign < other._sign:
+            return 1
+
+        self_adjusted = self.adjusted()
+        other_adjusted = other.adjusted()
+        if self_adjusted == other_adjusted and \
+           self._int + (0,)*(self._exp - other._exp) == \
+           other._int + (0,)*(other._exp - self._exp):
+            return 0 #equal, except in precision. ([0]*(-x) = [])
+        elif self_adjusted > other_adjusted and self._int[0] != 0:
+            return (-1)**self._sign
+        elif self_adjusted < other_adjusted and other._int[0] != 0:
+            return -((-1)**self._sign)
+
+        # Need to round, so make sure we have a valid context
+        if context is None:
+            context = getcontext()
+
+        context = context._shallow_copy()
+        rounding = context._set_rounding(ROUND_UP) #round away from 0
+
+        flags = context._ignore_all_flags()
+        res = self.__sub__(other, context=context)
+
+        context._regard_flags(*flags)
+
+        context.rounding = rounding
+
+        if not res:
+            return 0
+        elif res._sign:
+            return -1
+        return 1
+
+    def __eq__(self, other):
+        if not isinstance(other, (Decimal, int, long)):
+            return NotImplemented
+        return self.__cmp__(other) == 0
+
+    def __ne__(self, other):
+        if not isinstance(other, (Decimal, int, long)):
+            return NotImplemented
+        return self.__cmp__(other) != 0
+
+    def compare(self, other, context=None):
+        """Compares one to another.
+
+        -1 => a < b
+        0  => a = b
+        1  => a > b
+        NaN => one is NaN
+        Like __cmp__, but returns Decimal instances.
+        """
+        other = _convert_other(other)
+        if other is NotImplemented:
+            return other
+
+        #compare(NaN, NaN) = NaN
+        if (self._is_special or other and other._is_special):
+            ans = self._check_nans(other, context)
+            if ans:
+                return ans
+
+        return Decimal(self.__cmp__(other, context))
+
+    def __hash__(self):
+        """x.__hash__() <==> hash(x)"""
+        # Decimal integers must hash the same as the ints
+        # Non-integer decimals are normalized and hashed as strings
+        # Normalization assures that hash(100E-1) == hash(10)
+        if self._is_special:
+            if self._isnan():
+                raise TypeError('Cannot hash a NaN value.')
+            return hash(str(self))
+        i = int(self)
+        if self == Decimal(i):
+            return hash(i)
+        assert self.__nonzero__()   # '-0' handled by integer case
+        return hash(str(self.normalize()))
+
+    def as_tuple(self):
+        """Represents the number as a triple tuple.
+
+        To show the internals exactly as they are.
+        """
+        return (self._sign, self._int, self._exp)
+
+    def __repr__(self):
+        """Represents the number as an instance of Decimal."""
+        # Invariant:  eval(repr(d)) == d
+        return 'Decimal("%s")' % str(self)
+
+    def __str__(self, eng = 0, context=None):
+        """Return string representation of the number in scientific notation.
+
+        Captures all of the information in the underlying representation.
+        """
+
+        if self._is_special:
+            if self._isnan():
+                minus = '-'*self._sign
+                if self._int == (0,):
+                    info = ''
+                else:
+                    info = ''.join(map(str, self._int))
+                if self._isnan() == 2:
+                    return minus + 'sNaN' + info
+                return minus + 'NaN' + info
+            if self._isinfinity():
+                minus = '-'*self._sign
+                return minus + 'Infinity'
+
+        if context is None:
+            context = getcontext()
+
+        tmp = map(str, self._int)
+        numdigits = len(self._int)
+        leftdigits = self._exp + numdigits
+        if eng and not self: #self = 0eX wants 0[.0[0]]eY, not [[0]0]0eY
+            if self._exp < 0 and self._exp >= -6: #short, no need for e/E
+                s = '-'*self._sign + '0.' + '0'*(abs(self._exp))
+                return s
+            #exp is closest mult. of 3 >= self._exp
+            exp = ((self._exp - 1)// 3 + 1) * 3
+            if exp != self._exp:
+                s = '0.'+'0'*(exp - self._exp)
+            else:
+                s = '0'
+            if exp != 0:
+                if context.capitals:
+                    s += 'E'
+                else:
+                    s += 'e'
+                if exp > 0:
+                    s += '+' #0.0e+3, not 0.0e3
+                s += str(exp)
+            s = '-'*self._sign + s
+            return s
+        if eng:
+            dotplace = (leftdigits-1)%3+1
+            adjexp = leftdigits -1 - (leftdigits-1)%3
+        else:
+            adjexp = leftdigits-1
+            dotplace = 1
+        if self._exp == 0:
+            pass
+        elif self._exp < 0 and adjexp >= 0:
+            tmp.insert(leftdigits, '.')
+        elif self._exp < 0 and adjexp >= -6:
+            tmp[0:0] = ['0'] * int(-leftdigits)
+            tmp.insert(0, '0.')
+        else:
+            if numdigits > dotplace:
+                tmp.insert(dotplace, '.')
+            elif numdigits < dotplace:
+                tmp.extend(['0']*(dotplace-numdigits))
+            if adjexp:
+                if not context.capitals:
+                    tmp.append('e')
+                else:
+                    tmp.append('E')
+                    if adjexp > 0:
+                        tmp.append('+')
+                tmp.append(str(adjexp))
+        if eng:
+            while tmp[0:1] == ['0']:
+                tmp[0:1] = []
+            if len(tmp) == 0 or tmp[0] == '.' or tmp[0].lower() == 'e':
+                tmp[0:0] = ['0']
+        if self._sign:
+            tmp.insert(0, '-')
+
+        return ''.join(tmp)
+
+    def to_eng_string(self, context=None):
+        """Convert to engineering-type string.
+
+        Engineering notation has an exponent which is a multiple of 3, so there
+        are up to 3 digits left of the decimal place.
+
+        Same rules for when in exponential and when as a value as in __str__.
+        """
+        return self.__str__(eng=1, context=context)
+
+    def __neg__(self, context=None):
+        """Returns a copy with the sign switched.
+
+        Rounds, if it has reason.
+        """
+        if self._is_special:
+            ans = self._check_nans(context=context)
+            if ans:
+                return ans
+
+        if not self:
+            # -Decimal('0') is Decimal('0'), not Decimal('-0')
+            sign = 0
+        elif self._sign:
+            sign = 0
+        else:
+            sign = 1
+
+        if context is None:
+            context = getcontext()
+        if context._rounding_decision == ALWAYS_ROUND:
+            return Decimal((sign, self._int, self._exp))._fix(context)
+        return Decimal( (sign, self._int, self._exp))
+
+    def __pos__(self, context=None):
+        """Returns a copy, unless it is a sNaN.
+
+        Rounds the number (if more then precision digits)
+        """
+        if self._is_special:
+            ans = self._check_nans(context=context)
+            if ans:
+                return ans
+
+        sign = self._sign
+        if not self:
+            # + (-0) = 0
+            sign = 0
+
+        if context is None:
+            context = getcontext()
+
+        if context._rounding_decision == ALWAYS_ROUND:
+            ans = self._fix(context)
+        else:
+            ans = Decimal(self)
+        ans._sign = sign
+        return ans
+
+    def __abs__(self, round=1, context=None):
+        """Returns the absolute value of self.
+
+        If the second argument is 0, do not round.
+        """
+        if self._is_special:
+            ans = self._check_nans(context=context)
+            if ans:
+                return ans
+
+        if not round:
+            if context is None:
+                context = getcontext()
+            context = context._shallow_copy()
+            context._set_rounding_decision(NEVER_ROUND)
+
+        if self._sign:
+            ans = self.__neg__(context=context)
+        else:
+            ans = self.__pos__(context=context)
+
+        return ans
+
+    def __add__(self, other, context=None):
+        """Returns self + other.
+
+        -INF + INF (or the reverse) cause InvalidOperation errors.
+        """
+        other = _convert_other(other)
+        if other is NotImplemented:
+            return other
+
+        if context is None:
+            context = getcontext()
+
+        if self._is_special or other._is_special:
+            ans = self._check_nans(other, context)
+            if ans:
+                return ans
+
+            if self._isinfinity():
+                #If both INF, same sign => same as both, opposite => error.
+                if self._sign != other._sign and other._isinfinity():
+                    return context._raise_error(InvalidOperation, '-INF + INF')
+                return Decimal(self)
+            if other._isinfinity():
+                return Decimal(other)  #Can't both be infinity here
+
+        shouldround = context._rounding_decision == ALWAYS_ROUND
+
+        exp = min(self._exp, other._exp)
+        negativezero = 0
+        if context.rounding == ROUND_FLOOR and self._sign != other._sign:
+            #If the answer is 0, the sign should be negative, in this case.
+            negativezero = 1
+
+        if not self and not other:
+            sign = min(self._sign, other._sign)
+            if negativezero:
+                sign = 1
+            return Decimal( (sign, (0,), exp))
+        if not self:
+            exp = max(exp, other._exp - context.prec-1)
+            ans = other._rescale(exp, watchexp=0, context=context)
+            if shouldround:
+                ans = ans._fix(context)
+            return ans
+        if not other:
+            exp = max(exp, self._exp - context.prec-1)
+            ans = self._rescale(exp, watchexp=0, context=context)
+            if shouldround:
+                ans = ans._fix(context)
+            return ans
+
+        op1 = _WorkRep(self)
+        op2 = _WorkRep(other)
+        op1, op2 = _normalize(op1, op2, shouldround, context.prec)
+
+        result = _WorkRep()
+        if op1.sign != op2.sign:
+            # Equal and opposite
+            if op1.int == op2.int:
+                if exp < context.Etiny():
+                    exp = context.Etiny()
+                    context._raise_error(Clamped)
+                return Decimal((negativezero, (0,), exp))
+            if op1.int < op2.int:
+                op1, op2 = op2, op1
+                #OK, now abs(op1) > abs(op2)
+            if op1.sign == 1:
+                result.sign = 1
+                op1.sign, op2.sign = op2.sign, op1.sign
+            else:
+                result.sign = 0
+                #So we know the sign, and op1 > 0.
+        elif op1.sign == 1:
+            result.sign = 1
+            op1.sign, op2.sign = (0, 0)
+        else:
+            result.sign = 0
+        #Now, op1 > abs(op2) > 0
+
+        if op2.sign == 0:
+            result.int = op1.int + op2.int
+        else:
+            result.int = op1.int - op2.int
+
+        result.exp = op1.exp
+        ans = Decimal(result)
+        if shouldround:
+            ans = ans._fix(context)
+        return ans
+
+    __radd__ = __add__
+
+    def __sub__(self, other, context=None):
+        """Return self + (-other)"""
+        other = _convert_other(other)
+        if other is NotImplemented:
+            return other
+
+        if self._is_special or other._is_special:
+            ans = self._check_nans(other, context=context)
+            if ans:
+                return ans
+
+        # -Decimal(0) = Decimal(0), which we don't want since
+        # (-0 - 0 = -0 + (-0) = -0, but -0 + 0 = 0.)
+        # so we change the sign directly to a copy
+        tmp = Decimal(other)
+        tmp._sign = 1-tmp._sign
+
+        return self.__add__(tmp, context=context)
+
+    def __rsub__(self, other, context=None):
+        """Return other + (-self)"""
+        other = _convert_other(other)
+        if other is NotImplemented:
+            return other
+
+        tmp = Decimal(self)
+        tmp._sign = 1 - tmp._sign
+        return other.__add__(tmp, context=context)
+
+    def _increment(self, round=1, context=None):
+        """Special case of add, adding 1eExponent
+
+        Since it is common, (rounding, for example) this adds
+        (sign)*one E self._exp to the number more efficiently than add.
+
+        For example:
+        Decimal('5.624e10')._increment() == Decimal('5.625e10')
+        """
+        if self._is_special:
+            ans = self._check_nans(context=context)
+            if ans:
+                return ans
+
+            return Decimal(self) # Must be infinite, and incrementing makes no difference
+
+        L = list(self._int)
+        L[-1] += 1
+        spot = len(L)-1
+        while L[spot] == 10:
+            L[spot] = 0
+            if spot == 0:
+                L[0:0] = [1]
+                break
+            L[spot-1] += 1
+            spot -= 1
+        ans = Decimal((self._sign, L, self._exp))
+
+        if context is None:
+            context = getcontext()
+        if round and context._rounding_decision == ALWAYS_ROUND:
+            ans = ans._fix(context)
+        return ans
+
+    def __mul__(self, other, context=None):
+        """Return self * other.
+
+        (+-) INF * 0 (or its reverse) raise InvalidOperation.
+        """
+        other = _convert_other(other)
+        if other is NotImplemented:
+            return other
+
+        if context is None:
+            context = getcontext()
+
+        resultsign = self._sign ^ other._sign
+
+        if self._is_special or other._is_special:
+            ans = self._check_nans(other, context)
+            if ans:
+                return ans
+
+            if self._isinfinity():
+                if not other:
+                    return context._raise_error(InvalidOperation, '(+-)INF * 0')
+                return Infsign[resultsign]
+
+            if other._isinfinity():
+                if not self:
+                    return context._raise_error(InvalidOperation, '0 * (+-)INF')
+                return Infsign[resultsign]
+
+        resultexp = self._exp + other._exp
+        shouldround = context._rounding_decision == ALWAYS_ROUND
+
+        # Special case for multiplying by zero
+        if not self or not other:
+            ans = Decimal((resultsign, (0,), resultexp))
+            if shouldround:
+                #Fixing in case the exponent is out of bounds
+                ans = ans._fix(context)
+            return ans
+
+        # Special case for multiplying by power of 10
+        if self._int == (1,):
+            ans = Decimal((resultsign, other._int, resultexp))
+            if shouldround:
+                ans = ans._fix(context)
+            return ans
+        if other._int == (1,):
+            ans = Decimal((resultsign, self._int, resultexp))
+            if shouldround:
+                ans = ans._fix(context)
+            return ans
+
+        op1 = _WorkRep(self)
+        op2 = _WorkRep(other)
+
+        ans = Decimal( (resultsign, map(int, str(op1.int * op2.int)), resultexp))
+        if shouldround:
+            ans = ans._fix(context)
+
+        return ans
+    __rmul__ = __mul__
+
+    def __div__(self, other, context=None):
+        """Return self / other."""
+        return self._divide(other, context=context)
+    __truediv__ = __div__
+
+    def _divide(self, other, divmod = 0, context=None):
+        """Return a / b, to context.prec precision.
+
+        divmod:
+        0 => true division
+        1 => (a //b, a%b)
+        2 => a //b
+        3 => a%b
+
+        Actually, if divmod is 2 or 3 a tuple is returned, but errors for
+        computing the other value are not raised.
+        """
+        other = _convert_other(other)
+        if other is NotImplemented:
+            if divmod in (0, 1):
+                return NotImplemented
+            return (NotImplemented, NotImplemented)
+
+        if context is None:
+            context = getcontext()
+
+        sign = self._sign ^ other._sign
+
+        if self._is_special or other._is_special:
+            ans = self._check_nans(other, context)
+            if ans:
+                if divmod:
+                    return (ans, ans)
+                return ans
+
+            if self._isinfinity() and other._isinfinity():
+                if divmod:
+                    return (context._raise_error(InvalidOperation,
+                                            '(+-)INF // (+-)INF'),
+                            context._raise_error(InvalidOperation,
+                                            '(+-)INF % (+-)INF'))
+                return context._raise_error(InvalidOperation, '(+-)INF/(+-)INF')
+
+            if self._isinfinity():
+                if divmod == 1:
+                    return (Infsign[sign],
+                            context._raise_error(InvalidOperation, 'INF % x'))
+                elif divmod == 2:
+                    return (Infsign[sign], NaN)
+                elif divmod == 3:
+                    return (Infsign[sign],
+                            context._raise_error(InvalidOperation, 'INF % x'))
+                return Infsign[sign]
+
+            if other._isinfinity():
+                if divmod:
+                    return (Decimal((sign, (0,), 0)), Decimal(self))
+                context._raise_error(Clamped, 'Division by infinity')
+                return Decimal((sign, (0,), context.Etiny()))
+
+        # Special cases for zeroes
+        if not self and not other:
+            if divmod:
+                return context._raise_error(DivisionUndefined, '0 / 0', 1)
+            return context._raise_error(DivisionUndefined, '0 / 0')
+
+        if not self:
+            if divmod:
+                otherside = Decimal(self)
+                otherside._exp = min(self._exp, other._exp)
+                return (Decimal((sign, (0,), 0)),  otherside)
+            exp = self._exp - other._exp
+            if exp < context.Etiny():
+                exp = context.Etiny()
+                context._raise_error(Clamped, '0e-x / y')
+            if exp > context.Emax:
+                exp = context.Emax
+                context._raise_error(Clamped, '0e+x / y')
+            return Decimal( (sign, (0,), exp) )
+
+        if not other:
+            if divmod:
+                return context._raise_error(DivisionByZero, 'divmod(x,0)',
+                                           sign, 1)
+            return context._raise_error(DivisionByZero, 'x / 0', sign)
+
+        #OK, so neither = 0, INF or NaN
+
+        shouldround = context._rounding_decision == ALWAYS_ROUND
+
+        #If we're dividing into ints, and self < other, stop.
+        #self.__abs__(0) does not round.
+        if divmod and (self.__abs__(0, context) < other.__abs__(0, context)):
+
+            if divmod == 1 or divmod == 3:
+                exp = min(self._exp, other._exp)
+                ans2 = self._rescale(exp, context=context, watchexp=0)
+                if shouldround:
+                    ans2 = ans2._fix(context)
+                return (Decimal( (sign, (0,), 0) ),
+                        ans2)
+
+            elif divmod == 2:
+                #Don't round the mod part, if we don't need it.
+                return (Decimal( (sign, (0,), 0) ), Decimal(self))
+
+        op1 = _WorkRep(self)
+        op2 = _WorkRep(other)
+        op1, op2, adjust = _adjust_coefficients(op1, op2)
+        res = _WorkRep( (sign, 0, (op1.exp - op2.exp)) )
+        if divmod and res.exp > context.prec + 1:
+            return context._raise_error(DivisionImpossible)
+
+        prec_limit = 10 ** context.prec
+        while 1:
+            while op2.int <= op1.int:
+                res.int += 1
+                op1.int -= op2.int
+            if res.exp == 0 and divmod:
+                if res.int >= prec_limit and shouldround:
+                    return context._raise_error(DivisionImpossible)
+                otherside = Decimal(op1)
+                frozen = context._ignore_all_flags()
+
+                exp = min(self._exp, other._exp)
+                otherside = otherside._rescale(exp, context=context, watchexp=0)
+                context._regard_flags(*frozen)
+                if shouldround:
+                    otherside = otherside._fix(context)
+                return (Decimal(res), otherside)
+
+            if op1.int == 0 and adjust >= 0 and not divmod:
+                break
+            if res.int >= prec_limit and shouldround:
+                if divmod:
+                    return context._raise_error(DivisionImpossible)
+                shouldround=1
+                # Really, the answer is a bit higher, so adding a one to
+                # the end will make sure the rounding is right.
+                if op1.int != 0:
+                    res.int *= 10
+                    res.int += 1
+                    res.exp -= 1
+
+                break
+            res.int *= 10
+            res.exp -= 1
+            adjust += 1
+            op1.int *= 10
+            op1.exp -= 1
+
+            if res.exp == 0 and divmod and op2.int > op1.int:
+                #Solves an error in precision.  Same as a previous block.
+
+                if res.int >= prec_limit and shouldround:
+                    return context._raise_error(DivisionImpossible)
+                otherside = Decimal(op1)
+                frozen = context._ignore_all_flags()
+
+                exp = min(self._exp, other._exp)
+                otherside = otherside._rescale(exp, context=context)
+
+                context._regard_flags(*frozen)
+
+                return (Decimal(res), otherside)
+
+        ans = Decimal(res)
+        if shouldround:
+            ans = ans._fix(context)
+        return ans
+
+    def __rdiv__(self, other, context=None):
+        """Swaps self/other and returns __div__."""
+        other = _convert_other(other)
+        if other is NotImplemented:
+            return other
+        return other.__div__(self, context=context)
+    __rtruediv__ = __rdiv__
+
+    def __divmod__(self, other, context=None):
+        """
+        (self // other, self % other)
+        """
+        return self._divide(other, 1, context)
+
+    def __rdivmod__(self, other, context=None):
+        """Swaps self/other and returns __divmod__."""
+        other = _convert_other(other)
+        if other is NotImplemented:
+            return other
+        return other.__divmod__(self, context=context)
+
+    def __mod__(self, other, context=None):
+        """
+        self % other
+        """
+        other = _convert_other(other)
+        if other is NotImplemented:
+            return other
+
+        if self._is_special or other._is_special:
+            ans = self._check_nans(other, context)
+            if ans:
+                return ans
+
+        if self and not other:
+            return context._raise_error(InvalidOperation, 'x % 0')
+
+        return self._divide(other, 3, context)[1]
+
+    def __rmod__(self, other, context=None):
+        """Swaps self/other and returns __mod__."""
+        other = _convert_other(other)
+        if other is NotImplemented:
+            return other
+        return other.__mod__(self, context=context)
+
+    def remainder_near(self, other, context=None):
+        """
+        Remainder nearest to 0-  abs(remainder-near) <= other/2
+        """
+        other = _convert_other(other)
+        if other is NotImplemented:
+            return other
+
+        if self._is_special or other._is_special:
+            ans = self._check_nans(other, context)
+            if ans:
+                return ans
+        if self and not other:
+            return context._raise_error(InvalidOperation, 'x % 0')
+
+        if context is None:
+            context = getcontext()
+        # If DivisionImpossible causes an error, do not leave Rounded/Inexact
+        # ignored in the calling function.
+        context = context._shallow_copy()
+        flags = context._ignore_flags(Rounded, Inexact)
+        #keep DivisionImpossible flags
+        (side, r) = self.__divmod__(other, context=context)
+
+        if r._isnan():
+            context._regard_flags(*flags)
+            return r
+
+        context = context._shallow_copy()
+        rounding = context._set_rounding_decision(NEVER_ROUND)
+
+        if other._sign:
+            comparison = other.__div__(Decimal(-2), context=context)
+        else:
+            comparison = other.__div__(Decimal(2), context=context)
+
+        context._set_rounding_decision(rounding)
+        context._regard_flags(*flags)
+
+        s1, s2 = r._sign, comparison._sign
+        r._sign, comparison._sign = 0, 0
+
+        if r < comparison:
+            r._sign, comparison._sign = s1, s2
+            #Get flags now
+            self.__divmod__(other, context=context)
+            return r._fix(context)
+        r._sign, comparison._sign = s1, s2
+
+        rounding = context._set_rounding_decision(NEVER_ROUND)
+
+        (side, r) = self.__divmod__(other, context=context)
+        context._set_rounding_decision(rounding)
+        if r._isnan():
+            return r
+
+        decrease = not side._iseven()
+        rounding = context._set_rounding_decision(NEVER_ROUND)
+        side = side.__abs__(context=context)
+        context._set_rounding_decision(rounding)
+
+        s1, s2 = r._sign, comparison._sign
+        r._sign, comparison._sign = 0, 0
+        if r > comparison or decrease and r == comparison:
+            r._sign, comparison._sign = s1, s2
+            context.prec += 1
+            if len(side.__add__(Decimal(1), context=context)._int) >= context.prec:
+                context.prec -= 1
+                return context._raise_error(DivisionImpossible)[1]
+            context.prec -= 1
+            if self._sign == other._sign:
+                r = r.__sub__(other, context=context)
+            else:
+                r = r.__add__(other, context=context)
+        else:
+            r._sign, comparison._sign = s1, s2
+
+        return r._fix(context)
+
+    def __floordiv__(self, other, context=None):
+        """self // other"""
+        return self._divide(other, 2, context)[0]
+
+    def __rfloordiv__(self, other, context=None):
+        """Swaps self/other and returns __floordiv__."""
+        other = _convert_other(other)
+        if other is NotImplemented:
+            return other
+        return other.__floordiv__(self, context=context)
+
+    def __float__(self):
+        """Float representation."""
+        return float(str(self))
+
+    def __int__(self):
+        """Converts self to an int, truncating if necessary."""
+        if self._is_special:
+            if self._isnan():
+                context = getcontext()
+                return context._raise_error(InvalidContext)
+            elif self._isinfinity():
+                raise OverflowError, "Cannot convert infinity to long"
+        if self._exp >= 0:
+            s = ''.join(map(str, self._int)) + '0'*self._exp
+        else:
+            s = ''.join(map(str, self._int))[:self._exp]
+        if s == '':
+            s = '0'
+        sign = '-'*self._sign
+        return int(sign + s)
+
+    def __long__(self):
+        """Converts to a long.
+
+        Equivalent to long(int(self))
+        """
+        return long(self.__int__())
+
+    def _fix(self, context):
+        """Round if it is necessary to keep self within prec precision.
+
+        Rounds and fixes the exponent.  Does not raise on a sNaN.
+
+        Arguments:
+        self - Decimal instance
+        context - context used.
+        """
+        if self._is_special:
+            return self
+        if context is None:
+            context = getcontext()
+        prec = context.prec
+        ans = self._fixexponents(context)
+        if len(ans._int) > prec:
+            ans = ans._round(prec, context=context)
+            ans = ans._fixexponents(context)
+        return ans
+
+    def _fixexponents(self, context):
+        """Fix the exponents and return a copy with the exponent in bounds.
+        Only call if known to not be a special value.
+        """
+        folddown = context._clamp
+        Emin = context.Emin
+        ans = self
+        ans_adjusted = ans.adjusted()
+        if ans_adjusted < Emin:
+            Etiny = context.Etiny()
+            if ans._exp < Etiny:
+                if not ans:
+                    ans = Decimal(self)
+                    ans._exp = Etiny
+                    context._raise_error(Clamped)
+                    return ans
+                ans = ans._rescale(Etiny, context=context)
+                #It isn't zero, and exp < Emin => subnormal
+                context._raise_error(Subnormal)
+                if context.flags[Inexact]:
+                    context._raise_error(Underflow)
+            else:
+                if ans:
+                    #Only raise subnormal if non-zero.
+                    context._raise_error(Subnormal)
+        else:
+            Etop = context.Etop()
+            if folddown and ans._exp > Etop:
+                context._raise_error(Clamped)
+                ans = ans._rescale(Etop, context=context)
+            else:
+                Emax = context.Emax
+                if ans_adjusted > Emax:
+                    if not ans:
+                        ans = Decimal(self)
+                        ans._exp = Emax
+                        context._raise_error(Clamped)
+                        return ans
+                    context._raise_error(Inexact)
+                    context._raise_error(Rounded)
+                    return context._raise_error(Overflow, 'above Emax', ans._sign)
+        return ans
+
+    def _round(self, prec=None, rounding=None, context=None):
+        """Returns a rounded version of self.
+
+        You can specify the precision or rounding method.  Otherwise, the
+        context determines it.
+        """
+
+        if self._is_special:
+            ans = self._check_nans(context=context)
+            if ans:
+                return ans
+
+            if self._isinfinity():
+                return Decimal(self)
+
+        if context is None:
+            context = getcontext()
+
+        if rounding is None:
+            rounding = context.rounding
+        if prec is None:
+            prec = context.prec
+
+        if not self:
+            if prec <= 0:
+                dig = (0,)
+                exp = len(self._int) - prec + self._exp
+            else:
+                dig = (0,) * prec
+                exp = len(self._int) + self._exp - prec
+            ans = Decimal((self._sign, dig, exp))
+            context._raise_error(Rounded)
+            return ans
+
+        if prec == 0:
+            temp = Decimal(self)
+            temp._int = (0,)+temp._int
+            prec = 1
+        elif prec < 0:
+            exp = self._exp + len(self._int) - prec - 1
+            temp = Decimal( (self._sign, (0, 1), exp))
+            prec = 1
+        else:
+            temp = Decimal(self)
+
+        numdigits = len(temp._int)
+        if prec == numdigits:
+            return temp
+
+        # See if we need to extend precision
+        expdiff = prec - numdigits
+        if expdiff > 0:
+            tmp = list(temp._int)
+            tmp.extend([0] * expdiff)
+            ans =  Decimal( (temp._sign, tmp, temp._exp - expdiff))
+            return ans
+
+        #OK, but maybe all the lost digits are 0.
+        lostdigits = self._int[expdiff:]
+        if lostdigits == (0,) * len(lostdigits):
+            ans = Decimal( (temp._sign, temp._int[:prec], temp._exp - expdiff))
+            #Rounded, but not Inexact
+            context._raise_error(Rounded)
+            return ans
+
+        # Okay, let's round and lose data
+
+        this_function = getattr(temp, self._pick_rounding_function[rounding])
+        #Now we've got the rounding function
+
+        if prec != context.prec:
+            context = context._shallow_copy()
+            context.prec = prec
+        ans = this_function(prec, expdiff, context)
+        context._raise_error(Rounded)
+        context._raise_error(Inexact, 'Changed in rounding')
+
+        return ans
+
+    _pick_rounding_function = {}
+
+    def _round_down(self, prec, expdiff, context):
+        """Also known as round-towards-0, truncate."""
+        return Decimal( (self._sign, self._int[:prec], self._exp - expdiff) )
+
+    def _round_half_up(self, prec, expdiff, context, tmp = None):
+        """Rounds 5 up (away from 0)"""
+
+        if tmp is None:
+            tmp = Decimal( (self._sign,self._int[:prec], self._exp - expdiff))
+        if self._int[prec] >= 5:
+            tmp = tmp._increment(round=0, context=context)
+            if len(tmp._int) > prec:
+                return Decimal( (tmp._sign, tmp._int[:-1], tmp._exp + 1))
+        return tmp
+
+    def _round_half_even(self, prec, expdiff, context):
+        """Round 5 to even, rest to nearest."""
+
+        tmp = Decimal( (self._sign, self._int[:prec], self._exp - expdiff))
+        half = (self._int[prec] == 5)
+        if half:
+            for digit in self._int[prec+1:]:
+                if digit != 0:
+                    half = 0
+                    break
+        if half:
+            if self._int[prec-1] & 1 == 0:
+                return tmp
+        return self._round_half_up(prec, expdiff, context, tmp)
+
+    def _round_half_down(self, prec, expdiff, context):
+        """Round 5 down"""
+
+        tmp = Decimal( (self._sign, self._int[:prec], self._exp - expdiff))
+        half = (self._int[prec] == 5)
+        if half:
+            for digit in self._int[prec+1:]:
+                if digit != 0:
+                    half = 0
+                    break
+        if half:
+            return tmp
+        return self._round_half_up(prec, expdiff, context, tmp)
+
+    def _round_up(self, prec, expdiff, context):
+        """Rounds away from 0."""
+        tmp = Decimal( (self._sign, self._int[:prec], self._exp - expdiff) )
+        for digit in self._int[prec:]:
+            if digit != 0:
+                tmp = tmp._increment(round=1, context=context)
+                if len(tmp._int) > prec:
+                    return Decimal( (tmp._sign, tmp._int[:-1], tmp._exp + 1))
+                else:
+                    return tmp
+        return tmp
+
+    def _round_ceiling(self, prec, expdiff, context):
+        """Rounds up (not away from 0 if negative.)"""
+        if self._sign:
+            return self._round_down(prec, expdiff, context)
+        else:
+            return self._round_up(prec, expdiff, context)
+
+    def _round_floor(self, prec, expdiff, context):
+        """Rounds down (not towards 0 if negative)"""
+        if not self._sign:
+            return self._round_down(prec, expdiff, context)
+        else:
+            return self._round_up(prec, expdiff, context)
+
+    def __pow__(self, n, modulo = None, context=None):
+        """Return self ** n (mod modulo)
+
+        If modulo is None (default), don't take it mod modulo.
+        """
+        n = _convert_other(n)
+        if n is NotImplemented:
+            return n
+
+        if context is None:
+            context = getcontext()
+
+        if self._is_special or n._is_special or n.adjusted() > 8:
+            #Because the spot << doesn't work with really big exponents
+            if n._isinfinity() or n.adjusted() > 8:
+                return context._raise_error(InvalidOperation, 'x ** INF')
+
+            ans = self._check_nans(n, context)
+            if ans:
+                return ans
+
+        if not n._isinteger():
+            return context._raise_error(InvalidOperation, 'x ** (non-integer)')
+
+        if not self and not n:
+            return context._raise_error(InvalidOperation, '0 ** 0')
+
+        if not n:
+            return Decimal(1)
+
+        if self == Decimal(1):
+            return Decimal(1)
+
+        sign = self._sign and not n._iseven()
+        n = int(n)
+
+        if self._isinfinity():
+            if modulo:
+                return context._raise_error(InvalidOperation, 'INF % x')
+            if n > 0:
+                return Infsign[sign]
+            return Decimal( (sign, (0,), 0) )
+
+        #with ludicrously large exponent, just raise an overflow and return inf.
+        if not modulo and n > 0 and (self._exp + len(self._int) - 1) * n > context.Emax \
+           and self:
+
+            tmp = Decimal('inf')
+            tmp._sign = sign
+            context._raise_error(Rounded)
+            context._raise_error(Inexact)
+            context._raise_error(Overflow, 'Big power', sign)
+            return tmp
+
+        elength = len(str(abs(n)))
+        firstprec = context.prec
+
+        if not modulo and firstprec + elength + 1 > DefaultContext.Emax:
+            return context._raise_error(Overflow, 'Too much precision.', sign)
+
+        mul = Decimal(self)
+        val = Decimal(1)
+        context = context._shallow_copy()
+        context.prec = firstprec + elength + 1
+        if n < 0:
+            #n is a long now, not Decimal instance
+            n = -n
+            mul = Decimal(1).__div__(mul, context=context)
+
+        spot = 1
+        while spot <= n:
+            spot <<= 1
+
+        spot >>= 1
+        #Spot is the highest power of 2 less than n
+        while spot:
+            val = val.__mul__(val, context=context)
+            if val._isinfinity():
+                val = Infsign[sign]
+                break
+            if spot & n:
+                val = val.__mul__(mul, context=context)
+            if modulo is not None:
+                val = val.__mod__(modulo, context=context)
+            spot >>= 1
+        context.prec = firstprec
+
+        if context._rounding_decision == ALWAYS_ROUND:
+            return val._fix(context)
+        return val
+
+    def __rpow__(self, other, context=None):
+        """Swaps self/other and returns __pow__."""
+        other = _convert_other(other)
+        if other is NotImplemented:
+            return other
+        return other.__pow__(self, context=context)
+
+    def normalize(self, context=None):
+        """Normalize- strip trailing 0s, change anything equal to 0 to 0e0"""
+
+        if self._is_special:
+            ans = self._check_nans(context=context)
+            if ans:
+                return ans
+
+        dup = self._fix(context)
+        if dup._isinfinity():
+            return dup
+
+        if not dup:
+            return Decimal( (dup._sign, (0,), 0) )
+        end = len(dup._int)
+        exp = dup._exp
+        while dup._int[end-1] == 0:
+            exp += 1
+            end -= 1
+        return Decimal( (dup._sign, dup._int[:end], exp) )
+
+
+    def quantize(self, exp, rounding=None, context=None, watchexp=1):
+        """Quantize self so its exponent is the same as that of exp.
+
+        Similar to self._rescale(exp._exp) but with error checking.
+        """
+        if self._is_special or exp._is_special:
+            ans = self._check_nans(exp, context)
+            if ans:
+                return ans
+
+            if exp._isinfinity() or self._isinfinity():
+                if exp._isinfinity() and self._isinfinity():
+                    return self  #if both are inf, it is OK
+                if context is None:
+                    context = getcontext()
+                return context._raise_error(InvalidOperation,
+                                        'quantize with one INF')
+        return self._rescale(exp._exp, rounding, context, watchexp)
+
+    def same_quantum(self, other):
+        """Test whether self and other have the same exponent.
+
+        same as self._exp == other._exp, except NaN == sNaN
+        """
+        if self._is_special or other._is_special:
+            if self._isnan() or other._isnan():
+                return self._isnan() and other._isnan() and True
+            if self._isinfinity() or other._isinfinity():
+                return self._isinfinity() and other._isinfinity() and True
+        return self._exp == other._exp
+
+    def _rescale(self, exp, rounding=None, context=None, watchexp=1):
+        """Rescales so that the exponent is exp.
+
+        exp = exp to scale to (an integer)
+        rounding = rounding version
+        watchexp: if set (default) an error is returned if exp is greater
+        than Emax or less than Etiny.
+        """
+        if context is None:
+            context = getcontext()
+
+        if self._is_special:
+            if self._isinfinity():
+                return context._raise_error(InvalidOperation, 'rescale with an INF')
+
+            ans = self._check_nans(context=context)
+            if ans:
+                return ans
+
+        if watchexp and (context.Emax  < exp or context.Etiny() > exp):
+            return context._raise_error(InvalidOperation, 'rescale(a, INF)')
+
+        if not self:
+            ans = Decimal(self)
+            ans._int = (0,)
+            ans._exp = exp
+            return ans
+
+        diff = self._exp - exp
+        digits = len(self._int) + diff
+
+        if watchexp and digits > context.prec:
+            return context._raise_error(InvalidOperation, 'Rescale > prec')
+
+        tmp = Decimal(self)
+        tmp._int = (0,) + tmp._int
+        digits += 1
+
+        if digits < 0:
+            tmp._exp = -digits + tmp._exp
+            tmp._int = (0,1)
+            digits = 1
+        tmp = tmp._round(digits, rounding, context=context)
+
+        if tmp._int[0] == 0 and len(tmp._int) > 1:
+            tmp._int = tmp._int[1:]
+        tmp._exp = exp
+
+        tmp_adjusted = tmp.adjusted()
+        if tmp and tmp_adjusted < context.Emin:
+            context._raise_error(Subnormal)
+        elif tmp and tmp_adjusted > context.Emax:
+            return context._raise_error(InvalidOperation, 'rescale(a, INF)')
+        return tmp
+
+    def to_integral(self, rounding=None, context=None):
+        """Rounds to the nearest integer, without raising inexact, rounded."""
+        if self._is_special:
+            ans = self._check_nans(context=context)
+            if ans:
+                return ans
+        if self._exp >= 0:
+            return self
+        if context is None:
+            context = getcontext()
+        flags = context._ignore_flags(Rounded, Inexact)
+        ans = self._rescale(0, rounding, context=context)
+        context._regard_flags(flags)
+        return ans
+
+    def sqrt(self, context=None):
+        """Return the square root of self.
+
+        Uses a converging algorithm (Xn+1 = 0.5*(Xn + self / Xn))
+        Should quadratically approach the right answer.
+        """
+        if self._is_special:
+            ans = self._check_nans(context=context)
+            if ans:
+                return ans
+
+            if self._isinfinity() and self._sign == 0:
+                return Decimal(self)
+
+        if not self:
+            #exponent = self._exp / 2, using round_down.
+            #if self._exp < 0:
+            #    exp = (self._exp+1) // 2
+            #else:
+            exp = (self._exp) // 2
+            if self._sign == 1:
+                #sqrt(-0) = -0
+                return Decimal( (1, (0,), exp))
+            else:
+                return Decimal( (0, (0,), exp))
+
+        if context is None:
+            context = getcontext()
+
+        if self._sign == 1:
+            return context._raise_error(InvalidOperation, 'sqrt(-x), x > 0')
+
+        tmp = Decimal(self)
+
+        expadd = tmp._exp // 2
+        if tmp._exp & 1:
+            tmp._int += (0,)
+            tmp._exp = 0
+        else:
+            tmp._exp = 0
+
+        context = context._shallow_copy()
+        flags = context._ignore_all_flags()
+        firstprec = context.prec
+        context.prec = 3
+        if tmp.adjusted() & 1 == 0:
+            ans = Decimal( (0, (8,1,9), tmp.adjusted()  - 2) )
+            ans = ans.__add__(tmp.__mul__(Decimal((0, (2,5,9), -2)),
+                                          context=context), context=context)
+            ans._exp -= 1 + tmp.adjusted() // 2
+        else:
+            ans = Decimal( (0, (2,5,9), tmp._exp + len(tmp._int)- 3) )
+            ans = ans.__add__(tmp.__mul__(Decimal((0, (8,1,9), -3)),
+                                          context=context), context=context)
+            ans._exp -= 1 + tmp.adjusted()  // 2
+
+        #ans is now a linear approximation.
+
+        Emax, Emin = context.Emax, context.Emin
+        context.Emax, context.Emin = DefaultContext.Emax, DefaultContext.Emin
+
+        half = Decimal('0.5')
+
+        maxp = firstprec + 2
+        rounding = context._set_rounding(ROUND_HALF_EVEN)
+        while 1:
+            context.prec = min(2*context.prec - 2, maxp)
+            ans = half.__mul__(ans.__add__(tmp.__div__(ans, context=context),
+                                           context=context), context=context)
+            if context.prec == maxp:
+                break
+
+        #round to the answer's precision-- the only error can be 1 ulp.
+        context.prec = firstprec
+        prevexp = ans.adjusted()
+        ans = ans._round(context=context)
+
+        #Now, check if the other last digits are better.
+        context.prec = firstprec + 1
+        # In case we rounded up another digit and we should actually go lower.
+        if prevexp != ans.adjusted():
+            ans._int += (0,)
+            ans._exp -= 1
+
+
+        lower = ans.__sub__(Decimal((0, (5,), ans._exp-1)), context=context)
+        context._set_rounding(ROUND_UP)
+        if lower.__mul__(lower, context=context) > (tmp):
+            ans = ans.__sub__(Decimal((0, (1,), ans._exp)), context=context)
+
+        else:
+            upper = ans.__add__(Decimal((0, (5,), ans._exp-1)),context=context)
+            context._set_rounding(ROUND_DOWN)
+            if upper.__mul__(upper, context=context) < tmp:
+                ans = ans.__add__(Decimal((0, (1,), ans._exp)),context=context)
+
+        ans._exp += expadd
+
+        context.prec = firstprec
+        context.rounding = rounding
+        ans = ans._fix(context)
+
+        rounding = context._set_rounding_decision(NEVER_ROUND)
+        if not ans.__mul__(ans, context=context) == self:
+            # Only rounded/inexact if here.
+            context._regard_flags(flags)
+            context._raise_error(Rounded)
+            context._raise_error(Inexact)
+        else:
+            #Exact answer, so let's set the exponent right.
+            #if self._exp < 0:
+            #    exp = (self._exp +1)// 2
+            #else:
+            exp = self._exp // 2
+            context.prec += ans._exp - exp
+            ans = ans._rescale(exp, context=context)
+            context.prec = firstprec
+            context._regard_flags(flags)
+        context.Emax, context.Emin = Emax, Emin
+
+        return ans._fix(context)
+
+    def max(self, other, context=None):
+        """Returns the larger value.
+
+        like max(self, other) except if one is not a number, returns
+        NaN (and signals if one is sNaN).  Also rounds.
+        """
+        other = _convert_other(other)
+        if other is NotImplemented:
+            return other
+
+        if self._is_special or other._is_special:
+            # if one operand is a quiet NaN and the other is number, then the
+            # number is always returned
+            sn = self._isnan()
+            on = other._isnan()
+            if sn or on:
+                if on == 1 and sn != 2:
+                    return self
+                if sn == 1 and on != 2:
+                    return other
+                return self._check_nans(other, context)
+
+        ans = self
+        c = self.__cmp__(other)
+        if c == 0:
+            # if both operands are finite and equal in numerical value
+            # then an ordering is applied:
+            #
+            # if the signs differ then max returns the operand with the
+            # positive sign and min returns the operand with the negative sign
+            #
+            # if the signs are the same then the exponent is used to select
+            # the result.
+            if self._sign != other._sign:
+                if self._sign:
+                    ans = other
+            elif self._exp < other._exp and not self._sign:
+                ans = other
+            elif self._exp > other._exp and self._sign:
+                ans = other
+        elif c == -1:
+            ans = other
+
+        if context is None:
+            context = getcontext()
+        if context._rounding_decision == ALWAYS_ROUND:
+            return ans._fix(context)
+        return ans
+
+    def min(self, other, context=None):
+        """Returns the smaller value.
+
+        like min(self, other) except if one is not a number, returns
+        NaN (and signals if one is sNaN).  Also rounds.
+        """
+        other = _convert_other(other)
+        if other is NotImplemented:
+            return other
+
+        if self._is_special or other._is_special:
+            # if one operand is a quiet NaN and the other is number, then the
+            # number is always returned
+            sn = self._isnan()
+            on = other._isnan()
+            if sn or on:
+                if on == 1 and sn != 2:
+                    return self
+                if sn == 1 and on != 2:
+                    return other
+                return self._check_nans(other, context)
+
+        ans = self
+        c = self.__cmp__(other)
+        if c == 0:
+            # if both operands are finite and equal in numerical value
+            # then an ordering is applied:
+            #
+            # if the signs differ then max returns the operand with the
+            # positive sign and min returns the operand with the negative sign
+            #
+            # if the signs are the same then the exponent is used to select
+            # the result.
+            if self._sign != other._sign:
+                if other._sign:
+                    ans = other
+            elif self._exp > other._exp and not self._sign:
+                ans = other
+            elif self._exp < other._exp and self._sign:
+                ans = other
+        elif c == 1:
+            ans = other
+
+        if context is None:
+            context = getcontext()
+        if context._rounding_decision == ALWAYS_ROUND:
+            return ans._fix(context)
+        return ans
+
+    def _isinteger(self):
+        """Returns whether self is an integer"""
+        if self._exp >= 0:
+            return True
+        rest = self._int[self._exp:]
+        return rest == (0,)*len(rest)
+
+    def _iseven(self):
+        """Returns 1 if self is even.  Assumes self is an integer."""
+        if self._exp > 0:
+            return 1
+        return self._int[-1+self._exp] & 1 == 0
+
+    def adjusted(self):
+        """Return the adjusted exponent of self"""
+        try:
+            return self._exp + len(self._int) - 1
+        #If NaN or Infinity, self._exp is string
+        except TypeError:
+            return 0
+
+    # support for pickling, copy, and deepcopy
+    def __reduce__(self):
+        return (self.__class__, (str(self),))
+
+    def __copy__(self):
+        if type(self) == Decimal:
+            return self     # I'm immutable; therefore I am my own clone
+        return self.__class__(str(self))
+
+    def __deepcopy__(self, memo):
+        if type(self) == Decimal:
+            return self     # My components are also immutable
+        return self.__class__(str(self))
+
+##### Context class ###########################################
+
+
+# get rounding method function:
+rounding_functions = [name for name in Decimal.__dict__.keys() if name.startswith('_round_')]
+for name in rounding_functions:
+    #name is like _round_half_even, goes to the global ROUND_HALF_EVEN value.
+    globalname = name[1:].upper()
+    val = globals()[globalname]
+    Decimal._pick_rounding_function[val] = name
+
+del name, val, globalname, rounding_functions
+
+class ContextManager(object):
+    """Helper class to simplify Context management.
+
+    Sample usage:
+
+    with decimal.ExtendedContext:
+        s = ...
+    return +s # Convert result to normal precision
+
+    with decimal.getcontext() as ctx:
+        ctx.prec += 2
+        s = ...
+    return +s
+
+    """
+    def __init__(self, new_context):
+        self.new_context = new_context
+    def __enter__(self):
+        self.saved_context = getcontext()
+        setcontext(self.new_context)
+        return self.new_context
+    def __exit__(self, t, v, tb):
+        setcontext(self.saved_context)
+
+class Context(object):
+    """Contains the context for a Decimal instance.
+
+    Contains:
+    prec - precision (for use in rounding, division, square roots..)
+    rounding - rounding type. (how you round)
+    _rounding_decision - ALWAYS_ROUND, NEVER_ROUND -- do you round?
+    traps - If traps[exception] = 1, then the exception is
+                    raised when it is caused.  Otherwise, a value is
+                    substituted in.
+    flags  - When an exception is caused, flags[exception] is incremented.
+             (Whether or not the trap_enabler is set)
+             Should be reset by user of Decimal instance.
+    Emin -   Minimum exponent
+    Emax -   Maximum exponent
+    capitals -      If 1, 1*10^1 is printed as 1E+1.
+                    If 0, printed as 1e1
+    _clamp - If 1, change exponents if too high (Default 0)
+    """
+
+    def __init__(self, prec=None, rounding=None,
+                 traps=None, flags=None,
+                 _rounding_decision=None,
+                 Emin=None, Emax=None,
+                 capitals=None, _clamp=0,
+                 _ignored_flags=None):
+        if flags is None:
+            flags = []
+        if _ignored_flags is None:
+            _ignored_flags = []
+        if not isinstance(flags, dict):
+            flags = dict([(s,s in flags) for s in _signals])
+            del s
+        if traps is not None and not isinstance(traps, dict):
+            traps = dict([(s,s in traps) for s in _signals])
+            del s
+        for name, val in locals().items():
+            if val is None:
+                setattr(self, name, _copy.copy(getattr(DefaultContext, name)))
+            else:
+                setattr(self, name, val)
+        del self.self
+
+    def __repr__(self):
+        """Show the current context."""
+        s = []
+        s.append('Context(prec=%(prec)d, rounding=%(rounding)s, Emin=%(Emin)d, Emax=%(Emax)d, capitals=%(capitals)d' % vars(self))
+        s.append('flags=[' + ', '.join([f.__name__ for f, v in self.flags.items() if v]) + ']')
+        s.append('traps=[' + ', '.join([t.__name__ for t, v in self.traps.items() if v]) + ']')
+        return ', '.join(s) + ')'
+
+    def get_manager(self):
+        return ContextManager(self.copy())
+
+    def clear_flags(self):
+        """Reset all flags to zero"""
+        for flag in self.flags:
+            self.flags[flag] = 0
+
+    def _shallow_copy(self):
+        """Returns a shallow copy from self."""
+        nc = Context(self.prec, self.rounding, self.traps, self.flags,
+                         self._rounding_decision, self.Emin, self.Emax,
+                         self.capitals, self._clamp, self._ignored_flags)
+        return nc
+
+    def copy(self):
+        """Returns a deep copy from self."""
+        nc = Context(self.prec, self.rounding, self.traps.copy(), self.flags.copy(),
+                         self._rounding_decision, self.Emin, self.Emax,
+                         self.capitals, self._clamp, self._ignored_flags)
+        return nc
+    __copy__ = copy
+
+    def _raise_error(self, condition, explanation = None, *args):
+        """Handles an error
+
+        If the flag is in _ignored_flags, returns the default response.
+        Otherwise, it increments the flag, then, if the corresponding
+        trap_enabler is set, it reaises the exception.  Otherwise, it returns
+        the default value after incrementing the flag.
+        """
+        error = _condition_map.get(condition, condition)
+        if error in self._ignored_flags:
+            #Don't touch the flag
+            return error().handle(self, *args)
+
+        self.flags[error] += 1
+        if not self.traps[error]:
+            #The errors define how to handle themselves.
+            return condition().handle(self, *args)
+
+        # Errors should only be risked on copies of the context
+        #self._ignored_flags = []
+        raise error, explanation
+
+    def _ignore_all_flags(self):
+        """Ignore all flags, if they are raised"""
+        return self._ignore_flags(*_signals)
+
+    def _ignore_flags(self, *flags):
+        """Ignore the flags, if they are raised"""
+        # Do not mutate-- This way, copies of a context leave the original
+        # alone.
+        self._ignored_flags = (self._ignored_flags + list(flags))
+        return list(flags)
+
+    def _regard_flags(self, *flags):
+        """Stop ignoring the flags, if they are raised"""
+        if flags and isinstance(flags[0], (tuple,list)):
+            flags = flags[0]
+        for flag in flags:
+            self._ignored_flags.remove(flag)
+
+    def __hash__(self):
+        """A Context cannot be hashed."""
+        # We inherit object.__hash__, so we must deny this explicitly
+        raise TypeError, "Cannot hash a Context."
+
+    def Etiny(self):
+        """Returns Etiny (= Emin - prec + 1)"""
+        return int(self.Emin - self.prec + 1)
+
+    def Etop(self):
+        """Returns maximum exponent (= Emax - prec + 1)"""
+        return int(self.Emax - self.prec + 1)
+
+    def _set_rounding_decision(self, type):
+        """Sets the rounding decision.
+
+        Sets the rounding decision, and returns the current (previous)
+        rounding decision.  Often used like:
+
+        context = context._shallow_copy()
+        # That so you don't change the calling context
+        # if an error occurs in the middle (say DivisionImpossible is raised).
+
+        rounding = context._set_rounding_decision(NEVER_ROUND)
+        instance = instance / Decimal(2)
+        context._set_rounding_decision(rounding)
+
+        This will make it not round for that operation.
+        """
+
+        rounding = self._rounding_decision
+        self._rounding_decision = type
+        return rounding
+
+    def _set_rounding(self, type):
+        """Sets the rounding type.
+
+        Sets the rounding type, and returns the current (previous)
+        rounding type.  Often used like:
+
+        context = context.copy()
+        # so you don't change the calling context
+        # if an error occurs in the middle.
+        rounding = context._set_rounding(ROUND_UP)
+        val = self.__sub__(other, context=context)
+        context._set_rounding(rounding)
+
+        This will make it round up for that operation.
+        """
+        rounding = self.rounding
+        self.rounding= type
+        return rounding
+
+    def create_decimal(self, num='0'):
+        """Creates a new Decimal instance but using self as context."""
+        d = Decimal(num, context=self)
+        return d._fix(self)
+
+    #Methods
+    def abs(self, a):
+        """Returns the absolute value of the operand.
+
+        If the operand is negative, the result is the same as using the minus
+        operation on the operand. Otherwise, the result is the same as using
+        the plus operation on the operand.
+
+        >>> ExtendedContext.abs(Decimal('2.1'))
+        Decimal("2.1")
+        >>> ExtendedContext.abs(Decimal('-100'))
+        Decimal("100")
+        >>> ExtendedContext.abs(Decimal('101.5'))
+        Decimal("101.5")
+        >>> ExtendedContext.abs(Decimal('-101.5'))
+        Decimal("101.5")
+        """
+        return a.__abs__(context=self)
+
+    def add(self, a, b):
+        """Return the sum of the two operands.
+
+        >>> ExtendedContext.add(Decimal('12'), Decimal('7.00'))
+        Decimal("19.00")
+        >>> ExtendedContext.add(Decimal('1E+2'), Decimal('1.01E+4'))
+        Decimal("1.02E+4")
+        """
+        return a.__add__(b, context=self)
+
+    def _apply(self, a):
+        return str(a._fix(self))
+
+    def compare(self, a, b):
+        """Compares values numerically.
+
+        If the signs of the operands differ, a value representing each operand
+        ('-1' if the operand is less than zero, '0' if the operand is zero or
+        negative zero, or '1' if the operand is greater than zero) is used in
+        place of that operand for the comparison instead of the actual
+        operand.
+
+        The comparison is then effected by subtracting the second operand from
+        the first and then returning a value according to the result of the
+        subtraction: '-1' if the result is less than zero, '0' if the result is
+        zero or negative zero, or '1' if the result is greater than zero.
+
+        >>> ExtendedContext.compare(Decimal('2.1'), Decimal('3'))
+        Decimal("-1")
+        >>> ExtendedContext.compare(Decimal('2.1'), Decimal('2.1'))
+        Decimal("0")
+        >>> ExtendedContext.compare(Decimal('2.1'), Decimal('2.10'))
+        Decimal("0")
+        >>> ExtendedContext.compare(Decimal('3'), Decimal('2.1'))
+        Decimal("1")
+        >>> ExtendedContext.compare(Decimal('2.1'), Decimal('-3'))
+        Decimal("1")
+        >>> ExtendedContext.compare(Decimal('-3'), Decimal('2.1'))
+        Decimal("-1")
+        """
+        return a.compare(b, context=self)
+
+    def divide(self, a, b):
+        """Decimal division in a specified context.
+
+        >>> ExtendedContext.divide(Decimal('1'), Decimal('3'))
+        Decimal("0.333333333")
+        >>> ExtendedContext.divide(Decimal('2'), Decimal('3'))
+        Decimal("0.666666667")
+        >>> ExtendedContext.divide(Decimal('5'), Decimal('2'))
+        Decimal("2.5")
+        >>> ExtendedContext.divide(Decimal('1'), Decimal('10'))
+        Decimal("0.1")
+        >>> ExtendedContext.divide(Decimal('12'), Decimal('12'))
+        Decimal("1")
+        >>> ExtendedContext.divide(Decimal('8.00'), Decimal('2'))
+        Decimal("4.00")
+        >>> ExtendedContext.divide(Decimal('2.400'), Decimal('2.0'))
+        Decimal("1.20")
+        >>> ExtendedContext.divide(Decimal('1000'), Decimal('100'))
+        Decimal("10")
+        >>> ExtendedContext.divide(Decimal('1000'), Decimal('1'))
+        Decimal("1000")
+        >>> ExtendedContext.divide(Decimal('2.40E+6'), Decimal('2'))
+        Decimal("1.20E+6")
+        """
+        return a.__div__(b, context=self)
+
+    def divide_int(self, a, b):
+        """Divides two numbers and returns the integer part of the result.
+
+        >>> ExtendedContext.divide_int(Decimal('2'), Decimal('3'))
+        Decimal("0")
+        >>> ExtendedContext.divide_int(Decimal('10'), Decimal('3'))
+        Decimal("3")
+        >>> ExtendedContext.divide_int(Decimal('1'), Decimal('0.3'))
+        Decimal("3")
+        """
+        return a.__floordiv__(b, context=self)
+
+    def divmod(self, a, b):
+        return a.__divmod__(b, context=self)
+
+    def max(self, a,b):
+        """max compares two values numerically and returns the maximum.
+
+        If either operand is a NaN then the general rules apply.
+        Otherwise, the operands are compared as as though by the compare
+        operation. If they are numerically equal then the left-hand operand
+        is chosen as the result. Otherwise the maximum (closer to positive
+        infinity) of the two operands is chosen as the result.
+
+        >>> ExtendedContext.max(Decimal('3'), Decimal('2'))
+        Decimal("3")
+        >>> ExtendedContext.max(Decimal('-10'), Decimal('3'))
+        Decimal("3")
+        >>> ExtendedContext.max(Decimal('1.0'), Decimal('1'))
+        Decimal("1")
+        >>> ExtendedContext.max(Decimal('7'), Decimal('NaN'))
+        Decimal("7")
+        """
+        return a.max(b, context=self)
+
+    def min(self, a,b):
+        """min compares two values numerically and returns the minimum.
+
+        If either operand is a NaN then the general rules apply.
+        Otherwise, the operands are compared as as though by the compare
+        operation. If they are numerically equal then the left-hand operand
+        is chosen as the result. Otherwise the minimum (closer to negative
+        infinity) of the two operands is chosen as the result.
+
+        >>> ExtendedContext.min(Decimal('3'), Decimal('2'))
+        Decimal("2")
+        >>> ExtendedContext.min(Decimal('-10'), Decimal('3'))
+        Decimal("-10")
+        >>> ExtendedContext.min(Decimal('1.0'), Decimal('1'))
+        Decimal("1.0")
+        >>> ExtendedContext.min(Decimal('7'), Decimal('NaN'))
+        Decimal("7")
+        """
+        return a.min(b, context=self)
+
+    def minus(self, a):
+        """Minus corresponds to unary prefix minus in Python.
+
+        The operation is evaluated using the same rules as subtract; the
+        operation minus(a) is calculated as subtract('0', a) where the '0'
+        has the same exponent as the operand.
+
+        >>> ExtendedContext.minus(Decimal('1.3'))
+        Decimal("-1.3")
+        >>> ExtendedContext.minus(Decimal('-1.3'))
+        Decimal("1.3")
+        """
+        return a.__neg__(context=self)
+
+    def multiply(self, a, b):
+        """multiply multiplies two operands.
+
+        If either operand is a special value then the general rules apply.
+        Otherwise, the operands are multiplied together ('long multiplication'),
+        resulting in a number which may be as long as the sum of the lengths
+        of the two operands.
+
+        >>> ExtendedContext.multiply(Decimal('1.20'), Decimal('3'))
+        Decimal("3.60")
+        >>> ExtendedContext.multiply(Decimal('7'), Decimal('3'))
+        Decimal("21")
+        >>> ExtendedContext.multiply(Decimal('0.9'), Decimal('0.8'))
+        Decimal("0.72")
+        >>> ExtendedContext.multiply(Decimal('0.9'), Decimal('-0'))
+        Decimal("-0.0")
+        >>> ExtendedContext.multiply(Decimal('654321'), Decimal('654321'))
+        Decimal("4.28135971E+11")
+        """
+        return a.__mul__(b, context=self)
+
+    def normalize(self, a):
+        """normalize reduces an operand to its simplest form.
+
+        Essentially a plus operation with all trailing zeros removed from the
+        result.
+
+        >>> ExtendedContext.normalize(Decimal('2.1'))
+        Decimal("2.1")
+        >>> ExtendedContext.normalize(Decimal('-2.0'))
+        Decimal("-2")
+        >>> ExtendedContext.normalize(Decimal('1.200'))
+        Decimal("1.2")
+        >>> ExtendedContext.normalize(Decimal('-120'))
+        Decimal("-1.2E+2")
+        >>> ExtendedContext.normalize(Decimal('120.00'))
+        Decimal("1.2E+2")
+        >>> ExtendedContext.normalize(Decimal('0.00'))
+        Decimal("0")
+        """
+        return a.normalize(context=self)
+
+    def plus(self, a):
+        """Plus corresponds to unary prefix plus in Python.
+
+        The operation is evaluated using the same rules as add; the
+        operation plus(a) is calculated as add('0', a) where the '0'
+        has the same exponent as the operand.
+
+        >>> ExtendedContext.plus(Decimal('1.3'))
+        Decimal("1.3")
+        >>> ExtendedContext.plus(Decimal('-1.3'))
+        Decimal("-1.3")
+        """
+        return a.__pos__(context=self)
+
+    def power(self, a, b, modulo=None):
+        """Raises a to the power of b, to modulo if given.
+
+        The right-hand operand must be a whole number whose integer part (after
+        any exponent has been applied) has no more than 9 digits and whose
+        fractional part (if any) is all zeros before any rounding. The operand
+        may be positive, negative, or zero; if negative, the absolute value of
+        the power is used, and the left-hand operand is inverted (divided into
+        1) before use.
+
+        If the increased precision needed for the intermediate calculations
+        exceeds the capabilities of the implementation then an Invalid operation
+        condition is raised.
+
+        If, when raising to a negative power, an underflow occurs during the
+        division into 1, the operation is not halted at that point but
+        continues.
+
+        >>> ExtendedContext.power(Decimal('2'), Decimal('3'))
+        Decimal("8")
+        >>> ExtendedContext.power(Decimal('2'), Decimal('-3'))
+        Decimal("0.125")
+        >>> ExtendedContext.power(Decimal('1.7'), Decimal('8'))
+        Decimal("69.7575744")
+        >>> ExtendedContext.power(Decimal('Infinity'), Decimal('-2'))
+        Decimal("0")
+        >>> ExtendedContext.power(Decimal('Infinity'), Decimal('-1'))
+        Decimal("0")
+        >>> ExtendedContext.power(Decimal('Infinity'), Decimal('0'))
+        Decimal("1")
+        >>> ExtendedContext.power(Decimal('Infinity'), Decimal('1'))
+        Decimal("Infinity")
+        >>> ExtendedContext.power(Decimal('Infinity'), Decimal('2'))
+        Decimal("Infinity")
+        >>> ExtendedContext.power(Decimal('-Infinity'), Decimal('-2'))
+        Decimal("0")
+        >>> ExtendedContext.power(Decimal('-Infinity'), Decimal('-1'))
+        Decimal("-0")
+        >>> ExtendedContext.power(Decimal('-Infinity'), Decimal('0'))
+        Decimal("1")
+        >>> ExtendedContext.power(Decimal('-Infinity'), Decimal('1'))
+        Decimal("-Infinity")
+        >>> ExtendedContext.power(Decimal('-Infinity'), Decimal('2'))
+        Decimal("Infinity")
+        >>> ExtendedContext.power(Decimal('0'), Decimal('0'))
+        Decimal("NaN")
+        """
+        return a.__pow__(b, modulo, context=self)
+
+    def quantize(self, a, b):
+        """Returns a value equal to 'a' (rounded) and having the exponent of 'b'.
+
+        The coefficient of the result is derived from that of the left-hand
+        operand. It may be rounded using the current rounding setting (if the
+        exponent is being increased), multiplied by a positive power of ten (if
+        the exponent is being decreased), or is unchanged (if the exponent is
+        already equal to that of the right-hand operand).
+
+        Unlike other operations, if the length of the coefficient after the
+        quantize operation would be greater than precision then an Invalid
+        operation condition is raised. This guarantees that, unless there is an
+        error condition, the exponent of the result of a quantize is always
+        equal to that of the right-hand operand.
+
+        Also unlike other operations, quantize will never raise Underflow, even
+        if the result is subnormal and inexact.
+
+        >>> ExtendedContext.quantize(Decimal('2.17'), Decimal('0.001'))
+        Decimal("2.170")
+        >>> ExtendedContext.quantize(Decimal('2.17'), Decimal('0.01'))
+        Decimal("2.17")
+        >>> ExtendedContext.quantize(Decimal('2.17'), Decimal('0.1'))
+        Decimal("2.2")
+        >>> ExtendedContext.quantize(Decimal('2.17'), Decimal('1e+0'))
+        Decimal("2")
+        >>> ExtendedContext.quantize(Decimal('2.17'), Decimal('1e+1'))
+        Decimal("0E+1")
+        >>> ExtendedContext.quantize(Decimal('-Inf'), Decimal('Infinity'))
+        Decimal("-Infinity")
+        >>> ExtendedContext.quantize(Decimal('2'), Decimal('Infinity'))
+        Decimal("NaN")
+        >>> ExtendedContext.quantize(Decimal('-0.1'), Decimal('1'))
+        Decimal("-0")
+        >>> ExtendedContext.quantize(Decimal('-0'), Decimal('1e+5'))
+        Decimal("-0E+5")
+        >>> ExtendedContext.quantize(Decimal('+35236450.6'), Decimal('1e-2'))
+        Decimal("NaN")
+        >>> ExtendedContext.quantize(Decimal('-35236450.6'), Decimal('1e-2'))
+        Decimal("NaN")
+        >>> ExtendedContext.quantize(Decimal('217'), Decimal('1e-1'))
+        Decimal("217.0")
+        >>> ExtendedContext.quantize(Decimal('217'), Decimal('1e-0'))
+        Decimal("217")
+        >>> ExtendedContext.quantize(Decimal('217'), Decimal('1e+1'))
+        Decimal("2.2E+2")
+        >>> ExtendedContext.quantize(Decimal('217'), Decimal('1e+2'))
+        Decimal("2E+2")
+        """
+        return a.quantize(b, context=self)
+
+    def remainder(self, a, b):
+        """Returns the remainder from integer division.
+
+        The result is the residue of the dividend after the operation of
+        calculating integer division as described for divide-integer, rounded to
+        precision digits if necessary. The sign of the result, if non-zero, is
+        the same as that of the original dividend.
+
+        This operation will fail under the same conditions as integer division
+        (that is, if integer division on the same two operands would fail, the
+        remainder cannot be calculated).
+
+        >>> ExtendedContext.remainder(Decimal('2.1'), Decimal('3'))
+        Decimal("2.1")
+        >>> ExtendedContext.remainder(Decimal('10'), Decimal('3'))
+        Decimal("1")
+        >>> ExtendedContext.remainder(Decimal('-10'), Decimal('3'))
+        Decimal("-1")
+        >>> ExtendedContext.remainder(Decimal('10.2'), Decimal('1'))
+        Decimal("0.2")
+        >>> ExtendedContext.remainder(Decimal('10'), Decimal('0.3'))
+        Decimal("0.1")
+        >>> ExtendedContext.remainder(Decimal('3.6'), Decimal('1.3'))
+        Decimal("1.0")
+        """
+        return a.__mod__(b, context=self)
+
+    def remainder_near(self, a, b):
+        """Returns to be "a - b * n", where n is the integer nearest the exact
+        value of "x / b" (if two integers are equally near then the even one
+        is chosen). If the result is equal to 0 then its sign will be the
+        sign of a.
+
+        This operation will fail under the same conditions as integer division
+        (that is, if integer division on the same two operands would fail, the
+        remainder cannot be calculated).
+
+        >>> ExtendedContext.remainder_near(Decimal('2.1'), Decimal('3'))
+        Decimal("-0.9")
+        >>> ExtendedContext.remainder_near(Decimal('10'), Decimal('6'))
+        Decimal("-2")
+        >>> ExtendedContext.remainder_near(Decimal('10'), Decimal('3'))
+        Decimal("1")
+        >>> ExtendedContext.remainder_near(Decimal('-10'), Decimal('3'))
+        Decimal("-1")
+        >>> ExtendedContext.remainder_near(Decimal('10.2'), Decimal('1'))
+        Decimal("0.2")
+        >>> ExtendedContext.remainder_near(Decimal('10'), Decimal('0.3'))
+        Decimal("0.1")
+        >>> ExtendedContext.remainder_near(Decimal('3.6'), Decimal('1.3'))
+        Decimal("-0.3")
+        """
+        return a.remainder_near(b, context=self)
+
+    def same_quantum(self, a, b):
+        """Returns True if the two operands have the same exponent.
+
+        The result is never affected by either the sign or the coefficient of
+        either operand.
+
+        >>> ExtendedContext.same_quantum(Decimal('2.17'), Decimal('0.001'))
+        False
+        >>> ExtendedContext.same_quantum(Decimal('2.17'), Decimal('0.01'))
+        True
+        >>> ExtendedContext.same_quantum(Decimal('2.17'), Decimal('1'))
+        False
+        >>> ExtendedContext.same_quantum(Decimal('Inf'), Decimal('-Inf'))
+        True
+        """
+        return a.same_quantum(b)
+
+    def sqrt(self, a):
+        """Returns the square root of a non-negative number to context precision.
+
+        If the result must be inexact, it is rounded using the round-half-even
+        algorithm.
+
+        >>> ExtendedContext.sqrt(Decimal('0'))
+        Decimal("0")
+        >>> ExtendedContext.sqrt(Decimal('-0'))
+        Decimal("-0")
+        >>> ExtendedContext.sqrt(Decimal('0.39'))
+        Decimal("0.624499800")
+        >>> ExtendedContext.sqrt(Decimal('100'))
+        Decimal("10")
+        >>> ExtendedContext.sqrt(Decimal('1'))
+        Decimal("1")
+        >>> ExtendedContext.sqrt(Decimal('1.0'))
+        Decimal("1.0")
+        >>> ExtendedContext.sqrt(Decimal('1.00'))
+        Decimal("1.0")
+        >>> ExtendedContext.sqrt(Decimal('7'))
+        Decimal("2.64575131")
+        >>> ExtendedContext.sqrt(Decimal('10'))
+        Decimal("3.16227766")
+        >>> ExtendedContext.prec
+        9
+        """
+        return a.sqrt(context=self)
+
+    def subtract(self, a, b):
+        """Return the difference between the two operands.
+
+        >>> ExtendedContext.subtract(Decimal('1.3'), Decimal('1.07'))
+        Decimal("0.23")
+        >>> ExtendedContext.subtract(Decimal('1.3'), Decimal('1.30'))
+        Decimal("0.00")
+        >>> ExtendedContext.subtract(Decimal('1.3'), Decimal('2.07'))
+        Decimal("-0.77")
+        """
+        return a.__sub__(b, context=self)
+
+    def to_eng_string(self, a):
+        """Converts a number to a string, using scientific notation.
+
+        The operation is not affected by the context.
+        """
+        return a.to_eng_string(context=self)
+
+    def to_sci_string(self, a):
+        """Converts a number to a string, using scientific notation.
+
+        The operation is not affected by the context.
+        """
+        return a.__str__(context=self)
+
+    def to_integral(self, a):
+        """Rounds to an integer.
+
+        When the operand has a negative exponent, the result is the same
+        as using the quantize() operation using the given operand as the
+        left-hand-operand, 1E+0 as the right-hand-operand, and the precision
+        of the operand as the precision setting, except that no flags will
+        be set. The rounding mode is taken from the context.
+
+        >>> ExtendedContext.to_integral(Decimal('2.1'))
+        Decimal("2")
+        >>> ExtendedContext.to_integral(Decimal('100'))
+        Decimal("100")
+        >>> ExtendedContext.to_integral(Decimal('100.0'))
+        Decimal("100")
+        >>> ExtendedContext.to_integral(Decimal('101.5'))
+        Decimal("102")
+        >>> ExtendedContext.to_integral(Decimal('-101.5'))
+        Decimal("-102")
+        >>> ExtendedContext.to_integral(Decimal('10E+5'))
+        Decimal("1.0E+6")
+        >>> ExtendedContext.to_integral(Decimal('7.89E+77'))
+        Decimal("7.89E+77")
+        >>> ExtendedContext.to_integral(Decimal('-Inf'))
+        Decimal("-Infinity")
+        """
+        return a.to_integral(context=self)
+
+class _WorkRep(object):
+    __slots__ = ('sign','int','exp')
+    # sign: 0 or 1
+    # int:  int or long
+    # exp:  None, int, or string
+
+    def __init__(self, value=None):
+        if value is None:
+            self.sign = None
+            self.int = 0
+            self.exp = None
+        elif isinstance(value, Decimal):
+            self.sign = value._sign
+            cum = 0
+            for digit  in value._int:
+                cum = cum * 10 + digit
+            self.int = cum
+            self.exp = value._exp
+        else:
+            # assert isinstance(value, tuple)
+            self.sign = value[0]
+            self.int = value[1]
+            self.exp = value[2]
+
+    def __repr__(self):
+        return "(%r, %r, %r)" % (self.sign, self.int, self.exp)
+
+    __str__ = __repr__
+
+
+
+def _normalize(op1, op2, shouldround = 0, prec = 0):
+    """Normalizes op1, op2 to have the same exp and length of coefficient.
+
+    Done during addition.
+    """
+    # Yes, the exponent is a long, but the difference between exponents
+    # must be an int-- otherwise you'd get a big memory problem.
+    numdigits = int(op1.exp - op2.exp)
+    if numdigits < 0:
+        numdigits = -numdigits
+        tmp = op2
+        other = op1
+    else:
+        tmp = op1
+        other = op2
+
+
+    if shouldround and numdigits > prec + 1:
+        # Big difference in exponents - check the adjusted exponents
+        tmp_len = len(str(tmp.int))
+        other_len = len(str(other.int))
+        if numdigits > (other_len + prec + 1 - tmp_len):
+            # If the difference in adjusted exps is > prec+1, we know
+            # other is insignificant, so might as well put a 1 after the precision.
+            # (since this is only for addition.)  Also stops use of massive longs.
+
+            extend = prec + 2 - tmp_len
+            if extend <= 0:
+                extend = 1
+            tmp.int *= 10 ** extend
+            tmp.exp -= extend
+            other.int = 1
+            other.exp = tmp.exp
+            return op1, op2
+
+    tmp.int *= 10 ** numdigits
+    tmp.exp -= numdigits
+    return op1, op2
+
+def _adjust_coefficients(op1, op2):
+    """Adjust op1, op2 so that op2.int * 10 > op1.int >= op2.int.
+
+    Returns the adjusted op1, op2 as well as the change in op1.exp-op2.exp.
+
+    Used on _WorkRep instances during division.
+    """
+    adjust = 0
+    #If op1 is smaller, make it larger
+    while op2.int > op1.int:
+        op1.int *= 10
+        op1.exp -= 1
+        adjust += 1
+
+    #If op2 is too small, make it larger
+    while op1.int >= (10 * op2.int):
+        op2.int *= 10
+        op2.exp -= 1
+        adjust -= 1
+
+    return op1, op2, adjust
+
+##### Helper Functions ########################################
+
+def _convert_other(other):
+    """Convert other to Decimal.
+
+    Verifies that it's ok to use in an implicit construction.
+    """
+    if isinstance(other, Decimal):
+        return other
+    if isinstance(other, (int, long)):
+        return Decimal(other)
+    return NotImplemented
+
+_infinity_map = {
+    'inf' : 1,
+    'infinity' : 1,
+    '+inf' : 1,
+    '+infinity' : 1,
+    '-inf' : -1,
+    '-infinity' : -1
+}
+
+def _isinfinity(num):
+    """Determines whether a string or float is infinity.
+
+    +1 for negative infinity; 0 for finite ; +1 for positive infinity
+    """
+    num = str(num).lower()
+    return _infinity_map.get(num, 0)
+
+def _isnan(num):
+    """Determines whether a string or float is NaN
+
+    (1, sign, diagnostic info as string) => NaN
+    (2, sign, diagnostic info as string) => sNaN
+    0 => not a NaN
+    """
+    num = str(num).lower()
+    if not num:
+        return 0
+
+    #get the sign, get rid of trailing [+-]
+    sign = 0
+    if num[0] == '+':
+        num = num[1:]
+    elif num[0] == '-':  #elif avoids '+-nan'
+        num = num[1:]
+        sign = 1
+
+    if num.startswith('nan'):
+        if len(num) > 3 and not num[3:].isdigit(): #diagnostic info
+            return 0
+        return (1, sign, num[3:].lstrip('0'))
+    if num.startswith('snan'):
+        if len(num) > 4 and not num[4:].isdigit():
+            return 0
+        return (2, sign, num[4:].lstrip('0'))
+    return 0
+
+
+##### Setup Specific Contexts ################################
+
+# The default context prototype used by Context()
+# Is mutable, so that new contexts can have different default values
+
+DefaultContext = Context(
+        prec=28, rounding=ROUND_HALF_EVEN,
+        traps=[DivisionByZero, Overflow, InvalidOperation],
+        flags=[],
+        _rounding_decision=ALWAYS_ROUND,
+        Emax=999999999,
+        Emin=-999999999,
+        capitals=1
+)
+
+# Pre-made alternate contexts offered by the specification
+# Don't change these; the user should be able to select these
+# contexts and be able to reproduce results from other implementations
+# of the spec.
+
+BasicContext = Context(
+        prec=9, rounding=ROUND_HALF_UP,
+        traps=[DivisionByZero, Overflow, InvalidOperation, Clamped, Underflow],
+        flags=[],
+)
+
+ExtendedContext = Context(
+        prec=9, rounding=ROUND_HALF_EVEN,
+        traps=[],
+        flags=[],
+)
+
+
+##### Useful Constants (internal use only) ####################
+
+#Reusable defaults
+Inf = Decimal('Inf')
+negInf = Decimal('-Inf')
+
+#Infsign[sign] is infinity w/ that sign
+Infsign = (Inf, negInf)
+
+NaN = Decimal('NaN')
+
+
+##### crud for parsing strings #################################
+import re
+
+# There's an optional sign at the start, and an optional exponent
+# at the end.  The exponent has an optional sign and at least one
+# digit.  In between, must have either at least one digit followed
+# by an optional fraction, or a decimal point followed by at least
+# one digit.  Yuck.
+
+_parser = re.compile(r"""
+#    \s*
+    (?P<sign>[-+])?
+    (
+        (?P<int>\d+) (\. (?P<frac>\d*))?
+    |
+        \. (?P<onlyfrac>\d+)
+    )
+    ([eE](?P<exp>[-+]? \d+))?
+#    \s*
+    $
+""", re.VERBOSE).match #Uncomment the \s* to allow leading or trailing spaces.
+
+del re
+
+# return sign, n, p s.t. float string value == -1**sign * n * 10**p exactly
+
+def _string2exact(s):
+    m = _parser(s)
+    if m is None:
+        raise ValueError("invalid literal for Decimal: %r" % s)
+
+    if m.group('sign') == "-":
+        sign = 1
+    else:
+        sign = 0
+
+    exp = m.group('exp')
+    if exp is None:
+        exp = 0
+    else:
+        exp = int(exp)
+
+    intpart = m.group('int')
+    if intpart is None:
+        intpart = ""
+        fracpart = m.group('onlyfrac')
+    else:
+        fracpart = m.group('frac')
+        if fracpart is None:
+            fracpart = ""
+
+    exp -= len(fracpart)
+
+    mantissa = intpart + fracpart
+    tmp = map(int, mantissa)
+    backup = tmp
+    while tmp and tmp[0] == 0:
+        del tmp[0]
+
+    # It's a zero
+    if not tmp:
+        if backup:
+            return (sign, tuple(backup), exp)
+        return (sign, (0,), exp)
+    mantissa = tuple(tmp)
+
+    return (sign, mantissa, exp)
+
+
+if __name__ == '__main__':
+    import doctest, sys
+    doctest.testmod(sys.modules[__name__])

Added: sandbox/trunk/decimal-c/decimaltestdata/abs.decTest
==============================================================================
--- (empty file)
+++ sandbox/trunk/decimal-c/decimaltestdata/abs.decTest	Tue May 23 13:34:01 2006
@@ -0,0 +1,161 @@
+------------------------------------------------------------------------
+-- abs.decTest -- decimal absolute value                              --
+-- Copyright (c) IBM Corporation, 1981, 2004.  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 at uk.ibm.com                                                   --
+------------------------------------------------------------------------
+version: 2.39
+
+-- This set of tests primarily tests the existence of the operator.
+-- Additon, subtraction, rounding, and more overflows are tested
+-- elsewhere.
+
+precision:   9
+rounding:    half_up
+maxExponent: 384
+minexponent: -383
+extended: 1
+
+absx001 abs '1'      -> '1'
+absx002 abs '-1'     -> '1'
+absx003 abs '1.00'   -> '1.00'
+absx004 abs '-1.00'  -> '1.00'
+absx005 abs '0'      -> '0'
+absx006 abs '0.00'   -> '0.00'
+absx007 abs '00.0'   -> '0.0'
+absx008 abs '00.00'  -> '0.00'
+absx009 abs '00'     -> '0'
+
+absx010 abs '-2'     -> '2'
+absx011 abs '2'      -> '2'
+absx012 abs '-2.00'  -> '2.00'
+absx013 abs '2.00'   -> '2.00'
+absx014 abs '-0'     -> '0'
+absx015 abs '-0.00'  -> '0.00'
+absx016 abs '-00.0'  -> '0.0'
+absx017 abs '-00.00' -> '0.00'
+absx018 abs '-00'    -> '0'
+
+absx020 abs '-2000000' -> '2000000'
+absx021 abs '2000000'  -> '2000000'
+precision: 7
+absx022 abs '-2000000' -> '2000000'
+absx023 abs '2000000'  -> '2000000'
+precision: 6
+absx024 abs '-2000000' -> '2.00000E+6' Rounded
+absx025 abs '2000000'  -> '2.00000E+6' Rounded
+precision: 3
+absx026 abs '-2000000' -> '2.00E+6' Rounded
+absx027 abs '2000000'  -> '2.00E+6' Rounded
+
+absx030 abs '+0.1'            -> '0.1'
+absx031 abs '-0.1'            -> '0.1'
+absx032 abs '+0.01'           -> '0.01'
+absx033 abs '-0.01'           -> '0.01'
+absx034 abs '+0.001'          -> '0.001'
+absx035 abs '-0.001'          -> '0.001'
+absx036 abs '+0.000001'       -> '0.000001'
+absx037 abs '-0.000001'       -> '0.000001'
+absx038 abs '+0.000000000001' -> '1E-12'
+absx039 abs '-0.000000000001' -> '1E-12'
+
+-- examples from decArith
+precision: 9
+absx040 abs '2.1'     ->  '2.1'
+absx041 abs '-100'    ->  '100'
+absx042 abs '101.5'   ->  '101.5'
+absx043 abs '-101.5'  ->  '101.5'
+
+-- more fixed, potential LHS swaps/overlays if done by subtract 0
+precision: 9
+absx060 abs '-56267E-10'  -> '0.0000056267'
+absx061 abs '-56267E-5'   -> '0.56267'
+absx062 abs '-56267E-2'   -> '562.67'
+absx063 abs '-56267E-1'   -> '5626.7'
+absx065 abs '-56267E-0'   -> '56267'
+
+-- overflow tests
+maxexponent: 999999999
+minexponent: -999999999
+precision: 3
+absx120 abs 9.999E+999999999 -> Infinity Inexact Overflow Rounded
+
+-- subnormals and underflow
+precision: 3
+maxexponent: 999
+minexponent: -999
+absx210 abs  1.00E-999        ->   1.00E-999
+absx211 abs  0.1E-999         ->   1E-1000   Subnormal
+absx212 abs  0.10E-999        ->   1.0E-1000 Subnormal
+absx213 abs  0.100E-999       ->   1.0E-1000 Subnormal Rounded
+absx214 abs  0.01E-999        ->   1E-1001   Subnormal
+-- next is rounded to Emin
+absx215 abs  0.999E-999       ->   1.00E-999 Inexact Rounded Subnormal Underflow
+absx216 abs  0.099E-999       ->   1.0E-1000 Inexact Rounded Subnormal Underflow
+absx217 abs  0.009E-999       ->   1E-1001   Inexact Rounded Subnormal Underflow
+absx218 abs  0.001E-999       ->   0E-1001   Inexact Rounded Subnormal Underflow
+absx219 abs  0.0009E-999      ->   0E-1001   Inexact Rounded Subnormal Underflow
+absx220 abs  0.0001E-999      ->   0E-1001   Inexact Rounded Subnormal Underflow
+
+absx230 abs -1.00E-999        ->   1.00E-999
+absx231 abs -0.1E-999         ->   1E-1000   Subnormal
+absx232 abs -0.10E-999        ->   1.0E-1000 Subnormal
+absx233 abs -0.100E-999       ->   1.0E-1000 Subnormal Rounded
+absx234 abs -0.01E-999        ->   1E-1001   Subnormal
+-- next is rounded to Emin
+absx235 abs -0.999E-999       ->   1.00E-999 Inexact Rounded Subnormal Underflow
+absx236 abs -0.099E-999       ->   1.0E-1000 Inexact Rounded Subnormal Underflow
+absx237 abs -0.009E-999       ->   1E-1001   Inexact Rounded Subnormal Underflow
+absx238 abs -0.001E-999       ->   0E-1001   Inexact Rounded Subnormal Underflow
+absx239 abs -0.0009E-999      ->   0E-1001   Inexact Rounded Subnormal Underflow
+absx240 abs -0.0001E-999      ->   0E-1001   Inexact Rounded Subnormal Underflow
+
+-- long operand tests
+maxexponent: 999
+minexponent: -999
+precision: 9
+absx301 abs 12345678000  -> 1.23456780E+10 Rounded
+absx302 abs 1234567800   -> 1.23456780E+9 Rounded
+absx303 abs 1234567890   -> 1.23456789E+9 Rounded
+absx304 abs 1234567891   -> 1.23456789E+9 Inexact Rounded
+absx305 abs 12345678901  -> 1.23456789E+10 Inexact Rounded
+absx306 abs 1234567896   -> 1.23456790E+9 Inexact Rounded
+
+precision: 15
+absx321 abs 12345678000  -> 12345678000
+absx322 abs 1234567800   -> 1234567800
+absx323 abs 1234567890   -> 1234567890
+absx324 abs 1234567891   -> 1234567891
+absx325 abs 12345678901  -> 12345678901
+absx326 abs 1234567896   -> 1234567896
+
+
+-- Specials
+precision:   9
+
+-- specials
+absx520 abs 'Inf'    -> 'Infinity'
+absx521 abs '-Inf'   -> 'Infinity'
+absx522 abs   NaN    ->  NaN
+absx523 abs  sNaN    ->  NaN   Invalid_operation
+absx524 abs   NaN22  ->  NaN22
+absx525 abs  sNaN33  ->  NaN33 Invalid_operation
+absx526 abs  -NaN22  -> -NaN22
+absx527 abs -sNaN33  -> -NaN33 Invalid_operation
+
+-- Null tests
+absx900 abs  # -> NaN Invalid_operation
+

Added: sandbox/trunk/decimal-c/decimaltestdata/add.decTest
==============================================================================
--- (empty file)
+++ sandbox/trunk/decimal-c/decimaltestdata/add.decTest	Tue May 23 13:34:01 2006
@@ -0,0 +1,1127 @@
+------------------------------------------------------------------------
+-- add.decTest -- decimal addition                                    --
+-- Copyright (c) IBM Corporation, 1981, 2004.  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 at uk.ibm.com                                                   --
+------------------------------------------------------------------------
+version: 2.39
+
+precision:   9
+rounding:    half_up
+maxExponent: 384
+minexponent: -383
+extended:    1
+
+-- [first group are 'quick confidence check']
+addx001 add 1       1       ->  2
+addx002 add 2       3       ->  5
+addx003 add '5.75'  '3.3'   ->  9.05
+addx004 add '5'     '-3'    ->  2
+addx005 add '-5'    '-3'    ->  -8
+addx006 add '-7'    '2.5'   ->  -4.5
+addx007 add '0.7'   '0.3'   ->  1.0
+addx008 add '1.25'  '1.25'  ->  2.50
+addx009 add '1.23456789'  '1.00000000' -> '2.23456789'
+addx010 add '1.23456789'  '1.00000011' -> '2.23456800'
+
+addx011 add '0.4444444444'  '0.5555555555' -> '1.00000000' Inexact Rounded
+addx012 add '0.4444444440'  '0.5555555555' -> '1.00000000' Inexact Rounded
+addx013 add '0.4444444444'  '0.5555555550' -> '0.999999999' Inexact Rounded
+addx014 add '0.44444444449'    '0' -> '0.444444444' Inexact Rounded
+addx015 add '0.444444444499'   '0' -> '0.444444444' Inexact Rounded
+addx016 add '0.4444444444999'  '0' -> '0.444444444' Inexact Rounded
+addx017 add '0.4444444445000'  '0' -> '0.444444445' Inexact Rounded
+addx018 add '0.4444444445001'  '0' -> '0.444444445' Inexact Rounded
+addx019 add '0.444444444501'   '0' -> '0.444444445' Inexact Rounded
+addx020 add '0.44444444451'    '0' -> '0.444444445' Inexact Rounded
+
+addx021 add 0 1 -> 1
+addx022 add 1 1 -> 2
+addx023 add 2 1 -> 3
+addx024 add 3 1 -> 4
+addx025 add 4 1 -> 5
+addx026 add 5 1 -> 6
+addx027 add 6 1 -> 7
+addx028 add 7 1 -> 8
+addx029 add 8 1 -> 9
+addx030 add 9 1 -> 10
+
+-- some carrying effects
+addx031 add '0.9998'  '0.0000' -> '0.9998'
+addx032 add '0.9998'  '0.0001' -> '0.9999'
+addx033 add '0.9998'  '0.0002' -> '1.0000'
+addx034 add '0.9998'  '0.0003' -> '1.0001'
+
+addx035 add '70'  '10000e+9' -> '1.00000000E+13' Inexact Rounded
+addx036 add '700'  '10000e+9' -> '1.00000000E+13' Inexact Rounded
+addx037 add '7000'  '10000e+9' -> '1.00000000E+13' Inexact Rounded
+addx038 add '70000'  '10000e+9' -> '1.00000001E+13' Inexact Rounded
+addx039 add '700000'  '10000e+9' -> '1.00000007E+13' Rounded
+
+-- symmetry:
+addx040 add '10000e+9'  '70' -> '1.00000000E+13' Inexact Rounded
+addx041 add '10000e+9'  '700' -> '1.00000000E+13' Inexact Rounded
+addx042 add '10000e+9'  '7000' -> '1.00000000E+13' Inexact Rounded
+addx044 add '10000e+9'  '70000' -> '1.00000001E+13' Inexact Rounded
+addx045 add '10000e+9'  '700000' -> '1.00000007E+13' Rounded
+
+-- same, higher precision
+precision: 15
+addx046 add '10000e+9'  '7' -> '10000000000007'
+addx047 add '10000e+9'  '70' -> '10000000000070'
+addx048 add '10000e+9'  '700' -> '10000000000700'
+addx049 add '10000e+9'  '7000' -> '10000000007000'
+addx050 add '10000e+9'  '70000' -> '10000000070000'
+addx051 add '10000e+9'  '700000' -> '10000000700000'
+
+-- examples from decarith
+addx053 add '12' '7.00' -> '19.00'
+addx054 add '1.3' '-1.07' -> '0.23'
+addx055 add '1.3' '-1.30' -> '0.00'
+addx056 add '1.3' '-2.07' -> '-0.77'
+addx057 add '1E+2' '1E+4' -> '1.01E+4'
+
+-- zero preservation
+precision: 6
+addx060 add '10000e+9'  '70000' -> '1.00000E+13' Inexact Rounded
+addx061 add 1 '0.0001' -> '1.0001'
+addx062 add 1 '0.00001' -> '1.00001'
+addx063 add 1 '0.000001' -> '1.00000' Inexact Rounded
+addx064 add 1 '0.0000001' -> '1.00000' Inexact Rounded
+addx065 add 1 '0.00000001' -> '1.00000' Inexact Rounded
+
+-- some funny zeros [in case of bad signum]
+addx070 add 1  0    -> 1
+addx071 add 1 0.    -> 1
+addx072 add 1  .0   -> 1.0
+addx073 add 1 0.0   -> 1.0
+addx074 add 1 0.00  -> 1.00
+addx075 add  0  1   -> 1
+addx076 add 0.  1   -> 1
+addx077 add  .0 1   -> 1.0
+addx078 add 0.0 1   -> 1.0
+addx079 add 0.00 1  -> 1.00
+
+precision: 9
+
+-- some carries
+addx080 add 999999998 1  -> 999999999
+addx081 add 999999999 1  -> 1.00000000E+9 Rounded
+addx082 add  99999999 1  -> 100000000
+addx083 add   9999999 1  -> 10000000
+addx084 add    999999 1  -> 1000000
+addx085 add     99999 1  -> 100000
+addx086 add      9999 1  -> 10000
+addx087 add       999 1  -> 1000
+addx088 add        99 1  -> 100
+addx089 add         9 1  -> 10
+
+
+-- more LHS swaps
+addx090 add '-56267E-10'   0 ->  '-0.0000056267'
+addx091 add '-56267E-6'    0 ->  '-0.056267'
+addx092 add '-56267E-5'    0 ->  '-0.56267'
+addx093 add '-56267E-4'    0 ->  '-5.6267'
+addx094 add '-56267E-3'    0 ->  '-56.267'
+addx095 add '-56267E-2'    0 ->  '-562.67'
+addx096 add '-56267E-1'    0 ->  '-5626.7'
+addx097 add '-56267E-0'    0 ->  '-56267'
+addx098 add '-5E-10'       0 ->  '-5E-10'
+addx099 add '-5E-7'        0 ->  '-5E-7'
+addx100 add '-5E-6'        0 ->  '-0.000005'
+addx101 add '-5E-5'        0 ->  '-0.00005'
+addx102 add '-5E-4'        0 ->  '-0.0005'
+addx103 add '-5E-1'        0 ->  '-0.5'
+addx104 add '-5E0'         0 ->  '-5'
+addx105 add '-5E1'         0 ->  '-50'
+addx106 add '-5E5'         0 ->  '-500000'
+addx107 add '-5E8'         0 ->  '-500000000'
+addx108 add '-5E9'         0 ->  '-5.00000000E+9'   Rounded
+addx109 add '-5E10'        0 ->  '-5.00000000E+10'  Rounded
+addx110 add '-5E11'        0 ->  '-5.00000000E+11'  Rounded
+addx111 add '-5E100'       0 ->  '-5.00000000E+100' Rounded
+
+-- more RHS swaps
+addx113 add 0  '-56267E-10' ->  '-0.0000056267'
+addx114 add 0  '-56267E-6'  ->  '-0.056267'
+addx116 add 0  '-56267E-5'  ->  '-0.56267'
+addx117 add 0  '-56267E-4'  ->  '-5.6267'
+addx119 add 0  '-56267E-3'  ->  '-56.267'
+addx120 add 0  '-56267E-2'  ->  '-562.67'
+addx121 add 0  '-56267E-1'  ->  '-5626.7'
+addx122 add 0  '-56267E-0'  ->  '-56267'
+addx123 add 0  '-5E-10'     ->  '-5E-10'
+addx124 add 0  '-5E-7'      ->  '-5E-7'
+addx125 add 0  '-5E-6'      ->  '-0.000005'
+addx126 add 0  '-5E-5'      ->  '-0.00005'
+addx127 add 0  '-5E-4'      ->  '-0.0005'
+addx128 add 0  '-5E-1'      ->  '-0.5'
+addx129 add 0  '-5E0'       ->  '-5'
+addx130 add 0  '-5E1'       ->  '-50'
+addx131 add 0  '-5E5'       ->  '-500000'
+addx132 add 0  '-5E8'       ->  '-500000000'
+addx133 add 0  '-5E9'       ->  '-5.00000000E+9'    Rounded
+addx134 add 0  '-5E10'      ->  '-5.00000000E+10'   Rounded
+addx135 add 0  '-5E11'      ->  '-5.00000000E+11'   Rounded
+addx136 add 0  '-5E100'     ->  '-5.00000000E+100'  Rounded
+
+-- related
+addx137 add  1  '0E-12'      ->  '1.00000000'  Rounded
+addx138 add -1  '0E-12'      ->  '-1.00000000' Rounded
+addx139 add '0E-12' 1        ->  '1.00000000'  Rounded
+addx140 add '0E-12' -1       ->  '-1.00000000' Rounded
+addx141 add 1E+4    0.0000   ->  '10000.0000'
+addx142 add 1E+4    0.00000  ->  '10000.0000'  Rounded
+addx143 add 0.000   1E+5     ->  '100000.000'
+addx144 add 0.0000  1E+5     ->  '100000.000'  Rounded
+
+-- [some of the next group are really constructor tests]
+addx146 add '00.0'  0       ->  '0.0'
+addx147 add '0.00'  0       ->  '0.00'
+addx148 add  0      '0.00'  ->  '0.00'
+addx149 add  0      '00.0'  ->  '0.0'
+addx150 add '00.0'  '0.00'  ->  '0.00'
+addx151 add '0.00'  '00.0'  ->  '0.00'
+addx152 add '3'     '.3'    ->  '3.3'
+addx153 add '3.'    '.3'    ->  '3.3'
+addx154 add '3.0'   '.3'    ->  '3.3'
+addx155 add '3.00'  '.3'    ->  '3.30'
+addx156 add '3'     '3'     ->  '6'
+addx157 add '3'     '+3'    ->  '6'
+addx158 add '3'     '-3'    ->  '0'
+addx159 add '0.3'   '-0.3'  ->  '0.0'
+addx160 add '0.03'  '-0.03' ->  '0.00'
+
+-- try borderline precision, with carries, etc.
+precision: 15
+addx161 add '1E+12' '-1'    -> '999999999999'
+addx162 add '1E+12'  '1.11' -> '1000000000001.11'
+addx163 add '1.11'  '1E+12' -> '1000000000001.11'
+addx164 add '-1'    '1E+12' -> '999999999999'
+addx165 add '7E+12' '-1'    -> '6999999999999'
+addx166 add '7E+12'  '1.11' -> '7000000000001.11'
+addx167 add '1.11'  '7E+12' -> '7000000000001.11'
+addx168 add '-1'    '7E+12' -> '6999999999999'
+
+--            123456789012345      123456789012345      1 23456789012345
+addx170 add '0.444444444444444'  '0.555555555555563' -> '1.00000000000001' Inexact Rounded
+addx171 add '0.444444444444444'  '0.555555555555562' -> '1.00000000000001' Inexact Rounded
+addx172 add '0.444444444444444'  '0.555555555555561' -> '1.00000000000001' Inexact Rounded
+addx173 add '0.444444444444444'  '0.555555555555560' -> '1.00000000000000' Inexact Rounded
+addx174 add '0.444444444444444'  '0.555555555555559' -> '1.00000000000000' Inexact Rounded
+addx175 add '0.444444444444444'  '0.555555555555558' -> '1.00000000000000' Inexact Rounded
+addx176 add '0.444444444444444'  '0.555555555555557' -> '1.00000000000000' Inexact Rounded
+addx177 add '0.444444444444444'  '0.555555555555556' -> '1.00000000000000' Rounded
+addx178 add '0.444444444444444'  '0.555555555555555' -> '0.999999999999999'
+addx179 add '0.444444444444444'  '0.555555555555554' -> '0.999999999999998'
+addx180 add '0.444444444444444'  '0.555555555555553' -> '0.999999999999997'
+addx181 add '0.444444444444444'  '0.555555555555552' -> '0.999999999999996'
+addx182 add '0.444444444444444'  '0.555555555555551' -> '0.999999999999995'
+addx183 add '0.444444444444444'  '0.555555555555550' -> '0.999999999999994'
+
+-- and some more, including residue effects and different roundings
+precision: 9
+rounding: half_up
+addx200 add '123456789' 0             -> '123456789'
+addx201 add '123456789' 0.000000001   -> '123456789' Inexact Rounded
+addx202 add '123456789' 0.000001      -> '123456789' Inexact Rounded
+addx203 add '123456789' 0.1           -> '123456789' Inexact Rounded
+addx204 add '123456789' 0.4           -> '123456789' Inexact Rounded
+addx205 add '123456789' 0.49          -> '123456789' Inexact Rounded
+addx206 add '123456789' 0.499999      -> '123456789' Inexact Rounded
+addx207 add '123456789' 0.499999999   -> '123456789' Inexact Rounded
+addx208 add '123456789' 0.5           -> '123456790' Inexact Rounded
+addx209 add '123456789' 0.500000001   -> '123456790' Inexact Rounded
+addx210 add '123456789' 0.500001      -> '123456790' Inexact Rounded
+addx211 add '123456789' 0.51          -> '123456790' Inexact Rounded
+addx212 add '123456789' 0.6           -> '123456790' Inexact Rounded
+addx213 add '123456789' 0.9           -> '123456790' Inexact Rounded
+addx214 add '123456789' 0.99999       -> '123456790' Inexact Rounded
+addx215 add '123456789' 0.999999999   -> '123456790' Inexact Rounded
+addx216 add '123456789' 1             -> '123456790'
+addx217 add '123456789' 1.000000001   -> '123456790' Inexact Rounded
+addx218 add '123456789' 1.00001       -> '123456790' Inexact Rounded
+addx219 add '123456789' 1.1           -> '123456790' Inexact Rounded
+
+rounding: half_even
+addx220 add '123456789' 0             -> '123456789'
+addx221 add '123456789' 0.000000001   -> '123456789' Inexact Rounded
+addx222 add '123456789' 0.000001      -> '123456789' Inexact Rounded
+addx223 add '123456789' 0.1           -> '123456789' Inexact Rounded
+addx224 add '123456789' 0.4           -> '123456789' Inexact Rounded
+addx225 add '123456789' 0.49          -> '123456789' Inexact Rounded
+addx226 add '123456789' 0.499999      -> '123456789' Inexact Rounded
+addx227 add '123456789' 0.499999999   -> '123456789' Inexact Rounded
+addx228 add '123456789' 0.5           -> '123456790' Inexact Rounded
+addx229 add '123456789' 0.500000001   -> '123456790' Inexact Rounded
+addx230 add '123456789' 0.500001      -> '123456790' Inexact Rounded
+addx231 add '123456789' 0.51          -> '123456790' Inexact Rounded
+addx232 add '123456789' 0.6           -> '123456790' Inexact Rounded
+addx233 add '123456789' 0.9           -> '123456790' Inexact Rounded
+addx234 add '123456789' 0.99999       -> '123456790' Inexact Rounded
+addx235 add '123456789' 0.999999999   -> '123456790' Inexact Rounded
+addx236 add '123456789' 1             -> '123456790'
+addx237 add '123456789' 1.00000001    -> '123456790' Inexact Rounded
+addx238 add '123456789' 1.00001       -> '123456790' Inexact Rounded
+addx239 add '123456789' 1.1           -> '123456790' Inexact Rounded
+-- critical few with even bottom digit...
+addx240 add '123456788' 0.499999999   -> '123456788' Inexact Rounded
+addx241 add '123456788' 0.5           -> '123456788' Inexact Rounded
+addx242 add '123456788' 0.500000001   -> '123456789' Inexact Rounded
+
+rounding: down
+addx250 add '123456789' 0             -> '123456789'
+addx251 add '123456789' 0.000000001   -> '123456789' Inexact Rounded
+addx252 add '123456789' 0.000001      -> '123456789' Inexact Rounded
+addx253 add '123456789' 0.1           -> '123456789' Inexact Rounded
+addx254 add '123456789' 0.4           -> '123456789' Inexact Rounded
+addx255 add '123456789' 0.49          -> '123456789' Inexact Rounded
+addx256 add '123456789' 0.499999      -> '123456789' Inexact Rounded
+addx257 add '123456789' 0.499999999   -> '123456789' Inexact Rounded
+addx258 add '123456789' 0.5           -> '123456789' Inexact Rounded
+addx259 add '123456789' 0.500000001   -> '123456789' Inexact Rounded
+addx260 add '123456789' 0.500001      -> '123456789' Inexact Rounded
+addx261 add '123456789' 0.51          -> '123456789' Inexact Rounded
+addx262 add '123456789' 0.6           -> '123456789' Inexact Rounded
+addx263 add '123456789' 0.9           -> '123456789' Inexact Rounded
+addx264 add '123456789' 0.99999       -> '123456789' Inexact Rounded
+addx265 add '123456789' 0.999999999   -> '123456789' Inexact Rounded
+addx266 add '123456789' 1             -> '123456790'
+addx267 add '123456789' 1.00000001    -> '123456790' Inexact Rounded
+addx268 add '123456789' 1.00001       -> '123456790' Inexact Rounded
+addx269 add '123456789' 1.1           -> '123456790' Inexact Rounded
+
+-- input preparation tests (operands should not be rounded)
+precision: 3
+rounding: half_up
+
+addx270 add '12345678900000'  9999999999999 ->  '2.23E+13' Inexact Rounded
+addx271 add  '9999999999999' 12345678900000 ->  '2.23E+13' Inexact Rounded
+
+addx272 add '12E+3'  '3444'   ->  '1.54E+4' Inexact Rounded
+addx273 add '12E+3'  '3446'   ->  '1.54E+4' Inexact Rounded
+addx274 add '12E+3'  '3449.9' ->  '1.54E+4' Inexact Rounded
+addx275 add '12E+3'  '3450.0' ->  '1.55E+4' Inexact Rounded
+addx276 add '12E+3'  '3450.1' ->  '1.55E+4' Inexact Rounded
+addx277 add '12E+3'  '3454'   ->  '1.55E+4' Inexact Rounded
+addx278 add '12E+3'  '3456'   ->  '1.55E+4' Inexact Rounded
+
+addx281 add '3444'   '12E+3'  ->  '1.54E+4' Inexact Rounded
+addx282 add '3446'   '12E+3'  ->  '1.54E+4' Inexact Rounded
+addx283 add '3449.9' '12E+3'  ->  '1.54E+4' Inexact Rounded
+addx284 add '3450.0' '12E+3'  ->  '1.55E+4' Inexact Rounded
+addx285 add '3450.1' '12E+3'  ->  '1.55E+4' Inexact Rounded
+addx286 add '3454'   '12E+3'  ->  '1.55E+4' Inexact Rounded
+addx287 add '3456'   '12E+3'  ->  '1.55E+4' Inexact Rounded
+
+rounding: half_down
+addx291 add '3444'   '12E+3'  ->  '1.54E+4' Inexact Rounded
+addx292 add '3446'   '12E+3'  ->  '1.54E+4' Inexact Rounded
+addx293 add '3449.9' '12E+3'  ->  '1.54E+4' Inexact Rounded
+addx294 add '3450.0' '12E+3'  ->  '1.54E+4' Inexact Rounded
+addx295 add '3450.1' '12E+3'  ->  '1.55E+4' Inexact Rounded
+addx296 add '3454'   '12E+3'  ->  '1.55E+4' Inexact Rounded
+addx297 add '3456'   '12E+3'  ->  '1.55E+4' Inexact Rounded
+
+-- 1 in last place tests
+rounding: half_up
+addx301 add  -1   1      ->   0
+addx302 add   0   1      ->   1
+addx303 add   1   1      ->   2
+addx304 add  12   1      ->  13
+addx305 add  98   1      ->  99
+addx306 add  99   1      -> 100
+addx307 add 100   1      -> 101
+addx308 add 101   1      -> 102
+addx309 add  -1  -1      ->  -2
+addx310 add   0  -1      ->  -1
+addx311 add   1  -1      ->   0
+addx312 add  12  -1      ->  11
+addx313 add  98  -1      ->  97
+addx314 add  99  -1      ->  98
+addx315 add 100  -1      ->  99
+addx316 add 101  -1      -> 100
+
+addx321 add -0.01  0.01    ->  0.00
+addx322 add  0.00  0.01    ->  0.01
+addx323 add  0.01  0.01    ->  0.02
+addx324 add  0.12  0.01    ->  0.13
+addx325 add  0.98  0.01    ->  0.99
+addx326 add  0.99  0.01    ->  1.00
+addx327 add  1.00  0.01    ->  1.01
+addx328 add  1.01  0.01    ->  1.02
+addx329 add -0.01 -0.01    -> -0.02
+addx330 add  0.00 -0.01    -> -0.01
+addx331 add  0.01 -0.01    ->  0.00
+addx332 add  0.12 -0.01    ->  0.11
+addx333 add  0.98 -0.01    ->  0.97
+addx334 add  0.99 -0.01    ->  0.98
+addx335 add  1.00 -0.01    ->  0.99
+addx336 add  1.01 -0.01    ->  1.00
+
+-- some more cases where adding 0 affects the coefficient
+precision: 9
+addx340 add 1E+3    0    ->         1000
+addx341 add 1E+8    0    ->    100000000
+addx342 add 1E+9    0    ->   1.00000000E+9   Rounded
+addx343 add 1E+10   0    ->   1.00000000E+10  Rounded
+-- which simply follow from these cases ...
+addx344 add 1E+3    1    ->         1001
+addx345 add 1E+8    1    ->    100000001
+addx346 add 1E+9    1    ->   1.00000000E+9   Inexact Rounded
+addx347 add 1E+10   1    ->   1.00000000E+10  Inexact Rounded
+addx348 add 1E+3    7    ->         1007
+addx349 add 1E+8    7    ->    100000007
+addx350 add 1E+9    7    ->   1.00000001E+9   Inexact Rounded
+addx351 add 1E+10   7    ->   1.00000000E+10  Inexact Rounded
+
+-- tryzeros cases
+precision:   7
+rounding:    half_up
+maxExponent: 92
+minexponent: -92
+addx361  add 0E+50 10000E+1  -> 1.0000E+5
+addx362  add 10000E+1 0E-50  -> 100000.0  Rounded
+addx363  add 10000E+1 10000E-50  -> 100000.0  Rounded Inexact
+
+-- a curiosity from JSR 13 testing
+rounding:    half_down
+precision:   10
+addx370 add 99999999 81512 -> 100081511
+precision:      6
+addx371 add 99999999 81512 -> 1.00082E+8 Rounded Inexact
+rounding:    half_up
+precision:   10
+addx372 add 99999999 81512 -> 100081511
+precision:      6
+addx373 add 99999999 81512 -> 1.00082E+8 Rounded Inexact
+rounding:    half_even
+precision:   10
+addx374 add 99999999 81512 -> 100081511
+precision:      6
+addx375 add 99999999 81512 -> 1.00082E+8 Rounded Inexact
+
+-- ulp replacement tests
+precision: 9
+maxexponent: 999999999
+minexponent: -999999999
+addx400 add   1   77e-7       ->  1.0000077
+addx401 add   1   77e-8       ->  1.00000077
+addx402 add   1   77e-9       ->  1.00000008 Inexact Rounded
+addx403 add   1   77e-10      ->  1.00000001 Inexact Rounded
+addx404 add   1   77e-11      ->  1.00000000 Inexact Rounded
+addx405 add   1   77e-12      ->  1.00000000 Inexact Rounded
+addx406 add   1   77e-999     ->  1.00000000 Inexact Rounded
+addx407 add   1   77e-9999999 ->  1.00000000 Inexact Rounded
+
+addx410 add  10   77e-7       ->  10.0000077
+addx411 add  10   77e-8       ->  10.0000008 Inexact Rounded
+addx412 add  10   77e-9       ->  10.0000001 Inexact Rounded
+addx413 add  10   77e-10      ->  10.0000000 Inexact Rounded
+addx414 add  10   77e-11      ->  10.0000000 Inexact Rounded
+addx415 add  10   77e-12      ->  10.0000000 Inexact Rounded
+addx416 add  10   77e-999     ->  10.0000000 Inexact Rounded
+addx417 add  10   77e-9999999 ->  10.0000000 Inexact Rounded
+
+addx420 add  77e-7        1   ->  1.0000077
+addx421 add  77e-8        1   ->  1.00000077
+addx422 add  77e-9        1   ->  1.00000008 Inexact Rounded
+addx423 add  77e-10       1   ->  1.00000001 Inexact Rounded
+addx424 add  77e-11       1   ->  1.00000000 Inexact Rounded
+addx425 add  77e-12       1   ->  1.00000000 Inexact Rounded
+addx426 add  77e-999      1   ->  1.00000000 Inexact Rounded
+addx427 add  77e-9999999  1   ->  1.00000000 Inexact Rounded
+
+addx430 add  77e-7       10   ->  10.0000077
+addx431 add  77e-8       10   ->  10.0000008 Inexact Rounded
+addx432 add  77e-9       10   ->  10.0000001 Inexact Rounded
+addx433 add  77e-10      10   ->  10.0000000 Inexact Rounded
+addx434 add  77e-11      10   ->  10.0000000 Inexact Rounded
+addx435 add  77e-12      10   ->  10.0000000 Inexact Rounded
+addx436 add  77e-999     10   ->  10.0000000 Inexact Rounded
+addx437 add  77e-9999999 10   ->  10.0000000 Inexact Rounded
+
+-- negative ulps
+addx440 add   1   -77e-7       ->  0.9999923
+addx441 add   1   -77e-8       ->  0.99999923
+addx442 add   1   -77e-9       ->  0.999999923
+addx443 add   1   -77e-10      ->  0.999999992 Inexact Rounded
+addx444 add   1   -77e-11      ->  0.999999999 Inexact Rounded
+addx445 add   1   -77e-12      ->  1.00000000 Inexact Rounded
+addx446 add   1   -77e-999     ->  1.00000000 Inexact Rounded
+addx447 add   1   -77e-9999999 ->  1.00000000 Inexact Rounded
+
+addx450 add  10   -77e-7       ->   9.9999923
+addx451 add  10   -77e-8       ->   9.99999923
+addx452 add  10   -77e-9       ->   9.99999992 Inexact Rounded
+addx453 add  10   -77e-10      ->   9.99999999 Inexact Rounded
+addx454 add  10   -77e-11      ->  10.0000000 Inexact Rounded
+addx455 add  10   -77e-12      ->  10.0000000 Inexact Rounded
+addx456 add  10   -77e-999     ->  10.0000000 Inexact Rounded
+addx457 add  10   -77e-9999999 ->  10.0000000 Inexact Rounded
+
+addx460 add  -77e-7        1   ->  0.9999923
+addx461 add  -77e-8        1   ->  0.99999923
+addx462 add  -77e-9        1   ->  0.999999923
+addx463 add  -77e-10       1   ->  0.999999992 Inexact Rounded
+addx464 add  -77e-11       1   ->  0.999999999 Inexact Rounded
+addx465 add  -77e-12       1   ->  1.00000000 Inexact Rounded
+addx466 add  -77e-999      1   ->  1.00000000 Inexact Rounded
+addx467 add  -77e-9999999  1   ->  1.00000000 Inexact Rounded
+
+addx470 add  -77e-7       10   ->   9.9999923
+addx471 add  -77e-8       10   ->   9.99999923
+addx472 add  -77e-9       10   ->   9.99999992 Inexact Rounded
+addx473 add  -77e-10      10   ->   9.99999999 Inexact Rounded
+addx474 add  -77e-11      10   ->  10.0000000 Inexact Rounded
+addx475 add  -77e-12      10   ->  10.0000000 Inexact Rounded
+addx476 add  -77e-999     10   ->  10.0000000 Inexact Rounded
+addx477 add  -77e-9999999 10   ->  10.0000000 Inexact Rounded
+
+-- negative ulps
+addx480 add  -1    77e-7       ->  -0.9999923
+addx481 add  -1    77e-8       ->  -0.99999923
+addx482 add  -1    77e-9       ->  -0.999999923
+addx483 add  -1    77e-10      ->  -0.999999992 Inexact Rounded
+addx484 add  -1    77e-11      ->  -0.999999999 Inexact Rounded
+addx485 add  -1    77e-12      ->  -1.00000000 Inexact Rounded
+addx486 add  -1    77e-999     ->  -1.00000000 Inexact Rounded
+addx487 add  -1    77e-9999999 ->  -1.00000000 Inexact Rounded
+
+addx490 add -10    77e-7       ->   -9.9999923
+addx491 add -10    77e-8       ->   -9.99999923
+addx492 add -10    77e-9       ->   -9.99999992 Inexact Rounded
+addx493 add -10    77e-10      ->   -9.99999999 Inexact Rounded
+addx494 add -10    77e-11      ->  -10.0000000 Inexact Rounded
+addx495 add -10    77e-12      ->  -10.0000000 Inexact Rounded
+addx496 add -10    77e-999     ->  -10.0000000 Inexact Rounded
+addx497 add -10    77e-9999999 ->  -10.0000000 Inexact Rounded
+
+addx500 add   77e-7       -1   ->  -0.9999923
+addx501 add   77e-8       -1   ->  -0.99999923
+addx502 add   77e-9       -1   ->  -0.999999923
+addx503 add   77e-10      -1   ->  -0.999999992 Inexact Rounded
+addx504 add   77e-11      -1   ->  -0.999999999 Inexact Rounded
+addx505 add   77e-12      -1   ->  -1.00000000 Inexact Rounded
+addx506 add   77e-999     -1   ->  -1.00000000 Inexact Rounded
+addx507 add   77e-9999999 -1   ->  -1.00000000 Inexact Rounded
+
+addx510 add   77e-7       -10  ->   -9.9999923
+addx511 add   77e-8       -10  ->   -9.99999923
+addx512 add   77e-9       -10  ->   -9.99999992 Inexact Rounded
+addx513 add   77e-10      -10  ->   -9.99999999 Inexact Rounded
+addx514 add   77e-11      -10  ->  -10.0000000 Inexact Rounded
+addx515 add   77e-12      -10  ->  -10.0000000 Inexact Rounded
+addx516 add   77e-999     -10  ->  -10.0000000 Inexact Rounded
+addx517 add   77e-9999999 -10  ->  -10.0000000 Inexact Rounded
+
+
+-- long operands
+maxexponent: 999
+minexponent: -999
+precision: 9
+addx521 add 12345678000 0 -> 1.23456780E+10 Rounded
+addx522 add 0 12345678000 -> 1.23456780E+10 Rounded
+addx523 add 1234567800  0 -> 1.23456780E+9 Rounded
+addx524 add 0 1234567800  -> 1.23456780E+9 Rounded
+addx525 add 1234567890  0 -> 1.23456789E+9 Rounded
+addx526 add 0 1234567890  -> 1.23456789E+9 Rounded
+addx527 add 1234567891  0 -> 1.23456789E+9 Inexact Rounded
+addx528 add 0 1234567891  -> 1.23456789E+9 Inexact Rounded
+addx529 add 12345678901 0 -> 1.23456789E+10 Inexact Rounded
+addx530 add 0 12345678901 -> 1.23456789E+10 Inexact Rounded
+addx531 add 1234567896  0 -> 1.23456790E+9 Inexact Rounded
+addx532 add 0 1234567896  -> 1.23456790E+9 Inexact Rounded
+
+precision: 15
+-- still checking
+addx541 add 12345678000 0 -> 12345678000
+addx542 add 0 12345678000 -> 12345678000
+addx543 add 1234567800  0 -> 1234567800
+addx544 add 0 1234567800  -> 1234567800
+addx545 add 1234567890  0 -> 1234567890
+addx546 add 0 1234567890  -> 1234567890
+addx547 add 1234567891  0 -> 1234567891
+addx548 add 0 1234567891  -> 1234567891
+addx549 add 12345678901 0 -> 12345678901
+addx550 add 0 12345678901 -> 12345678901
+addx551 add 1234567896  0 -> 1234567896
+addx552 add 0 1234567896  -> 1234567896
+
+-- verify a query
+precision:    16
+maxExponent: +394
+minExponent: -393
+rounding:     down
+addx561 add 1e-398 9.000000000000000E+384 -> 9.000000000000000E+384 Inexact Rounded
+addx562 add      0 9.000000000000000E+384 -> 9.000000000000000E+384 Rounded
+-- and using decimal64 bounds...
+precision:    16
+maxExponent: +384
+minExponent: -383
+rounding:     down
+addx563 add 1e-388 9.000000000000000E+374 -> 9.000000000000000E+374 Inexact Rounded
+addx564 add      0 9.000000000000000E+374 -> 9.000000000000000E+374 Rounded
+
+-- some more residue effects with extreme rounding
+precision:   9
+rounding: half_up
+addx601 add 123456789  0.000001 -> 123456789 Inexact Rounded
+rounding: half_even
+addx602 add 123456789  0.000001 -> 123456789 Inexact Rounded
+rounding: half_down
+addx603 add 123456789  0.000001 -> 123456789 Inexact Rounded
+rounding: floor
+addx604 add 123456789  0.000001 -> 123456789 Inexact Rounded
+rounding: ceiling
+addx605 add 123456789  0.000001 -> 123456790 Inexact Rounded
+rounding: up
+addx606 add 123456789  0.000001 -> 123456790 Inexact Rounded
+rounding: down
+addx607 add 123456789  0.000001 -> 123456789 Inexact Rounded
+
+rounding: half_up
+addx611 add 123456789 -0.000001 -> 123456789 Inexact Rounded
+rounding: half_even
+addx612 add 123456789 -0.000001 -> 123456789 Inexact Rounded
+rounding: half_down
+addx613 add 123456789 -0.000001 -> 123456789 Inexact Rounded
+rounding: floor
+addx614 add 123456789 -0.000001 -> 123456788 Inexact Rounded
+rounding: ceiling
+addx615 add 123456789 -0.000001 -> 123456789 Inexact Rounded
+rounding: up
+addx616 add 123456789 -0.000001 -> 123456789 Inexact Rounded
+rounding: down
+addx617 add 123456789 -0.000001 -> 123456788 Inexact Rounded
+
+rounding: half_up
+addx621 add 123456789  0.499999 -> 123456789 Inexact Rounded
+rounding: half_even
+addx622 add 123456789  0.499999 -> 123456789 Inexact Rounded
+rounding: half_down
+addx623 add 123456789  0.499999 -> 123456789 Inexact Rounded
+rounding: floor
+addx624 add 123456789  0.499999 -> 123456789 Inexact Rounded
+rounding: ceiling
+addx625 add 123456789  0.499999 -> 123456790 Inexact Rounded
+rounding: up
+addx626 add 123456789  0.499999 -> 123456790 Inexact Rounded
+rounding: down
+addx627 add 123456789  0.499999 -> 123456789 Inexact Rounded
+
+rounding: half_up
+addx631 add 123456789 -0.499999 -> 123456789 Inexact Rounded
+rounding: half_even
+addx632 add 123456789 -0.499999 -> 123456789 Inexact Rounded
+rounding: half_down
+addx633 add 123456789 -0.499999 -> 123456789 Inexact Rounded
+rounding: floor
+addx634 add 123456789 -0.499999 -> 123456788 Inexact Rounded
+rounding: ceiling
+addx635 add 123456789 -0.499999 -> 123456789 Inexact Rounded
+rounding: up
+addx636 add 123456789 -0.499999 -> 123456789 Inexact Rounded
+rounding: down
+addx637 add 123456789 -0.499999 -> 123456788 Inexact Rounded
+
+rounding: half_up
+addx641 add 123456789  0.500001 -> 123456790 Inexact Rounded
+rounding: half_even
+addx642 add 123456789  0.500001 -> 123456790 Inexact Rounded
+rounding: half_down
+addx643 add 123456789  0.500001 -> 123456790 Inexact Rounded
+rounding: floor
+addx644 add 123456789  0.500001 -> 123456789 Inexact Rounded
+rounding: ceiling
+addx645 add 123456789  0.500001 -> 123456790 Inexact Rounded
+rounding: up
+addx646 add 123456789  0.500001 -> 123456790 Inexact Rounded
+rounding: down
+addx647 add 123456789  0.500001 -> 123456789 Inexact Rounded
+
+rounding: half_up
+addx651 add 123456789 -0.500001 -> 123456788 Inexact Rounded
+rounding: half_even
+addx652 add 123456789 -0.500001 -> 123456788 Inexact Rounded
+rounding: half_down
+addx653 add 123456789 -0.500001 -> 123456788 Inexact Rounded
+rounding: floor
+addx654 add 123456789 -0.500001 -> 123456788 Inexact Rounded
+rounding: ceiling
+addx655 add 123456789 -0.500001 -> 123456789 Inexact Rounded
+rounding: up
+addx656 add 123456789 -0.500001 -> 123456789 Inexact Rounded
+rounding: down
+addx657 add 123456789 -0.500001 -> 123456788 Inexact Rounded
+
+-- long operand triangle
+rounding: half_up
+precision:  37
+addx660 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211023638922337114834538
+precision:  36
+addx661 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221102363892233711483454  Inexact Rounded
+precision:  35
+addx662 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422110236389223371148345   Inexact Rounded
+precision:  34
+addx663 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211023638922337114835    Inexact Rounded
+precision:  33
+addx664 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221102363892233711483     Inexact Rounded
+precision:  32
+addx665 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422110236389223371148      Inexact Rounded
+precision:  31
+addx666 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211023638922337115       Inexact Rounded
+precision:  30
+addx667 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221102363892233711        Inexact Rounded
+precision:  29
+addx668 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422110236389223371         Inexact Rounded
+precision:  28
+addx669 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211023638922337          Inexact Rounded
+precision:  27
+addx670 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221102363892234           Inexact Rounded
+precision:  26
+addx671 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422110236389223            Inexact Rounded
+precision:  25
+addx672 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211023638922             Inexact Rounded
+precision:  24
+addx673 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221102363892              Inexact Rounded
+precision:  23
+addx674 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422110236389               Inexact Rounded
+precision:  22
+addx675 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211023639                Inexact Rounded
+precision:  21
+addx676 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221102364                 Inexact Rounded
+precision:  20
+addx677 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422110236                  Inexact Rounded
+precision:  19
+addx678 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211024                   Inexact Rounded
+precision:  18
+addx679 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221102                    Inexact Rounded
+precision:  17
+addx680 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422110                     Inexact Rounded
+precision:  16
+addx681 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211                      Inexact Rounded
+precision:  15
+addx682 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221                       Inexact Rounded
+precision:  14
+addx683 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422                        Inexact Rounded
+precision:  13
+addx684 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42                         Inexact Rounded
+precision:  12
+addx685 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4                          Inexact Rounded
+precision:  11
+addx686 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166                            Inexact Rounded
+precision:  10
+addx687 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.847117417E+10                        Inexact Rounded
+precision:   9
+addx688 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.84711742E+10                         Inexact Rounded
+precision:   8
+addx689 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.8471174E+10                          Inexact Rounded
+precision:   7
+addx690 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.847117E+10                          Inexact Rounded
+precision:   6
+addx691 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.84712E+10                          Inexact Rounded
+precision:   5
+addx692 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.8471E+10                          Inexact Rounded
+precision:   4
+addx693 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.847E+10                          Inexact Rounded
+precision:   3
+addx694 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.85E+10                          Inexact Rounded
+precision:   2
+addx695 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.8E+10                          Inexact Rounded
+precision:   1
+addx696 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 1E+11                          Inexact Rounded
+
+-- more zeros, etc.
+rounding: half_up
+precision:   9
+
+addx701 add 5.00 1.00E-3 -> 5.00100
+addx702 add 00.00 0.000  -> 0.000
+addx703 add 00.00 0E-3   -> 0.000
+addx704 add 0E-3  00.00  -> 0.000
+
+addx710 add 0E+3  00.00  -> 0.00
+addx711 add 0E+3  00.0   -> 0.0
+addx712 add 0E+3  00.    -> 0
+addx713 add 0E+3  00.E+1 -> 0E+1
+addx714 add 0E+3  00.E+2 -> 0E+2
+addx715 add 0E+3  00.E+3 -> 0E+3
+addx716 add 0E+3  00.E+4 -> 0E+3
+addx717 add 0E+3  00.E+5 -> 0E+3
+addx718 add 0E+3  -00.0   -> 0.0
+addx719 add 0E+3  -00.    -> 0
+addx731 add 0E+3  -00.E+1 -> 0E+1
+
+addx720 add 00.00  0E+3  -> 0.00
+addx721 add 00.0   0E+3  -> 0.0
+addx722 add 00.    0E+3  -> 0
+addx723 add 00.E+1 0E+3  -> 0E+1
+addx724 add 00.E+2 0E+3  -> 0E+2
+addx725 add 00.E+3 0E+3  -> 0E+3
+addx726 add 00.E+4 0E+3  -> 0E+3
+addx727 add 00.E+5 0E+3  -> 0E+3
+addx728 add -00.00 0E+3  -> 0.00
+addx729 add -00.0  0E+3  -> 0.0
+addx730 add -00.   0E+3  -> 0
+
+addx732 add  0     0     ->  0
+addx733 add  0    -0     ->  0
+addx734 add -0     0     ->  0
+addx735 add -0    -0     -> -0     -- IEEE 854 special case
+
+addx736 add  1    -1     ->  0
+addx737 add -1    -1     -> -2
+addx738 add  1     1     ->  2
+addx739 add -1     1     ->  0
+
+addx741 add  0    -1     -> -1
+addx742 add -0    -1     -> -1
+addx743 add  0     1     ->  1
+addx744 add -0     1     ->  1
+addx745 add -1     0     -> -1
+addx746 add -1    -0     -> -1
+addx747 add  1     0     ->  1
+addx748 add  1    -0     ->  1
+
+addx751 add  0.0  -1     -> -1.0
+addx752 add -0.0  -1     -> -1.0
+addx753 add  0.0   1     ->  1.0
+addx754 add -0.0   1     ->  1.0
+addx755 add -1.0   0     -> -1.0
+addx756 add -1.0  -0     -> -1.0
+addx757 add  1.0   0     ->  1.0
+addx758 add  1.0  -0     ->  1.0
+
+addx761 add  0    -1.0   -> -1.0
+addx762 add -0    -1.0   -> -1.0
+addx763 add  0     1.0   ->  1.0
+addx764 add -0     1.0   ->  1.0
+addx765 add -1     0.0   -> -1.0
+addx766 add -1    -0.0   -> -1.0
+addx767 add  1     0.0   ->  1.0
+addx768 add  1    -0.0   ->  1.0
+
+addx771 add  0.0  -1.0   -> -1.0
+addx772 add -0.0  -1.0   -> -1.0
+addx773 add  0.0   1.0   ->  1.0
+addx774 add -0.0   1.0   ->  1.0
+addx775 add -1.0   0.0   -> -1.0
+addx776 add -1.0  -0.0   -> -1.0
+addx777 add  1.0   0.0   ->  1.0
+addx778 add  1.0  -0.0   ->  1.0
+
+-- Specials
+addx780 add -Inf  -Inf   -> -Infinity
+addx781 add -Inf  -1000  -> -Infinity
+addx782 add -Inf  -1     -> -Infinity
+addx783 add -Inf  -0     -> -Infinity
+addx784 add -Inf   0     -> -Infinity
+addx785 add -Inf   1     -> -Infinity
+addx786 add -Inf   1000  -> -Infinity
+addx787 add -1000 -Inf   -> -Infinity
+addx788 add -Inf  -Inf   -> -Infinity
+addx789 add -1    -Inf   -> -Infinity
+addx790 add -0    -Inf   -> -Infinity
+addx791 add  0    -Inf   -> -Infinity
+addx792 add  1    -Inf   -> -Infinity
+addx793 add  1000 -Inf   -> -Infinity
+addx794 add  Inf  -Inf   ->  NaN  Invalid_operation
+
+addx800 add  Inf  -Inf   ->  NaN  Invalid_operation
+addx801 add  Inf  -1000  ->  Infinity
+addx802 add  Inf  -1     ->  Infinity
+addx803 add  Inf  -0     ->  Infinity
+addx804 add  Inf   0     ->  Infinity
+addx805 add  Inf   1     ->  Infinity
+addx806 add  Inf   1000  ->  Infinity
+addx807 add  Inf   Inf   ->  Infinity
+addx808 add -1000  Inf   ->  Infinity
+addx809 add -Inf   Inf   ->  NaN  Invalid_operation
+addx810 add -1     Inf   ->  Infinity
+addx811 add -0     Inf   ->  Infinity
+addx812 add  0     Inf   ->  Infinity
+addx813 add  1     Inf   ->  Infinity
+addx814 add  1000  Inf   ->  Infinity
+addx815 add  Inf   Inf   ->  Infinity
+
+addx821 add  NaN -Inf    ->  NaN
+addx822 add  NaN -1000   ->  NaN
+addx823 add  NaN -1      ->  NaN
+addx824 add  NaN -0      ->  NaN
+addx825 add  NaN  0      ->  NaN
+addx826 add  NaN  1      ->  NaN
+addx827 add  NaN  1000   ->  NaN
+addx828 add  NaN  Inf    ->  NaN
+addx829 add  NaN  NaN    ->  NaN
+addx830 add -Inf  NaN    ->  NaN
+addx831 add -1000 NaN    ->  NaN
+addx832 add -1    NaN    ->  NaN
+addx833 add -0    NaN    ->  NaN
+addx834 add  0    NaN    ->  NaN
+addx835 add  1    NaN    ->  NaN
+addx836 add  1000 NaN    ->  NaN
+addx837 add  Inf  NaN    ->  NaN
+
+addx841 add  sNaN -Inf   ->  NaN  Invalid_operation
+addx842 add  sNaN -1000  ->  NaN  Invalid_operation
+addx843 add  sNaN -1     ->  NaN  Invalid_operation
+addx844 add  sNaN -0     ->  NaN  Invalid_operation
+addx845 add  sNaN  0     ->  NaN  Invalid_operation
+addx846 add  sNaN  1     ->  NaN  Invalid_operation
+addx847 add  sNaN  1000  ->  NaN  Invalid_operation
+addx848 add  sNaN  NaN   ->  NaN  Invalid_operation
+addx849 add  sNaN sNaN   ->  NaN  Invalid_operation
+addx850 add  NaN  sNaN   ->  NaN  Invalid_operation
+addx851 add -Inf  sNaN   ->  NaN  Invalid_operation
+addx852 add -1000 sNaN   ->  NaN  Invalid_operation
+addx853 add -1    sNaN   ->  NaN  Invalid_operation
+addx854 add -0    sNaN   ->  NaN  Invalid_operation
+addx855 add  0    sNaN   ->  NaN  Invalid_operation
+addx856 add  1    sNaN   ->  NaN  Invalid_operation
+addx857 add  1000 sNaN   ->  NaN  Invalid_operation
+addx858 add  Inf  sNaN   ->  NaN  Invalid_operation
+addx859 add  NaN  sNaN   ->  NaN  Invalid_operation
+
+-- propagating NaNs
+addx861 add  NaN1   -Inf    ->  NaN1
+addx862 add +NaN2   -1000   ->  NaN2
+addx863 add  NaN3    1000   ->  NaN3
+addx864 add  NaN4    Inf    ->  NaN4
+addx865 add  NaN5   +NaN6   ->  NaN5
+addx866 add -Inf     NaN7   ->  NaN7
+addx867 add -1000    NaN8   ->  NaN8
+addx868 add  1000    NaN9   ->  NaN9
+addx869 add  Inf    +NaN10  ->  NaN10
+addx871 add  sNaN11  -Inf   ->  NaN11  Invalid_operation
+addx872 add  sNaN12  -1000  ->  NaN12  Invalid_operation
+addx873 add  sNaN13   1000  ->  NaN13  Invalid_operation
+addx874 add  sNaN14   NaN17 ->  NaN14  Invalid_operation
+addx875 add  sNaN15  sNaN18 ->  NaN15  Invalid_operation
+addx876 add  NaN16   sNaN19 ->  NaN19  Invalid_operation
+addx877 add -Inf    +sNaN20 ->  NaN20  Invalid_operation
+addx878 add -1000    sNaN21 ->  NaN21  Invalid_operation
+addx879 add  1000    sNaN22 ->  NaN22  Invalid_operation
+addx880 add  Inf     sNaN23 ->  NaN23  Invalid_operation
+addx881 add +NaN25  +sNaN24 ->  NaN24  Invalid_operation
+addx882 add -NaN26    NaN28 -> -NaN26
+addx883 add -sNaN27  sNaN29 -> -NaN27  Invalid_operation
+addx884 add  1000    -NaN30 -> -NaN30
+addx885 add  1000   -sNaN31 -> -NaN31  Invalid_operation
+
+-- overflow, underflow and subnormal tests
+maxexponent: 999999999
+minexponent: -999999999
+precision: 9
+addx890 add 1E+999999999     9E+999999999   -> Infinity Overflow Inexact Rounded
+addx891 add 9E+999999999     1E+999999999   -> Infinity Overflow Inexact Rounded
+addx892 add -1.1E-999999999  1E-999999999   -> -1E-1000000000    Subnormal
+addx893 add 1E-999999999    -1.1e-999999999 -> -1E-1000000000    Subnormal
+addx894 add -1.0001E-999999999  1E-999999999   -> -1E-1000000003 Subnormal
+addx895 add 1E-999999999    -1.0001e-999999999 -> -1E-1000000003 Subnormal
+addx896 add -1E+999999999   -9E+999999999   -> -Infinity Overflow Inexact Rounded
+addx897 add -9E+999999999   -1E+999999999   -> -Infinity Overflow Inexact Rounded
+addx898 add +1.1E-999999999 -1E-999999999   -> 1E-1000000000    Subnormal
+addx899 add -1E-999999999   +1.1e-999999999 -> 1E-1000000000    Subnormal
+addx900 add +1.0001E-999999999 -1E-999999999   -> 1E-1000000003 Subnormal
+addx901 add -1E-999999999   +1.0001e-999999999 -> 1E-1000000003 Subnormal
+addx902 add -1E+999999999   +9E+999999999   ->  8E+999999999
+addx903 add -9E+999999999   +1E+999999999   -> -8E+999999999
+
+precision: 3
+addx904 add      0 -9.999E+999999999   -> -Infinity Inexact Overflow Rounded
+addx905 add        -9.999E+999999999 0 -> -Infinity Inexact Overflow Rounded
+addx906 add      0  9.999E+999999999   ->  Infinity Inexact Overflow Rounded
+addx907 add         9.999E+999999999 0 ->  Infinity Inexact Overflow Rounded
+
+precision: 3
+maxexponent: 999
+minexponent: -999
+addx910 add  1.00E-999   0    ->   1.00E-999
+addx911 add  0.1E-999    0    ->   1E-1000   Subnormal
+addx912 add  0.10E-999   0    ->   1.0E-1000 Subnormal
+addx913 add  0.100E-999  0    ->   1.0E-1000 Subnormal Rounded
+addx914 add  0.01E-999   0    ->   1E-1001   Subnormal
+-- next is rounded to Emin
+addx915 add  0.999E-999  0    ->   1.00E-999 Inexact Rounded Subnormal Underflow
+addx916 add  0.099E-999  0    ->   1.0E-1000 Inexact Rounded Subnormal Underflow
+addx917 add  0.009E-999  0    ->   1E-1001   Inexact Rounded Subnormal Underflow
+addx918 add  0.001E-999  0    ->   0E-1001   Inexact Rounded Subnormal Underflow
+addx919 add  0.0009E-999 0    ->   0E-1001   Inexact Rounded Subnormal Underflow
+addx920 add  0.0001E-999 0    ->   0E-1001   Inexact Rounded Subnormal Underflow
+
+addx930 add -1.00E-999   0    ->  -1.00E-999
+addx931 add -0.1E-999    0    ->  -1E-1000   Subnormal
+addx932 add -0.10E-999   0    ->  -1.0E-1000 Subnormal
+addx933 add -0.100E-999  0    ->  -1.0E-1000 Subnormal Rounded
+addx934 add -0.01E-999   0    ->  -1E-1001   Subnormal
+-- next is rounded to Emin
+addx935 add -0.999E-999  0    ->  -1.00E-999 Inexact Rounded Subnormal Underflow
+addx936 add -0.099E-999  0    ->  -1.0E-1000 Inexact Rounded Subnormal Underflow
+addx937 add -0.009E-999  0    ->  -1E-1001   Inexact Rounded Subnormal Underflow
+addx938 add -0.001E-999  0    ->  -0E-1001   Inexact Rounded Subnormal Underflow
+addx939 add -0.0009E-999 0    ->  -0E-1001   Inexact Rounded Subnormal Underflow
+addx940 add -0.0001E-999 0    ->  -0E-1001   Inexact Rounded Subnormal Underflow
+
+-- some non-zero subnormal adds
+addx950 add  1.00E-999    0.1E-999  ->   1.10E-999
+addx951 add  0.1E-999     0.1E-999  ->   2E-1000    Subnormal
+addx952 add  0.10E-999    0.1E-999  ->   2.0E-1000  Subnormal
+addx953 add  0.100E-999   0.1E-999  ->   2.0E-1000  Subnormal Rounded
+addx954 add  0.01E-999    0.1E-999  ->   1.1E-1000  Subnormal
+addx955 add  0.999E-999   0.1E-999  ->   1.10E-999  Inexact Rounded
+addx956 add  0.099E-999   0.1E-999  ->   2.0E-1000  Inexact Rounded Subnormal Underflow
+addx957 add  0.009E-999   0.1E-999  ->   1.1E-1000  Inexact Rounded Subnormal Underflow
+addx958 add  0.001E-999   0.1E-999  ->   1.0E-1000  Inexact Rounded Subnormal Underflow
+addx959 add  0.0009E-999  0.1E-999  ->   1.0E-1000  Inexact Rounded Subnormal Underflow
+addx960 add  0.0001E-999  0.1E-999  ->   1.0E-1000  Inexact Rounded Subnormal Underflow
+-- negatives...
+addx961 add  1.00E-999   -0.1E-999  ->   9.0E-1000  Subnormal
+addx962 add  0.1E-999    -0.1E-999  ->   0E-1000
+addx963 add  0.10E-999   -0.1E-999  ->   0E-1001
+addx964 add  0.100E-999  -0.1E-999  ->   0E-1001    Clamped
+addx965 add  0.01E-999   -0.1E-999  ->   -9E-1001   Subnormal
+addx966 add  0.999E-999  -0.1E-999  ->   9.0E-1000  Inexact Rounded Subnormal Underflow
+addx967 add  0.099E-999  -0.1E-999  ->   -0E-1001   Inexact Rounded Subnormal Underflow
+addx968 add  0.009E-999  -0.1E-999  ->   -9E-1001   Inexact Rounded Subnormal Underflow
+addx969 add  0.001E-999  -0.1E-999  ->   -1.0E-1000 Inexact Rounded Subnormal Underflow
+addx970 add  0.0009E-999 -0.1E-999  ->   -1.0E-1000 Inexact Rounded Subnormal Underflow
+addx971 add  0.0001E-999 -0.1E-999  ->   -1.0E-1000 Inexact Rounded Subnormal Underflow
+
+-- check overflow edge case
+precision:   7
+rounding:    half_up
+maxExponent: 96
+minExponent: -95
+addx972 apply   9.999999E+96         -> 9.999999E+96
+addx973 add     9.999999E+96  1      -> 9.999999E+96 Inexact Rounded
+addx974 add      9999999E+90  1      -> 9.999999E+96 Inexact Rounded
+addx975 add      9999999E+90  1E+90  -> Infinity Overflow Inexact Rounded
+addx976 add      9999999E+90  9E+89  -> Infinity Overflow Inexact Rounded
+addx977 add      9999999E+90  8E+89  -> Infinity Overflow Inexact Rounded
+addx978 add      9999999E+90  7E+89  -> Infinity Overflow Inexact Rounded
+addx979 add      9999999E+90  6E+89  -> Infinity Overflow Inexact Rounded
+addx980 add      9999999E+90  5E+89  -> Infinity Overflow Inexact Rounded
+addx981 add      9999999E+90  4E+89  -> 9.999999E+96 Inexact Rounded
+addx982 add      9999999E+90  3E+89  -> 9.999999E+96 Inexact Rounded
+addx983 add      9999999E+90  2E+89  -> 9.999999E+96 Inexact Rounded
+addx984 add      9999999E+90  1E+89  -> 9.999999E+96 Inexact Rounded
+
+addx985 apply  -9.999999E+96         -> -9.999999E+96
+addx986 add    -9.999999E+96 -1      -> -9.999999E+96 Inexact Rounded
+addx987 add     -9999999E+90 -1      -> -9.999999E+96 Inexact Rounded
+addx988 add     -9999999E+90 -1E+90  -> -Infinity Overflow Inexact Rounded
+addx989 add     -9999999E+90 -9E+89  -> -Infinity Overflow Inexact Rounded
+addx990 add     -9999999E+90 -8E+89  -> -Infinity Overflow Inexact Rounded
+addx991 add     -9999999E+90 -7E+89  -> -Infinity Overflow Inexact Rounded
+addx992 add     -9999999E+90 -6E+89  -> -Infinity Overflow Inexact Rounded
+addx993 add     -9999999E+90 -5E+89  -> -Infinity Overflow Inexact Rounded
+addx994 add     -9999999E+90 -4E+89  -> -9.999999E+96 Inexact Rounded
+addx995 add     -9999999E+90 -3E+89  -> -9.999999E+96 Inexact Rounded
+addx996 add     -9999999E+90 -2E+89  -> -9.999999E+96 Inexact Rounded
+addx997 add     -9999999E+90 -1E+89  -> -9.999999E+96 Inexact Rounded
+
+-- check for double-rounded subnormals
+precision:   5
+maxexponent: 79
+minexponent: -79
+-- Add: lhs and rhs 0
+addx1001 add       1.52444E-80 0 -> 1.524E-80 Inexact Rounded Subnormal Underflow
+addx1002 add       1.52445E-80 0 -> 1.524E-80 Inexact Rounded Subnormal Underflow
+addx1003 add       1.52446E-80 0 -> 1.524E-80 Inexact Rounded Subnormal Underflow
+addx1004 add       0 1.52444E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow
+addx1005 add       0 1.52445E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow
+addx1006 add       0 1.52446E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow
+
+-- Add: lhs >> rhs and vice versa
+addx1011 add       1.52444E-80 1E-100 -> 1.524E-80 Inexact Rounded Subnormal Underflow
+addx1012 add       1.52445E-80 1E-100 -> 1.524E-80 Inexact Rounded Subnormal Underflow
+addx1013 add       1.52446E-80 1E-100 -> 1.524E-80 Inexact Rounded Subnormal Underflow
+addx1014 add       1E-100 1.52444E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow
+addx1015 add       1E-100 1.52445E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow
+addx1016 add       1E-100 1.52446E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow
+
+-- Add: lhs + rhs addition carried out
+addx1021 add       1.52443E-80 1.00001E-80  -> 2.524E-80 Inexact Rounded Subnormal Underflow
+addx1022 add       1.52444E-80 1.00001E-80  -> 2.524E-80 Inexact Rounded Subnormal Underflow
+addx1023 add       1.52445E-80 1.00001E-80  -> 2.524E-80 Inexact Rounded Subnormal Underflow
+addx1024 add       1.00001E-80  1.52443E-80 -> 2.524E-80 Inexact Rounded Subnormal Underflow
+addx1025 add       1.00001E-80  1.52444E-80 -> 2.524E-80 Inexact Rounded Subnormal Underflow
+addx1026 add       1.00001E-80  1.52445E-80 -> 2.524E-80 Inexact Rounded Subnormal Underflow
+
+-- And for round down full and subnormal results
+precision:    16
+maxExponent: +384
+minExponent: -383
+rounding:     down
+
+addx1100 add 1e+2 -1e-383    -> 99.99999999999999 Rounded Inexact
+addx1101 add 1e+1 -1e-383    -> 9.999999999999999  Rounded Inexact
+addx1103 add   +1 -1e-383    -> 0.9999999999999999  Rounded Inexact
+addx1104 add 1e-1 -1e-383    -> 0.09999999999999999  Rounded Inexact
+addx1105 add 1e-2 -1e-383    -> 0.009999999999999999  Rounded Inexact
+addx1106 add 1e-3 -1e-383    -> 0.0009999999999999999  Rounded Inexact
+addx1107 add 1e-4 -1e-383    -> 0.00009999999999999999  Rounded Inexact
+addx1108 add 1e-5 -1e-383    -> 0.000009999999999999999  Rounded Inexact
+addx1109 add 1e-6 -1e-383    -> 9.999999999999999E-7  Rounded Inexact
+
+rounding:     ceiling
+addx1110 add -1e+2 +1e-383   -> -99.99999999999999 Rounded Inexact
+addx1111 add -1e+1 +1e-383   -> -9.999999999999999  Rounded Inexact
+addx1113 add    -1 +1e-383   -> -0.9999999999999999  Rounded Inexact
+addx1114 add -1e-1 +1e-383   -> -0.09999999999999999  Rounded Inexact
+addx1115 add -1e-2 +1e-383   -> -0.009999999999999999  Rounded Inexact
+addx1116 add -1e-3 +1e-383   -> -0.0009999999999999999  Rounded Inexact
+addx1117 add -1e-4 +1e-383   -> -0.00009999999999999999  Rounded Inexact
+addx1118 add -1e-5 +1e-383   -> -0.000009999999999999999  Rounded Inexact
+addx1119 add -1e-6 +1e-383   -> -9.999999999999999E-7  Rounded Inexact
+
+rounding:     down
+precision:    7
+maxExponent: +96
+minExponent: -95
+addx1130 add   1            -1e-200  -> 0.9999999  Rounded Inexact
+-- subnormal boundary
+addx1131 add   1.000000E-94  -1e-200  ->  9.999999E-95  Rounded Inexact
+addx1132 add   1.000001E-95  -1e-200  ->  1.000000E-95  Rounded Inexact
+addx1133 add   1.000000E-95  -1e-200  ->  9.99999E-96  Rounded Inexact Subnormal Underflow
+addx1134 add   0.999999E-95  -1e-200  ->  9.99998E-96  Rounded Inexact Subnormal Underflow
+addx1135 add   0.001000E-95  -1e-200  ->  9.99E-99  Rounded Inexact Subnormal Underflow
+addx1136 add   0.000999E-95  -1e-200  ->  9.98E-99  Rounded Inexact Subnormal Underflow
+addx1137 add   1.000000E-95  -1e-101  ->  9.99999E-96  Subnormal
+addx1138 add      10000E-101 -1e-200  ->  9.999E-98  Subnormal Inexact Rounded Underflow
+addx1139 add       1000E-101 -1e-200  ->  9.99E-99   Subnormal Inexact Rounded Underflow
+addx1140 add        100E-101 -1e-200  ->  9.9E-100   Subnormal Inexact Rounded Underflow
+addx1141 add         10E-101 -1e-200  ->  9E-101     Subnormal Inexact Rounded Underflow
+addx1142 add          1E-101 -1e-200  ->  0E-101     Subnormal Inexact Rounded Underflow
+addx1143 add          0E-101 -1e-200  -> -0E-101     Subnormal Inexact Rounded Underflow
+addx1144 add          1E-102 -1e-200  ->  0E-101     Subnormal Inexact Rounded Underflow
+
+addx1151 add      10000E-102 -1e-200  ->  9.99E-99  Subnormal Inexact Rounded Underflow
+addx1152 add       1000E-102 -1e-200  ->  9.9E-100  Subnormal Inexact Rounded Underflow
+addx1153 add        100E-102 -1e-200  ->  9E-101   Subnormal Inexact Rounded Underflow
+addx1154 add         10E-102 -1e-200  ->  0E-101     Subnormal Inexact Rounded Underflow
+addx1155 add          1E-102 -1e-200  ->  0E-101     Subnormal Inexact Rounded Underflow
+addx1156 add          0E-102 -1e-200  -> -0E-101     Subnormal Inexact Rounded Underflow
+addx1157 add          1E-103 -1e-200  ->  0E-101     Subnormal Inexact Rounded Underflow
+
+addx1160 add        100E-105 -1e-101  -> -0E-101 Subnormal Inexact Rounded Underflow
+addx1161 add        100E-105 -1e-201  ->  0E-101 Subnormal Inexact Rounded Underflow
+
+
+-- Null tests
+addx9990 add 10  # -> NaN Invalid_operation
+addx9991 add  # 10 -> NaN Invalid_operation

Added: sandbox/trunk/decimal-c/decimaltestdata/base.decTest
==============================================================================
--- (empty file)
+++ sandbox/trunk/decimal-c/decimaltestdata/base.decTest	Tue May 23 13:34:01 2006
@@ -0,0 +1,1272 @@
+------------------------------------------------------------------------
+-- base.decTest -- base decimal <--> string conversions               --
+-- Copyright (c) IBM Corporation, 1981, 2003.  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 at uk.ibm.com                                                   --
+------------------------------------------------------------------------
+version: 2.39
+
+-- This file tests base conversions from string to a decimal number
+-- and back to a string (in either Scientific or Engineering form)
+
+-- Note that unlike other operations the operand is subject to rounding
+-- to conform to emax and precision settings (that is, numbers will
+-- conform to rules and exponent will be in permitted range).
+
+precision:   15
+rounding:    half_up
+maxExponent: 999999999
+minExponent: -999999999
+extended:    1
+
+basx001 toSci       0 -> 0
+basx002 toSci       1 -> 1
+basx003 toSci     1.0 -> 1.0
+basx004 toSci    1.00 -> 1.00
+basx005 toSci      10 -> 10
+basx006 toSci    1000 -> 1000
+basx007 toSci    10.0 -> 10.0
+basx008 toSci    10.1 -> 10.1
+basx009 toSci    10.4 -> 10.4
+basx010 toSci    10.5 -> 10.5
+basx011 toSci    10.6 -> 10.6
+basx012 toSci    10.9 -> 10.9
+basx013 toSci    11.0 -> 11.0
+basx014 toSci  1.234 -> 1.234
+basx015 toSci  0.123 -> 0.123
+basx016 toSci  0.012 -> 0.012
+basx017 toSci  -0    -> -0
+basx018 toSci  -0.0  -> -0.0
+basx019 toSci -00.00 -> -0.00
+
+basx021 toSci     -1 -> -1
+basx022 toSci   -1.0 -> -1.0
+basx023 toSci   -0.1 -> -0.1
+basx024 toSci   -9.1 -> -9.1
+basx025 toSci   -9.11 -> -9.11
+basx026 toSci   -9.119 -> -9.119
+basx027 toSci   -9.999 -> -9.999
+
+basx030 toSci  '123456789.123456'   -> '123456789.123456'
+basx031 toSci  '123456789.000000'   -> '123456789.000000'
+basx032 toSci   '123456789123456'   -> '123456789123456'
+basx033 toSci   '0.0000123456789'   -> '0.0000123456789'
+basx034 toSci  '0.00000123456789'   -> '0.00000123456789'
+basx035 toSci '0.000000123456789'   -> '1.23456789E-7'
+basx036 toSci '0.0000000123456789'  -> '1.23456789E-8'
+
+basx037 toSci '0.123456789012344'   -> '0.123456789012344'
+basx038 toSci '0.123456789012345'   -> '0.123456789012345'
+
+-- String [many more examples are implicitly tested elsewhere]
+-- strings without E cannot generate E in result
+basx100 toSci "12"        -> '12'
+basx101 toSci "-76"       -> '-76'
+basx102 toSci "12.76"     -> '12.76'
+basx103 toSci "+12.76"    -> '12.76'
+basx104 toSci "012.76"    -> '12.76'
+basx105 toSci "+0.003"    -> '0.003'
+basx106 toSci "17."       -> '17'
+basx107 toSci ".5"        -> '0.5'
+basx108 toSci "044"       -> '44'
+basx109 toSci "0044"      -> '44'
+basx110 toSci "0.0005"      -> '0.0005'
+basx111 toSci "00.00005"    -> '0.00005'
+basx112 toSci "0.000005"    -> '0.000005'
+basx113 toSci "0.0000050"   -> '0.0000050'
+basx114 toSci "0.0000005"   -> '5E-7'
+basx115 toSci "0.00000005"  -> '5E-8'
+basx116 toSci "12345678.543210" -> '12345678.543210'
+basx117 toSci "2345678.543210" -> '2345678.543210'
+basx118 toSci "345678.543210" -> '345678.543210'
+basx119 toSci "0345678.54321" -> '345678.54321'
+basx120 toSci "345678.5432" -> '345678.5432'
+basx121 toSci "+345678.5432" -> '345678.5432'
+basx122 toSci "+0345678.5432" -> '345678.5432'
+basx123 toSci "+00345678.5432" -> '345678.5432'
+basx124 toSci "-345678.5432"  -> '-345678.5432'
+basx125 toSci "-0345678.5432"  -> '-345678.5432'
+basx126 toSci "-00345678.5432"  -> '-345678.5432'
+-- examples
+basx127 toSci "5E-6"        -> '0.000005'
+basx128 toSci "50E-7"       -> '0.0000050'
+basx129 toSci "5E-7"        -> '5E-7'
+
+
+-- [No exotics as no Unicode]
+
+-- Numbers with E
+basx130 toSci "0.000E-1"  -> '0.0000'
+basx131 toSci "0.000E-2"  -> '0.00000'
+basx132 toSci "0.000E-3"  -> '0.000000'
+basx133 toSci "0.000E-4"  -> '0E-7'
+basx134 toSci "0.00E-2"   -> '0.0000'
+basx135 toSci "0.00E-3"   -> '0.00000'
+basx136 toSci "0.00E-4"   -> '0.000000'
+basx137 toSci "0.00E-5"   -> '0E-7'
+basx138 toSci "+0E+9"     -> '0E+9'
+basx139 toSci "-0E+9"     -> '-0E+9'
+basx140 toSci "1E+9"      -> '1E+9'
+basx141 toSci "1e+09"     -> '1E+9'
+basx142 toSci "1E+90"     -> '1E+90'
+basx143 toSci "+1E+009"   -> '1E+9'
+basx144 toSci "0E+9"      -> '0E+9'
+basx145 toSci "1E+9"      -> '1E+9'
+basx146 toSci "1E+09"     -> '1E+9'
+basx147 toSci "1e+90"     -> '1E+90'
+basx148 toSci "1E+009"    -> '1E+9'
+basx149 toSci "000E+9"    -> '0E+9'
+basx150 toSci "1E9"       -> '1E+9'
+basx151 toSci "1e09"      -> '1E+9'
+basx152 toSci "1E90"      -> '1E+90'
+basx153 toSci "1E009"     -> '1E+9'
+basx154 toSci "0E9"       -> '0E+9'
+basx155 toSci "0.000e+0"  -> '0.000'
+basx156 toSci "0.000E-1"  -> '0.0000'
+basx157 toSci "4E+9"      -> '4E+9'
+basx158 toSci "44E+9"     -> '4.4E+10'
+basx159 toSci "0.73e-7"   -> '7.3E-8'
+basx160 toSci "00E+9"     -> '0E+9'
+basx161 toSci "00E-9"     -> '0E-9'
+basx162 toSci "10E+9"     -> '1.0E+10'
+basx163 toSci "10E+09"    -> '1.0E+10'
+basx164 toSci "10e+90"    -> '1.0E+91'
+basx165 toSci "10E+009"   -> '1.0E+10'
+basx166 toSci "100e+9"    -> '1.00E+11'
+basx167 toSci "100e+09"   -> '1.00E+11'
+basx168 toSci "100E+90"   -> '1.00E+92'
+basx169 toSci "100e+009"  -> '1.00E+11'
+
+basx170 toSci "1.265"     -> '1.265'
+basx171 toSci "1.265E-20" -> '1.265E-20'
+basx172 toSci "1.265E-8"  -> '1.265E-8'
+basx173 toSci "1.265E-4"  -> '0.0001265'
+basx174 toSci "1.265E-3"  -> '0.001265'
+basx175 toSci "1.265E-2"  -> '0.01265'
+basx176 toSci "1.265E-1"  -> '0.1265'
+basx177 toSci "1.265E-0"  -> '1.265'
+basx178 toSci "1.265E+1"  -> '12.65'
+basx179 toSci "1.265E+2"  -> '126.5'
+basx180 toSci "1.265E+3"  -> '1265'
+basx181 toSci "1.265E+4"  -> '1.265E+4'
+basx182 toSci "1.265E+8"  -> '1.265E+8'
+basx183 toSci "1.265E+20" -> '1.265E+20'
+
+basx190 toSci "12.65"     -> '12.65'
+basx191 toSci "12.65E-20" -> '1.265E-19'
+basx192 toSci "12.65E-8"  -> '1.265E-7'
+basx193 toSci "12.65E-4"  -> '0.001265'
+basx194 toSci "12.65E-3"  -> '0.01265'
+basx195 toSci "12.65E-2"  -> '0.1265'
+basx196 toSci "12.65E-1"  -> '1.265'
+basx197 toSci "12.65E-0"  -> '12.65'
+basx198 toSci "12.65E+1"  -> '126.5'
+basx199 toSci "12.65E+2"  -> '1265'
+basx200 toSci "12.65E+3"  -> '1.265E+4'
+basx201 toSci "12.65E+4"  -> '1.265E+5'
+basx202 toSci "12.65E+8"  -> '1.265E+9'
+basx203 toSci "12.65E+20" -> '1.265E+21'
+
+basx210 toSci "126.5"     -> '126.5'
+basx211 toSci "126.5E-20" -> '1.265E-18'
+basx212 toSci "126.5E-8"  -> '0.000001265'
+basx213 toSci "126.5E-4"  -> '0.01265'
+basx214 toSci "126.5E-3"  -> '0.1265'
+basx215 toSci "126.5E-2"  -> '1.265'
+basx216 toSci "126.5E-1"  -> '12.65'
+basx217 toSci "126.5E-0"  -> '126.5'
+basx218 toSci "126.5E+1"  -> '1265'
+basx219 toSci "126.5E+2"  -> '1.265E+4'
+basx220 toSci "126.5E+3"  -> '1.265E+5'
+basx221 toSci "126.5E+4"  -> '1.265E+6'
+basx222 toSci "126.5E+8"  -> '1.265E+10'
+basx223 toSci "126.5E+20" -> '1.265E+22'
+
+basx230 toSci "1265"     -> '1265'
+basx231 toSci "1265E-20" -> '1.265E-17'
+basx232 toSci "1265E-8"  -> '0.00001265'
+basx233 toSci "1265E-4"  -> '0.1265'
+basx234 toSci "1265E-3"  -> '1.265'
+basx235 toSci "1265E-2"  -> '12.65'
+basx236 toSci "1265E-1"  -> '126.5'
+basx237 toSci "1265E-0"  -> '1265'
+basx238 toSci "1265E+1"  -> '1.265E+4'
+basx239 toSci "1265E+2"  -> '1.265E+5'
+basx240 toSci "1265E+3"  -> '1.265E+6'
+basx241 toSci "1265E+4"  -> '1.265E+7'
+basx242 toSci "1265E+8"  -> '1.265E+11'
+basx243 toSci "1265E+20" -> '1.265E+23'
+
+basx250 toSci "0.1265"     -> '0.1265'
+basx251 toSci "0.1265E-20" -> '1.265E-21'
+basx252 toSci "0.1265E-8"  -> '1.265E-9'
+basx253 toSci "0.1265E-4"  -> '0.00001265'
+basx254 toSci "0.1265E-3"  -> '0.0001265'
+basx255 toSci "0.1265E-2"  -> '0.001265'
+basx256 toSci "0.1265E-1"  -> '0.01265'
+basx257 toSci "0.1265E-0"  -> '0.1265'
+basx258 toSci "0.1265E+1"  -> '1.265'
+basx259 toSci "0.1265E+2"  -> '12.65'
+basx260 toSci "0.1265E+3"  -> '126.5'
+basx261 toSci "0.1265E+4"  -> '1265'
+basx262 toSci "0.1265E+8"  -> '1.265E+7'
+basx263 toSci "0.1265E+20" -> '1.265E+19'
+
+basx270 toSci "0.09e999"  -> '9E+997'
+basx271 toSci "0.9e999"   -> '9E+998'
+basx272 toSci "9e999"     -> '9E+999'
+basx273 toSci "9.9e999"   -> '9.9E+999'
+basx274 toSci "9.99e999"  -> '9.99E+999'
+basx275 toSci "9.99e-999" -> '9.99E-999'
+basx276 toSci "9.9e-999"  -> '9.9E-999'
+basx277 toSci "9e-999"    -> '9E-999'
+basx279 toSci "99e-999"   -> '9.9E-998'
+basx280 toSci "999e-999"  -> '9.99E-997'
+basx281 toSci '0.9e-998'  -> '9E-999'
+basx282 toSci '0.09e-997' -> '9E-999'
+basx283 toSci '0.1e1000'  -> '1E+999'
+basx284 toSci '10e-1000'  -> '1.0E-999'
+
+-- some more negative zeros [systematic tests below]
+basx290 toSci "-0.000E-1"  -> '-0.0000'
+basx291 toSci "-0.000E-2"  -> '-0.00000'
+basx292 toSci "-0.000E-3"  -> '-0.000000'
+basx293 toSci "-0.000E-4"  -> '-0E-7'
+basx294 toSci "-0.00E-2"   -> '-0.0000'
+basx295 toSci "-0.00E-3"   -> '-0.00000'
+basx296 toSci "-0.0E-2"    -> '-0.000'
+basx297 toSci "-0.0E-3"    -> '-0.0000'
+basx298 toSci "-0E-2"      -> '-0.00'
+basx299 toSci "-0E-3"      -> '-0.000'
+
+-- Engineering notation tests
+basx301  toSci 10e12  -> 1.0E+13
+basx302  toEng 10e12  -> 10E+12
+basx303  toSci 10e11  -> 1.0E+12
+basx304  toEng 10e11  -> 1.0E+12
+basx305  toSci 10e10  -> 1.0E+11
+basx306  toEng 10e10  -> 100E+9
+basx307  toSci 10e9   -> 1.0E+10
+basx308  toEng 10e9   -> 10E+9
+basx309  toSci 10e8   -> 1.0E+9
+basx310  toEng 10e8   -> 1.0E+9
+basx311  toSci 10e7   -> 1.0E+8
+basx312  toEng 10e7   -> 100E+6
+basx313  toSci 10e6   -> 1.0E+7
+basx314  toEng 10e6   -> 10E+6
+basx315  toSci 10e5   -> 1.0E+6
+basx316  toEng 10e5   -> 1.0E+6
+basx317  toSci 10e4   -> 1.0E+5
+basx318  toEng 10e4   -> 100E+3
+basx319  toSci 10e3   -> 1.0E+4
+basx320  toEng 10e3   -> 10E+3
+basx321  toSci 10e2   -> 1.0E+3
+basx322  toEng 10e2   -> 1.0E+3
+basx323  toSci 10e1   -> 1.0E+2
+basx324  toEng 10e1   -> 100
+basx325  toSci 10e0   -> 10
+basx326  toEng 10e0   -> 10
+basx327  toSci 10e-1  -> 1.0
+basx328  toEng 10e-1  -> 1.0
+basx329  toSci 10e-2  -> 0.10
+basx330  toEng 10e-2  -> 0.10
+basx331  toSci 10e-3  -> 0.010
+basx332  toEng 10e-3  -> 0.010
+basx333  toSci 10e-4  -> 0.0010
+basx334  toEng 10e-4  -> 0.0010
+basx335  toSci 10e-5  -> 0.00010
+basx336  toEng 10e-5  -> 0.00010
+basx337  toSci 10e-6  -> 0.000010
+basx338  toEng 10e-6  -> 0.000010
+basx339  toSci 10e-7  -> 0.0000010
+basx340  toEng 10e-7  -> 0.0000010
+basx341  toSci 10e-8  -> 1.0E-7
+basx342  toEng 10e-8  -> 100E-9
+basx343  toSci 10e-9  -> 1.0E-8
+basx344  toEng 10e-9  -> 10E-9
+basx345  toSci 10e-10 -> 1.0E-9
+basx346  toEng 10e-10 -> 1.0E-9
+basx347  toSci 10e-11 -> 1.0E-10
+basx348  toEng 10e-11 -> 100E-12
+basx349  toSci 10e-12 -> 1.0E-11
+basx350  toEng 10e-12 -> 10E-12
+basx351  toSci 10e-13 -> 1.0E-12
+basx352  toEng 10e-13 -> 1.0E-12
+
+basx361  toSci 7E12  -> 7E+12
+basx362  toEng 7E12  -> 7E+12
+basx363  toSci 7E11  -> 7E+11
+basx364  toEng 7E11  -> 700E+9
+basx365  toSci 7E10  -> 7E+10
+basx366  toEng 7E10  -> 70E+9
+basx367  toSci 7E9   -> 7E+9
+basx368  toEng 7E9   -> 7E+9
+basx369  toSci 7E8   -> 7E+8
+basx370  toEng 7E8   -> 700E+6
+basx371  toSci 7E7   -> 7E+7
+basx372  toEng 7E7   -> 70E+6
+basx373  toSci 7E6   -> 7E+6
+basx374  toEng 7E6   -> 7E+6
+basx375  toSci 7E5   -> 7E+5
+basx376  toEng 7E5   -> 700E+3
+basx377  toSci 7E4   -> 7E+4
+basx378  toEng 7E4   -> 70E+3
+basx379  toSci 7E3   -> 7E+3
+basx380  toEng 7E3   -> 7E+3
+basx381  toSci 7E2   -> 7E+2
+basx382  toEng 7E2   -> 700
+basx383  toSci 7E1   -> 7E+1
+basx384  toEng 7E1   -> 70
+basx385  toSci 7E0   -> 7
+basx386  toEng 7E0   -> 7
+basx387  toSci 7E-1  -> 0.7
+basx388  toEng 7E-1  -> 0.7
+basx389  toSci 7E-2  -> 0.07
+basx390  toEng 7E-2  -> 0.07
+basx391  toSci 7E-3  -> 0.007
+basx392  toEng 7E-3  -> 0.007
+basx393  toSci 7E-4  -> 0.0007
+basx394  toEng 7E-4  -> 0.0007
+basx395  toSci 7E-5  -> 0.00007
+basx396  toEng 7E-5  -> 0.00007
+basx397  toSci 7E-6  -> 0.000007
+basx398  toEng 7E-6  -> 0.000007
+basx399  toSci 7E-7  -> 7E-7
+basx400  toEng 7E-7  -> 700E-9
+basx401  toSci 7E-8  -> 7E-8
+basx402  toEng 7E-8  -> 70E-9
+basx403  toSci 7E-9  -> 7E-9
+basx404  toEng 7E-9  -> 7E-9
+basx405  toSci 7E-10 -> 7E-10
+basx406  toEng 7E-10 -> 700E-12
+basx407  toSci 7E-11 -> 7E-11
+basx408  toEng 7E-11 -> 70E-12
+basx409  toSci 7E-12 -> 7E-12
+basx410  toEng 7E-12 -> 7E-12
+basx411  toSci 7E-13 -> 7E-13
+basx412  toEng 7E-13 -> 700E-15
+
+-- Exacts remain exact up to precision ..
+precision: 9
+basx420  toSci    100 -> 100
+basx421  toEng    100 -> 100
+basx422  toSci   1000 -> 1000
+basx423  toEng   1000 -> 1000
+basx424  toSci  999.9 ->  999.9
+basx425  toEng  999.9 ->  999.9
+basx426  toSci 1000.0 -> 1000.0
+basx427  toEng 1000.0 -> 1000.0
+basx428  toSci 1000.1 -> 1000.1
+basx429  toEng 1000.1 -> 1000.1
+basx430  toSci 10000 -> 10000
+basx431  toEng 10000 -> 10000
+basx432  toSci 100000 -> 100000
+basx433  toEng 100000 -> 100000
+basx434  toSci 1000000 -> 1000000
+basx435  toEng 1000000 -> 1000000
+basx436  toSci 10000000 -> 10000000
+basx437  toEng 10000000 -> 10000000
+basx438  toSci 100000000 -> 100000000
+basx439  toEng 100000000 -> 100000000
+basx440  toSci 1000000000    -> 1.00000000E+9    Rounded
+basx441  toEng 1000000000    -> 1.00000000E+9    Rounded
+basx442  toSci 1000000000    -> 1.00000000E+9    Rounded
+basx443  toEng 1000000000    -> 1.00000000E+9    Rounded
+basx444  toSci 1000000003    -> 1.00000000E+9    Rounded Inexact
+basx445  toEng 1000000003    -> 1.00000000E+9    Rounded Inexact
+basx446  toSci 1000000005    -> 1.00000001E+9    Rounded Inexact
+basx447  toEng 1000000005    -> 1.00000001E+9    Rounded Inexact
+basx448  toSci 10000000050   -> 1.00000001E+10   Rounded Inexact
+basx449  toEng 10000000050   -> 10.0000001E+9    Rounded Inexact
+basx450  toSci 1000000009    -> 1.00000001E+9    Rounded Inexact
+basx451  toEng 1000000009    -> 1.00000001E+9    Rounded Inexact
+basx452  toSci 10000000000   -> 1.00000000E+10   Rounded
+basx453  toEng 10000000000   -> 10.0000000E+9    Rounded
+basx454  toSci 10000000003   -> 1.00000000E+10   Rounded Inexact
+basx455  toEng 10000000003   -> 10.0000000E+9    Rounded Inexact
+basx456  toSci 10000000005   -> 1.00000000E+10   Rounded Inexact
+basx457  toEng 10000000005   -> 10.0000000E+9    Rounded Inexact
+basx458  toSci 10000000009   -> 1.00000000E+10   Rounded Inexact
+basx459  toEng 10000000009   -> 10.0000000E+9    Rounded Inexact
+basx460  toSci 100000000000  -> 1.00000000E+11   Rounded
+basx461  toEng 100000000000  -> 100.000000E+9    Rounded
+basx462  toSci 100000000300  -> 1.00000000E+11   Rounded Inexact
+basx463  toEng 100000000300  -> 100.000000E+9    Rounded Inexact
+basx464  toSci 100000000500  -> 1.00000001E+11   Rounded Inexact
+basx465  toEng 100000000500  -> 100.000001E+9    Rounded Inexact
+basx466  toSci 100000000900  -> 1.00000001E+11   Rounded Inexact
+basx467  toEng 100000000900  -> 100.000001E+9    Rounded Inexact
+basx468  toSci 1000000000000 -> 1.00000000E+12   Rounded
+basx469  toEng 1000000000000 -> 1.00000000E+12   Rounded
+basx470  toSci 1000000003000 -> 1.00000000E+12   Rounded Inexact
+basx471  toEng 1000000003000 -> 1.00000000E+12   Rounded Inexact
+basx472  toSci 1000000005000 -> 1.00000001E+12   Rounded Inexact
+basx473  toEng 1000000005000 -> 1.00000001E+12   Rounded Inexact
+basx474  toSci 1000000009000 -> 1.00000001E+12   Rounded Inexact
+basx475  toEng 1000000009000 -> 1.00000001E+12   Rounded Inexact
+
+-- check rounding modes heeded
+precision: 5
+rounding:  ceiling
+bsrx401  toSci  1.23450    ->  1.2345  Rounded
+bsrx402  toSci  1.234549   ->  1.2346  Rounded Inexact
+bsrx403  toSci  1.234550   ->  1.2346  Rounded Inexact
+bsrx404  toSci  1.234551   ->  1.2346  Rounded Inexact
+rounding:  down
+bsrx405  toSci  1.23450    ->  1.2345  Rounded
+bsrx406  toSci  1.234549   ->  1.2345  Rounded Inexact
+bsrx407  toSci  1.234550   ->  1.2345  Rounded Inexact
+bsrx408  toSci  1.234551   ->  1.2345  Rounded Inexact
+rounding:  floor
+bsrx410  toSci  1.23450    ->  1.2345  Rounded
+bsrx411  toSci  1.234549   ->  1.2345  Rounded Inexact
+bsrx412  toSci  1.234550   ->  1.2345  Rounded Inexact
+bsrx413  toSci  1.234551   ->  1.2345  Rounded Inexact
+rounding:  half_down
+bsrx415  toSci  1.23450    ->  1.2345  Rounded
+bsrx416  toSci  1.234549   ->  1.2345  Rounded Inexact
+bsrx417  toSci  1.234550   ->  1.2345  Rounded Inexact
+bsrx418  toSci  1.234650   ->  1.2346  Rounded Inexact
+bsrx419  toSci  1.234551   ->  1.2346  Rounded Inexact
+rounding:  half_even
+bsrx421  toSci  1.23450    ->  1.2345  Rounded
+bsrx422  toSci  1.234549   ->  1.2345  Rounded Inexact
+bsrx423  toSci  1.234550   ->  1.2346  Rounded Inexact
+bsrx424  toSci  1.234650   ->  1.2346  Rounded Inexact
+bsrx425  toSci  1.234551   ->  1.2346  Rounded Inexact
+rounding:  down
+bsrx426  toSci  1.23450    ->  1.2345  Rounded
+bsrx427  toSci  1.234549   ->  1.2345  Rounded Inexact
+bsrx428  toSci  1.234550   ->  1.2345  Rounded Inexact
+bsrx429  toSci  1.234551   ->  1.2345  Rounded Inexact
+rounding:  half_up
+bsrx431  toSci  1.23450    ->  1.2345  Rounded
+bsrx432  toSci  1.234549   ->  1.2345  Rounded Inexact
+bsrx433  toSci  1.234550   ->  1.2346  Rounded Inexact
+bsrx434  toSci  1.234650   ->  1.2347  Rounded Inexact
+bsrx435  toSci  1.234551   ->  1.2346  Rounded Inexact
+-- negatives
+rounding:  ceiling
+bsrx501  toSci -1.23450    -> -1.2345  Rounded
+bsrx502  toSci -1.234549   -> -1.2345  Rounded Inexact
+bsrx503  toSci -1.234550   -> -1.2345  Rounded Inexact
+bsrx504  toSci -1.234551   -> -1.2345  Rounded Inexact
+rounding:  down
+bsrx505  toSci -1.23450    -> -1.2345  Rounded
+bsrx506  toSci -1.234549   -> -1.2345  Rounded Inexact
+bsrx507  toSci -1.234550   -> -1.2345  Rounded Inexact
+bsrx508  toSci -1.234551   -> -1.2345  Rounded Inexact
+rounding:  floor
+bsrx510  toSci -1.23450    -> -1.2345  Rounded
+bsrx511  toSci -1.234549   -> -1.2346  Rounded Inexact
+bsrx512  toSci -1.234550   -> -1.2346  Rounded Inexact
+bsrx513  toSci -1.234551   -> -1.2346  Rounded Inexact
+rounding:  half_down
+bsrx515  toSci -1.23450    -> -1.2345  Rounded
+bsrx516  toSci -1.234549   -> -1.2345  Rounded Inexact
+bsrx517  toSci -1.234550   -> -1.2345  Rounded Inexact
+bsrx518  toSci -1.234650   -> -1.2346  Rounded Inexact
+bsrx519  toSci -1.234551   -> -1.2346  Rounded Inexact
+rounding:  half_even
+bsrx521  toSci -1.23450    -> -1.2345  Rounded
+bsrx522  toSci -1.234549   -> -1.2345  Rounded Inexact
+bsrx523  toSci -1.234550   -> -1.2346  Rounded Inexact
+bsrx524  toSci -1.234650   -> -1.2346  Rounded Inexact
+bsrx525  toSci -1.234551   -> -1.2346  Rounded Inexact
+rounding:  down
+bsrx526  toSci -1.23450    -> -1.2345  Rounded
+bsrx527  toSci -1.234549   -> -1.2345  Rounded Inexact
+bsrx528  toSci -1.234550   -> -1.2345  Rounded Inexact
+bsrx529  toSci -1.234551   -> -1.2345  Rounded Inexact
+rounding:  half_up
+bsrx531  toSci -1.23450    -> -1.2345  Rounded
+bsrx532  toSci -1.234549   -> -1.2345  Rounded Inexact
+bsrx533  toSci -1.234550   -> -1.2346  Rounded Inexact
+bsrx534  toSci -1.234650   -> -1.2347  Rounded Inexact
+bsrx535  toSci -1.234551   -> -1.2346  Rounded Inexact
+
+rounding:  half_up
+precision: 9
+
+-- The 'baddies' tests from DiagBigDecimal, plus some new ones
+basx500 toSci '1..2'            -> NaN Conversion_syntax
+basx501 toSci '.'               -> NaN Conversion_syntax
+basx502 toSci '..'              -> NaN Conversion_syntax
+basx503 toSci '++1'             -> NaN Conversion_syntax
+basx504 toSci '--1'             -> NaN Conversion_syntax
+basx505 toSci '-+1'             -> NaN Conversion_syntax
+basx506 toSci '+-1'             -> NaN Conversion_syntax
+basx507 toSci '12e'             -> NaN Conversion_syntax
+basx508 toSci '12e++'           -> NaN Conversion_syntax
+basx509 toSci '12f4'            -> NaN Conversion_syntax
+basx510 toSci ' +1'             -> NaN Conversion_syntax
+basx511 toSci '+ 1'             -> NaN Conversion_syntax
+basx512 toSci '12 '             -> NaN Conversion_syntax
+basx513 toSci ' + 1'            -> NaN Conversion_syntax
+basx514 toSci ' - 1 '           -> NaN Conversion_syntax
+basx515 toSci 'x'               -> NaN Conversion_syntax
+basx516 toSci '-1-'             -> NaN Conversion_syntax
+basx517 toSci '12-'             -> NaN Conversion_syntax
+basx518 toSci '3+'              -> NaN Conversion_syntax
+basx519 toSci ''                -> NaN Conversion_syntax
+basx520 toSci '1e-'             -> NaN Conversion_syntax
+basx521 toSci '7e99999a'        -> NaN Conversion_syntax
+basx522 toSci '7e123567890x'    -> NaN Conversion_syntax
+basx523 toSci '7e12356789012x'  -> NaN Conversion_syntax
+basx524 toSci ''                -> NaN Conversion_syntax
+basx525 toSci 'e100'            -> NaN Conversion_syntax
+basx526 toSci '\u0e5a'          -> NaN Conversion_syntax
+basx527 toSci '\u0b65'          -> NaN Conversion_syntax
+basx528 toSci '123,65'          -> NaN Conversion_syntax
+basx529 toSci '1.34.5'          -> NaN Conversion_syntax
+basx530 toSci '.123.5'          -> NaN Conversion_syntax
+basx531 toSci '01.35.'          -> NaN Conversion_syntax
+basx532 toSci '01.35-'          -> NaN Conversion_syntax
+basx533 toSci '0000..'          -> NaN Conversion_syntax
+basx534 toSci '.0000.'          -> NaN Conversion_syntax
+basx535 toSci '00..00'          -> NaN Conversion_syntax
+basx536 toSci '111e*123'        -> NaN Conversion_syntax
+basx537 toSci '111e123-'        -> NaN Conversion_syntax
+basx538 toSci '111e+12+'        -> NaN Conversion_syntax
+basx539 toSci '111e1-3-'        -> NaN Conversion_syntax
+basx540 toSci '111e1*23'        -> NaN Conversion_syntax
+basx541 toSci '111e1e+3'        -> NaN Conversion_syntax
+basx542 toSci '1e1.0'           -> NaN Conversion_syntax
+basx543 toSci '1e123e'          -> NaN Conversion_syntax
+basx544 toSci 'ten'             -> NaN Conversion_syntax
+basx545 toSci 'ONE'             -> NaN Conversion_syntax
+basx546 toSci '1e.1'            -> NaN Conversion_syntax
+basx547 toSci '1e1.'            -> NaN Conversion_syntax
+basx548 toSci '1ee'             -> NaN Conversion_syntax
+basx549 toSci 'e+1'             -> NaN Conversion_syntax
+basx550 toSci '1.23.4'          -> NaN Conversion_syntax
+basx551 toSci '1.2.1'           -> NaN Conversion_syntax
+basx552 toSci '1E+1.2'          -> NaN Conversion_syntax
+basx553 toSci '1E+1.2.3'        -> NaN Conversion_syntax
+basx554 toSci '1E++1'           -> NaN Conversion_syntax
+basx555 toSci '1E--1'           -> NaN Conversion_syntax
+basx556 toSci '1E+-1'           -> NaN Conversion_syntax
+basx557 toSci '1E-+1'           -> NaN Conversion_syntax
+basx558 toSci '1E''1'           -> NaN Conversion_syntax
+basx559 toSci "1E""1"           -> NaN Conversion_syntax
+basx560 toSci "1E"""""          -> NaN Conversion_syntax
+-- Near-specials
+basx561 toSci "qNaN"            -> NaN Conversion_syntax
+basx562 toSci "NaNq"            -> NaN Conversion_syntax
+basx563 toSci "NaNs"            -> NaN Conversion_syntax
+basx564 toSci "Infi"            -> NaN Conversion_syntax
+basx565 toSci "Infin"           -> NaN Conversion_syntax
+basx566 toSci "Infini"          -> NaN Conversion_syntax
+basx567 toSci "Infinit"         -> NaN Conversion_syntax
+basx568 toSci "-Infinit"        -> NaN Conversion_syntax
+basx569 toSci "0Inf"            -> NaN Conversion_syntax
+basx570 toSci "9Inf"            -> NaN Conversion_syntax
+basx571 toSci "-0Inf"           -> NaN Conversion_syntax
+basx572 toSci "-9Inf"           -> NaN Conversion_syntax
+basx573 toSci "-sNa"            -> NaN Conversion_syntax
+basx574 toSci "xNaN"            -> NaN Conversion_syntax
+basx575 toSci "0sNaN"           -> NaN Conversion_syntax
+
+-- subnormals and overflows
+basx576 toSci '99e999999999'       -> Infinity Overflow  Inexact Rounded
+basx577 toSci '999e999999999'      -> Infinity Overflow  Inexact Rounded
+basx578 toSci '0.9e-999999999'     -> 9E-1000000000 Subnormal
+basx579 toSci '0.09e-999999999'    -> 9E-1000000001 Subnormal
+basx580 toSci '0.1e1000000000'     -> 1E+999999999
+basx581 toSci '10e-1000000000'     -> 1.0E-999999999
+basx582 toSci '0.9e9999999999'     -> Infinity Overflow  Inexact Rounded
+basx583 toSci '99e-9999999999'     -> 0E-1000000007 Underflow Subnormal Inexact Rounded
+basx584 toSci '111e9999999999'     -> Infinity Overflow  Inexact Rounded
+basx585 toSci '1111e-9999999999'   -> 0E-1000000007 Underflow Subnormal Inexact Rounded
+basx586 toSci '1111e-99999999999'  -> 0E-1000000007 Underflow Subnormal Inexact Rounded
+basx587 toSci '7e1000000000'       -> Infinity Overflow  Inexact Rounded
+-- negatives the same
+basx588 toSci '-99e999999999'      -> -Infinity Overflow  Inexact Rounded
+basx589 toSci '-999e999999999'     -> -Infinity Overflow  Inexact Rounded
+basx590 toSci '-0.9e-999999999'    -> -9E-1000000000 Subnormal
+basx591 toSci '-0.09e-999999999'   -> -9E-1000000001 Subnormal
+basx592 toSci '-0.1e1000000000'    -> -1E+999999999
+basx593 toSci '-10e-1000000000'    -> -1.0E-999999999
+basx594 toSci '-0.9e9999999999'    -> -Infinity Overflow  Inexact Rounded
+basx595 toSci '-99e-9999999999'    -> -0E-1000000007 Underflow Subnormal Inexact Rounded
+basx596 toSci '-111e9999999999'    -> -Infinity Overflow  Inexact Rounded
+basx597 toSci '-1111e-9999999999'  -> -0E-1000000007 Underflow Subnormal Inexact Rounded
+basx598 toSci '-1111e-99999999999' -> -0E-1000000007 Underflow Subnormal Inexact Rounded
+basx599 toSci '-7e1000000000'      -> -Infinity Overflow  Inexact Rounded
+
+-- Zeros
+basx601 toSci 0.000000000       -> 0E-9
+basx602 toSci 0.00000000        -> 0E-8
+basx603 toSci 0.0000000         -> 0E-7
+basx604 toSci 0.000000          -> 0.000000
+basx605 toSci 0.00000           -> 0.00000
+basx606 toSci 0.0000            -> 0.0000
+basx607 toSci 0.000             -> 0.000
+basx608 toSci 0.00              -> 0.00
+basx609 toSci 0.0               -> 0.0
+basx610 toSci  .0               -> 0.0
+basx611 toSci 0.                -> 0
+basx612 toSci -.0               -> -0.0
+basx613 toSci -0.               -> -0
+basx614 toSci -0.0              -> -0.0
+basx615 toSci -0.00             -> -0.00
+basx616 toSci -0.000            -> -0.000
+basx617 toSci -0.0000           -> -0.0000
+basx618 toSci -0.00000          -> -0.00000
+basx619 toSci -0.000000         -> -0.000000
+basx620 toSci -0.0000000        -> -0E-7
+basx621 toSci -0.00000000       -> -0E-8
+basx622 toSci -0.000000000      -> -0E-9
+
+basx630 toSci  0.00E+0          -> 0.00
+basx631 toSci  0.00E+1          -> 0.0
+basx632 toSci  0.00E+2          -> 0
+basx633 toSci  0.00E+3          -> 0E+1
+basx634 toSci  0.00E+4          -> 0E+2
+basx635 toSci  0.00E+5          -> 0E+3
+basx636 toSci  0.00E+6          -> 0E+4
+basx637 toSci  0.00E+7          -> 0E+5
+basx638 toSci  0.00E+8          -> 0E+6
+basx639 toSci  0.00E+9          -> 0E+7
+
+basx640 toSci  0.0E+0           -> 0.0
+basx641 toSci  0.0E+1           -> 0
+basx642 toSci  0.0E+2           -> 0E+1
+basx643 toSci  0.0E+3           -> 0E+2
+basx644 toSci  0.0E+4           -> 0E+3
+basx645 toSci  0.0E+5           -> 0E+4
+basx646 toSci  0.0E+6           -> 0E+5
+basx647 toSci  0.0E+7           -> 0E+6
+basx648 toSci  0.0E+8           -> 0E+7
+basx649 toSci  0.0E+9           -> 0E+8
+
+basx650 toSci  0E+0             -> 0
+basx651 toSci  0E+1             -> 0E+1
+basx652 toSci  0E+2             -> 0E+2
+basx653 toSci  0E+3             -> 0E+3
+basx654 toSci  0E+4             -> 0E+4
+basx655 toSci  0E+5             -> 0E+5
+basx656 toSci  0E+6             -> 0E+6
+basx657 toSci  0E+7             -> 0E+7
+basx658 toSci  0E+8             -> 0E+8
+basx659 toSci  0E+9             -> 0E+9
+
+basx660 toSci  0.0E-0           -> 0.0
+basx661 toSci  0.0E-1           -> 0.00
+basx662 toSci  0.0E-2           -> 0.000
+basx663 toSci  0.0E-3           -> 0.0000
+basx664 toSci  0.0E-4           -> 0.00000
+basx665 toSci  0.0E-5           -> 0.000000
+basx666 toSci  0.0E-6           -> 0E-7
+basx667 toSci  0.0E-7           -> 0E-8
+basx668 toSci  0.0E-8           -> 0E-9
+basx669 toSci  0.0E-9           -> 0E-10
+
+basx670 toSci  0.00E-0          -> 0.00
+basx671 toSci  0.00E-1          -> 0.000
+basx672 toSci  0.00E-2          -> 0.0000
+basx673 toSci  0.00E-3          -> 0.00000
+basx674 toSci  0.00E-4          -> 0.000000
+basx675 toSci  0.00E-5          -> 0E-7
+basx676 toSci  0.00E-6          -> 0E-8
+basx677 toSci  0.00E-7          -> 0E-9
+basx678 toSci  0.00E-8          -> 0E-10
+basx679 toSci  0.00E-9          -> 0E-11
+
+-- Specials
+precision: 4
+basx700 toSci "NaN"             -> NaN
+basx701 toSci "nan"             -> NaN
+basx702 toSci "nAn"             -> NaN
+basx703 toSci "NAN"             -> NaN
+basx704 toSci "+NaN"            -> NaN
+basx705 toSci "+nan"            -> NaN
+basx706 toSci "+nAn"            -> NaN
+basx707 toSci "+NAN"            -> NaN
+basx708 toSci "-NaN"            -> -NaN
+basx709 toSci "-nan"            -> -NaN
+basx710 toSci "-nAn"            -> -NaN
+basx711 toSci "-NAN"            -> -NaN
+basx712 toSci 'NaN0'            -> NaN
+basx713 toSci 'NaN1'            -> NaN1
+basx714 toSci 'NaN12'           -> NaN12
+basx715 toSci 'NaN123'          -> NaN123
+basx716 toSci 'NaN1234'         -> NaN1234
+basx717 toSci 'NaN01'           -> NaN1
+basx718 toSci 'NaN012'          -> NaN12
+basx719 toSci 'NaN0123'         -> NaN123
+basx720 toSci 'NaN01234'        -> NaN1234
+basx721 toSci 'NaN001'          -> NaN1
+basx722 toSci 'NaN0012'         -> NaN12
+basx723 toSci 'NaN00123'        -> NaN123
+basx724 toSci 'NaN001234'       -> NaN1234
+basx725 toSci 'NaN12345'        -> NaN Conversion_syntax
+basx726 toSci 'NaN123e+1'       -> NaN Conversion_syntax
+basx727 toSci 'NaN12.45'        -> NaN Conversion_syntax
+basx728 toSci 'NaN-12'          -> NaN Conversion_syntax
+basx729 toSci 'NaN+12'          -> NaN Conversion_syntax
+
+basx730 toSci "sNaN"            -> sNaN
+basx731 toSci "snan"            -> sNaN
+basx732 toSci "SnAn"            -> sNaN
+basx733 toSci "SNAN"            -> sNaN
+basx734 toSci "+sNaN"           -> sNaN
+basx735 toSci "+snan"           -> sNaN
+basx736 toSci "+SnAn"           -> sNaN
+basx737 toSci "+SNAN"           -> sNaN
+basx738 toSci "-sNaN"           -> -sNaN
+basx739 toSci "-snan"           -> -sNaN
+basx740 toSci "-SnAn"           -> -sNaN
+basx741 toSci "-SNAN"           -> -sNaN
+basx742 toSci 'sNaN0000'        -> sNaN
+basx743 toSci 'sNaN7'           -> sNaN7
+basx744 toSci 'sNaN007234'      -> sNaN7234
+basx745 toSci 'sNaN72345'       -> NaN Conversion_syntax
+basx746 toSci 'sNaN72.45'       -> NaN Conversion_syntax
+basx747 toSci 'sNaN-72'         -> NaN Conversion_syntax
+
+basx748 toSci "Inf"             -> Infinity
+basx749 toSci "inf"             -> Infinity
+basx750 toSci "iNf"             -> Infinity
+basx751 toSci "INF"             -> Infinity
+basx752 toSci "+Inf"            -> Infinity
+basx753 toSci "+inf"            -> Infinity
+basx754 toSci "+iNf"            -> Infinity
+basx755 toSci "+INF"            -> Infinity
+basx756 toSci "-Inf"            -> -Infinity
+basx757 toSci "-inf"            -> -Infinity
+basx758 toSci "-iNf"            -> -Infinity
+basx759 toSci "-INF"            -> -Infinity
+
+basx760 toSci "Infinity"        -> Infinity
+basx761 toSci "infinity"        -> Infinity
+basx762 toSci "iNfInItY"        -> Infinity
+basx763 toSci "INFINITY"        -> Infinity
+basx764 toSci "+Infinity"       -> Infinity
+basx765 toSci "+infinity"       -> Infinity
+basx766 toSci "+iNfInItY"       -> Infinity
+basx767 toSci "+INFINITY"       -> Infinity
+basx768 toSci "-Infinity"       -> -Infinity
+basx769 toSci "-infinity"       -> -Infinity
+basx770 toSci "-iNfInItY"       -> -Infinity
+basx771 toSci "-INFINITY"       -> -Infinity
+
+-- Specials and zeros for toEng
+basx772 toEng "NaN"              -> NaN
+basx773 toEng "-Infinity"        -> -Infinity
+basx774 toEng "-sNaN"            -> -sNaN
+basx775 toEng "-NaN"             -> -NaN
+basx776 toEng "+Infinity"        -> Infinity
+basx778 toEng "+sNaN"            -> sNaN
+basx779 toEng "+NaN"             -> NaN
+basx780 toEng "INFINITY"         -> Infinity
+basx781 toEng "SNAN"             -> sNaN
+basx782 toEng "NAN"              -> NaN
+basx783 toEng "infinity"         -> Infinity
+basx784 toEng "snan"             -> sNaN
+basx785 toEng "nan"              -> NaN
+basx786 toEng "InFINITY"         -> Infinity
+basx787 toEng "SnAN"             -> sNaN
+basx788 toEng "nAN"              -> NaN
+basx789 toEng "iNfinity"         -> Infinity
+basx790 toEng "sNan"             -> sNaN
+basx791 toEng "Nan"              -> NaN
+basx792 toEng "Infinity"         -> Infinity
+basx793 toEng "sNaN"             -> sNaN
+
+-- Zero toEng, etc.
+basx800 toEng 0e+1              -> "0.00E+3"  -- doc example
+
+basx801 toEng 0.000000000       -> 0E-9
+basx802 toEng 0.00000000        -> 0.00E-6
+basx803 toEng 0.0000000         -> 0.0E-6
+basx804 toEng 0.000000          -> 0.000000
+basx805 toEng 0.00000           -> 0.00000
+basx806 toEng 0.0000            -> 0.0000
+basx807 toEng 0.000             -> 0.000
+basx808 toEng 0.00              -> 0.00
+basx809 toEng 0.0               -> 0.0
+basx810 toEng  .0               -> 0.0
+basx811 toEng 0.                -> 0
+basx812 toEng -.0               -> -0.0
+basx813 toEng -0.               -> -0
+basx814 toEng -0.0              -> -0.0
+basx815 toEng -0.00             -> -0.00
+basx816 toEng -0.000            -> -0.000
+basx817 toEng -0.0000           -> -0.0000
+basx818 toEng -0.00000          -> -0.00000
+basx819 toEng -0.000000         -> -0.000000
+basx820 toEng -0.0000000        -> -0.0E-6
+basx821 toEng -0.00000000       -> -0.00E-6
+basx822 toEng -0.000000000      -> -0E-9
+
+basx830 toEng  0.00E+0          -> 0.00
+basx831 toEng  0.00E+1          -> 0.0
+basx832 toEng  0.00E+2          -> 0
+basx833 toEng  0.00E+3          -> 0.00E+3
+basx834 toEng  0.00E+4          -> 0.0E+3
+basx835 toEng  0.00E+5          -> 0E+3
+basx836 toEng  0.00E+6          -> 0.00E+6
+basx837 toEng  0.00E+7          -> 0.0E+6
+basx838 toEng  0.00E+8          -> 0E+6
+basx839 toEng  0.00E+9          -> 0.00E+9
+
+basx840 toEng  0.0E+0           -> 0.0
+basx841 toEng  0.0E+1           -> 0
+basx842 toEng  0.0E+2           -> 0.00E+3
+basx843 toEng  0.0E+3           -> 0.0E+3
+basx844 toEng  0.0E+4           -> 0E+3
+basx845 toEng  0.0E+5           -> 0.00E+6
+basx846 toEng  0.0E+6           -> 0.0E+6
+basx847 toEng  0.0E+7           -> 0E+6
+basx848 toEng  0.0E+8           -> 0.00E+9
+basx849 toEng  0.0E+9           -> 0.0E+9
+
+basx850 toEng  0E+0             -> 0
+basx851 toEng  0E+1             -> 0.00E+3
+basx852 toEng  0E+2             -> 0.0E+3
+basx853 toEng  0E+3             -> 0E+3
+basx854 toEng  0E+4             -> 0.00E+6
+basx855 toEng  0E+5             -> 0.0E+6
+basx856 toEng  0E+6             -> 0E+6
+basx857 toEng  0E+7             -> 0.00E+9
+basx858 toEng  0E+8             -> 0.0E+9
+basx859 toEng  0E+9             -> 0E+9
+
+basx860 toEng  0.0E-0           -> 0.0
+basx861 toEng  0.0E-1           -> 0.00
+basx862 toEng  0.0E-2           -> 0.000
+basx863 toEng  0.0E-3           -> 0.0000
+basx864 toEng  0.0E-4           -> 0.00000
+basx865 toEng  0.0E-5           -> 0.000000
+basx866 toEng  0.0E-6           -> 0.0E-6
+basx867 toEng  0.0E-7           -> 0.00E-6
+basx868 toEng  0.0E-8           -> 0E-9
+basx869 toEng  0.0E-9           -> 0.0E-9
+
+basx870 toEng  0.00E-0          -> 0.00
+basx871 toEng  0.00E-1          -> 0.000
+basx872 toEng  0.00E-2          -> 0.0000
+basx873 toEng  0.00E-3          -> 0.00000
+basx874 toEng  0.00E-4          -> 0.000000
+basx875 toEng  0.00E-5          -> 0.0E-6
+basx876 toEng  0.00E-6          -> 0.00E-6
+basx877 toEng  0.00E-7          -> 0E-9
+basx878 toEng  0.00E-8          -> 0.0E-9
+basx879 toEng  0.00E-9          -> 0.00E-9
+
+-- Giga exponent initial tests
+maxExponent: 999999999
+minExponent: -999999999
+
+basx951 toSci '99e999'          -> '9.9E+1000'
+basx952 toSci '999e999'         -> '9.99E+1001'
+basx953 toSci '0.9e-999'        -> '9E-1000'
+basx954 toSci '0.09e-999'       -> '9E-1001'
+basx955 toSci '0.1e1001'        -> '1E+1000'
+basx956 toSci '10e-1001'        -> '1.0E-1000'
+basx957 toSci '0.9e9999'        -> '9E+9998'
+basx958 toSci '99e-9999'        -> '9.9E-9998'
+basx959 toSci '111e9997'        -> '1.11E+9999'
+basx960 toSci '1111e-9999'      -> '1.111E-9996'
+basx961 toSci '99e9999'         -> '9.9E+10000'
+basx962 toSci '999e9999'        -> '9.99E+10001'
+basx963 toSci '0.9e-9999'       -> '9E-10000'
+basx964 toSci '0.09e-9999'      -> '9E-10001'
+basx965 toSci '0.1e10001'       -> '1E+10000'
+basx966 toSci '10e-10001'       -> '1.0E-10000'
+basx967 toSci '0.9e99999'       -> '9E+99998'
+basx968 toSci '99e-99999'       -> '9.9E-99998'
+basx969 toSci '111e99999'       -> '1.11E+100001'
+basx970 toSci '1111e-99999'     -> '1.111E-99996'
+basx971 toSci "0.09e999999999"  -> '9E+999999997'
+basx972 toSci "0.9e999999999"   -> '9E+999999998'
+basx973 toSci "9e999999999"     -> '9E+999999999'
+basx974 toSci "9.9e999999999"   -> '9.9E+999999999'
+basx975 toSci "9.99e999999999"  -> '9.99E+999999999'
+basx976 toSci "9.99e-999999999" -> '9.99E-999999999'
+basx977 toSci "9.9e-999999999"  -> '9.9E-999999999'
+basx978 toSci "9e-999999999"    -> '9E-999999999'
+basx979 toSci "99e-999999999"   -> '9.9E-999999998'
+basx980 toSci "999e-999999999"  -> '9.99E-999999997'
+
+-- Varying exponent maximums
+precision: 5
+maxexponent: 0
+minexponent: 0
+emax001 toSci -1E+2  -> -Infinity Overflow Inexact Rounded
+emax002 toSci -100   -> -Infinity Overflow Inexact Rounded
+emax003 toSci  -10   -> -Infinity Overflow Inexact Rounded
+emax004 toSci   -9.9 -> -9.9
+emax005 toSci   -9   -> -9
+emax006 toSci   -1   -> -1
+emax007 toSci    0   ->  0
+emax008 toSci    1   ->  1
+emax009 toSci    9   ->  9
+emax010 toSci    9.9 ->  9.9
+emax011 toSci   10   ->  Infinity Overflow Inexact Rounded
+emax012 toSci  100   ->  Infinity Overflow Inexact Rounded
+emax013 toSci  1E+2  ->  Infinity Overflow Inexact Rounded
+emax014 toSci   0.99 ->  0.99 Subnormal
+emax015 toSci   0.1  ->  0.1 Subnormal
+emax016 toSci   0.01 ->  0.01 Subnormal
+emax017 toSci  1E-1  ->  0.1 Subnormal
+emax018 toSci  1E-2  ->  0.01 Subnormal
+
+maxexponent: 1
+minexponent: -1
+emax100 toSci -1E+3  -> -Infinity Overflow Inexact Rounded
+emax101 toSci -1E+2  -> -Infinity Overflow Inexact Rounded
+emax102 toSci -100   -> -Infinity Overflow Inexact Rounded
+emax103 toSci  -10   -> -10
+emax104 toSci   -9.9 -> -9.9
+emax105 toSci   -9   -> -9
+emax106 toSci   -1   -> -1
+emax107 toSci    0   ->  0
+emax108 toSci    1   ->  1
+emax109 toSci    9   ->  9
+emax110 toSci    9.9 ->  9.9
+emax111 toSci   10   -> 10
+emax112 toSci  100   ->  Infinity Overflow Inexact Rounded
+emax113 toSci  1E+2  ->  Infinity Overflow Inexact Rounded
+emax114 toSci  1E+3  ->  Infinity Overflow Inexact Rounded
+emax115 toSci   0.99 ->  0.99
+emax116 toSci   0.1  ->  0.1
+emax117 toSci   0.01 ->  0.01 Subnormal
+emax118 toSci  1E-1  ->  0.1
+emax119 toSci  1E-2  ->  0.01 Subnormal
+emax120 toSci  1E-3  ->  0.001 Subnormal
+emax121 toSci  1.1E-3  ->  0.0011 Subnormal
+emax122 toSci  1.11E-3  ->  0.00111 Subnormal
+emax123 toSci  1.111E-3  ->  0.00111 Subnormal Underflow Inexact Rounded
+emax124 toSci  1.1111E-3  ->  0.00111 Subnormal Underflow Inexact Rounded
+emax125 toSci  1.11111E-3  ->  0.00111 Subnormal Underflow Inexact Rounded
+
+maxexponent: 2
+minexponent: -2
+precision: 9
+emax200 toSci -1E+3  -> -Infinity Overflow Inexact Rounded
+emax201 toSci -1E+2  -> -1E+2
+emax202 toSci -100   -> -100
+emax203 toSci  -10   -> -10
+emax204 toSci   -9.9 -> -9.9
+emax205 toSci   -9   -> -9
+emax206 toSci   -1   -> -1
+emax207 toSci    0   ->  0
+emax208 toSci    1   ->  1
+emax209 toSci    9   ->  9
+emax210 toSci    9.9 ->  9.9
+emax211 toSci   10   -> 10
+emax212 toSci  100   -> 100
+emax213 toSci  1E+2  -> 1E+2
+emax214 toSci  1E+3  ->  Infinity Overflow Inexact Rounded
+emax215 toSci   0.99 ->  0.99
+emax216 toSci   0.1  ->  0.1
+emax217 toSci   0.01 ->  0.01
+emax218 toSci  0.001 ->  0.001 Subnormal
+emax219 toSci  1E-1  ->  0.1
+emax220 toSci  1E-2  ->  0.01
+emax221 toSci  1E-3  ->  0.001 Subnormal
+emax222 toSci  1E-4  ->  0.0001 Subnormal
+emax223 toSci  1E-5  ->  0.00001 Subnormal
+emax224 toSci  1E-6  ->  0.000001 Subnormal
+emax225 toSci  1E-7  ->  1E-7  Subnormal
+emax226 toSci  1E-8  ->  1E-8  Subnormal
+emax227 toSci  1E-9  ->  1E-9  Subnormal
+emax228 toSci  1E-10 ->  1E-10 Subnormal
+emax229 toSci  1E-11 ->  0E-10 Underflow Subnormal Inexact Rounded
+emax230 toSci  1E-12 ->  0E-10 Underflow Subnormal Inexact Rounded
+
+maxexponent: 7
+minexponent: -7
+emax231 toSci  1E-8  ->  1E-8 Subnormal
+emax232 toSci  1E-7  ->  1E-7
+emax233 toSci  1E-6  ->  0.000001
+emax234 toSci  1E-5  ->  0.00001
+emax235 toSci  1E+5  ->  1E+5
+emax236 toSci  1E+6  ->  1E+6
+emax237 toSci  1E+7  ->  1E+7
+emax238 toSci  1E+8  ->  Infinity Overflow Inexact Rounded
+
+maxexponent: 9
+minexponent: -9
+emax240 toSci  1E-21 ->  0E-17 Subnormal Underflow Inexact Rounded
+emax241 toSci  1E-10 ->  1E-10 Subnormal
+emax242 toSci  1E-9  ->  1E-9
+emax243 toSci  1E-8  ->  1E-8
+emax244 toSci  1E-7  ->  1E-7
+emax245 toSci  1E+7  ->  1E+7
+emax246 toSci  1E+8  ->  1E+8
+emax247 toSci  1E+9  ->  1E+9
+emax248 toSci  1E+10 ->  Infinity Overflow Inexact Rounded
+
+maxexponent: 10  -- boundary
+minexponent: -10
+emax250 toSci  1E-21 ->  0E-18 Underflow Subnormal Inexact Rounded
+emax251 toSci  1E-11 ->  1E-11 Subnormal
+emax252 toSci  1E-10 ->  1E-10
+emax253 toSci  1E-9  ->  1E-9
+emax254 toSci  1E-8  ->  1E-8
+emax255 toSci  1E+8  ->  1E+8
+emax256 toSci  1E+9  ->  1E+9
+emax257 toSci  1E+10 ->  1E+10
+emax258 toSci  1E+11 ->  Infinity Overflow Inexact Rounded
+
+emax260 toSci  1.00E-21 ->  0E-18 Underflow Subnormal Inexact Rounded
+emax261 toSci  1.00E-11 ->  1.00E-11 Subnormal
+emax262 toSci  1.00E-10 ->  1.00E-10
+emax263 toSci  1.00E-9  ->  1.00E-9
+emax264 toSci  1.00E-8  ->  1.00E-8
+emax265 toSci  1.00E+8  ->  1.00E+8
+emax266 toSci  1.00E+9  ->  1.00E+9
+emax267 toSci  1.00E+10 ->  1.00E+10
+emax268 toSci  1.00E+11 ->  Infinity Overflow Inexact Rounded
+emax270 toSci  9.99E-21 ->  0E-18 Underflow Subnormal Inexact Rounded
+emax271 toSci  9.99E-11 ->  9.99E-11 Subnormal
+emax272 toSci  9.99E-10 ->  9.99E-10
+emax273 toSci  9.99E-9  ->  9.99E-9
+emax274 toSci  9.99E-8  ->  9.99E-8
+emax275 toSci  9.99E+8  ->  9.99E+8
+emax276 toSci  9.99E+9  ->  9.99E+9
+emax277 toSci  9.99E+10 ->  9.99E+10
+emax278 toSci  9.99E+11 ->  Infinity Overflow Inexact Rounded
+
+maxexponent: 99
+minexponent: -99
+emax280 toSci  1E-120 ->  0E-107 Underflow Subnormal Inexact Rounded
+emax281 toSci  1E-100 ->  1E-100 Subnormal
+emax282 toSci  1E-99  ->  1E-99
+emax283 toSci  1E-98  ->  1E-98
+emax284 toSci  1E+98  ->  1E+98
+emax285 toSci  1E+99  ->  1E+99
+emax286 toSci  1E+100 ->  Infinity Overflow Inexact Rounded
+
+maxexponent: 999
+minexponent: -999
+emax291 toSci  1E-1000 ->  1E-1000 Subnormal
+emax292 toSci  1E-999  ->  1E-999
+emax293 toSci  1E+999  ->  1E+999
+emax294 toSci  1E+1000 ->  Infinity Overflow Inexact Rounded
+maxexponent: 9999
+minexponent: -9999
+emax301 toSci  1E-10000 ->  1E-10000 Subnormal
+emax302 toSci  1E-9999  ->  1E-9999
+emax303 toSci  1E+9999  ->  1E+9999
+emax304 toSci  1E+10000 ->  Infinity Overflow Inexact Rounded
+maxexponent: 99999
+minexponent: -99999
+emax311 toSci  1E-100000 ->  1E-100000 Subnormal
+emax312 toSci  1E-99999  ->  1E-99999
+emax313 toSci  1E+99999  ->  1E+99999
+emax314 toSci  1E+100000 ->  Infinity Overflow Inexact Rounded
+maxexponent: 999999
+minexponent: -999999
+emax321 toSci  1E-1000000 ->  1E-1000000 Subnormal
+emax322 toSci  1E-999999  ->  1E-999999
+emax323 toSci  1E+999999  ->  1E+999999
+emax324 toSci  1E+1000000 ->  Infinity Overflow Inexact Rounded
+maxexponent: 9999999
+minexponent: -9999999
+emax331 toSci  1E-10000000 ->  1E-10000000 Subnormal
+emax332 toSci  1E-9999999  ->  1E-9999999
+emax333 toSci  1E+9999999  ->  1E+9999999
+emax334 toSci  1E+10000000 ->  Infinity Overflow Inexact Rounded
+maxexponent: 99999999
+minexponent: -99999999
+emax341 toSci  1E-100000000 ->  1E-100000000 Subnormal
+emax342 toSci  1E-99999999  ->  1E-99999999
+emax343 toSci  1E+99999999  ->  1E+99999999
+emax344 toSci  1E+100000000 ->  Infinity Overflow Inexact Rounded
+
+maxexponent: 999999999
+minexponent: -999999999
+emax347 toSci  1E-1000000008     ->  0E-1000000007 Underflow Subnormal Inexact Rounded
+emax348 toSci  1E-1000000007     ->  1E-1000000007 Subnormal
+emax349 toSci  1E-1000000000     ->  1E-1000000000 Subnormal
+emax350 toSci  1E-999999999      ->  1E-999999999
+emax351 toSci  1E+999999999      ->  1E+999999999
+emax352 toSci  1E+1000000000     ->  Infinity Overflow Inexact Rounded
+emax353 toSci  1.000E-1000000000 ->  1.000E-1000000000 Subnormal
+emax354 toSci  1.000E-999999999  ->  1.000E-999999999
+emax355 toSci  1.000E+999999999  ->  1.000E+999999999
+emax356 toSci  1.000E+1000000000 ->  Infinity Overflow Inexact Rounded
+emax357 toSci  1.001E-1000000008 ->  0E-1000000007 Underflow Subnormal Inexact Rounded
+emax358 toSci  1.001E-1000000007 ->  1E-1000000007 Subnormal Inexact Rounded Underflow
+emax359 toSci  1.001E-1000000000 ->  1.001E-1000000000 Subnormal
+emax360 toSci  1.001E-999999999  ->  1.001E-999999999
+emax361 toSci  1.001E+999999999  ->  1.001E+999999999
+emax362 toSci  1.001E+1000000000 ->  Infinity Overflow Inexact Rounded
+emax363 toSci  9.000E-1000000000 ->  9.000E-1000000000 Subnormal
+emax364 toSci  9.000E-999999999  ->  9.000E-999999999
+emax365 toSci  9.000E+999999999  ->  9.000E+999999999
+emax366 toSci  9.000E+1000000000 ->  Infinity Overflow Inexact Rounded
+emax367 toSci  9.999E-1000000009 ->  0E-1000000007 Underflow Subnormal Inexact Rounded
+emax368 toSci  9.999E-1000000008 ->  1E-1000000007 Underflow Subnormal Inexact Rounded
+emax369 toSci  9.999E-1000000007 ->  1.0E-1000000006 Underflow Subnormal Inexact Rounded
+emax370 toSci  9.999E-1000000000 ->  9.999E-1000000000 Subnormal
+emax371 toSci  9.999E-999999999  ->  9.999E-999999999
+emax372 toSci  9.999E+999999999  ->  9.999E+999999999
+
+emax373 toSci  9.999E+1000000000 ->  Infinity Overflow Inexact Rounded
+emax374 toSci -1E-1000000000     -> -1E-1000000000 Subnormal
+emax375 toSci -1E-999999999      -> -1E-999999999
+emax376 toSci -1E+999999999      -> -1E+999999999
+emax377 toSci -1E+1000000000     -> -Infinity Overflow Inexact Rounded
+emax378 toSci -1.000E-1000000000 -> -1.000E-1000000000 Subnormal
+emax379 toSci -1.000E-999999999  -> -1.000E-999999999
+emax380 toSci -1.000E+999999999  -> -1.000E+999999999
+emax381 toSci -1.000E+1000000000 -> -Infinity Overflow Inexact Rounded
+emax382 toSci -1.001E-1000000008 -> -0E-1000000007 Underflow Subnormal Inexact Rounded
+emax383 toSci -1.001E-999999999  -> -1.001E-999999999
+emax384 toSci -1.001E+999999999  -> -1.001E+999999999
+emax385 toSci -1.001E+1000000000 -> -Infinity Overflow Inexact Rounded
+emax386 toSci -9.000E-1000000123 -> -0E-1000000007 Underflow Subnormal Inexact Rounded
+emax387 toSci -9.000E-999999999  -> -9.000E-999999999
+emax388 toSci -9.000E+999999999  -> -9.000E+999999999
+emax389 toSci -9.000E+1000000000 -> -Infinity Overflow Inexact Rounded
+emax390 toSci -9.999E-1000000008 -> -1E-1000000007 Underflow Subnormal Inexact Rounded
+emax391 toSci -9.999E-999999999  -> -9.999E-999999999
+emax392 toSci -9.999E+999999999  -> -9.999E+999999999
+emax393 toSci -9.999E+1000000000 -> -Infinity Overflow Inexact Rounded
+
+-- Now check 854 rounding of subnormals and proper underflow to 0
+precision:   5
+maxExponent: 999
+minexponent: -999
+rounding:    half_even
+
+emax400 toSci  1.0000E-999     -> 1.0000E-999
+emax401 toSci  0.1E-999        -> 1E-1000     Subnormal
+emax402 toSci  0.1000E-999     -> 1.000E-1000 Subnormal
+emax403 toSci  0.0100E-999     -> 1.00E-1001  Subnormal
+emax404 toSci  0.0010E-999     -> 1.0E-1002   Subnormal
+emax405 toSci  0.0001E-999     -> 1E-1003     Subnormal
+emax406 toSci  0.00010E-999    -> 1E-1003     Subnormal Rounded
+emax407 toSci  0.00013E-999    -> 1E-1003     Underflow Subnormal Inexact Rounded
+emax408 toSci  0.00015E-999    -> 2E-1003     Underflow Subnormal Inexact Rounded
+emax409 toSci  0.00017E-999    -> 2E-1003     Underflow Subnormal Inexact Rounded
+emax410 toSci  0.00023E-999    -> 2E-1003     Underflow Subnormal Inexact Rounded
+emax411 toSci  0.00025E-999    -> 2E-1003     Underflow Subnormal Inexact Rounded
+emax412 toSci  0.00027E-999    -> 3E-1003     Underflow Subnormal Inexact Rounded
+emax413 toSci  0.000149E-999   -> 1E-1003     Underflow Subnormal Inexact Rounded
+emax414 toSci  0.000150E-999   -> 2E-1003     Underflow Subnormal Inexact Rounded
+emax415 toSci  0.000151E-999   -> 2E-1003     Underflow Subnormal Inexact Rounded
+emax416 toSci  0.000249E-999   -> 2E-1003     Underflow Subnormal Inexact Rounded
+emax417 toSci  0.000250E-999   -> 2E-1003     Underflow Subnormal Inexact Rounded
+emax418 toSci  0.000251E-999   -> 3E-1003     Underflow Subnormal Inexact Rounded
+emax419 toSci  0.00009E-999    -> 1E-1003     Underflow Subnormal Inexact Rounded
+emax420 toSci  0.00005E-999    -> 0E-1003     Underflow Subnormal Inexact Rounded
+emax421 toSci  0.00003E-999    -> 0E-1003     Underflow Subnormal Inexact Rounded
+emax422 toSci  0.000009E-999   -> 0E-1003     Underflow Subnormal Inexact Rounded
+emax423 toSci  0.000005E-999   -> 0E-1003     Underflow Subnormal Inexact Rounded
+emax424 toSci  0.000003E-999   -> 0E-1003     Underflow Subnormal Inexact Rounded
+
+emax425 toSci  0.001049E-999   -> 1.0E-1002   Underflow Subnormal Inexact Rounded
+emax426 toSci  0.001050E-999   -> 1.0E-1002   Underflow Subnormal Inexact Rounded
+emax427 toSci  0.001051E-999   -> 1.1E-1002   Underflow Subnormal Inexact Rounded
+emax428 toSci  0.001149E-999   -> 1.1E-1002   Underflow Subnormal Inexact Rounded
+emax429 toSci  0.001150E-999   -> 1.2E-1002   Underflow Subnormal Inexact Rounded
+emax430 toSci  0.001151E-999   -> 1.2E-1002   Underflow Subnormal Inexact Rounded
+
+emax432 toSci  0.010049E-999   -> 1.00E-1001  Underflow Subnormal Inexact Rounded
+emax433 toSci  0.010050E-999   -> 1.00E-1001  Underflow Subnormal Inexact Rounded
+emax434 toSci  0.010051E-999   -> 1.01E-1001  Underflow Subnormal Inexact Rounded
+emax435 toSci  0.010149E-999   -> 1.01E-1001  Underflow Subnormal Inexact Rounded
+emax436 toSci  0.010150E-999   -> 1.02E-1001  Underflow Subnormal Inexact Rounded
+emax437 toSci  0.010151E-999   -> 1.02E-1001  Underflow Subnormal Inexact Rounded
+
+emax440 toSci  0.10103E-999    -> 1.010E-1000 Underflow Subnormal Inexact Rounded
+emax441 toSci  0.10105E-999    -> 1.010E-1000 Underflow Subnormal Inexact Rounded
+emax442 toSci  0.10107E-999    -> 1.011E-1000 Underflow Subnormal Inexact Rounded
+emax443 toSci  0.10113E-999    -> 1.011E-1000 Underflow Subnormal Inexact Rounded
+emax444 toSci  0.10115E-999    -> 1.012E-1000 Underflow Subnormal Inexact Rounded
+emax445 toSci  0.10117E-999    -> 1.012E-1000 Underflow Subnormal Inexact Rounded
+
+emax450 toSci  1.10730E-1000   -> 1.107E-1000 Underflow Subnormal Inexact Rounded
+emax451 toSci  1.10750E-1000   -> 1.108E-1000 Underflow Subnormal Inexact Rounded
+emax452 toSci  1.10770E-1000   -> 1.108E-1000 Underflow Subnormal Inexact Rounded
+emax453 toSci  1.10830E-1000   -> 1.108E-1000 Underflow Subnormal Inexact Rounded
+emax454 toSci  1.10850E-1000   -> 1.108E-1000 Underflow Subnormal Inexact Rounded
+emax455 toSci  1.10870E-1000   -> 1.109E-1000 Underflow Subnormal Inexact Rounded
+
+-- make sure sign OK
+emax456 toSci  -0.10103E-999   -> -1.010E-1000 Underflow Subnormal Inexact Rounded
+emax457 toSci  -0.10105E-999   -> -1.010E-1000 Underflow Subnormal Inexact Rounded
+emax458 toSci  -0.10107E-999   -> -1.011E-1000 Underflow Subnormal Inexact Rounded
+emax459 toSci  -0.10113E-999   -> -1.011E-1000 Underflow Subnormal Inexact Rounded
+emax460 toSci  -0.10115E-999   -> -1.012E-1000 Underflow Subnormal Inexact Rounded
+emax461 toSci  -0.10117E-999   -> -1.012E-1000 Underflow Subnormal Inexact Rounded
+
+-- '999s' cases
+emax464 toSci  999999E-999         -> 1.0000E-993 Inexact Rounded
+emax465 toSci  99999.0E-999        -> 9.9999E-995 Rounded
+emax466 toSci  99999.E-999         -> 9.9999E-995
+emax467 toSci  9999.9E-999         -> 9.9999E-996
+emax468 toSci  999.99E-999         -> 9.9999E-997
+emax469 toSci  99.999E-999         -> 9.9999E-998
+emax470 toSci  9.9999E-999         -> 9.9999E-999
+emax471 toSci  0.99999E-999        -> 1.0000E-999 Underflow Subnormal Inexact Rounded
+emax472 toSci  0.099999E-999       -> 1.000E-1000 Underflow Subnormal Inexact Rounded
+emax473 toSci  0.0099999E-999      -> 1.00E-1001  Underflow Subnormal Inexact Rounded
+emax474 toSci  0.00099999E-999     -> 1.0E-1002   Underflow Subnormal Inexact Rounded
+emax475 toSci  0.000099999E-999    -> 1E-1003     Underflow Subnormal Inexact Rounded
+emax476 toSci  0.0000099999E-999   -> 0E-1003     Underflow Subnormal Inexact Rounded
+emax477 toSci  0.00000099999E-999  -> 0E-1003     Underflow Subnormal Inexact Rounded
+emax478 toSci  0.000000099999E-999 -> 0E-1003     Underflow Subnormal Inexact Rounded
+
+-- Exponents with insignificant leading zeros
+precision:   16
+maxExponent: 999999999
+minexponent: -999999999
+basx1001 toSci  1e999999999 -> 1E+999999999
+basx1002 toSci  1e0999999999 -> 1E+999999999
+basx1003 toSci  1e00999999999 -> 1E+999999999
+basx1004 toSci  1e000999999999 -> 1E+999999999
+basx1005 toSci  1e000000000000999999999 -> 1E+999999999
+basx1006 toSci  1e000000000001000000007 -> Infinity Overflow Inexact Rounded
+basx1007 toSci  1e-999999999 -> 1E-999999999
+basx1008 toSci  1e-0999999999 -> 1E-999999999
+basx1009 toSci  1e-00999999999 -> 1E-999999999
+basx1010 toSci  1e-000999999999 -> 1E-999999999
+basx1011 toSci  1e-000000000000999999999 -> 1E-999999999
+basx1012 toSci  1e-000000000001000000007 -> 1E-1000000007 Subnormal
+
+-- Edge cases for int32 exponents...
+basx1021 tosci 1e+2147483649 -> Infinity Overflow Inexact Rounded
+basx1022 tosci 1e+2147483648 -> Infinity Overflow Inexact Rounded
+basx1023 tosci 1e+2147483647 -> Infinity Overflow Inexact Rounded
+basx1024 tosci 1e-2147483647 -> 0E-1000000014 Underflow Subnormal Inexact Rounded
+basx1025 tosci 1e-2147483648 -> 0E-1000000014 Underflow Subnormal Inexact Rounded
+basx1026 tosci 1e-2147483649 -> 0E-1000000014 Underflow Subnormal Inexact Rounded
+-- same unbalanced
+precision:   7
+maxExponent: 96
+minexponent: -95
+basx1031 tosci 1e+2147483649 -> Infinity Overflow Inexact Rounded
+basx1032 tosci 1e+2147483648 -> Infinity Overflow Inexact Rounded
+basx1033 tosci 1e+2147483647 -> Infinity Overflow Inexact Rounded
+basx1034 tosci 1e-2147483647 -> 0E-101 Underflow Subnormal Inexact Rounded
+basx1035 tosci 1e-2147483648 -> 0E-101 Underflow Subnormal Inexact Rounded
+basx1036 tosci 1e-2147483649 -> 0E-101 Underflow Subnormal Inexact Rounded
+
+-- check for double-rounded subnormals
+precision:   5
+maxexponent: 79
+minexponent: -79
+basx1041 toSci     1.52444E-80  ->  1.524E-80 Inexact Rounded Subnormal Underflow
+basx1042 toSci     1.52445E-80  ->  1.524E-80 Inexact Rounded Subnormal Underflow
+basx1043 toSci     1.52446E-80  ->  1.524E-80 Inexact Rounded Subnormal Underflow
+

Added: sandbox/trunk/decimal-c/decimaltestdata/clamp.decTest
==============================================================================
--- (empty file)
+++ sandbox/trunk/decimal-c/decimaltestdata/clamp.decTest	Tue May 23 13:34:01 2006
@@ -0,0 +1,197 @@
+------------------------------------------------------------------------
+-- clamp.decTest -- clamped exponent tests (format-independent)       --
+-- Copyright (c) IBM Corporation, 2000, 2003.  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 at uk.ibm.com                                                   --
+------------------------------------------------------------------------
+version: 2.39
+
+-- This set of tests uses the same limits as the 8-byte concrete
+-- representation, but applies clamping without using format-specific
+-- conversions.
+
+extended:    1
+precision:   16
+rounding:    half_even
+maxExponent: 384
+minExponent: -383
+clamp:       1
+
+-- General testcases
+
+-- Normality
+clam010 apply   1234567890123456   ->  1234567890123456
+clam011 apply   1234567890123456.0 ->  1234567890123456 Rounded
+clam012 apply   1234567890123456.1 ->  1234567890123456 Rounded Inexact
+clam013 apply  -1234567890123456   -> -1234567890123456
+clam014 apply  -1234567890123456.0 -> -1234567890123456 Rounded
+clam015 apply  -1234567890123456.1 -> -1234567890123456 Rounded Inexact
+
+
+-- Nmax and similar
+clam022 apply   9.999999999999999E+384  -> 9.999999999999999E+384
+clam024 apply   1.234567890123456E+384  -> 1.234567890123456E+384
+-- fold-downs (more below)
+clam030 apply   1.23E+384               -> 1.230000000000000E+384 Clamped
+clam032 apply   1E+384                  -> 1.000000000000000E+384 Clamped
+
+clam051 apply   12345                   -> 12345
+clam053 apply   1234                    -> 1234
+clam055 apply   123                     -> 123
+clam057 apply   12                      -> 12
+clam059 apply   1                       -> 1
+clam061 apply   1.23                    -> 1.23
+clam063 apply   123.45                  -> 123.45
+
+-- Nmin and below
+clam071 apply   1E-383                  -> 1E-383
+clam073 apply   1.000000000000000E-383  -> 1.000000000000000E-383
+clam075 apply   1.000000000000001E-383  -> 1.000000000000001E-383
+
+clam077 apply   0.100000000000000E-383  -> 1.00000000000000E-384  Subnormal
+clam079 apply   0.000000000000010E-383  -> 1.0E-397               Subnormal
+clam081 apply   0.00000000000001E-383   -> 1E-397                 Subnormal
+clam083 apply   0.000000000000001E-383  -> 1E-398                 Subnormal
+
+-- underflows
+clam090 apply   1e-398                  -> #0000000000000001  Subnormal
+clam091 apply   1.9e-398                -> #0000000000000002  Subnormal Underflow Inexact Rounded
+clam092 apply   1.1e-398                -> #0000000000000001  Subnormal Underflow Inexact Rounded
+clam093 apply   1.00000000001e-398      -> #0000000000000001  Subnormal Underflow Inexact Rounded
+clam094 apply   1.00000000000001e-398   -> #0000000000000001  Subnormal Underflow Inexact Rounded
+clam095 apply   1.000000000000001e-398  -> #0000000000000001  Subnormal Underflow Inexact Rounded
+clam096 apply   0.1e-398                -> #0000000000000000  Subnormal Underflow Inexact Rounded
+clam097 apply   0.00000000001e-398      -> #0000000000000000  Subnormal Underflow Inexact Rounded
+clam098 apply   0.00000000000001e-398   -> #0000000000000000  Subnormal Underflow Inexact Rounded
+clam099 apply   0.000000000000001e-398  -> #0000000000000000  Subnormal Underflow Inexact Rounded
+
+-- Same again, negatives
+-- Nmax and similar
+clam122 apply  -9.999999999999999E+384  -> -9.999999999999999E+384
+clam124 apply  -1.234567890123456E+384  -> -1.234567890123456E+384
+-- fold-downs (more below)
+clam130 apply  -1.23E+384               -> -1.230000000000000E+384 Clamped
+clam132 apply  -1E+384                  -> -1.000000000000000E+384 Clamped
+
+clam151 apply  -12345                   -> -12345
+clam153 apply  -1234                    -> -1234
+clam155 apply  -123                     -> -123
+clam157 apply  -12                      -> -12
+clam159 apply  -1                       -> -1
+clam161 apply  -1.23                    -> -1.23
+clam163 apply  -123.45                  -> -123.45
+
+-- Nmin and below
+clam171 apply  -1E-383                  -> -1E-383
+clam173 apply  -1.000000000000000E-383  -> -1.000000000000000E-383
+clam175 apply  -1.000000000000001E-383  -> -1.000000000000001E-383
+
+clam177 apply  -0.100000000000000E-383  -> -1.00000000000000E-384  Subnormal
+clam179 apply  -0.000000000000010E-383  -> -1.0E-397               Subnormal
+clam181 apply  -0.00000000000001E-383   -> -1E-397                 Subnormal
+clam183 apply  -0.000000000000001E-383  -> -1E-398                 Subnormal
+
+-- underflows
+clam189 apply   -1e-398                 -> #8000000000000001  Subnormal
+clam190 apply   -1.0e-398               -> #8000000000000001  Subnormal Rounded
+clam191 apply   -1.9e-398               -> #8000000000000002  Subnormal Underflow Inexact Rounded
+clam192 apply   -1.1e-398               -> #8000000000000001  Subnormal Underflow Inexact Rounded
+clam193 apply   -1.00000000001e-398     -> #8000000000000001  Subnormal Underflow Inexact Rounded
+clam194 apply   -1.00000000000001e-398  -> #8000000000000001  Subnormal Underflow Inexact Rounded
+clam195 apply   -1.000000000000001e-398 -> #8000000000000001  Subnormal Underflow Inexact Rounded
+clam196 apply   -0.1e-398               -> #8000000000000000  Subnormal Underflow Inexact Rounded
+clam197 apply   -0.00000000001e-398     -> #8000000000000000  Subnormal Underflow Inexact Rounded
+clam198 apply   -0.00000000000001e-398  -> #8000000000000000  Subnormal Underflow Inexact Rounded
+clam199 apply   -0.000000000000001e-398 -> #8000000000000000  Subnormal Underflow Inexact Rounded
+
+-- zeros
+clam401 apply   0E-500                  -> 0E-398  Clamped
+clam402 apply   0E-400                  -> 0E-398  Clamped
+clam403 apply   0E-398                  -> 0E-398
+clam404 apply   0.000000000000000E-383  -> 0E-398
+clam405 apply   0E-2                    ->  0.00
+clam406 apply   0                       -> 0
+clam407 apply   0E+3                    -> 0E+3
+clam408 apply   0E+369                  -> 0E+369
+-- clamped zeros...
+clam410 apply   0E+370                  -> 0E+369 Clamped
+clam411 apply   0E+384                  -> 0E+369 Clamped
+clam412 apply   0E+400                  -> 0E+369 Clamped
+clam413 apply   0E+500                  -> 0E+369 Clamped
+
+-- negative zeros
+clam420 apply   -0E-500                 -> -0E-398 Clamped
+clam421 apply   -0E-400                 -> -0E-398 Clamped
+clam422 apply   -0E-398                 -> -0E-398
+clam423 apply   -0.000000000000000E-383 -> -0E-398
+clam424 apply   -0E-2                   -> -0.00
+clam425 apply   -0                      -> -0
+clam426 apply   -0E+3                   -> -0E+3
+clam427 apply   -0E+369                 -> -0E+369
+-- clamped zeros...
+clam431 apply   -0E+370                 -> -0E+369 Clamped
+clam432 apply   -0E+384                 -> -0E+369 Clamped
+clam433 apply   -0E+400                 -> -0E+369 Clamped
+clam434 apply   -0E+500                 -> -0E+369 Clamped
+
+-- fold-down full sequence
+clam601 apply   1E+384                  -> 1.000000000000000E+384 Clamped
+clam603 apply   1E+383                  -> 1.00000000000000E+383 Clamped
+clam605 apply   1E+382                  -> 1.0000000000000E+382 Clamped
+clam607 apply   1E+381                  -> 1.000000000000E+381 Clamped
+clam609 apply   1E+380                  -> 1.00000000000E+380 Clamped
+clam611 apply   1E+379                  -> 1.0000000000E+379 Clamped
+clam613 apply   1E+378                  -> 1.000000000E+378 Clamped
+clam615 apply   1E+377                  -> 1.00000000E+377 Clamped
+clam617 apply   1E+376                  -> 1.0000000E+376 Clamped
+clam619 apply   1E+375                  -> 1.000000E+375 Clamped
+clam621 apply   1E+374                  -> 1.00000E+374 Clamped
+clam623 apply   1E+373                  -> 1.0000E+373 Clamped
+clam625 apply   1E+372                  -> 1.000E+372 Clamped
+clam627 apply   1E+371                  -> 1.00E+371 Clamped
+clam629 apply   1E+370                  -> 1.0E+370 Clamped
+clam631 apply   1E+369                  -> 1E+369
+clam633 apply   1E+368                  -> 1E+368
+-- same with 9s
+clam641 apply   9E+384                  -> 9.000000000000000E+384 Clamped
+clam643 apply   9E+383                  -> 9.00000000000000E+383 Clamped
+clam645 apply   9E+382                  -> 9.0000000000000E+382 Clamped
+clam647 apply   9E+381                  -> 9.000000000000E+381 Clamped
+clam649 apply   9E+380                  -> 9.00000000000E+380 Clamped
+clam651 apply   9E+379                  -> 9.0000000000E+379 Clamped
+clam653 apply   9E+378                  -> 9.000000000E+378 Clamped
+clam655 apply   9E+377                  -> 9.00000000E+377 Clamped
+clam657 apply   9E+376                  -> 9.0000000E+376 Clamped
+clam659 apply   9E+375                  -> 9.000000E+375 Clamped
+clam661 apply   9E+374                  -> 9.00000E+374 Clamped
+clam663 apply   9E+373                  -> 9.0000E+373 Clamped
+clam665 apply   9E+372                  -> 9.000E+372 Clamped
+clam667 apply   9E+371                  -> 9.00E+371 Clamped
+clam669 apply   9E+370                  -> 9.0E+370 Clamped
+clam671 apply   9E+369                  -> 9E+369
+clam673 apply   9E+368                  -> 9E+368
+
+-- example from documentation
+precision:   7
+rounding:    half_even
+maxExponent: +96
+minExponent: -95
+
+clamp:       0
+clam700 apply   1.23E+96                -> 1.23E+96
+
+clamp:       1
+clam701 apply   1.23E+96                -> 1.230000E+96 Clamped

Added: sandbox/trunk/decimal-c/decimaltestdata/compare.decTest
==============================================================================
--- (empty file)
+++ sandbox/trunk/decimal-c/decimaltestdata/compare.decTest	Tue May 23 13:34:01 2006
@@ -0,0 +1,717 @@
+------------------------------------------------------------------------
+-- compare.decTest -- decimal comparison                              --
+-- Copyright (c) IBM Corporation, 1981, 2003.  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 at uk.ibm.com                                                   --
+------------------------------------------------------------------------
+version: 2.39
+
+-- Note that we cannot assume add/subtract tests cover paths adequately,
+-- here, because the code might be quite different (comparison cannot
+-- overflow or underflow, so actual subtractions are not necesary).
+
+extended: 1
+
+precision:   9
+rounding:    half_up
+maxExponent: 999
+minexponent: -999
+
+-- sanity checks
+comx001 compare  -2  -2  -> 0
+comx002 compare  -2  -1  -> -1
+comx003 compare  -2   0  -> -1
+comx004 compare  -2   1  -> -1
+comx005 compare  -2   2  -> -1
+comx006 compare  -1  -2  -> 1
+comx007 compare  -1  -1  -> 0
+comx008 compare  -1   0  -> -1
+comx009 compare  -1   1  -> -1
+comx010 compare  -1   2  -> -1
+comx011 compare   0  -2  -> 1
+comx012 compare   0  -1  -> 1
+comx013 compare   0   0  -> 0
+comx014 compare   0   1  -> -1
+comx015 compare   0   2  -> -1
+comx016 compare   1  -2  -> 1
+comx017 compare   1  -1  -> 1
+comx018 compare   1   0  -> 1
+comx019 compare   1   1  -> 0
+comx020 compare   1   2  -> -1
+comx021 compare   2  -2  -> 1
+comx022 compare   2  -1  -> 1
+comx023 compare   2   0  -> 1
+comx025 compare   2   1  -> 1
+comx026 compare   2   2  -> 0
+
+comx031 compare  -20  -20  -> 0
+comx032 compare  -20  -10  -> -1
+comx033 compare  -20   00  -> -1
+comx034 compare  -20   10  -> -1
+comx035 compare  -20   20  -> -1
+comx036 compare  -10  -20  -> 1
+comx037 compare  -10  -10  -> 0
+comx038 compare  -10   00  -> -1
+comx039 compare  -10   10  -> -1
+comx040 compare  -10   20  -> -1
+comx041 compare   00  -20  -> 1
+comx042 compare   00  -10  -> 1
+comx043 compare   00   00  -> 0
+comx044 compare   00   10  -> -1
+comx045 compare   00   20  -> -1
+comx046 compare   10  -20  -> 1
+comx047 compare   10  -10  -> 1
+comx048 compare   10   00  -> 1
+comx049 compare   10   10  -> 0
+comx050 compare   10   20  -> -1
+comx051 compare   20  -20  -> 1
+comx052 compare   20  -10  -> 1
+comx053 compare   20   00  -> 1
+comx055 compare   20   10  -> 1
+comx056 compare   20   20  -> 0
+
+comx061 compare  -2.0  -2.0  -> 0
+comx062 compare  -2.0  -1.0  -> -1
+comx063 compare  -2.0   0.0  -> -1
+comx064 compare  -2.0   1.0  -> -1
+comx065 compare  -2.0   2.0  -> -1
+comx066 compare  -1.0  -2.0  -> 1
+comx067 compare  -1.0  -1.0  -> 0
+comx068 compare  -1.0   0.0  -> -1
+comx069 compare  -1.0   1.0  -> -1
+comx070 compare  -1.0   2.0  -> -1
+comx071 compare   0.0  -2.0  -> 1
+comx072 compare   0.0  -1.0  -> 1
+comx073 compare   0.0   0.0  -> 0
+comx074 compare   0.0   1.0  -> -1
+comx075 compare   0.0   2.0  -> -1
+comx076 compare   1.0  -2.0  -> 1
+comx077 compare   1.0  -1.0  -> 1
+comx078 compare   1.0   0.0  -> 1
+comx079 compare   1.0   1.0  -> 0
+comx080 compare   1.0   2.0  -> -1
+comx081 compare   2.0  -2.0  -> 1
+comx082 compare   2.0  -1.0  -> 1
+comx083 compare   2.0   0.0  -> 1
+comx085 compare   2.0   1.0  -> 1
+comx086 compare   2.0   2.0  -> 0
+
+-- now some cases which might overflow if subtract were used
+maxexponent: 999999999
+minexponent: -999999999
+comx090 compare  9.99999999E+999999999 9.99999999E+999999999  -> 0
+comx091 compare -9.99999999E+999999999 9.99999999E+999999999  -> -1
+comx092 compare  9.99999999E+999999999 -9.99999999E+999999999 -> 1
+comx093 compare -9.99999999E+999999999 -9.99999999E+999999999 -> 0
+
+-- some differing length/exponent cases
+comx100 compare   7.0    7.0    -> 0
+comx101 compare   7.0    7      -> 0
+comx102 compare   7      7.0    -> 0
+comx103 compare   7E+0   7.0    -> 0
+comx104 compare   70E-1  7.0    -> 0
+comx105 compare   0.7E+1 7      -> 0
+comx106 compare   70E-1  7      -> 0
+comx107 compare   7.0    7E+0   -> 0
+comx108 compare   7.0    70E-1  -> 0
+comx109 compare   7      0.7E+1 -> 0
+comx110 compare   7      70E-1  -> 0
+
+comx120 compare   8.0    7.0    -> 1
+comx121 compare   8.0    7      -> 1
+comx122 compare   8      7.0    -> 1
+comx123 compare   8E+0   7.0    -> 1
+comx124 compare   80E-1  7.0    -> 1
+comx125 compare   0.8E+1 7      -> 1
+comx126 compare   80E-1  7      -> 1
+comx127 compare   8.0    7E+0   -> 1
+comx128 compare   8.0    70E-1  -> 1
+comx129 compare   8      0.7E+1  -> 1
+comx130 compare   8      70E-1  -> 1
+
+comx140 compare   8.0    9.0    -> -1
+comx141 compare   8.0    9      -> -1
+comx142 compare   8      9.0    -> -1
+comx143 compare   8E+0   9.0    -> -1
+comx144 compare   80E-1  9.0    -> -1
+comx145 compare   0.8E+1 9      -> -1
+comx146 compare   80E-1  9      -> -1
+comx147 compare   8.0    9E+0   -> -1
+comx148 compare   8.0    90E-1  -> -1
+comx149 compare   8      0.9E+1 -> -1
+comx150 compare   8      90E-1  -> -1
+
+-- and again, with sign changes -+ ..
+comx200 compare  -7.0    7.0    -> -1
+comx201 compare  -7.0    7      -> -1
+comx202 compare  -7      7.0    -> -1
+comx203 compare  -7E+0   7.0    -> -1
+comx204 compare  -70E-1  7.0    -> -1
+comx205 compare  -0.7E+1 7      -> -1
+comx206 compare  -70E-1  7      -> -1
+comx207 compare  -7.0    7E+0   -> -1
+comx208 compare  -7.0    70E-1  -> -1
+comx209 compare  -7      0.7E+1 -> -1
+comx210 compare  -7      70E-1  -> -1
+
+comx220 compare  -8.0    7.0    -> -1
+comx221 compare  -8.0    7      -> -1
+comx222 compare  -8      7.0    -> -1
+comx223 compare  -8E+0   7.0    -> -1
+comx224 compare  -80E-1  7.0    -> -1
+comx225 compare  -0.8E+1 7      -> -1
+comx226 compare  -80E-1  7      -> -1
+comx227 compare  -8.0    7E+0   -> -1
+comx228 compare  -8.0    70E-1  -> -1
+comx229 compare  -8      0.7E+1 -> -1
+comx230 compare  -8      70E-1  -> -1
+
+comx240 compare  -8.0    9.0    -> -1
+comx241 compare  -8.0    9      -> -1
+comx242 compare  -8      9.0    -> -1
+comx243 compare  -8E+0   9.0    -> -1
+comx244 compare  -80E-1  9.0    -> -1
+comx245 compare  -0.8E+1 9      -> -1
+comx246 compare  -80E-1  9      -> -1
+comx247 compare  -8.0    9E+0   -> -1
+comx248 compare  -8.0    90E-1  -> -1
+comx249 compare  -8      0.9E+1 -> -1
+comx250 compare  -8      90E-1  -> -1
+
+-- and again, with sign changes +- ..
+comx300 compare   7.0    -7.0    -> 1
+comx301 compare   7.0    -7      -> 1
+comx302 compare   7      -7.0    -> 1
+comx303 compare   7E+0   -7.0    -> 1
+comx304 compare   70E-1  -7.0    -> 1
+comx305 compare   .7E+1  -7      -> 1
+comx306 compare   70E-1  -7      -> 1
+comx307 compare   7.0    -7E+0   -> 1
+comx308 compare   7.0    -70E-1  -> 1
+comx309 compare   7      -.7E+1  -> 1
+comx310 compare   7      -70E-1  -> 1
+
+comx320 compare   8.0    -7.0    -> 1
+comx321 compare   8.0    -7      -> 1
+comx322 compare   8      -7.0    -> 1
+comx323 compare   8E+0   -7.0    -> 1
+comx324 compare   80E-1  -7.0    -> 1
+comx325 compare   .8E+1  -7      -> 1
+comx326 compare   80E-1  -7      -> 1
+comx327 compare   8.0    -7E+0   -> 1
+comx328 compare   8.0    -70E-1  -> 1
+comx329 compare   8      -.7E+1  -> 1
+comx330 compare   8      -70E-1  -> 1
+
+comx340 compare   8.0    -9.0    -> 1
+comx341 compare   8.0    -9      -> 1
+comx342 compare   8      -9.0    -> 1
+comx343 compare   8E+0   -9.0    -> 1
+comx344 compare   80E-1  -9.0    -> 1
+comx345 compare   .8E+1  -9      -> 1
+comx346 compare   80E-1  -9      -> 1
+comx347 compare   8.0    -9E+0   -> 1
+comx348 compare   8.0    -90E-1  -> 1
+comx349 compare   8      -.9E+1  -> 1
+comx350 compare   8      -90E-1  -> 1
+
+-- and again, with sign changes -- ..
+comx400 compare   -7.0    -7.0    -> 0
+comx401 compare   -7.0    -7      -> 0
+comx402 compare   -7      -7.0    -> 0
+comx403 compare   -7E+0   -7.0    -> 0
+comx404 compare   -70E-1  -7.0    -> 0
+comx405 compare   -.7E+1  -7      -> 0
+comx406 compare   -70E-1  -7      -> 0
+comx407 compare   -7.0    -7E+0   -> 0
+comx408 compare   -7.0    -70E-1  -> 0
+comx409 compare   -7      -.7E+1  -> 0
+comx410 compare   -7      -70E-1  -> 0
+
+comx420 compare   -8.0    -7.0    -> -1
+comx421 compare   -8.0    -7      -> -1
+comx422 compare   -8      -7.0    -> -1
+comx423 compare   -8E+0   -7.0    -> -1
+comx424 compare   -80E-1  -7.0    -> -1
+comx425 compare   -.8E+1  -7      -> -1
+comx426 compare   -80E-1  -7      -> -1
+comx427 compare   -8.0    -7E+0   -> -1
+comx428 compare   -8.0    -70E-1  -> -1
+comx429 compare   -8      -.7E+1  -> -1
+comx430 compare   -8      -70E-1  -> -1
+
+comx440 compare   -8.0    -9.0    -> 1
+comx441 compare   -8.0    -9      -> 1
+comx442 compare   -8      -9.0    -> 1
+comx443 compare   -8E+0   -9.0    -> 1
+comx444 compare   -80E-1  -9.0    -> 1
+comx445 compare   -.8E+1  -9      -> 1
+comx446 compare   -80E-1  -9      -> 1
+comx447 compare   -8.0    -9E+0   -> 1
+comx448 compare   -8.0    -90E-1  -> 1
+comx449 compare   -8      -.9E+1  -> 1
+comx450 compare   -8      -90E-1  -> 1
+
+
+-- testcases that subtract to lots of zeros at boundaries [pgr]
+precision: 40
+comx470 compare 123.4560000000000000E789 123.456E789 -> 0
+comx471 compare 123.456000000000000E-89 123.456E-89 -> 0
+comx472 compare 123.45600000000000E789 123.456E789 -> 0
+comx473 compare 123.4560000000000E-89 123.456E-89 -> 0
+comx474 compare 123.456000000000E789 123.456E789 -> 0
+comx475 compare 123.45600000000E-89 123.456E-89 -> 0
+comx476 compare 123.4560000000E789 123.456E789 -> 0
+comx477 compare 123.456000000E-89 123.456E-89 -> 0
+comx478 compare 123.45600000E789 123.456E789 -> 0
+comx479 compare 123.4560000E-89 123.456E-89 -> 0
+comx480 compare 123.456000E789 123.456E789 -> 0
+comx481 compare 123.45600E-89 123.456E-89 -> 0
+comx482 compare 123.4560E789 123.456E789 -> 0
+comx483 compare 123.456E-89 123.456E-89 -> 0
+comx484 compare 123.456E-89 123.4560000000000000E-89 -> 0
+comx485 compare 123.456E789 123.456000000000000E789 -> 0
+comx486 compare 123.456E-89 123.45600000000000E-89 -> 0
+comx487 compare 123.456E789 123.4560000000000E789 -> 0
+comx488 compare 123.456E-89 123.456000000000E-89 -> 0
+comx489 compare 123.456E789 123.45600000000E789 -> 0
+comx490 compare 123.456E-89 123.4560000000E-89 -> 0
+comx491 compare 123.456E789 123.456000000E789 -> 0
+comx492 compare 123.456E-89 123.45600000E-89 -> 0
+comx493 compare 123.456E789 123.4560000E789 -> 0
+comx494 compare 123.456E-89 123.456000E-89 -> 0
+comx495 compare 123.456E789 123.45600E789 -> 0
+comx496 compare 123.456E-89 123.4560E-89 -> 0
+comx497 compare 123.456E789 123.456E789 -> 0
+
+-- wide-ranging, around precision; signs equal
+precision: 9
+comx500 compare    1     1E-15    -> 1
+comx501 compare    1     1E-14    -> 1
+comx502 compare    1     1E-13    -> 1
+comx503 compare    1     1E-12    -> 1
+comx504 compare    1     1E-11    -> 1
+comx505 compare    1     1E-10    -> 1
+comx506 compare    1     1E-9     -> 1
+comx507 compare    1     1E-8     -> 1
+comx508 compare    1     1E-7     -> 1
+comx509 compare    1     1E-6     -> 1
+comx510 compare    1     1E-5     -> 1
+comx511 compare    1     1E-4     -> 1
+comx512 compare    1     1E-3     -> 1
+comx513 compare    1     1E-2     -> 1
+comx514 compare    1     1E-1     -> 1
+comx515 compare    1     1E-0     -> 0
+comx516 compare    1     1E+1     -> -1
+comx517 compare    1     1E+2     -> -1
+comx518 compare    1     1E+3     -> -1
+comx519 compare    1     1E+4     -> -1
+comx521 compare    1     1E+5     -> -1
+comx522 compare    1     1E+6     -> -1
+comx523 compare    1     1E+7     -> -1
+comx524 compare    1     1E+8     -> -1
+comx525 compare    1     1E+9     -> -1
+comx526 compare    1     1E+10    -> -1
+comx527 compare    1     1E+11    -> -1
+comx528 compare    1     1E+12    -> -1
+comx529 compare    1     1E+13    -> -1
+comx530 compare    1     1E+14    -> -1
+comx531 compare    1     1E+15    -> -1
+-- LR swap
+comx540 compare    1E-15  1       -> -1
+comx541 compare    1E-14  1       -> -1
+comx542 compare    1E-13  1       -> -1
+comx543 compare    1E-12  1       -> -1
+comx544 compare    1E-11  1       -> -1
+comx545 compare    1E-10  1       -> -1
+comx546 compare    1E-9   1       -> -1
+comx547 compare    1E-8   1       -> -1
+comx548 compare    1E-7   1       -> -1
+comx549 compare    1E-6   1       -> -1
+comx550 compare    1E-5   1       -> -1
+comx551 compare    1E-4   1       -> -1
+comx552 compare    1E-3   1       -> -1
+comx553 compare    1E-2   1       -> -1
+comx554 compare    1E-1   1       -> -1
+comx555 compare    1E-0   1       ->  0
+comx556 compare    1E+1   1       ->  1
+comx557 compare    1E+2   1       ->  1
+comx558 compare    1E+3   1       ->  1
+comx559 compare    1E+4   1       ->  1
+comx561 compare    1E+5   1       ->  1
+comx562 compare    1E+6   1       ->  1
+comx563 compare    1E+7   1       ->  1
+comx564 compare    1E+8   1       ->  1
+comx565 compare    1E+9   1       ->  1
+comx566 compare    1E+10  1       ->  1
+comx567 compare    1E+11  1       ->  1
+comx568 compare    1E+12  1       ->  1
+comx569 compare    1E+13  1       ->  1
+comx570 compare    1E+14  1       ->  1
+comx571 compare    1E+15  1       ->  1
+-- similar with an useful coefficient, one side only
+comx580 compare  0.000000987654321     1E-15    -> 1
+comx581 compare  0.000000987654321     1E-14    -> 1
+comx582 compare  0.000000987654321     1E-13    -> 1
+comx583 compare  0.000000987654321     1E-12    -> 1
+comx584 compare  0.000000987654321     1E-11    -> 1
+comx585 compare  0.000000987654321     1E-10    -> 1
+comx586 compare  0.000000987654321     1E-9     -> 1
+comx587 compare  0.000000987654321     1E-8     -> 1
+comx588 compare  0.000000987654321     1E-7     -> 1
+comx589 compare  0.000000987654321     1E-6     -> -1
+comx590 compare  0.000000987654321     1E-5     -> -1
+comx591 compare  0.000000987654321     1E-4     -> -1
+comx592 compare  0.000000987654321     1E-3     -> -1
+comx593 compare  0.000000987654321     1E-2     -> -1
+comx594 compare  0.000000987654321     1E-1     -> -1
+comx595 compare  0.000000987654321     1E-0     -> -1
+comx596 compare  0.000000987654321     1E+1     -> -1
+comx597 compare  0.000000987654321     1E+2     -> -1
+comx598 compare  0.000000987654321     1E+3     -> -1
+comx599 compare  0.000000987654321     1E+4     -> -1
+
+-- check some unit-y traps
+precision: 20
+comx600 compare   12            12.2345 -> -1
+comx601 compare   12.0          12.2345 -> -1
+comx602 compare   12.00         12.2345 -> -1
+comx603 compare   12.000        12.2345 -> -1
+comx604 compare   12.0000       12.2345 -> -1
+comx605 compare   12.00000      12.2345 -> -1
+comx606 compare   12.000000     12.2345 -> -1
+comx607 compare   12.0000000    12.2345 -> -1
+comx608 compare   12.00000000   12.2345 -> -1
+comx609 compare   12.000000000  12.2345 -> -1
+comx610 compare   12.1234 12            ->  1
+comx611 compare   12.1234 12.0          ->  1
+comx612 compare   12.1234 12.00         ->  1
+comx613 compare   12.1234 12.000        ->  1
+comx614 compare   12.1234 12.0000       ->  1
+comx615 compare   12.1234 12.00000      ->  1
+comx616 compare   12.1234 12.000000     ->  1
+comx617 compare   12.1234 12.0000000    ->  1
+comx618 compare   12.1234 12.00000000   ->  1
+comx619 compare   12.1234 12.000000000  ->  1
+comx620 compare  -12           -12.2345 ->  1
+comx621 compare  -12.0         -12.2345 ->  1
+comx622 compare  -12.00        -12.2345 ->  1
+comx623 compare  -12.000       -12.2345 ->  1
+comx624 compare  -12.0000      -12.2345 ->  1
+comx625 compare  -12.00000     -12.2345 ->  1
+comx626 compare  -12.000000    -12.2345 ->  1
+comx627 compare  -12.0000000   -12.2345 ->  1
+comx628 compare  -12.00000000  -12.2345 ->  1
+comx629 compare  -12.000000000 -12.2345 ->  1
+comx630 compare  -12.1234 -12           -> -1
+comx631 compare  -12.1234 -12.0         -> -1
+comx632 compare  -12.1234 -12.00        -> -1
+comx633 compare  -12.1234 -12.000       -> -1
+comx634 compare  -12.1234 -12.0000      -> -1
+comx635 compare  -12.1234 -12.00000     -> -1
+comx636 compare  -12.1234 -12.000000    -> -1
+comx637 compare  -12.1234 -12.0000000   -> -1
+comx638 compare  -12.1234 -12.00000000  -> -1
+comx639 compare  -12.1234 -12.000000000 -> -1
+precision: 9
+
+-- extended zeros
+comx640 compare   0     0   -> 0
+comx641 compare   0    -0   -> 0
+comx642 compare   0    -0.0 -> 0
+comx643 compare   0     0.0 -> 0
+comx644 compare  -0     0   -> 0
+comx645 compare  -0    -0   -> 0
+comx646 compare  -0    -0.0 -> 0
+comx647 compare  -0     0.0 -> 0
+comx648 compare   0.0   0   -> 0
+comx649 compare   0.0  -0   -> 0
+comx650 compare   0.0  -0.0 -> 0
+comx651 compare   0.0   0.0 -> 0
+comx652 compare  -0.0   0   -> 0
+comx653 compare  -0.0  -0   -> 0
+comx654 compare  -0.0  -0.0 -> 0
+comx655 compare  -0.0   0.0 -> 0
+
+comx656 compare  -0E1   0.0 -> 0
+comx657 compare  -0E2   0.0 -> 0
+comx658 compare   0E1   0.0 -> 0
+comx659 compare   0E2   0.0 -> 0
+comx660 compare  -0E1   0   -> 0
+comx661 compare  -0E2   0   -> 0
+comx662 compare   0E1   0   -> 0
+comx663 compare   0E2   0   -> 0
+comx664 compare  -0E1  -0E1 -> 0
+comx665 compare  -0E2  -0E1 -> 0
+comx666 compare   0E1  -0E1 -> 0
+comx667 compare   0E2  -0E1 -> 0
+comx668 compare  -0E1  -0E2 -> 0
+comx669 compare  -0E2  -0E2 -> 0
+comx670 compare   0E1  -0E2 -> 0
+comx671 compare   0E2  -0E2 -> 0
+comx672 compare  -0E1   0E1 -> 0
+comx673 compare  -0E2   0E1 -> 0
+comx674 compare   0E1   0E1 -> 0
+comx675 compare   0E2   0E1 -> 0
+comx676 compare  -0E1   0E2 -> 0
+comx677 compare  -0E2   0E2 -> 0
+comx678 compare   0E1   0E2 -> 0
+comx679 compare   0E2   0E2 -> 0
+
+-- trailing zeros; unit-y
+precision: 20
+comx680 compare   12    12           -> 0
+comx681 compare   12    12.0         -> 0
+comx682 compare   12    12.00        -> 0
+comx683 compare   12    12.000       -> 0
+comx684 compare   12    12.0000      -> 0
+comx685 compare   12    12.00000     -> 0
+comx686 compare   12    12.000000    -> 0
+comx687 compare   12    12.0000000   -> 0
+comx688 compare   12    12.00000000  -> 0
+comx689 compare   12    12.000000000 -> 0
+comx690 compare   12              12 -> 0
+comx691 compare   12.0            12 -> 0
+comx692 compare   12.00           12 -> 0
+comx693 compare   12.000          12 -> 0
+comx694 compare   12.0000         12 -> 0
+comx695 compare   12.00000        12 -> 0
+comx696 compare   12.000000       12 -> 0
+comx697 compare   12.0000000      12 -> 0
+comx698 compare   12.00000000     12 -> 0
+comx699 compare   12.000000000    12 -> 0
+
+-- long operand checks
+maxexponent: 999
+minexponent: -999
+precision: 9
+comx701 compare 12345678000  1 ->  1
+comx702 compare 1 12345678000  -> -1
+comx703 compare 1234567800   1 ->  1
+comx704 compare 1 1234567800   -> -1
+comx705 compare 1234567890   1 ->  1
+comx706 compare 1 1234567890   -> -1
+comx707 compare 1234567891   1 ->  1
+comx708 compare 1 1234567891   -> -1
+comx709 compare 12345678901  1 ->  1
+comx710 compare 1 12345678901  -> -1
+comx711 compare 1234567896   1 ->  1
+comx712 compare 1 1234567896   -> -1
+comx713 compare -1234567891  1 -> -1
+comx714 compare 1 -1234567891  ->  1
+comx715 compare -12345678901 1 -> -1
+comx716 compare 1 -12345678901 ->  1
+comx717 compare -1234567896  1 -> -1
+comx718 compare 1 -1234567896  ->  1
+
+precision: 15
+-- same with plenty of precision
+comx721 compare 12345678000 1 -> 1
+comx722 compare 1 12345678000 -> -1
+comx723 compare 1234567800  1 -> 1
+comx724 compare 1 1234567800  -> -1
+comx725 compare 1234567890  1 -> 1
+comx726 compare 1 1234567890  -> -1
+comx727 compare 1234567891  1 -> 1
+comx728 compare 1 1234567891  -> -1
+comx729 compare 12345678901 1 -> 1
+comx730 compare 1 12345678901 -> -1
+comx731 compare 1234567896  1 -> 1
+comx732 compare 1 1234567896  -> -1
+
+-- residue cases
+precision: 5
+comx740 compare  1  0.9999999  -> 1
+comx741 compare  1  0.999999   -> 1
+comx742 compare  1  0.99999    -> 1
+comx743 compare  1  1.0000     -> 0
+comx744 compare  1  1.00001    -> -1
+comx745 compare  1  1.000001   -> -1
+comx746 compare  1  1.0000001  -> -1
+comx750 compare  0.9999999  1  -> -1
+comx751 compare  0.999999   1  -> -1
+comx752 compare  0.99999    1  -> -1
+comx753 compare  1.0000     1  -> 0
+comx754 compare  1.00001    1  -> 1
+comx755 compare  1.000001   1  -> 1
+comx756 compare  1.0000001  1  -> 1
+
+-- a selection of longies
+comx760 compare -36852134.84194296250843579428931 -5830629.8347085025808756560357940 -> -1
+comx761 compare -36852134.84194296250843579428931 -36852134.84194296250843579428931  -> 0
+comx762 compare -36852134.94194296250843579428931 -36852134.84194296250843579428931  -> -1
+comx763 compare -36852134.84194296250843579428931 -36852134.94194296250843579428931  -> 1
+-- precisions above or below the difference should have no effect
+precision:   11
+comx764 compare -36852134.84194296250843579428931 -36852134.94194296250843579428931  -> 1
+precision:   10
+comx765 compare -36852134.84194296250843579428931 -36852134.94194296250843579428931  -> 1
+precision:    9
+comx766 compare -36852134.84194296250843579428931 -36852134.94194296250843579428931  -> 1
+precision:    8
+comx767 compare -36852134.84194296250843579428931 -36852134.94194296250843579428931  -> 1
+precision:    7
+comx768 compare -36852134.84194296250843579428931 -36852134.94194296250843579428931  -> 1
+precision:    6
+comx769 compare -36852134.84194296250843579428931 -36852134.94194296250843579428931  -> 1
+precision:    5
+comx770 compare -36852134.84194296250843579428931 -36852134.94194296250843579428931  -> 1
+precision:    4
+comx771 compare -36852134.84194296250843579428931 -36852134.94194296250843579428931  -> 1
+precision:    3
+comx772 compare -36852134.84194296250843579428931 -36852134.94194296250843579428931  -> 1
+precision:    2
+comx773 compare -36852134.84194296250843579428931 -36852134.94194296250843579428931  -> 1
+precision:    1
+comx774 compare -36852134.84194296250843579428931 -36852134.94194296250843579428931  -> 1
+
+-- Specials
+precision:   9
+comx780 compare  Inf  -Inf   ->  1
+comx781 compare  Inf  -1000  ->  1
+comx782 compare  Inf  -1     ->  1
+comx783 compare  Inf  -0     ->  1
+comx784 compare  Inf   0     ->  1
+comx785 compare  Inf   1     ->  1
+comx786 compare  Inf   1000  ->  1
+comx787 compare  Inf   Inf   ->  0
+comx788 compare -1000  Inf   -> -1
+comx789 compare -Inf   Inf   -> -1
+comx790 compare -1     Inf   -> -1
+comx791 compare -0     Inf   -> -1
+comx792 compare  0     Inf   -> -1
+comx793 compare  1     Inf   -> -1
+comx794 compare  1000  Inf   -> -1
+comx795 compare  Inf   Inf   ->  0
+
+comx800 compare -Inf  -Inf   ->  0
+comx801 compare -Inf  -1000  -> -1
+comx802 compare -Inf  -1     -> -1
+comx803 compare -Inf  -0     -> -1
+comx804 compare -Inf   0     -> -1
+comx805 compare -Inf   1     -> -1
+comx806 compare -Inf   1000  -> -1
+comx807 compare -Inf   Inf   -> -1
+comx808 compare -Inf  -Inf   ->  0
+comx809 compare -1000 -Inf   ->  1
+comx810 compare -1    -Inf   ->  1
+comx811 compare -0    -Inf   ->  1
+comx812 compare  0    -Inf   ->  1
+comx813 compare  1    -Inf   ->  1
+comx814 compare  1000 -Inf   ->  1
+comx815 compare  Inf  -Inf   ->  1
+
+comx821 compare  NaN -Inf    ->  NaN
+comx822 compare  NaN -1000   ->  NaN
+comx823 compare  NaN -1      ->  NaN
+comx824 compare  NaN -0      ->  NaN
+comx825 compare  NaN  0      ->  NaN
+comx826 compare  NaN  1      ->  NaN
+comx827 compare  NaN  1000   ->  NaN
+comx828 compare  NaN  Inf    ->  NaN
+comx829 compare  NaN  NaN    ->  NaN
+comx830 compare -Inf  NaN    ->  NaN
+comx831 compare -1000 NaN    ->  NaN
+comx832 compare -1    NaN    ->  NaN
+comx833 compare -0    NaN    ->  NaN
+comx834 compare  0    NaN    ->  NaN
+comx835 compare  1    NaN    ->  NaN
+comx836 compare  1000 NaN    ->  NaN
+comx837 compare  Inf  NaN    ->  NaN
+comx838 compare -NaN -NaN    -> -NaN
+comx839 compare +NaN -NaN    ->  NaN
+comx840 compare -NaN +NaN    -> -NaN
+
+comx841 compare  sNaN -Inf   ->  NaN  Invalid_operation
+comx842 compare  sNaN -1000  ->  NaN  Invalid_operation
+comx843 compare  sNaN -1     ->  NaN  Invalid_operation
+comx844 compare  sNaN -0     ->  NaN  Invalid_operation
+comx845 compare  sNaN  0     ->  NaN  Invalid_operation
+comx846 compare  sNaN  1     ->  NaN  Invalid_operation
+comx847 compare  sNaN  1000  ->  NaN  Invalid_operation
+comx848 compare  sNaN  NaN   ->  NaN  Invalid_operation
+comx849 compare  sNaN sNaN   ->  NaN  Invalid_operation
+comx850 compare  NaN  sNaN   ->  NaN  Invalid_operation
+comx851 compare -Inf  sNaN   ->  NaN  Invalid_operation
+comx852 compare -1000 sNaN   ->  NaN  Invalid_operation
+comx853 compare -1    sNaN   ->  NaN  Invalid_operation
+comx854 compare -0    sNaN   ->  NaN  Invalid_operation
+comx855 compare  0    sNaN   ->  NaN  Invalid_operation
+comx856 compare  1    sNaN   ->  NaN  Invalid_operation
+comx857 compare  1000 sNaN   ->  NaN  Invalid_operation
+comx858 compare  Inf  sNaN   ->  NaN  Invalid_operation
+comx859 compare  NaN  sNaN   ->  NaN  Invalid_operation
+
+-- propagating NaNs
+comx860 compare  NaN9 -Inf   ->  NaN9
+comx861 compare  NaN8  999   ->  NaN8
+comx862 compare  NaN77 Inf   ->  NaN77
+comx863 compare -NaN67 NaN5  -> -NaN67
+comx864 compare -Inf  -NaN4  -> -NaN4
+comx865 compare -999  -NaN33 -> -NaN33
+comx866 compare  Inf   NaN2  ->  NaN2
+comx867 compare -NaN41 -NaN42 -> -NaN41
+comx868 compare +NaN41 -NaN42 ->  NaN41
+comx869 compare -NaN41 +NaN42 -> -NaN41
+comx870 compare +NaN41 +NaN42 ->  NaN41
+
+comx871 compare -sNaN99 -Inf    -> -NaN99 Invalid_operation
+comx872 compare  sNaN98 -11     ->  NaN98 Invalid_operation
+comx873 compare  sNaN97  NaN    ->  NaN97 Invalid_operation
+comx874 compare  sNaN16 sNaN94  ->  NaN16 Invalid_operation
+comx875 compare  NaN85  sNaN83  ->  NaN83 Invalid_operation
+comx876 compare -Inf    sNaN92  ->  NaN92 Invalid_operation
+comx877 compare  088    sNaN81  ->  NaN81 Invalid_operation
+comx878 compare  Inf    sNaN90  ->  NaN90 Invalid_operation
+comx879 compare  NaN   -sNaN89  -> -NaN89 Invalid_operation
+
+-- overflow and underflow tests .. subnormal results now allowed
+maxExponent: 999999999
+minexponent: -999999999
+comx880 compare +1.23456789012345E-0 9E+999999999 -> -1
+comx881 compare 9E+999999999 +1.23456789012345E-0 ->  1
+comx882 compare +0.100 9E-999999999               ->  1
+comx883 compare 9E-999999999 +0.100               -> -1
+comx885 compare -1.23456789012345E-0 9E+999999999 -> -1
+comx886 compare 9E+999999999 -1.23456789012345E-0 ->  1
+comx887 compare -0.100 9E-999999999               -> -1
+comx888 compare 9E-999999999 -0.100               ->  1
+
+comx889 compare 1e-599999999 1e-400000001   -> -1
+comx890 compare 1e-599999999 1e-400000000   -> -1
+comx891 compare 1e-600000000 1e-400000000   -> -1
+comx892 compare 9e-999999998 0.01           -> -1
+comx893 compare 9e-999999998 0.1            -> -1
+comx894 compare 0.01 9e-999999998           ->  1
+comx895 compare 1e599999999 1e400000001     ->  1
+comx896 compare 1e599999999 1e400000000     ->  1
+comx897 compare 1e600000000 1e400000000     ->  1
+comx898 compare 9e999999998 100             ->  1
+comx899 compare 9e999999998 10              ->  1
+comx900 compare 100  9e999999998            -> -1
+-- signs
+comx901 compare  1e+777777777  1e+411111111 ->  1
+comx902 compare  1e+777777777 -1e+411111111 ->  1
+comx903 compare -1e+777777777  1e+411111111 -> -1
+comx904 compare -1e+777777777 -1e+411111111 -> -1
+comx905 compare  1e-777777777  1e-411111111 -> -1
+comx906 compare  1e-777777777 -1e-411111111 ->  1
+comx907 compare -1e-777777777  1e-411111111 -> -1
+comx908 compare -1e-777777777 -1e-411111111 ->  1
+
+-- Null tests
+comx990 compare 10  # -> NaN Invalid_operation
+comx991 compare  # 10 -> NaN Invalid_operation

Added: sandbox/trunk/decimal-c/decimaltestdata/decimal128.decTest
==============================================================================
--- (empty file)
+++ sandbox/trunk/decimal-c/decimaltestdata/decimal128.decTest	Tue May 23 13:34:01 2006
@@ -0,0 +1,441 @@
+------------------------------------------------------------------------
+-- decimal128.decTest -- decimal sixteen-byte format testcases        --
+-- Copyright (c) IBM Corporation, 2000, 2003.  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 at uk.ibm.com                                                   --
+------------------------------------------------------------------------
+version: 2.39
+
+-- This set of tests is for the sixteen-byte concrete representation.
+-- Its characteristics are:
+--
+--   1 bit  sign
+--   5 bits combination field
+--  12 bits exponent continuation
+-- 110 bits coefficient continuation
+--
+-- Total exponent length 14 bits
+-- Total coefficient length 114 bits (34 digits)
+--
+-- Elimit = 12287 (maximum encoded exponent)
+-- Emax   =  6144 (largest exponent value)
+-- Emin   = -6143 (smallest exponent value)
+-- bias   =  6176 (subtracted from encoded exponent) = -Etiny
+
+extended:    1
+precision:   34
+rounding:    half_up
+maxExponent: 6144
+minExponent: -6143
+
+-- General testcases
+-- (mostly derived from the Strawman 4 document and examples)
+decg001 apply   #A20780000000000000000000000003D0 -> -7.50
+decg002 apply   -7.50  -> #A20780000000000000000000000003D0
+
+-- Normality
+decf010 apply   1234567890123456789012345678901234   -> #2608134b9c1e28e56f3c127177823534
+decf011 apply   1234567890123456789012345678901234.0 -> #2608134b9c1e28e56f3c127177823534 Rounded
+decf012 apply   1234567890123456789012345678901234.1 -> #2608134b9c1e28e56f3c127177823534 Rounded Inexact
+decf013 apply  -1234567890123456789012345678901234   -> #a608134b9c1e28e56f3c127177823534
+decf014 apply  -1234567890123456789012345678901234.0 -> #a608134b9c1e28e56f3c127177823534 Rounded
+decf015 apply  -1234567890123456789012345678901234.1 -> #a608134b9c1e28e56f3c127177823534 Rounded Inexact
+
+
+-- Nmax and similar
+decf022 apply   9.999999999999999999999999999999999E+6144  -> #77ffcff3fcff3fcff3fcff3fcff3fcff
+decf023 apply   #77ffcff3fcff3fcff3fcff3fcff3fcff -> 9.999999999999999999999999999999999E+6144
+decf024 apply   1.234567890123456789012345678901234E+6144 -> #47ffd34b9c1e28e56f3c127177823534
+decf025 apply   #47ffd34b9c1e28e56f3c127177823534 -> 1.234567890123456789012345678901234E+6144
+-- fold-downs (more below)
+decf030 apply   1.23E+6144    -> #47ffd300000000000000000000000000 Clamped
+decf031 apply   #47ffd300000000000000000000000000       -> 1.230000000000000000000000000000000E+6144
+decf032 apply   1E+6144       -> #47ffc000000000000000000000000000 Clamped
+decf033 apply   #47ffc000000000000000000000000000       -> 1.000000000000000000000000000000000E+6144
+
+-- overflows
+maxExponent: 9999  -- set high so conversion causes the overflow
+minExponent: -9999
+decf040 apply   10E+6144                 -> #78000000000000000000000000000000 Overflow Rounded Inexact
+decf041 apply   1.000000000000000E+6145  -> #78000000000000000000000000000000 Overflow Rounded Inexact
+maxExponent: 6144
+minExponent: -6143
+
+decf051 apply   12345                   -> #220800000000000000000000000049c5
+decf052 apply   #220800000000000000000000000049c5       -> 12345
+decf053 apply   1234                    -> #22080000000000000000000000000534
+decf054 apply   #22080000000000000000000000000534       -> 1234
+decf055 apply   123                     -> #220800000000000000000000000000a3
+decf056 apply   #220800000000000000000000000000a3       -> 123
+decf057 apply   12                      -> #22080000000000000000000000000012
+decf058 apply   #22080000000000000000000000000012       -> 12
+decf059 apply   1                       -> #22080000000000000000000000000001
+decf060 apply   #22080000000000000000000000000001       -> 1
+decf061 apply   1.23                    -> #220780000000000000000000000000a3
+decf062 apply   #220780000000000000000000000000a3       -> 1.23
+decf063 apply   123.45                  -> #220780000000000000000000000049c5
+decf064 apply   #220780000000000000000000000049c5       -> 123.45
+
+-- Nmin and below
+decf071 apply   1E-6143                                    -> #00084000000000000000000000000001
+decf072 apply   #00084000000000000000000000000001          -> 1E-6143
+decf073 apply   1.000000000000000000000000000000000E-6143  -> #04000000000000000000000000000000
+decf074 apply   #04000000000000000000000000000000          -> 1.000000000000000000000000000000000E-6143
+decf075 apply   1.000000000000000000000000000000001E-6143  -> #04000000000000000000000000000001
+decf076 apply   #04000000000000000000000000000001          -> 1.000000000000000000000000000000001E-6143
+
+decf077 apply   0.100000000000000000000000000000000E-6143  -> #00000800000000000000000000000000      Subnormal
+decf078 apply   #00000800000000000000000000000000          -> 1.00000000000000000000000000000000E-6144  Subnormal
+decf079 apply   0.000000000000000000000000000000010E-6143  -> #00000000000000000000000000000010      Subnormal
+decf080 apply   #00000000000000000000000000000010          -> 1.0E-6175              Subnormal
+decf081 apply   0.00000000000000000000000000000001E-6143   -> #00004000000000000000000000000001      Subnormal
+decf082 apply   #00004000000000000000000000000001          -> 1E-6175                Subnormal
+decf083 apply   0.000000000000000000000000000000001E-6143  -> #00000000000000000000000000000001      Subnormal
+decf084 apply   #00000000000000000000000000000001          -> 1E-6176                 Subnormal
+
+-- underflows
+decf090 apply   1e-6176                  -> #00000000000000000000000000000001  Subnormal
+decf091 apply   1.9e-6176                -> #00000000000000000000000000000002  Subnormal Underflow Inexact Rounded
+decf092 apply   1.1e-6176                -> #00000000000000000000000000000001  Subnormal Underflow Inexact Rounded
+decf093 apply   1.00000000001e-6176      -> #00000000000000000000000000000001  Subnormal Underflow Inexact Rounded
+decf094 apply   1.00000000000001e-6176   -> #00000000000000000000000000000001  Subnormal Underflow Inexact Rounded
+decf095 apply   1.000000000000001e-6176  -> #00000000000000000000000000000001  Subnormal Underflow Inexact Rounded
+decf096 apply   0.1e-6176                -> #00000000000000000000000000000000  Subnormal Underflow Inexact Rounded
+decf097 apply   0.00000000001e-6176      -> #00000000000000000000000000000000  Subnormal Underflow Inexact Rounded
+decf098 apply   0.00000000000001e-6176   -> #00000000000000000000000000000000  Subnormal Underflow Inexact Rounded
+decf099 apply   0.000000000000001e-6176  -> #00000000000000000000000000000000  Subnormal Underflow Inexact Rounded
+decf100 apply   999999999999999999999999999999999e-6176 -> #00000ff3fcff3fcff3fcff3fcff3fcff  Subnormal
+
+-- same again, negatives
+-- Nmax and similar
+decf122 apply  -9.999999999999999999999999999999999E+6144  -> #f7ffcff3fcff3fcff3fcff3fcff3fcff
+decf123 apply   #f7ffcff3fcff3fcff3fcff3fcff3fcff -> -9.999999999999999999999999999999999E+6144
+decf124 apply  -1.234567890123456789012345678901234E+6144 -> #c7ffd34b9c1e28e56f3c127177823534
+decf125 apply   #c7ffd34b9c1e28e56f3c127177823534 -> -1.234567890123456789012345678901234E+6144
+-- fold-downs (more below)
+decf130 apply  -1.23E+6144    -> #c7ffd300000000000000000000000000 Clamped
+decf131 apply   #c7ffd300000000000000000000000000       -> -1.230000000000000000000000000000000E+6144
+decf132 apply  -1E+6144       -> #c7ffc000000000000000000000000000 Clamped
+decf133 apply   #c7ffc000000000000000000000000000       -> -1.000000000000000000000000000000000E+6144
+
+-- overflows
+maxExponent: 9999  -- set high so conversion causes the overflow
+minExponent: -9999
+decf140 apply  -10E+6144                 -> #f8000000000000000000000000000000 Overflow Rounded Inexact
+decf141 apply  -1.000000000000000E+6145  -> #f8000000000000000000000000000000 Overflow Rounded Inexact
+maxExponent: 6144
+minExponent: -6143
+
+decf151 apply  -12345                   -> #a20800000000000000000000000049c5
+decf152 apply   #a20800000000000000000000000049c5       -> -12345
+decf153 apply  -1234                    -> #a2080000000000000000000000000534
+decf154 apply   #a2080000000000000000000000000534       -> -1234
+decf155 apply  -123                     -> #a20800000000000000000000000000a3
+decf156 apply   #a20800000000000000000000000000a3       -> -123
+decf157 apply  -12                      -> #a2080000000000000000000000000012
+decf158 apply   #a2080000000000000000000000000012       -> -12
+decf159 apply  -1                       -> #a2080000000000000000000000000001
+decf160 apply   #a2080000000000000000000000000001       -> -1
+decf161 apply  -1.23                    -> #a20780000000000000000000000000a3
+decf162 apply   #a20780000000000000000000000000a3       -> -1.23
+decf163 apply  -123.45                  -> #a20780000000000000000000000049c5
+decf164 apply   #a20780000000000000000000000049c5       -> -123.45
+
+-- Nmin and below
+decf171 apply  -1E-6143                                    -> #80084000000000000000000000000001
+decf172 apply   #80084000000000000000000000000001          -> -1E-6143
+decf173 apply  -1.000000000000000000000000000000000E-6143  -> #84000000000000000000000000000000
+decf174 apply   #84000000000000000000000000000000          -> -1.000000000000000000000000000000000E-6143
+decf175 apply  -1.000000000000000000000000000000001E-6143  -> #84000000000000000000000000000001
+decf176 apply   #84000000000000000000000000000001          -> -1.000000000000000000000000000000001E-6143
+
+decf177 apply  -0.100000000000000000000000000000000E-6143  -> #80000800000000000000000000000000      Subnormal
+decf178 apply   #80000800000000000000000000000000          -> -1.00000000000000000000000000000000E-6144  Subnormal
+decf179 apply  -0.000000000000000000000000000000010E-6143  -> #80000000000000000000000000000010      Subnormal
+decf180 apply   #80000000000000000000000000000010          -> -1.0E-6175              Subnormal
+decf181 apply  -0.00000000000000000000000000000001E-6143   -> #80004000000000000000000000000001      Subnormal
+decf182 apply   #80004000000000000000000000000001          -> -1E-6175                Subnormal
+decf183 apply  -0.000000000000000000000000000000001E-6143  -> #80000000000000000000000000000001      Subnormal
+decf184 apply   #80000000000000000000000000000001          -> -1E-6176                 Subnormal
+
+-- underflows
+decf190 apply   -1e-6176                  -> #80000000000000000000000000000001  Subnormal
+decf191 apply   -1.9e-6176                -> #80000000000000000000000000000002  Subnormal Underflow Inexact Rounded
+decf192 apply   -1.1e-6176                -> #80000000000000000000000000000001  Subnormal Underflow Inexact Rounded
+decf193 apply   -1.00000000001e-6176      -> #80000000000000000000000000000001  Subnormal Underflow Inexact Rounded
+decf194 apply   -1.00000000000001e-6176   -> #80000000000000000000000000000001  Subnormal Underflow Inexact Rounded
+decf195 apply   -1.000000000000001e-6176  -> #80000000000000000000000000000001  Subnormal Underflow Inexact Rounded
+decf196 apply   -0.1e-6176                -> #80000000000000000000000000000000  Subnormal Underflow Inexact Rounded
+decf197 apply   -0.00000000001e-6176      -> #80000000000000000000000000000000  Subnormal Underflow Inexact Rounded
+decf198 apply   -0.00000000000001e-6176   -> #80000000000000000000000000000000  Subnormal Underflow Inexact Rounded
+decf199 apply   -0.000000000000001e-6176  -> #80000000000000000000000000000000  Subnormal Underflow Inexact Rounded
+decf200 apply   -999999999999999999999999999999999e-6176 -> #80000ff3fcff3fcff3fcff3fcff3fcff  Subnormal
+
+-- zeros
+decf400 apply   0E-8000                 -> #00000000000000000000000000000000  Clamped
+decf401 apply   0E-6177                 -> #00000000000000000000000000000000  Clamped
+decf402 apply   0E-6176                 -> #00000000000000000000000000000000
+decf403 apply   #00000000000000000000000000000000       -> 0E-6176
+decf404 apply   0.000000000000000000000000000000000E-6143  -> #00000000000000000000000000000000
+decf405 apply   #00000000000000000000000000000000       -> 0E-6176
+decf406 apply   0E-2                    -> #22078000000000000000000000000000
+decf407 apply   #22078000000000000000000000000000       -> 0.00
+decf408 apply   0                       -> #22080000000000000000000000000000
+decf409 apply   #22080000000000000000000000000000       -> 0
+decf410 apply   0E+3                    -> #2208c000000000000000000000000000
+decf411 apply   #2208c000000000000000000000000000       -> 0E+3
+decf412 apply   0E+6111                 -> #43ffc000000000000000000000000000
+decf413 apply   #43ffc000000000000000000000000000       -> 0E+6111
+-- clamped zeros...
+decf414 apply   0E+6112                 -> #43ffc000000000000000000000000000  Clamped
+decf415 apply   #43ffc000000000000000000000000000       -> 0E+6111
+decf416 apply   0E+6144                 -> #43ffc000000000000000000000000000  Clamped
+decf417 apply   #43ffc000000000000000000000000000       -> 0E+6111
+decf418 apply   0E+8000                 -> #43ffc000000000000000000000000000  Clamped
+decf419 apply   #43ffc000000000000000000000000000       -> 0E+6111
+
+-- negative zeros
+decf420 apply  -0E-8000                 -> #80000000000000000000000000000000  Clamped
+decf421 apply  -0E-6177                 -> #80000000000000000000000000000000  Clamped
+decf422 apply  -0E-6176                 -> #80000000000000000000000000000000
+decf423 apply   #80000000000000000000000000000000       -> -0E-6176
+decf424 apply  -0.000000000000000000000000000000000E-6143  -> #80000000000000000000000000000000
+decf425 apply   #80000000000000000000000000000000       -> -0E-6176
+decf426 apply  -0E-2                    -> #a2078000000000000000000000000000
+decf427 apply   #a2078000000000000000000000000000       -> -0.00
+decf428 apply  -0                       -> #a2080000000000000000000000000000
+decf429 apply   #a2080000000000000000000000000000       -> -0
+decf430 apply  -0E+3                    -> #a208c000000000000000000000000000
+decf431 apply   #a208c000000000000000000000000000       -> -0E+3
+decf432 apply  -0E+6111                 -> #c3ffc000000000000000000000000000
+decf433 apply   #c3ffc000000000000000000000000000       -> -0E+6111
+-- clamped zeros...
+decf434 apply  -0E+6112                 -> #c3ffc000000000000000000000000000  Clamped
+decf435 apply   #c3ffc000000000000000000000000000       -> -0E+6111
+decf436 apply  -0E+6144                 -> #c3ffc000000000000000000000000000  Clamped
+decf437 apply   #c3ffc000000000000000000000000000       -> -0E+6111
+decf438 apply  -0E+8000                 -> #c3ffc000000000000000000000000000  Clamped
+decf439 apply   #c3ffc000000000000000000000000000       -> -0E+6111
+
+-- Specials
+decf500 apply   Infinity                          -> #78000000000000000000000000000000
+decf501 apply   #78787878787878787878787878787878 -> #78000000000000000000000000000000
+decf502 apply   #78000000000000000000000000000000 -> Infinity
+decf503 apply   #79797979797979797979797979797979 -> #78000000000000000000000000000000
+decf504 apply   #79000000000000000000000000000000 -> Infinity
+decf505 apply   #7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a -> #78000000000000000000000000000000
+decf506 apply   #7a000000000000000000000000000000 -> Infinity
+decf507 apply   #7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b -> #78000000000000000000000000000000
+decf508 apply   #7b000000000000000000000000000000 -> Infinity
+
+decf509 apply   NaN                               -> #7c000000000000000000000000000000
+decf510 apply   #7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c -> #7c003c7c7c7c7c7c7c7c7c7c7c7c7c7c
+decf511 apply   #7c000000000000000000000000000000 -> NaN
+decf512 apply   #7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d -> #7c003d7d7d7d7d7d7d7d7d7d7d7d7d7d
+decf513 apply   #7d000000000000000000000000000000 -> NaN
+decf514 apply   #7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e -> #7e003e7e7c7e7e7e7e7c7e7e7e7e7c7e
+decf515 apply   #7e000000000000000000000000000000 -> sNaN
+decf516 apply   #7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f -> #7e003f7f7c7f7f7f7f7c7f7f7f7f7c7f
+decf517 apply   #7f000000000000000000000000000000 -> sNaN
+decf518 apply   #7fffffffffffffffffffffffffffffff -> sNaN999999999999999999999999999999999
+decf519 apply   #7fffffffffffffffffffffffffffffff -> #7e000ff3fcff3fcff3fcff3fcff3fcff
+
+decf520 apply   -Infinity                         -> #f8000000000000000000000000000000
+decf521 apply   #f8787878787878787878787878787878 -> #f8000000000000000000000000000000
+decf522 apply   #f8000000000000000000000000000000 -> -Infinity
+decf523 apply   #f9797979797979797979797979797979 -> #f8000000000000000000000000000000
+decf524 apply   #f9000000000000000000000000000000 -> -Infinity
+decf525 apply   #fa7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a -> #f8000000000000000000000000000000
+decf526 apply   #fa000000000000000000000000000000 -> -Infinity
+decf527 apply   #fb7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b -> #f8000000000000000000000000000000
+decf528 apply   #fb000000000000000000000000000000 -> -Infinity
+
+decf529 apply   -NaN                              -> #fc000000000000000000000000000000
+decf530 apply   #fc7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c -> #fc003c7c7c7c7c7c7c7c7c7c7c7c7c7c
+decf531 apply   #fc000000000000000000000000000000 -> -NaN
+decf532 apply   #fd7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d -> #fc003d7d7d7d7d7d7d7d7d7d7d7d7d7d
+decf533 apply   #fd000000000000000000000000000000 -> -NaN
+decf534 apply   #fe7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e -> #fe003e7e7c7e7e7e7e7c7e7e7e7e7c7e
+decf535 apply   #fe000000000000000000000000000000 -> -sNaN
+decf536 apply   #ff7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f -> #fe003f7f7c7f7f7f7f7c7f7f7f7f7c7f
+decf537 apply   #ff000000000000000000000000000000 -> -sNaN
+decf538 apply   #ffffffffffffffffffffffffffffffff -> -sNaN999999999999999999999999999999999
+decf539 apply   #ffffffffffffffffffffffffffffffff -> #fe000ff3fcff3fcff3fcff3fcff3fcff
+
+decf540 apply   NaN               -> #7c000000000000000000000000000000
+decf541 apply   NaN0              -> #7c000000000000000000000000000000
+decf542 apply   NaN1              -> #7c000000000000000000000000000001
+decf543 apply   NaN12             -> #7c000000000000000000000000000012
+decf544 apply   NaN79             -> #7c000000000000000000000000000079
+decf545 apply   NaN12345          -> #7c0000000000000000000000000049c5
+decf546 apply   NaN123456         -> #7c000000000000000000000000028e56
+decf547 apply   NaN799799         -> #7c0000000000000000000000000f7fdf
+decf548 apply   NaN799799799799799799799799799799799  -> #7c003dff7fdff7fdff7fdff7fdff7fdf
+decf549 apply   NaN999999999999999999999999999999999  -> #7c000ff3fcff3fcff3fcff3fcff3fcff
+decf550 apply   NaN1234567890123456789012345678901234 -> #7c000000000000000000000000000000  -- too many digits
+
+-- fold-down full sequence
+decf600 apply   1E+6145                 -> #78000000000000000000000000000000 Overflow Inexact Rounded
+decf601 apply   1E+6144                 -> #47ffc000000000000000000000000000 Clamped
+decf602 apply   #47ffc000000000000000000000000000       -> 1.000000000000000000000000000000000E+6144
+decf603 apply   1E+6143                 -> #43ffc800000000000000000000000000 Clamped
+decf604 apply   #43ffc800000000000000000000000000       -> 1.00000000000000000000000000000000E+6143
+decf605 apply   1E+6142                 -> #43ffc100000000000000000000000000 Clamped
+decf606 apply   #43ffc100000000000000000000000000       -> 1.0000000000000000000000000000000E+6142
+decf607 apply   1E+6141                 -> #43ffc010000000000000000000000000 Clamped
+decf608 apply   #43ffc010000000000000000000000000       -> 1.000000000000000000000000000000E+6141
+decf609 apply   1E+6140                 -> #43ffc002000000000000000000000000 Clamped
+decf610 apply   #43ffc002000000000000000000000000       -> 1.00000000000000000000000000000E+6140
+decf611 apply   1E+6139                 -> #43ffc000400000000000000000000000 Clamped
+decf612 apply   #43ffc000400000000000000000000000       -> 1.0000000000000000000000000000E+6139
+decf613 apply   1E+6138                 -> #43ffc000040000000000000000000000 Clamped
+decf614 apply   #43ffc000040000000000000000000000       -> 1.000000000000000000000000000E+6138
+decf615 apply   1E+6137                 -> #43ffc000008000000000000000000000 Clamped
+decf616 apply   #43ffc000008000000000000000000000       -> 1.00000000000000000000000000E+6137
+decf617 apply   1E+6136                 -> #43ffc000001000000000000000000000 Clamped
+decf618 apply   #43ffc000001000000000000000000000       -> 1.0000000000000000000000000E+6136
+decf619 apply   1E+6135                 -> #43ffc000000100000000000000000000 Clamped
+decf620 apply   #43ffc000000100000000000000000000       -> 1.000000000000000000000000E+6135
+decf621 apply   1E+6134                 -> #43ffc000000020000000000000000000 Clamped
+decf622 apply   #43ffc000000020000000000000000000       -> 1.00000000000000000000000E+6134
+decf623 apply   1E+6133                 -> #43ffc000000004000000000000000000 Clamped
+decf624 apply   #43ffc000000004000000000000000000       -> 1.0000000000000000000000E+6133
+decf625 apply   1E+6132                 -> #43ffc000000000400000000000000000 Clamped
+decf626 apply   #43ffc000000000400000000000000000       -> 1.000000000000000000000E+6132
+decf627 apply   1E+6131                 -> #43ffc000000000080000000000000000 Clamped
+decf628 apply   #43ffc000000000080000000000000000       -> 1.00000000000000000000E+6131
+decf629 apply   1E+6130                 -> #43ffc000000000010000000000000000 Clamped
+decf630 apply   #43ffc000000000010000000000000000       -> 1.0000000000000000000E+6130
+decf631 apply   1E+6129                 -> #43ffc000000000001000000000000000 Clamped
+decf632 apply   #43ffc000000000001000000000000000       -> 1.000000000000000000E+6129
+decf633 apply   1E+6128                 -> #43ffc000000000000200000000000000 Clamped
+decf634 apply   #43ffc000000000000200000000000000       -> 1.00000000000000000E+6128
+decf635 apply   1E+6127                 -> #43ffc000000000000040000000000000 Clamped
+decf636 apply   #43ffc000000000000040000000000000       -> 1.0000000000000000E+6127
+decf637 apply   1E+6126                 -> #43ffc000000000000004000000000000 Clamped
+decf638 apply   #43ffc000000000000004000000000000       -> 1.000000000000000E+6126
+decf639 apply   1E+6125                 -> #43ffc000000000000000800000000000 Clamped
+decf640 apply   #43ffc000000000000000800000000000       -> 1.00000000000000E+6125
+decf641 apply   1E+6124                 -> #43ffc000000000000000100000000000 Clamped
+decf642 apply   #43ffc000000000000000100000000000       -> 1.0000000000000E+6124
+decf643 apply   1E+6123                 -> #43ffc000000000000000010000000000 Clamped
+decf644 apply   #43ffc000000000000000010000000000       -> 1.000000000000E+6123
+decf645 apply   1E+6122                 -> #43ffc000000000000000002000000000 Clamped
+decf646 apply   #43ffc000000000000000002000000000       -> 1.00000000000E+6122
+decf647 apply   1E+6121                 -> #43ffc000000000000000000400000000 Clamped
+decf648 apply   #43ffc000000000000000000400000000       -> 1.0000000000E+6121
+decf649 apply   1E+6120                 -> #43ffc000000000000000000040000000 Clamped
+decf650 apply   #43ffc000000000000000000040000000       -> 1.000000000E+6120
+decf651 apply   1E+6119                 -> #43ffc000000000000000000008000000 Clamped
+decf652 apply   #43ffc000000000000000000008000000       -> 1.00000000E+6119
+decf653 apply   1E+6118                 -> #43ffc000000000000000000001000000 Clamped
+decf654 apply   #43ffc000000000000000000001000000       -> 1.0000000E+6118
+decf655 apply   1E+6117                 -> #43ffc000000000000000000000100000 Clamped
+decf656 apply   #43ffc000000000000000000000100000       -> 1.000000E+6117
+decf657 apply   1E+6116                 -> #43ffc000000000000000000000020000 Clamped
+decf658 apply   #43ffc000000000000000000000020000       -> 1.00000E+6116
+decf659 apply   1E+6115                 -> #43ffc000000000000000000000004000 Clamped
+decf660 apply   #43ffc000000000000000000000004000       -> 1.0000E+6115
+decf661 apply   1E+6114                 -> #43ffc000000000000000000000000400 Clamped
+decf662 apply   #43ffc000000000000000000000000400       -> 1.000E+6114
+decf663 apply   1E+6113                 -> #43ffc000000000000000000000000080 Clamped
+decf664 apply   #43ffc000000000000000000000000080       -> 1.00E+6113
+decf665 apply   1E+6112                 -> #43ffc000000000000000000000000010 Clamped
+decf666 apply   #43ffc000000000000000000000000010       -> 1.0E+6112
+decf667 apply   1E+6111                 -> #43ffc000000000000000000000000001
+decf668 apply   #43ffc000000000000000000000000001       -> 1E+6111
+decf669 apply   1E+6110                 -> #43ff8000000000000000000000000001
+decf670 apply   #43ff8000000000000000000000000001       -> 1E+6110
+
+-- Selected DPD codes
+decf700 apply   #22080000000000000000000000000000       -> 0
+decf701 apply   #22080000000000000000000000000009       -> 9
+decf702 apply   #22080000000000000000000000000010       -> 10
+decf703 apply   #22080000000000000000000000000019       -> 19
+decf704 apply   #22080000000000000000000000000020       -> 20
+decf705 apply   #22080000000000000000000000000029       -> 29
+decf706 apply   #22080000000000000000000000000030       -> 30
+decf707 apply   #22080000000000000000000000000039       -> 39
+decf708 apply   #22080000000000000000000000000040       -> 40
+decf709 apply   #22080000000000000000000000000049       -> 49
+decf710 apply   #22080000000000000000000000000050       -> 50
+decf711 apply   #22080000000000000000000000000059       -> 59
+decf712 apply   #22080000000000000000000000000060       -> 60
+decf713 apply   #22080000000000000000000000000069       -> 69
+decf714 apply   #22080000000000000000000000000070       -> 70
+decf715 apply   #22080000000000000000000000000071       -> 71
+decf716 apply   #22080000000000000000000000000072       -> 72
+decf717 apply   #22080000000000000000000000000073       -> 73
+decf718 apply   #22080000000000000000000000000074       -> 74
+decf719 apply   #22080000000000000000000000000075       -> 75
+decf720 apply   #22080000000000000000000000000076       -> 76
+decf721 apply   #22080000000000000000000000000077       -> 77
+decf722 apply   #22080000000000000000000000000078       -> 78
+decf723 apply   #22080000000000000000000000000079       -> 79
+
+decf730 apply   #2208000000000000000000000000029e       -> 994
+decf731 apply   #2208000000000000000000000000029f       -> 995
+decf732 apply   #220800000000000000000000000002a0       -> 520
+decf733 apply   #220800000000000000000000000002a1       -> 521
+
+-- DPD: one of each of the huffman groups
+decf740 apply   #220800000000000000000000000003f7       -> 777
+decf741 apply   #220800000000000000000000000003f8       -> 778
+decf742 apply   #220800000000000000000000000003eb       -> 787
+decf743 apply   #2208000000000000000000000000037d       -> 877
+decf744 apply   #2208000000000000000000000000039f       -> 997
+decf745 apply   #220800000000000000000000000003bf       -> 979
+decf746 apply   #220800000000000000000000000003df       -> 799
+decf747 apply   #2208000000000000000000000000006e       -> 888
+
+
+-- DPD all-highs cases (includes the 24 redundant codes)
+decf750 apply   #2208000000000000000000000000006e       -> 888
+decf751 apply   #2208000000000000000000000000016e       -> 888
+decf752 apply   #2208000000000000000000000000026e       -> 888
+decf753 apply   #2208000000000000000000000000036e       -> 888
+decf754 apply   #2208000000000000000000000000006f       -> 889
+decf755 apply   #2208000000000000000000000000016f       -> 889
+decf756 apply   #2208000000000000000000000000026f       -> 889
+decf757 apply   #2208000000000000000000000000036f       -> 889
+
+decf760 apply   #2208000000000000000000000000007e       -> 898
+decf761 apply   #2208000000000000000000000000017e       -> 898
+decf762 apply   #2208000000000000000000000000027e       -> 898
+decf763 apply   #2208000000000000000000000000037e       -> 898
+decf764 apply   #2208000000000000000000000000007f       -> 899
+decf765 apply   #2208000000000000000000000000017f       -> 899
+decf766 apply   #2208000000000000000000000000027f       -> 899
+decf767 apply   #2208000000000000000000000000037f       -> 899
+
+decf770 apply   #220800000000000000000000000000ee       -> 988
+decf771 apply   #220800000000000000000000000001ee       -> 988
+decf772 apply   #220800000000000000000000000002ee       -> 988
+decf773 apply   #220800000000000000000000000003ee       -> 988
+decf774 apply   #220800000000000000000000000000ef       -> 989
+decf775 apply   #220800000000000000000000000001ef       -> 989
+decf776 apply   #220800000000000000000000000002ef       -> 989
+decf777 apply   #220800000000000000000000000003ef       -> 989
+
+decf780 apply   #220800000000000000000000000000fe       -> 998
+decf781 apply   #220800000000000000000000000001fe       -> 998
+decf782 apply   #220800000000000000000000000002fe       -> 998
+decf783 apply   #220800000000000000000000000003fe       -> 998
+decf784 apply   #220800000000000000000000000000ff       -> 999
+decf785 apply   #220800000000000000000000000001ff       -> 999
+decf786 apply   #220800000000000000000000000002ff       -> 999
+decf787 apply   #220800000000000000000000000003ff       -> 999
+

Added: sandbox/trunk/decimal-c/decimaltestdata/decimal32.decTest
==============================================================================
--- (empty file)
+++ sandbox/trunk/decimal-c/decimaltestdata/decimal32.decTest	Tue May 23 13:34:01 2006
@@ -0,0 +1,385 @@
+------------------------------------------------------------------------
+-- decimal32.decTest -- decimal four-byte format testcases            --
+-- Copyright (c) IBM Corporation, 2000, 2003.  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 at uk.ibm.com                                                   --
+------------------------------------------------------------------------
+version: 2.39
+
+-- This set of tests is for the four-byte concrete representation.
+-- Its characteristics are:
+--
+--  1 bit  sign
+--  5 bits combination field
+--  6 bits exponent continuation
+-- 20 bits coefficient continuation
+--
+-- Total exponent length 8 bits
+-- Total coefficient length 24 bits (7 digits)
+--
+-- Elimit =  191 (maximum encoded exponent)
+-- Emax   =   96 (largest exponent value)
+-- Emin   =  -95 (smallest exponent value)
+-- bias   =  101 (subtracted from encoded exponent) = -Etiny
+
+extended:    1
+precision:   7
+rounding:    half_up
+maxExponent: 96
+minExponent: -95
+
+-- General testcases
+-- (mostly derived from the Strawman 4 document and examples)
+decd001 apply   #A23003D0          -> -7.50
+decd002 apply   -7.50              -> #A23003D0
+
+-- Normality
+decd010 apply   1234567            -> #2654d2e7
+decd011 apply   1234567.0          -> #2654d2e7 Rounded
+decd012 apply   1234567.1          -> #2654d2e7 Rounded Inexact
+decd013 apply  -1234567            -> #a654d2e7
+decd014 apply  -1234567.0          -> #a654d2e7 Rounded
+decd015 apply  -1234567.1          -> #a654d2e7 Rounded Inexact
+
+
+-- Nmax and similar
+decd022 apply   9.999999E+96            -> #77f3fcff
+decd023 apply   #77f3fcff               -> 9.999999E+96
+decd024 apply   1.234567E+96            -> #47f4d2e7
+decd025 apply   #47f4d2e7               -> 1.234567E+96
+-- fold-downs (more below)
+decd030 apply   1.23E+96                -> #47f4c000 Clamped
+decd031 apply   #47f4c000               -> 1.230000E+96
+decd032 apply   1E+96                   -> #47f00000 Clamped
+decd033 apply   #47f00000               -> 1.000000E+96
+
+-- overflows
+maxExponent: 999   -- set high so conversion causes the overflow
+minExponent: -999
+decd040 apply   10E+96                  -> #78000000 Overflow Rounded Inexact
+decd041 apply   1.000000E+97            -> #78000000 Overflow Rounded Inexact
+maxExponent: 96
+minExponent: -95
+
+decd051 apply   12345                   -> #225049c5
+decd052 apply   #225049c5               -> 12345
+decd053 apply   1234                    -> #22500534
+decd054 apply   #22500534               -> 1234
+decd055 apply   123                     -> #225000a3
+decd056 apply   #225000a3               -> 123
+decd057 apply   12                      -> #22500012
+decd058 apply   #22500012               -> 12
+decd059 apply   1                       -> #22500001
+decd060 apply   #22500001               -> 1
+decd061 apply   1.23                    -> #223000a3
+decd062 apply   #223000a3               -> 1.23
+decd063 apply   123.45                  -> #223049c5
+decd064 apply   #223049c5               -> 123.45
+
+-- Nmin and below
+decd071 apply   1E-95                   -> #00600001
+decd072 apply   #00600001               -> 1E-95
+decd073 apply   1.000000E-95            -> #04000000
+decd074 apply   #04000000               -> 1.000000E-95
+decd075 apply   1.000001E-95            -> #04000001
+decd076 apply   #04000001               -> 1.000001E-95
+
+decd077 apply   0.100000E-95            -> #00020000     Subnormal
+decd07x apply   1.00000E-96             -> 1.00000E-96   Subnormal
+decd078 apply   #00020000               -> 1.00000E-96   Subnormal
+decd079 apply   0.000010E-95            -> #00000010     Subnormal
+decd080 apply   #00000010               -> 1.0E-100      Subnormal
+decd081 apply   0.000001E-95            -> #00000001     Subnormal
+decd082 apply   #00000001               -> 1E-101        Subnormal
+decd083 apply   1e-101                  -> #00000001     Subnormal
+decd084 apply   #00000001               -> 1E-101        Subnormal
+decd08x apply   1e-101                  -> 1E-101        Subnormal
+
+-- underflows
+decd090 apply   1e-101                  -> #00000001  Subnormal
+decd091 apply   1.9e-101                -> #00000002  Subnormal Underflow Inexact Rounded
+decd092 apply   1.1e-101                -> #00000001  Subnormal Underflow Inexact Rounded
+decd093 apply   1.001e-101              -> #00000001  Subnormal Underflow Inexact Rounded
+decd094 apply   1.000001e-101           -> #00000001  Subnormal Underflow Inexact Rounded
+decd095 apply   1.0000001e-101          -> #00000001  Subnormal Underflow Inexact Rounded
+decd096 apply   0.1e-101                -> #00000000  Subnormal Underflow Inexact Rounded
+decd097 apply   0.001e-101              -> #00000000  Subnormal Underflow Inexact Rounded
+decd098 apply   0.000001e-101           -> #00000000  Subnormal Underflow Inexact Rounded
+decd099 apply   0.0000001e-101          -> #00000000  Subnormal Underflow Inexact Rounded
+
+-- same again, negatives --
+
+-- Nmax and similar
+decd122 apply  -9.999999E+96            -> #f7f3fcff
+decd123 apply   #f7f3fcff               -> -9.999999E+96
+decd124 apply  -1.234567E+96            -> #c7f4d2e7
+decd125 apply   #c7f4d2e7               -> -1.234567E+96
+-- fold-downs (more below)
+decd130 apply  -1.23E+96                -> #c7f4c000 Clamped
+decd131 apply   #c7f4c000               -> -1.230000E+96
+decd132 apply  -1E+96                   -> #c7f00000 Clamped
+decd133 apply   #c7f00000               -> -1.000000E+96
+
+-- overflows
+maxExponent: 999   -- set high so conversion causes the overflow
+minExponent: -999
+decd140 apply  -10E+96                  -> #f8000000 Overflow Rounded Inexact
+decd141 apply  -1.000000E+97            -> #f8000000 Overflow Rounded Inexact
+maxExponent: 96
+minExponent: -95
+
+decd151 apply  -12345                   -> #a25049c5
+decd152 apply   #a25049c5               -> -12345
+decd153 apply  -1234                    -> #a2500534
+decd154 apply   #a2500534               -> -1234
+decd155 apply  -123                     -> #a25000a3
+decd156 apply   #a25000a3               -> -123
+decd157 apply  -12                      -> #a2500012
+decd158 apply   #a2500012               -> -12
+decd159 apply  -1                       -> #a2500001
+decd160 apply   #a2500001               -> -1
+decd161 apply  -1.23                    -> #a23000a3
+decd162 apply   #a23000a3               -> -1.23
+decd163 apply  -123.45                  -> #a23049c5
+decd164 apply   #a23049c5               -> -123.45
+
+-- Nmin and below
+decd171 apply  -1E-95                   -> #80600001
+decd172 apply   #80600001               -> -1E-95
+decd173 apply  -1.000000E-95            -> #84000000
+decd174 apply   #84000000               -> -1.000000E-95
+decd175 apply  -1.000001E-95            -> #84000001
+decd176 apply   #84000001               -> -1.000001E-95
+
+decd177 apply  -0.100000E-95            -> #80020000     Subnormal
+decd178 apply   #80020000               -> -1.00000E-96  Subnormal
+decd179 apply  -0.000010E-95            -> #80000010     Subnormal
+decd180 apply   #80000010               -> -1.0E-100     Subnormal
+decd181 apply  -0.000001E-95            -> #80000001     Subnormal
+decd182 apply   #80000001               -> -1E-101       Subnormal
+decd183 apply  -1e-101                  -> #80000001     Subnormal
+decd184 apply   #80000001               -> -1E-101       Subnormal
+
+-- underflows
+decd190 apply  -1e-101                  -> #80000001  Subnormal
+decd191 apply  -1.9e-101                -> #80000002  Subnormal Underflow Inexact Rounded
+decd192 apply  -1.1e-101                -> #80000001  Subnormal Underflow Inexact Rounded
+decd193 apply  -1.001e-101              -> #80000001  Subnormal Underflow Inexact Rounded
+decd194 apply  -1.000001e-101           -> #80000001  Subnormal Underflow Inexact Rounded
+decd195 apply  -1.0000001e-101          -> #80000001  Subnormal Underflow Inexact Rounded
+decd196 apply  -0.1e-101                -> #80000000  Subnormal Underflow Inexact Rounded
+decd197 apply  -0.001e-101              -> #80000000  Subnormal Underflow Inexact Rounded
+decd198 apply  -0.000001e-101           -> #80000000  Subnormal Underflow Inexact Rounded
+decd199 apply  -0.0000001e-101          -> #80000000  Subnormal Underflow Inexact Rounded
+
+-- zeros
+decd400 apply   0E-400                  -> #00000000  Clamped
+decd401 apply   0E-101                  -> #00000000
+decd402 apply   #00000000               -> 0E-101
+decd403 apply   0.000000E-95            -> #00000000
+decd404 apply   #00000000               -> 0E-101
+decd405 apply   0E-2                    -> #22300000
+decd406 apply   #22300000               -> 0.00
+decd407 apply   0                       -> #22500000
+decd408 apply   #22500000               -> 0
+decd409 apply   0E+3                    -> #22800000
+decd410 apply   #22800000               -> 0E+3
+decd411 apply   0E+90                   -> #43f00000
+decd412 apply   #43f00000               -> 0E+90
+-- clamped zeros...
+decd413 apply   0E+91                   -> #43f00000  Clamped
+decd414 apply   #43f00000               -> 0E+90
+decd415 apply   0E+96                   -> #43f00000  Clamped
+decd416 apply   #43f00000               -> 0E+90
+decd417 apply   0E+400                  -> #43f00000  Clamped
+decd418 apply   #43f00000               -> 0E+90
+
+-- negative zeros
+decd420 apply   -0E-400                 -> #80000000  Clamped
+decd421 apply   -0E-101                 -> #80000000
+decd422 apply   #80000000               -> -0E-101
+decd423 apply   -0.000000E-95           -> #80000000
+decd424 apply   #80000000               -> -0E-101
+decd425 apply   -0E-2                   -> #a2300000
+decd426 apply   #a2300000               -> -0.00
+decd427 apply   -0                      -> #a2500000
+decd428 apply   #a2500000               -> -0
+decd429 apply   -0E+3                   -> #a2800000
+decd430 apply   #a2800000               -> -0E+3
+decd431 apply   -0E+90                  -> #c3f00000
+decd432 apply   #c3f00000               -> -0E+90
+-- clamped zeros...
+decd433 apply   -0E+91                  -> #c3f00000  Clamped
+decd434 apply   #c3f00000               -> -0E+90
+decd435 apply   -0E+96                  -> #c3f00000  Clamped
+decd436 apply   #c3f00000               -> -0E+90
+decd437 apply   -0E+400                 -> #c3f00000  Clamped
+decd438 apply   #c3f00000               -> -0E+90
+
+-- Specials
+decd500 apply   Infinity  -> #78000000
+decd501 apply   #78787878 -> #78000000
+decd502 apply   #78000000 -> Infinity
+decd503 apply   #79797979 -> #78000000
+decd504 apply   #79000000 -> Infinity
+decd505 apply   #7a7a7a7a -> #78000000
+decd506 apply   #7a000000 -> Infinity
+decd507 apply   #7b7b7b7b -> #78000000
+decd508 apply   #7b000000 -> Infinity
+decd509 apply   #7c7c7c7c -> #7c0c7c7c
+
+decd510 apply   NaN       -> #7c000000
+decd511 apply   #7c000000 -> NaN
+decd512 apply   #7d7d7d7d -> #7c0d7d7d
+decd513 apply   #7d000000 -> NaN
+decd514 apply   #7e7e7e7e -> #7e0e7c7e
+decd515 apply   #7e000000 -> sNaN
+decd516 apply   #7f7f7f7f -> #7e0f7c7f
+decd517 apply   #7f000000 -> sNaN
+decd518 apply   #7fffffff -> sNaN999999
+decd519 apply   #7fffffff -> #7e03fcff
+
+decd520 apply   -Infinity -> #f8000000
+decd521 apply   #f8787878 -> #f8000000
+decd522 apply   #f8000000 -> -Infinity
+decd523 apply   #f9797979 -> #f8000000
+decd524 apply   #f9000000 -> -Infinity
+decd525 apply   #fa7a7a7a -> #f8000000
+decd526 apply   #fa000000 -> -Infinity
+decd527 apply   #fb7b7b7b -> #f8000000
+decd528 apply   #fb000000 -> -Infinity
+
+decd529 apply   -NaN      -> #fc000000
+decd530 apply   #fc7c7c7c -> #fc0c7c7c
+decd531 apply   #fc000000 -> -NaN
+decd532 apply   #fd7d7d7d -> #fc0d7d7d
+decd533 apply   #fd000000 -> -NaN
+decd534 apply   #fe7e7e7e -> #fe0e7c7e
+decd535 apply   #fe000000 -> -sNaN
+decd536 apply   #ff7f7f7f -> #fe0f7c7f
+decd537 apply   #ff000000 -> -sNaN
+decd538 apply   #ffffffff -> -sNaN999999
+decd539 apply   #ffffffff -> #fe03fcff
+
+-- diagnostic NaNs
+decd540 apply   NaN       -> #7c000000
+decd541 apply   NaN0      -> #7c000000
+decd542 apply   NaN1      -> #7c000001
+decd543 apply   NaN12     -> #7c000012
+decd544 apply   NaN79     -> #7c000079
+decd545 apply   NaN12345   -> #7c0049c5
+decd546 apply   NaN123456  -> #7c028e56
+decd547 apply   NaN799799  -> #7c0f7fdf
+decd548 apply   NaN999999  -> #7c03fcff
+decd549 apply   NaN1234567 -> #7c000000  -- too many digits
+
+
+-- fold-down full sequence
+decd601 apply   1E+96                   -> #47f00000 Clamped
+decd602 apply   #47f00000               -> 1.000000E+96
+decd603 apply   1E+95                   -> #43f20000 Clamped
+decd604 apply   #43f20000               -> 1.00000E+95
+decd605 apply   1E+94                   -> #43f04000 Clamped
+decd606 apply   #43f04000               -> 1.0000E+94
+decd607 apply   1E+93                   -> #43f00400 Clamped
+decd608 apply   #43f00400               -> 1.000E+93
+decd609 apply   1E+92                   -> #43f00080 Clamped
+decd610 apply   #43f00080               -> 1.00E+92
+decd611 apply   1E+91                   -> #43f00010 Clamped
+decd612 apply   #43f00010               -> 1.0E+91
+decd613 apply   1E+90                   -> #43f00001
+decd614 apply   #43f00001               -> 1E+90
+
+
+-- Selected DPD codes
+decd700 apply   #22500000       -> 0
+decd701 apply   #22500009       -> 9
+decd702 apply   #22500010       -> 10
+decd703 apply   #22500019       -> 19
+decd704 apply   #22500020       -> 20
+decd705 apply   #22500029       -> 29
+decd706 apply   #22500030       -> 30
+decd707 apply   #22500039       -> 39
+decd708 apply   #22500040       -> 40
+decd709 apply   #22500049       -> 49
+decd710 apply   #22500050       -> 50
+decd711 apply   #22500059       -> 59
+decd712 apply   #22500060       -> 60
+decd713 apply   #22500069       -> 69
+decd714 apply   #22500070       -> 70
+decd715 apply   #22500071       -> 71
+decd716 apply   #22500072       -> 72
+decd717 apply   #22500073       -> 73
+decd718 apply   #22500074       -> 74
+decd719 apply   #22500075       -> 75
+decd720 apply   #22500076       -> 76
+decd721 apply   #22500077       -> 77
+decd722 apply   #22500078       -> 78
+decd723 apply   #22500079       -> 79
+
+decd730 apply   #2250029e       -> 994
+decd731 apply   #2250029f       -> 995
+decd732 apply   #225002a0       -> 520
+decd733 apply   #225002a1       -> 521
+
+-- DPD: one of each of the huffman groups
+decd740 apply   #225003f7       -> 777
+decd741 apply   #225003f8       -> 778
+decd742 apply   #225003eb       -> 787
+decd743 apply   #2250037d       -> 877
+decd744 apply   #2250039f       -> 997
+decd745 apply   #225003bf       -> 979
+decd746 apply   #225003df       -> 799
+decd747 apply   #2250006e       -> 888
+
+
+-- DPD all-highs cases (includes the 24 redundant codes)
+decd750 apply   #2250006e       -> 888
+decd751 apply   #2250016e       -> 888
+decd752 apply   #2250026e       -> 888
+decd753 apply   #2250036e       -> 888
+decd754 apply   #2250006f       -> 889
+decd755 apply   #2250016f       -> 889
+decd756 apply   #2250026f       -> 889
+decd757 apply   #2250036f       -> 889
+
+decd760 apply   #2250007e       -> 898
+decd761 apply   #2250017e       -> 898
+decd762 apply   #2250027e       -> 898
+decd763 apply   #2250037e       -> 898
+decd764 apply   #2250007f       -> 899
+decd765 apply   #2250017f       -> 899
+decd766 apply   #2250027f       -> 899
+decd767 apply   #2250037f       -> 899
+
+decd770 apply   #225000ee       -> 988
+decd771 apply   #225001ee       -> 988
+decd772 apply   #225002ee       -> 988
+decd773 apply   #225003ee       -> 988
+decd774 apply   #225000ef       -> 989
+decd775 apply   #225001ef       -> 989
+decd776 apply   #225002ef       -> 989
+decd777 apply   #225003ef       -> 989
+
+decd780 apply   #225000fe       -> 998
+decd781 apply   #225001fe       -> 998
+decd782 apply   #225002fe       -> 998
+decd783 apply   #225003fe       -> 998
+decd784 apply   #225000ff       -> 999
+decd785 apply   #225001ff       -> 999
+decd786 apply   #225002ff       -> 999
+decd787 apply   #225003ff       -> 999
+

Added: sandbox/trunk/decimal-c/decimaltestdata/decimal64.decTest
==============================================================================
--- (empty file)
+++ sandbox/trunk/decimal-c/decimaltestdata/decimal64.decTest	Tue May 23 13:34:01 2006
@@ -0,0 +1,444 @@
+------------------------------------------------------------------------
+-- decimal64.decTest -- decimal eight-byte format testcases           --
+-- Copyright (c) IBM Corporation, 2000, 2003.  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 at uk.ibm.com                                                   --
+------------------------------------------------------------------------
+version: 2.39
+
+-- This set of tests is for the eight-byte concrete representation.
+-- Its characteristics are:
+--
+--  1 bit  sign
+--  5 bits combination field
+--  8 bits exponent continuation
+-- 50 bits coefficient continuation
+--
+-- Total exponent length 10 bits
+-- Total coefficient length 54 bits (16 digits)
+--
+-- Elimit =  767 (maximum encoded exponent)
+-- Emax   =  384 (largest exponent value)
+-- Emin   = -383 (smallest exponent value)
+-- bias   =  398 (subtracted from encoded exponent) = -Etiny
+
+extended:    1
+precision:   16
+rounding:    half_up
+maxExponent: 384
+minExponent: -383
+
+-- General testcases
+-- (mostly derived from the Strawman 4 document and examples)
+dece001 apply   #A2300000000003D0 -> -7.50
+dece002 apply   -7.50             -> #A2300000000003D0
+
+-- Normality
+dece010 apply   1234567890123456   -> #263934b9c1e28e56
+dece011 apply   1234567890123456.0 -> #263934b9c1e28e56 Rounded
+dece012 apply   1234567890123456.1 -> #263934b9c1e28e56 Rounded Inexact
+dece013 apply  -1234567890123456   -> #a63934b9c1e28e56
+dece014 apply  -1234567890123456.0 -> #a63934b9c1e28e56 Rounded
+dece015 apply  -1234567890123456.1 -> #a63934b9c1e28e56 Rounded Inexact
+
+
+-- Nmax and similar
+dece022 apply   9.999999999999999E+384  -> #77fcff3fcff3fcff
+dece023 apply   #77fcff3fcff3fcff       -> 9.999999999999999E+384
+dece024 apply   1.234567890123456E+384  -> #47fd34b9c1e28e56
+dece025 apply   #47fd34b9c1e28e56       -> 1.234567890123456E+384
+-- fold-downs (more below)
+dece030 apply   1.23E+384               -> #47fd300000000000 Clamped
+dece031 apply   #47fd300000000000       -> 1.230000000000000E+384
+dece032 apply   1E+384                  -> #47fc000000000000 Clamped
+dece033 apply   #47fc000000000000       -> 1.000000000000000E+384
+
+-- overflows
+maxExponent: 999   -- set high so conversion causes the overflow
+minExponent: -999
+dece040 apply   10E+384                 -> #7800000000000000 Overflow Rounded Inexact
+dece041 apply   1.000000000000000E+385  -> #7800000000000000 Overflow Rounded Inexact
+maxExponent: 384
+minExponent: -383
+
+dece051 apply   12345                   -> #22380000000049c5
+dece052 apply   #22380000000049c5       -> 12345
+dece053 apply   1234                    -> #2238000000000534
+dece054 apply   #2238000000000534       -> 1234
+dece055 apply   123                     -> #22380000000000a3
+dece056 apply   #22380000000000a3       -> 123
+dece057 apply   12                      -> #2238000000000012
+dece058 apply   #2238000000000012       -> 12
+dece059 apply   1                       -> #2238000000000001
+dece060 apply   #2238000000000001       -> 1
+dece061 apply   1.23                    -> #22300000000000a3
+dece062 apply   #22300000000000a3       -> 1.23
+dece063 apply   123.45                  -> #22300000000049c5
+dece064 apply   #22300000000049c5       -> 123.45
+
+-- Nmin and below
+dece071 apply   1E-383                  -> #003c000000000001
+dece072 apply   #003c000000000001       -> 1E-383
+dece073 apply   1.000000000000000E-383  -> #0400000000000000
+dece074 apply   #0400000000000000       -> 1.000000000000000E-383
+dece075 apply   1.000000000000001E-383  -> #0400000000000001
+dece076 apply   #0400000000000001       -> 1.000000000000001E-383
+
+dece077 apply   0.100000000000000E-383  -> #0000800000000000      Subnormal
+dece078 apply   #0000800000000000       -> 1.00000000000000E-384  Subnormal
+dece079 apply   0.000000000000010E-383  -> #0000000000000010      Subnormal
+dece080 apply   #0000000000000010       -> 1.0E-397               Subnormal
+dece081 apply   0.00000000000001E-383   -> #0004000000000001      Subnormal
+dece082 apply   #0004000000000001       -> 1E-397                 Subnormal
+dece083 apply   0.000000000000001E-383  -> #0000000000000001      Subnormal
+dece084 apply   #0000000000000001       -> 1E-398                 Subnormal
+
+-- underflows
+dece090 apply   1e-398                  -> #0000000000000001  Subnormal
+dece091 apply   1.9e-398                -> #0000000000000002  Subnormal Underflow Inexact Rounded
+dece092 apply   1.1e-398                -> #0000000000000001  Subnormal Underflow Inexact Rounded
+dece093 apply   1.00000000001e-398      -> #0000000000000001  Subnormal Underflow Inexact Rounded
+dece094 apply   1.00000000000001e-398   -> #0000000000000001  Subnormal Underflow Inexact Rounded
+dece095 apply   1.000000000000001e-398  -> #0000000000000001  Subnormal Underflow Inexact Rounded
+dece096 apply   0.1e-398                -> #0000000000000000  Subnormal Underflow Inexact Rounded
+dece097 apply   0.00000000001e-398      -> #0000000000000000  Subnormal Underflow Inexact Rounded
+dece098 apply   0.00000000000001e-398   -> #0000000000000000  Subnormal Underflow Inexact Rounded
+dece099 apply   0.000000000000001e-398  -> #0000000000000000  Subnormal Underflow Inexact Rounded
+
+-- Same again, negatives
+-- Nmax and similar
+dece122 apply  -9.999999999999999E+384  -> #f7fcff3fcff3fcff
+dece123 apply   #f7fcff3fcff3fcff       -> -9.999999999999999E+384
+dece124 apply  -1.234567890123456E+384  -> #c7fd34b9c1e28e56
+dece125 apply   #c7fd34b9c1e28e56       -> -1.234567890123456E+384
+-- fold-downs (more below)
+dece130 apply  -1.23E+384               -> #c7fd300000000000 Clamped
+dece131 apply   #c7fd300000000000       -> -1.230000000000000E+384
+dece132 apply  -1E+384                  -> #c7fc000000000000 Clamped
+dece133 apply   #c7fc000000000000       -> -1.000000000000000E+384
+
+-- overflows
+maxExponent: 999   -- set high so conversion causes the overflow
+minExponent: -999
+dece140 apply  -10E+384                 -> #f800000000000000 Overflow Rounded Inexact
+dece141 apply  -1.000000000000000E+385  -> #f800000000000000 Overflow Rounded Inexact
+maxExponent: 384
+minExponent: -383
+
+dece151 apply  -12345                   -> #a2380000000049c5
+dece152 apply   #a2380000000049c5       -> -12345
+dece153 apply  -1234                    -> #a238000000000534
+dece154 apply   #a238000000000534       -> -1234
+dece155 apply  -123                     -> #a2380000000000a3
+dece156 apply   #a2380000000000a3       -> -123
+dece157 apply  -12                      -> #a238000000000012
+dece158 apply   #a238000000000012       -> -12
+dece159 apply  -1                       -> #a238000000000001
+dece160 apply   #a238000000000001       -> -1
+dece161 apply  -1.23                    -> #a2300000000000a3
+dece162 apply   #a2300000000000a3       -> -1.23
+dece163 apply  -123.45                  -> #a2300000000049c5
+dece164 apply   #a2300000000049c5       -> -123.45
+
+-- Nmin and below
+dece171 apply  -1E-383                  -> #803c000000000001
+dece172 apply   #803c000000000001       -> -1E-383
+dece173 apply  -1.000000000000000E-383  -> #8400000000000000
+dece174 apply   #8400000000000000       -> -1.000000000000000E-383
+dece175 apply  -1.000000000000001E-383  -> #8400000000000001
+dece176 apply   #8400000000000001       -> -1.000000000000001E-383
+
+dece177 apply  -0.100000000000000E-383  -> #8000800000000000       Subnormal
+dece178 apply   #8000800000000000       -> -1.00000000000000E-384  Subnormal
+dece179 apply  -0.000000000000010E-383  -> #8000000000000010       Subnormal
+dece180 apply   #8000000000000010       -> -1.0E-397               Subnormal
+dece181 apply  -0.00000000000001E-383   -> #8004000000000001       Subnormal
+dece182 apply   #8004000000000001       -> -1E-397                 Subnormal
+dece183 apply  -0.000000000000001E-383  -> #8000000000000001       Subnormal
+dece184 apply   #8000000000000001       -> -1E-398                 Subnormal
+
+-- underflows
+dece189 apply   -1e-398                 -> #8000000000000001  Subnormal
+dece190 apply   -1.0e-398               -> #8000000000000001  Subnormal Rounded
+dece191 apply   -1.9e-398               -> #8000000000000002  Subnormal Underflow Inexact Rounded
+dece192 apply   -1.1e-398               -> #8000000000000001  Subnormal Underflow Inexact Rounded
+dece193 apply   -1.00000000001e-398     -> #8000000000000001  Subnormal Underflow Inexact Rounded
+dece194 apply   -1.00000000000001e-398  -> #8000000000000001  Subnormal Underflow Inexact Rounded
+dece195 apply   -1.000000000000001e-398 -> #8000000000000001  Subnormal Underflow Inexact Rounded
+dece196 apply   -0.1e-398               -> #8000000000000000  Subnormal Underflow Inexact Rounded
+dece197 apply   -0.00000000001e-398     -> #8000000000000000  Subnormal Underflow Inexact Rounded
+dece198 apply   -0.00000000000001e-398  -> #8000000000000000  Subnormal Underflow Inexact Rounded
+dece199 apply   -0.000000000000001e-398 -> #8000000000000000  Subnormal Underflow Inexact Rounded
+
+-- zeros
+dece401 apply   0E-500                  -> #0000000000000000  Clamped
+dece402 apply   0E-400                  -> #0000000000000000  Clamped
+dece403 apply   0E-398                  -> #0000000000000000
+dece404 apply   #0000000000000000       -> 0E-398
+dece405 apply   0.000000000000000E-383  -> #0000000000000000
+dece406 apply   #0000000000000000       -> 0E-398
+dece407 apply   0E-2                    -> #2230000000000000
+dece408 apply   #2230000000000000       -> 0.00
+dece409 apply   0                       -> #2238000000000000
+dece410 apply   #2238000000000000       -> 0
+dece411 apply   0E+3                    -> #2244000000000000
+dece412 apply   #2244000000000000       -> 0E+3
+dece413 apply   0E+369                  -> #43fc000000000000
+dece414 apply   #43fc000000000000       -> 0E+369
+-- clamped zeros...
+dece415 apply   0E+370                  -> #43fc000000000000  Clamped
+dece416 apply   #43fc000000000000       -> 0E+369
+dece417 apply   0E+384                  -> #43fc000000000000  Clamped
+dece418 apply   #43fc000000000000       -> 0E+369
+dece419 apply   0E+400                  -> #43fc000000000000  Clamped
+dece420 apply   #43fc000000000000       -> 0E+369
+dece421 apply   0E+500                  -> #43fc000000000000  Clamped
+dece422 apply   #43fc000000000000       -> 0E+369
+
+-- negative zeros
+dece431 apply   -0E-400                 -> #8000000000000000  Clamped
+dece432 apply   -0E-400                 -> #8000000000000000  Clamped
+dece433 apply   -0E-398                 -> #8000000000000000
+dece434 apply   #8000000000000000       -> -0E-398
+dece435 apply   -0.000000000000000E-383 -> #8000000000000000
+dece436 apply   #8000000000000000       -> -0E-398
+dece437 apply   -0E-2                   -> #a230000000000000
+dece438 apply   #a230000000000000       -> -0.00
+dece439 apply   -0                      -> #a238000000000000
+dece440 apply   #a238000000000000       -> -0
+dece441 apply   -0E+3                   -> #a244000000000000
+dece442 apply   #a244000000000000       -> -0E+3
+dece443 apply   -0E+369                 -> #c3fc000000000000
+dece444 apply   #c3fc000000000000       -> -0E+369
+-- clamped zeros...
+dece445 apply   -0E+370                 -> #c3fc000000000000  Clamped
+dece446 apply   #c3fc000000000000       -> -0E+369
+dece447 apply   -0E+384                 -> #c3fc000000000000  Clamped
+dece448 apply   #c3fc000000000000       -> -0E+369
+dece449 apply   -0E+400                 -> #c3fc000000000000  Clamped
+dece450 apply   #c3fc000000000000       -> -0E+369
+dece451 apply   -0E+500                 -> #c3fc000000000000  Clamped
+dece452 apply   #c3fc000000000000       -> -0E+369
+
+-- Specials
+dece500 apply   Infinity          -> #7800000000000000
+dece501 apply   #7878787878787878 -> #7800000000000000
+dece502 apply   #7800000000000000 -> Infinity
+dece503 apply   #7979797979797979 -> #7800000000000000
+dece504 apply   #7900000000000000 -> Infinity
+dece505 apply   #7a7a7a7a7a7a7a7a -> #7800000000000000
+dece506 apply   #7a00000000000000 -> Infinity
+dece507 apply   #7b7b7b7b7b7b7b7b -> #7800000000000000
+dece508 apply   #7b00000000000000 -> Infinity
+
+dece509 apply   NaN               -> #7c00000000000000
+dece510 apply   #7c7c7c7c7c7c7c7c -> #7c007c7c7c7c7c7c
+dece511 apply   #7c00000000000000 -> NaN
+dece512 apply   #7d7d7d7d7d7d7d7d -> #7c017d7d7d7d7d7d
+dece513 apply   #7d00000000000000 -> NaN
+dece514 apply   #7e7e7e7e7e7e7e7e -> #7e007e7e7e7e7c7e
+dece515 apply   #7e00000000000000 -> sNaN
+dece516 apply   #7f7f7f7f7f7f7f7f -> #7e007f7f7f7f7c7f
+dece517 apply   #7f00000000000000 -> sNaN
+dece518 apply   #7fffffffffffffff -> sNaN999999999999999
+dece519 apply   #7fffffffffffffff -> #7e00ff3fcff3fcff
+
+dece520 apply   -Infinity         -> #f800000000000000
+dece521 apply   #f878787878787878 -> #f800000000000000
+dece522 apply   #f800000000000000 -> -Infinity
+dece523 apply   #f979797979797979 -> #f800000000000000
+dece524 apply   #f900000000000000 -> -Infinity
+dece525 apply   #fa7a7a7a7a7a7a7a -> #f800000000000000
+dece526 apply   #fa00000000000000 -> -Infinity
+dece527 apply   #fb7b7b7b7b7b7b7b -> #f800000000000000
+dece528 apply   #fb00000000000000 -> -Infinity
+
+dece529 apply   -NaN              -> #fc00000000000000
+dece530 apply   #fc7c7c7c7c7c7c7c -> #fc007c7c7c7c7c7c
+dece531 apply   #fc00000000000000 -> -NaN
+dece532 apply   #fd7d7d7d7d7d7d7d -> #fc017d7d7d7d7d7d
+dece533 apply   #fd00000000000000 -> -NaN
+dece534 apply   #fe7e7e7e7e7e7e7e -> #fe007e7e7e7e7c7e
+dece535 apply   #fe00000000000000 -> -sNaN
+dece536 apply   #ff7f7f7f7f7f7f7f -> #fe007f7f7f7f7c7f
+dece537 apply   #ff00000000000000 -> -sNaN
+dece538 apply   #ffffffffffffffff -> -sNaN999999999999999
+dece539 apply   #ffffffffffffffff -> #fe00ff3fcff3fcff
+
+-- diagnostic NaNs
+dece540 apply   NaN                 -> #7c00000000000000
+dece541 apply   NaN0                -> #7c00000000000000
+dece542 apply   NaN1                -> #7c00000000000001
+dece543 apply   NaN12               -> #7c00000000000012
+dece544 apply   NaN79               -> #7c00000000000079
+dece545 apply   NaN12345            -> #7c000000000049c5
+dece546 apply   NaN123456           -> #7c00000000028e56
+dece547 apply   NaN799799           -> #7c000000000f7fdf
+dece548 apply   NaN799799799799799  -> #7c03dff7fdff7fdf
+dece549 apply   NaN999999999999999  -> #7c00ff3fcff3fcff
+dece550 apply   NaN1234567890123456 -> #7c00000000000000  -- too many digits
+
+-- fold-down full sequence
+dece601 apply   1E+384                  -> #47fc000000000000 Clamped
+dece602 apply   #47fc000000000000       -> 1.000000000000000E+384
+dece603 apply   1E+383                  -> #43fc800000000000 Clamped
+dece604 apply   #43fc800000000000       -> 1.00000000000000E+383
+dece605 apply   1E+382                  -> #43fc100000000000 Clamped
+dece606 apply   #43fc100000000000       -> 1.0000000000000E+382
+dece607 apply   1E+381                  -> #43fc010000000000 Clamped
+dece608 apply   #43fc010000000000       -> 1.000000000000E+381
+dece609 apply   1E+380                  -> #43fc002000000000 Clamped
+dece610 apply   #43fc002000000000       -> 1.00000000000E+380
+dece611 apply   1E+379                  -> #43fc000400000000 Clamped
+dece612 apply   #43fc000400000000       -> 1.0000000000E+379
+dece613 apply   1E+378                  -> #43fc000040000000 Clamped
+dece614 apply   #43fc000040000000       -> 1.000000000E+378
+dece615 apply   1E+377                  -> #43fc000008000000 Clamped
+dece616 apply   #43fc000008000000       -> 1.00000000E+377
+dece617 apply   1E+376                  -> #43fc000001000000 Clamped
+dece618 apply   #43fc000001000000       -> 1.0000000E+376
+dece619 apply   1E+375                  -> #43fc000000100000 Clamped
+dece620 apply   #43fc000000100000       -> 1.000000E+375
+dece621 apply   1E+374                  -> #43fc000000020000 Clamped
+dece622 apply   #43fc000000020000       -> 1.00000E+374
+dece623 apply   1E+373                  -> #43fc000000004000 Clamped
+dece624 apply   #43fc000000004000       -> 1.0000E+373
+dece625 apply   1E+372                  -> #43fc000000000400 Clamped
+dece626 apply   #43fc000000000400       -> 1.000E+372
+dece627 apply   1E+371                  -> #43fc000000000080 Clamped
+dece628 apply   #43fc000000000080       -> 1.00E+371
+dece629 apply   1E+370                  -> #43fc000000000010 Clamped
+dece630 apply   #43fc000000000010       -> 1.0E+370
+dece631 apply   1E+369                  -> #43fc000000000001
+dece632 apply   #43fc000000000001       -> 1E+369
+dece633 apply   1E+368                  -> #43f8000000000001
+dece634 apply   #43f8000000000001       -> 1E+368
+-- same with 9s
+dece641 apply   9E+384                  -> #77fc000000000000 Clamped
+dece642 apply   #77fc000000000000       -> 9.000000000000000E+384
+dece643 apply   9E+383                  -> #43fc8c0000000000 Clamped
+dece644 apply   #43fc8c0000000000       -> 9.00000000000000E+383
+dece645 apply   9E+382                  -> #43fc1a0000000000 Clamped
+dece646 apply   #43fc1a0000000000       -> 9.0000000000000E+382
+dece647 apply   9E+381                  -> #43fc090000000000 Clamped
+dece648 apply   #43fc090000000000       -> 9.000000000000E+381
+dece649 apply   9E+380                  -> #43fc002300000000 Clamped
+dece650 apply   #43fc002300000000       -> 9.00000000000E+380
+dece651 apply   9E+379                  -> #43fc000680000000 Clamped
+dece652 apply   #43fc000680000000       -> 9.0000000000E+379
+dece653 apply   9E+378                  -> #43fc000240000000 Clamped
+dece654 apply   #43fc000240000000       -> 9.000000000E+378
+dece655 apply   9E+377                  -> #43fc000008c00000 Clamped
+dece656 apply   #43fc000008c00000       -> 9.00000000E+377
+dece657 apply   9E+376                  -> #43fc000001a00000 Clamped
+dece658 apply   #43fc000001a00000       -> 9.0000000E+376
+dece659 apply   9E+375                  -> #43fc000000900000 Clamped
+dece660 apply   #43fc000000900000       -> 9.000000E+375
+dece661 apply   9E+374                  -> #43fc000000023000 Clamped
+dece662 apply   #43fc000000023000       -> 9.00000E+374
+dece663 apply   9E+373                  -> #43fc000000006800 Clamped
+dece664 apply   #43fc000000006800       -> 9.0000E+373
+dece665 apply   9E+372                  -> #43fc000000002400 Clamped
+dece666 apply   #43fc000000002400       -> 9.000E+372
+dece667 apply   9E+371                  -> #43fc00000000008c Clamped
+dece668 apply   #43fc00000000008c       -> 9.00E+371
+dece669 apply   9E+370                  -> #43fc00000000001a Clamped
+dece670 apply   #43fc00000000001a       -> 9.0E+370
+dece671 apply   9E+369                  -> #43fc000000000009
+dece672 apply   #43fc000000000009       -> 9E+369
+dece673 apply   9E+368                  -> #43f8000000000009
+dece674 apply   #43f8000000000009       -> 9E+368
+
+
+-- Selected DPD codes
+dece700 apply   #2238000000000000       -> 0
+dece701 apply   #2238000000000009       -> 9
+dece702 apply   #2238000000000010       -> 10
+dece703 apply   #2238000000000019       -> 19
+dece704 apply   #2238000000000020       -> 20
+dece705 apply   #2238000000000029       -> 29
+dece706 apply   #2238000000000030       -> 30
+dece707 apply   #2238000000000039       -> 39
+dece708 apply   #2238000000000040       -> 40
+dece709 apply   #2238000000000049       -> 49
+dece710 apply   #2238000000000050       -> 50
+dece711 apply   #2238000000000059       -> 59
+dece712 apply   #2238000000000060       -> 60
+dece713 apply   #2238000000000069       -> 69
+dece714 apply   #2238000000000070       -> 70
+dece715 apply   #2238000000000071       -> 71
+dece716 apply   #2238000000000072       -> 72
+dece717 apply   #2238000000000073       -> 73
+dece718 apply   #2238000000000074       -> 74
+dece719 apply   #2238000000000075       -> 75
+dece720 apply   #2238000000000076       -> 76
+dece721 apply   #2238000000000077       -> 77
+dece722 apply   #2238000000000078       -> 78
+dece723 apply   #2238000000000079       -> 79
+
+dece730 apply   #223800000000029e       -> 994
+dece731 apply   #223800000000029f       -> 995
+dece732 apply   #22380000000002a0       -> 520
+dece733 apply   #22380000000002a1       -> 521
+
+-- DPD: one of each of the huffman groups
+dece740 apply   #22380000000003f7       -> 777
+dece741 apply   #22380000000003f8       -> 778
+dece742 apply   #22380000000003eb       -> 787
+dece743 apply   #223800000000037d       -> 877
+dece744 apply   #223800000000039f       -> 997
+dece745 apply   #22380000000003bf       -> 979
+dece746 apply   #22380000000003df       -> 799
+dece747 apply   #223800000000006e       -> 888
+
+
+-- DPD all-highs cases (includes the 24 redundant codes)
+dece750 apply   #223800000000006e       -> 888
+dece751 apply   #223800000000016e       -> 888
+dece752 apply   #223800000000026e       -> 888
+dece753 apply   #223800000000036e       -> 888
+dece754 apply   #223800000000006f       -> 889
+dece755 apply   #223800000000016f       -> 889
+dece756 apply   #223800000000026f       -> 889
+dece757 apply   #223800000000036f       -> 889
+
+dece760 apply   #223800000000007e       -> 898
+dece761 apply   #223800000000017e       -> 898
+dece762 apply   #223800000000027e       -> 898
+dece763 apply   #223800000000037e       -> 898
+dece764 apply   #223800000000007f       -> 899
+dece765 apply   #223800000000017f       -> 899
+dece766 apply   #223800000000027f       -> 899
+dece767 apply   #223800000000037f       -> 899
+
+dece770 apply   #22380000000000ee       -> 988
+dece771 apply   #22380000000001ee       -> 988
+dece772 apply   #22380000000002ee       -> 988
+dece773 apply   #22380000000003ee       -> 988
+dece774 apply   #22380000000000ef       -> 989
+dece775 apply   #22380000000001ef       -> 989
+dece776 apply   #22380000000002ef       -> 989
+dece777 apply   #22380000000003ef       -> 989
+
+dece780 apply   #22380000000000fe       -> 998
+dece781 apply   #22380000000001fe       -> 998
+dece782 apply   #22380000000002fe       -> 998
+dece783 apply   #22380000000003fe       -> 998
+dece784 apply   #22380000000000ff       -> 999
+dece785 apply   #22380000000001ff       -> 999
+dece786 apply   #22380000000002ff       -> 999
+dece787 apply   #22380000000003ff       -> 999
+

Added: sandbox/trunk/decimal-c/decimaltestdata/divide.decTest
==============================================================================
--- (empty file)
+++ sandbox/trunk/decimal-c/decimaltestdata/divide.decTest	Tue May 23 13:34:01 2006
@@ -0,0 +1,818 @@
+------------------------------------------------------------------------
+-- divide.decTest -- decimal division                                 --
+-- Copyright (c) IBM Corporation, 1981, 2004.  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 at uk.ibm.com                                                   --
+------------------------------------------------------------------------
+version: 2.39
+
+extended:    1
+precision:   9
+rounding:    half_up
+maxExponent: 384
+minexponent: -383
+
+-- sanity checks
+divx001 divide  1     1    ->  1
+divx002 divide  2     1    ->  2
+divx003 divide  1     2    ->  0.5
+divx004 divide  2     2    ->  1
+divx005 divide  0     1    ->  0
+divx006 divide  0     2    ->  0
+divx007 divide  1     3    ->  0.333333333 Inexact Rounded
+divx008 divide  2     3    ->  0.666666667 Inexact Rounded
+divx009 divide  3     3    ->  1
+
+divx010 divide  2.4   1    ->  2.4
+divx011 divide  2.4   -1   ->  -2.4
+divx012 divide  -2.4  1    ->  -2.4
+divx013 divide  -2.4  -1   ->  2.4
+divx014 divide  2.40  1    ->  2.40
+divx015 divide  2.400 1    ->  2.400
+divx016 divide  2.4   2    ->  1.2
+divx017 divide  2.400 2    ->  1.200
+divx018 divide  2.    2    ->  1
+divx019 divide  20    20   ->  1
+
+divx020 divide  187   187  ->  1
+divx021 divide  5     2    ->  2.5
+divx022 divide  5     2.0    ->  2.5
+divx023 divide  5     2.000  ->  2.5
+divx024 divide  5     0.20   ->  25
+divx025 divide  5     0.200  ->  25
+divx026 divide  10    1      ->  10
+divx027 divide  100   1      ->  100
+divx028 divide  1000  1      ->  1000
+divx029 divide  1000  100    ->  10
+
+divx030 divide  1     2      ->  0.5
+divx031 divide  1     4      ->  0.25
+divx032 divide  1     8      ->  0.125
+divx033 divide  1     16     ->  0.0625
+divx034 divide  1     32     ->  0.03125
+divx035 divide  1     64     ->  0.015625
+divx040 divide  1    -2      ->  -0.5
+divx041 divide  1    -4      ->  -0.25
+divx042 divide  1    -8      ->  -0.125
+divx043 divide  1    -16     ->  -0.0625
+divx044 divide  1    -32     ->  -0.03125
+divx045 divide  1    -64     ->  -0.015625
+divx050 divide -1     2      ->  -0.5
+divx051 divide -1     4      ->  -0.25
+divx052 divide -1     8      ->  -0.125
+divx053 divide -1     16     ->  -0.0625
+divx054 divide -1     32     ->  -0.03125
+divx055 divide -1     64     ->  -0.015625
+divx060 divide -1    -2      ->  0.5
+divx061 divide -1    -4      ->  0.25
+divx062 divide -1    -8      ->  0.125
+divx063 divide -1    -16     ->  0.0625
+divx064 divide -1    -32     ->  0.03125
+divx065 divide -1    -64     ->  0.015625
+
+divx070 divide  999999999        1    ->  999999999
+divx071 divide  999999999.4      1    ->  999999999 Inexact Rounded
+divx072 divide  999999999.5      1    ->  1.00000000E+9 Inexact Rounded
+divx073 divide  999999999.9      1    ->  1.00000000E+9 Inexact Rounded
+divx074 divide  999999999.999    1    ->  1.00000000E+9 Inexact Rounded
+precision: 6
+divx080 divide  999999999     1  ->  1.00000E+9 Inexact Rounded
+divx081 divide  99999999      1  ->  1.00000E+8 Inexact Rounded
+divx082 divide  9999999       1  ->  1.00000E+7 Inexact Rounded
+divx083 divide  999999        1  ->  999999
+divx084 divide  99999         1  ->  99999
+divx085 divide  9999          1  ->  9999
+divx086 divide  999           1  ->  999
+divx087 divide  99            1  ->  99
+divx088 divide  9             1  ->  9
+
+precision: 9
+divx090 divide  0.            1    ->  0
+divx091 divide  .0            1    ->  0.0
+divx092 divide  0.00          1    ->  0.00
+divx093 divide  0.00E+9       1    ->  0E+7
+divx094 divide  0.0000E-50    1    ->  0E-54
+
+divx095 divide  1            1E-8  ->  1E+8
+divx096 divide  1            1E-9  ->  1E+9
+divx097 divide  1            1E-10 ->  1E+10
+divx098 divide  1            1E-11 ->  1E+11
+divx099 divide  1            1E-12 ->  1E+12
+
+divx100 divide  1  1   -> 1
+divx101 divide  1  2   -> 0.5
+divx102 divide  1  3   -> 0.333333333 Inexact Rounded
+divx103 divide  1  4   -> 0.25
+divx104 divide  1  5   -> 0.2
+divx105 divide  1  6   -> 0.166666667 Inexact Rounded
+divx106 divide  1  7   -> 0.142857143 Inexact Rounded
+divx107 divide  1  8   -> 0.125
+divx108 divide  1  9   -> 0.111111111 Inexact Rounded
+divx109 divide  1  10  -> 0.1
+divx110 divide  1  1   -> 1
+divx111 divide  2  1   -> 2
+divx112 divide  3  1   -> 3
+divx113 divide  4  1   -> 4
+divx114 divide  5  1   -> 5
+divx115 divide  6  1   -> 6
+divx116 divide  7  1   -> 7
+divx117 divide  8  1   -> 8
+divx118 divide  9  1   -> 9
+divx119 divide  10 1   -> 10
+
+divx120 divide  3E+1 0.001  -> 3E+4
+divx121 divide  2.200 2     -> 1.100
+
+divx130 divide  12345  4.999  ->  2469.49390 Inexact Rounded
+divx131 divide  12345  4.99   ->  2473.94790 Inexact Rounded
+divx132 divide  12345  4.9    ->  2519.38776 Inexact Rounded
+divx133 divide  12345  5      ->  2469
+divx134 divide  12345  5.1    ->  2420.58824 Inexact Rounded
+divx135 divide  12345  5.01   ->  2464.07186 Inexact Rounded
+divx136 divide  12345  5.001  ->  2468.50630 Inexact Rounded
+
+precision:   9
+maxexponent: 999999999
+minexponent: -999999999
+
+-- test possibly imprecise results
+divx220 divide 391   597 ->  0.654941374 Inexact Rounded
+divx221 divide 391  -597 -> -0.654941374 Inexact Rounded
+divx222 divide -391  597 -> -0.654941374 Inexact Rounded
+divx223 divide -391 -597 ->  0.654941374 Inexact Rounded
+
+-- test some cases that are close to exponent overflow
+maxexponent: 999999999
+minexponent: -999999999
+divx270 divide 1 1e999999999    -> 1E-999999999
+divx271 divide 1 0.9e999999999  -> 1.11111111E-999999999 Inexact Rounded
+divx272 divide 1 0.99e999999999 -> 1.01010101E-999999999 Inexact Rounded
+divx273 divide 1 0.999999999e999999999 -> 1.00000000E-999999999 Inexact Rounded
+divx274 divide 9e999999999    1 -> 9E+999999999
+divx275 divide 9.9e999999999  1 -> 9.9E+999999999
+divx276 divide 9.99e999999999 1 -> 9.99E+999999999
+divx277 divide 9.99999999e999999999 1 -> 9.99999999E+999999999
+
+divx280 divide 0.1 9e-999999999   -> 1.11111111E+999999997 Inexact Rounded
+divx281 divide 0.1 99e-999999999  -> 1.01010101E+999999996 Inexact Rounded
+divx282 divide 0.1 999e-999999999 -> 1.00100100E+999999995 Inexact Rounded
+
+divx283 divide 0.1 9e-999999998     -> 1.11111111E+999999996 Inexact Rounded
+divx284 divide 0.1 99e-999999998    -> 1.01010101E+999999995 Inexact Rounded
+divx285 divide 0.1 999e-999999998   -> 1.00100100E+999999994 Inexact Rounded
+divx286 divide 0.1 999e-999999997   -> 1.00100100E+999999993 Inexact Rounded
+divx287 divide 0.1 9999e-999999997  -> 1.00010001E+999999992 Inexact Rounded
+divx288 divide 0.1 99999e-999999997 -> 1.00001000E+999999991 Inexact Rounded
+
+-- Divide into 0 tests
+
+divx301 divide    0    7     -> 0
+divx302 divide    0    7E-5  -> 0E+5
+divx303 divide    0    7E-1  -> 0E+1
+divx304 divide    0    7E+1  -> 0.0
+divx305 divide    0    7E+5  -> 0.00000
+divx306 divide    0    7E+6  -> 0.000000
+divx307 divide    0    7E+7  -> 0E-7
+divx308 divide    0   70E-5  -> 0E+5
+divx309 divide    0   70E-1  -> 0E+1
+divx310 divide    0   70E+0  -> 0
+divx311 divide    0   70E+1  -> 0.0
+divx312 divide    0   70E+5  -> 0.00000
+divx313 divide    0   70E+6  -> 0.000000
+divx314 divide    0   70E+7  -> 0E-7
+divx315 divide    0  700E-5  -> 0E+5
+divx316 divide    0  700E-1  -> 0E+1
+divx317 divide    0  700E+0  -> 0
+divx318 divide    0  700E+1  -> 0.0
+divx319 divide    0  700E+5  -> 0.00000
+divx320 divide    0  700E+6  -> 0.000000
+divx321 divide    0  700E+7  -> 0E-7
+divx322 divide    0  700E+77 -> 0E-77
+
+divx331 divide 0E-3    7E-5  -> 0E+2
+divx332 divide 0E-3    7E-1  -> 0.00
+divx333 divide 0E-3    7E+1  -> 0.0000
+divx334 divide 0E-3    7E+5  -> 0E-8
+divx335 divide 0E-1    7E-5  -> 0E+4
+divx336 divide 0E-1    7E-1  -> 0
+divx337 divide 0E-1    7E+1  -> 0.00
+divx338 divide 0E-1    7E+5  -> 0.000000
+divx339 divide 0E+1    7E-5  -> 0E+6
+divx340 divide 0E+1    7E-1  -> 0E+2
+divx341 divide 0E+1    7E+1  -> 0
+divx342 divide 0E+1    7E+5  -> 0.0000
+divx343 divide 0E+3    7E-5  -> 0E+8
+divx344 divide 0E+3    7E-1  -> 0E+4
+divx345 divide 0E+3    7E+1  -> 0E+2
+divx346 divide 0E+3    7E+5  -> 0.00
+
+maxexponent: 92
+minexponent: -92
+precision:    7
+divx351 divide 0E-92   7E-1  -> 0E-91
+divx352 divide 0E-92   7E+1  -> 0E-93
+divx353 divide 0E-92   7E+5  -> 0E-97
+divx354 divide 0E-92   7E+6  -> 0E-98
+divx355 divide 0E-92   7E+7  -> 0E-98 Clamped
+divx356 divide 0E-92 777E-1  -> 0E-91
+divx357 divide 0E-92 777E+1  -> 0E-93
+divx358 divide 0E-92 777E+3  -> 0E-95
+divx359 divide 0E-92 777E+4  -> 0E-96
+divx360 divide 0E-92 777E+5  -> 0E-97
+divx361 divide 0E-92 777E+6  -> 0E-98
+divx362 divide 0E-92 777E+7  -> 0E-98 Clamped
+divx363 divide 0E-92   7E+92 -> 0E-98 Clamped
+
+divx371 divide 0E-92 700E-1  -> 0E-91
+divx372 divide 0E-92 700E+1  -> 0E-93
+divx373 divide 0E-92 700E+3  -> 0E-95
+divx374 divide 0E-92 700E+4  -> 0E-96
+divx375 divide 0E-92 700E+5  -> 0E-97
+divx376 divide 0E-92 700E+6  -> 0E-98
+divx377 divide 0E-92 700E+7  -> 0E-98 Clamped
+
+divx381 divide 0E+92   7E+1  -> 0E+91
+divx382 divide 0E+92   7E+0  -> 0E+92
+divx383 divide 0E+92   7E-1  -> 0E+92 Clamped
+divx384 divide 0E+90 777E+1  -> 0E+89
+divx385 divide 0E+90 777E-1  -> 0E+91
+divx386 divide 0E+90 777E-2  -> 0E+92
+divx387 divide 0E+90 777E-3  -> 0E+92 Clamped
+divx388 divide 0E+90 777E-4  -> 0E+92 Clamped
+
+divx391 divide 0E+90 700E+1  -> 0E+89
+divx392 divide 0E+90 700E-1  -> 0E+91
+divx393 divide 0E+90 700E-2  -> 0E+92
+divx394 divide 0E+90 700E-3  -> 0E+92 Clamped
+divx395 divide 0E+90 700E-4  -> 0E+92 Clamped
+
+-- input rounding checks
+maxexponent: 999
+minexponent: -999
+precision: 9
+divx401 divide 12345678000 1 -> 1.23456780E+10 Rounded
+divx402 divide 1 12345678000 -> 8.10000066E-11 Inexact Rounded
+divx403 divide 1234567800  1 -> 1.23456780E+9  Rounded
+divx404 divide 1 1234567800  -> 8.10000066E-10 Inexact Rounded
+divx405 divide 1234567890  1 -> 1.23456789E+9  Rounded
+divx406 divide 1 1234567890  -> 8.10000007E-10 Inexact Rounded
+divx407 divide 1234567891  1 -> 1.23456789E+9  Inexact Rounded
+divx408 divide 1 1234567891  -> 8.10000007E-10 Inexact Rounded
+divx409 divide 12345678901 1 -> 1.23456789E+10 Inexact Rounded
+divx410 divide 1 12345678901 -> 8.10000007E-11 Inexact Rounded
+divx411 divide 1234567896  1 -> 1.23456790E+9  Inexact Rounded
+divx412 divide 1 1234567896  -> 8.10000003E-10 Inexact Rounded
+divx413 divide 1 1234567897  -> 8.10000003E-10 Inexact Rounded
+divx414 divide 1 1234567898  -> 8.10000002E-10 Inexact Rounded
+divx415 divide 1 1234567899  -> 8.10000001E-10 Inexact Rounded
+divx416 divide 1 1234567900  -> 8.10000001E-10 Inexact Rounded
+divx417 divide 1 1234567901  -> 8.10000000E-10 Inexact Rounded
+divx418 divide 1 1234567902  -> 8.09999999E-10 Inexact Rounded
+-- some longies
+divx421 divide 1234567896.000000000000  1 -> 1.23456790E+9  Inexact Rounded
+divx422 divide 1 1234567896.000000000000  -> 8.10000003E-10 Inexact Rounded
+divx423 divide 1234567896.000000000001  1 -> 1.23456790E+9  Inexact Rounded
+divx424 divide 1 1234567896.000000000001  -> 8.10000003E-10 Inexact Rounded
+divx425 divide 1234567896.000000000000000000000000000000000000000009  1 -> 1.23456790E+9  Inexact Rounded
+divx426 divide 1 1234567896.000000000000000000000000000000000000000009  -> 8.10000003E-10 Inexact Rounded
+divx427 divide 1234567897.900010000000000000000000000000000000000009  1 -> 1.23456790E+9  Inexact Rounded
+divx428 divide 1 1234567897.900010000000000000000000000000000000000009  -> 8.10000002E-10 Inexact Rounded
+
+precision: 15
+-- still checking...
+divx441 divide 12345678000 1 -> 12345678000
+divx442 divide 1 12345678000 -> 8.10000066420005E-11 Inexact Rounded
+divx443 divide 1234567800  1 -> 1234567800
+divx444 divide 1 1234567800  -> 8.10000066420005E-10 Inexact Rounded
+divx445 divide 1234567890  1 -> 1234567890
+divx446 divide 1 1234567890  -> 8.10000007371000E-10 Inexact Rounded
+divx447 divide 1234567891  1 -> 1234567891
+divx448 divide 1 1234567891  -> 8.10000006714900E-10 Inexact Rounded
+divx449 divide 12345678901 1 -> 12345678901
+divx450 divide 1 12345678901 -> 8.10000007305390E-11 Inexact Rounded
+divx451 divide 1234567896  1 -> 1234567896
+divx452 divide 1 1234567896  -> 8.10000003434400E-10 Inexact Rounded
+
+-- high-lows
+divx453 divide 1e+1   1    ->   1E+1
+divx454 divide 1e+1   1.0  ->   1E+1
+divx455 divide 1e+1   1.00 ->   1E+1
+divx456 divide 1e+2   2    ->   5E+1
+divx457 divide 1e+2   2.0  ->   5E+1
+divx458 divide 1e+2   2.00 ->   5E+1
+
+-- some from IEEE discussions
+divx460 divide 3e0      2e0     -> 1.5
+divx461 divide 30e-1    2e0     -> 1.5
+divx462 divide 300e-2   2e0     -> 1.50
+divx464 divide 3000e-3  2e0     -> 1.500
+divx465 divide 3e0      20e-1   -> 1.5
+divx466 divide 30e-1    20e-1   -> 1.5
+divx467 divide 300e-2   20e-1   -> 1.5
+divx468 divide 3000e-3  20e-1   -> 1.50
+divx469 divide 3e0      200e-2  -> 1.5
+divx470 divide 30e-1    200e-2  -> 1.5
+divx471 divide 300e-2   200e-2  -> 1.5
+divx472 divide 3000e-3  200e-2  -> 1.5
+divx473 divide 3e0      2000e-3 -> 1.5
+divx474 divide 30e-1    2000e-3 -> 1.5
+divx475 divide 300e-2   2000e-3 -> 1.5
+divx476 divide 3000e-3  2000e-3 -> 1.5
+
+-- some reciprocals
+divx480 divide 1        1.0E+33 -> 1E-33
+divx481 divide 1        10E+33  -> 1E-34
+divx482 divide 1        1.0E-33 -> 1E+33
+divx483 divide 1        10E-33  -> 1E+32
+
+-- RMS discussion table
+maxexponent:  96
+minexponent: -95
+precision:     7
+
+divx484 divide 0e5     1e3 ->   0E+2
+divx485 divide 0e5     2e3 ->   0E+2
+divx486 divide 0e5    10e2 ->   0E+3
+divx487 divide 0e5    20e2 ->   0E+3
+divx488 divide 0e5   100e1 ->   0E+4
+divx489 divide 0e5   200e1 ->   0E+4
+
+divx491 divide 1e5     1e3 ->   1E+2
+divx492 divide 1e5     2e3 ->   5E+1
+divx493 divide 1e5    10e2 ->   1E+2
+divx494 divide 1e5    20e2 ->   5E+1
+divx495 divide 1e5   100e1 ->   1E+2
+divx496 divide 1e5   200e1 ->   5E+1
+
+-- tryzeros cases
+precision:   7
+rounding:    half_up
+maxExponent: 92
+minexponent: -92
+divx497  divide  0E+86 1000E-13  -> 0E+92 Clamped
+divx498  divide  0E-98 1000E+13  -> 0E-98 Clamped
+
+precision:   9
+rounding:    half_up
+maxExponent: 999
+minexponent: -999
+
+-- focus on trailing zeros issues
+precision:   9
+divx500 divide  1      9.9    ->  0.101010101  Inexact Rounded
+precision:   8
+divx501 divide  1      9.9    ->  0.10101010   Inexact Rounded
+precision:   7
+divx502 divide  1      9.9    ->  0.1010101    Inexact Rounded
+precision:   6
+divx503 divide  1      9.9    ->  0.101010     Inexact Rounded
+precision:   9
+
+divx511 divide 1         2    -> 0.5
+divx512 divide 1.0       2    -> 0.5
+divx513 divide 1.00      2    -> 0.50
+divx514 divide 1.000     2    -> 0.500
+divx515 divide 1.0000    2    -> 0.5000
+divx516 divide 1.00000   2    -> 0.50000
+divx517 divide 1.000000  2    -> 0.500000
+divx518 divide 1.0000000 2    -> 0.5000000
+divx519 divide 1.00      2.00 -> 0.5
+
+divx521 divide 2    1         -> 2
+divx522 divide 2    1.0       -> 2
+divx523 divide 2    1.00      -> 2
+divx524 divide 2    1.000     -> 2
+divx525 divide 2    1.0000    -> 2
+divx526 divide 2    1.00000   -> 2
+divx527 divide 2    1.000000  -> 2
+divx528 divide 2    1.0000000 -> 2
+divx529 divide 2.00 1.00      -> 2
+
+divx530 divide  2.40   2      ->  1.20
+divx531 divide  2.40   4      ->  0.60
+divx532 divide  2.40  10      ->  0.24
+divx533 divide  2.40   2.0    ->  1.2
+divx534 divide  2.40   4.0    ->  0.6
+divx535 divide  2.40  10.0    ->  0.24
+divx536 divide  2.40   2.00   ->  1.2
+divx537 divide  2.40   4.00   ->  0.6
+divx538 divide  2.40  10.00   ->  0.24
+divx539 divide  0.9    0.1    ->  9
+divx540 divide  0.9    0.01   ->  9E+1
+divx541 divide  0.9    0.001  ->  9E+2
+divx542 divide  5      2      ->  2.5
+divx543 divide  5      2.0    ->  2.5
+divx544 divide  5      2.00   ->  2.5
+divx545 divide  5      20     ->  0.25
+divx546 divide  5      20.0   ->  0.25
+divx547 divide  2.400  2      ->  1.200
+divx548 divide  2.400  2.0    ->  1.20
+divx549 divide  2.400  2.400  ->  1
+
+divx550 divide  240    1      ->  240
+divx551 divide  240    10     ->  24
+divx552 divide  240    100    ->  2.4
+divx553 divide  240    1000   ->  0.24
+divx554 divide  2400   1      ->  2400
+divx555 divide  2400   10     ->  240
+divx556 divide  2400   100    ->  24
+divx557 divide  2400   1000   ->  2.4
+
+-- +ve exponent
+precision: 5
+divx570 divide  2.4E+6     2  ->  1.2E+6
+divx571 divide  2.40E+6    2  ->  1.20E+6
+divx572 divide  2.400E+6   2  ->  1.200E+6
+divx573 divide  2.4000E+6  2  ->  1.2000E+6
+divx574 divide  24E+5      2  ->  1.2E+6
+divx575 divide  240E+4     2  ->  1.20E+6
+divx576 divide  2400E+3    2  ->  1.200E+6
+divx577 divide  24000E+2   2  ->  1.2000E+6
+precision: 6
+divx580 divide  2.4E+6     2  ->  1.2E+6
+divx581 divide  2.40E+6    2  ->  1.20E+6
+divx582 divide  2.400E+6   2  ->  1.200E+6
+divx583 divide  2.4000E+6  2  ->  1.2000E+6
+divx584 divide  24E+5      2  ->  1.2E+6
+divx585 divide  240E+4     2  ->  1.20E+6
+divx586 divide  2400E+3    2  ->  1.200E+6
+divx587 divide  24000E+2   2  ->  1.2000E+6
+precision: 7
+divx590 divide  2.4E+6     2  ->  1.2E+6
+divx591 divide  2.40E+6    2  ->  1.20E+6
+divx592 divide  2.400E+6   2  ->  1.200E+6
+divx593 divide  2.4000E+6  2  ->  1.2000E+6
+divx594 divide  24E+5      2  ->  1.2E+6
+divx595 divide  240E+4     2  ->  1.20E+6
+divx596 divide  2400E+3    2  ->  1.200E+6
+divx597 divide  24000E+2   2  ->  1.2000E+6
+precision:   9
+divx600 divide  2.4E+9     2  ->  1.2E+9
+divx601 divide  2.40E+9    2  ->  1.20E+9
+divx602 divide  2.400E+9   2  ->  1.200E+9
+divx603 divide  2.4000E+9  2  ->  1.2000E+9
+divx604 divide  24E+8      2  ->  1.2E+9
+divx605 divide  240E+7     2  ->  1.20E+9
+divx606 divide  2400E+6    2  ->  1.200E+9
+divx607 divide  24000E+5   2  ->  1.2000E+9
+
+-- long operand triangle
+precision: 33
+divx610 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.8131097703792 Inexact Rounded
+precision: 32
+divx611 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.813109770379  Inexact Rounded
+precision: 31
+divx612 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.81310977038   Inexact Rounded
+precision: 30
+divx613 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.8131097704    Inexact Rounded
+precision: 29
+divx614 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.813109770     Inexact Rounded
+precision: 28
+divx615 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.81310977      Inexact Rounded
+precision: 27
+divx616 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.8131098       Inexact Rounded
+precision: 26
+divx617 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.813110        Inexact Rounded
+precision: 25
+divx618 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.81311         Inexact Rounded
+precision: 24
+divx619 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.8131          Inexact Rounded
+precision: 23
+divx620 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.813           Inexact Rounded
+precision: 22
+divx621 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.81            Inexact Rounded
+precision: 21
+divx622 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.8             Inexact Rounded
+precision: 20
+divx623 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817798               Inexact Rounded
+precision: 19
+divx624 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.101140888379681780E+19         Inexact Rounded
+precision: 18
+divx625 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.10114088837968178E+19         Inexact Rounded
+precision: 17
+divx626 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.1011408883796818E+19         Inexact Rounded
+precision: 16
+divx627 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.101140888379682E+19         Inexact Rounded
+precision: 15
+divx628 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.10114088837968E+19         Inexact Rounded
+precision: 14
+divx629 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.1011408883797E+19         Inexact Rounded
+precision: 13
+divx630 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.101140888380E+19         Inexact Rounded
+precision: 12
+divx631 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.10114088838E+19         Inexact Rounded
+precision: 11
+divx632 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.1011408884E+19         Inexact Rounded
+precision: 10
+divx633 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.101140888E+19         Inexact Rounded
+precision:  9
+divx634 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.10114089E+19         Inexact Rounded
+precision:  8
+divx635 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.1011409E+19         Inexact Rounded
+precision:  7
+divx636 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.101141E+19         Inexact Rounded
+precision:  6
+divx637 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.10114E+19         Inexact Rounded
+precision:  5
+divx638 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.1011E+19         Inexact Rounded
+precision:  4
+divx639 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.101E+19         Inexact Rounded
+precision:  3
+divx640 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.10E+19         Inexact Rounded
+precision:  2
+divx641 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.1E+19         Inexact Rounded
+precision:  1
+divx642 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4E+19         Inexact Rounded
+
+-- more zeros, etc.
+precision:   16
+rounding:    half_up
+maxExponent: 384
+minExponent: -383
+
+divx731 divide 5.00 1E-3    -> 5.00E+3
+divx732 divide 00.00 0.000  -> NaN Division_undefined
+divx733 divide 00.00 0E-3   -> NaN Division_undefined
+divx734 divide  0    -0     -> NaN Division_undefined
+divx735 divide -0     0     -> NaN Division_undefined
+divx736 divide -0    -0     -> NaN Division_undefined
+
+divx741 divide  0    -1     -> -0
+divx742 divide -0    -1     ->  0
+divx743 divide  0     1     ->  0
+divx744 divide -0     1     -> -0
+divx745 divide -1     0     -> -Infinity Division_by_zero
+divx746 divide -1    -0     ->  Infinity Division_by_zero
+divx747 divide  1     0     ->  Infinity Division_by_zero
+divx748 divide  1    -0     -> -Infinity Division_by_zero
+
+divx751 divide  0.0  -1     -> -0.0
+divx752 divide -0.0  -1     ->  0.0
+divx753 divide  0.0   1     ->  0.0
+divx754 divide -0.0   1     -> -0.0
+divx755 divide -1.0   0     -> -Infinity Division_by_zero
+divx756 divide -1.0  -0     ->  Infinity Division_by_zero
+divx757 divide  1.0   0     ->  Infinity Division_by_zero
+divx758 divide  1.0  -0     -> -Infinity Division_by_zero
+
+divx761 divide  0    -1.0   -> -0E+1
+divx762 divide -0    -1.0   ->  0E+1
+divx763 divide  0     1.0   ->  0E+1
+divx764 divide -0     1.0   -> -0E+1
+divx765 divide -1     0.0   -> -Infinity Division_by_zero
+divx766 divide -1    -0.0   ->  Infinity Division_by_zero
+divx767 divide  1     0.0   ->  Infinity Division_by_zero
+divx768 divide  1    -0.0   -> -Infinity Division_by_zero
+
+divx771 divide  0.0  -1.0   -> -0
+divx772 divide -0.0  -1.0   ->  0
+divx773 divide  0.0   1.0   ->  0
+divx774 divide -0.0   1.0   -> -0
+divx775 divide -1.0   0.0   -> -Infinity Division_by_zero
+divx776 divide -1.0  -0.0   ->  Infinity Division_by_zero
+divx777 divide  1.0   0.0   ->  Infinity Division_by_zero
+divx778 divide  1.0  -0.0   -> -Infinity Division_by_zero
+
+-- Specials
+divx780 divide  Inf  -Inf   ->  NaN Invalid_operation
+divx781 divide  Inf  -1000  -> -Infinity
+divx782 divide  Inf  -1     -> -Infinity
+divx783 divide  Inf  -0     -> -Infinity
+divx784 divide  Inf   0     ->  Infinity
+divx785 divide  Inf   1     ->  Infinity
+divx786 divide  Inf   1000  ->  Infinity
+divx787 divide  Inf   Inf   ->  NaN Invalid_operation
+divx788 divide -1000  Inf   -> -0E-398 Clamped
+divx789 divide -Inf   Inf   ->  NaN Invalid_operation
+divx790 divide -1     Inf   -> -0E-398 Clamped
+divx791 divide -0     Inf   -> -0E-398 Clamped
+divx792 divide  0     Inf   ->  0E-398 Clamped
+divx793 divide  1     Inf   ->  0E-398 Clamped
+divx794 divide  1000  Inf   ->  0E-398 Clamped
+divx795 divide  Inf   Inf   ->  NaN Invalid_operation
+
+divx800 divide -Inf  -Inf   ->  NaN Invalid_operation
+divx801 divide -Inf  -1000  ->  Infinity
+divx802 divide -Inf  -1     ->  Infinity
+divx803 divide -Inf  -0     ->  Infinity
+divx804 divide -Inf   0     -> -Infinity
+divx805 divide -Inf   1     -> -Infinity
+divx806 divide -Inf   1000  -> -Infinity
+divx807 divide -Inf   Inf   ->  NaN Invalid_operation
+divx808 divide -1000  Inf   -> -0E-398 Clamped
+divx809 divide -Inf  -Inf   ->  NaN Invalid_operation
+divx810 divide -1    -Inf   ->  0E-398 Clamped
+divx811 divide -0    -Inf   ->  0E-398 Clamped
+divx812 divide  0    -Inf   -> -0E-398 Clamped
+divx813 divide  1    -Inf   -> -0E-398 Clamped
+divx814 divide  1000 -Inf   -> -0E-398 Clamped
+divx815 divide  Inf  -Inf   ->  NaN Invalid_operation
+
+divx821 divide  NaN -Inf    ->  NaN
+divx822 divide  NaN -1000   ->  NaN
+divx823 divide  NaN -1      ->  NaN
+divx824 divide  NaN -0      ->  NaN
+divx825 divide  NaN  0      ->  NaN
+divx826 divide  NaN  1      ->  NaN
+divx827 divide  NaN  1000   ->  NaN
+divx828 divide  NaN  Inf    ->  NaN
+divx829 divide  NaN  NaN    ->  NaN
+divx830 divide -Inf  NaN    ->  NaN
+divx831 divide -1000 NaN    ->  NaN
+divx832 divide -1    NaN    ->  NaN
+divx833 divide -0    NaN    ->  NaN
+divx834 divide  0    NaN    ->  NaN
+divx835 divide  1    NaN    ->  NaN
+divx836 divide  1000 NaN    ->  NaN
+divx837 divide  Inf  NaN    ->  NaN
+
+divx841 divide  sNaN -Inf   ->  NaN  Invalid_operation
+divx842 divide  sNaN -1000  ->  NaN  Invalid_operation
+divx843 divide  sNaN -1     ->  NaN  Invalid_operation
+divx844 divide  sNaN -0     ->  NaN  Invalid_operation
+divx845 divide  sNaN  0     ->  NaN  Invalid_operation
+divx846 divide  sNaN  1     ->  NaN  Invalid_operation
+divx847 divide  sNaN  1000  ->  NaN  Invalid_operation
+divx848 divide  sNaN  NaN   ->  NaN  Invalid_operation
+divx849 divide  sNaN sNaN   ->  NaN  Invalid_operation
+divx850 divide  NaN  sNaN   ->  NaN  Invalid_operation
+divx851 divide -Inf  sNaN   ->  NaN  Invalid_operation
+divx852 divide -1000 sNaN   ->  NaN  Invalid_operation
+divx853 divide -1    sNaN   ->  NaN  Invalid_operation
+divx854 divide -0    sNaN   ->  NaN  Invalid_operation
+divx855 divide  0    sNaN   ->  NaN  Invalid_operation
+divx856 divide  1    sNaN   ->  NaN  Invalid_operation
+divx857 divide  1000 sNaN   ->  NaN  Invalid_operation
+divx858 divide  Inf  sNaN   ->  NaN  Invalid_operation
+divx859 divide  NaN  sNaN   ->  NaN  Invalid_operation
+
+-- propagating NaNs
+divx861 divide  NaN9 -Inf   ->  NaN9
+divx862 divide  NaN8  1000  ->  NaN8
+divx863 divide  NaN7  Inf   ->  NaN7
+divx864 divide  NaN6  NaN5  ->  NaN6
+divx865 divide -Inf   NaN4  ->  NaN4
+divx866 divide -1000  NaN3  ->  NaN3
+divx867 divide  Inf   NaN2  ->  NaN2
+
+divx871 divide  sNaN99 -Inf    ->  NaN99 Invalid_operation
+divx872 divide  sNaN98 -1      ->  NaN98 Invalid_operation
+divx873 divide  sNaN97  NaN    ->  NaN97 Invalid_operation
+divx874 divide  sNaN96 sNaN94  ->  NaN96 Invalid_operation
+divx875 divide  NaN95  sNaN93  ->  NaN93 Invalid_operation
+divx876 divide -Inf    sNaN92  ->  NaN92 Invalid_operation
+divx877 divide  0      sNaN91  ->  NaN91 Invalid_operation
+divx878 divide  Inf    sNaN90  ->  NaN90 Invalid_operation
+divx879 divide  NaN    sNaN89  ->  NaN89 Invalid_operation
+
+divx881 divide  -NaN9  -Inf   ->  -NaN9
+divx882 divide  -NaN8   1000  ->  -NaN8
+divx883 divide  -NaN7   Inf   ->  -NaN7
+divx884 divide  -NaN6  -NaN5  ->  -NaN6
+divx885 divide  -Inf   -NaN4  ->  -NaN4
+divx886 divide  -1000  -NaN3  ->  -NaN3
+divx887 divide   Inf   -NaN2  ->  -NaN2
+
+divx891 divide -sNaN99 -Inf    -> -NaN99 Invalid_operation
+divx892 divide -sNaN98 -1      -> -NaN98 Invalid_operation
+divx893 divide -sNaN97  NaN    -> -NaN97 Invalid_operation
+divx894 divide -sNaN96 -sNaN94 -> -NaN96 Invalid_operation
+divx895 divide -NaN95  -sNaN93 -> -NaN93 Invalid_operation
+divx896 divide -Inf    -sNaN92 -> -NaN92 Invalid_operation
+divx897 divide  0      -sNaN91 -> -NaN91 Invalid_operation
+divx898 divide  Inf    -sNaN90 -> -NaN90 Invalid_operation
+divx899 divide -NaN    -sNaN89 -> -NaN89 Invalid_operation
+
+maxexponent: 999999999
+minexponent: -999999999
+
+-- Various flavours of divide by 0
+divx901 divide    0       0   ->  NaN Division_undefined
+divx902 divide    0.0E5   0   ->  NaN Division_undefined
+divx903 divide    0.000   0   ->  NaN Division_undefined
+divx904 divide    0.0001  0   ->  Infinity Division_by_zero
+divx905 divide    0.01    0   ->  Infinity Division_by_zero
+divx906 divide    0.1     0   ->  Infinity Division_by_zero
+divx907 divide    1       0   ->  Infinity Division_by_zero
+divx908 divide    1       0.0 ->  Infinity Division_by_zero
+divx909 divide   10       0.0 ->  Infinity Division_by_zero
+divx910 divide   1E+100   0.0 ->  Infinity Division_by_zero
+divx911 divide   1E+1000  0   ->  Infinity Division_by_zero
+
+divx921 divide   -0.0001  0   -> -Infinity Division_by_zero
+divx922 divide   -0.01    0   -> -Infinity Division_by_zero
+divx923 divide   -0.1     0   -> -Infinity Division_by_zero
+divx924 divide   -1       0   -> -Infinity Division_by_zero
+divx925 divide   -1       0.0 -> -Infinity Division_by_zero
+divx926 divide  -10       0.0 -> -Infinity Division_by_zero
+divx927 divide  -1E+100   0.0 -> -Infinity Division_by_zero
+divx928 divide  -1E+1000  0   -> -Infinity Division_by_zero
+
+divx931 divide    0.0001 -0   -> -Infinity Division_by_zero
+divx932 divide    0.01   -0   -> -Infinity Division_by_zero
+divx933 divide    0.1    -0   -> -Infinity Division_by_zero
+divx934 divide    1      -0   -> -Infinity Division_by_zero
+divx935 divide    1      -0.0 -> -Infinity Division_by_zero
+divx936 divide   10      -0.0 -> -Infinity Division_by_zero
+divx937 divide   1E+100  -0.0 -> -Infinity Division_by_zero
+divx938 divide   1E+1000 -0   -> -Infinity Division_by_zero
+
+divx941 divide   -0.0001 -0   ->  Infinity Division_by_zero
+divx942 divide   -0.01   -0   ->  Infinity Division_by_zero
+divx943 divide   -0.1    -0   ->  Infinity Division_by_zero
+divx944 divide   -1      -0   ->  Infinity Division_by_zero
+divx945 divide   -1      -0.0 ->  Infinity Division_by_zero
+divx946 divide  -10      -0.0 ->  Infinity Division_by_zero
+divx947 divide  -1E+100  -0.0 ->  Infinity Division_by_zero
+divx948 divide  -1E+1000 -0   ->  Infinity Division_by_zero
+
+-- overflow and underflow tests
+precision: 9
+maxexponent: 999999999
+minexponent: -999999999
+divx951 divide 9E+999999999 +0.23456789012345E-0 -> Infinity Inexact Overflow Rounded
+divx952 divide +0.100 9E+999999999 -> 1.111111E-1000000001 Inexact Rounded Underflow Subnormal
+divx953 divide 9E-999999999 +9.100 -> 9.8901099E-1000000000 Inexact Rounded Underflow Subnormal
+divx954 divide -1.23456789          9E+999999999 -> -1.3717421E-1000000000 Subnormal
+divx955 divide -1.23456789012345E-0 9E+999999999 -> -1.3717421E-1000000000 Underflow Subnormal Rounded Inexact
+divx956 divide -1.23456789012345E-0 7E+999999999 -> -1.7636684E-1000000000 Inexact Rounded Underflow Subnormal
+divx957 divide 9E+999999999 -0.83456789012345E-0 -> -Infinity Inexact Overflow Rounded
+divx958 divide -0.100 9E+999999999 -> -1.111111E-1000000001 Subnormal Inexact Rounded Underflow
+divx959 divide 9E-999999999 -9.100 -> -9.8901099E-1000000000 Inexact Rounded Underflow Subnormal
+
+-- overflow and underflow (additional edge tests in multiply.decTest)
+-- 'subnormal' results now possible (all hard underflow or overflow in
+-- base arithemtic)
+divx960 divide 1e-600000000 1e+400000001 -> 1E-1000000001 Subnormal
+divx961 divide 1e-600000000 1e+400000002 -> 1E-1000000002 Subnormal
+divx962 divide 1e-600000000 1e+400000003 -> 1E-1000000003 Subnormal
+divx963 divide 1e-600000000 1e+400000004 -> 1E-1000000004 Subnormal
+divx964 divide 1e-600000000 1e+400000005 -> 1E-1000000005 Subnormal
+divx965 divide 1e-600000000 1e+400000006 -> 1E-1000000006 Subnormal
+divx966 divide 1e-600000000 1e+400000007 -> 1E-1000000007 Subnormal
+divx967 divide 1e-600000000 1e+400000008 -> 0E-1000000007 Underflow Subnormal Inexact Rounded
+divx968 divide 1e-600000000 1e+400000009 -> 0E-1000000007 Underflow Subnormal Inexact Rounded
+divx969 divide 1e-600000000 1e+400000010 -> 0E-1000000007 Underflow Subnormal Inexact Rounded
+-- [no equivalent of 'subnormal' for overflow]
+divx970 divide 1e+600000000 1e-400000001 -> Infinity Overflow Inexact Rounded
+divx971 divide 1e+600000000 1e-400000002 -> Infinity Overflow Inexact Rounded
+divx972 divide 1e+600000000 1e-400000003 -> Infinity Overflow Inexact Rounded
+divx973 divide 1e+600000000 1e-400000004 -> Infinity Overflow Inexact Rounded
+divx974 divide 1e+600000000 1e-400000005 -> Infinity Overflow Inexact Rounded
+divx975 divide 1e+600000000 1e-400000006 -> Infinity Overflow Inexact Rounded
+divx976 divide 1e+600000000 1e-400000007 -> Infinity Overflow Inexact Rounded
+divx977 divide 1e+600000000 1e-400000008 -> Infinity Overflow Inexact Rounded
+divx978 divide 1e+600000000 1e-400000009 -> Infinity Overflow Inexact Rounded
+divx979 divide 1e+600000000 1e-400000010 -> Infinity Overflow Inexact Rounded
+
+-- Sign after overflow and underflow
+divx980 divide  1e-600000000  1e+400000009 ->  0E-1000000007 Underflow Subnormal Inexact Rounded
+divx981 divide  1e-600000000 -1e+400000009 -> -0E-1000000007 Underflow Subnormal Inexact Rounded
+divx982 divide -1e-600000000  1e+400000009 -> -0E-1000000007 Underflow Subnormal Inexact Rounded
+divx983 divide -1e-600000000 -1e+400000009 ->  0E-1000000007 Underflow Subnormal Inexact Rounded
+divx984 divide  1e+600000000  1e-400000009 ->  Infinity Overflow Inexact Rounded
+divx985 divide  1e+600000000 -1e-400000009 -> -Infinity Overflow Inexact Rounded
+divx986 divide -1e+600000000  1e-400000009 -> -Infinity Overflow Inexact Rounded
+divx987 divide -1e+600000000 -1e-400000009 ->  Infinity Overflow Inexact Rounded
+
+-- Long operand overflow may be a different path
+precision: 3
+divx990 divide 1000  9.999E-999999999      ->  Infinity Inexact Overflow Rounded
+divx991 divide 1000 -9.999E-999999999      -> -Infinity Inexact Overflow Rounded
+divx992 divide       9.999E+999999999 0.01 ->  Infinity Inexact Overflow Rounded
+divx993 divide      -9.999E+999999999 0.01 -> -Infinity Inexact Overflow Rounded
+
+-- check for double-rounded subnormals
+precision:   5
+maxexponent: 79
+minexponent: -79
+divx1001 divide    1.52444E-80 1      -> 1.524E-80 Inexact Rounded Subnormal Underflow
+divx1002 divide    1.52445E-80 1      -> 1.524E-80 Inexact Rounded Subnormal Underflow
+divx1003 divide    1.52446E-80 1      -> 1.524E-80 Inexact Rounded Subnormal Underflow
+
+-- a rounding problem in one implementation
+precision:   34
+rounding:    half_up
+maxExponent: 6144
+minExponent: -6143
+-- Unbounded answer to 40 digits:
+--   1.465811965811965811965811965811965811966E+7000
+divx1010 divide 343E6000  234E-1000 -> Infinity Overflow Inexact Rounded
+
+-- Null tests
+divx9998 divide 10  # -> NaN Invalid_operation
+divx9999 divide  # 10 -> NaN Invalid_operation
+

Added: sandbox/trunk/decimal-c/decimaltestdata/divideint.decTest
==============================================================================
--- (empty file)
+++ sandbox/trunk/decimal-c/decimaltestdata/divideint.decTest	Tue May 23 13:34:01 2006
@@ -0,0 +1,470 @@
+------------------------------------------------------------------------
+-- divideint.decTest -- decimal integer division                      --
+-- Copyright (c) IBM Corporation, 1981, 2004.  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 at uk.ibm.com                                                   --
+------------------------------------------------------------------------
+version: 2.39
+
+extended:    1
+precision:   9
+rounding:    half_up
+maxExponent: 384
+minexponent: -383
+
+dvix001 divideint  1     1    ->  1
+dvix002 divideint  2     1    ->  2
+dvix003 divideint  1     2    ->  0
+dvix004 divideint  2     2    ->  1
+dvix005 divideint  0     1    ->  0
+dvix006 divideint  0     2    ->  0
+dvix007 divideint  1     3    ->  0
+dvix008 divideint  2     3    ->  0
+dvix009 divideint  3     3    ->  1
+
+dvix010 divideint  2.4   1    ->  2
+dvix011 divideint  2.4   -1   ->  -2
+dvix012 divideint  -2.4  1    ->  -2
+dvix013 divideint  -2.4  -1   ->  2
+dvix014 divideint  2.40  1    ->  2
+dvix015 divideint  2.400 1    ->  2
+dvix016 divideint  2.4   2    ->  1
+dvix017 divideint  2.400 2    ->  1
+dvix018 divideint  2.    2    ->  1
+dvix019 divideint  20    20   ->  1
+
+dvix020 divideint  187   187  ->  1
+dvix021 divideint  5     2    ->  2
+dvix022 divideint  5     2.0    ->  2
+dvix023 divideint  5     2.000  ->  2
+dvix024 divideint  5     0.200  ->  25
+dvix025 divideint  5     0.200  ->  25
+
+dvix030 divideint  1     2      ->  0
+dvix031 divideint  1     4      ->  0
+dvix032 divideint  1     8      ->  0
+dvix033 divideint  1     16     ->  0
+dvix034 divideint  1     32     ->  0
+dvix035 divideint  1     64     ->  0
+dvix040 divideint  1    -2      -> -0
+dvix041 divideint  1    -4      -> -0
+dvix042 divideint  1    -8      -> -0
+dvix043 divideint  1    -16     -> -0
+dvix044 divideint  1    -32     -> -0
+dvix045 divideint  1    -64     -> -0
+dvix050 divideint -1     2      -> -0
+dvix051 divideint -1     4      -> -0
+dvix052 divideint -1     8      -> -0
+dvix053 divideint -1     16     -> -0
+dvix054 divideint -1     32     -> -0
+dvix055 divideint -1     64     -> -0
+dvix060 divideint -1    -2      ->  0
+dvix061 divideint -1    -4      ->  0
+dvix062 divideint -1    -8      ->  0
+dvix063 divideint -1    -16     ->  0
+dvix064 divideint -1    -32     ->  0
+dvix065 divideint -1    -64     ->  0
+
+-- similar with powers of ten
+dvix160 divideint  1     1         ->  1
+dvix161 divideint  1     10        ->  0
+dvix162 divideint  1     100       ->  0
+dvix163 divideint  1     1000      ->  0
+dvix164 divideint  1     10000     ->  0
+dvix165 divideint  1     100000    ->  0
+dvix166 divideint  1     1000000   ->  0
+dvix167 divideint  1     10000000  ->  0
+dvix168 divideint  1     100000000 ->  0
+dvix170 divideint  1    -1         -> -1
+dvix171 divideint  1    -10        -> -0
+dvix172 divideint  1    -100       -> -0
+dvix173 divideint  1    -1000      -> -0
+dvix174 divideint  1    -10000     -> -0
+dvix175 divideint  1    -100000    -> -0
+dvix176 divideint  1    -1000000   -> -0
+dvix177 divideint  1    -10000000  -> -0
+dvix178 divideint  1    -100000000 -> -0
+dvix180 divideint -1     1         -> -1
+dvix181 divideint -1     10        -> -0
+dvix182 divideint -1     100       -> -0
+dvix183 divideint -1     1000      -> -0
+dvix184 divideint -1     10000     -> -0
+dvix185 divideint -1     100000    -> -0
+dvix186 divideint -1     1000000   -> -0
+dvix187 divideint -1     10000000  -> -0
+dvix188 divideint -1     100000000 -> -0
+dvix190 divideint -1    -1         ->  1
+dvix191 divideint -1    -10        ->  0
+dvix192 divideint -1    -100       ->  0
+dvix193 divideint -1    -1000      ->  0
+dvix194 divideint -1    -10000     ->  0
+dvix195 divideint -1    -100000    ->  0
+dvix196 divideint -1    -1000000   ->  0
+dvix197 divideint -1    -10000000  ->  0
+dvix198 divideint -1    -100000000 ->  0
+
+-- some long operand cases here
+dvix070 divideint  999999999     1  ->  999999999
+dvix071 divideint  999999999.4   1  ->  999999999
+dvix072 divideint  999999999.5   1  ->  999999999
+dvix073 divideint  999999999.9   1  ->  999999999
+dvix074 divideint  999999999.999 1  ->  999999999
+precision: 6
+dvix080 divideint  999999999     1  ->  NaN Division_impossible
+dvix081 divideint  99999999      1  ->  NaN Division_impossible
+dvix082 divideint  9999999       1  ->  NaN Division_impossible
+dvix083 divideint  999999        1  ->  999999
+dvix084 divideint  99999         1  ->  99999
+dvix085 divideint  9999          1  ->  9999
+dvix086 divideint  999           1  ->  999
+dvix087 divideint  99            1  ->  99
+dvix088 divideint  9             1  ->  9
+
+precision: 9
+dvix090 divideint  0.            1    ->  0
+dvix091 divideint  .0            1    ->  0
+dvix092 divideint  0.00          1    ->  0
+dvix093 divideint  0.00E+9       1    ->  0
+dvix094 divideint  0.0000E-50    1    ->  0
+
+dvix100 divideint  1  1   -> 1
+dvix101 divideint  1  2   -> 0
+dvix102 divideint  1  3   -> 0
+dvix103 divideint  1  4   -> 0
+dvix104 divideint  1  5   -> 0
+dvix105 divideint  1  6   -> 0
+dvix106 divideint  1  7   -> 0
+dvix107 divideint  1  8   -> 0
+dvix108 divideint  1  9   -> 0
+dvix109 divideint  1  10  -> 0
+dvix110 divideint  1  1   -> 1
+dvix111 divideint  2  1   -> 2
+dvix112 divideint  3  1   -> 3
+dvix113 divideint  4  1   -> 4
+dvix114 divideint  5  1   -> 5
+dvix115 divideint  6  1   -> 6
+dvix116 divideint  7  1   -> 7
+dvix117 divideint  8  1   -> 8
+dvix118 divideint  9  1   -> 9
+dvix119 divideint  10 1   -> 10
+
+-- from DiagBigDecimal
+dvix131 divideint  101.3   1     ->  101
+dvix132 divideint  101.0   1     ->  101
+dvix133 divideint  101.3   3     ->  33
+dvix134 divideint  101.0   3     ->  33
+dvix135 divideint  2.4     1     ->  2
+dvix136 divideint  2.400   1     ->  2
+dvix137 divideint  18      18    ->  1
+dvix138 divideint  1120    1000  ->  1
+dvix139 divideint  2.4     2     ->  1
+dvix140 divideint  2.400   2     ->  1
+dvix141 divideint  0.5     2.000 ->  0
+dvix142 divideint  8.005   7     ->  1
+dvix143 divideint  5       2     ->  2
+dvix144 divideint  0       2     ->  0
+dvix145 divideint  0.00    2     ->  0
+
+-- Others
+dvix150 divideint  12345  4.999  ->  2469
+dvix151 divideint  12345  4.99   ->  2473
+dvix152 divideint  12345  4.9    ->  2519
+dvix153 divideint  12345  5      ->  2469
+dvix154 divideint  12345  5.1    ->  2420
+dvix155 divideint  12345  5.01   ->  2464
+dvix156 divideint  12345  5.001  ->  2468
+dvix157 divideint    101  7.6    ->  13
+
+-- Various flavours of divideint by 0
+maxexponent: 999999999
+minexponent: -999999999
+dvix201 divideint  0      0   -> NaN Division_undefined
+dvix202 divideint  0.0E5  0   -> NaN Division_undefined
+dvix203 divideint  0.000  0   -> NaN Division_undefined
+dvix204 divideint  0.0001 0   -> Infinity Division_by_zero
+dvix205 divideint  0.01   0   -> Infinity Division_by_zero
+dvix206 divideint  0.1    0   -> Infinity Division_by_zero
+dvix207 divideint  1      0   -> Infinity Division_by_zero
+dvix208 divideint  1      0.0 -> Infinity Division_by_zero
+dvix209 divideint 10      0.0 -> Infinity Division_by_zero
+dvix210 divideint 1E+100  0.0 -> Infinity Division_by_zero
+dvix211 divideint 1E+1000 0   -> Infinity Division_by_zero
+dvix214 divideint  -0.0001 0   -> -Infinity Division_by_zero
+dvix215 divideint  -0.01   0   -> -Infinity Division_by_zero
+dvix216 divideint  -0.1    0   -> -Infinity Division_by_zero
+dvix217 divideint  -1      0   -> -Infinity Division_by_zero
+dvix218 divideint  -1      0.0 -> -Infinity Division_by_zero
+dvix219 divideint -10      0.0 -> -Infinity Division_by_zero
+dvix220 divideint -1E+100  0.0 -> -Infinity Division_by_zero
+dvix221 divideint -1E+1000 0   -> -Infinity Division_by_zero
+
+-- test some cases that are close to exponent overflow
+maxexponent: 999999999
+minexponent: -999999999
+dvix270 divideint 1 1e999999999    -> 0
+dvix271 divideint 1 0.9e999999999  -> 0
+dvix272 divideint 1 0.99e999999999 -> 0
+dvix273 divideint 1 0.999999999e999999999 -> 0
+dvix274 divideint 9e999999999    1       -> NaN Division_impossible
+dvix275 divideint 9.9e999999999  1       -> NaN Division_impossible
+dvix276 divideint 9.99e999999999 1       -> NaN Division_impossible
+dvix277 divideint 9.99999999e999999999 1 -> NaN Division_impossible
+
+dvix280 divideint 0.1 9e-999999999       -> NaN Division_impossible
+dvix281 divideint 0.1 99e-999999999      -> NaN Division_impossible
+dvix282 divideint 0.1 999e-999999999     -> NaN Division_impossible
+
+dvix283 divideint 0.1 9e-999999998       -> NaN Division_impossible
+dvix284 divideint 0.1 99e-999999998      -> NaN Division_impossible
+dvix285 divideint 0.1 999e-999999998     -> NaN Division_impossible
+dvix286 divideint 0.1 999e-999999997     -> NaN Division_impossible
+dvix287 divideint 0.1 9999e-999999997    -> NaN Division_impossible
+dvix288 divideint 0.1 99999e-999999997   -> NaN Division_impossible
+
+
+-- overflow and underflow tests [from divide]
+maxexponent: 999999999
+minexponent: -999999999
+dvix330 divideint +1.23456789012345E-0 9E+999999999    -> 0
+dvix331 divideint 9E+999999999 +0.23456789012345E-0 -> NaN Division_impossible
+dvix332 divideint +0.100 9E+999999999    -> 0
+dvix333 divideint 9E-999999999 +9.100    -> 0
+dvix335 divideint -1.23456789012345E-0 9E+999999999    -> -0
+dvix336 divideint 9E+999999999 -0.83456789012345E-0 -> NaN Division_impossible
+dvix337 divideint -0.100 9E+999999999    -> -0
+dvix338 divideint 9E-999999999 -9.100    -> -0
+
+-- long operand checks
+maxexponent: 999
+minexponent: -999
+precision: 9
+dvix401 divideint 12345678000 100 -> 123456780
+dvix402 divideint 1 12345678000   -> 0
+dvix403 divideint 1234567800  10  -> 123456780
+dvix404 divideint 1 1234567800    -> 0
+dvix405 divideint 1234567890  10  -> 123456789
+dvix406 divideint 1 1234567890    -> 0
+dvix407 divideint 1234567891  10  -> 123456789
+dvix408 divideint 1 1234567891    -> 0
+dvix409 divideint 12345678901 100 -> 123456789
+dvix410 divideint 1 12345678901   -> 0
+dvix411 divideint 1234567896  10  -> 123456789
+dvix412 divideint 1 1234567896    -> 0
+dvix413 divideint 12345678948 100 -> 123456789
+dvix414 divideint 12345678949 100 -> 123456789
+dvix415 divideint 12345678950 100 -> 123456789
+dvix416 divideint 12345678951 100 -> 123456789
+dvix417 divideint 12345678999 100 -> 123456789
+
+precision: 15
+dvix441 divideint 12345678000 1 -> 12345678000
+dvix442 divideint 1 12345678000 -> 0
+dvix443 divideint 1234567800  1 -> 1234567800
+dvix444 divideint 1 1234567800  -> 0
+dvix445 divideint 1234567890  1 -> 1234567890
+dvix446 divideint 1 1234567890  -> 0
+dvix447 divideint 1234567891  1 -> 1234567891
+dvix448 divideint 1 1234567891  -> 0
+dvix449 divideint 12345678901 1 -> 12345678901
+dvix450 divideint 1 12345678901 -> 0
+dvix451 divideint 1234567896  1 -> 1234567896
+dvix452 divideint 1 1234567896  -> 0
+
+precision:   9
+rounding:    half_up
+maxExponent: 999
+minexponent: -999
+
+-- more zeros, etc.
+dvix531 divideint 5.00 1E-3    -> 5000
+dvix532 divideint 00.00 0.000  -> NaN Division_undefined
+dvix533 divideint 00.00 0E-3   -> NaN Division_undefined
+dvix534 divideint  0    -0     -> NaN Division_undefined
+dvix535 divideint -0     0     -> NaN Division_undefined
+dvix536 divideint -0    -0     -> NaN Division_undefined
+
+dvix541 divideint  0    -1     -> -0
+dvix542 divideint -0    -1     ->  0
+dvix543 divideint  0     1     ->  0
+dvix544 divideint -0     1     -> -0
+dvix545 divideint -1     0     -> -Infinity Division_by_zero
+dvix546 divideint -1    -0     ->  Infinity Division_by_zero
+dvix547 divideint  1     0     ->  Infinity Division_by_zero
+dvix548 divideint  1    -0     -> -Infinity Division_by_zero
+
+dvix551 divideint  0.0  -1     -> -0
+dvix552 divideint -0.0  -1     ->  0
+dvix553 divideint  0.0   1     ->  0
+dvix554 divideint -0.0   1     -> -0
+dvix555 divideint -1.0   0     -> -Infinity Division_by_zero
+dvix556 divideint -1.0  -0     ->  Infinity Division_by_zero
+dvix557 divideint  1.0   0     ->  Infinity Division_by_zero
+dvix558 divideint  1.0  -0     -> -Infinity Division_by_zero
+
+dvix561 divideint  0    -1.0   -> -0
+dvix562 divideint -0    -1.0   ->  0
+dvix563 divideint  0     1.0   ->  0
+dvix564 divideint -0     1.0   -> -0
+dvix565 divideint -1     0.0   -> -Infinity Division_by_zero
+dvix566 divideint -1    -0.0   ->  Infinity Division_by_zero
+dvix567 divideint  1     0.0   ->  Infinity Division_by_zero
+dvix568 divideint  1    -0.0   -> -Infinity Division_by_zero
+
+dvix571 divideint  0.0  -1.0   -> -0
+dvix572 divideint -0.0  -1.0   ->  0
+dvix573 divideint  0.0   1.0   ->  0
+dvix574 divideint -0.0   1.0   -> -0
+dvix575 divideint -1.0   0.0   -> -Infinity Division_by_zero
+dvix576 divideint -1.0  -0.0   ->  Infinity Division_by_zero
+dvix577 divideint  1.0   0.0   ->  Infinity Division_by_zero
+dvix578 divideint  1.0  -0.0   -> -Infinity Division_by_zero
+
+-- Specials
+dvix580 divideint  Inf  -Inf   ->  NaN Invalid_operation
+dvix581 divideint  Inf  -1000  -> -Infinity
+dvix582 divideint  Inf  -1     -> -Infinity
+dvix583 divideint  Inf  -0     -> -Infinity
+dvix584 divideint  Inf   0     ->  Infinity
+dvix585 divideint  Inf   1     ->  Infinity
+dvix586 divideint  Inf   1000  ->  Infinity
+dvix587 divideint  Inf   Inf   ->  NaN Invalid_operation
+dvix588 divideint -1000  Inf   -> -0
+dvix589 divideint -Inf   Inf   ->  NaN Invalid_operation
+dvix590 divideint -1     Inf   -> -0
+dvix591 divideint -0     Inf   -> -0
+dvix592 divideint  0     Inf   ->  0
+dvix593 divideint  1     Inf   ->  0
+dvix594 divideint  1000  Inf   ->  0
+dvix595 divideint  Inf   Inf   ->  NaN Invalid_operation
+
+dvix600 divideint -Inf  -Inf   ->  NaN Invalid_operation
+dvix601 divideint -Inf  -1000  ->  Infinity
+dvix602 divideint -Inf  -1     ->  Infinity
+dvix603 divideint -Inf  -0     ->  Infinity
+dvix604 divideint -Inf   0     -> -Infinity
+dvix605 divideint -Inf   1     -> -Infinity
+dvix606 divideint -Inf   1000  -> -Infinity
+dvix607 divideint -Inf   Inf   ->  NaN Invalid_operation
+dvix608 divideint -1000  Inf   -> -0
+dvix609 divideint -Inf  -Inf   ->  NaN Invalid_operation
+dvix610 divideint -1    -Inf   ->  0
+dvix611 divideint -0    -Inf   ->  0
+dvix612 divideint  0    -Inf   -> -0
+dvix613 divideint  1    -Inf   -> -0
+dvix614 divideint  1000 -Inf   -> -0
+dvix615 divideint  Inf  -Inf   ->  NaN Invalid_operation
+
+dvix621 divideint  NaN -Inf    ->  NaN
+dvix622 divideint  NaN -1000   ->  NaN
+dvix623 divideint  NaN -1      ->  NaN
+dvix624 divideint  NaN -0      ->  NaN
+dvix625 divideint  NaN  0      ->  NaN
+dvix626 divideint  NaN  1      ->  NaN
+dvix627 divideint  NaN  1000   ->  NaN
+dvix628 divideint  NaN  Inf    ->  NaN
+dvix629 divideint  NaN  NaN    ->  NaN
+dvix630 divideint -Inf  NaN    ->  NaN
+dvix631 divideint -1000 NaN    ->  NaN
+dvix632 divideint -1    NaN    ->  NaN
+dvix633 divideint -0    NaN    ->  NaN
+dvix634 divideint  0    NaN    ->  NaN
+dvix635 divideint  1    NaN    ->  NaN
+dvix636 divideint  1000 NaN    ->  NaN
+dvix637 divideint  Inf  NaN    ->  NaN
+
+dvix641 divideint  sNaN -Inf   ->  NaN  Invalid_operation
+dvix642 divideint  sNaN -1000  ->  NaN  Invalid_operation
+dvix643 divideint  sNaN -1     ->  NaN  Invalid_operation
+dvix644 divideint  sNaN -0     ->  NaN  Invalid_operation
+dvix645 divideint  sNaN  0     ->  NaN  Invalid_operation
+dvix646 divideint  sNaN  1     ->  NaN  Invalid_operation
+dvix647 divideint  sNaN  1000  ->  NaN  Invalid_operation
+dvix648 divideint  sNaN  NaN   ->  NaN  Invalid_operation
+dvix649 divideint  sNaN sNaN   ->  NaN  Invalid_operation
+dvix650 divideint  NaN  sNaN   ->  NaN  Invalid_operation
+dvix651 divideint -Inf  sNaN   ->  NaN  Invalid_operation
+dvix652 divideint -1000 sNaN   ->  NaN  Invalid_operation
+dvix653 divideint -1    sNaN   ->  NaN  Invalid_operation
+dvix654 divideint -0    sNaN   ->  NaN  Invalid_operation
+dvix655 divideint  0    sNaN   ->  NaN  Invalid_operation
+dvix656 divideint  1    sNaN   ->  NaN  Invalid_operation
+dvix657 divideint  1000 sNaN   ->  NaN  Invalid_operation
+dvix658 divideint  Inf  sNaN   ->  NaN  Invalid_operation
+dvix659 divideint  NaN  sNaN   ->  NaN  Invalid_operation
+
+-- propagating NaNs
+dvix661 divideint  NaN9 -Inf   ->  NaN9
+dvix662 divideint  NaN8  1000  ->  NaN8
+dvix663 divideint  NaN7  Inf   ->  NaN7
+dvix664 divideint -NaN6  NaN5  -> -NaN6
+dvix665 divideint -Inf   NaN4  ->  NaN4
+dvix666 divideint -1000  NaN3  ->  NaN3
+dvix667 divideint  Inf  -NaN2  -> -NaN2
+
+dvix671 divideint -sNaN99 -Inf    -> -NaN99 Invalid_operation
+dvix672 divideint  sNaN98 -1      ->  NaN98 Invalid_operation
+dvix673 divideint  sNaN97  NaN    ->  NaN97 Invalid_operation
+dvix674 divideint  sNaN96 sNaN94  ->  NaN96 Invalid_operation
+dvix675 divideint  NaN95  sNaN93  ->  NaN93 Invalid_operation
+dvix676 divideint -Inf    sNaN92  ->  NaN92 Invalid_operation
+dvix677 divideint  0      sNaN91  ->  NaN91 Invalid_operation
+dvix678 divideint  Inf   -sNaN90  -> -NaN90 Invalid_operation
+dvix679 divideint  NaN    sNaN89  ->  NaN89 Invalid_operation
+
+-- some long operand cases again
+precision: 8
+dvix710 divideint  100000001     1  ->  NaN Division_impossible
+dvix711 divideint  100000000.4   1  ->  NaN Division_impossible
+dvix712 divideint  100000000.5   1  ->  NaN Division_impossible
+dvix713 divideint  100000000.9   1  ->  NaN Division_impossible
+dvix714 divideint  100000000.999 1  ->  NaN Division_impossible
+precision: 6
+dvix720 divideint  100000000     1  ->  NaN Division_impossible
+dvix721 divideint  10000000      1  ->  NaN Division_impossible
+dvix722 divideint  1000000       1  ->  NaN Division_impossible
+dvix723 divideint  100000        1  ->  100000
+dvix724 divideint  10000         1  ->  10000
+dvix725 divideint  1000          1  ->  1000
+dvix726 divideint  100           1  ->  100
+dvix727 divideint  10            1  ->  10
+dvix728 divideint  1             1  ->  1
+dvix729 divideint  1            10  ->  0
+
+precision: 9
+maxexponent: 999999999
+minexponent: -999999999
+dvix732 divideint 1 0.99e999999999 -> 0
+dvix733 divideint 1 0.999999999e999999999 -> 0
+dvix734 divideint 9e999999999    1       -> NaN Division_impossible
+dvix735 divideint 9.9e999999999  1       -> NaN Division_impossible
+dvix736 divideint 9.99e999999999 1       -> NaN Division_impossible
+dvix737 divideint 9.99999999e999999999 1 -> NaN Division_impossible
+
+dvix740 divideint 0.1 9e-999999999       -> NaN Division_impossible
+dvix741 divideint 0.1 99e-999999999      -> NaN Division_impossible
+dvix742 divideint 0.1 999e-999999999     -> NaN Division_impossible
+
+dvix743 divideint 0.1 9e-999999998       -> NaN Division_impossible
+dvix744 divideint 0.1 99e-999999998      -> NaN Division_impossible
+dvix745 divideint 0.1 999e-999999998     -> NaN Division_impossible
+dvix746 divideint 0.1 999e-999999997     -> NaN Division_impossible
+dvix747 divideint 0.1 9999e-999999997    -> NaN Division_impossible
+dvix748 divideint 0.1 99999e-999999997   -> NaN Division_impossible
+
+
+-- Null tests
+dvix900 divideint  10  # -> NaN Invalid_operation
+dvix901 divideint   # 10 -> NaN Invalid_operation

Added: sandbox/trunk/decimal-c/decimaltestdata/inexact.decTest
==============================================================================
--- (empty file)
+++ sandbox/trunk/decimal-c/decimaltestdata/inexact.decTest	Tue May 23 13:34:01 2006
@@ -0,0 +1,215 @@
+------------------------------------------------------------------------
+-- inexact.decTest -- decimal inexact and rounded edge cases          --
+-- Copyright (c) IBM Corporation, 1981, 2003.  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 at uk.ibm.com                                                   --
+------------------------------------------------------------------------
+version: 2.39
+
+extended:    1
+precision:   9
+rounding:    half_up
+maxExponent: 999
+minexponent: -999
+
+inx001 add 1          1              -> 2
+inx002 add 123456789  0              -> 123456789
+inx003 add 123456789  0.0            -> 123456789 Rounded
+inx004 add 123456789  0.00           -> 123456789 Rounded
+inx005 add 123456789  1              -> 123456790
+inx006 add 123456789  0.1            -> 123456789 Inexact Rounded
+inx007 add 123456789  0.01           -> 123456789 Inexact Rounded
+inx008 add 123456789  0.001          -> 123456789 Inexact Rounded
+inx009 add 123456789  0.000001       -> 123456789 Inexact Rounded
+inx010 add 123456789  0.000000001    -> 123456789 Inexact Rounded
+inx011 add 123456789  0.000000000001 -> 123456789 Inexact Rounded
+
+inx012 add 123456789  0.9            -> 123456790 Inexact Rounded
+inx013 add 123456789  0.09           -> 123456789 Inexact Rounded
+inx014 add 123456789  0.009          -> 123456789 Inexact Rounded
+inx015 add 123456789  0.000009       -> 123456789 Inexact Rounded
+inx016 add 123456789  0.000000009    -> 123456789 Inexact Rounded
+inx017 add 123456789  0.000000000009 -> 123456789 Inexact Rounded
+
+inx021 add 1          -1              -> 0
+inx022 add 123456789  -0              -> 123456789
+inx023 add 123456789  -0.0            -> 123456789 Rounded
+inx024 add 123456789  -0.00           -> 123456789 Rounded
+inx025 add 123456789  -1              -> 123456788
+inx026 add 123456789  -0.1            -> 123456789 Inexact Rounded
+inx027 add 123456789  -0.01           -> 123456789 Inexact Rounded
+inx028 add 123456789  -0.001          -> 123456789 Inexact Rounded
+inx029 add 123456789  -0.000001       -> 123456789 Inexact Rounded
+inx030 add 123456789  -0.000000001    -> 123456789 Inexact Rounded
+inx031 add 123456789  -0.000000000001 -> 123456789 Inexact Rounded
+inx032 add 123456789  -0.9            -> 123456788 Inexact Rounded
+inx033 add 123456789  -0.09           -> 123456789 Inexact Rounded
+inx034 add 123456789  -0.009          -> 123456789 Inexact Rounded
+inx035 add 123456789  -0.000009       -> 123456789 Inexact Rounded
+inx036 add 123456789  -0.000000009    -> 123456789 Inexact Rounded
+inx037 add 123456789  -0.000000000009 -> 123456789 Inexact Rounded
+
+inx042 add  0               123456789 -> 123456789
+inx043 add  0.0             123456789 -> 123456789 Rounded
+inx044 add  0.00            123456789 -> 123456789 Rounded
+inx045 add  1               123456789 -> 123456790
+inx046 add  0.1             123456789 -> 123456789 Inexact Rounded
+inx047 add  0.01            123456789 -> 123456789 Inexact Rounded
+inx048 add  0.001           123456789 -> 123456789 Inexact Rounded
+inx049 add  0.000001        123456789 -> 123456789 Inexact Rounded
+inx050 add  0.000000001     123456789 -> 123456789 Inexact Rounded
+inx051 add  0.000000000001  123456789 -> 123456789 Inexact Rounded
+inx052 add  0.9             123456789 -> 123456790 Inexact Rounded
+inx053 add  0.09            123456789 -> 123456789 Inexact Rounded
+inx054 add  0.009           123456789 -> 123456789 Inexact Rounded
+inx055 add  0.000009        123456789 -> 123456789 Inexact Rounded
+inx056 add  0.000000009     123456789 -> 123456789 Inexact Rounded
+inx057 add  0.000000000009  123456789 -> 123456789 Inexact Rounded
+
+inx062 add  -0              123456789 -> 123456789
+inx063 add  -0.0            123456789 -> 123456789 Rounded
+inx064 add  -0.00           123456789 -> 123456789 Rounded
+inx065 add  -1              123456789 -> 123456788
+inx066 add  -0.1            123456789 -> 123456789 Inexact Rounded
+inx067 add  -0.01           123456789 -> 123456789 Inexact Rounded
+inx068 add  -0.001          123456789 -> 123456789 Inexact Rounded
+inx069 add  -0.000001       123456789 -> 123456789 Inexact Rounded
+inx070 add  -0.000000001    123456789 -> 123456789 Inexact Rounded
+inx071 add  -0.000000000001 123456789 -> 123456789 Inexact Rounded
+inx072 add  -0.9            123456789 -> 123456788 Inexact Rounded
+inx073 add  -0.09           123456789 -> 123456789 Inexact Rounded
+inx074 add  -0.009          123456789 -> 123456789 Inexact Rounded
+inx075 add  -0.000009       123456789 -> 123456789 Inexact Rounded
+inx076 add  -0.000000009    123456789 -> 123456789 Inexact Rounded
+inx077 add  -0.000000000009 123456789 -> 123456789 Inexact Rounded
+
+-- some boundaries
+inx081 add    999999999           0     -> 999999999
+inx082 add  0.999999999 0.000000000     -> 0.999999999
+inx083 add    999999999           1     -> 1.00000000E+9 Rounded
+inx084 add  0.999999999 0.000000001     -> 1.00000000    Rounded
+inx085 add    999999999           2     -> 1.00000000E+9 Inexact Rounded
+inx086 add  0.999999999 0.000000002     -> 1.00000000    Inexact Rounded
+inx087 add    999999999           3     -> 1.00000000E+9 Inexact Rounded
+inx089 add  0.999999999 0.000000003     -> 1.00000000    Inexact Rounded
+
+-- minus, plus, and subtract all assumed to work like add.
+
+-- multiply
+precision: 8
+inx101 multiply  1000  1000        ->  1000000
+inx102 multiply  9000  9000        -> 81000000
+inx103 multiply  9999  9999        -> 99980001
+inx104 multiply  1000 10000        -> 10000000
+inx105 multiply 10000 10000        -> 1.0000000E+8 Rounded
+inx106 multiply 10001 10000        -> 1.0001000E+8 Rounded
+inx107 multiply 10001 10001        -> 1.0002000E+8 Inexact Rounded
+inx108 multiply 10101 10001        -> 1.0102010E+8 Inexact Rounded
+inx109 multiply 10001 10101        -> 1.0102010E+8 Inexact Rounded
+
+-- divide
+precision: 4
+inx201 divide  1000  1000        ->  1
+inx202 divide  1000     1        ->  1000
+inx203 divide  1000     2        ->   500
+inx204 divide  1000     3        ->   333.3  Inexact Rounded
+inx205 divide  1000     4        ->   250
+inx206 divide  1000     5        ->   200
+inx207 divide  1000     6        ->   166.7  Inexact Rounded
+inx208 divide  1000     7        ->   142.9  Inexact Rounded
+inx209 divide  1000     8        ->   125
+inx210 divide  1000     9        ->   111.1  Inexact Rounded
+inx211 divide  1000    10        ->   100
+
+inx220 divide     1     1        ->   1
+inx221 divide     1     2        ->   0.5
+inx222 divide     1     4        ->   0.25
+inx223 divide     1     8        ->   0.125
+inx224 divide     1    16        ->   0.0625
+inx225 divide     1    32        ->   0.03125
+inx226 divide     1    64        ->   0.01563  Inexact Rounded
+inx227 divide     1   128        ->   0.007813 Inexact Rounded
+
+precision: 5
+inx230 divide     1     1        ->   1
+inx231 divide     1     2        ->   0.5
+inx232 divide     1     4        ->   0.25
+inx233 divide     1     8        ->   0.125
+inx234 divide     1    16        ->   0.0625
+inx235 divide     1    32        ->   0.03125
+inx236 divide     1    64        ->   0.015625
+inx237 divide     1   128        ->   0.0078125
+
+precision: 3
+inx240 divide     1     1        ->   1
+inx241 divide     1     2        ->   0.5
+inx242 divide     1     4        ->   0.25
+inx243 divide     1     8        ->   0.125
+inx244 divide     1    16        ->   0.0625
+inx245 divide     1    32        ->   0.0313   Inexact Rounded
+inx246 divide     1    64        ->   0.0156   Inexact Rounded
+inx247 divide     1   128        ->   0.00781  Inexact Rounded
+
+precision: 2
+inx250 divide     1     1        ->   1
+inx251 divide     1     2        ->   0.5
+inx252 divide     1     4        ->   0.25
+inx253 divide     1     8        ->   0.13     Inexact Rounded
+inx254 divide     1    16        ->   0.063    Inexact Rounded
+inx255 divide     1    32        ->   0.031    Inexact Rounded
+inx256 divide     1    64        ->   0.016    Inexact Rounded
+inx257 divide     1   128        ->   0.0078   Inexact Rounded
+
+precision: 1
+inx260 divide     1     1        ->   1
+inx261 divide     1     2        ->   0.5
+inx262 divide     1     4        ->   0.3      Inexact Rounded
+inx263 divide     1     8        ->   0.1      Inexact Rounded
+inx264 divide     1    16        ->   0.06     Inexact Rounded
+inx265 divide     1    32        ->   0.03     Inexact Rounded
+inx266 divide     1    64        ->   0.02     Inexact Rounded
+inx267 divide     1   128        ->   0.008    Inexact Rounded
+
+
+-- power
+precision: 4
+inx301 power    0.5     2        ->   0.25
+inx302 power    0.5     4        ->   0.0625
+inx303 power    0.5     8        ->   0.003906   Inexact Rounded
+inx304 power    0.5    16        ->   0.00001526 Inexact Rounded
+inx305 power    0.5    32        ->   2.328E-10  Inexact Rounded
+
+-- compare, divideInteger, and remainder are always exact
+
+-- rescale
+precision: 4
+inx401 rescale 0       0   -> 0
+inx402 rescale 1       0   -> 1
+inx403 rescale 0.1    +2   -> 0E+2 Inexact Rounded
+inx404 rescale 0.1    +1   -> 0E+1 Inexact Rounded
+inx405 rescale 0.1     0   -> 0 Inexact Rounded
+inx406 rescale 0.1    -1   -> 0.1
+inx407 rescale 0.1    -2   -> 0.10
+
+-- long operands cause rounding too
+precision: 9
+inx801 plus  123456789  -> 123456789
+inx802 plus  1234567890 -> 1.23456789E+9 Rounded
+inx803 plus  1234567891 -> 1.23456789E+9 Inexact Rounded
+inx804 plus  1234567892 -> 1.23456789E+9 Inexact Rounded
+inx805 plus  1234567899 -> 1.23456790E+9 Inexact Rounded
+inx806 plus  1234567900 -> 1.23456790E+9 Rounded
+

Added: sandbox/trunk/decimal-c/decimaltestdata/max.decTest
==============================================================================
--- (empty file)
+++ sandbox/trunk/decimal-c/decimaltestdata/max.decTest	Tue May 23 13:34:01 2006
@@ -0,0 +1,376 @@
+------------------------------------------------------------------------
+-- max.decTest -- decimal maximum                                     --
+-- Copyright (c) IBM Corporation, 1981, 2004.  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 at uk.ibm.com                                                   --
+------------------------------------------------------------------------
+version: 2.39
+
+-- we assume that base comparison is tested in compare.decTest, so
+-- these mainly cover special cases and rounding
+
+extended:    1
+precision:   9
+rounding:    half_up
+maxExponent: 384
+minexponent: -383
+
+-- sanity checks
+maxx001 max  -2  -2  -> -2
+maxx002 max  -2  -1  -> -1
+maxx003 max  -2   0  ->  0
+maxx004 max  -2   1  ->  1
+maxx005 max  -2   2  ->  2
+maxx006 max  -1  -2  -> -1
+maxx007 max  -1  -1  -> -1
+maxx008 max  -1   0  ->  0
+maxx009 max  -1   1  ->  1
+maxx010 max  -1   2  ->  2
+maxx011 max   0  -2  ->  0
+maxx012 max   0  -1  ->  0
+maxx013 max   0   0  ->  0
+maxx014 max   0   1  ->  1
+maxx015 max   0   2  ->  2
+maxx016 max   1  -2  ->  1
+maxx017 max   1  -1  ->  1
+maxx018 max   1   0  ->  1
+maxx019 max   1   1  ->  1
+maxx020 max   1   2  ->  2
+maxx021 max   2  -2  ->  2
+maxx022 max   2  -1  ->  2
+maxx023 max   2   0  ->  2
+maxx025 max   2   1  ->  2
+maxx026 max   2   2  ->  2
+
+-- extended zeros
+maxx030 max   0     0   ->  0
+maxx031 max   0    -0   ->  0
+maxx032 max   0    -0.0 ->  0
+maxx033 max   0     0.0 ->  0
+maxx034 max  -0     0   ->  0    -- note: -0 = 0, but 0 chosen
+maxx035 max  -0    -0   -> -0
+maxx036 max  -0    -0.0 -> -0.0
+maxx037 max  -0     0.0 ->  0.0
+maxx038 max   0.0   0   ->  0
+maxx039 max   0.0  -0   ->  0.0
+maxx040 max   0.0  -0.0 ->  0.0
+maxx041 max   0.0   0.0 ->  0.0
+maxx042 max  -0.0   0   ->  0
+maxx043 max  -0.0  -0   -> -0.0
+maxx044 max  -0.0  -0.0 -> -0.0
+maxx045 max  -0.0   0.0 ->  0.0
+
+maxx050 max  -0E1   0E1 ->  0E+1
+maxx051 max  -0E2   0E2 ->  0E+2
+maxx052 max  -0E2   0E1 ->  0E+1
+maxx053 max  -0E1   0E2 ->  0E+2
+maxx054 max   0E1  -0E1 ->  0E+1
+maxx055 max   0E2  -0E2 ->  0E+2
+maxx056 max   0E2  -0E1 ->  0E+2
+maxx057 max   0E1  -0E2 ->  0E+1
+
+maxx058 max   0E1   0E1 ->  0E+1
+maxx059 max   0E2   0E2 ->  0E+2
+maxx060 max   0E2   0E1 ->  0E+2
+maxx061 max   0E1   0E2 ->  0E+2
+maxx062 max  -0E1  -0E1 -> -0E+1
+maxx063 max  -0E2  -0E2 -> -0E+2
+maxx064 max  -0E2  -0E1 -> -0E+1
+maxx065 max  -0E1  -0E2 -> -0E+1
+
+-- Specials
+precision: 9
+maxx090 max  Inf  -Inf   ->  Infinity
+maxx091 max  Inf  -1000  ->  Infinity
+maxx092 max  Inf  -1     ->  Infinity
+maxx093 max  Inf  -0     ->  Infinity
+maxx094 max  Inf   0     ->  Infinity
+maxx095 max  Inf   1     ->  Infinity
+maxx096 max  Inf   1000  ->  Infinity
+maxx097 max  Inf   Inf   ->  Infinity
+maxx098 max -1000  Inf   ->  Infinity
+maxx099 max -Inf   Inf   ->  Infinity
+maxx100 max -1     Inf   ->  Infinity
+maxx101 max -0     Inf   ->  Infinity
+maxx102 max  0     Inf   ->  Infinity
+maxx103 max  1     Inf   ->  Infinity
+maxx104 max  1000  Inf   ->  Infinity
+maxx105 max  Inf   Inf   ->  Infinity
+
+maxx120 max -Inf  -Inf   -> -Infinity
+maxx121 max -Inf  -1000  -> -1000
+maxx122 max -Inf  -1     -> -1
+maxx123 max -Inf  -0     -> -0
+maxx124 max -Inf   0     ->  0
+maxx125 max -Inf   1     ->  1
+maxx126 max -Inf   1000  ->  1000
+maxx127 max -Inf   Inf   ->  Infinity
+maxx128 max -Inf  -Inf   ->  -Infinity
+maxx129 max -1000 -Inf   ->  -1000
+maxx130 max -1    -Inf   ->  -1
+maxx131 max -0    -Inf   ->  -0
+maxx132 max  0    -Inf   ->  0
+maxx133 max  1    -Inf   ->  1
+maxx134 max  1000 -Inf   ->  1000
+maxx135 max  Inf  -Inf   ->  Infinity
+
+-- 2004.08.02 754r chooses number over NaN in mixed cases
+maxx141 max  NaN -Inf    -> -Infinity
+maxx142 max  NaN -1000   -> -1000
+maxx143 max  NaN -1      -> -1
+maxx144 max  NaN -0      -> -0
+maxx145 max  NaN  0      ->  0
+maxx146 max  NaN  1      ->  1
+maxx147 max  NaN  1000   ->  1000
+maxx148 max  NaN  Inf    ->  Infinity
+maxx149 max  NaN  NaN    ->  NaN
+maxx150 max -Inf  NaN    -> -Infinity
+maxx151 max -1000 NaN    -> -1000
+maxx152 max -1    NaN    -> -1
+maxx153 max -0    NaN    -> -0
+maxx154 max  0    NaN    ->  0
+maxx155 max  1    NaN    ->  1
+maxx156 max  1000 NaN    ->  1000
+maxx157 max  Inf  NaN    ->  Infinity
+
+maxx161 max  sNaN -Inf   ->  NaN  Invalid_operation
+maxx162 max  sNaN -1000  ->  NaN  Invalid_operation
+maxx163 max  sNaN -1     ->  NaN  Invalid_operation
+maxx164 max  sNaN -0     ->  NaN  Invalid_operation
+maxx165 max  sNaN  0     ->  NaN  Invalid_operation
+maxx166 max  sNaN  1     ->  NaN  Invalid_operation
+maxx167 max  sNaN  1000  ->  NaN  Invalid_operation
+maxx168 max  sNaN  NaN   ->  NaN  Invalid_operation
+maxx169 max  sNaN sNaN   ->  NaN  Invalid_operation
+maxx170 max  NaN  sNaN   ->  NaN  Invalid_operation
+maxx171 max -Inf  sNaN   ->  NaN  Invalid_operation
+maxx172 max -1000 sNaN   ->  NaN  Invalid_operation
+maxx173 max -1    sNaN   ->  NaN  Invalid_operation
+maxx174 max -0    sNaN   ->  NaN  Invalid_operation
+maxx175 max  0    sNaN   ->  NaN  Invalid_operation
+maxx176 max  1    sNaN   ->  NaN  Invalid_operation
+maxx177 max  1000 sNaN   ->  NaN  Invalid_operation
+maxx178 max  Inf  sNaN   ->  NaN  Invalid_operation
+maxx179 max  NaN  sNaN   ->  NaN  Invalid_operation
+
+-- propagating NaNs
+maxx181 max  NaN9  -Inf   -> -Infinity
+maxx182 max  NaN8     9   ->  9
+maxx183 max -NaN7   Inf   ->  Infinity
+
+maxx184 max -NaN1   NaN11 -> -NaN1
+maxx185 max  NaN2   NaN12 ->  NaN2
+maxx186 max -NaN13 -NaN7  -> -NaN13
+maxx187 max  NaN14 -NaN5  ->  NaN14
+
+maxx188 max -Inf    NaN4  -> -Infinity
+maxx189 max -9     -NaN3  -> -9
+maxx190 max  Inf    NaN2  ->  Infinity
+
+maxx191 max  sNaN99 -Inf    ->  NaN99 Invalid_operation
+maxx192 max  sNaN98 -1      ->  NaN98 Invalid_operation
+maxx193 max -sNaN97  NaN    -> -NaN97 Invalid_operation
+maxx194 max  sNaN96 sNaN94  ->  NaN96 Invalid_operation
+maxx195 max  NaN95  sNaN93  ->  NaN93 Invalid_operation
+maxx196 max -Inf    sNaN92  ->  NaN92 Invalid_operation
+maxx197 max  0      sNaN91  ->  NaN91 Invalid_operation
+maxx198 max  Inf   -sNaN90  -> -NaN90 Invalid_operation
+maxx199 max  NaN    sNaN89  ->  NaN89 Invalid_operation
+
+-- rounding checks
+maxexponent: 999
+minexponent: -999
+precision: 9
+maxx201 max 12345678000 1  -> 1.23456780E+10 Rounded
+maxx202 max 1 12345678000  -> 1.23456780E+10 Rounded
+maxx203 max 1234567800  1  -> 1.23456780E+9 Rounded
+maxx204 max 1 1234567800   -> 1.23456780E+9 Rounded
+maxx205 max 1234567890  1  -> 1.23456789E+9 Rounded
+maxx206 max 1 1234567890   -> 1.23456789E+9 Rounded
+maxx207 max 1234567891  1  -> 1.23456789E+9 Inexact Rounded
+maxx208 max 1 1234567891   -> 1.23456789E+9 Inexact Rounded
+maxx209 max 12345678901 1  -> 1.23456789E+10 Inexact Rounded
+maxx210 max 1 12345678901  -> 1.23456789E+10 Inexact Rounded
+maxx211 max 1234567896  1  -> 1.23456790E+9 Inexact Rounded
+maxx212 max 1 1234567896   -> 1.23456790E+9 Inexact Rounded
+maxx213 max -1234567891  1 -> 1
+maxx214 max 1 -1234567891  -> 1
+maxx215 max -12345678901 1 -> 1
+maxx216 max 1 -12345678901 -> 1
+maxx217 max -1234567896  1 -> 1
+maxx218 max 1 -1234567896  -> 1
+
+precision: 15
+maxx221 max 12345678000 1  -> 12345678000
+maxx222 max 1 12345678000  -> 12345678000
+maxx223 max 1234567800  1  -> 1234567800
+maxx224 max 1 1234567800   -> 1234567800
+maxx225 max 1234567890  1  -> 1234567890
+maxx226 max 1 1234567890   -> 1234567890
+maxx227 max 1234567891  1  -> 1234567891
+maxx228 max 1 1234567891   -> 1234567891
+maxx229 max 12345678901 1  -> 12345678901
+maxx230 max 1 12345678901  -> 12345678901
+maxx231 max 1234567896  1  -> 1234567896
+maxx232 max 1 1234567896   -> 1234567896
+maxx233 max -1234567891  1 -> 1
+maxx234 max 1 -1234567891  -> 1
+maxx235 max -12345678901 1 -> 1
+maxx236 max 1 -12345678901 -> 1
+maxx237 max -1234567896  1 -> 1
+maxx238 max 1 -1234567896  -> 1
+
+-- from examples
+maxx280 max '3'   '2'  ->  '3'
+maxx281 max '-10' '3'  ->  '3'
+maxx282 max '1.0' '1'  ->  '1'
+maxx283 max '1' '1.0'  ->  '1'
+maxx284 max '7' 'NaN'  ->  '7'
+
+-- overflow and underflow tests ...
+maxExponent: 999999999
+minexponent: -999999999
+maxx330 max +1.23456789012345E-0 9E+999999999 ->  9E+999999999
+maxx331 max 9E+999999999 +1.23456789012345E-0 ->  9E+999999999
+maxx332 max +0.100 9E-999999999               ->  0.100
+maxx333 max 9E-999999999 +0.100               ->  0.100
+maxx335 max -1.23456789012345E-0 9E+999999999 ->  9E+999999999
+maxx336 max 9E+999999999 -1.23456789012345E-0 ->  9E+999999999
+maxx337 max -0.100 9E-999999999               ->  9E-999999999
+maxx338 max 9E-999999999 -0.100               ->  9E-999999999
+
+maxx339 max 1e-599999999 1e-400000001   ->  1E-400000001
+maxx340 max 1e-599999999 1e-400000000   ->  1E-400000000
+maxx341 max 1e-600000000 1e-400000000   ->  1E-400000000
+maxx342 max 9e-999999998 0.01           ->  0.01
+maxx343 max 9e-999999998 0.1            ->  0.1
+maxx344 max 0.01 9e-999999998           ->  0.01
+maxx345 max 1e599999999 1e400000001     ->  1E+599999999
+maxx346 max 1e599999999 1e400000000     ->  1E+599999999
+maxx347 max 1e600000000 1e400000000     ->  1E+600000000
+maxx348 max 9e999999998 100             ->  9E+999999998
+maxx349 max 9e999999998 10              ->  9E+999999998
+maxx350 max 100  9e999999998            ->  9E+999999998
+-- signs
+maxx351 max  1e+777777777  1e+411111111 ->  1E+777777777
+maxx352 max  1e+777777777 -1e+411111111 ->  1E+777777777
+maxx353 max -1e+777777777  1e+411111111 ->  1E+411111111
+maxx354 max -1e+777777777 -1e+411111111 -> -1E+411111111
+maxx355 max  1e-777777777  1e-411111111 ->  1E-411111111
+maxx356 max  1e-777777777 -1e-411111111 ->  1E-777777777
+maxx357 max -1e-777777777  1e-411111111 ->  1E-411111111
+maxx358 max -1e-777777777 -1e-411111111 -> -1E-777777777
+
+-- expanded list from min/max 754r purple prose
+-- [explicit tests for exponent ordering]
+maxx401 max  Inf    1.1     ->  Infinity
+maxx402 max  1.1    1       ->  1.1
+maxx403 max  1      1.0     ->  1
+maxx404 max  1.0    0.1     ->  1.0
+maxx405 max  0.1    0.10    ->  0.1
+maxx406 max  0.10   0.100   ->  0.10
+maxx407 max  0.10   0       ->  0.10
+maxx408 max  0      0.0     ->  0
+maxx409 max  0.0   -0       ->  0.0
+maxx410 max  0.0   -0.0     ->  0.0
+maxx411 max  0.00  -0.0     ->  0.00
+maxx412 max  0.0   -0.00    ->  0.0
+maxx413 max  0     -0.0     ->  0
+maxx414 max  0     -0       ->  0
+maxx415 max -0.0   -0       -> -0.0
+maxx416 max -0     -0.100   -> -0
+maxx417 max -0.100 -0.10    -> -0.100
+maxx418 max -0.10  -0.1     -> -0.10
+maxx419 max -0.1   -1.0     -> -0.1
+maxx420 max -1.0   -1       -> -1.0
+maxx421 max -1     -1.1     -> -1
+maxx423 max -1.1   -Inf     -> -1.1
+-- same with operands reversed
+maxx431 max  1.1    Inf     ->  Infinity
+maxx432 max  1      1.1     ->  1.1
+maxx433 max  1.0    1       ->  1
+maxx434 max  0.1    1.0     ->  1.0
+maxx435 max  0.10   0.1     ->  0.1
+maxx436 max  0.100  0.10    ->  0.10
+maxx437 max  0      0.10    ->  0.10
+maxx438 max  0.0    0       ->  0
+maxx439 max -0      0.0     ->  0.0
+maxx440 max -0.0    0.0     ->  0.0
+maxx441 max -0.0    0.00    ->  0.00
+maxx442 max -0.00   0.0     ->  0.0
+maxx443 max -0.0    0       ->  0
+maxx444 max -0      0       ->  0
+maxx445 max -0     -0.0     -> -0.0
+maxx446 max -0.100 -0       -> -0
+maxx447 max -0.10  -0.100   -> -0.100
+maxx448 max -0.1   -0.10    -> -0.10
+maxx449 max -1.0   -0.1     -> -0.1
+maxx450 max -1     -1.0     -> -1.0
+maxx451 max -1.1   -1       -> -1
+maxx453 max -Inf   -1.1     -> -1.1
+-- largies
+maxx460 max  1000   1E+3    ->  1E+3
+maxx461 max  1E+3   1000    ->  1E+3
+maxx462 max  1000  -1E+3    ->  1000
+maxx463 max  1E+3  -1000    ->  1E+3
+maxx464 max -1000   1E+3    ->  1E+3
+maxx465 max -1E+3   1000    ->  1000
+maxx466 max -1000  -1E+3    -> -1000
+maxx467 max -1E+3  -1000    -> -1000
+
+
+-- overflow tests
+maxexponent: 999999999
+minexponent: -999999999
+precision: 3
+maxx500 max 9.999E+999999999  0 ->  Infinity Inexact Overflow Rounded
+maxx501 max -9.999E+999999999 0 ->  0
+
+-- subnormals and underflow
+precision: 3
+maxexponent: 999
+minexponent: -999
+maxx510 max  1.00E-999       0  ->   1.00E-999
+maxx511 max  0.1E-999        0  ->   1E-1000   Subnormal
+maxx512 max  0.10E-999       0  ->   1.0E-1000 Subnormal
+maxx513 max  0.100E-999      0  ->   1.0E-1000 Subnormal Rounded
+maxx514 max  0.01E-999       0  ->   1E-1001   Subnormal
+-- next is rounded to Emin
+maxx515 max  0.999E-999      0  ->   1.00E-999 Inexact Rounded Subnormal Underflow
+maxx516 max  0.099E-999      0  ->   1.0E-1000 Inexact Rounded Subnormal Underflow
+maxx517 max  0.009E-999      0  ->   1E-1001   Inexact Rounded Subnormal Underflow
+maxx518 max  0.001E-999      0  ->   0E-1001   Inexact Rounded Subnormal Underflow
+maxx519 max  0.0009E-999     0  ->   0E-1001   Inexact Rounded Subnormal Underflow
+maxx520 max  0.0001E-999     0  ->   0E-1001   Inexact Rounded Subnormal Underflow
+
+maxx530 max -1.00E-999       0  ->   0
+maxx531 max -0.1E-999        0  ->   0
+maxx532 max -0.10E-999       0  ->   0
+maxx533 max -0.100E-999      0  ->   0
+maxx534 max -0.01E-999       0  ->   0
+maxx535 max -0.999E-999      0  ->   0
+maxx536 max -0.099E-999      0  ->   0
+maxx537 max -0.009E-999      0  ->   0
+maxx538 max -0.001E-999      0  ->   0
+maxx539 max -0.0009E-999     0  ->   0
+maxx540 max -0.0001E-999     0  ->   0
+
+-- Null tests
+maxx900 max 10  #  -> NaN Invalid_operation
+maxx901 max  # 10  -> NaN Invalid_operation
+
+
+

Added: sandbox/trunk/decimal-c/decimaltestdata/min.decTest
==============================================================================
--- (empty file)
+++ sandbox/trunk/decimal-c/decimaltestdata/min.decTest	Tue May 23 13:34:01 2006
@@ -0,0 +1,363 @@
+------------------------------------------------------------------------
+-- min.decTest -- decimal minimum                                     --
+-- Copyright (c) IBM Corporation, 1981, 2004.  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 at uk.ibm.com                                                   --
+------------------------------------------------------------------------
+version: 2.39
+
+-- we assume that base comparison is tested in compare.decTest, so
+-- these mainly cover special cases and rounding
+
+extended:    1
+precision:   9
+rounding:    half_up
+maxExponent: 384
+minexponent: -383
+
+-- sanity checks
+mnmx001 min  -2  -2  -> -2
+mnmx002 min  -2  -1  -> -2
+mnmx003 min  -2   0  -> -2
+mnmx004 min  -2   1  -> -2
+mnmx005 min  -2   2  -> -2
+mnmx006 min  -1  -2  -> -2
+mnmx007 min  -1  -1  -> -1
+mnmx008 min  -1   0  -> -1
+mnmx009 min  -1   1  -> -1
+mnmx010 min  -1   2  -> -1
+mnmx011 min   0  -2  -> -2
+mnmx012 min   0  -1  -> -1
+mnmx013 min   0   0  ->  0
+mnmx014 min   0   1  ->  0
+mnmx015 min   0   2  ->  0
+mnmx016 min   1  -2  -> -2
+mnmx017 min   1  -1  -> -1
+mnmx018 min   1   0  ->  0
+mnmx019 min   1   1  ->  1
+mnmx020 min   1   2  ->  1
+mnmx021 min   2  -2  -> -2
+mnmx022 min   2  -1  -> -1
+mnmx023 min   2   0  ->  0
+mnmx025 min   2   1  ->  1
+mnmx026 min   2   2  ->  2
+
+-- extended zeros
+mnmx030 min   0     0   ->  0
+mnmx031 min   0    -0   -> -0
+mnmx032 min   0    -0.0 -> -0.0
+mnmx033 min   0     0.0 ->  0.0
+mnmx034 min  -0     0   -> -0
+mnmx035 min  -0    -0   -> -0
+mnmx036 min  -0    -0.0 -> -0
+mnmx037 min  -0     0.0 -> -0
+mnmx038 min   0.0   0   ->  0.0
+mnmx039 min   0.0  -0   -> -0
+mnmx040 min   0.0  -0.0 -> -0.0
+mnmx041 min   0.0   0.0 ->  0.0
+mnmx042 min  -0.0   0   -> -0.0
+mnmx043 min  -0.0  -0   -> -0
+mnmx044 min  -0.0  -0.0 -> -0.0
+mnmx045 min  -0.0   0.0 -> -0.0
+
+mnmx046 min   0E1  -0E1 -> -0E+1
+mnmx047 min  -0E1   0E2 -> -0E+1
+mnmx048 min   0E2   0E1 ->  0E+1
+mnmx049 min   0E1   0E2 ->  0E+1
+mnmx050 min  -0E3  -0E2 -> -0E+3
+mnmx051 min  -0E2  -0E3 -> -0E+3
+
+-- Specials
+precision: 9
+mnmx090 min  Inf  -Inf   -> -Infinity
+mnmx091 min  Inf  -1000  -> -1000
+mnmx092 min  Inf  -1     -> -1
+mnmx093 min  Inf  -0     -> -0
+mnmx094 min  Inf   0     ->  0
+mnmx095 min  Inf   1     ->  1
+mnmx096 min  Inf   1000  ->  1000
+mnmx097 min  Inf   Inf   ->  Infinity
+mnmx098 min -1000  Inf   -> -1000
+mnmx099 min -Inf   Inf   -> -Infinity
+mnmx100 min -1     Inf   -> -1
+mnmx101 min -0     Inf   -> -0
+mnmx102 min  0     Inf   ->  0
+mnmx103 min  1     Inf   ->  1
+mnmx104 min  1000  Inf   ->  1000
+mnmx105 min  Inf   Inf   ->  Infinity
+
+mnmx120 min -Inf  -Inf   -> -Infinity
+mnmx121 min -Inf  -1000  -> -Infinity
+mnmx122 min -Inf  -1     -> -Infinity
+mnmx123 min -Inf  -0     -> -Infinity
+mnmx124 min -Inf   0     -> -Infinity
+mnmx125 min -Inf   1     -> -Infinity
+mnmx126 min -Inf   1000  -> -Infinity
+mnmx127 min -Inf   Inf   -> -Infinity
+mnmx128 min -Inf  -Inf   -> -Infinity
+mnmx129 min -1000 -Inf   -> -Infinity
+mnmx130 min -1    -Inf   -> -Infinity
+mnmx131 min -0    -Inf   -> -Infinity
+mnmx132 min  0    -Inf   -> -Infinity
+mnmx133 min  1    -Inf   -> -Infinity
+mnmx134 min  1000 -Inf   -> -Infinity
+mnmx135 min  Inf  -Inf   -> -Infinity
+
+-- 2004.08.02 754r chooses number over NaN in mixed cases
+mnmx141 min  NaN -Inf    ->  -Infinity
+mnmx142 min  NaN -1000   ->  -1000
+mnmx143 min  NaN -1      ->  -1
+mnmx144 min  NaN -0      ->  -0
+mnmx145 min  NaN  0      ->  0
+mnmx146 min  NaN  1      ->  1
+mnmx147 min  NaN  1000   ->  1000
+mnmx148 min  NaN  Inf    ->  Infinity
+mnmx149 min  NaN  NaN    ->  NaN
+mnmx150 min -Inf  NaN    -> -Infinity
+mnmx151 min -1000 NaN    -> -1000
+mnmx152 min -1   -NaN    -> -1
+mnmx153 min -0    NaN    -> -0
+mnmx154 min  0   -NaN    ->  0
+mnmx155 min  1    NaN    ->  1
+mnmx156 min  1000 NaN    ->  1000
+mnmx157 min  Inf  NaN    ->  Infinity
+
+mnmx161 min  sNaN -Inf   ->  NaN  Invalid_operation
+mnmx162 min  sNaN -1000  ->  NaN  Invalid_operation
+mnmx163 min  sNaN -1     ->  NaN  Invalid_operation
+mnmx164 min  sNaN -0     ->  NaN  Invalid_operation
+mnmx165 min -sNaN  0     -> -NaN  Invalid_operation
+mnmx166 min -sNaN  1     -> -NaN  Invalid_operation
+mnmx167 min  sNaN  1000  ->  NaN  Invalid_operation
+mnmx168 min  sNaN  NaN   ->  NaN  Invalid_operation
+mnmx169 min  sNaN sNaN   ->  NaN  Invalid_operation
+mnmx170 min  NaN  sNaN   ->  NaN  Invalid_operation
+mnmx171 min -Inf  sNaN   ->  NaN  Invalid_operation
+mnmx172 min -1000 sNaN   ->  NaN  Invalid_operation
+mnmx173 min -1    sNaN   ->  NaN  Invalid_operation
+mnmx174 min -0    sNaN   ->  NaN  Invalid_operation
+mnmx175 min  0    sNaN   ->  NaN  Invalid_operation
+mnmx176 min  1    sNaN   ->  NaN  Invalid_operation
+mnmx177 min  1000 sNaN   ->  NaN  Invalid_operation
+mnmx178 min  Inf  sNaN   ->  NaN  Invalid_operation
+mnmx179 min  NaN  sNaN   ->  NaN  Invalid_operation
+
+-- propagating NaNs
+mnmx181 min  NaN9   -Inf   -> -Infinity
+mnmx182 min -NaN8    9990  ->  9990
+mnmx183 min  NaN71   Inf   ->  Infinity
+
+mnmx184 min  NaN1    NaN54 ->  NaN1
+mnmx185 min  NaN22  -NaN53 ->  NaN22
+mnmx186 min -NaN3    NaN6  -> -NaN3
+mnmx187 min -NaN44   NaN7  -> -NaN44
+
+mnmx188 min -Inf     NaN41 -> -Infinity
+mnmx189 min -9999   -NaN33 -> -9999
+mnmx190 min  Inf     NaN2  ->  Infinity
+
+mnmx191 min  sNaN99 -Inf    ->  NaN99 Invalid_operation
+mnmx192 min  sNaN98 -11     ->  NaN98 Invalid_operation
+mnmx193 min -sNaN97  NaN8   -> -NaN97 Invalid_operation
+mnmx194 min  sNaN69 sNaN94  ->  NaN69 Invalid_operation
+mnmx195 min  NaN95  sNaN93  ->  NaN93 Invalid_operation
+mnmx196 min -Inf    sNaN92  ->  NaN92 Invalid_operation
+mnmx197 min  088    sNaN91  ->  NaN91 Invalid_operation
+mnmx198 min  Inf   -sNaN90  -> -NaN90 Invalid_operation
+mnmx199 min  NaN    sNaN86  ->  NaN86 Invalid_operation
+
+-- rounding checks -- chosen is rounded, or not
+maxExponent: 999
+minexponent: -999
+precision: 9
+mnmx201 min -12345678000 1  -> -1.23456780E+10 Rounded
+mnmx202 min 1 -12345678000  -> -1.23456780E+10 Rounded
+mnmx203 min -1234567800  1  -> -1.23456780E+9 Rounded
+mnmx204 min 1 -1234567800   -> -1.23456780E+9 Rounded
+mnmx205 min -1234567890  1  -> -1.23456789E+9 Rounded
+mnmx206 min 1 -1234567890   -> -1.23456789E+9 Rounded
+mnmx207 min -1234567891  1  -> -1.23456789E+9 Inexact Rounded
+mnmx208 min 1 -1234567891   -> -1.23456789E+9 Inexact Rounded
+mnmx209 min -12345678901 1  -> -1.23456789E+10 Inexact Rounded
+mnmx210 min 1 -12345678901  -> -1.23456789E+10 Inexact Rounded
+mnmx211 min -1234567896  1  -> -1.23456790E+9 Inexact Rounded
+mnmx212 min 1 -1234567896   -> -1.23456790E+9 Inexact Rounded
+mnmx213 min 1234567891  1   -> 1
+mnmx214 min 1 1234567891    -> 1
+mnmx215 min 12345678901 1   -> 1
+mnmx216 min 1 12345678901   -> 1
+mnmx217 min 1234567896  1   -> 1
+mnmx218 min 1 1234567896    -> 1
+
+precision: 15
+mnmx221 min -12345678000 1  -> -12345678000
+mnmx222 min 1 -12345678000  -> -12345678000
+mnmx223 min -1234567800  1  -> -1234567800
+mnmx224 min 1 -1234567800   -> -1234567800
+mnmx225 min -1234567890  1  -> -1234567890
+mnmx226 min 1 -1234567890   -> -1234567890
+mnmx227 min -1234567891  1  -> -1234567891
+mnmx228 min 1 -1234567891   -> -1234567891
+mnmx229 min -12345678901 1  -> -12345678901
+mnmx230 min 1 -12345678901  -> -12345678901
+mnmx231 min -1234567896  1  -> -1234567896
+mnmx232 min 1 -1234567896   -> -1234567896
+mnmx233 min 1234567891  1   -> 1
+mnmx234 min 1 1234567891    -> 1
+mnmx235 min 12345678901 1   -> 1
+mnmx236 min 1 12345678901   -> 1
+mnmx237 min 1234567896  1   -> 1
+mnmx238 min 1 1234567896    -> 1
+
+-- from examples
+mnmx280 min '3'   '2'  ->  '2'
+mnmx281 min '-10' '3'  ->  '-10'
+mnmx282 min '1.0' '1'  ->  '1.0'
+mnmx283 min '1' '1.0'  ->  '1.0'
+mnmx284 min '7' 'NaN'  ->  '7'
+
+-- overflow and underflow tests .. subnormal results [inputs] now allowed
+maxExponent: 999999999
+minexponent: -999999999
+mnmx330 min -1.23456789012345E-0 -9E+999999999 -> -9E+999999999
+mnmx331 min -9E+999999999 -1.23456789012345E-0 -> -9E+999999999
+mnmx332 min -0.100 -9E-999999999               -> -0.100
+mnmx333 min -9E-999999999 -0.100               -> -0.100
+mnmx335 min +1.23456789012345E-0 -9E+999999999 -> -9E+999999999
+mnmx336 min -9E+999999999 1.23456789012345E-0  -> -9E+999999999
+mnmx337 min +0.100 -9E-999999999               -> -9E-999999999
+mnmx338 min -9E-999999999 0.100                -> -9E-999999999
+
+mnmx339 min -1e-599999999 -1e-400000001   ->  -1E-400000001
+mnmx340 min -1e-599999999 -1e-400000000   ->  -1E-400000000
+mnmx341 min -1e-600000000 -1e-400000000   ->  -1E-400000000
+mnmx342 min -9e-999999998 -0.01           ->  -0.01
+mnmx343 min -9e-999999998 -0.1            ->  -0.1
+mnmx344 min -0.01         -9e-999999998   ->  -0.01
+mnmx345 min -1e599999999  -1e400000001    ->  -1E+599999999
+mnmx346 min -1e599999999  -1e400000000    ->  -1E+599999999
+mnmx347 min -1e600000000  -1e400000000    ->  -1E+600000000
+mnmx348 min -9e999999998  -100            ->  -9E+999999998
+mnmx349 min -9e999999998  -10             ->  -9E+999999998
+mnmx350 min -100          -9e999999998    ->  -9E+999999998
+-- signs
+mnmx351 min -1e+777777777 -1e+411111111 -> -1E+777777777
+mnmx352 min -1e+777777777 +1e+411111111 -> -1E+777777777
+mnmx353 min +1e+777777777 -1e+411111111 -> -1E+411111111
+mnmx354 min +1e+777777777 +1e+411111111 ->  1E+411111111
+mnmx355 min -1e-777777777 -1e-411111111 -> -1E-411111111
+mnmx356 min -1e-777777777 +1e-411111111 -> -1E-777777777
+mnmx357 min +1e-777777777 -1e-411111111 -> -1E-411111111
+mnmx358 min +1e-777777777 +1e-411111111 ->  1E-777777777
+
+-- expanded list from min/max 754r purple prose
+-- [explicit tests for exponent ordering]
+mnmx401 min  Inf    1.1     ->  1.1
+mnmx402 min  1.1    1       ->  1
+mnmx403 min  1      1.0     ->  1.0
+mnmx404 min  1.0    0.1     ->  0.1
+mnmx405 min  0.1    0.10    ->  0.10
+mnmx406 min  0.10   0.100   ->  0.100
+mnmx407 min  0.10   0       ->  0
+mnmx408 min  0      0.0     ->  0.0
+mnmx409 min  0.0   -0       -> -0
+mnmx410 min  0.0   -0.0     -> -0.0
+mnmx411 min  0.00  -0.0     -> -0.0
+mnmx412 min  0.0   -0.00    -> -0.00
+mnmx413 min  0     -0.0     -> -0.0
+mnmx414 min  0     -0       -> -0
+mnmx415 min -0.0   -0       -> -0
+mnmx416 min -0     -0.100   -> -0.100
+mnmx417 min -0.100 -0.10    -> -0.10
+mnmx418 min -0.10  -0.1     -> -0.1
+mnmx419 min -0.1   -1.0     -> -1.0
+mnmx420 min -1.0   -1       -> -1
+mnmx421 min -1     -1.1     -> -1.1
+mnmx423 min -1.1   -Inf     -> -Infinity
+-- same with operands reversed
+mnmx431 min  1.1    Inf     ->  1.1
+mnmx432 min  1      1.1     ->  1
+mnmx433 min  1.0    1       ->  1.0
+mnmx434 min  0.1    1.0     ->  0.1
+mnmx435 min  0.10   0.1     ->  0.10
+mnmx436 min  0.100  0.10    ->  0.100
+mnmx437 min  0      0.10    ->  0
+mnmx438 min  0.0    0       ->  0.0
+mnmx439 min -0      0.0     -> -0
+mnmx440 min -0.0    0.0     -> -0.0
+mnmx441 min -0.0    0.00    -> -0.0
+mnmx442 min -0.00   0.0     -> -0.00
+mnmx443 min -0.0    0       -> -0.0
+mnmx444 min -0      0       -> -0
+mnmx445 min -0     -0.0     -> -0
+mnmx446 min -0.100 -0       -> -0.100
+mnmx447 min -0.10  -0.100   -> -0.10
+mnmx448 min -0.1   -0.10    -> -0.1
+mnmx449 min -1.0   -0.1     -> -1.0
+mnmx450 min -1     -1.0     -> -1
+mnmx451 min -1.1   -1       -> -1.1
+mnmx453 min -Inf   -1.1     -> -Infinity
+-- largies
+mnmx460 min  1000   1E+3    ->  1000
+mnmx461 min  1E+3   1000    ->  1000
+mnmx462 min  1000  -1E+3    -> -1E+3
+mnmx463 min  1E+3  -1000    -> -1000
+mnmx464 min -1000   1E+3    -> -1000
+mnmx465 min -1E+3   1000    -> -1E+3
+mnmx466 min -1000  -1E+3    -> -1E+3
+mnmx467 min -1E+3  -1000    -> -1E+3
+
+
+-- overflow tests
+maxexponent: 999999999
+minexponent: -999999999
+precision: 3
+mnmx500 min 9.999E+999999999  0 ->  0
+mnmx501 min -9.999E+999999999 0 -> -Infinity Inexact Overflow Rounded
+
+-- subnormals and underflow
+precision: 3
+maxexponent: 999
+minexponent: -999
+mnmx510 min  1.00E-999       0  ->   0
+mnmx511 min  0.1E-999        0  ->   0
+mnmx512 min  0.10E-999       0  ->   0
+mnmx513 min  0.100E-999      0  ->   0
+mnmx514 min  0.01E-999       0  ->   0
+mnmx515 min  0.999E-999      0  ->   0
+mnmx516 min  0.099E-999      0  ->   0
+mnmx517 min  0.009E-999      0  ->   0
+mnmx518 min  0.001E-999      0  ->   0
+mnmx519 min  0.0009E-999     0  ->   0
+mnmx520 min  0.0001E-999     0  ->   0
+
+mnmx530 min -1.00E-999       0  ->  -1.00E-999
+mnmx531 min -0.1E-999        0  ->  -1E-1000   Subnormal
+mnmx532 min -0.10E-999       0  ->  -1.0E-1000 Subnormal
+mnmx533 min -0.100E-999      0  ->  -1.0E-1000 Subnormal Rounded
+mnmx534 min -0.01E-999       0  ->  -1E-1001   Subnormal
+-- next is rounded to Emin
+mnmx535 min -0.999E-999      0  ->  -1.00E-999 Inexact Rounded Subnormal Underflow
+mnmx536 min -0.099E-999      0  ->  -1.0E-1000 Inexact Rounded Subnormal Underflow
+mnmx537 min -0.009E-999      0  ->  -1E-1001   Inexact Rounded Subnormal Underflow
+mnmx538 min -0.001E-999      0  ->  -0E-1001   Inexact Rounded Subnormal Underflow
+mnmx539 min -0.0009E-999     0  ->  -0E-1001   Inexact Rounded Subnormal Underflow
+mnmx540 min -0.0001E-999     0  ->  -0E-1001   Inexact Rounded Subnormal Underflow
+
+
+-- Null tests
+mnm900 min 10  # -> NaN Invalid_operation
+mnm901 min  # 10 -> NaN Invalid_operation

Added: sandbox/trunk/decimal-c/decimaltestdata/minus.decTest
==============================================================================
--- (empty file)
+++ sandbox/trunk/decimal-c/decimaltestdata/minus.decTest	Tue May 23 13:34:01 2006
@@ -0,0 +1,182 @@
+------------------------------------------------------------------------
+-- minus.decTest -- decimal negation                                  --
+-- Copyright (c) IBM Corporation, 1981, 2004.  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 at uk.ibm.com                                                   --
+------------------------------------------------------------------------
+version: 2.39
+
+-- This set of tests primarily tests the existence of the operator.
+-- Subtraction, rounding, and more overflows are tested elsewhere.
+
+extended:    1
+precision:   9
+rounding:    half_up
+maxExponent: 384
+minexponent: -383
+
+minx001 minus '1'      -> '-1'
+minx002 minus '-1'     -> '1'
+minx003 minus '1.00'   -> '-1.00'
+minx004 minus '-1.00'  -> '1.00'
+minx005 minus '0'      -> '0'
+minx006 minus '0.00'   -> '0.00'
+minx007 minus '00.0'   -> '0.0'
+minx008 minus '00.00'  -> '0.00'
+minx009 minus '00'     -> '0'
+
+minx010 minus '-2'     -> '2'
+minx011 minus '2'      -> '-2'
+minx012 minus '-2.00'  -> '2.00'
+minx013 minus '2.00'   -> '-2.00'
+minx014 minus '-0'     -> '0'
+minx015 minus '-0.00'  -> '0.00'
+minx016 minus '-00.0'  -> '0.0'
+minx017 minus '-00.00' -> '0.00'
+minx018 minus '-00'    -> '0'
+
+-- "lhs" zeros in plus and minus have exponent = operand
+minx020 minus '-0E3'   -> '0E+3'
+minx021 minus '-0E2'   -> '0E+2'
+minx022 minus '-0E1'   -> '0E+1'
+minx023 minus '-0E0'   -> '0'
+minx024 minus '+0E0'   -> '0'
+minx025 minus '+0E1'   -> '0E+1'
+minx026 minus '+0E2'   -> '0E+2'
+minx027 minus '+0E3'   -> '0E+3'
+
+minx030 minus '-5E3'   -> '5E+3'
+minx031 minus '-5E8'   -> '5E+8'
+minx032 minus '-5E13'  -> '5E+13'
+minx033 minus '-5E18'  -> '5E+18'
+minx034 minus '+5E3'   -> '-5E+3'
+minx035 minus '+5E8'   -> '-5E+8'
+minx036 minus '+5E13'  -> '-5E+13'
+minx037 minus '+5E18'  -> '-5E+18'
+
+minx050 minus '-2000000' -> '2000000'
+minx051 minus '2000000'  -> '-2000000'
+precision: 7
+minx052 minus '-2000000' -> '2000000'
+minx053 minus '2000000'  -> '-2000000'
+precision: 6
+minx054 minus '-2000000' -> '2.00000E+6' Rounded
+minx055 minus '2000000'  -> '-2.00000E+6' Rounded
+precision: 3
+minx056 minus '-2000000' -> '2.00E+6' Rounded
+minx057 minus '2000000'  -> '-2.00E+6' Rounded
+
+-- more fixed, potential LHS swaps/overlays if done by 0 subtract x
+precision: 9
+minx060 minus '56267E-10'   -> '-0.0000056267'
+minx061 minus '56267E-5'    -> '-0.56267'
+minx062 minus '56267E-2'    -> '-562.67'
+minx063 minus '56267E-1'    -> '-5626.7'
+minx065 minus '56267E-0'    -> '-56267'
+minx066 minus '56267E+0'    -> '-56267'
+minx067 minus '56267E+1'    -> '-5.6267E+5'
+minx068 minus '56267E+2'    -> '-5.6267E+6'
+minx069 minus '56267E+3'    -> '-5.6267E+7'
+minx070 minus '56267E+4'    -> '-5.6267E+8'
+minx071 minus '56267E+5'    -> '-5.6267E+9'
+minx072 minus '56267E+6'    -> '-5.6267E+10'
+minx080 minus '-56267E-10'  -> '0.0000056267'
+minx081 minus '-56267E-5'   -> '0.56267'
+minx082 minus '-56267E-2'   -> '562.67'
+minx083 minus '-56267E-1'   -> '5626.7'
+minx085 minus '-56267E-0'   -> '56267'
+minx086 minus '-56267E+0'   -> '56267'
+minx087 minus '-56267E+1'   -> '5.6267E+5'
+minx088 minus '-56267E+2'   -> '5.6267E+6'
+minx089 minus '-56267E+3'   -> '5.6267E+7'
+minx090 minus '-56267E+4'   -> '5.6267E+8'
+minx091 minus '-56267E+5'   -> '5.6267E+9'
+minx092 minus '-56267E+6'   -> '5.6267E+10'
+
+
+-- overflow tests
+maxexponent: 999999999
+minexponent: -999999999
+precision: 3
+minx100 minus 9.999E+999999999  -> -Infinity Inexact Overflow Rounded
+minx101 minus -9.999E+999999999 ->  Infinity Inexact Overflow Rounded
+
+-- subnormals and underflow
+precision: 3
+maxexponent: 999
+minexponent: -999
+minx110 minus  1.00E-999        ->  -1.00E-999
+minx111 minus  0.1E-999         ->  -1E-1000   Subnormal
+minx112 minus  0.10E-999        ->  -1.0E-1000 Subnormal
+minx113 minus  0.100E-999       ->  -1.0E-1000 Subnormal Rounded
+minx114 minus  0.01E-999        ->  -1E-1001   Subnormal
+-- next is rounded to Emin
+minx115 minus  0.999E-999       ->  -1.00E-999 Inexact Rounded Subnormal Underflow
+minx116 minus  0.099E-999       ->  -1.0E-1000 Inexact Rounded Subnormal Underflow
+minx117 minus  0.009E-999       ->  -1E-1001   Inexact Rounded Subnormal Underflow
+minx118 minus  0.001E-999       ->  -0E-1001   Inexact Rounded Subnormal Underflow
+minx119 minus  0.0009E-999      ->  -0E-1001   Inexact Rounded Subnormal Underflow
+minx120 minus  0.0001E-999      ->  -0E-1001   Inexact Rounded Subnormal Underflow
+
+minx130 minus -1.00E-999        ->   1.00E-999
+minx131 minus -0.1E-999         ->   1E-1000   Subnormal
+minx132 minus -0.10E-999        ->   1.0E-1000 Subnormal
+minx133 minus -0.100E-999       ->   1.0E-1000 Subnormal Rounded
+minx134 minus -0.01E-999        ->   1E-1001   Subnormal
+-- next is rounded to Emin
+minx135 minus -0.999E-999       ->   1.00E-999 Inexact Rounded Subnormal Underflow
+minx136 minus -0.099E-999       ->   1.0E-1000 Inexact Rounded Subnormal Underflow
+minx137 minus -0.009E-999       ->   1E-1001   Inexact Rounded Subnormal Underflow
+minx138 minus -0.001E-999       ->   0E-1001   Inexact Rounded Subnormal Underflow
+minx139 minus -0.0009E-999      ->   0E-1001   Inexact Rounded Subnormal Underflow
+minx140 minus -0.0001E-999      ->   0E-1001   Inexact Rounded Subnormal Underflow
+
+
+-- long operand checks
+maxexponent: 999
+minexponent: -999
+precision: 9
+minx301 minus 12345678000  -> -1.23456780E+10 Rounded
+minx302 minus 1234567800   -> -1.23456780E+9 Rounded
+minx303 minus 1234567890   -> -1.23456789E+9 Rounded
+minx304 minus 1234567891   -> -1.23456789E+9 Inexact Rounded
+minx305 minus 12345678901  -> -1.23456789E+10 Inexact Rounded
+minx306 minus 1234567896   -> -1.23456790E+9 Inexact Rounded
+
+precision: 15
+-- still checking
+minx321 minus 12345678000  -> -12345678000
+minx322 minus 1234567800   -> -1234567800
+minx323 minus 1234567890   -> -1234567890
+minx324 minus 1234567891   -> -1234567891
+minx325 minus 12345678901  -> -12345678901
+minx326 minus 1234567896   -> -1234567896
+
+-- specials
+minx420 minus 'Inf'    -> '-Infinity'
+minx421 minus '-Inf'   -> 'Infinity'
+minx422 minus   NaN    ->  NaN
+minx423 minus  sNaN    ->  NaN    Invalid_operation
+minx424 minus   NaN255 ->  NaN255
+minx425 minus  sNaN256 ->  NaN256 Invalid_operation
+minx426 minus  -NaN    -> -NaN
+minx427 minus -sNaN    -> -NaN    Invalid_operation
+minx428 minus  -NaN255 -> -NaN255
+minx429 minus -sNaN256 -> -NaN256 Invalid_operation
+
+-- Null tests
+minx900 minus  # -> NaN Invalid_operation
+

Added: sandbox/trunk/decimal-c/decimaltestdata/multiply.decTest
==============================================================================
--- (empty file)
+++ sandbox/trunk/decimal-c/decimaltestdata/multiply.decTest	Tue May 23 13:34:01 2006
@@ -0,0 +1,651 @@
+------------------------------------------------------------------------
+-- multiply.decTest -- decimal multiplication                         --
+-- Copyright (c) IBM Corporation, 1981, 2004.  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 at uk.ibm.com                                                   --
+------------------------------------------------------------------------
+version: 2.39
+
+extended:    1
+precision:   9
+rounding:    half_up
+maxExponent: 384
+minexponent: -383
+
+-- sanity checks (as base, above)
+mulx000 multiply 2      2 -> 4
+mulx001 multiply 2      3 -> 6
+mulx002 multiply 5      1 -> 5
+mulx003 multiply 5      2 -> 10
+mulx004 multiply 1.20   2 -> 2.40
+mulx005 multiply 1.20   0 -> 0.00
+mulx006 multiply 1.20  -2 -> -2.40
+mulx007 multiply -1.20  2 -> -2.40
+mulx008 multiply -1.20  0 -> -0.00
+mulx009 multiply -1.20 -2 -> 2.40
+mulx010 multiply 5.09 7.1 -> 36.139
+mulx011 multiply 2.5    4 -> 10.0
+mulx012 multiply 2.50   4 -> 10.00
+mulx013 multiply 1.23456789 1.00000000 -> 1.23456789 Rounded
+mulx014 multiply 9.999999999 9.999999999 -> 100.000000 Inexact Rounded
+mulx015 multiply 2.50   4 -> 10.00
+precision: 6
+mulx016 multiply 2.50   4 -> 10.00
+mulx017 multiply 9.999999999 9.999999999 -> 100.000 Inexact Rounded
+
+-- 1999.12.21: next one is a edge case if intermediate longs are used
+precision: 15
+mulx019 multiply 999999999999 9765625 -> 9.76562499999023E+18 Inexact Rounded
+precision: 30
+mulx160 multiply 999999999999 9765625 -> 9765624999990234375
+precision: 9
+-----
+
+-- zeros, etc.
+mulx020 multiply  0      0     ->  0
+mulx021 multiply  0     -0     -> -0
+mulx022 multiply -0      0     -> -0
+mulx023 multiply -0     -0     ->  0
+mulx030 multiply  5.00   1E-3  ->  0.00500
+mulx031 multiply  00.00  0.000 ->  0.00000
+mulx032 multiply  00.00  0E-3  ->  0.00000     -- rhs is 0
+mulx033 multiply  0E-3   00.00 ->  0.00000     -- lhs is 0
+mulx034 multiply -5.00   1E-3  -> -0.00500
+mulx035 multiply -00.00  0.000 -> -0.00000
+mulx036 multiply -00.00  0E-3  -> -0.00000     -- rhs is 0
+mulx037 multiply -0E-3   00.00 -> -0.00000     -- lhs is 0
+mulx038 multiply  5.00  -1E-3  -> -0.00500
+mulx039 multiply  00.00 -0.000 -> -0.00000
+mulx040 multiply  00.00 -0E-3  -> -0.00000     -- rhs is 0
+mulx041 multiply  0E-3  -00.00 -> -0.00000     -- lhs is 0
+mulx042 multiply -5.00  -1E-3  ->  0.00500
+mulx043 multiply -00.00 -0.000 ->  0.00000
+mulx044 multiply -00.00 -0E-3  ->  0.00000     -- rhs is 0
+mulx045 multiply -0E-3  -00.00 ->  0.00000     -- lhs is 0
+
+-- examples from decarith
+mulx050 multiply 1.20 3        -> 3.60
+mulx051 multiply 7    3        -> 21
+mulx052 multiply 0.9  0.8      -> 0.72
+mulx053 multiply 0.9  -0       -> -0.0
+mulx054 multiply 654321 654321 -> 4.28135971E+11  Inexact Rounded
+
+mulx060 multiply 123.45 1e7  ->  1.2345E+9
+mulx061 multiply 123.45 1e8  ->  1.2345E+10
+mulx062 multiply 123.45 1e+9 ->  1.2345E+11
+mulx063 multiply 123.45 1e10 ->  1.2345E+12
+mulx064 multiply 123.45 1e11 ->  1.2345E+13
+mulx065 multiply 123.45 1e12 ->  1.2345E+14
+mulx066 multiply 123.45 1e13 ->  1.2345E+15
+
+
+-- test some intermediate lengths
+precision: 9
+mulx080 multiply 0.1 123456789           -> 12345678.9
+mulx081 multiply 0.1 1234567891          -> 123456789 Inexact Rounded
+mulx082 multiply 0.1 12345678912         -> 1.23456789E+9 Inexact Rounded
+mulx083 multiply 0.1 12345678912345      -> 1.23456789E+12 Inexact Rounded
+mulx084 multiply 0.1 123456789           -> 12345678.9
+precision: 8
+mulx085 multiply 0.1 12345678912         -> 1.2345679E+9 Inexact Rounded
+mulx086 multiply 0.1 12345678912345      -> 1.2345679E+12 Inexact Rounded
+precision: 7
+mulx087 multiply 0.1 12345678912         -> 1.234568E+9 Inexact Rounded
+mulx088 multiply 0.1 12345678912345      -> 1.234568E+12 Inexact Rounded
+
+precision: 9
+mulx090 multiply 123456789          0.1 -> 12345678.9
+mulx091 multiply 1234567891         0.1 -> 123456789 Inexact Rounded
+mulx092 multiply 12345678912        0.1 -> 1.23456789E+9 Inexact Rounded
+mulx093 multiply 12345678912345     0.1 -> 1.23456789E+12 Inexact Rounded
+mulx094 multiply 123456789          0.1 -> 12345678.9
+precision: 8
+mulx095 multiply 12345678912        0.1 -> 1.2345679E+9 Inexact Rounded
+mulx096 multiply 12345678912345     0.1 -> 1.2345679E+12 Inexact Rounded
+precision: 7
+mulx097 multiply 12345678912        0.1 -> 1.234568E+9 Inexact Rounded
+mulx098 multiply 12345678912345     0.1 -> 1.234568E+12 Inexact Rounded
+
+-- test some more edge cases and carries
+maxexponent: 9999
+minexponent: -9999
+precision: 33
+mulx101 multiply 9 9   -> 81
+mulx102 multiply 9 90   -> 810
+mulx103 multiply 9 900   -> 8100
+mulx104 multiply 9 9000   -> 81000
+mulx105 multiply 9 90000   -> 810000
+mulx106 multiply 9 900000   -> 8100000
+mulx107 multiply 9 9000000   -> 81000000
+mulx108 multiply 9 90000000   -> 810000000
+mulx109 multiply 9 900000000   -> 8100000000
+mulx110 multiply 9 9000000000   -> 81000000000
+mulx111 multiply 9 90000000000   -> 810000000000
+mulx112 multiply 9 900000000000   -> 8100000000000
+mulx113 multiply 9 9000000000000   -> 81000000000000
+mulx114 multiply 9 90000000000000   -> 810000000000000
+mulx115 multiply 9 900000000000000   -> 8100000000000000
+mulx116 multiply 9 9000000000000000   -> 81000000000000000
+mulx117 multiply 9 90000000000000000   -> 810000000000000000
+mulx118 multiply 9 900000000000000000   -> 8100000000000000000
+mulx119 multiply 9 9000000000000000000   -> 81000000000000000000
+mulx120 multiply 9 90000000000000000000   -> 810000000000000000000
+mulx121 multiply 9 900000000000000000000   -> 8100000000000000000000
+mulx122 multiply 9 9000000000000000000000   -> 81000000000000000000000
+mulx123 multiply 9 90000000000000000000000   -> 810000000000000000000000
+-- test some more edge cases without carries
+mulx131 multiply 3 3   -> 9
+mulx132 multiply 3 30   -> 90
+mulx133 multiply 3 300   -> 900
+mulx134 multiply 3 3000   -> 9000
+mulx135 multiply 3 30000   -> 90000
+mulx136 multiply 3 300000   -> 900000
+mulx137 multiply 3 3000000   -> 9000000
+mulx138 multiply 3 30000000   -> 90000000
+mulx139 multiply 3 300000000   -> 900000000
+mulx140 multiply 3 3000000000   -> 9000000000
+mulx141 multiply 3 30000000000   -> 90000000000
+mulx142 multiply 3 300000000000   -> 900000000000
+mulx143 multiply 3 3000000000000   -> 9000000000000
+mulx144 multiply 3 30000000000000   -> 90000000000000
+mulx145 multiply 3 300000000000000   -> 900000000000000
+mulx146 multiply 3 3000000000000000   -> 9000000000000000
+mulx147 multiply 3 30000000000000000   -> 90000000000000000
+mulx148 multiply 3 300000000000000000   -> 900000000000000000
+mulx149 multiply 3 3000000000000000000   -> 9000000000000000000
+mulx150 multiply 3 30000000000000000000   -> 90000000000000000000
+mulx151 multiply 3 300000000000000000000   -> 900000000000000000000
+mulx152 multiply 3 3000000000000000000000   -> 9000000000000000000000
+mulx153 multiply 3 30000000000000000000000   -> 90000000000000000000000
+
+maxexponent: 999999999
+minexponent: -999999999
+precision: 9
+-- test some cases that are close to exponent overflow/underflow
+mulx170 multiply 1 9e999999999    -> 9E+999999999
+mulx171 multiply 1 9.9e999999999  -> 9.9E+999999999
+mulx172 multiply 1 9.99e999999999 -> 9.99E+999999999
+mulx173 multiply 9e999999999    1 -> 9E+999999999
+mulx174 multiply 9.9e999999999  1 -> 9.9E+999999999
+mulx176 multiply 9.99e999999999 1 -> 9.99E+999999999
+mulx177 multiply 1 9.99999999e999999999 -> 9.99999999E+999999999
+mulx178 multiply 9.99999999e999999999 1 -> 9.99999999E+999999999
+
+mulx180 multiply 0.1 9e-999999998   -> 9E-999999999
+mulx181 multiply 0.1 99e-999999998  -> 9.9E-999999998
+mulx182 multiply 0.1 999e-999999998 -> 9.99E-999999997
+
+mulx183 multiply 0.1 9e-999999998     -> 9E-999999999
+mulx184 multiply 0.1 99e-999999998    -> 9.9E-999999998
+mulx185 multiply 0.1 999e-999999998   -> 9.99E-999999997
+mulx186 multiply 0.1 999e-999999997   -> 9.99E-999999996
+mulx187 multiply 0.1 9999e-999999997  -> 9.999E-999999995
+mulx188 multiply 0.1 99999e-999999997 -> 9.9999E-999999994
+
+mulx190 multiply 1 9e-999999998   -> 9E-999999998
+mulx191 multiply 1 99e-999999998  -> 9.9E-999999997
+mulx192 multiply 1 999e-999999998 -> 9.99E-999999996
+mulx193 multiply 9e-999999998   1 -> 9E-999999998
+mulx194 multiply 99e-999999998  1 -> 9.9E-999999997
+mulx195 multiply 999e-999999998 1 -> 9.99E-999999996
+
+mulx196 multiply 1e-599999999 1e-400000000 -> 1E-999999999
+mulx197 multiply 1e-600000000 1e-399999999 -> 1E-999999999
+mulx198 multiply 1.2e-599999999 1.2e-400000000 -> 1.44E-999999999
+mulx199 multiply 1.2e-600000000 1.2e-399999999 -> 1.44E-999999999
+
+mulx201 multiply 1e599999999 1e400000000 -> 1E+999999999
+mulx202 multiply 1e600000000 1e399999999 -> 1E+999999999
+mulx203 multiply 1.2e599999999 1.2e400000000 -> 1.44E+999999999
+mulx204 multiply 1.2e600000000 1.2e399999999 -> 1.44E+999999999
+
+-- long operand triangle
+precision: 33
+mulx246 multiply 30269.587755640502150977251770554 4.8046009735990873395936309640543 -> 145433.290801193369671916511992830 Inexact Rounded
+precision: 32
+mulx247 multiply 30269.587755640502150977251770554 4.8046009735990873395936309640543 -> 145433.29080119336967191651199283  Inexact Rounded
+precision: 31
+mulx248 multiply 30269.587755640502150977251770554 4.8046009735990873395936309640543 -> 145433.2908011933696719165119928   Inexact Rounded
+precision: 30
+mulx249 multiply 30269.587755640502150977251770554 4.8046009735990873395936309640543 -> 145433.290801193369671916511993    Inexact Rounded
+precision: 29
+mulx250 multiply 30269.587755640502150977251770554 4.8046009735990873395936309640543 -> 145433.29080119336967191651199     Inexact Rounded
+precision: 28
+mulx251 multiply 30269.587755640502150977251770554 4.8046009735990873395936309640543 -> 145433.2908011933696719165120      Inexact Rounded
+precision: 27
+mulx252 multiply 30269.587755640502150977251770554 4.8046009735990873395936309640543 -> 145433.290801193369671916512       Inexact Rounded
+precision: 26
+mulx253 multiply 30269.587755640502150977251770554 4.8046009735990873395936309640543 -> 145433.29080119336967191651        Inexact Rounded
+precision: 25
+mulx254 multiply 30269.587755640502150977251770554 4.8046009735990873395936309640543 -> 145433.2908011933696719165         Inexact Rounded
+precision: 24
+mulx255 multiply 30269.587755640502150977251770554 4.8046009735990873395936309640543 -> 145433.290801193369671917          Inexact Rounded
+precision: 23
+mulx256 multiply 30269.587755640502150977251770554 4.8046009735990873395936309640543 -> 145433.29080119336967192           Inexact Rounded
+precision: 22
+mulx257 multiply 30269.587755640502150977251770554 4.8046009735990873395936309640543 -> 145433.2908011933696719            Inexact Rounded
+precision: 21
+mulx258 multiply 30269.587755640502150977251770554 4.8046009735990873395936309640543 -> 145433.290801193369672             Inexact Rounded
+precision: 20
+mulx259 multiply 30269.587755640502150977251770554 4.8046009735990873395936309640543 -> 145433.29080119336967              Inexact Rounded
+precision: 19
+mulx260 multiply 30269.587755640502150977251770554 4.8046009735990873395936309640543 -> 145433.2908011933697               Inexact Rounded
+precision: 18
+mulx261 multiply 30269.587755640502150977251770554 4.8046009735990873395936309640543 -> 145433.290801193370                Inexact Rounded
+precision: 17
+mulx262 multiply 30269.587755640502150977251770554 4.8046009735990873395936309640543 -> 145433.29080119337                 Inexact Rounded
+precision: 16
+mulx263 multiply 30269.587755640502150977251770554 4.8046009735990873395936309640543 -> 145433.2908011934                  Inexact Rounded
+precision: 15
+mulx264 multiply 30269.587755640502150977251770554 4.8046009735990873395936309640543 -> 145433.290801193                   Inexact Rounded
+precision: 14
+mulx265 multiply 30269.587755640502150977251770554 4.8046009735990873395936309640543 -> 145433.29080119                    Inexact Rounded
+precision: 13
+mulx266 multiply 30269.587755640502150977251770554 4.8046009735990873395936309640543 -> 145433.2908012                     Inexact Rounded
+precision: 12
+mulx267 multiply 30269.587755640502150977251770554 4.8046009735990873395936309640543 -> 145433.290801                      Inexact Rounded
+precision: 11
+mulx268 multiply 30269.587755640502150977251770554 4.8046009735990873395936309640543 -> 145433.29080                       Inexact Rounded
+precision: 10
+mulx269 multiply 30269.587755640502150977251770554 4.8046009735990873395936309640543 -> 145433.2908                        Inexact Rounded
+precision:  9
+mulx270 multiply 30269.587755640502150977251770554 4.8046009735990873395936309640543 -> 145433.291                         Inexact Rounded
+precision:  8
+mulx271 multiply 30269.587755640502150977251770554 4.8046009735990873395936309640543 -> 145433.29                          Inexact Rounded
+precision:  7
+mulx272 multiply 30269.587755640502150977251770554 4.8046009735990873395936309640543 -> 145433.3                           Inexact Rounded
+precision:  6
+mulx273 multiply 30269.587755640502150977251770554 4.8046009735990873395936309640543 -> 145433                            Inexact Rounded
+precision:  5
+mulx274 multiply 30269.587755640502150977251770554 4.8046009735990873395936309640543 -> 1.4543E+5                         Inexact Rounded
+precision:  4
+mulx275 multiply 30269.587755640502150977251770554 4.8046009735990873395936309640543 -> 1.454E+5                         Inexact Rounded
+precision:  3
+mulx276 multiply 30269.587755640502150977251770554 4.8046009735990873395936309640543 -> 1.45E+5                         Inexact Rounded
+precision:  2
+mulx277 multiply 30269.587755640502150977251770554 4.8046009735990873395936309640543 -> 1.5E+5                         Inexact Rounded
+precision:  1
+mulx278 multiply 30269.587755640502150977251770554 4.8046009735990873395936309640543 -> 1E+5                          Inexact Rounded
+
+-- tryzeros cases
+precision:   7
+rounding:    half_up
+maxExponent: 92
+minexponent: -92
+mulx504  multiply  0E-60 1000E-60  -> 0E-98 Clamped
+mulx505  multiply  100E+60 0E+60   -> 0E+92 Clamped
+
+-- mixed with zeros
+maxexponent: 999999999
+minexponent: -999999999
+precision: 9
+mulx541 multiply  0    -1     -> -0
+mulx542 multiply -0    -1     ->  0
+mulx543 multiply  0     1     ->  0
+mulx544 multiply -0     1     -> -0
+mulx545 multiply -1     0     -> -0
+mulx546 multiply -1    -0     ->  0
+mulx547 multiply  1     0     ->  0
+mulx548 multiply  1    -0     -> -0
+
+mulx551 multiply  0.0  -1     -> -0.0
+mulx552 multiply -0.0  -1     ->  0.0
+mulx553 multiply  0.0   1     ->  0.0
+mulx554 multiply -0.0   1     -> -0.0
+mulx555 multiply -1.0   0     -> -0.0
+mulx556 multiply -1.0  -0     ->  0.0
+mulx557 multiply  1.0   0     ->  0.0
+mulx558 multiply  1.0  -0     -> -0.0
+
+mulx561 multiply  0    -1.0   -> -0.0
+mulx562 multiply -0    -1.0   ->  0.0
+mulx563 multiply  0     1.0   ->  0.0
+mulx564 multiply -0     1.0   -> -0.0
+mulx565 multiply -1     0.0   -> -0.0
+mulx566 multiply -1    -0.0   ->  0.0
+mulx567 multiply  1     0.0   ->  0.0
+mulx568 multiply  1    -0.0   -> -0.0
+
+mulx571 multiply  0.0  -1.0   -> -0.00
+mulx572 multiply -0.0  -1.0   ->  0.00
+mulx573 multiply  0.0   1.0   ->  0.00
+mulx574 multiply -0.0   1.0   -> -0.00
+mulx575 multiply -1.0   0.0   -> -0.00
+mulx576 multiply -1.0  -0.0   ->  0.00
+mulx577 multiply  1.0   0.0   ->  0.00
+mulx578 multiply  1.0  -0.0   -> -0.00
+
+
+-- Specials
+mulx580 multiply  Inf  -Inf   -> -Infinity
+mulx581 multiply  Inf  -1000  -> -Infinity
+mulx582 multiply  Inf  -1     -> -Infinity
+mulx583 multiply  Inf  -0     ->  NaN  Invalid_operation
+mulx584 multiply  Inf   0     ->  NaN  Invalid_operation
+mulx585 multiply  Inf   1     ->  Infinity
+mulx586 multiply  Inf   1000  ->  Infinity
+mulx587 multiply  Inf   Inf   ->  Infinity
+mulx588 multiply -1000  Inf   -> -Infinity
+mulx589 multiply -Inf   Inf   -> -Infinity
+mulx590 multiply -1     Inf   -> -Infinity
+mulx591 multiply -0     Inf   ->  NaN  Invalid_operation
+mulx592 multiply  0     Inf   ->  NaN  Invalid_operation
+mulx593 multiply  1     Inf   ->  Infinity
+mulx594 multiply  1000  Inf   ->  Infinity
+mulx595 multiply  Inf   Inf   ->  Infinity
+
+mulx600 multiply -Inf  -Inf   ->  Infinity
+mulx601 multiply -Inf  -1000  ->  Infinity
+mulx602 multiply -Inf  -1     ->  Infinity
+mulx603 multiply -Inf  -0     ->  NaN  Invalid_operation
+mulx604 multiply -Inf   0     ->  NaN  Invalid_operation
+mulx605 multiply -Inf   1     -> -Infinity
+mulx606 multiply -Inf   1000  -> -Infinity
+mulx607 multiply -Inf   Inf   -> -Infinity
+mulx608 multiply -1000  Inf   -> -Infinity
+mulx609 multiply -Inf  -Inf   ->  Infinity
+mulx610 multiply -1    -Inf   ->  Infinity
+mulx611 multiply -0    -Inf   ->  NaN  Invalid_operation
+mulx612 multiply  0    -Inf   ->  NaN  Invalid_operation
+mulx613 multiply  1    -Inf   -> -Infinity
+mulx614 multiply  1000 -Inf   -> -Infinity
+mulx615 multiply  Inf  -Inf   -> -Infinity
+
+mulx621 multiply  NaN -Inf    ->  NaN
+mulx622 multiply  NaN -1000   ->  NaN
+mulx623 multiply  NaN -1      ->  NaN
+mulx624 multiply  NaN -0      ->  NaN
+mulx625 multiply  NaN  0      ->  NaN
+mulx626 multiply  NaN  1      ->  NaN
+mulx627 multiply  NaN  1000   ->  NaN
+mulx628 multiply  NaN  Inf    ->  NaN
+mulx629 multiply  NaN  NaN    ->  NaN
+mulx630 multiply -Inf  NaN    ->  NaN
+mulx631 multiply -1000 NaN    ->  NaN
+mulx632 multiply -1    NaN    ->  NaN
+mulx633 multiply -0    NaN    ->  NaN
+mulx634 multiply  0    NaN    ->  NaN
+mulx635 multiply  1    NaN    ->  NaN
+mulx636 multiply  1000 NaN    ->  NaN
+mulx637 multiply  Inf  NaN    ->  NaN
+
+mulx641 multiply  sNaN -Inf   ->  NaN  Invalid_operation
+mulx642 multiply  sNaN -1000  ->  NaN  Invalid_operation
+mulx643 multiply  sNaN -1     ->  NaN  Invalid_operation
+mulx644 multiply  sNaN -0     ->  NaN  Invalid_operation
+mulx645 multiply  sNaN  0     ->  NaN  Invalid_operation
+mulx646 multiply  sNaN  1     ->  NaN  Invalid_operation
+mulx647 multiply  sNaN  1000  ->  NaN  Invalid_operation
+mulx648 multiply  sNaN  NaN   ->  NaN  Invalid_operation
+mulx649 multiply  sNaN sNaN   ->  NaN  Invalid_operation
+mulx650 multiply  NaN  sNaN   ->  NaN  Invalid_operation
+mulx651 multiply -Inf  sNaN   ->  NaN  Invalid_operation
+mulx652 multiply -1000 sNaN   ->  NaN  Invalid_operation
+mulx653 multiply -1    sNaN   ->  NaN  Invalid_operation
+mulx654 multiply -0    sNaN   ->  NaN  Invalid_operation
+mulx655 multiply  0    sNaN   ->  NaN  Invalid_operation
+mulx656 multiply  1    sNaN   ->  NaN  Invalid_operation
+mulx657 multiply  1000 sNaN   ->  NaN  Invalid_operation
+mulx658 multiply  Inf  sNaN   ->  NaN  Invalid_operation
+mulx659 multiply  NaN  sNaN   ->  NaN  Invalid_operation
+
+-- propagating NaNs
+mulx661 multiply  NaN9 -Inf   ->  NaN9
+mulx662 multiply  NaN8  999   ->  NaN8
+mulx663 multiply  NaN71 Inf   ->  NaN71
+mulx664 multiply  NaN6  NaN5  ->  NaN6
+mulx665 multiply -Inf   NaN4  ->  NaN4
+mulx666 multiply -999   NaN33 ->  NaN33
+mulx667 multiply  Inf   NaN2  ->  NaN2
+
+mulx671 multiply  sNaN99 -Inf    ->  NaN99 Invalid_operation
+mulx672 multiply  sNaN98 -11     ->  NaN98 Invalid_operation
+mulx673 multiply  sNaN97  NaN    ->  NaN97 Invalid_operation
+mulx674 multiply  sNaN16 sNaN94  ->  NaN16 Invalid_operation
+mulx675 multiply  NaN95  sNaN93  ->  NaN93 Invalid_operation
+mulx676 multiply -Inf    sNaN92  ->  NaN92 Invalid_operation
+mulx677 multiply  088    sNaN91  ->  NaN91 Invalid_operation
+mulx678 multiply  Inf    sNaN90  ->  NaN90 Invalid_operation
+mulx679 multiply  NaN    sNaN89  ->  NaN89 Invalid_operation
+
+mulx681 multiply -NaN9 -Inf   -> -NaN9
+mulx682 multiply -NaN8  999   -> -NaN8
+mulx683 multiply -NaN71 Inf   -> -NaN71
+mulx684 multiply -NaN6 -NaN5  -> -NaN6
+mulx685 multiply -Inf  -NaN4  -> -NaN4
+mulx686 multiply -999  -NaN33 -> -NaN33
+mulx687 multiply  Inf  -NaN2  -> -NaN2
+
+mulx691 multiply -sNaN99 -Inf    -> -NaN99 Invalid_operation
+mulx692 multiply -sNaN98 -11     -> -NaN98 Invalid_operation
+mulx693 multiply -sNaN97  NaN    -> -NaN97 Invalid_operation
+mulx694 multiply -sNaN16 -sNaN94 -> -NaN16 Invalid_operation
+mulx695 multiply -NaN95  -sNaN93 -> -NaN93 Invalid_operation
+mulx696 multiply -Inf    -sNaN92 -> -NaN92 Invalid_operation
+mulx697 multiply  088    -sNaN91 -> -NaN91 Invalid_operation
+mulx698 multiply  Inf    -sNaN90 -> -NaN90 Invalid_operation
+mulx699 multiply -NaN    -sNaN89 -> -NaN89 Invalid_operation
+
+mulx701 multiply -NaN  -Inf   -> -NaN
+mulx702 multiply -NaN   999   -> -NaN
+mulx703 multiply -NaN   Inf   -> -NaN
+mulx704 multiply -NaN  -NaN   -> -NaN
+mulx705 multiply -Inf  -NaN0  -> -NaN
+mulx706 multiply -999  -NaN   -> -NaN
+mulx707 multiply  Inf  -NaN   -> -NaN
+
+mulx711 multiply -sNaN   -Inf    -> -NaN Invalid_operation
+mulx712 multiply -sNaN   -11     -> -NaN Invalid_operation
+mulx713 multiply -sNaN00  NaN    -> -NaN Invalid_operation
+mulx714 multiply -sNaN   -sNaN   -> -NaN Invalid_operation
+mulx715 multiply -NaN    -sNaN   -> -NaN Invalid_operation
+mulx716 multiply -Inf    -sNaN   -> -NaN Invalid_operation
+mulx717 multiply  088    -sNaN   -> -NaN Invalid_operation
+mulx718 multiply  Inf    -sNaN   -> -NaN Invalid_operation
+mulx719 multiply -NaN    -sNaN   -> -NaN Invalid_operation
+
+-- overflow and underflow tests .. note subnormal results
+maxexponent: 999999999
+minexponent: -999999999
+mulx730 multiply +1.23456789012345E-0 9E+999999999 -> Infinity Inexact Overflow Rounded
+mulx731 multiply 9E+999999999 +1.23456789012345E-0 -> Infinity Inexact Overflow Rounded
+mulx732 multiply +0.100 9E-999999999 -> 9.00E-1000000000 Subnormal
+mulx733 multiply 9E-999999999 +0.100 -> 9.00E-1000000000 Subnormal
+mulx735 multiply -1.23456789012345E-0 9E+999999999 -> -Infinity Inexact Overflow Rounded
+mulx736 multiply 9E+999999999 -1.23456789012345E-0 -> -Infinity Inexact Overflow Rounded
+mulx737 multiply -0.100 9E-999999999 -> -9.00E-1000000000 Subnormal
+mulx738 multiply 9E-999999999 -0.100 -> -9.00E-1000000000 Subnormal
+
+mulx739 multiply 1e-599999999 1e-400000001 -> 1E-1000000000 Subnormal
+mulx740 multiply 1e-599999999 1e-400000000 -> 1E-999999999
+mulx741 multiply 1e-600000000 1e-400000000 -> 1E-1000000000 Subnormal
+mulx742 multiply 9e-999999998 0.01 -> 9E-1000000000 Subnormal
+mulx743 multiply 9e-999999998 0.1  -> 9E-999999999
+mulx744 multiply 0.01 9e-999999998 -> 9E-1000000000 Subnormal
+mulx745 multiply 1e599999999 1e400000001 -> Infinity Overflow Inexact Rounded
+mulx746 multiply 1e599999999 1e400000000 -> 1E+999999999
+mulx747 multiply 1e600000000 1e400000000 -> Infinity Overflow Inexact Rounded
+mulx748 multiply 9e999999998 100  -> Infinity Overflow Inexact Rounded
+mulx749 multiply 9e999999998 10   -> 9.0E+999999999
+mulx750 multiply 100  9e999999998 -> Infinity Overflow Inexact Rounded
+-- signs
+mulx751 multiply  1e+777777777  1e+411111111 ->  Infinity Overflow Inexact Rounded
+mulx752 multiply  1e+777777777 -1e+411111111 -> -Infinity Overflow Inexact Rounded
+mulx753 multiply -1e+777777777  1e+411111111 -> -Infinity Overflow Inexact Rounded
+mulx754 multiply -1e+777777777 -1e+411111111 ->  Infinity Overflow Inexact Rounded
+mulx755 multiply  1e-777777777  1e-411111111 ->  0E-1000000007 Underflow Subnormal Inexact Rounded
+mulx756 multiply  1e-777777777 -1e-411111111 -> -0E-1000000007 Underflow Subnormal Inexact Rounded
+mulx757 multiply -1e-777777777  1e-411111111 -> -0E-1000000007 Underflow Subnormal Inexact Rounded
+mulx758 multiply -1e-777777777 -1e-411111111 ->  0E-1000000007 Underflow Subnormal Inexact Rounded
+
+-- 'subnormal' boundary (all hard underflow or overflow in base arithemtic)
+precision: 9
+mulx760 multiply 1e-600000000 1e-400000001 -> 1E-1000000001 Subnormal
+mulx761 multiply 1e-600000000 1e-400000002 -> 1E-1000000002 Subnormal
+mulx762 multiply 1e-600000000 1e-400000003 -> 1E-1000000003 Subnormal
+mulx763 multiply 1e-600000000 1e-400000004 -> 1E-1000000004 Subnormal
+mulx764 multiply 1e-600000000 1e-400000005 -> 1E-1000000005 Subnormal
+mulx765 multiply 1e-600000000 1e-400000006 -> 1E-1000000006 Subnormal
+mulx766 multiply 1e-600000000 1e-400000007 -> 1E-1000000007 Subnormal
+mulx767 multiply 1e-600000000 1e-400000008 -> 0E-1000000007 Underflow Subnormal Inexact Rounded
+mulx768 multiply 1e-600000000 1e-400000009 -> 0E-1000000007 Underflow Subnormal Inexact Rounded
+mulx769 multiply 1e-600000000 1e-400000010 -> 0E-1000000007 Underflow Subnormal Inexact Rounded
+-- [no equivalent of 'subnormal' for overflow]
+mulx770 multiply 1e+600000000 1e+400000001 -> Infinity Overflow Inexact Rounded
+mulx771 multiply 1e+600000000 1e+400000002 -> Infinity Overflow Inexact Rounded
+mulx772 multiply 1e+600000000 1e+400000003 -> Infinity Overflow Inexact Rounded
+mulx773 multiply 1e+600000000 1e+400000004 -> Infinity Overflow Inexact Rounded
+mulx774 multiply 1e+600000000 1e+400000005 -> Infinity Overflow Inexact Rounded
+mulx775 multiply 1e+600000000 1e+400000006 -> Infinity Overflow Inexact Rounded
+mulx776 multiply 1e+600000000 1e+400000007 -> Infinity Overflow Inexact Rounded
+mulx777 multiply 1e+600000000 1e+400000008 -> Infinity Overflow Inexact Rounded
+mulx778 multiply 1e+600000000 1e+400000009 -> Infinity Overflow Inexact Rounded
+mulx779 multiply 1e+600000000 1e+400000010 -> Infinity Overflow Inexact Rounded
+
+-- 'subnormal' test edge condition at higher precisions
+precision: 99
+mulx780 multiply 1e-600000000 1e-400000007 -> 1E-1000000007 Subnormal
+mulx781 multiply 1e-600000000 1e-400000008 -> 1E-1000000008 Subnormal
+mulx782 multiply 1e-600000000 1e-400000097 -> 1E-1000000097 Subnormal
+mulx783 multiply 1e-600000000 1e-400000098 -> 0E-1000000097 Underflow Subnormal Inexact Rounded
+precision: 999
+mulx784 multiply 1e-600000000 1e-400000997 -> 1E-1000000997 Subnormal
+mulx785 multiply 1e-600000000 1e-400000998 -> 0E-1000000997 Underflow Subnormal Inexact Rounded
+
+-- following testcases [through mulx800] not yet run against code
+precision: 9999
+mulx786 multiply 1e-600000000 1e-400009997 -> 1E-1000009997 Subnormal
+mulx787 multiply 1e-600000000 1e-400009998 -> 0E-1000009997 Underflow Subnormal Inexact Rounded
+precision: 99999
+mulx788 multiply 1e-600000000 1e-400099997 -> 1E-1000099997 Subnormal
+mulx789 multiply 1e-600000000 1e-400099998 -> 0E-1000099997 Underflow Subnormal Inexact Rounded
+precision: 999999
+mulx790 multiply 1e-600000000 1e-400999997 -> 1E-1000999997 Subnormal
+mulx791 multiply 1e-600000000 1e-400999998 -> 0E-1000999997 Underflow Subnormal Inexact Rounded
+precision: 9999999
+mulx792 multiply 1e-600000000 1e-409999997 -> 1E-1009999997 Subnormal
+mulx793 multiply 1e-600000000 1e-409999998 -> 0E-1009999997 Underflow Subnormal Inexact Rounded
+precision: 99999999
+mulx794 multiply 1e-600000000 1e-499999997 -> 1E-1099999997 Subnormal
+mulx795 multiply 1e-600000000 1e-499999998 -> 0E-1099999997 Underflow Subnormal Inexact Rounded
+precision: 999999999
+mulx796 multiply 1e-999999999 1e-999999997 -> 1E-1999999996 Subnormal
+mulx797 multiply 1e-999999999 1e-999999998 -> 1E-1999999997 Subnormal
+mulx798 multiply 1e-999999999 1e-999999999 -> 0E-1999999997 Underflow Subnormal Inexact Rounded
+mulx799 multiply 1e-600000000 1e-400000007 -> 1E-1000000007 Subnormal
+mulx800 multiply 1e-600000000 1e-400000008 -> 1E-1000000008 Subnormal
+
+-- test subnormals rounding
+precision:   5
+maxExponent: 999
+minexponent: -999
+rounding:    half_even
+
+mulx801 multiply  1.0000E-999  1     -> 1.0000E-999
+mulx802 multiply  1.000E-999   1e-1  -> 1.000E-1000 Subnormal
+mulx803 multiply  1.00E-999    1e-2  -> 1.00E-1001  Subnormal
+mulx804 multiply  1.0E-999     1e-3  -> 1.0E-1002   Subnormal
+mulx805 multiply  1.0E-999     1e-4  -> 1E-1003     Subnormal Rounded
+mulx806 multiply  1.3E-999     1e-4  -> 1E-1003     Underflow Subnormal Inexact Rounded
+mulx807 multiply  1.5E-999     1e-4  -> 2E-1003     Underflow Subnormal Inexact Rounded
+mulx808 multiply  1.7E-999     1e-4  -> 2E-1003     Underflow Subnormal Inexact Rounded
+mulx809 multiply  2.3E-999     1e-4  -> 2E-1003     Underflow Subnormal Inexact Rounded
+mulx810 multiply  2.5E-999     1e-4  -> 2E-1003     Underflow Subnormal Inexact Rounded
+mulx811 multiply  2.7E-999     1e-4  -> 3E-1003     Underflow Subnormal Inexact Rounded
+mulx812 multiply  1.49E-999    1e-4  -> 1E-1003     Underflow Subnormal Inexact Rounded
+mulx813 multiply  1.50E-999    1e-4  -> 2E-1003     Underflow Subnormal Inexact Rounded
+mulx814 multiply  1.51E-999    1e-4  -> 2E-1003     Underflow Subnormal Inexact Rounded
+mulx815 multiply  2.49E-999    1e-4  -> 2E-1003     Underflow Subnormal Inexact Rounded
+mulx816 multiply  2.50E-999    1e-4  -> 2E-1003     Underflow Subnormal Inexact Rounded
+mulx817 multiply  2.51E-999    1e-4  -> 3E-1003     Underflow Subnormal Inexact Rounded
+
+mulx818 multiply  1E-999       1e-4  -> 1E-1003     Subnormal
+mulx819 multiply  3E-999       1e-5  -> 0E-1003     Underflow Subnormal Inexact Rounded
+mulx820 multiply  5E-999       1e-5  -> 0E-1003     Underflow Subnormal Inexact Rounded
+mulx821 multiply  7E-999       1e-5  -> 1E-1003     Underflow Subnormal Inexact Rounded
+mulx822 multiply  9E-999       1e-5  -> 1E-1003     Underflow Subnormal Inexact Rounded
+mulx823 multiply  9.9E-999     1e-5  -> 1E-1003     Underflow Subnormal Inexact Rounded
+
+mulx824 multiply  1E-999      -1e-4  -> -1E-1003    Subnormal
+mulx825 multiply  3E-999      -1e-5  -> -0E-1003    Underflow Subnormal Inexact Rounded
+mulx826 multiply -5E-999       1e-5  -> -0E-1003    Underflow Subnormal Inexact Rounded
+mulx827 multiply  7E-999      -1e-5  -> -1E-1003    Underflow Subnormal Inexact Rounded
+mulx828 multiply -9E-999       1e-5  -> -1E-1003    Underflow Subnormal Inexact Rounded
+mulx829 multiply  9.9E-999    -1e-5  -> -1E-1003    Underflow Subnormal Inexact Rounded
+mulx830 multiply  3.0E-999    -1e-5  -> -0E-1003    Underflow Subnormal Inexact Rounded
+
+mulx831 multiply  1.0E-501     1e-501 -> 1.0E-1002   Subnormal
+mulx832 multiply  2.0E-501     2e-501 -> 4.0E-1002   Subnormal
+mulx833 multiply  4.0E-501     4e-501 -> 1.60E-1001  Subnormal
+mulx834 multiply 10.0E-501    10e-501 -> 1.000E-1000 Subnormal
+mulx835 multiply 30.0E-501    30e-501 -> 9.000E-1000 Subnormal
+mulx836 multiply 40.0E-501    40e-501 -> 1.6000E-999
+
+-- squares
+mulx840 multiply  1E-502       1e-502 -> 0E-1003     Underflow Subnormal Inexact Rounded
+mulx841 multiply  1E-501       1e-501 -> 1E-1002     Subnormal
+mulx842 multiply  2E-501       2e-501 -> 4E-1002     Subnormal
+mulx843 multiply  4E-501       4e-501 -> 1.6E-1001   Subnormal
+mulx844 multiply 10E-501      10e-501 -> 1.00E-1000  Subnormal
+mulx845 multiply 30E-501      30e-501 -> 9.00E-1000  Subnormal
+mulx846 multiply 40E-501      40e-501 -> 1.600E-999
+
+-- cubes
+mulx850 multiply  1E-670     1e-335 -> 0E-1003    Underflow Subnormal Inexact Rounded
+mulx851 multiply  1E-668     1e-334 -> 1E-1002    Subnormal
+mulx852 multiply  4E-668     2e-334 -> 8E-1002    Subnormal
+mulx853 multiply  9E-668     3e-334 -> 2.7E-1001  Subnormal
+mulx854 multiply 16E-668     4e-334 -> 6.4E-1001  Subnormal
+mulx855 multiply 25E-668     5e-334 -> 1.25E-1000 Subnormal
+mulx856 multiply 10E-668   100e-334 -> 1.000E-999
+
+-- test from 0.099 ** 999 at 15 digits
+precision: 19
+mulx860 multiply  6636851557994578716E-520 6636851557994578716E-520 -> 4.40477986028551E-1003 Underflow Subnormal Inexact Rounded
+
+-- Long operand overflow may be a different path
+precision: 3
+maxExponent: 999999999
+minexponent: -999999999
+mulx870 multiply 1  9.999E+999999999   ->  Infinity Inexact Overflow Rounded
+mulx871 multiply 1 -9.999E+999999999   -> -Infinity Inexact Overflow Rounded
+mulx872 multiply    9.999E+999999999 1 ->  Infinity Inexact Overflow Rounded
+mulx873 multiply   -9.999E+999999999 1 -> -Infinity Inexact Overflow Rounded
+
+-- check for double-rounded subnormals
+precision:   5
+maxexponent: 79
+minexponent: -79
+mulx881 multiply  1.2347E-40  1.2347E-40  ->  1.524E-80 Inexact Rounded Subnormal Underflow
+mulx882 multiply  1.234E-40  1.234E-40  ->  1.523E-80 Inexact Rounded Subnormal Underflow
+mulx883 multiply  1.23E-40   1.23E-40   ->  1.513E-80 Inexact Rounded Subnormal Underflow
+mulx884 multiply  1.2E-40    1.2E-40    ->  1.44E-80  Subnormal
+mulx885 multiply  1.2E-40    1.2E-41    ->  1.44E-81  Subnormal
+mulx886 multiply  1.2E-40    1.2E-42    ->  1.4E-82   Subnormal Inexact Rounded Underflow
+mulx887 multiply  1.2E-40    1.3E-42    ->  1.6E-82   Subnormal Inexact Rounded Underflow
+mulx888 multiply  1.3E-40    1.3E-42    ->  1.7E-82   Subnormal Inexact Rounded Underflow
+
+mulx891 multiply  1.2345E-39   1.234E-40  ->  1.5234E-79 Inexact Rounded
+mulx892 multiply  1.23456E-39  1.234E-40  ->  1.5234E-79 Inexact Rounded
+mulx893 multiply  1.2345E-40   1.234E-40  ->  1.523E-80  Inexact Rounded Subnormal Underflow
+mulx894 multiply  1.23456E-40  1.234E-40  ->  1.523E-80  Inexact Rounded Subnormal Underflow
+mulx895 multiply  1.2345E-41   1.234E-40  ->  1.52E-81   Inexact Rounded Subnormal Underflow
+mulx896 multiply  1.23456E-41  1.234E-40  ->  1.52E-81   Inexact Rounded Subnormal Underflow
+
+-- Null tests
+mulx900 multiply 10  # -> NaN Invalid_operation
+mulx901 multiply  # 10 -> NaN Invalid_operation
+

Added: sandbox/trunk/decimal-c/decimaltestdata/normalize.decTest
==============================================================================
--- (empty file)
+++ sandbox/trunk/decimal-c/decimaltestdata/normalize.decTest	Tue May 23 13:34:01 2006
@@ -0,0 +1,225 @@
+------------------------------------------------------------------------
+-- normalize.decTest -- remove trailing zeros                         --
+-- Copyright (c) IBM Corporation, 2003.  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 at uk.ibm.com                                                   --
+------------------------------------------------------------------------
+version: 2.39
+
+extended:    1
+precision:   9
+rounding:    half_up
+maxExponent: 999
+minexponent: -999
+
+nrmx001 normalize '1'      -> '1'
+nrmx002 normalize '-1'     -> '-1'
+nrmx003 normalize '1.00'   -> '1'
+nrmx004 normalize '-1.00'  -> '-1'
+nrmx005 normalize '0'      -> '0'
+nrmx006 normalize '0.00'   -> '0'
+nrmx007 normalize '00.0'   -> '0'
+nrmx008 normalize '00.00'  -> '0'
+nrmx009 normalize '00'     -> '0'
+nrmx010 normalize '0E+1'   -> '0'
+nrmx011 normalize '0E+5'   -> '0'
+
+nrmx012 normalize '-2'     -> '-2'
+nrmx013 normalize '2'      -> '2'
+nrmx014 normalize '-2.00'  -> '-2'
+nrmx015 normalize '2.00'   -> '2'
+nrmx016 normalize '-0'     -> '-0'
+nrmx017 normalize '-0.00'  -> '-0'
+nrmx018 normalize '-00.0'  -> '-0'
+nrmx019 normalize '-00.00' -> '-0'
+nrmx020 normalize '-00'    -> '-0'
+nrmx021 normalize '-0E+5'   -> '-0'
+nrmx022 normalize '-0E+1'  -> '-0'
+
+nrmx030 normalize '+0.1'            -> '0.1'
+nrmx031 normalize '-0.1'            -> '-0.1'
+nrmx032 normalize '+0.01'           -> '0.01'
+nrmx033 normalize '-0.01'           -> '-0.01'
+nrmx034 normalize '+0.001'          -> '0.001'
+nrmx035 normalize '-0.001'          -> '-0.001'
+nrmx036 normalize '+0.000001'       -> '0.000001'
+nrmx037 normalize '-0.000001'       -> '-0.000001'
+nrmx038 normalize '+0.000000000001' -> '1E-12'
+nrmx039 normalize '-0.000000000001' -> '-1E-12'
+
+nrmx041 normalize 1.1        -> 1.1
+nrmx042 normalize 1.10       -> 1.1
+nrmx043 normalize 1.100      -> 1.1
+nrmx044 normalize 1.110      -> 1.11
+nrmx045 normalize -1.1       -> -1.1
+nrmx046 normalize -1.10      -> -1.1
+nrmx047 normalize -1.100     -> -1.1
+nrmx048 normalize -1.110     -> -1.11
+nrmx049 normalize 9.9        -> 9.9
+nrmx050 normalize 9.90       -> 9.9
+nrmx051 normalize 9.900      -> 9.9
+nrmx052 normalize 9.990      -> 9.99
+nrmx053 normalize -9.9       -> -9.9
+nrmx054 normalize -9.90      -> -9.9
+nrmx055 normalize -9.900     -> -9.9
+nrmx056 normalize -9.990     -> -9.99
+
+-- some trailing fractional zeros with zeros in units
+nrmx060 normalize  10.0        -> 1E+1
+nrmx061 normalize  10.00       -> 1E+1
+nrmx062 normalize  100.0       -> 1E+2
+nrmx063 normalize  100.00      -> 1E+2
+nrmx064 normalize  1.1000E+3   -> 1.1E+3
+nrmx065 normalize  1.10000E+3  -> 1.1E+3
+nrmx066 normalize -10.0        -> -1E+1
+nrmx067 normalize -10.00       -> -1E+1
+nrmx068 normalize -100.0       -> -1E+2
+nrmx069 normalize -100.00      -> -1E+2
+nrmx070 normalize -1.1000E+3   -> -1.1E+3
+nrmx071 normalize -1.10000E+3  -> -1.1E+3
+
+-- some insignificant trailing zeros with positive exponent
+nrmx080 normalize  10E+1       -> 1E+2
+nrmx081 normalize  100E+1      -> 1E+3
+nrmx082 normalize  1.0E+2      -> 1E+2
+nrmx083 normalize  1.0E+3      -> 1E+3
+nrmx084 normalize  1.1E+3      -> 1.1E+3
+nrmx085 normalize  1.00E+3     -> 1E+3
+nrmx086 normalize  1.10E+3     -> 1.1E+3
+nrmx087 normalize -10E+1       -> -1E+2
+nrmx088 normalize -100E+1      -> -1E+3
+nrmx089 normalize -1.0E+2      -> -1E+2
+nrmx090 normalize -1.0E+3      -> -1E+3
+nrmx091 normalize -1.1E+3      -> -1.1E+3
+nrmx092 normalize -1.00E+3     -> -1E+3
+nrmx093 normalize -1.10E+3     -> -1.1E+3
+
+-- some significant trailing zeros, were we to be trimming
+nrmx100 normalize  11          -> 11
+nrmx101 normalize  10          -> 1E+1
+nrmx102 normalize  10.         -> 1E+1
+nrmx103 normalize  1.1E+1      -> 11
+nrmx104 normalize  1.0E+1      -> 1E+1
+nrmx105 normalize  1.10E+2     -> 1.1E+2
+nrmx106 normalize  1.00E+2     -> 1E+2
+nrmx107 normalize  1.100E+3    -> 1.1E+3
+nrmx108 normalize  1.000E+3    -> 1E+3
+nrmx109 normalize  1.000000E+6 -> 1E+6
+nrmx110 normalize -11          -> -11
+nrmx111 normalize -10          -> -1E+1
+nrmx112 normalize -10.         -> -1E+1
+nrmx113 normalize -1.1E+1      -> -11
+nrmx114 normalize -1.0E+1      -> -1E+1
+nrmx115 normalize -1.10E+2     -> -1.1E+2
+nrmx116 normalize -1.00E+2     -> -1E+2
+nrmx117 normalize -1.100E+3    -> -1.1E+3
+nrmx118 normalize -1.000E+3    -> -1E+3
+nrmx119 normalize -1.00000E+5  -> -1E+5
+nrmx120 normalize -1.000000E+6 -> -1E+6
+nrmx121 normalize -10.00000E+6 -> -1E+7
+nrmx122 normalize -100.0000E+6 -> -1E+8
+nrmx123 normalize -1000.000E+6 -> -1E+9
+nrmx124 normalize -10000.00E+6 -> -1E+10
+nrmx125 normalize -100000.0E+6 -> -1E+11
+nrmx126 normalize -1000000.E+6 -> -1E+12
+
+-- examples from decArith
+nrmx140 normalize '2.1'     ->  '2.1'
+nrmx141 normalize '-2.0'    ->  '-2'
+nrmx142 normalize '1.200'   ->  '1.2'
+nrmx143 normalize '-120'    ->  '-1.2E+2'
+nrmx144 normalize '120.00'  ->  '1.2E+2'
+nrmx145 normalize '0.00'    ->  '0'
+
+-- overflow tests
+maxexponent: 999999999
+minexponent: -999999999
+precision: 3
+nrmx160 normalize 9.999E+999999999  ->  Infinity Inexact Overflow Rounded
+nrmx161 normalize -9.999E+999999999 -> -Infinity Inexact Overflow Rounded
+
+-- subnormals and underflow
+precision: 3
+maxexponent: 999
+minexponent: -999
+nrmx210 normalize  1.00E-999        ->   1E-999
+nrmx211 normalize  0.1E-999         ->   1E-1000   Subnormal
+nrmx212 normalize  0.10E-999        ->   1E-1000   Subnormal
+nrmx213 normalize  0.100E-999       ->   1E-1000   Subnormal Rounded
+nrmx214 normalize  0.01E-999        ->   1E-1001   Subnormal
+-- next is rounded to Emin
+nrmx215 normalize  0.999E-999       ->   1E-999    Inexact Rounded Subnormal Underflow
+nrmx216 normalize  0.099E-999       ->   1E-1000   Inexact Rounded Subnormal Underflow
+nrmx217 normalize  0.009E-999       ->   1E-1001   Inexact Rounded Subnormal Underflow
+nrmx218 normalize  0.001E-999       ->   0         Inexact Rounded Subnormal Underflow
+nrmx219 normalize  0.0009E-999      ->   0         Inexact Rounded Subnormal Underflow
+nrmx220 normalize  0.0001E-999      ->   0         Inexact Rounded Subnormal Underflow
+
+nrmx230 normalize -1.00E-999        ->  -1E-999
+nrmx231 normalize -0.1E-999         ->  -1E-1000   Subnormal
+nrmx232 normalize -0.10E-999        ->  -1E-1000   Subnormal
+nrmx233 normalize -0.100E-999       ->  -1E-1000   Subnormal Rounded
+nrmx234 normalize -0.01E-999        ->  -1E-1001   Subnormal
+-- next is rounded to Emin
+nrmx235 normalize -0.999E-999       ->  -1E-999    Inexact Rounded Subnormal Underflow
+nrmx236 normalize -0.099E-999       ->  -1E-1000   Inexact Rounded Subnormal Underflow
+nrmx237 normalize -0.009E-999       ->  -1E-1001   Inexact Rounded Subnormal Underflow
+nrmx238 normalize -0.001E-999       ->  -0         Inexact Rounded Subnormal Underflow
+nrmx239 normalize -0.0009E-999      ->  -0         Inexact Rounded Subnormal Underflow
+nrmx240 normalize -0.0001E-999      ->  -0         Inexact Rounded Subnormal Underflow
+
+-- more reshaping
+precision: 9
+nrmx260 normalize '56260E-10'   -> '0.000005626'
+nrmx261 normalize '56260E-5'    -> '0.5626'
+nrmx262 normalize '56260E-2'    -> '562.6'
+nrmx263 normalize '56260E-1'    -> '5626'
+nrmx265 normalize '56260E-0'    -> '5.626E+4'
+nrmx266 normalize '56260E+0'    -> '5.626E+4'
+nrmx267 normalize '56260E+1'    -> '5.626E+5'
+nrmx268 normalize '56260E+2'    -> '5.626E+6'
+nrmx269 normalize '56260E+3'    -> '5.626E+7'
+nrmx270 normalize '56260E+4'    -> '5.626E+8'
+nrmx271 normalize '56260E+5'    -> '5.626E+9'
+nrmx272 normalize '56260E+6'    -> '5.626E+10'
+nrmx280 normalize '-56260E-10'  -> '-0.000005626'
+nrmx281 normalize '-56260E-5'   -> '-0.5626'
+nrmx282 normalize '-56260E-2'   -> '-562.6'
+nrmx283 normalize '-56260E-1'   -> '-5626'
+nrmx285 normalize '-56260E-0'   -> '-5.626E+4'
+nrmx286 normalize '-56260E+0'   -> '-5.626E+4'
+nrmx287 normalize '-56260E+1'   -> '-5.626E+5'
+nrmx288 normalize '-56260E+2'   -> '-5.626E+6'
+nrmx289 normalize '-56260E+3'   -> '-5.626E+7'
+nrmx290 normalize '-56260E+4'   -> '-5.626E+8'
+nrmx291 normalize '-56260E+5'   -> '-5.626E+9'
+nrmx292 normalize '-56260E+6'   -> '-5.626E+10'
+
+
+-- specials
+nrmx820 normalize 'Inf'    -> 'Infinity'
+nrmx821 normalize '-Inf'   -> '-Infinity'
+nrmx822 normalize   NaN    ->  NaN
+nrmx823 normalize  sNaN    ->  NaN    Invalid_operation
+nrmx824 normalize   NaN101 ->  NaN101
+nrmx825 normalize  sNaN010 ->  NaN10  Invalid_operation
+nrmx827 normalize  -NaN    -> -NaN
+nrmx828 normalize -sNaN    -> -NaN    Invalid_operation
+nrmx829 normalize  -NaN101 -> -NaN101
+nrmx830 normalize -sNaN010 -> -NaN10  Invalid_operation
+
+-- Null test
+nrmx900 normalize  # -> NaN Invalid_operation

Added: sandbox/trunk/decimal-c/decimaltestdata/plus.decTest
==============================================================================
--- (empty file)
+++ sandbox/trunk/decimal-c/decimaltestdata/plus.decTest	Tue May 23 13:34:01 2006
@@ -0,0 +1,181 @@
+------------------------------------------------------------------------
+-- plus.decTest -- decimal monadic addition                           --
+-- Copyright (c) IBM Corporation, 1981, 2004.  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 at uk.ibm.com                                                   --
+------------------------------------------------------------------------
+version: 2.39
+
+-- This set of tests primarily tests the existence of the operator.
+-- Addition and rounding, and most overflows, are tested elsewhere.
+
+extended:    1
+precision:   9
+rounding:    half_up
+maxExponent: 384
+minexponent: -383
+
+plux001 plus '1'      -> '1'
+plux002 plus '-1'     -> '-1'
+plux003 plus '1.00'   -> '1.00'
+plux004 plus '-1.00'  -> '-1.00'
+plux005 plus '0'      -> '0'
+plux006 plus '0.00'   -> '0.00'
+plux007 plus '00.0'   -> '0.0'
+plux008 plus '00.00'  -> '0.00'
+plux009 plus '00'     -> '0'
+
+plux010 plus '-2'     -> '-2'
+plux011 plus '2'      -> '2'
+plux012 plus '-2.00'  -> '-2.00'
+plux013 plus '2.00'   -> '2.00'
+plux014 plus '-0'     -> '0'
+plux015 plus '-0.00'  -> '0.00'
+plux016 plus '-00.0'  -> '0.0'
+plux017 plus '-00.00' -> '0.00'
+plux018 plus '-00'    -> '0'
+
+plux020 plus '-2000000' -> '-2000000'
+plux021 plus '2000000'  -> '2000000'
+precision: 7
+plux022 plus '-2000000' -> '-2000000'
+plux023 plus '2000000'  -> '2000000'
+precision: 6
+plux024 plus '-2000000' -> '-2.00000E+6' Rounded
+plux025 plus '2000000'  -> '2.00000E+6' Rounded
+precision: 3
+plux026 plus '-2000000' -> '-2.00E+6' Rounded
+plux027 plus '2000000'  -> '2.00E+6' Rounded
+
+-- more fixed, potential LHS swaps if done by add 0
+precision: 9
+plux060 plus '56267E-10'   -> '0.0000056267'
+plux061 plus '56267E-5'    -> '0.56267'
+plux062 plus '56267E-2'    -> '562.67'
+plux063 plus '56267E-1'    -> '5626.7'
+plux065 plus '56267E-0'    -> '56267'
+plux066 plus '56267E+0'    -> '56267'
+plux067 plus '56267E+1'    -> '5.6267E+5'
+plux068 plus '56267E+2'    -> '5.6267E+6'
+plux069 plus '56267E+3'    -> '5.6267E+7'
+plux070 plus '56267E+4'    -> '5.6267E+8'
+plux071 plus '56267E+5'    -> '5.6267E+9'
+plux072 plus '56267E+6'    -> '5.6267E+10'
+plux080 plus '-56267E-10'  -> '-0.0000056267'
+plux081 plus '-56267E-5'   -> '-0.56267'
+plux082 plus '-56267E-2'   -> '-562.67'
+plux083 plus '-56267E-1'   -> '-5626.7'
+plux085 plus '-56267E-0'   -> '-56267'
+plux086 plus '-56267E+0'   -> '-56267'
+plux087 plus '-56267E+1'   -> '-5.6267E+5'
+plux088 plus '-56267E+2'   -> '-5.6267E+6'
+plux089 plus '-56267E+3'   -> '-5.6267E+7'
+plux090 plus '-56267E+4'   -> '-5.6267E+8'
+plux091 plus '-56267E+5'   -> '-5.6267E+9'
+plux092 plus '-56267E+6'   -> '-5.6267E+10'
+
+-- "lhs" zeros in plus and minus have exponent = operand
+plux120 plus '-0E3'   -> '0E+3'
+plux121 plus '-0E2'   -> '0E+2'
+plux122 plus '-0E1'   -> '0E+1'
+plux123 plus '-0E0'   -> '0'
+plux124 plus '+0E0'   -> '0'
+plux125 plus '+0E1'   -> '0E+1'
+plux126 plus '+0E2'   -> '0E+2'
+plux127 plus '+0E3'   -> '0E+3'
+
+plux130 plus '-5E3'   -> '-5E+3'
+plux131 plus '-5E8'   -> '-5E+8'
+plux132 plus '-5E13'  -> '-5E+13'
+plux133 plus '-5E18'  -> '-5E+18'
+plux134 plus '+5E3'   -> '5E+3'
+plux135 plus '+5E8'   -> '5E+8'
+plux136 plus '+5E13'  -> '5E+13'
+plux137 plus '+5E18'  -> '5E+18'
+
+-- specials
+plux150 plus 'Inf'    -> 'Infinity'
+plux151 plus '-Inf'   -> '-Infinity'
+plux152 plus   NaN    ->  NaN
+plux153 plus  sNaN    ->  NaN   Invalid_operation
+plux154 plus   NaN77  ->  NaN77
+plux155 plus  sNaN88  ->  NaN88 Invalid_operation
+plux156 plus  -NaN    -> -NaN
+plux157 plus -sNaN    -> -NaN   Invalid_operation
+plux158 plus  -NaN77  -> -NaN77
+plux159 plus -sNaN88  -> -NaN88 Invalid_operation
+
+-- overflow tests
+maxexponent: 999999999
+minexponent: -999999999
+precision: 3
+plux160 plus 9.999E+999999999  ->  Infinity Inexact Overflow Rounded
+plux161 plus -9.999E+999999999 -> -Infinity Inexact Overflow Rounded
+
+-- subnormals and underflow
+precision: 3
+maxexponent: 999
+minexponent: -999
+plux210 plus  1.00E-999        ->   1.00E-999
+plux211 plus  0.1E-999         ->   1E-1000   Subnormal
+plux212 plus  0.10E-999        ->   1.0E-1000 Subnormal
+plux213 plus  0.100E-999       ->   1.0E-1000 Subnormal Rounded
+plux214 plus  0.01E-999        ->   1E-1001   Subnormal
+-- next is rounded to Emin
+plux215 plus  0.999E-999       ->   1.00E-999 Inexact Rounded Subnormal Underflow
+plux216 plus  0.099E-999       ->   1.0E-1000 Inexact Rounded Subnormal Underflow
+plux217 plus  0.009E-999       ->   1E-1001   Inexact Rounded Subnormal Underflow
+plux218 plus  0.001E-999       ->   0E-1001   Inexact Rounded Subnormal Underflow
+plux219 plus  0.0009E-999      ->   0E-1001   Inexact Rounded Subnormal Underflow
+plux220 plus  0.0001E-999      ->   0E-1001   Inexact Rounded Subnormal Underflow
+
+plux230 plus -1.00E-999        ->  -1.00E-999
+plux231 plus -0.1E-999         ->  -1E-1000   Subnormal
+plux232 plus -0.10E-999        ->  -1.0E-1000 Subnormal
+plux233 plus -0.100E-999       ->  -1.0E-1000 Subnormal Rounded
+plux234 plus -0.01E-999        ->  -1E-1001   Subnormal
+-- next is rounded to Emin
+plux235 plus -0.999E-999       ->  -1.00E-999 Inexact Rounded Subnormal Underflow
+plux236 plus -0.099E-999       ->  -1.0E-1000 Inexact Rounded Subnormal Underflow
+plux237 plus -0.009E-999       ->  -1E-1001   Inexact Rounded Subnormal Underflow
+plux238 plus -0.001E-999       ->  -0E-1001   Inexact Rounded Subnormal Underflow
+plux239 plus -0.0009E-999      ->  -0E-1001   Inexact Rounded Subnormal Underflow
+plux240 plus -0.0001E-999      ->  -0E-1001   Inexact Rounded Subnormal Underflow
+
+-- long operand checks
+maxexponent: 999
+minexponent: -999
+precision: 9
+plux301 plus 12345678000  -> 1.23456780E+10 Rounded
+plux302 plus 1234567800   -> 1.23456780E+9 Rounded
+plux303 plus 1234567890   -> 1.23456789E+9 Rounded
+plux304 plus 1234567891   -> 1.23456789E+9 Inexact Rounded
+plux305 plus 12345678901  -> 1.23456789E+10 Inexact Rounded
+plux306 plus 1234567896   -> 1.23456790E+9 Inexact Rounded
+
+-- still checking
+precision: 15
+plux321 plus 12345678000  -> 12345678000
+plux322 plus 1234567800   -> 1234567800
+plux323 plus 1234567890   -> 1234567890
+plux324 plus 1234567891   -> 1234567891
+plux325 plus 12345678901  -> 12345678901
+plux326 plus 1234567896   -> 1234567896
+precision: 9
+
+-- Null tests
+plu900 plus  # -> NaN Invalid_operation
+

Added: sandbox/trunk/decimal-c/decimaltestdata/power.decTest
==============================================================================
--- (empty file)
+++ sandbox/trunk/decimal-c/decimaltestdata/power.decTest	Tue May 23 13:34:01 2006
@@ -0,0 +1,651 @@
+----------------------------------------------------------------------
+-- power.decTest -- decimal exponentiation                            --
+-- Copyright (c) IBM Corporation, 1981, 2003.  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 at uk.ibm.com                                                   --
+------------------------------------------------------------------------
+version: 2.39
+
+-- This set of testcases tests raising numbers to an integer power only.
+-- If arbitrary powers were supported, 1 ulp differences would be
+-- permitted.
+
+extended:    1
+precision:   9
+rounding:    half_up
+maxExponent: 999
+minexponent: -999
+
+-- base checks.  Note 0**0 is an error.
+powx001 power    '0'  '0'         -> NaN Invalid_operation
+powx002 power    '0'  '1'         -> '0'
+powx003 power    '0'  '2'         -> '0'
+powx004 power    '1'  '0'         -> '1'
+powx005 power    '1'  '1'         -> '1'
+powx006 power    '1'  '2'         -> '1'
+
+powx010 power    '2'  '0'         -> '1'
+powx011 power    '2'  '1'         -> '2'
+powx012 power    '2'  '2'         -> '4'
+powx013 power    '2'  '3'         -> '8'
+powx014 power    '2'  '4'         -> '16'
+powx015 power    '2'  '5'         -> '32'
+powx016 power    '2'  '6'         -> '64'
+powx017 power    '2'  '7'         -> '128'
+powx018 power    '2'  '8'         -> '256'
+powx019 power    '2'  '9'         -> '512'
+powx020 power    '2'  '10'        -> '1024'
+powx021 power    '2'  '11'        -> '2048'
+powx022 power    '2'  '12'        -> '4096'
+powx023 power    '2'  '15'        -> '32768'
+powx024 power    '2'  '16'        -> '65536'
+powx025 power    '2'  '31'        -> '2.14748365E+9' Inexact Rounded
+-- NB 0 not stripped in next
+powx026 power    '2'  '32'        -> '4.29496730E+9' Inexact Rounded
+precision: 10
+powx027 power    '2'  '31'        -> '2147483648'
+powx028 power    '2'  '32'        -> '4294967296'
+precision: 9
+
+powx030 power    '3'  '2'         -> 9
+powx031 power    '4'  '2'         -> 16
+powx032 power    '5'  '2'         -> 25
+powx033 power    '6'  '2'         -> 36
+powx034 power    '7'  '2'         -> 49
+powx035 power    '8'  '2'         -> 64
+powx036 power    '9'  '2'         -> 81
+powx037 power    '10' '2'         -> 100
+powx038 power    '11' '2'         -> 121
+powx039 power    '12' '2'         -> 144
+
+powx040 power    '3'  '3'         -> 27
+powx041 power    '4'  '3'         -> 64
+powx042 power    '5'  '3'         -> 125
+powx043 power    '6'  '3'         -> 216
+powx044 power    '7'  '3'         -> 343
+
+powx050 power   '10'  '0'         -> 1
+powx051 power   '10'  '1'         -> 10
+powx052 power   '10'  '2'         -> 100
+powx053 power   '10'  '3'         -> 1000
+powx054 power   '10'  '4'         -> 10000
+powx055 power   '10'  '5'         -> 100000
+powx056 power   '10'  '6'         -> 1000000
+powx057 power   '10'  '7'         -> 10000000
+powx058 power   '10'  '8'         -> 100000000
+powx059 power   '10'  '9'         -> 1.00000000E+9 Rounded
+powx060 power   '10'  '22'        -> 1.00000000E+22 Rounded
+powx061 power   '10'  '77'        -> 1.00000000E+77 Rounded
+powx062 power   '10'  '99'        -> 1.00000000E+99 Rounded
+
+maxexponent: 999999999
+minexponent: -999999999
+powx063 power   '10'  '999999999' -> '1.00000000E+999999999' Rounded
+powx064 power   '10'  '999999998' -> '1.00000000E+999999998' Rounded
+powx065 power   '10'  '999999997' -> '1.00000000E+999999997' Rounded
+powx066 power   '10'  '333333333' -> '1.00000000E+333333333' Rounded
+
+powx070 power  '0.3'  '0'           -> '1'
+powx071 power  '0.3'  '1'           -> '0.3'
+powx072 power  '0.3'  '1.00'        -> '0.3'
+powx073 power  '0.3'  '2.00'        -> '0.09'
+powx074 power  '0.3'  '2.000000000' -> '0.09'
+powx075 power  '6.0'  '1'           -> '6.0'     -- NB zeros not stripped
+powx076 power  '6.0'  '2'           -> '36.00'   -- ..
+powx077 power   '-3'  '2'           -> '9'       -- from NetRexx book
+powx078 power    '4'  '3'           -> '64'      -- .. (sort of)
+
+powx080 power   0.1    0            -> 1
+powx081 power   0.1    1            -> 0.1
+powx082 power   0.1    2            -> 0.01
+powx083 power   0.1    3            -> 0.001
+powx084 power   0.1    4            -> 0.0001
+powx085 power   0.1    5            -> 0.00001
+powx086 power   0.1    6            -> 0.000001
+powx087 power   0.1    7            -> 1E-7
+powx088 power   0.1    8            -> 1E-8
+powx089 power   0.1    9            -> 1E-9
+
+powx090 power   101    2            -> 10201
+powx091 power   101    3            -> 1030301
+powx092 power   101    4            -> 104060401
+powx093 power   101    5            -> 1.05101005E+10 Inexact Rounded
+powx094 power   101    6            -> 1.06152015E+12 Inexact Rounded
+powx095 power   101    7            -> 1.07213535E+14 Inexact Rounded
+
+-- negative powers
+powx101 power  '2'  '-1'  -> 0.5
+powx102 power  '2'  '-2'  -> 0.25
+powx103 power  '2'  '-4'  -> 0.0625
+powx104 power  '2'  '-8'  -> 0.00390625
+powx105 power  '2'  '-16' -> 0.0000152587891 Inexact Rounded
+powx106 power  '2'  '-32' -> 2.32830644E-10 Inexact Rounded
+powx108 power  '2'  '-64' -> 5.42101086E-20 Inexact Rounded
+powx110 power  '10'  '-8' -> 1E-8
+powx111 power  '10'  '-7' -> 1E-7
+powx112 power  '10'  '-6' -> 0.000001
+powx113 power  '10'  '-5' -> 0.00001
+powx114 power  '10'  '-4' -> 0.0001
+powx115 power  '10'  '-3' -> 0.001
+powx116 power  '10'  '-2' -> 0.01
+powx117 power  '10'  '-1' -> 0.1
+
+powx118 power  '10'  '-333333333'   -> 1E-333333333
+powx119 power  '10'  '-999999998'   -> 1E-999999998
+powx120 power  '10'  '-999999999'   -> 1E-999999999
+powx121 power  '10'  '-77'          -> '1E-77'
+powx122 power  '10'  '-22'          -> '1E-22'
+
+powx123 power   '2'  '-1'           -> '0.5'
+powx124 power   '2'  '-2'           -> '0.25'
+powx125 power   '2'  '-4'           -> '0.0625'
+powx126 power   '0'  '-1'           -> Infinity Division_by_zero
+powx127 power   '0'  '-2'           -> Infinity Division_by_zero
+powx128 power   -0   '-1'           -> -Infinity Division_by_zero
+powx129 power   -0   '-2'           -> Infinity Division_by_zero
+
+-- out-of-range edge cases
+powx181 power   '7'   '999999998'   -> 2.10892313E+845098038 Inexact Rounded
+powx182 power   '7'   '999999999'   -> 1.47624619E+845098039 Inexact Rounded
+powx183 power   '7'   '1000000000'  -> NaN Invalid_operation
+powx184 power   '7'   '1000000001'  -> NaN Invalid_operation
+powx185 power   '7'   '10000000000' -> NaN Invalid_operation
+powx186 power   '7'   '-1000000001' -> NaN Invalid_operation
+powx187 power   '7'   '-1000000000' -> NaN Invalid_operation
+powx189 power   '7'   '-999999999'  -> 6.77393787E-845098040 Inexact Rounded
+powx190 power   '7'   '-999999998'  -> 4.74175651E-845098039 Inexact Rounded
+
+-- some baddies [more below]
+powx191 power   '2'   '2.000001'     -> NaN Invalid_operation
+powx192 power   '2'   '2.00000000'   -> 4
+powx193 power   '2'   '2.000000001'  -> NaN Invalid_operation
+powx194 power   '2'   '2.0000000001' -> NaN Invalid_operation
+
+-- "0.5" tests from original Rexx diagnostics [loop unrolled]
+powx200 power   0.5    0            -> 1
+powx201 power   0.5    1            -> 0.5
+powx202 power   0.5    2            -> 0.25
+powx203 power   0.5    3            -> 0.125
+powx204 power   0.5    4            -> 0.0625
+powx205 power   0.5    5            -> 0.03125
+powx206 power   0.5    6            -> 0.015625
+powx207 power   0.5    7            -> 0.0078125
+powx208 power   0.5    8            -> 0.00390625
+powx209 power   0.5    9            -> 0.001953125
+powx210 power   0.5   10            -> 0.0009765625
+
+-- A (rare) case where the last digit is not within 0.5 ULP
+precision: 9
+powx215 power "-21971575.0E+31454441" "-7" -> "-4.04549503E-220181139" Inexact Rounded
+precision: 20
+powx216 power "-21971575.0E+31454441" "-7" -> "-4.0454950249324891788E-220181139" Inexact Rounded
+
+-- The Vienna case.  Checks both setup and 1/acc working precision
+-- Modified 1998.12.14 as RHS no longer rounded before use (must fit)
+-- Modified 1990.02.04 as LHS is now rounded (instead of truncated to guard)
+--    '123456789E+10'    -- lhs .. rounded to 1.23E+18
+--    '-1.23000e+2'      -- rhs .. [was: -1.23455e+2, rounds to -123]
+-- Modified 2002.10.06 -- finally, no input rounding
+-- With input rounding, result would be 8.74E-2226
+precision: 3
+powx219 power '123456789E+10' '-1.23000e+2' -> '5.54E-2226' Inexact Rounded
+
+-- whole number checks
+precision: 9
+powx221 power 1 1234 -> 1
+precision: 4
+powx222 power 1 1234 -> 1
+precision: 3
+powx223 power 1 1234     -> 1
+powx224 power 1 12.34e+2 -> 1
+powx225 power 1 12.3     -> NaN Invalid_operation
+powx226 power 1 12.0     -> 1
+powx227 power 1 1.01     -> NaN Invalid_operation
+powx228 power 2 1.00     -> 2
+powx229 power 2 2.00     -> 4
+precision: 9
+powx230 power 1 1.0001           -> NaN Invalid_operation
+powx231 power 1 1.0000001        -> NaN Invalid_operation
+powx232 power 1 1.0000000001     -> NaN Invalid_operation
+powx233 power 1 1.0000000000001  -> NaN Invalid_operation
+precision: 5
+powx234 power 1 1.0001           -> NaN Invalid_operation
+powx235 power 1 1.0000001        -> NaN Invalid_operation
+powx236 power 1 1.0000000001     -> NaN Invalid_operation
+powx237 power 1 1.0000000000001  -> NaN Invalid_operation
+powx238 power 1 1.0000000000001  -> NaN Invalid_operation
+
+maxexponent: 999999999
+minexponent: -999999999
+powx239 power 1 5.67E-987654321  -> NaN Invalid_operation
+
+powx240 power 1  100000000 -> 1
+powx241 power 1  999999998 -> 1
+powx242 power 1  999999999 -> 1
+powx243 power 1 1000000000 -> NaN Invalid_operation
+powx244 power 1 9999999999 -> NaN Invalid_operation
+
+-- Checks for 'Too much precision needed'
+-- For x^12, digits+elength+1 = digits+3
+precision: 999999999
+powx249 add 1 1 -> 2   -- check basic operation at this precision
+powx250 power          2 12  -> Infinity Overflow
+precision: 999999998
+powx251 power          2 12  -> Infinity Overflow
+precision: 999999997
+powx252 power          2 12  -> Infinity Overflow
+precision: 999999996
+powx253 power          2 12  -> 4096
+precision: 999999995
+powx254 power          2 12  -> 4096
+
+-- zeros
+maxexponent: +96
+minexponent: -95
+precision: 7
+powx260 power          0E-34 3  ->  0E-101 Clamped
+powx261 power          0E-33 3  ->  0E-99
+powx262 power          0E-32 3  ->  0E-96
+powx263 power          0E-30 3  ->  0E-90
+powx264 power          0E-10 3  ->  0E-30
+powx265 power          0E-1  3  ->  0.000
+powx266 power          0E+0  3  ->  0
+powx267 power          0     3  ->  0
+powx268 power          0E+1  3  ->  0E+3
+powx269 power          0E+10 3  ->  0E+30
+powx270 power          0E+30 3  ->  0E+90
+powx271 power          0E+32 3  ->  0E+96
+powx272 power          0E+33 3  ->  0E+96  Clamped
+
+-- overflow and underflow tests
+maxexponent: 999999999
+minexponent: -999999999
+precision: 9
+powx280 power  9            999999999 -> 3.05550054E+954242508 Inexact Rounded
+powx281 power 10            999999999 -> 1.00000000E+999999999 Rounded
+powx282 power 10.0001       999999999 -> Infinity Overflow Inexact Rounded
+powx283 power 10.1          999999999 -> Infinity Overflow Inexact Rounded
+powx284 power 11            999999999 -> Infinity Overflow Inexact Rounded
+powx285 power 12            999999999 -> Infinity Overflow Inexact Rounded
+powx286 power 999           999999999 -> Infinity Overflow Inexact Rounded
+powx287 power 999999        999999999 -> Infinity Overflow Inexact Rounded
+powx288 power 999999999     999999999 -> Infinity Overflow Inexact Rounded
+powx289 power 9.9E999999999 999999999 -> Infinity Overflow Inexact Rounded
+
+powx290 power 0.5           999999999 -> 4.33559594E-301029996 Inexact Rounded
+powx291 power 0.1           999999999 -> 1E-999999999  -- unrounded
+powx292 power 0.09          999999999 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+powx293 power 0.05          999999999 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+powx294 power 0.01          999999999 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+powx295 power 0.0001        999999999 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+powx297 power 0.0000001     999999999 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+powx298 power 0.0000000001  999999999 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+powx299 power 1E-999999999  999999999 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+
+powx310 power -9             999999999 -> -3.05550054E+954242508 Inexact Rounded
+powx311 power -10            999999999 -> -1.00000000E+999999999 Rounded
+powx312 power -10.0001       999999999 -> -Infinity Overflow Inexact Rounded
+powx313 power -10.1          999999999 -> -Infinity Overflow Inexact Rounded
+powx314 power -11            999999999 -> -Infinity Overflow Inexact Rounded
+powx315 power -12            999999999 -> -Infinity Overflow Inexact Rounded
+powx316 power -999           999999999 -> -Infinity Overflow Inexact Rounded
+powx317 power -999999        999999999 -> -Infinity Overflow Inexact Rounded
+powx318 power -999999999     999999999 -> -Infinity Overflow Inexact Rounded
+powx319 power -9.9E999999999 999999999 -> -Infinity Overflow Inexact Rounded
+
+powx320 power -0.5           999999999 -> -4.33559594E-301029996 Inexact Rounded
+powx321 power -0.1           999999999 -> -1E-999999999
+powx322 power -0.09          999999999 -> -0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+powx323 power -0.05          999999999 -> -0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+powx324 power -0.01          999999999 -> -0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+powx325 power -0.0001        999999999 -> -0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+powx327 power -0.0000001     999999999 -> -0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+powx328 power -0.0000000001  999999999 -> -0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+powx329 power -1E-999999999  999999999 -> -0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+
+-- note no trim of next result
+powx330 power -9             999999998 ->  3.39500060E+954242507 Inexact Rounded
+powx331 power -10            999999998 ->  1.00000000E+999999998 Rounded
+powx332 power -10.0001       999999998 ->  Infinity Overflow Inexact Rounded
+powx333 power -10.1          999999998 ->  Infinity Overflow Inexact Rounded
+powx334 power -11            999999998 ->  Infinity Overflow Inexact Rounded
+powx335 power -12            999999998 ->  Infinity Overflow Inexact Rounded
+powx336 power -999           999999998 ->  Infinity Overflow Inexact Rounded
+powx337 power -999999        999999998 ->  Infinity Overflow Inexact Rounded
+powx338 power -999999999     999999998 ->  Infinity Overflow Inexact Rounded
+powx339 power -9.9E999999999 999999998 ->  Infinity Overflow Inexact Rounded
+
+powx340 power -0.5           999999998 ->  8.67119187E-301029996 Inexact Rounded
+powx341 power -0.1           999999998 ->  1E-999999998  -- NB exact unrounded
+powx342 power -0.09          999999998 ->  0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+powx343 power -0.05          999999998 ->  0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+powx344 power -0.01          999999998 ->  0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+powx345 power -0.0001        999999998 ->  0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+powx347 power -0.0000001     999999998 ->  0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+powx348 power -0.0000000001  999999998 ->  0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+powx349 power -1E-999999999  999999998 ->  0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+
+-- some subnormals
+precision: 9
+-- [precision is 9, so smallest exponent is -1000000007
+powx350 power  1e-1          500000000 ->  1E-500000000
+powx351 power  1e-2          999999999 ->  0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+powx352 power  1e-2          500000000 ->  1E-1000000000 Subnormal
+powx353 power  1e-2          500000001 ->  1E-1000000002 Subnormal
+powx354 power  1e-2          500000002 ->  1E-1000000004 Subnormal
+powx355 power  1e-2          500000003 ->  1E-1000000006 Subnormal
+powx356 power  1e-2          500000004 ->  0E-1000000007 Underflow Subnormal Inexact Rounded
+
+powx360 power  0.010001      500000000 ->  4.34941988E-999978287 Inexact Rounded
+powx361 power  0.010000001   500000000 ->  5.18469257E-999999979 Inexact Rounded
+powx362 power  0.010000001   500000001 ->  5.18469309E-999999981 Inexact Rounded
+powx363 power  0.0100000009  500000000 ->  3.49342003E-999999981 Inexact Rounded
+powx364 power  0.0100000001  500000000 ->  1.48413155E-999999998 Inexact Rounded
+powx365 power  0.01          500000000 ->  1E-1000000000 Subnormal
+powx366 power  0.0099999999  500000000 ->  6.7379E-1000000003 Underflow Subnormal Inexact Rounded
+powx367 power  0.0099999998  500000000 ->  4.54E-1000000005 Underflow Subnormal Inexact Rounded
+powx368 power  0.0099999997  500000000 ->  3E-1000000007 Underflow Subnormal Inexact Rounded
+powx369 power  0.0099999996  500000000 ->  0E-1000000007 Underflow Subnormal Inexact Rounded
+powx370 power  0.009         500000000 ->  0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+
+-- 1/subnormal -> overflow
+powx371 power  1e-1         -500000000 ->  1E+500000000
+powx372 power  1e-2         -999999999 ->  Infinity Overflow Inexact Rounded
+powx373 power  1e-2         -500000000 ->  Infinity Overflow Inexact Rounded
+powx374 power  1e-2         -500000001 ->  Infinity Overflow Inexact Rounded
+powx375 power  1e-2         -500000002 ->  Infinity Overflow Inexact Rounded
+powx376 power  1e-2         -500000003 ->  Infinity Overflow Inexact Rounded
+powx377 power  1e-2         -500000004 ->  Infinity Overflow Inexact Rounded
+
+powx381 power  0.010001     -500000000 ->  2.29915719E+999978286 Inexact Rounded
+powx382 power  0.010000001  -500000000 ->  1.92875467E+999999978 Inexact Rounded
+powx383 power  0.010000001  -500000001 ->  1.92875448E+999999980 Inexact Rounded
+powx384 power  0.0100000009 -500000000 ->  2.86252438E+999999980 Inexact Rounded
+powx385 power  0.0100000001 -500000000 ->  6.73794717E+999999997 Inexact Rounded
+powx386 power  0.01         -500000000 ->  Infinity Overflow Inexact Rounded
+powx387 power  0.009999     -500000000 ->  Infinity Overflow Inexact Rounded
+
+-- negative power giving subnormal
+powx388 power  100.000001   -500000000 ->  6.7379E-1000000003 Underflow Subnormal Inexact Rounded
+
+-- some more edge cases
+precision:   15
+maxExponent: 999
+minexponent: -999
+powx391 power  0.1   999 -> 1E-999
+powx392 power  0.099 999 -> 4.360732062E-1004 Underflow Subnormal Inexact Rounded
+powx393 power  0.098 999 -> 1.71731E-1008 Underflow Subnormal Inexact Rounded
+powx394 power  0.097 999 -> 6E-1013 Underflow Subnormal Inexact Rounded
+powx395 power  0.096 999 -> 0E-1013 Underflow Subnormal Inexact Rounded
+powx396 power  0.01  999 -> 0E-1013 Underflow Subnormal Inexact Rounded Clamped
+
+-- multiply tests are here to aid checking and test for consistent handling
+-- of underflow
+precision: 5
+maxexponent: 999
+minexponent: -999
+
+-- squares
+mulx400 multiply  1E-502     1e-502 -> 0E-1003    Subnormal Inexact Underflow Rounded
+mulx401 multiply  1E-501     1e-501 -> 1E-1002    Subnormal
+mulx402 multiply  2E-501     2e-501 -> 4E-1002    Subnormal
+mulx403 multiply  4E-501     4e-501 -> 1.6E-1001  Subnormal
+mulx404 multiply 10E-501    10e-501 -> 1.00E-1000 Subnormal
+mulx405 multiply 30E-501    30e-501 -> 9.00E-1000 Subnormal
+mulx406 multiply 40E-501    40e-501 -> 1.600E-999
+
+powx400 power     1E-502     2      -> 0E-1003    Underflow Subnormal Inexact Rounded
+powx401 power     1E-501     2      -> 1E-1002    Subnormal
+powx402 power     2E-501     2      -> 4E-1002    Subnormal
+powx403 power     4E-501     2      -> 1.6E-1001  Subnormal
+powx404 power    10E-501     2      -> 1.00E-1000 Subnormal
+powx405 power    30E-501     2      -> 9.00E-1000 Subnormal
+powx406 power    40E-501     2      -> 1.600E-999
+
+-- cubes
+mulx410 multiply  1E-670     1e-335 -> 0E-1003    Underflow Subnormal Inexact Rounded
+mulx411 multiply  1E-668     1e-334 -> 1E-1002    Subnormal
+mulx412 multiply  4E-668     2e-334 -> 8E-1002    Subnormal
+mulx413 multiply  9E-668     3e-334 -> 2.7E-1001  Subnormal
+mulx414 multiply 16E-668     4e-334 -> 6.4E-1001  Subnormal
+mulx415 multiply 25E-668     5e-334 -> 1.25E-1000 Subnormal
+mulx416 multiply 10E-668   100e-334 -> 1.000E-999
+
+powx410 power     1E-335     3      -> 0E-1003    Underflow Subnormal Inexact Rounded
+powx411 power     1E-334     3      -> 1E-1002    Subnormal
+powx412 power     2E-334     3      -> 8E-1002    Subnormal
+powx413 power     3E-334     3      -> 2.7E-1001  Subnormal
+powx414 power     4E-334     3      -> 6.4E-1001  Subnormal
+powx415 power     5E-334     3      -> 1.25E-1000 Subnormal
+powx416 power    10E-334     3      -> 1.000E-999
+
+-- negative powers, testing subnormals
+precision:   5
+maxExponent: 999
+minexponent: -999
+powx421 power  2.5E-501     -2         ->  Infinity Overflow Inexact Rounded
+powx422 power  2.5E-500     -2         ->  1.6E+999
+
+powx423 power  2.5E+499     -2         ->  1.6E-999
+powx424 power  2.5E+500     -2         ->  1.6E-1001 Subnormal
+powx425 power  2.5E+501     -2         ->    2E-1003 Underflow Subnormal Inexact Rounded
+powx426 power  2.5E+502     -2         ->    0E-1003 Underflow Subnormal Inexact Rounded
+
+powx427 power 0.25E+499     -2         ->  1.6E-997
+powx428 power 0.25E+500     -2         ->  1.6E-999
+powx429 power 0.25E+501     -2         ->  1.6E-1001 Subnormal
+powx430 power 0.25E+502     -2         ->    2E-1003 Underflow Subnormal Inexact Rounded
+powx431 power 0.25E+503     -2         ->    0E-1003 Underflow Subnormal Inexact Rounded
+
+powx432 power 0.04E+499     -2         ->  6.25E-996
+powx433 power 0.04E+500     -2         ->  6.25E-998
+powx434 power 0.04E+501     -2         ->  6.25E-1000 Subnormal
+powx435 power 0.04E+502     -2         ->   6.3E-1002 Underflow Subnormal Inexact Rounded
+powx436 power 0.04E+503     -2         ->     1E-1003 Underflow Subnormal Inexact Rounded
+powx437 power 0.04E+504     -2         ->     0E-1003 Underflow Subnormal Inexact Rounded
+
+powx441 power 0.04E+334     -3         ->  1.5625E-998
+powx442 power 0.04E+335     -3         ->    1.56E-1001 Underflow Subnormal Inexact Rounded
+powx443 power 0.04E+336     -3         ->       0E-1003 Underflow Subnormal Inexact Rounded
+powx444 power 0.25E+333     -3         ->     6.4E-998
+powx445 power 0.25E+334     -3         ->     6.4E-1001 Subnormal
+powx446 power 0.25E+335     -3         ->       1E-1003 Underflow Subnormal Inexact Rounded
+powx447 power 0.25E+336     -3         ->       0E-1003 Underflow Subnormal Inexact Rounded Clamped
+-- check sign for cubes  and a few squares
+powx448 power -0.04E+334    -3         -> -1.5625E-998
+powx449 power -0.04E+335    -3         ->   -1.56E-1001 Underflow Subnormal Inexact Rounded
+powx450 power -0.04E+336    -3         ->      -0E-1003 Underflow Subnormal Inexact Rounded
+powx451 power -0.25E+333    -3         ->    -6.4E-998
+powx452 power -0.25E+334    -3         ->    -6.4E-1001 Subnormal
+powx453 power -0.25E+335    -3         ->      -1E-1003 Underflow Subnormal Inexact Rounded
+powx454 power -0.25E+336    -3         ->      -0E-1003 Underflow Subnormal Inexact Rounded Clamped
+powx455 power -0.04E+499    -2         ->    6.25E-996
+powx456 power -0.04E+500    -2         ->    6.25E-998
+powx457 power -0.04E+501    -2         ->    6.25E-1000 Subnormal
+powx458 power -0.04E+502    -2         ->     6.3E-1002 Underflow Subnormal Inexact Rounded
+
+-- test -0s
+precision: 9
+powx560 power  0  0        ->  NaN Invalid_operation
+powx561 power  0 -0        ->  NaN Invalid_operation
+powx562 power -0  0        ->  NaN Invalid_operation
+powx563 power -0 -0        ->  NaN Invalid_operation
+powx564 power  1  0        ->  1
+powx565 power  1 -0        ->  1
+powx566 power -1  0        ->  1
+powx567 power -1 -0        ->  1
+powx568 power  0  1        ->  0
+powx569 power  0 -1        ->  Infinity Division_by_zero
+powx570 power -0  1        -> -0
+powx571 power -0 -1        -> -Infinity Division_by_zero
+powx572 power  0  2        ->  0
+powx573 power  0 -2        ->  Infinity Division_by_zero
+powx574 power -0  2        ->  0
+powx575 power -0 -2        ->  Infinity Division_by_zero
+powx576 power  0  3        ->  0
+powx577 power  0 -3        ->  Infinity Division_by_zero
+powx578 power -0  3        -> -0
+powx579 power -0 -3        -> -Infinity Division_by_zero
+
+-- Specials
+powx580 power  Inf  -Inf   ->  NaN  Invalid_operation
+powx581 power  Inf  -1000  ->  0
+powx582 power  Inf  -1     ->  0
+powx583 power  Inf  -0     ->  1
+powx584 power  Inf   0     ->  1
+powx585 power  Inf   1     ->  Infinity
+powx586 power  Inf   1000  ->  Infinity
+powx587 power  Inf   Inf   ->  NaN  Invalid_operation
+powx588 power -1000  Inf   ->  NaN  Invalid_operation
+powx589 power -Inf   Inf   ->  NaN  Invalid_operation
+powx590 power -1     Inf   ->  NaN  Invalid_operation
+powx591 power -0     Inf   ->  NaN  Invalid_operation
+powx592 power  0     Inf   ->  NaN  Invalid_operation
+powx593 power  1     Inf   ->  NaN  Invalid_operation
+powx594 power  1000  Inf   ->  NaN  Invalid_operation
+powx595 power  Inf   Inf   ->  NaN  Invalid_operation
+
+powx600 power -Inf  -Inf   ->  NaN  Invalid_operation
+powx601 power -Inf  -1000  ->  0
+powx602 power -Inf  -1     -> -0
+powx603 power -Inf  -0     ->  1
+powx604 power -Inf   0     ->  1
+powx605 power -Inf   1     -> -Infinity
+powx606 power -Inf   1000  ->  Infinity
+powx607 power -Inf   Inf   ->  NaN  Invalid_operation
+powx608 power -1000  Inf   ->  NaN  Invalid_operation
+powx609 power -Inf  -Inf   ->  NaN  Invalid_operation
+powx610 power -1    -Inf   ->  NaN  Invalid_operation
+powx611 power -0    -Inf   ->  NaN  Invalid_operation
+powx612 power  0    -Inf   ->  NaN  Invalid_operation
+powx613 power  1    -Inf   ->  NaN  Invalid_operation
+powx614 power  1000 -Inf   ->  NaN  Invalid_operation
+powx615 power  Inf  -Inf   ->  NaN  Invalid_operation
+
+powx621 power  NaN -Inf    ->  NaN  Invalid_operation
+powx622 power  NaN -1000   ->  NaN
+powx623 power  NaN -1      ->  NaN
+powx624 power  NaN -0      ->  NaN
+powx625 power  NaN  0      ->  NaN
+powx626 power  NaN  1      ->  NaN
+powx627 power  NaN  1000   ->  NaN
+powx628 power  NaN  Inf    ->  NaN  Invalid_operation
+powx629 power  NaN  NaN    ->  NaN
+powx630 power -Inf  NaN    ->  NaN
+powx631 power -1000 NaN    ->  NaN
+powx632 power -1    NaN    ->  NaN
+powx633 power -0    NaN    ->  NaN
+powx634 power  0    NaN    ->  NaN
+powx635 power  1    NaN    ->  NaN
+powx636 power  1000 NaN    ->  NaN
+powx637 power  Inf  NaN    ->  NaN
+
+powx641 power  sNaN -Inf   ->  NaN  Invalid_operation
+powx642 power  sNaN -1000  ->  NaN  Invalid_operation
+powx643 power  sNaN -1     ->  NaN  Invalid_operation
+powx644 power  sNaN -0     ->  NaN  Invalid_operation
+powx645 power  sNaN  0     ->  NaN  Invalid_operation
+powx646 power  sNaN  1     ->  NaN  Invalid_operation
+powx647 power  sNaN  1000  ->  NaN  Invalid_operation
+powx648 power  sNaN  NaN   ->  NaN  Invalid_operation
+powx649 power  sNaN sNaN   ->  NaN  Invalid_operation
+powx650 power  NaN  sNaN   ->  NaN  Invalid_operation
+powx651 power -Inf  sNaN   ->  NaN  Invalid_operation
+powx652 power -1000 sNaN   ->  NaN  Invalid_operation
+powx653 power -1    sNaN   ->  NaN  Invalid_operation
+powx654 power -0    sNaN   ->  NaN  Invalid_operation
+powx655 power  0    sNaN   ->  NaN  Invalid_operation
+powx656 power  1    sNaN   ->  NaN  Invalid_operation
+powx657 power  1000 sNaN   ->  NaN  Invalid_operation
+powx658 power  Inf  sNaN   ->  NaN  Invalid_operation
+powx659 power  NaN  sNaN   ->  NaN  Invalid_operation
+
+-- NaN propagation
+powx660 power  NaN3  sNaN7  ->  NaN7  Invalid_operation
+powx661 power  sNaN8  NaN6  ->  NaN8  Invalid_operation
+powx662 power  1     sNaN7  ->  NaN7  Invalid_operation
+powx663 power  sNaN8  1     ->  NaN8  Invalid_operation
+powx664 power  Inf   sNaN7  ->  NaN7  Invalid_operation
+powx665 power  sNaN8  Inf   ->  NaN   Invalid_operation
+powx666 power  Inf    NaN9  ->  NaN9
+powx667 power  NaN6   Inf   ->  NaN   Invalid_operation
+powx668 power  1      NaN5  ->  NaN5
+powx669 power  NaN2   1     ->  NaN2
+powx670 power  NaN2   Nan4  ->  NaN2
+powx671 power  NaN    Nan4  ->  NaN
+powx672 power  NaN345 Nan   ->  NaN345
+powx673 power  Inf    -sNaN7 -> -NaN7 Invalid_operation
+powx674 power  -sNaN8  Inf   -> NaN   Invalid_operation
+powx675 power  Inf    -NaN9  -> -NaN9
+powx676 power  -NaN6   Inf   -> NaN   Invalid_operation
+powx677 power  -NaN2  -Nan4  -> -NaN2
+
+-- Examples from extended specification
+powx690 power  Inf  -2     ->  0
+powx691 power  Inf  -1     ->  0
+powx692 power  Inf   0     ->  1
+powx693 power  Inf   1     ->  Infinity
+powx694 power  Inf   2     ->  Infinity
+powx695 power -Inf  -2     ->  0
+powx696 power -Inf  -1     ->  -0
+powx697 power -Inf   0     ->  1
+powx698 power -Inf   1     ->  -Infinity
+powx699 power -Inf   2     ->  Infinity
+powx700 power    0   0     ->  NaN Invalid_operation
+
+-- long operand and RHS range checks
+maxexponent: 999
+minexponent: -999
+precision: 9
+powx701 power 12345678000 1 -> 1.23456780E+10 Rounded
+powx702 power 1234567800  1 -> 1.23456780E+9 Rounded
+powx703 power 1234567890  1 -> 1.23456789E+9 Rounded
+powx704 power 1234567891  1 -> 1.23456789E+9 Inexact Rounded
+powx705 power 12345678901 1 -> 1.23456789E+10 Inexact Rounded
+powx706 power 1234567896  1 -> 1.23456790E+9 Inexact Rounded
+powx707 power 1 12345678000  -> NaN Invalid_operation
+powx708 power 1 1234567800   -> NaN Invalid_operation
+powx709 power 1 1234567890   -> NaN Invalid_operation
+powx710 power 1 11234567891  -> NaN Invalid_operation
+powx711 power 1 12345678901  -> NaN Invalid_operation
+powx712 power 1 1234567896   -> NaN Invalid_operation
+powx713 power 1 -1234567896  -> NaN Invalid_operation
+powx714 power 1 1000000000   -> NaN Invalid_operation
+powx715 power 1 -1000000000  -> NaN Invalid_operation
+
+precision: 15
+-- still checking
+powx741 power 12345678000 1 -> 12345678000
+powx742 power 1234567800  1 -> 1234567800
+powx743 power 1234567890  1 -> 1234567890
+powx744 power 1234567891  1 -> 1234567891
+powx745 power 12345678901 1 -> 12345678901
+powx746 power 1234567896  1 -> 1234567896
+powx747 power 1 12345678000  -> NaN Invalid_operation
+powx748 power 1 -1234567896  -> NaN Invalid_operation
+powx749 power 1 1000000000   -> NaN Invalid_operation
+powx740 power 1 -1000000000  -> NaN Invalid_operation
+
+-- check for double-rounded subnormals
+precision:   5
+maxexponent: 79
+minexponent: -79
+powx750 power     1.2347E-40  2      ->  1.524E-80 Inexact Rounded Subnormal Underflow
+
+-- Null tests
+powx900 power  1 # -> NaN Invalid_operation
+powx901 power  # 1 -> NaN Invalid_operation
+

Added: sandbox/trunk/decimal-c/decimaltestdata/quantize.decTest
==============================================================================
--- (empty file)
+++ sandbox/trunk/decimal-c/decimaltestdata/quantize.decTest	Tue May 23 13:34:01 2006
@@ -0,0 +1,780 @@
+------------------------------------------------------------------------
+-- quantize.decTest -- decimal quantize operation                     --
+-- Copyright (c) IBM Corporation, 1981, 2004.  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 at uk.ibm.com                                                   --
+------------------------------------------------------------------------
+version: 2.39
+
+-- Most of the tests here assume a "regular pattern", where the
+-- sign and coefficient are +1.
+-- 2004.03.15 Underflow for quantize is suppressed
+
+extended:    1
+precision:   9
+rounding:    half_up
+maxExponent: 999
+minexponent: -999
+
+-- sanity checks
+quax001 quantize 0       1e0   -> 0
+quax002 quantize 1       1e0   -> 1
+quax003 quantize 0.1    1e+2   -> 0E+2 Inexact Rounded
+quax005 quantize 0.1    1e+1   -> 0E+1 Inexact Rounded
+quax006 quantize 0.1     1e0   -> 0 Inexact Rounded
+quax007 quantize 0.1    1e-1   -> 0.1
+quax008 quantize 0.1    1e-2   -> 0.10
+quax009 quantize 0.1    1e-3   -> 0.100
+quax010 quantize 0.9    1e+2   -> 0E+2 Inexact Rounded
+quax011 quantize 0.9    1e+1   -> 0E+1 Inexact Rounded
+quax012 quantize 0.9    1e+0   -> 1 Inexact Rounded
+quax013 quantize 0.9    1e-1   -> 0.9
+quax014 quantize 0.9    1e-2   -> 0.90
+quax015 quantize 0.9    1e-3   -> 0.900
+-- negatives
+quax021 quantize -0      1e0   -> -0
+quax022 quantize -1      1e0   -> -1
+quax023 quantize -0.1   1e+2   -> -0E+2 Inexact Rounded
+quax025 quantize -0.1   1e+1   -> -0E+1 Inexact Rounded
+quax026 quantize -0.1    1e0   -> -0 Inexact Rounded
+quax027 quantize -0.1   1e-1   -> -0.1
+quax028 quantize -0.1   1e-2   -> -0.10
+quax029 quantize -0.1   1e-3   -> -0.100
+quax030 quantize -0.9   1e+2   -> -0E+2 Inexact Rounded
+quax031 quantize -0.9   1e+1   -> -0E+1 Inexact Rounded
+quax032 quantize -0.9   1e+0   -> -1 Inexact Rounded
+quax033 quantize -0.9   1e-1   -> -0.9
+quax034 quantize -0.9   1e-2   -> -0.90
+quax035 quantize -0.9   1e-3   -> -0.900
+quax036 quantize -0.5   1e+2   -> -0E+2 Inexact Rounded
+quax037 quantize -0.5   1e+1   -> -0E+1 Inexact Rounded
+quax038 quantize -0.5   1e+0   -> -1 Inexact Rounded
+quax039 quantize -0.5   1e-1   -> -0.5
+quax040 quantize -0.5   1e-2   -> -0.50
+quax041 quantize -0.5   1e-3   -> -0.500
+quax042 quantize -0.9   1e+2   -> -0E+2 Inexact Rounded
+quax043 quantize -0.9   1e+1   -> -0E+1 Inexact Rounded
+quax044 quantize -0.9   1e+0   -> -1 Inexact Rounded
+quax045 quantize -0.9   1e-1   -> -0.9
+quax046 quantize -0.9   1e-2   -> -0.90
+quax047 quantize -0.9   1e-3   -> -0.900
+
+-- examples from Specification
+quax060 quantize 2.17   0.001  -> 2.170
+quax061 quantize 2.17   0.01   -> 2.17
+quax062 quantize 2.17   0.1    -> 2.2 Inexact Rounded
+quax063 quantize 2.17   1e+0   -> 2 Inexact Rounded
+quax064 quantize 2.17   1e+1   -> 0E+1 Inexact Rounded
+quax065 quantize -Inf    Inf   -> -Infinity
+quax066 quantize 2       Inf   -> NaN Invalid_operation
+quax067 quantize -0.1    1     -> -0 Inexact Rounded
+quax068 quantize -0      1e+5     -> -0E+5
+quax069 quantize +35236450.6 1e-2 -> NaN Invalid_operation
+quax070 quantize -35236450.6 1e-2 -> NaN Invalid_operation
+quax071 quantize 217    1e-1   -> 217.0
+quax072 quantize 217    1e+0   -> 217
+quax073 quantize 217    1e+1   -> 2.2E+2 Inexact Rounded
+quax074 quantize 217    1e+2   -> 2E+2 Inexact Rounded
+
+-- general tests ..
+quax089 quantize 12     1e+4   -> 0E+4 Inexact Rounded
+quax090 quantize 12     1e+3   -> 0E+3 Inexact Rounded
+quax091 quantize 12     1e+2   -> 0E+2 Inexact Rounded
+quax092 quantize 12     1e+1   -> 1E+1 Inexact Rounded
+quax093 quantize 1.2345 1e-2   -> 1.23 Inexact Rounded
+quax094 quantize 1.2355 1e-2   -> 1.24 Inexact Rounded
+quax095 quantize 1.2345 1e-6   -> 1.234500
+quax096 quantize 9.9999 1e-2   -> 10.00 Inexact Rounded
+quax097 quantize 0.0001 1e-2   -> 0.00 Inexact Rounded
+quax098 quantize 0.001  1e-2   -> 0.00 Inexact Rounded
+quax099 quantize 0.009  1e-2   -> 0.01 Inexact Rounded
+quax100 quantize 92     1e+2   -> 1E+2 Inexact Rounded
+
+quax101 quantize -1      1e0   ->  -1
+quax102 quantize -1     1e-1   ->  -1.0
+quax103 quantize -1     1e-2   ->  -1.00
+quax104 quantize  0      1e0   ->  0
+quax105 quantize  0     1e-1   ->  0.0
+quax106 quantize  0     1e-2   ->  0.00
+quax107 quantize  0.00   1e0   ->  0
+quax108 quantize  0     1e+1   ->  0E+1
+quax109 quantize  0     1e+2   ->  0E+2
+quax110 quantize +1      1e0   ->  1
+quax111 quantize +1     1e-1   ->  1.0
+quax112 quantize +1     1e-2   ->  1.00
+
+quax120 quantize   1.04  1e-3 ->  1.040
+quax121 quantize   1.04  1e-2 ->  1.04
+quax122 quantize   1.04  1e-1 ->  1.0 Inexact Rounded
+quax123 quantize   1.04   1e0 ->  1 Inexact Rounded
+quax124 quantize   1.05  1e-3 ->  1.050
+quax125 quantize   1.05  1e-2 ->  1.05
+quax126 quantize   1.05  1e-1 ->  1.1 Inexact Rounded
+quax127 quantize   1.05   1e0 ->  1 Inexact Rounded
+quax128 quantize   1.05  1e-3 ->  1.050
+quax129 quantize   1.05  1e-2 ->  1.05
+quax130 quantize   1.05  1e-1 ->  1.1 Inexact Rounded
+quax131 quantize   1.05   1e0 ->  1 Inexact Rounded
+quax132 quantize   1.06  1e-3 ->  1.060
+quax133 quantize   1.06  1e-2 ->  1.06
+quax134 quantize   1.06  1e-1 ->  1.1 Inexact Rounded
+quax135 quantize   1.06   1e0 ->  1 Inexact Rounded
+
+quax140 quantize   -10    1e-2  ->  -10.00
+quax141 quantize   +1     1e-2  ->  1.00
+quax142 quantize   +10    1e-2  ->  10.00
+quax143 quantize   1E+10  1e-2  ->  NaN Invalid_operation
+quax144 quantize   1E-10  1e-2  ->  0.00 Inexact Rounded
+quax145 quantize   1E-3   1e-2  ->  0.00 Inexact Rounded
+quax146 quantize   1E-2   1e-2  ->  0.01
+quax147 quantize   1E-1   1e-2  ->  0.10
+quax148 quantize   0E-10  1e-2  ->  0.00
+
+quax150 quantize   1.0600 1e-5 ->  1.06000
+quax151 quantize   1.0600 1e-4 ->  1.0600
+quax152 quantize   1.0600 1e-3 ->  1.060 Rounded
+quax153 quantize   1.0600 1e-2 ->  1.06 Rounded
+quax154 quantize   1.0600 1e-1 ->  1.1 Inexact Rounded
+quax155 quantize   1.0600  1e0 ->  1 Inexact Rounded
+
+-- base tests with non-1 coefficients
+quax161 quantize 0      -9e0   -> 0
+quax162 quantize 1      -7e0   -> 1
+quax163 quantize 0.1   -1e+2   -> 0E+2 Inexact Rounded
+quax165 quantize 0.1    0e+1   -> 0E+1 Inexact Rounded
+quax166 quantize 0.1     2e0   -> 0 Inexact Rounded
+quax167 quantize 0.1    3e-1   -> 0.1
+quax168 quantize 0.1   44e-2   -> 0.10
+quax169 quantize 0.1  555e-3   -> 0.100
+quax170 quantize 0.9 6666e+2   -> 0E+2 Inexact Rounded
+quax171 quantize 0.9 -777e+1   -> 0E+1 Inexact Rounded
+quax172 quantize 0.9  -88e+0   -> 1 Inexact Rounded
+quax173 quantize 0.9   -9e-1   -> 0.9
+quax174 quantize 0.9    0e-2   -> 0.90
+quax175 quantize 0.9  1.1e-3   -> 0.9000
+-- negatives
+quax181 quantize -0    1.1e0   -> -0.0
+quax182 quantize -1     -1e0   -> -1
+quax183 quantize -0.1  11e+2   -> -0E+2 Inexact Rounded
+quax185 quantize -0.1 111e+1   -> -0E+1 Inexact Rounded
+quax186 quantize -0.1   71e0   -> -0 Inexact Rounded
+quax187 quantize -0.1 -91e-1   -> -0.1
+quax188 quantize -0.1 -.1e-2   -> -0.100
+quax189 quantize -0.1  -1e-3   -> -0.100
+quax190 quantize -0.9   0e+2   -> -0E+2 Inexact Rounded
+quax191 quantize -0.9  -0e+1   -> -0E+1 Inexact Rounded
+quax192 quantize -0.9 -10e+0   -> -1 Inexact Rounded
+quax193 quantize -0.9 100e-1   -> -0.9
+quax194 quantize -0.9 999e-2   -> -0.90
+
+-- +ve exponents ..
+quax201 quantize   -1   1e+0 ->  -1
+quax202 quantize   -1   1e+1 ->  -0E+1 Inexact Rounded
+quax203 quantize   -1   1e+2 ->  -0E+2 Inexact Rounded
+quax204 quantize    0   1e+0 ->  0
+quax205 quantize    0   1e+1 ->  0E+1
+quax206 quantize    0   1e+2 ->  0E+2
+quax207 quantize   +1   1e+0 ->  1
+quax208 quantize   +1   1e+1 ->  0E+1 Inexact Rounded
+quax209 quantize   +1   1e+2 ->  0E+2 Inexact Rounded
+
+quax220 quantize   1.04 1e+3 ->  0E+3 Inexact Rounded
+quax221 quantize   1.04 1e+2 ->  0E+2 Inexact Rounded
+quax222 quantize   1.04 1e+1 ->  0E+1 Inexact Rounded
+quax223 quantize   1.04 1e+0 ->  1 Inexact Rounded
+quax224 quantize   1.05 1e+3 ->  0E+3 Inexact Rounded
+quax225 quantize   1.05 1e+2 ->  0E+2 Inexact Rounded
+quax226 quantize   1.05 1e+1 ->  0E+1 Inexact Rounded
+quax227 quantize   1.05 1e+0 ->  1 Inexact Rounded
+quax228 quantize   1.05 1e+3 ->  0E+3 Inexact Rounded
+quax229 quantize   1.05 1e+2 ->  0E+2 Inexact Rounded
+quax230 quantize   1.05 1e+1 ->  0E+1 Inexact Rounded
+quax231 quantize   1.05 1e+0 ->  1 Inexact Rounded
+quax232 quantize   1.06 1e+3 ->  0E+3 Inexact Rounded
+quax233 quantize   1.06 1e+2 ->  0E+2 Inexact Rounded
+quax234 quantize   1.06 1e+1 ->  0E+1 Inexact Rounded
+quax235 quantize   1.06 1e+0 ->  1 Inexact Rounded
+
+quax240 quantize   -10   1e+1  ->  -1E+1 Rounded
+quax241 quantize   +1    1e+1  ->  0E+1 Inexact Rounded
+quax242 quantize   +10   1e+1  ->  1E+1 Rounded
+quax243 quantize   1E+1  1e+1  ->  1E+1          -- underneath this is E+1
+quax244 quantize   1E+2  1e+1  ->  1.0E+2        -- underneath this is E+1
+quax245 quantize   1E+3  1e+1  ->  1.00E+3       -- underneath this is E+1
+quax246 quantize   1E+4  1e+1  ->  1.000E+4      -- underneath this is E+1
+quax247 quantize   1E+5  1e+1  ->  1.0000E+5     -- underneath this is E+1
+quax248 quantize   1E+6  1e+1  ->  1.00000E+6    -- underneath this is E+1
+quax249 quantize   1E+7  1e+1  ->  1.000000E+7   -- underneath this is E+1
+quax250 quantize   1E+8  1e+1  ->  1.0000000E+8  -- underneath this is E+1
+quax251 quantize   1E+9  1e+1  ->  1.00000000E+9 -- underneath this is E+1
+-- next one tries to add 9 zeros
+quax252 quantize   1E+10 1e+1  ->  NaN Invalid_operation
+quax253 quantize   1E-10 1e+1  ->  0E+1 Inexact Rounded
+quax254 quantize   1E-2  1e+1  ->  0E+1 Inexact Rounded
+quax255 quantize   0E-10 1e+1  ->  0E+1
+quax256 quantize  -0E-10 1e+1  -> -0E+1
+quax257 quantize  -0E-1  1e+1  -> -0E+1
+quax258 quantize  -0     1e+1  -> -0E+1
+quax259 quantize  -0E+1  1e+1  -> -0E+1
+
+quax260 quantize   -10   1e+2  ->  -0E+2 Inexact Rounded
+quax261 quantize   +1    1e+2  ->  0E+2 Inexact Rounded
+quax262 quantize   +10   1e+2  ->  0E+2 Inexact Rounded
+quax263 quantize   1E+1  1e+2  ->  0E+2 Inexact Rounded
+quax264 quantize   1E+2  1e+2  ->  1E+2
+quax265 quantize   1E+3  1e+2  ->  1.0E+3
+quax266 quantize   1E+4  1e+2  ->  1.00E+4
+quax267 quantize   1E+5  1e+2  ->  1.000E+5
+quax268 quantize   1E+6  1e+2  ->  1.0000E+6
+quax269 quantize   1E+7  1e+2  ->  1.00000E+7
+quax270 quantize   1E+8  1e+2  ->  1.000000E+8
+quax271 quantize   1E+9  1e+2  ->  1.0000000E+9
+quax272 quantize   1E+10 1e+2  ->  1.00000000E+10
+quax273 quantize   1E-10 1e+2  ->  0E+2 Inexact Rounded
+quax274 quantize   1E-2  1e+2  ->  0E+2 Inexact Rounded
+quax275 quantize   0E-10 1e+2  ->  0E+2
+
+quax280 quantize   -10   1e+3  ->  -0E+3 Inexact Rounded
+quax281 quantize   +1    1e+3  ->  0E+3 Inexact Rounded
+quax282 quantize   +10   1e+3  ->  0E+3 Inexact Rounded
+quax283 quantize   1E+1  1e+3  ->  0E+3 Inexact Rounded
+quax284 quantize   1E+2  1e+3  ->  0E+3 Inexact Rounded
+quax285 quantize   1E+3  1e+3  ->  1E+3
+quax286 quantize   1E+4  1e+3  ->  1.0E+4
+quax287 quantize   1E+5  1e+3  ->  1.00E+5
+quax288 quantize   1E+6  1e+3  ->  1.000E+6
+quax289 quantize   1E+7  1e+3  ->  1.0000E+7
+quax290 quantize   1E+8  1e+3  ->  1.00000E+8
+quax291 quantize   1E+9  1e+3  ->  1.000000E+9
+quax292 quantize   1E+10 1e+3  ->  1.0000000E+10
+quax293 quantize   1E-10 1e+3  ->  0E+3 Inexact Rounded
+quax294 quantize   1E-2  1e+3  ->  0E+3 Inexact Rounded
+quax295 quantize   0E-10 1e+3  ->  0E+3
+
+-- round up from below [sign wrong in JIT compiler once]
+quax300 quantize   0.0078 1e-5 ->  0.00780
+quax301 quantize   0.0078 1e-4 ->  0.0078
+quax302 quantize   0.0078 1e-3 ->  0.008 Inexact Rounded
+quax303 quantize   0.0078 1e-2 ->  0.01 Inexact Rounded
+quax304 quantize   0.0078 1e-1 ->  0.0 Inexact Rounded
+quax305 quantize   0.0078  1e0 ->  0 Inexact Rounded
+quax306 quantize   0.0078 1e+1 ->  0E+1 Inexact Rounded
+quax307 quantize   0.0078 1e+2 ->  0E+2 Inexact Rounded
+
+quax310 quantize  -0.0078 1e-5 -> -0.00780
+quax311 quantize  -0.0078 1e-4 -> -0.0078
+quax312 quantize  -0.0078 1e-3 -> -0.008 Inexact Rounded
+quax313 quantize  -0.0078 1e-2 -> -0.01 Inexact Rounded
+quax314 quantize  -0.0078 1e-1 -> -0.0 Inexact Rounded
+quax315 quantize  -0.0078  1e0 -> -0 Inexact Rounded
+quax316 quantize  -0.0078 1e+1 -> -0E+1 Inexact Rounded
+quax317 quantize  -0.0078 1e+2 -> -0E+2 Inexact Rounded
+
+quax320 quantize   0.078 1e-5 ->  0.07800
+quax321 quantize   0.078 1e-4 ->  0.0780
+quax322 quantize   0.078 1e-3 ->  0.078
+quax323 quantize   0.078 1e-2 ->  0.08 Inexact Rounded
+quax324 quantize   0.078 1e-1 ->  0.1 Inexact Rounded
+quax325 quantize   0.078  1e0 ->  0 Inexact Rounded
+quax326 quantize   0.078 1e+1 ->  0E+1 Inexact Rounded
+quax327 quantize   0.078 1e+2 ->  0E+2 Inexact Rounded
+
+quax330 quantize  -0.078 1e-5 -> -0.07800
+quax331 quantize  -0.078 1e-4 -> -0.0780
+quax332 quantize  -0.078 1e-3 -> -0.078
+quax333 quantize  -0.078 1e-2 -> -0.08 Inexact Rounded
+quax334 quantize  -0.078 1e-1 -> -0.1 Inexact Rounded
+quax335 quantize  -0.078  1e0 -> -0 Inexact Rounded
+quax336 quantize  -0.078 1e+1 -> -0E+1 Inexact Rounded
+quax337 quantize  -0.078 1e+2 -> -0E+2 Inexact Rounded
+
+quax340 quantize   0.78 1e-5 ->  0.78000
+quax341 quantize   0.78 1e-4 ->  0.7800
+quax342 quantize   0.78 1e-3 ->  0.780
+quax343 quantize   0.78 1e-2 ->  0.78
+quax344 quantize   0.78 1e-1 ->  0.8 Inexact Rounded
+quax345 quantize   0.78  1e0 ->  1 Inexact Rounded
+quax346 quantize   0.78 1e+1 ->  0E+1 Inexact Rounded
+quax347 quantize   0.78 1e+2 ->  0E+2 Inexact Rounded
+
+quax350 quantize  -0.78 1e-5 -> -0.78000
+quax351 quantize  -0.78 1e-4 -> -0.7800
+quax352 quantize  -0.78 1e-3 -> -0.780
+quax353 quantize  -0.78 1e-2 -> -0.78
+quax354 quantize  -0.78 1e-1 -> -0.8 Inexact Rounded
+quax355 quantize  -0.78  1e0 -> -1 Inexact Rounded
+quax356 quantize  -0.78 1e+1 -> -0E+1 Inexact Rounded
+quax357 quantize  -0.78 1e+2 -> -0E+2 Inexact Rounded
+
+quax360 quantize   7.8 1e-5 ->  7.80000
+quax361 quantize   7.8 1e-4 ->  7.8000
+quax362 quantize   7.8 1e-3 ->  7.800
+quax363 quantize   7.8 1e-2 ->  7.80
+quax364 quantize   7.8 1e-1 ->  7.8
+quax365 quantize   7.8  1e0 ->  8 Inexact Rounded
+quax366 quantize   7.8 1e+1 ->  1E+1 Inexact Rounded
+quax367 quantize   7.8 1e+2 ->  0E+2 Inexact Rounded
+quax368 quantize   7.8 1e+3 ->  0E+3 Inexact Rounded
+
+quax370 quantize  -7.8 1e-5 -> -7.80000
+quax371 quantize  -7.8 1e-4 -> -7.8000
+quax372 quantize  -7.8 1e-3 -> -7.800
+quax373 quantize  -7.8 1e-2 -> -7.80
+quax374 quantize  -7.8 1e-1 -> -7.8
+quax375 quantize  -7.8  1e0 -> -8 Inexact Rounded
+quax376 quantize  -7.8 1e+1 -> -1E+1 Inexact Rounded
+quax377 quantize  -7.8 1e+2 -> -0E+2 Inexact Rounded
+quax378 quantize  -7.8 1e+3 -> -0E+3 Inexact Rounded
+
+-- some individuals
+precision: 9
+quax380 quantize   352364.506 1e-2 -> 352364.51 Inexact Rounded
+quax381 quantize   3523645.06 1e-2 -> 3523645.06
+quax382 quantize   35236450.6 1e-2 -> NaN Invalid_operation
+quax383 quantize   352364506  1e-2 -> NaN Invalid_operation
+quax384 quantize  -352364.506 1e-2 -> -352364.51 Inexact Rounded
+quax385 quantize  -3523645.06 1e-2 -> -3523645.06
+quax386 quantize  -35236450.6 1e-2 -> NaN Invalid_operation
+quax387 quantize  -352364506  1e-2 -> NaN Invalid_operation
+
+rounding: down
+quax389 quantize   35236450.6 1e-2 -> NaN Invalid_operation
+-- ? should that one instead have been:
+-- quax389 quantize   35236450.6 1e-2 -> NaN Invalid_operation
+rounding: half_up
+
+-- and a few more from e-mail discussions
+precision: 7
+quax391 quantize  12.34567  1e-3 -> 12.346   Inexact Rounded
+quax392 quantize  123.4567  1e-3 -> 123.457  Inexact Rounded
+quax393 quantize  1234.567  1e-3 -> 1234.567
+quax394 quantize  12345.67  1e-3 -> NaN Invalid_operation
+quax395 quantize  123456.7  1e-3 -> NaN Invalid_operation
+quax396 quantize  1234567.  1e-3 -> NaN Invalid_operation
+
+-- some 9999 round-up cases
+precision: 9
+quax400 quantize   9.999        1e-5  ->  9.99900
+quax401 quantize   9.999        1e-4  ->  9.9990
+quax402 quantize   9.999        1e-3  ->  9.999
+quax403 quantize   9.999        1e-2  -> 10.00     Inexact Rounded
+quax404 quantize   9.999        1e-1  -> 10.0      Inexact Rounded
+quax405 quantize   9.999         1e0  -> 10        Inexact Rounded
+quax406 quantize   9.999         1e1  -> 1E+1      Inexact Rounded
+quax407 quantize   9.999         1e2  -> 0E+2      Inexact Rounded
+
+quax410 quantize   0.999        1e-5  ->  0.99900
+quax411 quantize   0.999        1e-4  ->  0.9990
+quax412 quantize   0.999        1e-3  ->  0.999
+quax413 quantize   0.999        1e-2  ->  1.00     Inexact Rounded
+quax414 quantize   0.999        1e-1  ->  1.0      Inexact Rounded
+quax415 quantize   0.999         1e0  ->  1        Inexact Rounded
+quax416 quantize   0.999         1e1  -> 0E+1      Inexact Rounded
+
+quax420 quantize   0.0999       1e-5  ->  0.09990
+quax421 quantize   0.0999       1e-4  ->  0.0999
+quax422 quantize   0.0999       1e-3  ->  0.100    Inexact Rounded
+quax423 quantize   0.0999       1e-2  ->  0.10     Inexact Rounded
+quax424 quantize   0.0999       1e-1  ->  0.1      Inexact Rounded
+quax425 quantize   0.0999        1e0  ->  0        Inexact Rounded
+quax426 quantize   0.0999        1e1  -> 0E+1      Inexact Rounded
+
+quax430 quantize   0.00999      1e-5  ->  0.00999
+quax431 quantize   0.00999      1e-4  ->  0.0100   Inexact Rounded
+quax432 quantize   0.00999      1e-3  ->  0.010    Inexact Rounded
+quax433 quantize   0.00999      1e-2  ->  0.01     Inexact Rounded
+quax434 quantize   0.00999      1e-1  ->  0.0      Inexact Rounded
+quax435 quantize   0.00999       1e0  ->  0        Inexact Rounded
+quax436 quantize   0.00999       1e1  -> 0E+1      Inexact Rounded
+
+quax440 quantize   0.000999     1e-5  ->  0.00100  Inexact Rounded
+quax441 quantize   0.000999     1e-4  ->  0.0010   Inexact Rounded
+quax442 quantize   0.000999     1e-3  ->  0.001    Inexact Rounded
+quax443 quantize   0.000999     1e-2  ->  0.00     Inexact Rounded
+quax444 quantize   0.000999     1e-1  ->  0.0      Inexact Rounded
+quax445 quantize   0.000999      1e0  ->  0        Inexact Rounded
+quax446 quantize   0.000999      1e1  -> 0E+1      Inexact Rounded
+
+precision: 8
+quax449 quantize   9.999E-15    1e-23 ->  NaN Invalid_operation
+quax450 quantize   9.999E-15    1e-22 ->  9.9990000E-15
+quax451 quantize   9.999E-15    1e-21 ->  9.999000E-15
+quax452 quantize   9.999E-15    1e-20 ->  9.99900E-15
+quax453 quantize   9.999E-15    1e-19 ->  9.9990E-15
+quax454 quantize   9.999E-15    1e-18 ->  9.999E-15
+quax455 quantize   9.999E-15    1e-17 ->  1.000E-14 Inexact Rounded
+quax456 quantize   9.999E-15    1e-16 ->  1.00E-14  Inexact Rounded
+quax457 quantize   9.999E-15    1e-15 ->  1.0E-14   Inexact Rounded
+quax458 quantize   9.999E-15    1e-14 ->  1E-14     Inexact Rounded
+quax459 quantize   9.999E-15    1e-13 ->  0E-13     Inexact Rounded
+quax460 quantize   9.999E-15    1e-12 ->  0E-12     Inexact Rounded
+quax461 quantize   9.999E-15    1e-11 ->  0E-11     Inexact Rounded
+quax462 quantize   9.999E-15    1e-10 ->  0E-10     Inexact Rounded
+quax463 quantize   9.999E-15     1e-9 ->  0E-9      Inexact Rounded
+quax464 quantize   9.999E-15     1e-8 ->  0E-8      Inexact Rounded
+quax465 quantize   9.999E-15     1e-7 ->  0E-7      Inexact Rounded
+quax466 quantize   9.999E-15     1e-6 ->  0.000000  Inexact Rounded
+quax467 quantize   9.999E-15     1e-5 ->  0.00000   Inexact Rounded
+quax468 quantize   9.999E-15     1e-4 ->  0.0000    Inexact Rounded
+quax469 quantize   9.999E-15     1e-3 ->  0.000     Inexact Rounded
+quax470 quantize   9.999E-15     1e-2 ->  0.00      Inexact Rounded
+quax471 quantize   9.999E-15     1e-1 ->  0.0       Inexact Rounded
+quax472 quantize   9.999E-15      1e0 ->  0         Inexact Rounded
+quax473 quantize   9.999E-15      1e1 ->  0E+1      Inexact Rounded
+
+-- long operand checks [rhs checks removed]
+maxexponent: 999
+minexponent: -999
+precision: 9
+quax481 quantize 12345678000 1e+3 -> 1.2345678E+10 Rounded
+quax482 quantize 1234567800  1e+1 -> 1.23456780E+9 Rounded
+quax483 quantize 1234567890  1e+1 -> 1.23456789E+9 Rounded
+quax484 quantize 1234567891  1e+1 -> 1.23456789E+9 Inexact Rounded
+quax485 quantize 12345678901 1e+2 -> 1.23456789E+10 Inexact Rounded
+quax486 quantize 1234567896  1e+1 -> 1.23456790E+9 Inexact Rounded
+-- a potential double-round
+quax487 quantize 1234.987643 1e-4 -> 1234.9876 Inexact Rounded
+quax488 quantize 1234.987647 1e-4 -> 1234.9876 Inexact Rounded
+
+precision: 15
+quax491 quantize 12345678000 1e+3 -> 1.2345678E+10 Rounded
+quax492 quantize 1234567800  1e+1 -> 1.23456780E+9 Rounded
+quax493 quantize 1234567890  1e+1 -> 1.23456789E+9 Rounded
+quax494 quantize 1234567891  1e+1 -> 1.23456789E+9 Inexact Rounded
+quax495 quantize 12345678901 1e+2 -> 1.23456789E+10 Inexact Rounded
+quax496 quantize 1234567896  1e+1 -> 1.23456790E+9 Inexact Rounded
+quax497 quantize 1234.987643 1e-4 -> 1234.9876 Inexact Rounded
+quax498 quantize 1234.987647 1e-4 -> 1234.9876 Inexact Rounded
+
+-- Zeros
+quax500 quantize   0     1e1 ->  0E+1
+quax501 quantize   0     1e0 ->  0
+quax502 quantize   0    1e-1 ->  0.0
+quax503 quantize   0.0  1e-1 ->  0.0
+quax504 quantize   0.0   1e0 ->  0
+quax505 quantize   0.0  1e+1 ->  0E+1
+quax506 quantize   0E+1 1e-1 ->  0.0
+quax507 quantize   0E+1  1e0 ->  0
+quax508 quantize   0E+1 1e+1 ->  0E+1
+quax509 quantize  -0     1e1 -> -0E+1
+quax510 quantize  -0     1e0 -> -0
+quax511 quantize  -0    1e-1 -> -0.0
+quax512 quantize  -0.0  1e-1 -> -0.0
+quax513 quantize  -0.0   1e0 -> -0
+quax514 quantize  -0.0  1e+1 -> -0E+1
+quax515 quantize  -0E+1 1e-1 -> -0.0
+quax516 quantize  -0E+1  1e0 -> -0
+quax517 quantize  -0E+1 1e+1 -> -0E+1
+
+-- Suspicious RHS values
+maxexponent: 999999999
+minexponent: -999999999
+precision: 15
+quax520 quantize   1.234    1e999999000 -> 0E+999999000 Inexact Rounded
+quax521 quantize 123.456    1e999999000 -> 0E+999999000 Inexact Rounded
+quax522 quantize   1.234    1e999999999 -> 0E+999999999 Inexact Rounded
+quax523 quantize 123.456    1e999999999 -> 0E+999999999 Inexact Rounded
+quax524 quantize 123.456   1e1000000000 -> NaN Invalid_operation
+quax525 quantize 123.456  1e12345678903 -> NaN Invalid_operation
+-- next four are "won't fit" overflows
+quax526 quantize   1.234   1e-999999000 -> NaN Invalid_operation
+quax527 quantize 123.456   1e-999999000 -> NaN Invalid_operation
+quax528 quantize   1.234   1e-999999999 -> NaN Invalid_operation
+quax529 quantize 123.456   1e-999999999 -> NaN Invalid_operation
+quax530 quantize 123.456  1e-1000000014 -> NaN Invalid_operation
+quax531 quantize 123.456 1e-12345678903 -> NaN Invalid_operation
+
+maxexponent: 999
+minexponent: -999
+precision: 15
+quax532 quantize   1.234E+999    1e999 -> 1E+999    Inexact Rounded
+quax533 quantize   1.234E+998    1e999 -> 0E+999    Inexact Rounded
+quax534 quantize   1.234         1e999 -> 0E+999    Inexact Rounded
+quax535 quantize   1.234        1e1000 -> NaN Invalid_operation
+quax536 quantize   1.234        1e5000 -> NaN Invalid_operation
+quax537 quantize   0            1e-999 -> 0E-999
+-- next two are "won't fit" overflows
+quax538 quantize   1.234        1e-999 -> NaN Invalid_operation
+quax539 quantize   1.234       1e-1000 -> NaN Invalid_operation
+quax540 quantize   1.234       1e-5000 -> NaN Invalid_operation
+-- [more below]
+
+-- check bounds (lhs maybe out of range for destination, etc.)
+precision:     7
+quax541 quantize   1E+999   1e+999 -> 1E+999
+quax542 quantize   1E+1000  1e+999 -> NaN Invalid_operation
+quax543 quantize   1E+999  1e+1000 -> NaN Invalid_operation
+quax544 quantize   1E-999   1e-999 -> 1E-999
+quax545 quantize   1E-1000  1e-999 -> 0E-999    Inexact Rounded
+quax546 quantize   1E-999  1e-1000 -> 1.0E-999
+quax547 quantize   1E-1005  1e-999 -> 0E-999    Inexact Rounded
+quax548 quantize   1E-1006  1e-999 -> 0E-999    Inexact Rounded
+quax549 quantize   1E-1007  1e-999 -> 0E-999    Inexact Rounded
+quax550 quantize   1E-998  1e-1005 -> NaN Invalid_operation  -- won't fit
+quax551 quantize   1E-999  1e-1005 -> 1.000000E-999
+quax552 quantize   1E-1000 1e-1005 -> 1.00000E-1000 Subnormal
+quax553 quantize   1E-999  1e-1006 -> NaN Invalid_operation
+quax554 quantize   1E-999  1e-1007 -> NaN Invalid_operation
+-- related subnormal rounding
+quax555 quantize   1.666666E-999  1e-1005 -> 1.666666E-999
+quax556 quantize   1.666666E-1000 1e-1005 -> 1.66667E-1000  Subnormal Inexact Rounded
+quax557 quantize   1.666666E-1001 1e-1005 -> 1.6667E-1001  Subnormal Inexact Rounded
+quax558 quantize   1.666666E-1002 1e-1005 -> 1.667E-1002  Subnormal Inexact Rounded
+quax559 quantize   1.666666E-1003 1e-1005 -> 1.67E-1003  Subnormal Inexact Rounded
+quax560 quantize   1.666666E-1004 1e-1005 -> 1.7E-1004  Subnormal Inexact Rounded
+quax561 quantize   1.666666E-1005 1e-1005 -> 2E-1005  Subnormal Inexact Rounded
+quax562 quantize   1.666666E-1006 1e-1005 -> 0E-1005   Inexact Rounded
+quax563 quantize   1.666666E-1007 1e-1005 -> 0E-1005   Inexact Rounded
+
+-- Specials
+quax580 quantize  Inf    -Inf   ->  Infinity
+quax581 quantize  Inf  1e-1000  ->  NaN  Invalid_operation
+quax582 quantize  Inf  1e-1     ->  NaN  Invalid_operation
+quax583 quantize  Inf   1e0     ->  NaN  Invalid_operation
+quax584 quantize  Inf   1e1     ->  NaN  Invalid_operation
+quax585 quantize  Inf   1e1000  ->  NaN  Invalid_operation
+quax586 quantize  Inf     Inf   ->  Infinity
+quax587 quantize -1000    Inf   ->  NaN  Invalid_operation
+quax588 quantize -Inf     Inf   ->  -Infinity
+quax589 quantize -1       Inf   ->  NaN  Invalid_operation
+quax590 quantize  0       Inf   ->  NaN  Invalid_operation
+quax591 quantize  1       Inf   ->  NaN  Invalid_operation
+quax592 quantize  1000    Inf   ->  NaN  Invalid_operation
+quax593 quantize  Inf     Inf   ->  Infinity
+quax594 quantize  Inf  1e-0     ->  NaN  Invalid_operation
+quax595 quantize -0       Inf   ->  NaN  Invalid_operation
+
+quax600 quantize -Inf    -Inf   ->  -Infinity
+quax601 quantize -Inf  1e-1000  ->  NaN  Invalid_operation
+quax602 quantize -Inf  1e-1     ->  NaN  Invalid_operation
+quax603 quantize -Inf   1e0     ->  NaN  Invalid_operation
+quax604 quantize -Inf   1e1     ->  NaN  Invalid_operation
+quax605 quantize -Inf   1e1000  ->  NaN  Invalid_operation
+quax606 quantize -Inf     Inf   ->  -Infinity
+quax607 quantize -1000    Inf   ->  NaN  Invalid_operation
+quax608 quantize -Inf    -Inf   ->  -Infinity
+quax609 quantize -1      -Inf   ->  NaN  Invalid_operation
+quax610 quantize  0      -Inf   ->  NaN  Invalid_operation
+quax611 quantize  1      -Inf   ->  NaN  Invalid_operation
+quax612 quantize  1000   -Inf   ->  NaN  Invalid_operation
+quax613 quantize  Inf    -Inf   ->  Infinity
+quax614 quantize -Inf  1e-0     ->  NaN  Invalid_operation
+quax615 quantize -0      -Inf   ->  NaN  Invalid_operation
+
+quax621 quantize  NaN   -Inf    ->  NaN
+quax622 quantize  NaN 1e-1000   ->  NaN
+quax623 quantize  NaN 1e-1      ->  NaN
+quax624 quantize  NaN  1e0      ->  NaN
+quax625 quantize  NaN  1e1      ->  NaN
+quax626 quantize  NaN  1e1000   ->  NaN
+quax627 quantize  NaN    Inf    ->  NaN
+quax628 quantize  NaN    NaN    ->  NaN
+quax629 quantize -Inf    NaN    ->  NaN
+quax630 quantize -1000   NaN    ->  NaN
+quax631 quantize -1      NaN    ->  NaN
+quax632 quantize  0      NaN    ->  NaN
+quax633 quantize  1      NaN    ->  NaN
+quax634 quantize  1000   NaN    ->  NaN
+quax635 quantize  Inf    NaN    ->  NaN
+quax636 quantize  NaN 1e-0      ->  NaN
+quax637 quantize -0      NaN    ->  NaN
+
+quax641 quantize  sNaN   -Inf   ->  NaN  Invalid_operation
+quax642 quantize  sNaN 1e-1000  ->  NaN  Invalid_operation
+quax643 quantize  sNaN 1e-1     ->  NaN  Invalid_operation
+quax644 quantize  sNaN  1e0     ->  NaN  Invalid_operation
+quax645 quantize  sNaN  1e1     ->  NaN  Invalid_operation
+quax646 quantize  sNaN  1e1000  ->  NaN  Invalid_operation
+quax647 quantize  sNaN    NaN   ->  NaN  Invalid_operation
+quax648 quantize  sNaN   sNaN   ->  NaN  Invalid_operation
+quax649 quantize  NaN    sNaN   ->  NaN  Invalid_operation
+quax650 quantize -Inf    sNaN   ->  NaN  Invalid_operation
+quax651 quantize -1000   sNaN   ->  NaN  Invalid_operation
+quax652 quantize -1      sNaN   ->  NaN  Invalid_operation
+quax653 quantize  0      sNaN   ->  NaN  Invalid_operation
+quax654 quantize  1      sNaN   ->  NaN  Invalid_operation
+quax655 quantize  1000   sNaN   ->  NaN  Invalid_operation
+quax656 quantize  Inf    sNaN   ->  NaN  Invalid_operation
+quax657 quantize  NaN    sNaN   ->  NaN  Invalid_operation
+quax658 quantize  sNaN 1e-0     ->  NaN  Invalid_operation
+quax659 quantize -0      sNaN   ->  NaN  Invalid_operation
+
+-- propagating NaNs
+quax661 quantize  NaN9 -Inf   ->  NaN9
+quax662 quantize  NaN8  919   ->  NaN8
+quax663 quantize  NaN71 Inf   ->  NaN71
+quax664 quantize  NaN6  NaN5  ->  NaN6
+quax665 quantize -Inf   NaN4  ->  NaN4
+quax666 quantize -919   NaN31 ->  NaN31
+quax667 quantize  Inf   NaN2  ->  NaN2
+
+quax671 quantize  sNaN99 -Inf    ->  NaN99 Invalid_operation
+quax672 quantize  sNaN98 -11     ->  NaN98 Invalid_operation
+quax673 quantize  sNaN97  NaN    ->  NaN97 Invalid_operation
+quax674 quantize  sNaN16 sNaN94  ->  NaN16 Invalid_operation
+quax675 quantize  NaN95  sNaN93  ->  NaN93 Invalid_operation
+quax676 quantize -Inf    sNaN92  ->  NaN92 Invalid_operation
+quax677 quantize  088    sNaN91  ->  NaN91 Invalid_operation
+quax678 quantize  Inf    sNaN90  ->  NaN90 Invalid_operation
+quax679 quantize  NaN    sNaN88  ->  NaN88 Invalid_operation
+
+quax681 quantize -NaN9 -Inf   -> -NaN9
+quax682 quantize -NaN8  919   -> -NaN8
+quax683 quantize -NaN71 Inf   -> -NaN71
+quax684 quantize -NaN6 -NaN5  -> -NaN6
+quax685 quantize -Inf  -NaN4  -> -NaN4
+quax686 quantize -919  -NaN31 -> -NaN31
+quax687 quantize  Inf  -NaN2  -> -NaN2
+
+quax691 quantize -sNaN99 -Inf    -> -NaN99 Invalid_operation
+quax692 quantize -sNaN98 -11     -> -NaN98 Invalid_operation
+quax693 quantize -sNaN97  NaN    -> -NaN97 Invalid_operation
+quax694 quantize -sNaN16 sNaN94  -> -NaN16 Invalid_operation
+quax695 quantize -NaN95 -sNaN93  -> -NaN93 Invalid_operation
+quax696 quantize -Inf   -sNaN92  -> -NaN92 Invalid_operation
+quax697 quantize  088   -sNaN91  -> -NaN91 Invalid_operation
+quax698 quantize  Inf   -sNaN90  -> -NaN90 Invalid_operation
+quax699 quantize  NaN   -sNaN88  -> -NaN88 Invalid_operation
+
+-- subnormals and underflow
+precision: 4
+maxexponent: 999
+minexponent: -999
+quax710 quantize  1.00E-999    1e-999  ->   1E-999    Rounded
+quax711 quantize  0.1E-999    2e-1000  ->   1E-1000   Subnormal
+quax712 quantize  0.10E-999   3e-1000  ->   1E-1000   Subnormal Rounded
+quax713 quantize  0.100E-999  4e-1000  ->   1E-1000   Subnormal Rounded
+quax714 quantize  0.01E-999   5e-1001  ->   1E-1001   Subnormal
+-- next is rounded to Emin
+quax715 quantize  0.999E-999   1e-999  ->   1E-999    Inexact Rounded
+quax716 quantize  0.099E-999 10e-1000  ->   1E-1000   Inexact Rounded Subnormal
+
+quax717 quantize  0.009E-999  1e-1001  ->   1E-1001   Inexact Rounded Subnormal
+quax718 quantize  0.001E-999  1e-1001  ->   0E-1001   Inexact Rounded
+quax719 quantize  0.0009E-999 1e-1001  ->   0E-1001   Inexact Rounded
+quax720 quantize  0.0001E-999 1e-1001  ->   0E-1001   Inexact Rounded
+
+quax730 quantize -1.00E-999   1e-999  ->  -1E-999     Rounded
+quax731 quantize -0.1E-999    1e-999  ->  -0E-999     Rounded Inexact
+quax732 quantize -0.10E-999   1e-999  ->  -0E-999     Rounded Inexact
+quax733 quantize -0.100E-999  1e-999  ->  -0E-999     Rounded Inexact
+quax734 quantize -0.01E-999   1e-999  ->  -0E-999     Inexact Rounded
+-- next is rounded to Emin
+quax735 quantize -0.999E-999 90e-999  ->  -1E-999     Inexact Rounded
+quax736 quantize -0.099E-999 -1e-999  ->  -0E-999     Inexact Rounded
+quax737 quantize -0.009E-999 -1e-999  ->  -0E-999     Inexact Rounded
+quax738 quantize -0.001E-999 -0e-999  ->  -0E-999     Inexact Rounded
+quax739 quantize -0.0001E-999 0e-999  ->  -0E-999     Inexact Rounded
+
+quax740 quantize -1.00E-999   1e-1000 ->  -1.0E-999   Rounded
+quax741 quantize -0.1E-999    1e-1000 ->  -1E-1000    Subnormal
+quax742 quantize -0.10E-999   1e-1000 ->  -1E-1000    Subnormal Rounded
+quax743 quantize -0.100E-999  1e-1000 ->  -1E-1000    Subnormal Rounded
+quax744 quantize -0.01E-999   1e-1000 ->  -0E-1000    Inexact Rounded
+-- next is rounded to Emin
+quax745 quantize -0.999E-999  1e-1000 ->  -1.0E-999   Inexact Rounded
+quax746 quantize -0.099E-999  1e-1000 ->  -1E-1000    Inexact Rounded Subnormal
+quax747 quantize -0.009E-999  1e-1000 ->  -0E-1000    Inexact Rounded
+quax748 quantize -0.001E-999  1e-1000 ->  -0E-1000    Inexact Rounded
+quax749 quantize -0.0001E-999 1e-1000 ->  -0E-1000    Inexact Rounded
+
+quax750 quantize -1.00E-999   1e-1001 ->  -1.00E-999
+quax751 quantize -0.1E-999    1e-1001 ->  -1.0E-1000  Subnormal
+quax752 quantize -0.10E-999   1e-1001 ->  -1.0E-1000  Subnormal
+quax753 quantize -0.100E-999  1e-1001 ->  -1.0E-1000  Subnormal Rounded
+quax754 quantize -0.01E-999   1e-1001 ->  -1E-1001    Subnormal
+-- next is rounded to Emin
+quax755 quantize -0.999E-999  1e-1001 ->  -1.00E-999  Inexact Rounded
+quax756 quantize -0.099E-999  1e-1001 ->  -1.0E-1000  Inexact Rounded Subnormal
+quax757 quantize -0.009E-999  1e-1001 ->  -1E-1001    Inexact Rounded Subnormal
+quax758 quantize -0.001E-999  1e-1001 ->  -0E-1001    Inexact Rounded
+quax759 quantize -0.0001E-999 1e-1001 ->  -0E-1001    Inexact Rounded
+
+quax760 quantize -1.00E-999   1e-1002 ->  -1.000E-999
+quax761 quantize -0.1E-999    1e-1002 ->  -1.00E-1000  Subnormal
+quax762 quantize -0.10E-999   1e-1002 ->  -1.00E-1000  Subnormal
+quax763 quantize -0.100E-999  1e-1002 ->  -1.00E-1000  Subnormal
+quax764 quantize -0.01E-999   1e-1002 ->  -1.0E-1001   Subnormal
+quax765 quantize -0.999E-999  1e-1002 ->  -9.99E-1000  Subnormal
+quax766 quantize -0.099E-999  1e-1002 ->  -9.9E-1001   Subnormal
+quax767 quantize -0.009E-999  1e-1002 ->  -9E-1002     Subnormal
+quax768 quantize -0.001E-999  1e-1002 ->  -1E-1002     Subnormal
+quax769 quantize -0.0001E-999 1e-1002 ->  -0E-1002     Inexact Rounded
+
+-- rhs must be no less than Etiny
+quax770 quantize -1.00E-999   1e-1003 ->  NaN Invalid_operation
+quax771 quantize -0.1E-999    1e-1003 ->  NaN Invalid_operation
+quax772 quantize -0.10E-999   1e-1003 ->  NaN Invalid_operation
+quax773 quantize -0.100E-999  1e-1003 ->  NaN Invalid_operation
+quax774 quantize -0.01E-999   1e-1003 ->  NaN Invalid_operation
+quax775 quantize -0.999E-999  1e-1003 ->  NaN Invalid_operation
+quax776 quantize -0.099E-999  1e-1003 ->  NaN Invalid_operation
+quax777 quantize -0.009E-999  1e-1003 ->  NaN Invalid_operation
+quax778 quantize -0.001E-999  1e-1003 ->  NaN Invalid_operation
+quax779 quantize -0.0001E-999 1e-1003 ->  NaN Invalid_operation
+quax780 quantize -0.0001E-999 1e-1004 ->  NaN Invalid_operation
+
+precision:   9
+maxExponent: 999999999
+minexponent: -999999999
+
+-- some extremes derived from Rescale testcases
+quax801 quantize   0   1e1000000000 -> NaN Invalid_operation
+quax802 quantize   0  1e-1000000000 -> 0E-1000000000
+quax803 quantize   0   1e2000000000 -> NaN Invalid_operation
+quax804 quantize   0  1e-2000000000 -> NaN Invalid_operation
+quax805 quantize   0   1e3000000000 -> NaN Invalid_operation
+quax806 quantize   0  1e-3000000000 -> NaN Invalid_operation
+quax807 quantize   0   1e4000000000 -> NaN Invalid_operation
+quax808 quantize   0  1e-4000000000 -> NaN Invalid_operation
+quax809 quantize   0   1e5000000000 -> NaN Invalid_operation
+quax810 quantize   0  1e-5000000000 -> NaN Invalid_operation
+quax811 quantize   0   1e6000000000 -> NaN Invalid_operation
+quax812 quantize   0  1e-6000000000 -> NaN Invalid_operation
+quax813 quantize   0   1e7000000000 -> NaN Invalid_operation
+quax814 quantize   0  1e-7000000000 -> NaN Invalid_operation
+quax815 quantize   0   1e8000000000 -> NaN Invalid_operation
+quax816 quantize   0  1e-8000000000 -> NaN Invalid_operation
+quax817 quantize   0   1e9000000000 -> NaN Invalid_operation
+quax818 quantize   0  1e-9000000000 -> NaN Invalid_operation
+quax819 quantize   0   1e9999999999 -> NaN Invalid_operation
+quax820 quantize   0  1e-9999999999 -> NaN Invalid_operation
+quax821 quantize   0   1e10000000000 -> NaN Invalid_operation
+quax822 quantize   0  1e-10000000000 -> NaN Invalid_operation
+
+quax843 quantize   0    1e999999999 -> 0E+999999999
+quax844 quantize   0   1e1000000000 -> NaN Invalid_operation
+quax845 quantize   0   1e-999999999 -> 0E-999999999
+quax846 quantize   0  1e-1000000000 -> 0E-1000000000
+quax847 quantize   0  1e-1000000001 -> 0E-1000000001
+quax848 quantize   0  1e-1000000002 -> 0E-1000000002
+quax849 quantize   0  1e-1000000003 -> 0E-1000000003
+quax850 quantize   0  1e-1000000004 -> 0E-1000000004
+quax851 quantize   0  1e-1000000005 -> 0E-1000000005
+quax852 quantize   0  1e-1000000006 -> 0E-1000000006
+quax853 quantize   0  1e-1000000007 -> 0E-1000000007
+quax854 quantize   0  1e-1000000008 -> NaN Invalid_operation
+
+quax861 quantize   1  1e+2147483649 -> NaN Invalid_operation
+quax862 quantize   1  1e+2147483648 -> NaN Invalid_operation
+quax863 quantize   1  1e+2147483647 -> NaN Invalid_operation
+quax864 quantize   1  1e-2147483647 -> NaN Invalid_operation
+quax865 quantize   1  1e-2147483648 -> NaN Invalid_operation
+quax866 quantize   1  1e-2147483649 -> NaN Invalid_operation
+
+-- Null tests
+quax900 quantize 10    # -> NaN Invalid_operation
+quax901 quantize  # 1e10 -> NaN Invalid_operation

Added: sandbox/trunk/decimal-c/decimaltestdata/randomBound32.decTest
==============================================================================
--- (empty file)
+++ sandbox/trunk/decimal-c/decimaltestdata/randomBound32.decTest	Tue May 23 13:34:01 2006
@@ -0,0 +1,2443 @@
+------------------------------------------------------------------------
+-- randomBound32.decTest -- decimal testcases -- boundaries near 32   --
+-- Copyright (c) IBM Corporation, 1981, 2003.  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 at uk.ibm.com                                                   --
+------------------------------------------------------------------------
+version: 2.39
+
+-- These testcases test calculations at precisions 31, 32, and 33, to
+-- exercise the boundaries around 2**5
+
+-- randomly generated testcases [26 Sep 2001]
+extended:    1
+precision:   31
+rounding:    half_up
+maxExponent: 9999
+minexponent: -9999
+
+addx3001 add 4953734675913.065314738743322579 0218.932010396534371704930714860E+797 -> 2.189320103965343717049307148600E+799 Inexact Rounded
+comx3001 compare 4953734675913.065314738743322579 0218.932010396534371704930714860E+797 -> -1
+divx3001 divide 4953734675913.065314738743322579 0218.932010396534371704930714860E+797 -> 2.262681764507965005284080800438E-787 Inexact Rounded
+dvix3001 divideint 4953734675913.065314738743322579 0218.932010396534371704930714860E+797 -> 0
+mulx3001 multiply 4953734675913.065314738743322579 0218.932010396534371704930714860E+797 -> 1.084531091568672041923151632066E+812 Inexact Rounded
+powx3001 power 4953734675913.065314738743322579 2 -> 24539487239343522246155890.99495 Inexact Rounded
+remx3001 remainder 4953734675913.065314738743322579 0218.932010396534371704930714860E+797 -> 4953734675913.065314738743322579
+subx3001 subtract 4953734675913.065314738743322579 0218.932010396534371704930714860E+797 -> -2.189320103965343717049307148600E+799 Inexact Rounded
+addx3002 add 9641.684323386955881595490347910E-844 -78864532047.12287484430980636798E+934 -> -7.886453204712287484430980636798E+944 Inexact Rounded
+comx3002 compare 9641.684323386955881595490347910E-844 -78864532047.12287484430980636798E+934 -> 1
+divx3002 divide 9641.684323386955881595490347910E-844 -78864532047.12287484430980636798E+934 -> -1.222562801441069667849402782716E-1785 Inexact Rounded
+dvix3002 divideint 9641.684323386955881595490347910E-844 -78864532047.12287484430980636798E+934 -> -0
+mulx3002 multiply 9641.684323386955881595490347910E-844 -78864532047.12287484430980636798E+934 -> -7.603869223099928141659831589905E+104 Inexact Rounded
+powx3002 power 9641.684323386955881595490347910E-844 -8 -> 1.338988152067180337738955757587E+6720 Inexact Rounded
+remx3002 remainder 9641.684323386955881595490347910E-844 -78864532047.12287484430980636798E+934 -> 9.641684323386955881595490347910E-841
+subx3002 subtract 9641.684323386955881595490347910E-844 -78864532047.12287484430980636798E+934 -> 7.886453204712287484430980636798E+944 Inexact Rounded
+addx3003 add -1.028048571628326871054964307774E+529 49200008645699.35577937582714739 -> -1.028048571628326871054964307774E+529 Inexact Rounded
+comx3003 compare -1.028048571628326871054964307774E+529 49200008645699.35577937582714739 -> -1
+divx3003 divide -1.028048571628326871054964307774E+529 49200008645699.35577937582714739 -> -2.089529249946971482861843692465E+515 Inexact Rounded
+dvix3003 divideint -1.028048571628326871054964307774E+529 49200008645699.35577937582714739 -> NaN Division_impossible
+mulx3003 multiply -1.028048571628326871054964307774E+529 49200008645699.35577937582714739 -> -5.057999861231255549283737861207E+542 Inexact Rounded
+powx3003 power -1.028048571628326871054964307774E+529 5 -> -1.148333858253704284232780819739E+2645 Inexact Rounded
+remx3003 remainder -1.028048571628326871054964307774E+529 49200008645699.35577937582714739 -> NaN Division_impossible
+subx3003 subtract -1.028048571628326871054964307774E+529 49200008645699.35577937582714739 -> -1.028048571628326871054964307774E+529 Inexact Rounded
+addx3004 add 479084.8561808930525417735205519 084157571054.2691784660983989931 -> 84158050139.12535935915094076662 Inexact Rounded
+comx3004 compare 479084.8561808930525417735205519 084157571054.2691784660983989931 -> -1
+divx3004 divide 479084.8561808930525417735205519 084157571054.2691784660983989931 -> 0.000005692712493709617905493710207969 Inexact Rounded
+dvix3004 divideint 479084.8561808930525417735205519 084157571054.2691784660983989931 -> 0
+mulx3004 multiply 479084.8561808930525417735205519 084157571054.2691784660983989931 -> 40318617825067837.47317700523687 Inexact Rounded
+powx3004 power 479084.8561808930525417735205519 8 -> 2.775233598021235973545933045837E+45 Inexact Rounded
+remx3004 remainder 479084.8561808930525417735205519 084157571054.2691784660983989931 -> 479084.8561808930525417735205519
+subx3004 subtract 479084.8561808930525417735205519 084157571054.2691784660983989931 -> -84157091969.41299757304585721958 Inexact Rounded
+addx3005 add -0363750788.573782205664349562931 -3172.080934464133691909905980096 -> -363753960.6547166697980414728370 Inexact Rounded
+comx3005 compare -0363750788.573782205664349562931 -3172.080934464133691909905980096 -> -1
+divx3005 divide -0363750788.573782205664349562931 -3172.080934464133691909905980096 -> 114672.6064337420167096295290890 Inexact Rounded
+dvix3005 divideint -0363750788.573782205664349562931 -3172.080934464133691909905980096 -> 114672
+mulx3005 multiply -0363750788.573782205664349562931 -3172.080934464133691909905980096 -> 1153846941331.188583292239230818 Inexact Rounded
+powx3005 power -0363750788.573782205664349562931 -3172 -> 0E-10029 Underflow Subnormal Inexact Rounded Clamped
+remx3005 remainder -0363750788.573782205664349562931 -3172.080934464133691909905980096 -> -1923.656911066945656824381431488
+subx3005 subtract -0363750788.573782205664349562931 -3172.080934464133691909905980096 -> -363747616.4928477415306576530250 Inexact Rounded
+addx3006 add 1381026551423669919010191878449 -82.66614775445371254999357800739 -> 1381026551423669919010191878366 Inexact Rounded
+comx3006 compare 1381026551423669919010191878449 -82.66614775445371254999357800739 -> 1
+divx3006 divide 1381026551423669919010191878449 -82.66614775445371254999357800739 -> -16706071214613552377376639557.90 Inexact Rounded
+dvix3006 divideint 1381026551423669919010191878449 -82.66614775445371254999357800739 -> -16706071214613552377376639557
+mulx3006 multiply 1381026551423669919010191878449 -82.66614775445371254999357800739 -> -1.141641449528127656560770057228E+32 Inexact Rounded
+powx3006 power 1381026551423669919010191878449 -83 -> 2.307977908106564299925193011052E-2502 Inexact Rounded
+remx3006 remainder 1381026551423669919010191878449 -82.66614775445371254999357800739 -> 74.22115953553602036042168767377
+subx3006 subtract 1381026551423669919010191878449 -82.66614775445371254999357800739 -> 1381026551423669919010191878532 Inexact Rounded
+addx3007 add 4627.026960423072127953556635585 -4410583132901.830017479741231131 -> -4410583128274.803057056669103177 Inexact Rounded
+comx3007 compare 4627.026960423072127953556635585 -4410583132901.830017479741231131 -> 1
+divx3007 divide 4627.026960423072127953556635585 -4410583132901.830017479741231131 -> -1.049073743992404570569003129346E-9 Inexact Rounded
+dvix3007 divideint 4627.026960423072127953556635585 -4410583132901.830017479741231131 -> -0
+mulx3007 multiply 4627.026960423072127953556635585 -4410583132901.830017479741231131 -> -20407887067124025.31576887565113 Inexact Rounded
+powx3007 power 4627.026960423072127953556635585 -4 -> 2.181684167222334934221407781701E-15 Inexact Rounded
+remx3007 remainder 4627.026960423072127953556635585 -4410583132901.830017479741231131 -> 4627.026960423072127953556635585
+subx3007 subtract 4627.026960423072127953556635585 -4410583132901.830017479741231131 -> 4410583137528.856977902813359085 Inexact Rounded
+addx3008 add 75353574493.84484153484918212042 -8684111695095849922263044191221 -> -8684111695095849922187690616727 Inexact Rounded
+comx3008 compare 75353574493.84484153484918212042 -8684111695095849922263044191221 -> 1
+divx3008 divide 75353574493.84484153484918212042 -8684111695095849922263044191221 -> -8.677177026223536475531592432118E-21 Inexact Rounded
+dvix3008 divideint 75353574493.84484153484918212042 -8684111695095849922263044191221 -> -0
+mulx3008 multiply 75353574493.84484153484918212042 -8684111695095849922263044191221 -> -6.543788575292743281456830701127E+41 Inexact Rounded
+powx3008 power 75353574493.84484153484918212042 -9 -> 1.276630670287906925570645490708E-98 Inexact Rounded
+remx3008 remainder 75353574493.84484153484918212042 -8684111695095849922263044191221 -> 75353574493.84484153484918212042
+subx3008 subtract 75353574493.84484153484918212042 -8684111695095849922263044191221 -> 8684111695095849922338397765715 Inexact Rounded
+addx3009 add 6907058.216435355874729592373011 2.857005446917670515662398741545 -> 6907061.073440802792400108035410 Inexact Rounded
+comx3009 compare 6907058.216435355874729592373011 2.857005446917670515662398741545 -> 1
+divx3009 divide 6907058.216435355874729592373011 2.857005446917670515662398741545 -> 2417586.646146283856436864121104 Inexact Rounded
+dvix3009 divideint 6907058.216435355874729592373011 2.857005446917670515662398741545 -> 2417586
+mulx3009 multiply 6907058.216435355874729592373011 2.857005446917670515662398741545 -> 19733502.94653326211623698034717 Inexact Rounded
+powx3009 power 6907058.216435355874729592373011 3 -> 329518156646369505494.8971353240 Inexact Rounded
+remx3009 remainder 6907058.216435355874729592373011 2.857005446917670515662398741545 -> 1.846043452483451396449034189630
+subx3009 subtract 6907058.216435355874729592373011 2.857005446917670515662398741545 -> 6907055.359429908957059076710612 Inexact Rounded
+addx3010 add -38949530427253.24030680468677190 712168021.1265384466442576619064E-992 -> -38949530427253.24030680468677190 Inexact Rounded
+comx3010 compare -38949530427253.24030680468677190 712168021.1265384466442576619064E-992 -> -1
+divx3010 divide -38949530427253.24030680468677190 712168021.1265384466442576619064E-992 -> -5.469149031100999700489221122509E+996 Inexact Rounded
+dvix3010 divideint -38949530427253.24030680468677190 712168021.1265384466442576619064E-992 -> NaN Division_impossible
+mulx3010 multiply -38949530427253.24030680468677190 712168021.1265384466442576619064E-992 -> -2.773861000818483769292240109417E-970 Inexact Rounded
+powx3010 power -38949530427253.24030680468677190 7 -> -1.359926959823071332599817363877E+95 Inexact Rounded
+remx3010 remainder -38949530427253.24030680468677190 712168021.1265384466442576619064E-992 -> NaN Division_impossible
+subx3010 subtract -38949530427253.24030680468677190 712168021.1265384466442576619064E-992 -> -38949530427253.24030680468677190 Inexact Rounded
+addx3011 add -0708069.025667471996378081482549 -562842.4701520787831018732202804 -> -1270911.495819550779479954702829 Inexact Rounded
+comx3011 compare -0708069.025667471996378081482549 -562842.4701520787831018732202804 -> -1
+divx3011 divide -0708069.025667471996378081482549 -562842.4701520787831018732202804 -> 1.258023449218665608349145394069 Inexact Rounded
+dvix3011 divideint -0708069.025667471996378081482549 -562842.4701520787831018732202804 -> 1
+mulx3011 multiply -0708069.025667471996378081482549 -562842.4701520787831018732202804 -> 398531319444.8556128729086112205 Inexact Rounded
+powx3011 power -0708069.025667471996378081482549 -562842 -> 0E-10029 Underflow Subnormal Inexact Rounded Clamped
+remx3011 remainder -0708069.025667471996378081482549 -562842.4701520787831018732202804 -> -145226.5555153932132762082622686
+subx3011 subtract -0708069.025667471996378081482549 -562842.4701520787831018732202804 -> -145226.5555153932132762082622686
+addx3012 add 4055087.246994644709729942673976 -43183146921897.67383476104084575E+211 -> -4.318314692189767383476104084575E+224 Inexact Rounded
+comx3012 compare 4055087.246994644709729942673976 -43183146921897.67383476104084575E+211 -> 1
+divx3012 divide 4055087.246994644709729942673976 -43183146921897.67383476104084575E+211 -> -9.390439409913307906923909630247E-219 Inexact Rounded
+dvix3012 divideint 4055087.246994644709729942673976 -43183146921897.67383476104084575E+211 -> -0
+mulx3012 multiply 4055087.246994644709729942673976 -43183146921897.67383476104084575E+211 -> -1.751114283680833039197637874453E+231 Inexact Rounded
+powx3012 power 4055087.246994644709729942673976 -4 -> 3.698274893849241116195795515302E-27 Inexact Rounded
+remx3012 remainder 4055087.246994644709729942673976 -43183146921897.67383476104084575E+211 -> 4055087.246994644709729942673976
+subx3012 subtract 4055087.246994644709729942673976 -43183146921897.67383476104084575E+211 -> 4.318314692189767383476104084575E+224 Inexact Rounded
+addx3013 add 4502895892520.396581348110906909E-512 -815.9047305921862348263521876034 -> -815.9047305921862348263521876034 Inexact Rounded
+comx3013 compare 4502895892520.396581348110906909E-512 -815.9047305921862348263521876034 -> 1
+divx3013 divide 4502895892520.396581348110906909E-512 -815.9047305921862348263521876034 -> -5.518899111238367862234798433551E-503 Inexact Rounded
+dvix3013 divideint 4502895892520.396581348110906909E-512 -815.9047305921862348263521876034 -> -0
+mulx3013 multiply 4502895892520.396581348110906909E-512 -815.9047305921862348263521876034 -> -3.673934060071516156604453756541E-497 Inexact Rounded
+powx3013 power 4502895892520.396581348110906909E-512 -816 -> Infinity Overflow Inexact Rounded
+remx3013 remainder 4502895892520.396581348110906909E-512 -815.9047305921862348263521876034 -> 4.502895892520396581348110906909E-500
+subx3013 subtract 4502895892520.396581348110906909E-512 -815.9047305921862348263521876034 -> 815.9047305921862348263521876034 Inexact Rounded
+addx3014 add 467.6721295072628100260239179865 -02.07155073395573569852316073025 -> 465.6005787733070743275007572563 Inexact Rounded
+comx3014 compare 467.6721295072628100260239179865 -02.07155073395573569852316073025 -> 1
+divx3014 divide 467.6721295072628100260239179865 -02.07155073395573569852316073025 -> -225.7594380101027705997496045999 Inexact Rounded
+dvix3014 divideint 467.6721295072628100260239179865 -02.07155073395573569852316073025 -> -225
+mulx3014 multiply 467.6721295072628100260239179865 -02.07155073395573569852316073025 -> -968.8065431314121523074875069807 Inexact Rounded
+powx3014 power 467.6721295072628100260239179865 -2 -> 0.000004572113694193221810609836080931 Inexact Rounded
+remx3014 remainder 467.6721295072628100260239179865 -02.07155073395573569852316073025 -> 1.57321436722227785831275368025
+subx3014 subtract 467.6721295072628100260239179865 -02.07155073395573569852316073025 -> 469.7436802412185457245470787168 Inexact Rounded
+addx3015 add 2.156795313311150143949997552501E-571 -8677147.586389401682712180146855 -> -8677147.586389401682712180146855 Inexact Rounded
+comx3015 compare 2.156795313311150143949997552501E-571 -8677147.586389401682712180146855 -> 1
+divx3015 divide 2.156795313311150143949997552501E-571 -8677147.586389401682712180146855 -> -2.485604044230163799604243529005E-578 Inexact Rounded
+dvix3015 divideint 2.156795313311150143949997552501E-571 -8677147.586389401682712180146855 -> -0
+mulx3015 multiply 2.156795313311150143949997552501E-571 -8677147.586389401682712180146855 -> -1.871483124723381986272837942577E-564 Inexact Rounded
+powx3015 power 2.156795313311150143949997552501E-571 -8677148 -> Infinity Overflow Inexact Rounded
+remx3015 remainder 2.156795313311150143949997552501E-571 -8677147.586389401682712180146855 -> 2.156795313311150143949997552501E-571
+subx3015 subtract 2.156795313311150143949997552501E-571 -8677147.586389401682712180146855 -> 8677147.586389401682712180146855 Inexact Rounded
+addx3016 add -974953.2801637208368002585822457 -693095793.3667578067802698191246 -> -694070746.6469215276170700777068 Inexact Rounded
+comx3016 compare -974953.2801637208368002585822457 -693095793.3667578067802698191246 -> 1
+divx3016 divide -974953.2801637208368002585822457 -693095793.3667578067802698191246 -> 0.001406664546942092941961075608769 Inexact Rounded
+dvix3016 divideint -974953.2801637208368002585822457 -693095793.3667578067802698191246 -> 0
+mulx3016 multiply -974953.2801637208368002585822457 -693095793.3667578067802698191246 -> 675736017210596.9899587749991363 Inexact Rounded
+powx3016 power -974953.2801637208368002585822457 -693095793 -> -0E-10029 Underflow Subnormal Inexact Rounded Clamped
+remx3016 remainder -974953.2801637208368002585822457 -693095793.3667578067802698191246 -> -974953.2801637208368002585822457
+subx3016 subtract -974953.2801637208368002585822457 -693095793.3667578067802698191246 -> 692120840.0865940859434695605424 Inexact Rounded
+addx3017 add -7634680140009571846155654339781 3009630949502.035852433434214413E-490 -> -7634680140009571846155654339781 Inexact Rounded
+comx3017 compare -7634680140009571846155654339781 3009630949502.035852433434214413E-490 -> -1
+divx3017 divide -7634680140009571846155654339781 3009630949502.035852433434214413E-490 -> -2.536749610869326753741024659948E+508 Inexact Rounded
+dvix3017 divideint -7634680140009571846155654339781 3009630949502.035852433434214413E-490 -> NaN Division_impossible
+mulx3017 multiply -7634680140009571846155654339781 3009630949502.035852433434214413E-490 -> -2.297756963892134373657544025107E-447 Inexact Rounded
+powx3017 power -7634680140009571846155654339781 3 -> -4.450128382072157170207584847831E+92 Inexact Rounded
+remx3017 remainder -7634680140009571846155654339781 3009630949502.035852433434214413E-490 -> NaN Division_impossible
+subx3017 subtract -7634680140009571846155654339781 3009630949502.035852433434214413E-490 -> -7634680140009571846155654339781 Inexact Rounded
+addx3018 add 262273.0222851186523650889896428E-624 74177.21073338090843145838835480 -> 74177.21073338090843145838835480 Inexact Rounded
+comx3018 compare 262273.0222851186523650889896428E-624 74177.21073338090843145838835480 -> -1
+divx3018 divide 262273.0222851186523650889896428E-624 74177.21073338090843145838835480 -> 3.535762799545274329358292065343E-624 Inexact Rounded
+dvix3018 divideint 262273.0222851186523650889896428E-624 74177.21073338090843145838835480 -> 0
+mulx3018 multiply 262273.0222851186523650889896428E-624 74177.21073338090843145838835480 -> 1.945468124372395349192665031675E-614 Inexact Rounded
+powx3018 power 262273.0222851186523650889896428E-624 74177 -> 0E-10029 Underflow Subnormal Inexact Rounded Clamped
+remx3018 remainder 262273.0222851186523650889896428E-624 74177.21073338090843145838835480 -> 2.622730222851186523650889896428E-619
+subx3018 subtract 262273.0222851186523650889896428E-624 74177.21073338090843145838835480 -> -74177.21073338090843145838835480 Inexact Rounded
+addx3019 add -8036052748815903177624716581732 -066677357.4438809548850966167573 -> -8036052748815903177624783259089 Inexact Rounded
+comx3019 compare -8036052748815903177624716581732 -066677357.4438809548850966167573 -> -1
+divx3019 divide -8036052748815903177624716581732 -066677357.4438809548850966167573 -> 120521464210387351732732.6271469 Inexact Rounded
+dvix3019 divideint -8036052748815903177624716581732 -066677357.4438809548850966167573 -> 120521464210387351732732
+mulx3019 multiply -8036052748815903177624716581732 -066677357.4438809548850966167573 -> 5.358227615706800711033262124598E+38 Inexact Rounded
+powx3019 power -8036052748815903177624716581732 -66677357 -> -0E-10029 Underflow Subnormal Inexact Rounded Clamped
+remx3019 remainder -8036052748815903177624716581732 -066677357.4438809548850966167573 -> -41816499.5048993028288978900564
+subx3019 subtract -8036052748815903177624716581732 -066677357.4438809548850966167573 -> -8036052748815903177624649904375 Inexact Rounded
+addx3020 add 883429.5928031498103637713570166E+765 -43978.97283712939198111043032726 -> 8.834295928031498103637713570166E+770 Inexact Rounded
+comx3020 compare 883429.5928031498103637713570166E+765 -43978.97283712939198111043032726 -> 1
+divx3020 divide 883429.5928031498103637713570166E+765 -43978.97283712939198111043032726 -> -2.008754492913739633208672455025E+766 Inexact Rounded
+dvix3020 divideint 883429.5928031498103637713570166E+765 -43978.97283712939198111043032726 -> NaN Division_impossible
+mulx3020 multiply 883429.5928031498103637713570166E+765 -43978.97283712939198111043032726 -> -3.885232606540600490321438191516E+775 Inexact Rounded
+powx3020 power 883429.5928031498103637713570166E+765 -43979 -> 0E-10029 Underflow Subnormal Inexact Rounded Clamped
+remx3020 remainder 883429.5928031498103637713570166E+765 -43978.97283712939198111043032726 -> NaN Division_impossible
+subx3020 subtract 883429.5928031498103637713570166E+765 -43978.97283712939198111043032726 -> 8.834295928031498103637713570166E+770 Inexact Rounded
+addx3021 add 24791301060.37938360567775506973 -5613327866480.322649080205877564 -> -5588536565419.943265474528122494 Inexact Rounded
+comx3021 compare 24791301060.37938360567775506973 -5613327866480.322649080205877564 -> 1
+divx3021 divide 24791301060.37938360567775506973 -5613327866480.322649080205877564 -> -0.004416506865458415275182120038399 Inexact Rounded
+dvix3021 divideint 24791301060.37938360567775506973 -5613327866480.322649080205877564 -> -0
+mulx3021 multiply 24791301060.37938360567775506973 -5613327866480.322649080205877564 -> -139161701088530765925120.8408852 Inexact Rounded
+powx3021 power 24791301060.37938360567775506973 -6 -> 4.307289712375673028996126249656E-63 Inexact Rounded
+remx3021 remainder 24791301060.37938360567775506973 -5613327866480.322649080205877564 -> 24791301060.37938360567775506973
+subx3021 subtract 24791301060.37938360567775506973 -5613327866480.322649080205877564 -> 5638119167540.702032685883632634 Inexact Rounded
+addx3022 add -930711443.9474781586162910776139 -740.3860979292775472622798348030 -> -930712184.3335760878938383398937 Inexact Rounded
+comx3022 compare -930711443.9474781586162910776139 -740.3860979292775472622798348030 -> -1
+divx3022 divide -930711443.9474781586162910776139 -740.3860979292775472622798348030 -> 1257062.290270583507131602958799 Inexact Rounded
+dvix3022 divideint -930711443.9474781586162910776139 -740.3860979292775472622798348030 -> 1257062
+mulx3022 multiply -930711443.9474781586162910776139 -740.3860979292775472622798348030 -> 689085814282.3968746911100154133 Inexact Rounded
+powx3022 power -930711443.9474781586162910776139 -740 -> 1.193603394165051899997226995178E-6637 Inexact Rounded
+remx3022 remainder -930711443.9474781586162910776139 -740.3860979292775472622798348030 -> -214.9123046664996750639167712140
+subx3022 subtract -930711443.9474781586162910776139 -740.3860979292775472622798348030 -> -930710703.5613802293387438153341 Inexact Rounded
+addx3023 add 2358276428765.064191082773385539 214.3589796082328665878602304469 -> 2358276428979.423170691006252127 Inexact Rounded
+comx3023 compare 2358276428765.064191082773385539 214.3589796082328665878602304469 -> 1
+divx3023 divide 2358276428765.064191082773385539 214.3589796082328665878602304469 -> 11001528525.07089502152736489473 Inexact Rounded
+dvix3023 divideint 2358276428765.064191082773385539 214.3589796082328665878602304469 -> 11001528525
+mulx3023 multiply 2358276428765.064191082773385539 214.3589796082328665878602304469 -> 505517728904226.6233443209659001 Inexact Rounded
+powx3023 power 2358276428765.064191082773385539 214 -> 5.435856480782850080741276939256E+2647 Inexact Rounded
+remx3023 remainder 2358276428765.064191082773385539 214.3589796082328665878602304469 -> 15.1969844739096415643561521775
+subx3023 subtract 2358276428765.064191082773385539 214.3589796082328665878602304469 -> 2358276428550.705211474540518951 Inexact Rounded
+addx3024 add -3.868744449795653651638308926987E+750 8270.472492965559872384018329418 -> -3.868744449795653651638308926987E+750 Inexact Rounded
+comx3024 compare -3.868744449795653651638308926987E+750 8270.472492965559872384018329418 -> -1
+divx3024 divide -3.868744449795653651638308926987E+750 8270.472492965559872384018329418 -> -4.677779235812959233092739433453E+746 Inexact Rounded
+dvix3024 divideint -3.868744449795653651638308926987E+750 8270.472492965559872384018329418 -> NaN Division_impossible
+mulx3024 multiply -3.868744449795653651638308926987E+750 8270.472492965559872384018329418 -> -3.199634455434813294426505526063E+754 Inexact Rounded
+powx3024 power -3.868744449795653651638308926987E+750 8270 -> Infinity Overflow Inexact Rounded
+remx3024 remainder -3.868744449795653651638308926987E+750 8270.472492965559872384018329418 -> NaN Division_impossible
+subx3024 subtract -3.868744449795653651638308926987E+750 8270.472492965559872384018329418 -> -3.868744449795653651638308926987E+750 Inexact Rounded
+addx3025 add 140422069.5863246490180206814374E-447 -567195652586.2454217069003186487 -> -567195652586.2454217069003186487 Inexact Rounded
+comx3025 compare 140422069.5863246490180206814374E-447 -567195652586.2454217069003186487 -> 1
+divx3025 divide 140422069.5863246490180206814374E-447 -567195652586.2454217069003186487 -> -2.475725421131866851190640203633E-451 Inexact Rounded
+dvix3025 divideint 140422069.5863246490180206814374E-447 -567195652586.2454217069003186487 -> -0
+mulx3025 multiply 140422069.5863246490180206814374E-447 -567195652586.2454217069003186487 -> -7.964678739652657498503799559950E-428 Inexact Rounded
+powx3025 power 140422069.5863246490180206814374E-447 -6 -> 1.304330899731988395473578425854E+2633 Inexact Rounded
+remx3025 remainder 140422069.5863246490180206814374E-447 -567195652586.2454217069003186487 -> 1.404220695863246490180206814374E-439
+subx3025 subtract 140422069.5863246490180206814374E-447 -567195652586.2454217069003186487 -> 567195652586.2454217069003186487 Inexact Rounded
+addx3026 add 75929096475.63450425339472559646E+153 -0945260193.503803519572604151290E+459 -> -9.452601935038035195726041512900E+467 Inexact Rounded
+comx3026 compare 75929096475.63450425339472559646E+153 -0945260193.503803519572604151290E+459 -> 1
+divx3026 divide 75929096475.63450425339472559646E+153 -0945260193.503803519572604151290E+459 -> -8.032613347885465805613265604973E-305 Inexact Rounded
+dvix3026 divideint 75929096475.63450425339472559646E+153 -0945260193.503803519572604151290E+459 -> -0
+mulx3026 multiply 75929096475.63450425339472559646E+153 -0945260193.503803519572604151290E+459 -> -7.177275242712723733041569606882E+631 Inexact Rounded
+powx3026 power 75929096475.63450425339472559646E+153 -9 -> 1.192136299657177324051477375561E-1475 Inexact Rounded
+remx3026 remainder 75929096475.63450425339472559646E+153 -0945260193.503803519572604151290E+459 -> 7.592909647563450425339472559646E+163
+subx3026 subtract 75929096475.63450425339472559646E+153 -0945260193.503803519572604151290E+459 -> 9.452601935038035195726041512900E+467 Inexact Rounded
+addx3027 add 6312318309.142044953357460463732 -5641317823.202274083982487558514E+628 -> -5.641317823202274083982487558514E+637 Inexact Rounded
+comx3027 compare 6312318309.142044953357460463732 -5641317823.202274083982487558514E+628 -> 1
+divx3027 divide 6312318309.142044953357460463732 -5641317823.202274083982487558514E+628 -> -1.118943925332481944765809682502E-628 Inexact Rounded
+dvix3027 divideint 6312318309.142044953357460463732 -5641317823.202274083982487558514E+628 -> -0
+mulx3027 multiply 6312318309.142044953357460463732 -5641317823.202274083982487558514E+628 -> -3.560979378308906043783023726787E+647 Inexact Rounded
+powx3027 power 6312318309.142044953357460463732 -6 -> 1.580762611512787720076533747265E-59 Inexact Rounded
+remx3027 remainder 6312318309.142044953357460463732 -5641317823.202274083982487558514E+628 -> 6312318309.142044953357460463732
+subx3027 subtract 6312318309.142044953357460463732 -5641317823.202274083982487558514E+628 -> 5.641317823202274083982487558514E+637 Inexact Rounded
+addx3028 add 93793652428100.52105928239469937 917.2571313109730433369594936416E-712 -> 93793652428100.52105928239469937 Inexact Rounded
+comx3028 compare 93793652428100.52105928239469937 917.2571313109730433369594936416E-712 -> 1
+divx3028 divide 93793652428100.52105928239469937 917.2571313109730433369594936416E-712 -> 1.022544815694674972559924997256E+723 Inexact Rounded
+dvix3028 divideint 93793652428100.52105928239469937 917.2571313109730433369594936416E-712 -> NaN Division_impossible
+mulx3028 multiply 93793652428100.52105928239469937 917.2571313109730433369594936416E-712 -> 8.603289656137796526769786965341E-696 Inexact Rounded
+powx3028 power 93793652428100.52105928239469937 9 -> 5.617732206663136654187263964365E+125 Inexact Rounded
+remx3028 remainder 93793652428100.52105928239469937 917.2571313109730433369594936416E-712 -> NaN Division_impossible
+subx3028 subtract 93793652428100.52105928239469937 917.2571313109730433369594936416E-712 -> 93793652428100.52105928239469937 Inexact Rounded
+addx3029 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211023638922337115 Inexact Rounded
+comx3029 compare 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 1
+divx3029 divide 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> -4103968.106336710126241266685434 Inexact Rounded
+dvix3029 divideint 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> -4103968
+mulx3029 multiply 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> -2362732023235112.375960528304974 Inexact Rounded
+powx3029 power 98471198160.56524417578665886060 -23994 -> 0E-10029 Underflow Subnormal Inexact Rounded Clamped
+remx3029 remainder 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 2551.45824316125588493249246784
+subx3029 subtract 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471222154.70837811518409435005 Inexact Rounded
+addx3030 add 329326552.0208398002250836592043 -02451.10065397010591546041034041 -> 329324100.9201858301191681987940 Inexact Rounded
+comx3030 compare 329326552.0208398002250836592043 -02451.10065397010591546041034041 -> 1
+divx3030 divide 329326552.0208398002250836592043 -02451.10065397010591546041034041 -> -134358.6406732917173739187421978 Inexact Rounded
+dvix3030 divideint 329326552.0208398002250836592043 -02451.10065397010591546041034041 -> -134358
+mulx3030 multiply 329326552.0208398002250836592043 -02451.10065397010591546041034041 -> -807212527028.0005401736893474430 Inexact Rounded
+powx3030 power 329326552.0208398002250836592043 -2451 -> 0E-10029 Underflow Subnormal Inexact Rounded Clamped
+remx3030 remainder 329326552.0208398002250836592043 -02451.10065397010591546041034041 -> 1570.35472430963565384668749322
+subx3030 subtract 329326552.0208398002250836592043 -02451.10065397010591546041034041 -> 329329003.1214937703309991196146 Inexact Rounded
+addx3031 add -92980.68431371090354435763218439 -2282178507046019721925800997065 -> -2282178507046019721925801090046 Inexact Rounded
+comx3031 compare -92980.68431371090354435763218439 -2282178507046019721925800997065 -> 1
+divx3031 divide -92980.68431371090354435763218439 -2282178507046019721925800997065 -> 4.074207342968196863070496994457E-26 Inexact Rounded
+dvix3031 divideint -92980.68431371090354435763218439 -2282178507046019721925800997065 -> 0
+mulx3031 multiply -92980.68431371090354435763218439 -2282178507046019721925800997065 -> 2.121985193111820147170707717938E+35 Inexact Rounded
+powx3031 power -92980.68431371090354435763218439 -2 -> 1.156683455371909793870207184337E-10 Inexact Rounded
+remx3031 remainder -92980.68431371090354435763218439 -2282178507046019721925800997065 -> -92980.68431371090354435763218439
+subx3031 subtract -92980.68431371090354435763218439 -2282178507046019721925800997065 -> 2282178507046019721925800904084 Inexact Rounded
+addx3032 add 12135817762.27858606259822256987E+738 98.35649167872356132249561021910E-902 -> 1.213581776227858606259822256987E+748 Inexact Rounded
+comx3032 compare 12135817762.27858606259822256987E+738 98.35649167872356132249561021910E-902 -> 1
+divx3032 divide 12135817762.27858606259822256987E+738 98.35649167872356132249561021910E-902 -> 1.233860374149945561886955398724E+1648 Inexact Rounded
+dvix3032 divideint 12135817762.27858606259822256987E+738 98.35649167872356132249561021910E-902 -> NaN Division_impossible
+mulx3032 multiply 12135817762.27858606259822256987E+738 98.35649167872356132249561021910E-902 -> 1.193636458750059340733188876015E-152 Inexact Rounded
+powx3032 power 12135817762.27858606259822256987E+738 10 -> 6.929317520577437720457517499936E+7480 Inexact Rounded
+remx3032 remainder 12135817762.27858606259822256987E+738 98.35649167872356132249561021910E-902 -> NaN Division_impossible
+subx3032 subtract 12135817762.27858606259822256987E+738 98.35649167872356132249561021910E-902 -> 1.213581776227858606259822256987E+748 Inexact Rounded
+addx3033 add 37.27457578793521166809739140081 -392550.4790095035979998355569916 -> -392513.2044337156627881674596002 Inexact Rounded
+comx3033 compare 37.27457578793521166809739140081 -392550.4790095035979998355569916 -> 1
+divx3033 divide 37.27457578793521166809739140081 -392550.4790095035979998355569916 -> -0.00009495486002714264641177211062199 Inexact Rounded
+dvix3033 divideint 37.27457578793521166809739140081 -392550.4790095035979998355569916 -> -0
+mulx3033 multiply 37.27457578793521166809739140081 -392550.4790095035979998355569916 -> -14632152.58043001234518095997140 Inexact Rounded
+powx3033 power 37.27457578793521166809739140081 -392550 -> 0E-10029 Underflow Subnormal Inexact Rounded Clamped
+remx3033 remainder 37.27457578793521166809739140081 -392550.4790095035979998355569916 -> 37.27457578793521166809739140081
+subx3033 subtract 37.27457578793521166809739140081 -392550.4790095035979998355569916 -> 392587.7535852915332115036543830 Inexact Rounded
+addx3034 add -2787.980590304199878755265273703 7117631179305319208210387565324 -> 7117631179305319208210387562536 Inexact Rounded
+comx3034 compare -2787.980590304199878755265273703 7117631179305319208210387565324 -> -1
+divx3034 divide -2787.980590304199878755265273703 7117631179305319208210387565324 -> -3.917006262435063093475140250870E-28 Inexact Rounded
+dvix3034 divideint -2787.980590304199878755265273703 7117631179305319208210387565324 -> -0
+mulx3034 multiply -2787.980590304199878755265273703 7117631179305319208210387565324 -> -1.984381757684722217801410305714E+34 Inexact Rounded
+powx3034 power -2787.980590304199878755265273703 7 -> -1309266999233099220127139.440082 Inexact Rounded
+remx3034 remainder -2787.980590304199878755265273703 7117631179305319208210387565324 -> -2787.980590304199878755265273703
+subx3034 subtract -2787.980590304199878755265273703 7117631179305319208210387565324 -> -7117631179305319208210387568112 Inexact Rounded
+addx3035 add -9890633.854609434943559831911276E+971 -1939985729.436827777055699361237 -> -9.890633854609434943559831911276E+977 Inexact Rounded
+comx3035 compare -9890633.854609434943559831911276E+971 -1939985729.436827777055699361237 -> -1
+divx3035 divide -9890633.854609434943559831911276E+971 -1939985729.436827777055699361237 -> 5.098302376420396260404821158158E+968 Inexact Rounded
+dvix3035 divideint -9890633.854609434943559831911276E+971 -1939985729.436827777055699361237 -> NaN Division_impossible
+mulx3035 multiply -9890633.854609434943559831911276E+971 -1939985729.436827777055699361237 -> 1.918768853302706825964087702307E+987 Inexact Rounded
+powx3035 power -9890633.854609434943559831911276E+971 -2 -> 1.022237362667592867768511487814E-1956 Inexact Rounded
+remx3035 remainder -9890633.854609434943559831911276E+971 -1939985729.436827777055699361237 -> NaN Division_impossible
+subx3035 subtract -9890633.854609434943559831911276E+971 -1939985729.436827777055699361237 -> -9.890633854609434943559831911276E+977 Inexact Rounded
+addx3036 add 3944570323.331121750661920475191 -17360722.28878145641394962484366 -> 3927209601.042340294247970850347 Inexact Rounded
+comx3036 compare 3944570323.331121750661920475191 -17360722.28878145641394962484366 -> 1
+divx3036 divide 3944570323.331121750661920475191 -17360722.28878145641394962484366 -> -227.2123393091837706827708196101 Inexact Rounded
+dvix3036 divideint 3944570323.331121750661920475191 -17360722.28878145641394962484366 -> -227
+mulx3036 multiply 3944570323.331121750661920475191 -17360722.28878145641394962484366 -> -68480589931920481.56020043213767 Inexact Rounded
+powx3036 power 3944570323.331121750661920475191 -17360722 -> 0E-10029 Underflow Subnormal Inexact Rounded Clamped
+remx3036 remainder 3944570323.331121750661920475191 -17360722.28878145641394962484366 -> 3686363.77773114469535563568018
+subx3036 subtract 3944570323.331121750661920475191 -17360722.28878145641394962484366 -> 3961931045.619903207075870100035 Inexact Rounded
+addx3037 add 19544.14018503427029002552872707 1786697762.885178994182133839546 -> 1786717307.025364028452423865075 Inexact Rounded
+comx3037 compare 19544.14018503427029002552872707 1786697762.885178994182133839546 -> -1
+divx3037 divide 19544.14018503427029002552872707 1786697762.885178994182133839546 -> 0.00001093869404832867759234359871991 Inexact Rounded
+dvix3037 divideint 19544.14018503427029002552872707 1786697762.885178994182133839546 -> 0
+mulx3037 multiply 19544.14018503427029002552872707 1786697762.885178994182133839546 -> 34919471546115.05897163496162290 Inexact Rounded
+powx3037 power 19544.14018503427029002552872707 2 -> 381973415.5722714009298802557940 Inexact Rounded
+remx3037 remainder 19544.14018503427029002552872707 1786697762.885178994182133839546 -> 19544.14018503427029002552872707
+subx3037 subtract 19544.14018503427029002552872707 1786697762.885178994182133839546 -> -1786678218.744993959911843814017 Inexact Rounded
+addx3038 add -05.75485957937617757983513662981 5564476875.989640431173694372083 -> 5564476870.234780851797516792248 Inexact Rounded
+comx3038 compare -05.75485957937617757983513662981 5564476875.989640431173694372083 -> -1
+divx3038 divide -05.75485957937617757983513662981 5564476875.989640431173694372083 -> -1.034213944568271324841608825136E-9 Inexact Rounded
+dvix3038 divideint -05.75485957937617757983513662981 5564476875.989640431173694372083 -> -0
+mulx3038 multiply -05.75485957937617757983513662981 5564476875.989640431173694372083 -> -32022783054.00620878436398990135 Inexact Rounded
+powx3038 power -05.75485957937617757983513662981 6 -> 36325.23118223611421303238908472 Inexact Rounded
+remx3038 remainder -05.75485957937617757983513662981 5564476875.989640431173694372083 -> -5.75485957937617757983513662981
+subx3038 subtract -05.75485957937617757983513662981 5564476875.989640431173694372083 -> -5564476881.744500010549871951918 Inexact Rounded
+addx3039 add -4208820.898718069194008526302746 626887.7553774705678201112845462E+206 -> 6.268877553774705678201112845462E+211 Inexact Rounded
+comx3039 compare -4208820.898718069194008526302746 626887.7553774705678201112845462E+206 -> -1
+divx3039 divide -4208820.898718069194008526302746 626887.7553774705678201112845462E+206 -> -6.713834913211527184907421856434E-206 Inexact Rounded
+dvix3039 divideint -4208820.898718069194008526302746 626887.7553774705678201112845462E+206 -> -0
+mulx3039 multiply -4208820.898718069194008526302746 626887.7553774705678201112845462E+206 -> -2.638458285983158789458925170267E+218 Inexact Rounded
+powx3039 power -4208820.898718069194008526302746 6 -> 5.558564783291260359142223337994E+39 Inexact Rounded
+remx3039 remainder -4208820.898718069194008526302746 626887.7553774705678201112845462E+206 -> -4208820.898718069194008526302746
+subx3039 subtract -4208820.898718069194008526302746 626887.7553774705678201112845462E+206 -> -6.268877553774705678201112845462E+211 Inexact Rounded
+addx3040 add -70077195478066.30896979085821269E+549 4607.163248554155483681430013073 -> -7.007719547806630896979085821269E+562 Inexact Rounded
+comx3040 compare -70077195478066.30896979085821269E+549 4607.163248554155483681430013073 -> -1
+divx3040 divide -70077195478066.30896979085821269E+549 4607.163248554155483681430013073 -> -1.521048673498997627360230078306E+559 Inexact Rounded
+dvix3040 divideint -70077195478066.30896979085821269E+549 4607.163248554155483681430013073 -> NaN Division_impossible
+mulx3040 multiply -70077195478066.30896979085821269E+549 4607.163248554155483681430013073 -> -3.228570795682925509478191397878E+566 Inexact Rounded
+powx3040 power -70077195478066.30896979085821269E+549 4607 -> -Infinity Overflow Inexact Rounded
+remx3040 remainder -70077195478066.30896979085821269E+549 4607.163248554155483681430013073 -> NaN Division_impossible
+subx3040 subtract -70077195478066.30896979085821269E+549 4607.163248554155483681430013073 -> -7.007719547806630896979085821269E+562 Inexact Rounded
+addx3041 add -442941.7541811527940918244383454 -068126768.0563559819156379151016 -> -68569709.81053713470972973953995 Inexact Rounded
+comx3041 compare -442941.7541811527940918244383454 -068126768.0563559819156379151016 -> 1
+divx3041 divide -442941.7541811527940918244383454 -068126768.0563559819156379151016 -> 0.006501728568934042143913111768557 Inexact Rounded
+dvix3041 divideint -442941.7541811527940918244383454 -068126768.0563559819156379151016 -> 0
+mulx3041 multiply -442941.7541811527940918244383454 -068126768.0563559819156379151016 -> 30176190149574.84386395947593970 Inexact Rounded
+powx3041 power -442941.7541811527940918244383454 -68126768 -> 0E-10029 Underflow Subnormal Inexact Rounded Clamped
+remx3041 remainder -442941.7541811527940918244383454 -068126768.0563559819156379151016 -> -442941.7541811527940918244383454
+subx3041 subtract -442941.7541811527940918244383454 -068126768.0563559819156379151016 -> 67683826.30217482912154609066325 Inexact Rounded
+addx3042 add -040726778711.8677615616711676159 299691.9430345259174614997064916 -> -40726479019.92472703575370611619 Inexact Rounded
+comx3042 compare -040726778711.8677615616711676159 299691.9430345259174614997064916 -> -1
+divx3042 divide -040726778711.8677615616711676159 299691.9430345259174614997064916 -> -135895.4741975690872548233111888 Inexact Rounded
+dvix3042 divideint -040726778711.8677615616711676159 299691.9430345259174614997064916 -> -135895
+mulx3042 multiply -040726778711.8677615616711676159 299691.9430345259174614997064916 -> -12205487445696816.02175665622242 Inexact Rounded
+powx3042 power -040726778711.8677615616711676159 299692 -> Infinity Overflow Inexact Rounded
+remx3042 remainder -040726778711.8677615616711676159 299691.9430345259174614997064916 -> -142113.1908620082406650022240180
+subx3042 subtract -040726778711.8677615616711676159 299691.9430345259174614997064916 -> -40727078403.81079608758862911561 Inexact Rounded
+addx3043 add -1934197520.738366912179143085955 3.810751422515178400293693371519 -> -1934197516.927615489663964685661 Inexact Rounded
+comx3043 compare -1934197520.738366912179143085955 3.810751422515178400293693371519 -> -1
+divx3043 divide -1934197520.738366912179143085955 3.810751422515178400293693371519 -> -507563287.7312566071537233697473 Inexact Rounded
+dvix3043 divideint -1934197520.738366912179143085955 3.810751422515178400293693371519 -> -507563287
+mulx3043 multiply -1934197520.738366912179143085955 3.810751422515178400293693371519 -> -7370745953.579062985130438309023 Inexact Rounded
+powx3043 power -1934197520.738366912179143085955 4 -> 1.399597922275400947497855539475E+37 Inexact Rounded
+remx3043 remainder -1934197520.738366912179143085955 3.810751422515178400293693371519 -> -2.786637155934674312936704177047
+subx3043 subtract -1934197520.738366912179143085955 3.810751422515178400293693371519 -> -1934197524.549118334694321486249 Inexact Rounded
+addx3044 add 813262.7723533833038829559646830 -303284822716.8282178131118185907 -> -303284009454.0558644298079356347 Inexact Rounded
+comx3044 compare 813262.7723533833038829559646830 -303284822716.8282178131118185907 -> 1
+divx3044 divide 813262.7723533833038829559646830 -303284822716.8282178131118185907 -> -0.000002681514904267770294213381485108 Inexact Rounded
+dvix3044 divideint 813262.7723533833038829559646830 -303284822716.8282178131118185907 -> -0
+mulx3044 multiply 813262.7723533833038829559646830 -303284822716.8282178131118185907 -> -246650255735392080.1357404280431 Inexact Rounded
+powx3044 power 813262.7723533833038829559646830 -3 -> 1.859119568310997605545914895133E-18 Inexact Rounded
+remx3044 remainder 813262.7723533833038829559646830 -303284822716.8282178131118185907 -> 813262.7723533833038829559646830
+subx3044 subtract 813262.7723533833038829559646830 -303284822716.8282178131118185907 -> 303285635979.6005711964157015467 Inexact Rounded
+addx3045 add 36105954884.94621434979365589311 745558205.7692397481313005659523E-952 -> 36105954884.94621434979365589311 Inexact Rounded
+comx3045 compare 36105954884.94621434979365589311 745558205.7692397481313005659523E-952 -> 1
+divx3045 divide 36105954884.94621434979365589311 745558205.7692397481313005659523E-952 -> 4.842808328786805821411674302686E+953 Inexact Rounded
+dvix3045 divideint 36105954884.94621434979365589311 745558205.7692397481313005659523E-952 -> NaN Division_impossible
+mulx3045 multiply 36105954884.94621434979365589311 745558205.7692397481313005659523E-952 -> 2.691909094160561673391352743869E-933 Inexact Rounded
+powx3045 power 36105954884.94621434979365589311 7 -> 7.999297449713301719582732447386E+73 Inexact Rounded
+remx3045 remainder 36105954884.94621434979365589311 745558205.7692397481313005659523E-952 -> NaN Division_impossible
+subx3045 subtract 36105954884.94621434979365589311 745558205.7692397481313005659523E-952 -> 36105954884.94621434979365589311 Inexact Rounded
+addx3046 add -075537177538.1814516621962185490 26980775255.51542856483122484898 -> -48556402282.66602309736499370002
+comx3046 compare -075537177538.1814516621962185490 26980775255.51542856483122484898 -> -1
+divx3046 divide -075537177538.1814516621962185490 26980775255.51542856483122484898 -> -2.799666682029089956269018541649 Inexact Rounded
+dvix3046 divideint -075537177538.1814516621962185490 26980775255.51542856483122484898 -> -2
+mulx3046 multiply -075537177538.1814516621962185490 26980775255.51542856483122484898 -> -2038051610593641947717.268652175 Inexact Rounded
+powx3046 power -075537177538.1814516621962185490 3 -> -4.310049518987988084595264617727E+32 Inexact Rounded
+remx3046 remainder -075537177538.1814516621962185490 26980775255.51542856483122484898 -> -21575627027.15059453253376885104
+subx3046 subtract -075537177538.1814516621962185490 26980775255.51542856483122484898 -> -102517952793.6968802270274433980 Inexact Rounded
+addx3047 add -4223765.415319564898840040697647 -2590590305497454185455459149918E-215 -> -4223765.415319564898840040697647 Inexact Rounded
+comx3047 compare -4223765.415319564898840040697647 -2590590305497454185455459149918E-215 -> -1
+divx3047 divide -4223765.415319564898840040697647 -2590590305497454185455459149918E-215 -> 1.630425855588347356570076909053E+191 Inexact Rounded
+dvix3047 divideint -4223765.415319564898840040697647 -2590590305497454185455459149918E-215 -> NaN Division_impossible
+mulx3047 multiply -4223765.415319564898840040697647 -2590590305497454185455459149918E-215 -> 1.094204573762229308798604845395E-178 Inexact Rounded
+powx3047 power -4223765.415319564898840040697647 -3 -> -1.327090775863616939309569791138E-20 Inexact Rounded
+remx3047 remainder -4223765.415319564898840040697647 -2590590305497454185455459149918E-215 -> NaN Division_impossible
+subx3047 subtract -4223765.415319564898840040697647 -2590590305497454185455459149918E-215 -> -4223765.415319564898840040697647 Inexact Rounded
+addx3048 add -6468.903738522951259063099946195 -7877.324314273694312164407794939E+267 -> -7.877324314273694312164407794939E+270 Inexact Rounded
+comx3048 compare -6468.903738522951259063099946195 -7877.324314273694312164407794939E+267 -> 1
+divx3048 divide -6468.903738522951259063099946195 -7877.324314273694312164407794939E+267 -> 8.212057140774706874666307246628E-268 Inexact Rounded
+dvix3048 divideint -6468.903738522951259063099946195 -7877.324314273694312164407794939E+267 -> 0
+mulx3048 multiply -6468.903738522951259063099946195 -7877.324314273694312164407794939E+267 -> 5.095765270616284455922747530676E+274 Inexact Rounded
+powx3048 power -6468.903738522951259063099946195 -8 -> 3.261027724982089298030362367616E-31 Inexact Rounded
+remx3048 remainder -6468.903738522951259063099946195 -7877.324314273694312164407794939E+267 -> -6468.903738522951259063099946195
+subx3048 subtract -6468.903738522951259063099946195 -7877.324314273694312164407794939E+267 -> 7.877324314273694312164407794939E+270 Inexact Rounded
+addx3049 add -9567221.183663236817239254783372E-203 1650.198961256061165362319471264 -> 1650.198961256061165362319471264 Inexact Rounded
+comx3049 compare -9567221.183663236817239254783372E-203 1650.198961256061165362319471264 -> -1
+divx3049 divide -9567221.183663236817239254783372E-203 1650.198961256061165362319471264 -> -5.797616777301250711985729776957E-200 Inexact Rounded
+dvix3049 divideint -9567221.183663236817239254783372E-203 1650.198961256061165362319471264 -> -0
+mulx3049 multiply -9567221.183663236817239254783372E-203 1650.198961256061165362319471264 -> -1.578781845938805737527304303976E-193 Inexact Rounded
+powx3049 power -9567221.183663236817239254783372E-203 1650 -> 0E-10029 Underflow Subnormal Inexact Rounded Clamped
+remx3049 remainder -9567221.183663236817239254783372E-203 1650.198961256061165362319471264 -> -9.567221183663236817239254783372E-197
+subx3049 subtract -9567221.183663236817239254783372E-203 1650.198961256061165362319471264 -> -1650.198961256061165362319471264 Inexact Rounded
+addx3050 add 8812306098770.200752139142033569E-428 26790.17380163975186972720427030E+568 -> 2.679017380163975186972720427030E+572 Inexact Rounded
+comx3050 compare 8812306098770.200752139142033569E-428 26790.17380163975186972720427030E+568 -> -1
+divx3050 divide 8812306098770.200752139142033569E-428 26790.17380163975186972720427030E+568 -> 3.289379965960065573444140749635E-988 Inexact Rounded
+dvix3050 divideint 8812306098770.200752139142033569E-428 26790.17380163975186972720427030E+568 -> 0
+mulx3050 multiply 8812306098770.200752139142033569E-428 26790.17380163975186972720427030E+568 -> 2.360832119793036398127652187732E+157 Inexact Rounded
+powx3050 power 8812306098770.200752139142033569E-428 3 -> 6.843349527476967274129043949969E-1246 Inexact Rounded
+remx3050 remainder 8812306098770.200752139142033569E-428 26790.17380163975186972720427030E+568 -> 8.812306098770200752139142033569E-416
+subx3050 subtract 8812306098770.200752139142033569E-428 26790.17380163975186972720427030E+568 -> -2.679017380163975186972720427030E+572 Inexact Rounded
+addx3051 add 80108033.12724838718736922500904 -706207255092.7645192310078892869 -> -706127147059.6372708438205200619 Inexact Rounded
+comx3051 compare 80108033.12724838718736922500904 -706207255092.7645192310078892869 -> 1
+divx3051 divide 80108033.12724838718736922500904 -706207255092.7645192310078892869 -> -0.0001134341690057060105325397863996 Inexact Rounded
+dvix3051 divideint 80108033.12724838718736922500904 -706207255092.7645192310078892869 -> -0
+mulx3051 multiply 80108033.12724838718736922500904 -706207255092.7645192310078892869 -> -56572874185674332398.36004114372 Inexact Rounded
+powx3051 power 80108033.12724838718736922500904 -7 -> 4.723539145042336483008674060324E-56 Inexact Rounded
+remx3051 remainder 80108033.12724838718736922500904 -706207255092.7645192310078892869 -> 80108033.12724838718736922500904
+subx3051 subtract 80108033.12724838718736922500904 -706207255092.7645192310078892869 -> 706287363125.8917676181952585119 Inexact Rounded
+addx3052 add -37942846282.76101663789059003505 -5.649456053942850351313869983197 -> -37942846288.41047269183344038636 Inexact Rounded
+comx3052 compare -37942846282.76101663789059003505 -5.649456053942850351313869983197 -> -1
+divx3052 divide -37942846282.76101663789059003505 -5.649456053942850351313869983197 -> 6716194607.139224735032566328960 Inexact Rounded
+dvix3052 divideint -37942846282.76101663789059003505 -5.649456053942850351313869983197 -> 6716194607
+mulx3052 multiply -37942846282.76101663789059003505 -5.649456053942850351313869983197 -> 214356442635.9672009449140933366 Inexact Rounded
+powx3052 power -37942846282.76101663789059003505 -6 -> 3.351355986382646046773008753885E-64 Inexact Rounded
+remx3052 remainder -37942846282.76101663789059003505 -5.649456053942850351313869983197 -> -0.786544022188321089603127981421
+subx3052 subtract -37942846282.76101663789059003505 -5.649456053942850351313869983197 -> -37942846277.11156058394773968374 Inexact Rounded
+addx3053 add 92659632115305.13735437728445541 6483438.317862851676468094261410E-139 -> 92659632115305.13735437728445541 Inexact Rounded
+comx3053 compare 92659632115305.13735437728445541 6483438.317862851676468094261410E-139 -> 1
+divx3053 divide 92659632115305.13735437728445541 6483438.317862851676468094261410E-139 -> 1.429174267919135710410529211791E+146 Inexact Rounded
+dvix3053 divideint 92659632115305.13735437728445541 6483438.317862851676468094261410E-139 -> NaN Division_impossible
+mulx3053 multiply 92659632115305.13735437728445541 6483438.317862851676468094261410E-139 -> 6.007530093754446085819255987878E-119 Inexact Rounded
+powx3053 power 92659632115305.13735437728445541 6 -> 6.329121451953461546696051563323E+83 Inexact Rounded
+remx3053 remainder 92659632115305.13735437728445541 6483438.317862851676468094261410E-139 -> NaN Division_impossible
+subx3053 subtract 92659632115305.13735437728445541 6483438.317862851676468094261410E-139 -> 92659632115305.13735437728445541 Inexact Rounded
+addx3054 add 2838948.589837595494152150647194 569547026247.5469563701415715960 -> 569549865196.1367939656357237466 Inexact Rounded
+comx3054 compare 2838948.589837595494152150647194 569547026247.5469563701415715960 -> -1
+divx3054 divide 2838948.589837595494152150647194 569547026247.5469563701415715960 -> 0.000004984572755198057481907281080406 Inexact Rounded
+dvix3054 divideint 2838948.589837595494152150647194 569547026247.5469563701415715960 -> 0
+mulx3054 multiply 2838948.589837595494152150647194 569547026247.5469563701415715960 -> 1616914727011669419.390959984273 Inexact Rounded
+powx3054 power 2838948.589837595494152150647194 6 -> 5.235343334986059753096884080673E+38 Inexact Rounded
+remx3054 remainder 2838948.589837595494152150647194 569547026247.5469563701415715960 -> 2838948.589837595494152150647194
+subx3054 subtract 2838948.589837595494152150647194 569547026247.5469563701415715960 -> -569544187298.9571187746474194454 Inexact Rounded
+addx3055 add 524995204523.6053307941775794287E+694 1589600879689517100527293028553 -> 5.249952045236053307941775794287E+705 Inexact Rounded
+comx3055 compare 524995204523.6053307941775794287E+694 1589600879689517100527293028553 -> 1
+divx3055 divide 524995204523.6053307941775794287E+694 1589600879689517100527293028553 -> 3.302685669286670708554753139233E+675 Inexact Rounded
+dvix3055 divideint 524995204523.6053307941775794287E+694 1589600879689517100527293028553 -> NaN Division_impossible
+mulx3055 multiply 524995204523.6053307941775794287E+694 1589600879689517100527293028553 -> 8.345328389435009812933599889447E+735 Inexact Rounded
+powx3055 power 524995204523.6053307941775794287E+694 2 -> 2.756199647727821911857160230849E+1411 Inexact Rounded
+remx3055 remainder 524995204523.6053307941775794287E+694 1589600879689517100527293028553 -> NaN Division_impossible
+subx3055 subtract 524995204523.6053307941775794287E+694 1589600879689517100527293028553 -> 5.249952045236053307941775794287E+705 Inexact Rounded
+addx3056 add -57131573677452.15449921725097290 4669681430736.326858508715643769 -> -52461892246715.82764070853532913 Inexact Rounded
+comx3056 compare -57131573677452.15449921725097290 4669681430736.326858508715643769 -> -1
+divx3056 divide -57131573677452.15449921725097290 4669681430736.326858508715643769 -> -12.23457628210057733643575143694 Inexact Rounded
+dvix3056 divideint -57131573677452.15449921725097290 4669681430736.326858508715643769 -> -12
+mulx3056 multiply -57131573677452.15449921725097290 4669681430736.326858508715643769 -> -266786248710342647746063322.0544 Inexact Rounded
+powx3056 power -57131573677452.15449921725097290 5 -> -6.086686503752679375430019503679E+68 Inexact Rounded
+remx3056 remainder -57131573677452.15449921725097290 4669681430736.326858508715643769 -> -1095396508616.232197112663247672
+subx3056 subtract -57131573677452.15449921725097290 4669681430736.326858508715643769 -> -61801255108188.48135772596661667 Inexact Rounded
+addx3057 add 90794826.55528018781830463383411 -5.471502270351231110027647216128 -> 90794821.08377791746707352380646 Inexact Rounded
+comx3057 compare 90794826.55528018781830463383411 -5.471502270351231110027647216128 -> 1
+divx3057 divide 90794826.55528018781830463383411 -5.471502270351231110027647216128 -> -16594131.20365054928428313232246 Inexact Rounded
+dvix3057 divideint 90794826.55528018781830463383411 -5.471502270351231110027647216128 -> -16594131
+mulx3057 multiply 90794826.55528018781830463383411 -5.471502270351231110027647216128 -> -496784099.6333617958496589124964 Inexact Rounded
+powx3057 power 90794826.55528018781830463383411 -5 -> 1.620669590532856523565742953997E-40 Inexact Rounded
+remx3057 remainder 90794826.55528018781830463383411 -5.471502270351231110027647216128 -> 1.114274442767230442307896655232
+subx3057 subtract 90794826.55528018781830463383411 -5.471502270351231110027647216128 -> 90794832.02678245816953574386176 Inexact Rounded
+addx3058 add 58508794729.35191160840980489138 -47060867.24988279680824397447551 -> 58461733862.10202881160156091690 Inexact Rounded
+comx3058 compare 58508794729.35191160840980489138 -47060867.24988279680824397447551 -> 1
+divx3058 divide 58508794729.35191160840980489138 -47060867.24988279680824397447551 -> -1243.257894477021678809337875304 Inexact Rounded
+dvix3058 divideint 58508794729.35191160840980489138 -47060867.24988279680824397447551 -> -1243
+mulx3058 multiply 58508794729.35191160840980489138 -47060867.24988279680824397447551 -> -2753474621708672573.249029643967 Inexact Rounded
+powx3058 power 58508794729.35191160840980489138 -47060867 -> 0E-10029 Underflow Subnormal Inexact Rounded Clamped
+remx3058 remainder 58508794729.35191160840980489138 -47060867.24988279680824397447551 -> 12136737.74759517576254461832107
+subx3058 subtract 58508794729.35191160840980489138 -47060867.24988279680824397447551 -> 58555855596.60179440521804886586 Inexact Rounded
+addx3059 add -746104.0768078474426464219416332E+006 9595418.300613754556671852801667E+385 -> 9.595418300613754556671852801667E+391 Inexact Rounded
+comx3059 compare -746104.0768078474426464219416332E+006 9595418.300613754556671852801667E+385 -> -1
+divx3059 divide -746104.0768078474426464219416332E+006 9595418.300613754556671852801667E+385 -> -7.775628465932789700547872511745E-381 Inexact Rounded
+dvix3059 divideint -746104.0768078474426464219416332E+006 9595418.300613754556671852801667E+385 -> -0
+mulx3059 multiply -746104.0768078474426464219416332E+006 9595418.300613754556671852801667E+385 -> -7.159180712764549711669939947084E+403 Inexact Rounded
+powx3059 power -746104.0768078474426464219416332E+006 10 -> 5.345571346302582882805035996696E+118 Inexact Rounded
+remx3059 remainder -746104.0768078474426464219416332E+006 9595418.300613754556671852801667E+385 -> -746104076807.8474426464219416332
+subx3059 subtract -746104.0768078474426464219416332E+006 9595418.300613754556671852801667E+385 -> -9.595418300613754556671852801667E+391 Inexact Rounded
+addx3060 add 55.99427632688387400403789659459E+119 -9.170530450881612853998489340127 -> 5.599427632688387400403789659459E+120 Inexact Rounded
+comx3060 compare 55.99427632688387400403789659459E+119 -9.170530450881612853998489340127 -> 1
+divx3060 divide 55.99427632688387400403789659459E+119 -9.170530450881612853998489340127 -> -6.105892851759828176655685111491E+119 Inexact Rounded
+dvix3060 divideint 55.99427632688387400403789659459E+119 -9.170530450881612853998489340127 -> NaN Division_impossible
+mulx3060 multiply 55.99427632688387400403789659459E+119 -9.170530450881612853998489340127 -> -5.134972161307679939281170944556E+121 Inexact Rounded
+powx3060 power 55.99427632688387400403789659459E+119 -9 -> 1.848022584764384077672041056396E-1087 Inexact Rounded
+remx3060 remainder 55.99427632688387400403789659459E+119 -9.170530450881612853998489340127 -> NaN Division_impossible
+subx3060 subtract 55.99427632688387400403789659459E+119 -9.170530450881612853998489340127 -> 5.599427632688387400403789659459E+120 Inexact Rounded
+addx3061 add -41214265628.83801241467317270595 1015336323798389903361978271354 -> 1015336323798389903320764005725 Inexact Rounded
+comx3061 compare -41214265628.83801241467317270595 1015336323798389903361978271354 -> -1
+divx3061 divide -41214265628.83801241467317270595 1015336323798389903361978271354 -> -4.059173759750342247620706384027E-20 Inexact Rounded
+dvix3061 divideint -41214265628.83801241467317270595 1015336323798389903361978271354 -> -0
+mulx3061 multiply -41214265628.83801241467317270595 1015336323798389903361978271354 -> -4.184634095163472384028549378392E+40 Inexact Rounded
+powx3061 power -41214265628.83801241467317270595 1 -> -41214265628.83801241467317270595
+remx3061 remainder -41214265628.83801241467317270595 1015336323798389903361978271354 -> -41214265628.83801241467317270595
+subx3061 subtract -41214265628.83801241467317270595 1015336323798389903361978271354 -> -1015336323798389903403192536983 Inexact Rounded
+addx3062 add 89937.39749201095570357557430822 82351554210093.60879476027800331 -> 82351554300031.00628677123370689 Inexact Rounded
+comx3062 compare 89937.39749201095570357557430822 82351554210093.60879476027800331 -> -1
+divx3062 divide 89937.39749201095570357557430822 82351554210093.60879476027800331 -> 1.092115362662913415592930982129E-9 Inexact Rounded
+dvix3062 divideint 89937.39749201095570357557430822 82351554210093.60879476027800331 -> 0
+mulx3062 multiply 89937.39749201095570357557430822 82351554210093.60879476027800331 -> 7406484465078077191.920015793662 Inexact Rounded
+powx3062 power 89937.39749201095570357557430822 8 -> 4.280776267723913043050100934291E+39 Inexact Rounded
+remx3062 remainder 89937.39749201095570357557430822 82351554210093.60879476027800331 -> 89937.39749201095570357557430822
+subx3062 subtract 89937.39749201095570357557430822 82351554210093.60879476027800331 -> -82351554120156.21130274932229973 Inexact Rounded
+addx3063 add 01712661.64677082156284125486943E+359 57932.78435529483241552042115837E-037 -> 1.712661646770821562841254869430E+365 Inexact Rounded
+comx3063 compare 01712661.64677082156284125486943E+359 57932.78435529483241552042115837E-037 -> 1
+divx3063 divide 01712661.64677082156284125486943E+359 57932.78435529483241552042115837E-037 -> 2.956290925475414185960999788848E+397 Inexact Rounded
+dvix3063 divideint 01712661.64677082156284125486943E+359 57932.78435529483241552042115837E-037 -> NaN Division_impossible
+mulx3063 multiply 01712661.64677082156284125486943E+359 57932.78435529483241552042115837E-037 -> 9.921925785595813587655312307930E+332 Inexact Rounded
+powx3063 power 01712661.64677082156284125486943E+359 6 -> 2.523651803323047711735501944959E+2191 Inexact Rounded
+remx3063 remainder 01712661.64677082156284125486943E+359 57932.78435529483241552042115837E-037 -> NaN Division_impossible
+subx3063 subtract 01712661.64677082156284125486943E+359 57932.78435529483241552042115837E-037 -> 1.712661646770821562841254869430E+365 Inexact Rounded
+addx3064 add -2647593306.528617691373470059213 -655531558709.4582168930191014461 -> -658179152015.9868345843925715053 Inexact Rounded
+comx3064 compare -2647593306.528617691373470059213 -655531558709.4582168930191014461 -> 1
+divx3064 divide -2647593306.528617691373470059213 -655531558709.4582168930191014461 -> 0.004038849497560303158639192895544 Inexact Rounded
+dvix3064 divideint -2647593306.528617691373470059213 -655531558709.4582168930191014461 -> 0
+mulx3064 multiply -2647593306.528617691373470059213 -655531558709.4582168930191014461 -> 1735580967057433153120.099643641 Inexact Rounded
+powx3064 power -2647593306.528617691373470059213 -7 -> -1.096581914005902583413810201571E-66 Inexact Rounded
+remx3064 remainder -2647593306.528617691373470059213 -655531558709.4582168930191014461 -> -2647593306.528617691373470059213
+subx3064 subtract -2647593306.528617691373470059213 -655531558709.4582168930191014461 -> 652883965402.9295992016456313869 Inexact Rounded
+addx3065 add 2904078690665765116603253099668E-329 -71.45586619176091599264717047885E+787 -> -7.145586619176091599264717047885E+788 Inexact Rounded
+comx3065 compare 2904078690665765116603253099668E-329 -71.45586619176091599264717047885E+787 -> 1
+divx3065 divide 2904078690665765116603253099668E-329 -71.45586619176091599264717047885E+787 -> -4.064157144036712325084472022316E-1088 Inexact Rounded
+dvix3065 divideint 2904078690665765116603253099668E-329 -71.45586619176091599264717047885E+787 -> -0
+mulx3065 multiply 2904078690665765116603253099668E-329 -71.45586619176091599264717047885E+787 -> -2.075134583305571527962710017262E+490 Inexact Rounded
+powx3065 power 2904078690665765116603253099668E-329 -7 -> 5.740389208842895561250128407803E+2089 Inexact Rounded
+remx3065 remainder 2904078690665765116603253099668E-329 -71.45586619176091599264717047885E+787 -> 2.904078690665765116603253099668E-299
+subx3065 subtract 2904078690665765116603253099668E-329 -71.45586619176091599264717047885E+787 -> 7.145586619176091599264717047885E+788 Inexact Rounded
+addx3066 add 22094338972.39109726522477999515 -409846549371.3900805039668417203E-499 -> 22094338972.39109726522477999515 Inexact Rounded
+comx3066 compare 22094338972.39109726522477999515 -409846549371.3900805039668417203E-499 -> 1
+divx3066 divide 22094338972.39109726522477999515 -409846549371.3900805039668417203E-499 -> -5.390880808019174194010224736965E+497 Inexact Rounded
+dvix3066 divideint 22094338972.39109726522477999515 -409846549371.3900805039668417203E-499 -> NaN Division_impossible
+mulx3066 multiply 22094338972.39109726522477999515 -409846549371.3900805039668417203E-499 -> -9.055288588476315822113975426730E-478 Inexact Rounded
+powx3066 power 22094338972.39109726522477999515 -4 -> 4.196391022354122686725315209967E-42 Inexact Rounded
+remx3066 remainder 22094338972.39109726522477999515 -409846549371.3900805039668417203E-499 -> NaN Division_impossible
+subx3066 subtract 22094338972.39109726522477999515 -409846549371.3900805039668417203E-499 -> 22094338972.39109726522477999515 Inexact Rounded
+addx3067 add -3374988581607586061255542201048 82293895124.90045271504836568681 -> -3374988581607586061173248305923 Inexact Rounded
+comx3067 compare -3374988581607586061255542201048 82293895124.90045271504836568681 -> -1
+divx3067 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.81310977038 Inexact Rounded
+dvix3067 divideint -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797
+mulx3067 multiply -3374988581607586061255542201048 82293895124.90045271504836568681 -> -2.777409563825512202793336132310E+41 Inexact Rounded
+powx3067 power -3374988581607586061255542201048 8 -> 1.683365657238878057620634207267E+244 Inexact Rounded
+remx3067 remainder -3374988581607586061255542201048 82293895124.90045271504836568681 -> -66913970168.62046257175566384243
+subx3067 subtract -3374988581607586061255542201048 82293895124.90045271504836568681 -> -3374988581607586061337836096173 Inexact Rounded
+addx3068 add -84172558160661.35863831029352323 -11271.58916600931155937291904890 -> -84172558171932.94780431960508260 Inexact Rounded
+comx3068 compare -84172558160661.35863831029352323 -11271.58916600931155937291904890 -> -1
+divx3068 divide -84172558160661.35863831029352323 -11271.58916600931155937291904890 -> 7467674426.467986736459678347587 Inexact Rounded
+dvix3068 divideint -84172558160661.35863831029352323 -11271.58916600931155937291904890 -> 7467674426
+mulx3068 multiply -84172558160661.35863831029352323 -11271.58916600931155937291904890 -> 948758494638999235.1953022970755 Inexact Rounded
+powx3068 power -84172558160661.35863831029352323 -11272 -> 0E-10029 Underflow Subnormal Inexact Rounded Clamped
+remx3068 remainder -84172558160661.35863831029352323 -11271.58916600931155937291904890 -> -5274.95422851496534479122656860
+subx3068 subtract -84172558160661.35863831029352323 -11271.58916600931155937291904890 -> -84172558149389.76947230098196386 Inexact Rounded
+addx3069 add -70046932324614.90596396237508541E-568 33.63163964004608865836577297698E-918 -> -7.004693232461490596396237508541E-555 Inexact Rounded
+comx3069 compare -70046932324614.90596396237508541E-568 33.63163964004608865836577297698E-918 -> -1
+divx3069 divide -70046932324614.90596396237508541E-568 33.63163964004608865836577297698E-918 -> -2.082768876995463487926920072359E+362 Inexact Rounded
+dvix3069 divideint -70046932324614.90596396237508541E-568 33.63163964004608865836577297698E-918 -> NaN Division_impossible
+mulx3069 multiply -70046932324614.90596396237508541E-568 33.63163964004608865836577297698E-918 -> -2.355793185832144388285949021738E-1471 Inexact Rounded
+powx3069 power -70046932324614.90596396237508541E-568 3 -> -3.436903678302639677280508409829E-1663 Inexact Rounded
+remx3069 remainder -70046932324614.90596396237508541E-568 33.63163964004608865836577297698E-918 -> NaN Division_impossible
+subx3069 subtract -70046932324614.90596396237508541E-568 33.63163964004608865836577297698E-918 -> -7.004693232461490596396237508541E-555 Inexact Rounded
+addx3070 add 0004125384407.053782660115680886 -391429084.5847321402514385603223E-648 -> 4125384407.053782660115680886000 Inexact Rounded
+comx3070 compare 0004125384407.053782660115680886 -391429084.5847321402514385603223E-648 -> 1
+divx3070 divide 0004125384407.053782660115680886 -391429084.5847321402514385603223E-648 -> -1.053928941287132717250540955457E+649 Inexact Rounded
+dvix3070 divideint 0004125384407.053782660115680886 -391429084.5847321402514385603223E-648 -> NaN Division_impossible
+mulx3070 multiply 0004125384407.053782660115680886 -391429084.5847321402514385603223E-648 -> -1.614795442013190139080634449273E-630 Inexact Rounded
+powx3070 power 0004125384407.053782660115680886 -4 -> 3.452568541597450106266555783362E-39 Inexact Rounded
+remx3070 remainder 0004125384407.053782660115680886 -391429084.5847321402514385603223E-648 -> NaN Division_impossible
+subx3070 subtract 0004125384407.053782660115680886 -391429084.5847321402514385603223E-648 -> 4125384407.053782660115680886000 Inexact Rounded
+addx3071 add -31823131.15691583393820628480997E-440 92913.91582947237200286427030028E+771 -> 9.291391582947237200286427030028E+775 Inexact Rounded
+comx3071 compare -31823131.15691583393820628480997E-440 92913.91582947237200286427030028E+771 -> -1
+divx3071 divide -31823131.15691583393820628480997E-440 92913.91582947237200286427030028E+771 -> -3.425012375468251447194400841658E-1209 Inexact Rounded
+dvix3071 divideint -31823131.15691583393820628480997E-440 92913.91582947237200286427030028E+771 -> -0
+mulx3071 multiply -31823131.15691583393820628480997E-440 92913.91582947237200286427030028E+771 -> -2.956811729743937541973845029816E+343 Inexact Rounded
+powx3071 power -31823131.15691583393820628480997E-440 9 -> -3.347234803487575870321338308655E-3893 Inexact Rounded
+remx3071 remainder -31823131.15691583393820628480997E-440 92913.91582947237200286427030028E+771 -> -3.182313115691583393820628480997E-433
+subx3071 subtract -31823131.15691583393820628480997E-440 92913.91582947237200286427030028E+771 -> -9.291391582947237200286427030028E+775 Inexact Rounded
+addx3072 add 55573867888.91575330563698128150 599.5231614736232188354393212234 -> 55573868488.43891477926020011694 Inexact Rounded
+comx3072 compare 55573867888.91575330563698128150 599.5231614736232188354393212234 -> 1
+divx3072 divide 55573867888.91575330563698128150 599.5231614736232188354393212234 -> 92696782.14318796763098335498657 Inexact Rounded
+dvix3072 divideint 55573867888.91575330563698128150 599.5231614736232188354393212234 -> 92696782
+mulx3072 multiply 55573867888.91575330563698128150 599.5231614736232188354393212234 -> 33317820972080.24347717542221477 Inexact Rounded
+powx3072 power 55573867888.91575330563698128150 600 -> 8.363240671070136278221965616973E+6446 Inexact Rounded
+remx3072 remainder 55573867888.91575330563698128150 599.5231614736232188354393212234 -> 85.8445030391099686478265169012
+subx3072 subtract 55573867888.91575330563698128150 599.5231614736232188354393212234 -> 55573867289.39259183201376244606 Inexact Rounded
+addx3073 add -5447727448431680878699555714796E-800 5487207.142687001607026665515349E-362 -> 5.487207142687001607026665515349E-356 Inexact Rounded
+comx3073 compare -5447727448431680878699555714796E-800 5487207.142687001607026665515349E-362 -> -1
+divx3073 divide -5447727448431680878699555714796E-800 5487207.142687001607026665515349E-362 -> -9.928051387110587327889009363069E-415 Inexact Rounded
+dvix3073 divideint -5447727448431680878699555714796E-800 5487207.142687001607026665515349E-362 -> -0
+mulx3073 multiply -5447727448431680878699555714796E-800 5487207.142687001607026665515349E-362 -> -2.989280896644635352838087864373E-1125 Inexact Rounded
+powx3073 power -5447727448431680878699555714796E-800 5 -> -4.798183553278543065204833300725E-3847 Inexact Rounded
+remx3073 remainder -5447727448431680878699555714796E-800 5487207.142687001607026665515349E-362 -> -5.447727448431680878699555714796E-770
+subx3073 subtract -5447727448431680878699555714796E-800 5487207.142687001607026665515349E-362 -> -5.487207142687001607026665515349E-356 Inexact Rounded
+addx3074 add 0418349404834.547110239542290134 09819915.92405288066606124554841 -> 418359224750.4711631202083513795 Inexact Rounded
+comx3074 compare 0418349404834.547110239542290134 09819915.92405288066606124554841 -> 1
+divx3074 divide 0418349404834.547110239542290134 09819915.92405288066606124554841 -> 42602.13713335803513874339309132 Inexact Rounded
+dvix3074 divideint 0418349404834.547110239542290134 09819915.92405288066606124554841 -> 42602
+mulx3074 multiply 0418349404834.547110239542290134 09819915.92405288066606124554841 -> 4108155982352814348.343441299082 Inexact Rounded
+powx3074 power 0418349404834.547110239542290134 9819916 -> Infinity Overflow Inexact Rounded
+remx3074 remainder 0418349404834.547110239542290134 09819915.92405288066606124554841 -> 1346638.04628810400110728063718
+subx3074 subtract 0418349404834.547110239542290134 09819915.92405288066606124554841 -> 418339584918.6230573588762288885 Inexact Rounded
+addx3075 add -262021.7565194737396448014286436 -7983992600094836304387324162042E+390 -> -7.983992600094836304387324162042E+420 Inexact Rounded
+comx3075 compare -262021.7565194737396448014286436 -7983992600094836304387324162042E+390 -> 1
+divx3075 divide -262021.7565194737396448014286436 -7983992600094836304387324162042E+390 -> 3.281838669494274896180376328433E-416 Inexact Rounded
+dvix3075 divideint -262021.7565194737396448014286436 -7983992600094836304387324162042E+390 -> 0
+mulx3075 multiply -262021.7565194737396448014286436 -7983992600094836304387324162042E+390 -> 2.091979765115329268275803385534E+426 Inexact Rounded
+powx3075 power -262021.7565194737396448014286436 -8 -> 4.500918721033033032706782304195E-44 Inexact Rounded
+remx3075 remainder -262021.7565194737396448014286436 -7983992600094836304387324162042E+390 -> -262021.7565194737396448014286436
+subx3075 subtract -262021.7565194737396448014286436 -7983992600094836304387324162042E+390 -> 7.983992600094836304387324162042E+420 Inexact Rounded
+addx3076 add 48696050631.42565380301204592392E-505 -33868752339.85057267609967806187E+821 -> -3.386875233985057267609967806187E+831 Inexact Rounded
+comx3076 compare 48696050631.42565380301204592392E-505 -33868752339.85057267609967806187E+821 -> 1
+divx3076 divide 48696050631.42565380301204592392E-505 -33868752339.85057267609967806187E+821 -> -1.437786964892976582009952172420E-1326 Inexact Rounded
+dvix3076 divideint 48696050631.42565380301204592392E-505 -33868752339.85057267609967806187E+821 -> -0
+mulx3076 multiply 48696050631.42565380301204592392E-505 -33868752339.85057267609967806187E+821 -> -1.649274478764579569246425611629E+337 Inexact Rounded
+powx3076 power 48696050631.42565380301204592392E-505 -3 -> 8.660017688773759463020340778853E+1482 Inexact Rounded
+remx3076 remainder 48696050631.42565380301204592392E-505 -33868752339.85057267609967806187E+821 -> 4.869605063142565380301204592392E-495
+subx3076 subtract 48696050631.42565380301204592392E-505 -33868752339.85057267609967806187E+821 -> 3.386875233985057267609967806187E+831 Inexact Rounded
+addx3077 add 95316999.19440144356471126680708 -60791.33805057402845885978390435 -> 95256207.85635086953625240702318 Inexact Rounded
+comx3077 compare 95316999.19440144356471126680708 -60791.33805057402845885978390435 -> 1
+divx3077 divide 95316999.19440144356471126680708 -60791.33805057402845885978390435 -> -1567.937180706641856870286122623 Inexact Rounded
+dvix3077 divideint 95316999.19440144356471126680708 -60791.33805057402845885978390435 -> -1567
+mulx3077 multiply 95316999.19440144356471126680708 -60791.33805057402845885978390435 -> -5794447919993.150493301061195714 Inexact Rounded
+powx3077 power 95316999.19440144356471126680708 -60791 -> 0E-10029 Underflow Subnormal Inexact Rounded Clamped
+remx3077 remainder 95316999.19440144356471126680708 -60791.33805057402845885978390435 -> 56972.46915194096967798542896355
+subx3077 subtract 95316999.19440144356471126680708 -60791.33805057402845885978390435 -> 95377790.53245201759317012659098 Inexact Rounded
+addx3078 add -5326702296402708234722215224979E-136 8032459.450998820205916538543258 -> 8032459.450998820205916538543258 Inexact Rounded
+comx3078 compare -5326702296402708234722215224979E-136 8032459.450998820205916538543258 -> -1
+divx3078 divide -5326702296402708234722215224979E-136 8032459.450998820205916538543258 -> -6.631471131473117487839243582873E-113 Inexact Rounded
+dvix3078 divideint -5326702296402708234722215224979E-136 8032459.450998820205916538543258 -> -0
+mulx3078 multiply -5326702296402708234722215224979E-136 8032459.450998820205916538543258 -> -4.278652020339705265013632757349E-99 Inexact Rounded
+powx3078 power -5326702296402708234722215224979E-136 8032459 -> -0E-10029 Underflow Subnormal Inexact Rounded Clamped
+remx3078 remainder -5326702296402708234722215224979E-136 8032459.450998820205916538543258 -> -5.326702296402708234722215224979E-106
+subx3078 subtract -5326702296402708234722215224979E-136 8032459.450998820205916538543258 -> -8032459.450998820205916538543258 Inexact Rounded
+addx3079 add 67.18750684079501575335482615780E-281 734.1168841683438410314843011541E-854 -> 6.718750684079501575335482615780E-280 Inexact Rounded
+comx3079 compare 67.18750684079501575335482615780E-281 734.1168841683438410314843011541E-854 -> 1
+divx3079 divide 67.18750684079501575335482615780E-281 734.1168841683438410314843011541E-854 -> 9.152153872187460598958616592442E+571 Inexact Rounded
+dvix3079 divideint 67.18750684079501575335482615780E-281 734.1168841683438410314843011541E-854 -> NaN Division_impossible
+mulx3079 multiply 67.18750684079501575335482615780E-281 734.1168841683438410314843011541E-854 -> 4.932348317700372401849231767007E-1131 Inexact Rounded
+powx3079 power 67.18750684079501575335482615780E-281 7 -> 6.180444071023111300817518409550E-1955 Inexact Rounded
+remx3079 remainder 67.18750684079501575335482615780E-281 734.1168841683438410314843011541E-854 -> NaN Division_impossible
+subx3079 subtract 67.18750684079501575335482615780E-281 734.1168841683438410314843011541E-854 -> 6.718750684079501575335482615780E-280 Inexact Rounded
+addx3080 add -8739299372114.092482914139281669 507610074.7343577029345077385838 -> -8738791762039.358125211204773930 Inexact Rounded
+comx3080 compare -8739299372114.092482914139281669 507610074.7343577029345077385838 -> -1
+divx3080 divide -8739299372114.092482914139281669 507610074.7343577029345077385838 -> -17216.56012577673731612130068130 Inexact Rounded
+dvix3080 divideint -8739299372114.092482914139281669 507610074.7343577029345077385838 -> -17216
+mulx3080 multiply -8739299372114.092482914139281669 507610074.7343577029345077385838 -> -4436156407404759833857.580707024 Inexact Rounded
+powx3080 power -8739299372114.092482914139281669 507610075 -> -Infinity Overflow Inexact Rounded
+remx3080 remainder -8739299372114.092482914139281669 507610074.7343577029345077385838 -> -284325487.3902691936540542102992
+subx3080 subtract -8739299372114.092482914139281669 507610074.7343577029345077385838 -> -8739806982188.826840617073789408 Inexact Rounded
+addx3081 add 2454.002078468928665008217727731 583546039.6233842869119950982009E-147 -> 2454.002078468928665008217727731 Inexact Rounded
+comx3081 compare 2454.002078468928665008217727731 583546039.6233842869119950982009E-147 -> 1
+divx3081 divide 2454.002078468928665008217727731 583546039.6233842869119950982009E-147 -> 4.205327278123112611006652533618E+141 Inexact Rounded
+dvix3081 divideint 2454.002078468928665008217727731 583546039.6233842869119950982009E-147 -> NaN Division_impossible
+mulx3081 multiply 2454.002078468928665008217727731 583546039.6233842869119950982009E-147 -> 1.432023194118096842806010293027E-135 Inexact Rounded
+powx3081 power 2454.002078468928665008217727731 6 -> 218398452792293853786.9263054420 Inexact Rounded
+remx3081 remainder 2454.002078468928665008217727731 583546039.6233842869119950982009E-147 -> NaN Division_impossible
+subx3081 subtract 2454.002078468928665008217727731 583546039.6233842869119950982009E-147 -> 2454.002078468928665008217727731 Inexact Rounded
+addx3082 add 764578.5204849936912066033177429 64603.13571259164812609436832506 -> 829181.6561975853393326976860680 Inexact Rounded
+comx3082 compare 764578.5204849936912066033177429 64603.13571259164812609436832506 -> 1
+divx3082 divide 764578.5204849936912066033177429 64603.13571259164812609436832506 -> 11.83500633601553578851124281417 Inexact Rounded
+dvix3082 divideint 764578.5204849936912066033177429 64603.13571259164812609436832506 -> 11
+mulx3082 multiply 764578.5204849936912066033177429 64603.13571259164812609436832506 -> 49394169921.82458094138096628957 Inexact Rounded
+powx3082 power 764578.5204849936912066033177429 64603 -> Infinity Overflow Inexact Rounded
+remx3082 remainder 764578.5204849936912066033177429 64603.13571259164812609436832506 -> 53944.02764648556181956526616724
+subx3082 subtract 764578.5204849936912066033177429 64603.13571259164812609436832506 -> 699975.3847724020430805089494178 Inexact Rounded
+addx3083 add 079203.7330103777716903518367560 846388934347.6324036132959664705 -> 846389013551.3654139910676568223 Inexact Rounded
+comx3083 compare 079203.7330103777716903518367560 846388934347.6324036132959664705 -> -1
+divx3083 divide 079203.7330103777716903518367560 846388934347.6324036132959664705 -> 9.357841270860339858146471876044E-8 Inexact Rounded
+dvix3083 divideint 079203.7330103777716903518367560 846388934347.6324036132959664705 -> 0
+mulx3083 multiply 079203.7330103777716903518367560 846388934347.6324036132959664705 -> 67037163179008037.19983564789203 Inexact Rounded
+powx3083 power 079203.7330103777716903518367560 8 -> 1.548692549503356788115682996756E+39 Inexact Rounded
+remx3083 remainder 079203.7330103777716903518367560 846388934347.6324036132959664705 -> 79203.7330103777716903518367560
+subx3083 subtract 079203.7330103777716903518367560 846388934347.6324036132959664705 -> -846388855143.8993932355242761187 Inexact Rounded
+addx3084 add -4278.581514688669249247007127899E-329 5.474973992953902631890208360829 -> 5.474973992953902631890208360829 Inexact Rounded
+comx3084 compare -4278.581514688669249247007127899E-329 5.474973992953902631890208360829 -> -1
+divx3084 divide -4278.581514688669249247007127899E-329 5.474973992953902631890208360829 -> -7.814797878848469282033896969532E-327 Inexact Rounded
+dvix3084 divideint -4278.581514688669249247007127899E-329 5.474973992953902631890208360829 -> -0
+mulx3084 multiply -4278.581514688669249247007127899E-329 5.474973992953902631890208360829 -> -2.342512251965378028433584538870E-325 Inexact Rounded
+powx3084 power -4278.581514688669249247007127899E-329 5 -> -1.433834587801771244104676682986E-1627 Inexact Rounded
+remx3084 remainder -4278.581514688669249247007127899E-329 5.474973992953902631890208360829 -> -4.278581514688669249247007127899E-326
+subx3084 subtract -4278.581514688669249247007127899E-329 5.474973992953902631890208360829 -> -5.474973992953902631890208360829 Inexact Rounded
+addx3085 add 60867019.81764798845468445196869E+651 6.149612565404080501157093851895E+817 -> 6.149612565404080501157093851895E+817 Inexact Rounded
+comx3085 compare 60867019.81764798845468445196869E+651 6.149612565404080501157093851895E+817 -> -1
+divx3085 divide 60867019.81764798845468445196869E+651 6.149612565404080501157093851895E+817 -> 9.897699923417617920996187420968E-160 Inexact Rounded
+dvix3085 divideint 60867019.81764798845468445196869E+651 6.149612565404080501157093851895E+817 -> 0
+mulx3085 multiply 60867019.81764798845468445196869E+651 6.149612565404080501157093851895E+817 -> 3.743085898893072544197564013497E+1476 Inexact Rounded
+powx3085 power 60867019.81764798845468445196869E+651 6 -> 5.085014897388871736767602086646E+3952 Inexact Rounded
+remx3085 remainder 60867019.81764798845468445196869E+651 6.149612565404080501157093851895E+817 -> 6.086701981764798845468445196869E+658
+subx3085 subtract 60867019.81764798845468445196869E+651 6.149612565404080501157093851895E+817 -> -6.149612565404080501157093851895E+817 Inexact Rounded
+addx3086 add 18554417738217.62218590965803605E-382 -0894505909529.052378474618435782E+527 -> -8.945059095290523784746184357820E+538 Inexact Rounded
+comx3086 compare 18554417738217.62218590965803605E-382 -0894505909529.052378474618435782E+527 -> 1
+divx3086 divide 18554417738217.62218590965803605E-382 -0894505909529.052378474618435782E+527 -> -2.074264411286709228674841672954E-908 Inexact Rounded
+dvix3086 divideint 18554417738217.62218590965803605E-382 -0894505909529.052378474618435782E+527 -> -0
+mulx3086 multiply 18554417738217.62218590965803605E-382 -0894505909529.052378474618435782E+527 -> -1.659703631470633700884136887614E+170 Inexact Rounded
+powx3086 power 18554417738217.62218590965803605E-382 -9 -> 3.836842998295531899082688721531E+3318 Inexact Rounded
+remx3086 remainder 18554417738217.62218590965803605E-382 -0894505909529.052378474618435782E+527 -> 1.855441773821762218590965803605E-369
+subx3086 subtract 18554417738217.62218590965803605E-382 -0894505909529.052378474618435782E+527 -> 8.945059095290523784746184357820E+538 Inexact Rounded
+addx3087 add 69073355517144.36356688642213839 997784782535.6104634823627327033E+116 -> 9.977847825356104634823627327033E+127 Inexact Rounded
+comx3087 compare 69073355517144.36356688642213839 997784782535.6104634823627327033E+116 -> -1
+divx3087 divide 69073355517144.36356688642213839 997784782535.6104634823627327033E+116 -> 6.922670772910807388395384866884E-115 Inexact Rounded
+dvix3087 divideint 69073355517144.36356688642213839 997784782535.6104634823627327033E+116 -> 0
+mulx3087 multiply 69073355517144.36356688642213839 997784782535.6104634823627327033E+116 -> 6.892034301367879802693422066425E+141 Inexact Rounded
+powx3087 power 69073355517144.36356688642213839 10 -> 2.472324890841334302628435461516E+138 Inexact Rounded
+remx3087 remainder 69073355517144.36356688642213839 997784782535.6104634823627327033E+116 -> 69073355517144.36356688642213839
+subx3087 subtract 69073355517144.36356688642213839 997784782535.6104634823627327033E+116 -> -9.977847825356104634823627327033E+127 Inexact Rounded
+addx3088 add 450282259072.8657099359104277477 -1791307965314309175477911369824 -> -1791307965314309175027629110751 Inexact Rounded
+comx3088 compare 450282259072.8657099359104277477 -1791307965314309175477911369824 -> 1
+divx3088 divide 450282259072.8657099359104277477 -1791307965314309175477911369824 -> -2.513706564096350714213771006483E-19 Inexact Rounded
+dvix3088 divideint 450282259072.8657099359104277477 -1791307965314309175477911369824 -> -0
+mulx3088 multiply 450282259072.8657099359104277477 -1791307965314309175477911369824 -> -8.065941973169457071650996861677E+41 Inexact Rounded
+powx3088 power 450282259072.8657099359104277477 -2 -> 4.932082442194544671633570348838E-24 Inexact Rounded
+remx3088 remainder 450282259072.8657099359104277477 -1791307965314309175477911369824 -> 450282259072.8657099359104277477
+subx3088 subtract 450282259072.8657099359104277477 -1791307965314309175477911369824 -> 1791307965314309175928193628897 Inexact Rounded
+addx3089 add 954678411.7838149266455177850037 142988.7096204254529284334278794 -> 954821400.4934353520984462184316 Inexact Rounded
+comx3089 compare 954678411.7838149266455177850037 142988.7096204254529284334278794 -> 1
+divx3089 divide 954678411.7838149266455177850037 142988.7096204254529284334278794 -> 6676.599951968811589335427770046 Inexact Rounded
+dvix3089 divideint 954678411.7838149266455177850037 142988.7096204254529284334278794 -> 6676
+mulx3089 multiply 954678411.7838149266455177850037 142988.7096204254529284334278794 -> 136508234203444.8694879431412375 Inexact Rounded
+powx3089 power 954678411.7838149266455177850037 142989 -> Infinity Overflow Inexact Rounded
+remx3089 remainder 954678411.7838149266455177850037 142988.7096204254529284334278794 -> 85786.3578546028952962204808256
+subx3089 subtract 954678411.7838149266455177850037 142988.7096204254529284334278794 -> 954535423.0741945011925893515758 Inexact Rounded
+addx3090 add -9244530976.220812127155852389807E+557 541089.4715446858896619078627941 -> -9.244530976220812127155852389807E+566 Inexact Rounded
+comx3090 compare -9244530976.220812127155852389807E+557 541089.4715446858896619078627941 -> -1
+divx3090 divide -9244530976.220812127155852389807E+557 541089.4715446858896619078627941 -> -1.708503207395591002370649848757E+561 Inexact Rounded
+dvix3090 divideint -9244530976.220812127155852389807E+557 541089.4715446858896619078627941 -> NaN Division_impossible
+mulx3090 multiply -9244530976.220812127155852389807E+557 541089.4715446858896619078627941 -> -5.002118380601798392363043558941E+572 Inexact Rounded
+powx3090 power -9244530976.220812127155852389807E+557 541089 -> -Infinity Overflow Inexact Rounded
+remx3090 remainder -9244530976.220812127155852389807E+557 541089.4715446858896619078627941 -> NaN Division_impossible
+subx3090 subtract -9244530976.220812127155852389807E+557 541089.4715446858896619078627941 -> -9.244530976220812127155852389807E+566 Inexact Rounded
+addx3091 add -75492024.20990197005974241975449 -14760421311348.35269044633000927 -> -14760496803372.56259241638975169 Inexact Rounded
+comx3091 compare -75492024.20990197005974241975449 -14760421311348.35269044633000927 -> 1
+divx3091 divide -75492024.20990197005974241975449 -14760421311348.35269044633000927 -> 0.000005114489797920668836278344635108 Inexact Rounded
+dvix3091 divideint -75492024.20990197005974241975449 -14760421311348.35269044633000927 -> 0
+mulx3091 multiply -75492024.20990197005974241975449 -14760421311348.35269044633000927 -> 1114294082984662825831.464787487 Inexact Rounded
+powx3091 power -75492024.20990197005974241975449 -1 -> -1.324643246046162082348970735576E-8 Inexact Rounded
+remx3091 remainder -75492024.20990197005974241975449 -14760421311348.35269044633000927 -> -75492024.20990197005974241975449
+subx3091 subtract -75492024.20990197005974241975449 -14760421311348.35269044633000927 -> 14760345819324.14278847627026685 Inexact Rounded
+addx3092 add 317747.6972215715434186596178036E-452 24759763.33144824613591228097330E+092 -> 2.475976333144824613591228097330E+99 Inexact Rounded
+comx3092 compare 317747.6972215715434186596178036E-452 24759763.33144824613591228097330E+092 -> -1
+divx3092 divide 317747.6972215715434186596178036E-452 24759763.33144824613591228097330E+092 -> 1.283322837007852247594216151634E-546 Inexact Rounded
+dvix3092 divideint 317747.6972215715434186596178036E-452 24759763.33144824613591228097330E+092 -> 0
+mulx3092 multiply 317747.6972215715434186596178036E-452 24759763.33144824613591228097330E+092 -> 7.867357782318786860404997647513E-348 Inexact Rounded
+powx3092 power 317747.6972215715434186596178036E-452 2 -> 1.009635990896115043331231496209E-893 Inexact Rounded
+remx3092 remainder 317747.6972215715434186596178036E-452 24759763.33144824613591228097330E+092 -> 3.177476972215715434186596178036E-447
+subx3092 subtract 317747.6972215715434186596178036E-452 24759763.33144824613591228097330E+092 -> -2.475976333144824613591228097330E+99 Inexact Rounded
+addx3093 add -8.153334430358647134334545353427 -9.717872025814596548462854853522 -> -17.87120645617324368279740020695 Inexact Rounded
+comx3093 compare -8.153334430358647134334545353427 -9.717872025814596548462854853522 -> 1
+divx3093 divide -8.153334430358647134334545353427 -9.717872025814596548462854853522 -> 0.8390040956188859972044344532019 Inexact Rounded
+dvix3093 divideint -8.153334430358647134334545353427 -9.717872025814596548462854853522 -> 0
+mulx3093 multiply -8.153334430358647134334545353427 -9.717872025814596548462854853522 -> 79.23306057789328578902960605222 Inexact Rounded
+powx3093 power -8.153334430358647134334545353427 -10 -> 7.702778966876727056635952801162E-10 Inexact Rounded
+remx3093 remainder -8.153334430358647134334545353427 -9.717872025814596548462854853522 -> -8.153334430358647134334545353427
+subx3093 subtract -8.153334430358647134334545353427 -9.717872025814596548462854853522 -> 1.564537595455949414128309500095
+addx3094 add 7.267345197492967332320456062961E-478 5054015481833.263541189916208065 -> 5054015481833.263541189916208065 Inexact Rounded
+comx3094 compare 7.267345197492967332320456062961E-478 5054015481833.263541189916208065 -> -1
+divx3094 divide 7.267345197492967332320456062961E-478 5054015481833.263541189916208065 -> 1.437934890309606594895299558654E-490 Inexact Rounded
+dvix3094 divideint 7.267345197492967332320456062961E-478 5054015481833.263541189916208065 -> 0
+mulx3094 multiply 7.267345197492967332320456062961E-478 5054015481833.263541189916208065 -> 3.672927513995607308048737751972E-465 Inexact Rounded
+powx3094 power 7.267345197492967332320456062961E-478 5 -> 2.027117616846668568108096583897E-2386 Inexact Rounded
+remx3094 remainder 7.267345197492967332320456062961E-478 5054015481833.263541189916208065 -> 7.267345197492967332320456062961E-478
+subx3094 subtract 7.267345197492967332320456062961E-478 5054015481833.263541189916208065 -> -5054015481833.263541189916208065 Inexact Rounded
+addx3095 add -1223354029.862567054230912271171 8135774223401322785475014855625 -> 8135774223401322785473791501595 Inexact Rounded
+comx3095 compare -1223354029.862567054230912271171 8135774223401322785475014855625 -> -1
+divx3095 divide -1223354029.862567054230912271171 8135774223401322785475014855625 -> -1.503672540892020337688277553692E-22 Inexact Rounded
+dvix3095 divideint -1223354029.862567054230912271171 8135774223401322785475014855625 -> -0
+mulx3095 multiply -1223354029.862567054230912271171 8135774223401322785475014855625 -> -9.952932182250005119307429060894E+39 Inexact Rounded
+powx3095 power -1223354029.862567054230912271171 8 -> 5.016689887192830666848068841227E+72 Inexact Rounded
+remx3095 remainder -1223354029.862567054230912271171 8135774223401322785475014855625 -> -1223354029.862567054230912271171
+subx3095 subtract -1223354029.862567054230912271171 8135774223401322785475014855625 -> -8135774223401322785476238209655 Inexact Rounded
+addx3096 add 285397644111.5655679961211349982E+645 -2479499427613157519359627280704 -> 2.853976441115655679961211349982E+656 Inexact Rounded
+comx3096 compare 285397644111.5655679961211349982E+645 -2479499427613157519359627280704 -> 1
+divx3096 divide 285397644111.5655679961211349982E+645 -2479499427613157519359627280704 -> -1.151029280076495626421134733122E+626 Inexact Rounded
+dvix3096 divideint 285397644111.5655679961211349982E+645 -2479499427613157519359627280704 -> NaN Division_impossible
+mulx3096 multiply 285397644111.5655679961211349982E+645 -2479499427613157519359627280704 -> -7.076432952167704614138411740001E+686 Inexact Rounded
+powx3096 power 285397644111.5655679961211349982E+645 -2 -> 1.227719722087860401233030479451E-1313 Inexact Rounded
+remx3096 remainder 285397644111.5655679961211349982E+645 -2479499427613157519359627280704 -> NaN Division_impossible
+subx3096 subtract 285397644111.5655679961211349982E+645 -2479499427613157519359627280704 -> 2.853976441115655679961211349982E+656 Inexact Rounded
+addx3097 add -4673112.663442366293812346653429 -3429.998403142546001438238460958 -> -4676542.661845508839813784891890 Inexact Rounded
+comx3097 compare -4673112.663442366293812346653429 -3429.998403142546001438238460958 -> -1
+divx3097 divide -4673112.663442366293812346653429 -3429.998403142546001438238460958 -> 1362.424151323477505064686589716 Inexact Rounded
+dvix3097 divideint -4673112.663442366293812346653429 -3429.998403142546001438238460958 -> 1362
+mulx3097 multiply -4673112.663442366293812346653429 -3429.998403142546001438238460958 -> 16028768973.31252639476148371361 Inexact Rounded
+powx3097 power -4673112.663442366293812346653429 -3430 -> 0E-10029 Underflow Subnormal Inexact Rounded Clamped
+remx3097 remainder -4673112.663442366293812346653429 -3429.998403142546001438238460958 -> -1454.838362218639853465869604204
+subx3097 subtract -4673112.663442366293812346653429 -3429.998403142546001438238460958 -> -4669682.665039223747810908414968 Inexact Rounded
+addx3098 add 88.96492479681278079861456051103 386939.4621006514751889096510923E+139 -> 3.869394621006514751889096510923E+144 Inexact Rounded
+comx3098 compare 88.96492479681278079861456051103 386939.4621006514751889096510923E+139 -> -1
+divx3098 divide 88.96492479681278079861456051103 386939.4621006514751889096510923E+139 -> 2.299194926095985647821385937618E-143 Inexact Rounded
+dvix3098 divideint 88.96492479681278079861456051103 386939.4621006514751889096510923E+139 -> 0
+mulx3098 multiply 88.96492479681278079861456051103 386939.4621006514751889096510923E+139 -> 3.442404014670364763780946297856E+146 Inexact Rounded
+powx3098 power 88.96492479681278079861456051103 4 -> 62643391.73078290226474758858970 Inexact Rounded
+remx3098 remainder 88.96492479681278079861456051103 386939.4621006514751889096510923E+139 -> 88.96492479681278079861456051103
+subx3098 subtract 88.96492479681278079861456051103 386939.4621006514751889096510923E+139 -> -3.869394621006514751889096510923E+144 Inexact Rounded
+addx3099 add 064326846.4286437304788069444326E-942 92.23649942010862087149015091350 -> 92.23649942010862087149015091350 Inexact Rounded
+comx3099 compare 064326846.4286437304788069444326E-942 92.23649942010862087149015091350 -> -1
+divx3099 divide 064326846.4286437304788069444326E-942 92.23649942010862087149015091350 -> 6.974120530708230229344349531719E-937 Inexact Rounded
+dvix3099 divideint 064326846.4286437304788069444326E-942 92.23649942010862087149015091350 -> 0
+mulx3099 multiply 064326846.4286437304788069444326E-942 92.23649942010862087149015091350 -> 5.933283133313013755814405436342E-933 Inexact Rounded
+powx3099 power 064326846.4286437304788069444326E-942 92 -> 0E-10029 Underflow Subnormal Inexact Rounded Clamped
+remx3099 remainder 064326846.4286437304788069444326E-942 92.23649942010862087149015091350 -> 6.43268464286437304788069444326E-935
+subx3099 subtract 064326846.4286437304788069444326E-942 92.23649942010862087149015091350 -> -92.23649942010862087149015091350 Inexact Rounded
+addx3100 add 504507.0043949324433170405699360 605387.7175522955344659311072099 -> 1109894.721947227977782971677146 Inexact Rounded
+comx3100 compare 504507.0043949324433170405699360 605387.7175522955344659311072099 -> -1
+divx3100 divide 504507.0043949324433170405699360 605387.7175522955344659311072099 -> 0.8333618105678718895216067463832 Inexact Rounded
+dvix3100 divideint 504507.0043949324433170405699360 605387.7175522955344659311072099 -> 0
+mulx3100 multiply 504507.0043949324433170405699360 605387.7175522955344659311072099 -> 305422343879.7940838630401656585 Inexact Rounded
+powx3100 power 504507.0043949324433170405699360 605388 -> Infinity Overflow Inexact Rounded
+remx3100 remainder 504507.0043949324433170405699360 605387.7175522955344659311072099 -> 504507.0043949324433170405699360
+subx3100 subtract 504507.0043949324433170405699360 605387.7175522955344659311072099 -> -100880.7131573630911488905372739
+
+-- randomly generated testcases [26 Sep 2001]
+precision: 32
+rounding: half_up
+maxExponent: 9999
+
+addx3201 add 1.5283550163839789319142430253644 -1.6578158484822969520405291379492 -> -0.1294608320983180201262861125848
+comx3201 compare 1.5283550163839789319142430253644 -1.6578158484822969520405291379492 -> 1
+divx3201 divide 1.5283550163839789319142430253644 -1.6578158484822969520405291379492 -> -0.92190879812324313630282980110280 Inexact Rounded
+dvix3201 divideint 1.5283550163839789319142430253644 -1.6578158484822969520405291379492 -> -0
+mulx3201 multiply 1.5283550163839789319142430253644 -1.6578158484822969520405291379492 -> -2.5337311682687808926633910761614 Inexact Rounded
+powx3201 power 1.5283550163839789319142430253644 -2 -> 0.42810618916584924451466691603128 Inexact Rounded
+remx3201 remainder 1.5283550163839789319142430253644 -1.6578158484822969520405291379492 -> 1.5283550163839789319142430253644
+subx3201 subtract 1.5283550163839789319142430253644 -1.6578158484822969520405291379492 -> 3.1861708648662758839547721633136
+addx3202 add -622903030605.2867503937836507326 6519388607.1331855704471328795821 -> -616383641998.15356482333651785302 Inexact Rounded
+comx3202 compare -622903030605.2867503937836507326 6519388607.1331855704471328795821 -> -1
+divx3202 divide -622903030605.2867503937836507326 6519388607.1331855704471328795821 -> -95.546234185785110491676894153510 Inexact Rounded
+dvix3202 divideint -622903030605.2867503937836507326 6519388607.1331855704471328795821 -> -95
+mulx3202 multiply -622903030605.2867503937836507326 6519388607.1331855704471328795821 -> -4060946921076840449949.6988828486 Inexact Rounded
+powx3202 power -622903030605.2867503937836507326 7 -> -3.6386736597702404352813308064300E+82 Inexact Rounded
+remx3202 remainder -622903030605.2867503937836507326 6519388607.1331855704471328795821 -> -3561112927.6341212013060271723005
+subx3202 subtract -622903030605.2867503937836507326 6519388607.1331855704471328795821 -> -629422419212.41993596423078361218 Inexact Rounded
+addx3203 add -5675915.2465457487632250245209054 73913909880.381367895205086027416 -> 73908233965.134822146441861002895 Inexact Rounded
+comx3203 compare -5675915.2465457487632250245209054 73913909880.381367895205086027416 -> -1
+divx3203 divide -5675915.2465457487632250245209054 73913909880.381367895205086027416 -> -0.000076790894376056827552388054657082 Inexact Rounded
+dvix3203 divideint -5675915.2465457487632250245209054 73913909880.381367895205086027416 -> -0
+mulx3203 multiply -5675915.2465457487632250245209054 73913909880.381367895205086027416 -> -419529088021865067.23307352973589 Inexact Rounded
+powx3203 power -5675915.2465457487632250245209054 7 -> -1.8978038060207777231389234721908E+47 Inexact Rounded
+remx3203 remainder -5675915.2465457487632250245209054 73913909880.381367895205086027416 -> -5675915.2465457487632250245209054
+subx3203 subtract -5675915.2465457487632250245209054 73913909880.381367895205086027416 -> -73919585795.627913643968311051937 Inexact Rounded
+addx3204 add 97.647321172555144900685605318635 4.8620911587547548751209841570885 -> 102.50941233130989977580658947572 Inexact Rounded
+comx3204 compare 97.647321172555144900685605318635 4.8620911587547548751209841570885 -> 1
+divx3204 divide 97.647321172555144900685605318635 4.8620911587547548751209841570885 -> 20.083399916665466374741708949621 Inexact Rounded
+dvix3204 divideint 97.647321172555144900685605318635 4.8620911587547548751209841570885 -> 20
+mulx3204 multiply 97.647321172555144900685605318635 4.8620911587547548751209841570885 -> 474.77017694916635398652276042175 Inexact Rounded
+powx3204 power 97.647321172555144900685605318635 5 -> 8877724578.7935312939231828719842 Inexact Rounded
+remx3204 remainder 97.647321172555144900685605318635 4.8620911587547548751209841570885 -> 0.4054979974600473982659221768650
+subx3204 subtract 97.647321172555144900685605318635 4.8620911587547548751209841570885 -> 92.785230013800390025564621161547 Inexact Rounded
+addx3205 add -9717253267024.5380651435435603552 -2669.2539695193820424002013488480E+363 -> -2.6692539695193820424002013488480E+366 Inexact Rounded
+comx3205 compare -9717253267024.5380651435435603552 -2669.2539695193820424002013488480E+363 -> 1
+divx3205 divide -9717253267024.5380651435435603552 -2669.2539695193820424002013488480E+363 -> 3.6404378818903462695633337631098E-354 Inexact Rounded
+dvix3205 divideint -9717253267024.5380651435435603552 -2669.2539695193820424002013488480E+363 -> 0
+mulx3205 multiply -9717253267024.5380651435435603552 -2669.2539695193820424002013488480E+363 -> 2.5937816855830431899123217912144E+379 Inexact Rounded
+powx3205 power -9717253267024.5380651435435603552 -3 -> -1.0898567880085337780041328661330E-39 Inexact Rounded
+remx3205 remainder -9717253267024.5380651435435603552 -2669.2539695193820424002013488480E+363 -> -9717253267024.5380651435435603552
+subx3205 subtract -9717253267024.5380651435435603552 -2669.2539695193820424002013488480E+363 -> 2.6692539695193820424002013488480E+366 Inexact Rounded
+addx3206 add -4.0817391717190128506083001702335E-767 12772.807105920712660991033689206 -> 12772.807105920712660991033689206 Inexact Rounded
+comx3206 compare -4.0817391717190128506083001702335E-767 12772.807105920712660991033689206 -> -1
+divx3206 divide -4.0817391717190128506083001702335E-767 12772.807105920712660991033689206 -> -3.1956477052150593175206769891434E-771 Inexact Rounded
+dvix3206 divideint -4.0817391717190128506083001702335E-767 12772.807105920712660991033689206 -> -0
+mulx3206 multiply -4.0817391717190128506083001702335E-767 12772.807105920712660991033689206 -> -5.2135267097047531336100750110314E-763 Inexact Rounded
+powx3206 power -4.0817391717190128506083001702335E-767 12773 -> -0E-10030 Underflow Subnormal Inexact Rounded Clamped
+remx3206 remainder -4.0817391717190128506083001702335E-767 12772.807105920712660991033689206 -> -4.0817391717190128506083001702335E-767
+subx3206 subtract -4.0817391717190128506083001702335E-767 12772.807105920712660991033689206 -> -12772.807105920712660991033689206 Inexact Rounded
+addx3207 add 68625322655934146845003028928647 -59.634169944840280159782488098700 -> 68625322655934146845003028928587 Inexact Rounded
+comx3207 compare 68625322655934146845003028928647 -59.634169944840280159782488098700 -> 1
+divx3207 divide 68625322655934146845003028928647 -59.634169944840280159782488098700 -> -1150771826276954946844322988192.5 Inexact Rounded
+dvix3207 divideint 68625322655934146845003028928647 -59.634169944840280159782488098700 -> -1150771826276954946844322988192
+mulx3207 multiply 68625322655934146845003028928647 -59.634169944840280159782488098700 -> -4.0924141537834748501140151997778E+33 Inexact Rounded
+powx3207 power 68625322655934146845003028928647 -60 -> 6.4704731111943370171711131942603E-1911 Inexact Rounded
+remx3207 remainder 68625322655934146845003028928647 -59.634169944840280159782488098700 -> 28.201254004897257552939369449600
+subx3207 subtract 68625322655934146845003028928647 -59.634169944840280159782488098700 -> 68625322655934146845003028928707 Inexact Rounded
+addx3208 add 732515.76532049290815665856727641 -92134479835821.319619827023729829 -> -92134479103305.554299334115573170 Inexact Rounded
+comx3208 compare 732515.76532049290815665856727641 -92134479835821.319619827023729829 -> 1
+divx3208 divide 732515.76532049290815665856727641 -92134479835821.319619827023729829 -> -7.9505063318943846655593887991914E-9 Inexact Rounded
+dvix3208 divideint 732515.76532049290815665856727641 -92134479835821.319619827023729829 -> -0
+mulx3208 multiply 732515.76532049290815665856727641 -92134479835821.319619827023729829 -> -67489959009342175728.710494356322 Inexact Rounded
+powx3208 power 732515.76532049290815665856727641 -9 -> 1.6468241050443471359358016585877E-53 Inexact Rounded
+remx3208 remainder 732515.76532049290815665856727641 -92134479835821.319619827023729829 -> 732515.76532049290815665856727641
+subx3208 subtract 732515.76532049290815665856727641 -92134479835821.319619827023729829 -> 92134480568337.084940319931886488 Inexact Rounded
+addx3209 add -30.458011942978338421676454778733 -5023372024597665102336430410403E+831 -> -5.0233720245976651023364304104030E+861 Inexact Rounded
+comx3209 compare -30.458011942978338421676454778733 -5023372024597665102336430410403E+831 -> 1
+divx3209 divide -30.458011942978338421676454778733 -5023372024597665102336430410403E+831 -> 6.0632602550311410821483001305010E-861 Inexact Rounded
+dvix3209 divideint -30.458011942978338421676454778733 -5023372024597665102336430410403E+831 -> 0
+mulx3209 multiply -30.458011942978338421676454778733 -5023372024597665102336430410403E+831 -> 1.5300192511921895929031818638961E+863 Inexact Rounded
+powx3209 power -30.458011942978338421676454778733 -5 -> -3.8149797481405136042487643253109E-8 Inexact Rounded
+remx3209 remainder -30.458011942978338421676454778733 -5023372024597665102336430410403E+831 -> -30.458011942978338421676454778733
+subx3209 subtract -30.458011942978338421676454778733 -5023372024597665102336430410403E+831 -> 5.0233720245976651023364304104030E+861 Inexact Rounded
+addx3210 add -89640.094149414644660480286430462 -58703419758.800889903227509215474 -> -58703509398.895039317872169695760 Inexact Rounded
+comx3210 compare -89640.094149414644660480286430462 -58703419758.800889903227509215474 -> 1
+divx3210 divide -89640.094149414644660480286430462 -58703419758.800889903227509215474 -> 0.0000015269995260536025237167199970238 Inexact Rounded
+dvix3210 divideint -89640.094149414644660480286430462 -58703419758.800889903227509215474 -> 0
+mulx3210 multiply -89640.094149414644660480286430462 -58703419758.800889903227509215474 -> 5262180074071519.7018252171579753 Inexact Rounded
+powx3210 power -89640.094149414644660480286430462 -6 -> 1.9274635591165405888724595165741E-30 Inexact Rounded
+remx3210 remainder -89640.094149414644660480286430462 -58703419758.800889903227509215474 -> -89640.094149414644660480286430462
+subx3210 subtract -89640.094149414644660480286430462 -58703419758.800889903227509215474 -> 58703330118.706740488582848735188 Inexact Rounded
+addx3211 add 458653.1567870081810052917714259 18353106238.516235116080449814053E-038 -> 458653.15678700818100529177142590 Inexact Rounded
+comx3211 compare 458653.1567870081810052917714259 18353106238.516235116080449814053E-038 -> 1
+divx3211 divide 458653.1567870081810052917714259 18353106238.516235116080449814053E-038 -> 2.4990492117594160215641311760498E+33 Inexact Rounded
+dvix3211 divideint 458653.1567870081810052917714259 18353106238.516235116080449814053E-038 -> NaN Division_impossible
+mulx3211 multiply 458653.1567870081810052917714259 18353106238.516235116080449814053E-038 -> 8.4177101131428047497998594379593E-23 Inexact Rounded
+powx3211 power 458653.1567870081810052917714259 2 -> 210362718230.68790865117452429990 Inexact Rounded
+remx3211 remainder 458653.1567870081810052917714259 18353106238.516235116080449814053E-038 -> NaN Division_impossible
+subx3211 subtract 458653.1567870081810052917714259 18353106238.516235116080449814053E-038 -> 458653.15678700818100529177142590 Inexact Rounded
+addx3212 add 913391.42744224458216174967853722 -21051638.816432817393202262710630E+432 -> -2.1051638816432817393202262710630E+439 Inexact Rounded
+comx3212 compare 913391.42744224458216174967853722 -21051638.816432817393202262710630E+432 -> 1
+divx3212 divide 913391.42744224458216174967853722 -21051638.816432817393202262710630E+432 -> -4.3388138824102151127273259092613E-434 Inexact Rounded
+dvix3212 divideint 913391.42744224458216174967853722 -21051638.816432817393202262710630E+432 -> -0
+mulx3212 multiply 913391.42744224458216174967853722 -21051638.816432817393202262710630E+432 -> -1.9228386428540135340600836707270E+445 Inexact Rounded
+powx3212 power 913391.42744224458216174967853722 -2 -> 1.1986327439971532470297300128074E-12 Inexact Rounded
+remx3212 remainder 913391.42744224458216174967853722 -21051638.816432817393202262710630E+432 -> 913391.42744224458216174967853722
+subx3212 subtract 913391.42744224458216174967853722 -21051638.816432817393202262710630E+432 -> 2.1051638816432817393202262710630E+439 Inexact Rounded
+addx3213 add -917591456829.12109027484399536567 -28892177726858026955513438843371E+708 -> -2.8892177726858026955513438843371E+739 Inexact Rounded
+comx3213 compare -917591456829.12109027484399536567 -28892177726858026955513438843371E+708 -> 1
+divx3213 divide -917591456829.12109027484399536567 -28892177726858026955513438843371E+708 -> 3.1759165595057674196644927106447E-728 Inexact Rounded
+dvix3213 divideint -917591456829.12109027484399536567 -28892177726858026955513438843371E+708 -> 0
+mulx3213 multiply -917591456829.12109027484399536567 -28892177726858026955513438843371E+708 -> 2.6511215451353541156703914721725E+751 Inexact Rounded
+powx3213 power -917591456829.12109027484399536567 -3 -> -1.2943505591853739240003453341911E-36 Inexact Rounded
+remx3213 remainder -917591456829.12109027484399536567 -28892177726858026955513438843371E+708 -> -917591456829.12109027484399536567
+subx3213 subtract -917591456829.12109027484399536567 -28892177726858026955513438843371E+708 -> 2.8892177726858026955513438843371E+739 Inexact Rounded
+addx3214 add 34938410840645.913399699219228218 30.818220393242402846077755480548 -> 34938410840676.731620092461631064 Inexact Rounded
+comx3214 compare 34938410840645.913399699219228218 30.818220393242402846077755480548 -> 1
+divx3214 divide 34938410840645.913399699219228218 30.818220393242402846077755480548 -> 1133693327999.7879503260098666966 Inexact Rounded
+dvix3214 divideint 34938410840645.913399699219228218 30.818220393242402846077755480548 -> 1133693327999
+mulx3214 multiply 34938410840645.913399699219228218 30.818220393242402846077755480548 -> 1076739645476675.3318519289128961 Inexact Rounded
+powx3214 power 34938410840645.913399699219228218 31 -> 6.9566085958798732786509909683267E+419 Inexact Rounded
+remx3214 remainder 34938410840645.913399699219228218 30.818220393242402846077755480548 -> 24.283226805899273551376371736548
+subx3214 subtract 34938410840645.913399699219228218 30.818220393242402846077755480548 -> 34938410840615.095179305976825372 Inexact Rounded
+addx3215 add 6034.7374411022598081745006769023E-517 29771833428054709077850588904653 -> 29771833428054709077850588904653 Inexact Rounded
+comx3215 compare 6034.7374411022598081745006769023E-517 29771833428054709077850588904653 -> -1
+divx3215 divide 6034.7374411022598081745006769023E-517 29771833428054709077850588904653 -> 2.0269955680376683526099444523691E-545 Inexact Rounded
+dvix3215 divideint 6034.7374411022598081745006769023E-517 29771833428054709077850588904653 -> 0
+mulx3215 multiply 6034.7374411022598081745006769023E-517 29771833428054709077850588904653 -> 1.7966519787854159464382359411642E-482 Inexact Rounded
+powx3215 power 6034.7374411022598081745006769023E-517 3 -> 2.1977340597301840681528507640032E-1540 Inexact Rounded
+remx3215 remainder 6034.7374411022598081745006769023E-517 29771833428054709077850588904653 -> 6.0347374411022598081745006769023E-514
+subx3215 subtract 6034.7374411022598081745006769023E-517 29771833428054709077850588904653 -> -29771833428054709077850588904653 Inexact Rounded
+addx3216 add -5565747671734.1686009705574503152 -490.30899494881071282787487030303 -> -5565747672224.4775959193681631431 Inexact Rounded
+comx3216 compare -5565747671734.1686009705574503152 -490.30899494881071282787487030303 -> -1
+divx3216 divide -5565747671734.1686009705574503152 -490.30899494881071282787487030303 -> 11351510433.365074871574519756245 Inexact Rounded
+dvix3216 divideint -5565747671734.1686009705574503152 -490.30899494881071282787487030303 -> 11351510433
+mulx3216 multiply -5565747671734.1686009705574503152 -490.30899494881071282787487030303 -> 2728936147066663.4580064428639745 Inexact Rounded
+powx3216 power -5565747671734.1686009705574503152 -490 -> 4.9371745297619526113991728953197E-6246 Inexact Rounded
+remx3216 remainder -5565747671734.1686009705574503152 -490.30899494881071282787487030303 -> -178.99949336276892685183308348801
+subx3216 subtract -5565747671734.1686009705574503152 -490.30899494881071282787487030303 -> -5565747671243.8596060217467374873 Inexact Rounded
+addx3217 add 319545511.89203495546689273564728E+036 -2955943533943321899150310192061 -> 3.1954551189203199952335879232538E+44 Inexact Rounded
+comx3217 compare 319545511.89203495546689273564728E+036 -2955943533943321899150310192061 -> 1
+divx3217 divide 319545511.89203495546689273564728E+036 -2955943533943321899150310192061 -> -108102711781422.68663084859902931 Inexact Rounded
+dvix3217 divideint 319545511.89203495546689273564728E+036 -2955943533943321899150310192061 -> -108102711781422
+mulx3217 multiply 319545511.89203495546689273564728E+036 -2955943533943321899150310192061 -> -9.4455848967786959996525702197139E+74 Inexact Rounded
+powx3217 power 319545511.89203495546689273564728E+036 -3 -> 3.0647978448946294457985223953472E-134 Inexact Rounded
+remx3217 remainder 319545511.89203495546689273564728E+036 -2955943533943321899150310192061 -> 2029642017122316721531728309258
+subx3217 subtract 319545511.89203495546689273564728E+036 -2955943533943321899150310192061 -> 3.1954551189203791141042667896918E+44 Inexact Rounded
+addx3218 add -36852134.84194296250843579428931 -5830629.8347085025808716360357940 -> -42682764.676651465089307430325104 Rounded
+comx3218 compare -36852134.84194296250843579428931 -5830629.8347085025808716360357940 -> -1
+divx3218 divide -36852134.84194296250843579428931 -5830629.8347085025808716360357940 -> 6.3204380807318655475459047410160 Inexact Rounded
+dvix3218 divideint -36852134.84194296250843579428931 -5830629.8347085025808716360357940 -> 6
+mulx3218 multiply -36852134.84194296250843579428931 -5830629.8347085025808716360357940 -> 214871156882133.34437417534873098 Inexact Rounded
+powx3218 power -36852134.84194296250843579428931 -5830630 -> 0E-10030 Underflow Subnormal Inexact Rounded Clamped
+remx3218 remainder -36852134.84194296250843579428931 -5830629.8347085025808716360357940 -> -1868355.8336919470232059780745460
+subx3218 subtract -36852134.84194296250843579428931 -5830629.8347085025808716360357940 -> -31021505.007234459927564158253516 Rounded
+addx3219 add 8.6021905001798578659275880018221E-374 -39505285344943.729681835377530908 -> -39505285344943.729681835377530908 Inexact Rounded
+comx3219 compare 8.6021905001798578659275880018221E-374 -39505285344943.729681835377530908 -> 1
+divx3219 divide 8.6021905001798578659275880018221E-374 -39505285344943.729681835377530908 -> -2.1774783867700502002511486885272E-387 Inexact Rounded
+dvix3219 divideint 8.6021905001798578659275880018221E-374 -39505285344943.729681835377530908 -> -0
+mulx3219 multiply 8.6021905001798578659275880018221E-374 -39505285344943.729681835377530908 -> -3.3983199030116951081865430362053E-360 Inexact Rounded
+powx3219 power 8.6021905001798578659275880018221E-374 -4 -> 1.8262649155820433126240754123257E+1492 Inexact Rounded
+remx3219 remainder 8.6021905001798578659275880018221E-374 -39505285344943.729681835377530908 -> 8.6021905001798578659275880018221E-374
+subx3219 subtract 8.6021905001798578659275880018221E-374 -39505285344943.729681835377530908 -> 39505285344943.729681835377530908 Inexact Rounded
+addx3220 add -54863165.152174109720312887805017 736.1398476560169141105328256628 -> -54862429.012326453703398777272191 Inexact Rounded
+comx3220 compare -54863165.152174109720312887805017 736.1398476560169141105328256628 -> -1
+divx3220 divide -54863165.152174109720312887805017 736.1398476560169141105328256628 -> -74528.182826764384088602813142847 Inexact Rounded
+dvix3220 divideint -54863165.152174109720312887805017 736.1398476560169141105328256628 -> -74528
+mulx3220 multiply -54863165.152174109720312887805017 736.1398476560169141105328256628 -> -40386962037.048345148338122539405 Inexact Rounded
+powx3220 power -54863165.152174109720312887805017 736 -> 1.2903643981679111625370174573639E+5696 Inexact Rounded
+remx3220 remainder -54863165.152174109720312887805017 736.1398476560169141105328256628 -> -134.5860664811454830973740198416
+subx3220 subtract -54863165.152174109720312887805017 736.1398476560169141105328256628 -> -54863901.292021765737226998337843 Inexact Rounded
+addx3221 add -3263743464517851012531708810307 2457206.2471248382136273643208109 -> -3263743464517851012531706353100.8 Inexact Rounded
+comx3221 compare -3263743464517851012531708810307 2457206.2471248382136273643208109 -> -1
+divx3221 divide -3263743464517851012531708810307 2457206.2471248382136273643208109 -> -1328233422952076975055082.5768082 Inexact Rounded
+dvix3221 divideint -3263743464517851012531708810307 2457206.2471248382136273643208109 -> -1328233422952076975055082
+mulx3221 multiply -3263743464517851012531708810307 2457206.2471248382136273643208109 -> -8.0196908300261262548565838031943E+36 Inexact Rounded
+powx3221 power -3263743464517851012531708810307 2457206 -> Infinity Overflow Inexact Rounded
+remx3221 remainder -3263743464517851012531708810307 2457206.2471248382136273643208109 -> -1417336.7573398366062994535940062
+subx3221 subtract -3263743464517851012531708810307 2457206.2471248382136273643208109 -> -3263743464517851012531711267513.2 Inexact Rounded
+addx3222 add 2856586744.0548637797291151154902E-895 953545637646.57694835860339582821E+080 -> 9.5354563764657694835860339582821E+91 Inexact Rounded
+comx3222 compare 2856586744.0548637797291151154902E-895 953545637646.57694835860339582821E+080 -> -1
+divx3222 divide 2856586744.0548637797291151154902E-895 953545637646.57694835860339582821E+080 -> 2.9957525170007980008712828968300E-978 Inexact Rounded
+dvix3222 divideint 2856586744.0548637797291151154902E-895 953545637646.57694835860339582821E+080 -> 0
+mulx3222 multiply 2856586744.0548637797291151154902E-895 953545637646.57694835860339582821E+080 -> 2.7238858283525541854826594343954E-794 Inexact Rounded
+powx3222 power 2856586744.0548637797291151154902E-895 10 -> 3.6180466753307072256807593988336E-8856 Inexact Rounded
+remx3222 remainder 2856586744.0548637797291151154902E-895 953545637646.57694835860339582821E+080 -> 2.8565867440548637797291151154902E-886
+subx3222 subtract 2856586744.0548637797291151154902E-895 953545637646.57694835860339582821E+080 -> -9.5354563764657694835860339582821E+91 Inexact Rounded
+addx3223 add 5624157233.3433661009203529937625 626098409265.93738586750090160638 -> 631722566499.28075196842125460014 Inexact Rounded
+comx3223 compare 5624157233.3433661009203529937625 626098409265.93738586750090160638 -> -1
+divx3223 divide 5624157233.3433661009203529937625 626098409265.93738586750090160638 -> 0.0089828645946207580492752544218316 Inexact Rounded
+dvix3223 divideint 5624157233.3433661009203529937625 626098409265.93738586750090160638 -> 0
+mulx3223 multiply 5624157233.3433661009203529937625 626098409265.93738586750090160638 -> 3521275897257796938833.8975037909 Inexact Rounded
+powx3223 power 5624157233.3433661009203529937625 6 -> 3.1647887196303262540158328459030E+58 Inexact Rounded
+remx3223 remainder 5624157233.3433661009203529937625 626098409265.93738586750090160638 -> 5624157233.3433661009203529937625
+subx3223 subtract 5624157233.3433661009203529937625 626098409265.93738586750090160638 -> -620474252032.59401976658054861262 Inexact Rounded
+addx3224 add -213499362.91476998701834067092611 419272438.02555757699863022643444 -> 205773075.11078758998028955550833
+comx3224 compare -213499362.91476998701834067092611 419272438.02555757699863022643444 -> -1
+divx3224 divide -213499362.91476998701834067092611 419272438.02555757699863022643444 -> -0.50921392286166855779828061147786 Inexact Rounded
+dvix3224 divideint -213499362.91476998701834067092611 419272438.02555757699863022643444 -> -0
+mulx3224 multiply -213499362.91476998701834067092611 419272438.02555757699863022643444 -> -89514398406178925.073260776410672 Inexact Rounded
+powx3224 power -213499362.91476998701834067092611 419272438 -> Infinity Overflow Inexact Rounded
+remx3224 remainder -213499362.91476998701834067092611 419272438.02555757699863022643444 -> -213499362.91476998701834067092611
+subx3224 subtract -213499362.91476998701834067092611 419272438.02555757699863022643444 -> -632771800.94032756401697089736055
+addx3225 add 30269.587755640502150977251770554 4.8046009735990873395936309640543 -> 30274.392356614101238316845401518 Inexact Rounded
+comx3225 compare 30269.587755640502150977251770554 4.8046009735990873395936309640543 -> 1
+divx3225 divide 30269.587755640502150977251770554 4.8046009735990873395936309640543 -> 6300.1252178837655359831527173832 Inexact Rounded
+dvix3225 divideint 30269.587755640502150977251770554 4.8046009735990873395936309640543 -> 6300
+mulx3225 multiply 30269.587755640502150977251770554 4.8046009735990873395936309640543 -> 145433.29080119336967191651199283 Inexact Rounded
+powx3225 power 30269.587755640502150977251770554 5 -> 25411630481547464128383.220368208 Inexact Rounded
+remx3225 remainder 30269.587755640502150977251770554 4.8046009735990873395936309640543 -> 0.6016219662519115373766970119100
+subx3225 subtract 30269.587755640502150977251770554 4.8046009735990873395936309640543 -> 30264.783154666903063637658139590 Inexact Rounded
+addx3226 add 47.525676459351505682005359699680E+704 -58631943508436657383369760970210 -> 4.7525676459351505682005359699680E+705 Inexact Rounded
+comx3226 compare 47.525676459351505682005359699680E+704 -58631943508436657383369760970210 -> 1
+divx3226 divide 47.525676459351505682005359699680E+704 -58631943508436657383369760970210 -> -8.1057651538555854520994438038537E+673 Inexact Rounded
+dvix3226 divideint 47.525676459351505682005359699680E+704 -58631943508436657383369760970210 -> NaN Division_impossible
+mulx3226 multiply 47.525676459351505682005359699680E+704 -58631943508436657383369760970210 -> -2.7865227773649353769876975366506E+737 Inexact Rounded
+powx3226 power 47.525676459351505682005359699680E+704 -6 -> 8.6782100393941226535150385475463E-4235 Inexact Rounded
+remx3226 remainder 47.525676459351505682005359699680E+704 -58631943508436657383369760970210 -> NaN Division_impossible
+subx3226 subtract 47.525676459351505682005359699680E+704 -58631943508436657383369760970210 -> 4.7525676459351505682005359699680E+705 Inexact Rounded
+addx3227 add -74396862273800.625679130772935550 -115616605.52826981284183992013157 -> -74396977890406.153948943614775470 Inexact Rounded
+comx3227 compare -74396862273800.625679130772935550 -115616605.52826981284183992013157 -> -1
+divx3227 divide -74396862273800.625679130772935550 -115616605.52826981284183992013157 -> 643479.03948459716424778005613112 Inexact Rounded
+dvix3227 divideint -74396862273800.625679130772935550 -115616605.52826981284183992013157 -> 643479
+mulx3227 multiply -74396862273800.625679130772935550 -115616605.52826981284183992013157 -> 8601512678051025297297.7169654467 Inexact Rounded
+powx3227 power -74396862273800.625679130772935550 -115616606 -> 0E-10030 Underflow Subnormal Inexact Rounded Clamped
+remx3227 remainder -74396862273800.625679130772935550 -115616605.52826981284183992013157 -> -4565075.09478147646296920746797
+subx3227 subtract -74396862273800.625679130772935550 -115616605.52826981284183992013157 -> -74396746657195.097409317931095630 Inexact Rounded
+addx3228 add 67585560.562561229497720955705979 826.96290288608566737177503451613 -> 67586387.525464115583388327481014 Inexact Rounded
+comx3228 compare 67585560.562561229497720955705979 826.96290288608566737177503451613 -> 1
+divx3228 divide 67585560.562561229497720955705979 826.96290288608566737177503451613 -> 81727.439437354248789852715586510 Inexact Rounded
+dvix3228 divideint 67585560.562561229497720955705979 826.96290288608566737177503451613 -> 81727
+mulx3228 multiply 67585560.562561229497720955705979 826.96290288608566737177503451613 -> 55890751355.998983433895910295596 Inexact Rounded
+powx3228 power 67585560.562561229497720955705979 827 -> 1.9462204583352191108781197788255E+6475 Inexact Rounded
+remx3228 remainder 67585560.562561229497720955705979 826.96290288608566737177503451613 -> 363.39839010616042789746007924349
+subx3228 subtract 67585560.562561229497720955705979 826.96290288608566737177503451613 -> 67584733.599658343412053583930944 Inexact Rounded
+addx3229 add 6877386868.9498051860742298735156E-232 390.3154289860643509393769754551 -> 390.31542898606435093937697545510 Inexact Rounded
+comx3229 compare 6877386868.9498051860742298735156E-232 390.3154289860643509393769754551 -> -1
+divx3229 divide 6877386868.9498051860742298735156E-232 390.3154289860643509393769754551 -> 1.7620074325054038174571564409871E-225 Inexact Rounded
+dvix3229 divideint 6877386868.9498051860742298735156E-232 390.3154289860643509393769754551 -> 0
+mulx3229 multiply 6877386868.9498051860742298735156E-232 390.3154289860643509393769754551 -> 2.6843502060572691408091663822732E-220 Inexact Rounded
+powx3229 power 6877386868.9498051860742298735156E-232 390 -> 0E-10030 Underflow Subnormal Inexact Rounded Clamped
+remx3229 remainder 6877386868.9498051860742298735156E-232 390.3154289860643509393769754551 -> 6.8773868689498051860742298735156E-223
+subx3229 subtract 6877386868.9498051860742298735156E-232 390.3154289860643509393769754551 -> -390.31542898606435093937697545510 Inexact Rounded
+addx3230 add -1647335.201144609256134925838937 -186654823782.50459802235024230856 -> -186656471117.70574263160637723440 Inexact Rounded
+comx3230 compare -1647335.201144609256134925838937 -186654823782.50459802235024230856 -> 1
+divx3230 divide -1647335.201144609256134925838937 -186654823782.50459802235024230856 -> 0.0000088255699357876233458660331146583 Inexact Rounded
+dvix3230 divideint -1647335.201144609256134925838937 -186654823782.50459802235024230856 -> 0
+mulx3230 multiply -1647335.201144609256134925838937 -186654823782.50459802235024230856 -> 307483061680363807.48775619333285 Inexact Rounded
+powx3230 power -1647335.201144609256134925838937 -2 -> 3.6849876990439502152784389237891E-13 Inexact Rounded
+remx3230 remainder -1647335.201144609256134925838937 -186654823782.50459802235024230856 -> -1647335.201144609256134925838937
+subx3230 subtract -1647335.201144609256134925838937 -186654823782.50459802235024230856 -> 186653176447.30345341309410738272 Inexact Rounded
+addx3231 add 41407818140948.866630923934138155 -5156.7624534000311342310106671627E-963 -> 41407818140948.866630923934138155 Inexact Rounded
+comx3231 compare 41407818140948.866630923934138155 -5156.7624534000311342310106671627E-963 -> 1
+divx3231 divide 41407818140948.866630923934138155 -5156.7624534000311342310106671627E-963 -> -8.0298091128179204076796507697517E+972 Inexact Rounded
+dvix3231 divideint 41407818140948.866630923934138155 -5156.7624534000311342310106671627E-963 -> NaN Division_impossible
+mulx3231 multiply 41407818140948.866630923934138155 -5156.7624534000311342310106671627E-963 -> -2.1353028186646179369220834691156E-946 Inexact Rounded
+powx3231 power 41407818140948.866630923934138155 -5 -> 8.2146348556648547525693528004081E-69 Inexact Rounded
+remx3231 remainder 41407818140948.866630923934138155 -5156.7624534000311342310106671627E-963 -> NaN Division_impossible
+subx3231 subtract 41407818140948.866630923934138155 -5156.7624534000311342310106671627E-963 -> 41407818140948.866630923934138155 Inexact Rounded
+addx3232 add -6.6547424012516834662011706165297 -574454585580.06215974139884746441 -> -574454585586.71690214265053093061 Inexact Rounded
+comx3232 compare -6.6547424012516834662011706165297 -574454585580.06215974139884746441 -> 1
+divx3232 divide -6.6547424012516834662011706165297 -574454585580.06215974139884746441 -> 1.1584453442097568745411568037078E-11 Inexact Rounded
+dvix3232 divideint -6.6547424012516834662011706165297 -574454585580.06215974139884746441 -> 0
+mulx3232 multiply -6.6547424012516834662011706165297 -574454585580.06215974139884746441 -> 3822847288253.1035559206691532826 Inexact Rounded
+powx3232 power -6.6547424012516834662011706165297 -6 -> 0.000011513636283388791488128239232906 Inexact Rounded
+remx3232 remainder -6.6547424012516834662011706165297 -574454585580.06215974139884746441 -> -6.6547424012516834662011706165297
+subx3232 subtract -6.6547424012516834662011706165297 -574454585580.06215974139884746441 -> 574454585573.40741734014716399821 Inexact Rounded
+addx3233 add -27627.758745381267780885067447671 -23385972189441.709586433758111062 -> -23385972217069.468331815025891947 Inexact Rounded
+comx3233 compare -27627.758745381267780885067447671 -23385972189441.709586433758111062 -> 1
+divx3233 divide -27627.758745381267780885067447671 -23385972189441.709586433758111062 -> 1.1813816642548920194709898111624E-9 Inexact Rounded
+dvix3233 divideint -27627.758745381267780885067447671 -23385972189441.709586433758111062 -> 0
+mulx3233 multiply -27627.758745381267780885067447671 -23385972189441.709586433758111062 -> 646101997676091306.41485393678655 Inexact Rounded
+powx3233 power -27627.758745381267780885067447671 -2 -> 1.3101128009560812529198521922269E-9 Inexact Rounded
+remx3233 remainder -27627.758745381267780885067447671 -23385972189441.709586433758111062 -> -27627.758745381267780885067447671
+subx3233 subtract -27627.758745381267780885067447671 -23385972189441.709586433758111062 -> 23385972161813.950841052490330177 Inexact Rounded
+addx3234 add 209819.74379099914752963711944307E-228 -440230.6700989532467831370320266E-960 -> 2.0981974379099914752963711944307E-223 Inexact Rounded
+comx3234 compare 209819.74379099914752963711944307E-228 -440230.6700989532467831370320266E-960 -> 1
+divx3234 divide 209819.74379099914752963711944307E-228 -440230.6700989532467831370320266E-960 -> -4.7661318949867060595545765053187E+731 Inexact Rounded
+dvix3234 divideint 209819.74379099914752963711944307E-228 -440230.6700989532467831370320266E-960 -> NaN Division_impossible
+mulx3234 multiply 209819.74379099914752963711944307E-228 -440230.6700989532467831370320266E-960 -> -9.2369086409102239573726316593648E-1178 Inexact Rounded
+powx3234 power 209819.74379099914752963711944307E-228 -4 -> 5.1595828494111690910650919776705E+890 Inexact Rounded
+remx3234 remainder 209819.74379099914752963711944307E-228 -440230.6700989532467831370320266E-960 -> NaN Division_impossible
+subx3234 subtract 209819.74379099914752963711944307E-228 -440230.6700989532467831370320266E-960 -> 2.0981974379099914752963711944307E-223 Inexact Rounded
+addx3235 add 2.3488457600415474270259330865184 9182434.6660212482500376220508605E-612 -> 2.3488457600415474270259330865184 Inexact Rounded
+comx3235 compare 2.3488457600415474270259330865184 9182434.6660212482500376220508605E-612 -> 1
+divx3235 divide 2.3488457600415474270259330865184 9182434.6660212482500376220508605E-612 -> 2.5579771002708402753412266574941E+605 Inexact Rounded
+dvix3235 divideint 2.3488457600415474270259330865184 9182434.6660212482500376220508605E-612 -> NaN Division_impossible
+mulx3235 multiply 2.3488457600415474270259330865184 9182434.6660212482500376220508605E-612 -> 2.1568122732142531556215204459407E-605 Inexact Rounded
+powx3235 power 2.3488457600415474270259330865184 9 -> 2176.1583446147511579113022622255 Inexact Rounded
+remx3235 remainder 2.3488457600415474270259330865184 9182434.6660212482500376220508605E-612 -> NaN Division_impossible
+subx3235 subtract 2.3488457600415474270259330865184 9182434.6660212482500376220508605E-612 -> 2.3488457600415474270259330865184 Inexact Rounded
+addx3236 add -5107586300197.9703941034404557409 56609.05486055057838678039496686E-768 -> -5107586300197.9703941034404557409 Inexact Rounded
+comx3236 compare -5107586300197.9703941034404557409 56609.05486055057838678039496686E-768 -> -1
+divx3236 divide -5107586300197.9703941034404557409 56609.05486055057838678039496686E-768 -> -9.0225606358909877855326357402242E+775 Inexact Rounded
+dvix3236 divideint -5107586300197.9703941034404557409 56609.05486055057838678039496686E-768 -> NaN Division_impossible
+mulx3236 multiply -5107586300197.9703941034404557409 56609.05486055057838678039496686E-768 -> -2.8913563307290346152596212593532E-751 Inexact Rounded
+powx3236 power -5107586300197.9703941034404557409 6 -> 1.7753920894188022125919559565029E+76 Inexact Rounded
+remx3236 remainder -5107586300197.9703941034404557409 56609.05486055057838678039496686E-768 -> NaN Division_impossible
+subx3236 subtract -5107586300197.9703941034404557409 56609.05486055057838678039496686E-768 -> -5107586300197.9703941034404557409 Inexact Rounded
+addx3237 add -70454070095869.70717871212601390 -6200178.370249260009168888392406 -> -70454076296048.077427972135182788 Inexact Rounded
+comx3237 compare -70454070095869.70717871212601390 -6200178.370249260009168888392406 -> -1
+divx3237 divide -70454070095869.70717871212601390 -6200178.370249260009168888392406 -> 11363232.779549422490548997517194 Inexact Rounded
+dvix3237 divideint -70454070095869.70717871212601390 -6200178.370249260009168888392406 -> 11363232
+mulx3237 multiply -70454070095869.70717871212601390 -6200178.370249260009168888392406 -> 436827801504436566945.76663687924 Inexact Rounded
+powx3237 power -70454070095869.70717871212601390 -6200178 -> 0E-10030 Underflow Subnormal Inexact Rounded Clamped
+remx3237 remainder -70454070095869.70717871212601390 -6200178.370249260009168888392406 -> -4833345.467866203920028883583808
+subx3237 subtract -70454070095869.70717871212601390 -6200178.370249260009168888392406 -> -70454063895691.336929452116845012 Inexact Rounded
+addx3238 add 29119.220621511046558757900645228 3517612.8810761470018676311863010E-222 -> 29119.220621511046558757900645228 Inexact Rounded
+comx3238 compare 29119.220621511046558757900645228 3517612.8810761470018676311863010E-222 -> 1
+divx3238 divide 29119.220621511046558757900645228 3517612.8810761470018676311863010E-222 -> 8.2781197380089684063239752337467E+219 Inexact Rounded
+dvix3238 divideint 29119.220621511046558757900645228 3517612.8810761470018676311863010E-222 -> NaN Division_impossible
+mulx3238 multiply 29119.220621511046558757900645228 3517612.8810761470018676311863010E-222 -> 1.0243014554512542440592768088600E-211 Inexact Rounded
+powx3238 power 29119.220621511046558757900645228 4 -> 718983605328417461.32835984217255 Inexact Rounded
+remx3238 remainder 29119.220621511046558757900645228 3517612.8810761470018676311863010E-222 -> NaN Division_impossible
+subx3238 subtract 29119.220621511046558757900645228 3517612.8810761470018676311863010E-222 -> 29119.220621511046558757900645228 Inexact Rounded
+addx3239 add -5168.2214111091132913776042214525 -5690274.0971173476527123568627720 -> -5695442.3185284567660037344669935 Inexact Rounded
+comx3239 compare -5168.2214111091132913776042214525 -5690274.0971173476527123568627720 -> 1
+divx3239 divide -5168.2214111091132913776042214525 -5690274.0971173476527123568627720 -> 0.00090825526554639915580539316714451 Inexact Rounded
+dvix3239 divideint -5168.2214111091132913776042214525 -5690274.0971173476527123568627720 -> 0
+mulx3239 multiply -5168.2214111091132913776042214525 -5690274.0971173476527123568627720 -> 29408596423.801454053855793898323 Inexact Rounded
+powx3239 power -5168.2214111091132913776042214525 -5690274 -> 0E-10030 Underflow Subnormal Inexact Rounded Clamped
+remx3239 remainder -5168.2214111091132913776042214525 -5690274.0971173476527123568627720 -> -5168.2214111091132913776042214525
+subx3239 subtract -5168.2214111091132913776042214525 -5690274.0971173476527123568627720 -> 5685105.8757062385394209792585505 Inexact Rounded
+addx3240 add 33783.060857197067391462144517964 -2070.0806959465088198508322815406 -> 31712.980161250558571611312236423 Inexact Rounded
+comx3240 compare 33783.060857197067391462144517964 -2070.0806959465088198508322815406 -> 1
+divx3240 divide 33783.060857197067391462144517964 -2070.0806959465088198508322815406 -> -16.319683055519892881394358449220 Inexact Rounded
+dvix3240 divideint 33783.060857197067391462144517964 -2070.0806959465088198508322815406 -> -16
+mulx3240 multiply 33783.060857197067391462144517964 -2070.0806959465088198508322815406 -> -69933662.130469766080574235843448 Inexact Rounded
+powx3240 power 33783.060857197067391462144517964 -2070 -> 3.9181336001803008597293818984406E-9375 Inexact Rounded
+remx3240 remainder 33783.060857197067391462144517964 -2070.0806959465088198508322815406 -> 661.7697220529262738488280133144
+subx3240 subtract 33783.060857197067391462144517964 -2070.0806959465088198508322815406 -> 35853.141553143576211312976799505 Inexact Rounded
+addx3241 add 42207435091050.840296353874733169E-905 73330633078.828216018536326743325E+976 -> 7.3330633078828216018536326743325E+986 Inexact Rounded
+comx3241 compare 42207435091050.840296353874733169E-905 73330633078.828216018536326743325E+976 -> -1
+divx3241 divide 42207435091050.840296353874733169E-905 73330633078.828216018536326743325E+976 -> 5.7557712676064206636178247554056E-1879 Inexact Rounded
+dvix3241 divideint 42207435091050.840296353874733169E-905 73330633078.828216018536326743325E+976 -> 0
+mulx3241 multiply 42207435091050.840296353874733169E-905 73330633078.828216018536326743325E+976 -> 3.0950979358603075650592433398939E+95 Inexact Rounded
+powx3241 power 42207435091050.840296353874733169E-905 7 -> 2.3862872940615283599573082966642E-6240 Inexact Rounded
+remx3241 remainder 42207435091050.840296353874733169E-905 73330633078.828216018536326743325E+976 -> 4.2207435091050840296353874733169E-892
+subx3241 subtract 42207435091050.840296353874733169E-905 73330633078.828216018536326743325E+976 -> -7.3330633078828216018536326743325E+986 Inexact Rounded
+addx3242 add -71800.806700868784841045406679641 -39617456964250697902519150526701 -> -39617456964250697902519150598502 Inexact Rounded
+comx3242 compare -71800.806700868784841045406679641 -39617456964250697902519150526701 -> 1
+divx3242 divide -71800.806700868784841045406679641 -39617456964250697902519150526701 -> 1.8123527405017220178579049964126E-27 Inexact Rounded
+dvix3242 divideint -71800.806700868784841045406679641 -39617456964250697902519150526701 -> 0
+mulx3242 multiply -71800.806700868784841045406679641 -39617456964250697902519150526701 -> 2.8445653694701522164901827524538E+36 Inexact Rounded
+powx3242 power -71800.806700868784841045406679641 -4 -> 3.7625536850895480882178599428774E-20 Inexact Rounded
+remx3242 remainder -71800.806700868784841045406679641 -39617456964250697902519150526701 -> -71800.806700868784841045406679641
+subx3242 subtract -71800.806700868784841045406679641 -39617456964250697902519150526701 -> 39617456964250697902519150454900 Inexact Rounded
+addx3243 add 53627480801.631504892310016062160 328259.56947661049313311983109503 -> 53627809061.200981502803149181991 Inexact Rounded
+comx3243 compare 53627480801.631504892310016062160 328259.56947661049313311983109503 -> 1
+divx3243 divide 53627480801.631504892310016062160 328259.56947661049313311983109503 -> 163369.13159039717901500465109839 Inexact Rounded
+dvix3243 divideint 53627480801.631504892310016062160 328259.56947661049313311983109503 -> 163369
+mulx3243 multiply 53627480801.631504892310016062160 328259.56947661049313311983109503 -> 17603733760058752.363123585224369 Inexact Rounded
+powx3243 power 53627480801.631504892310016062160 328260 -> Infinity Overflow Inexact Rounded
+remx3243 remainder 53627480801.631504892310016062160 328259.56947661049313311983109503 -> 43195.80712523964536237599604393
+subx3243 subtract 53627480801.631504892310016062160 328259.56947661049313311983109503 -> 53627152542.062028281816882942329 Inexact Rounded
+addx3244 add -5052601598.5559371338428368438728 -97855372.224321664785314782556064 -> -5150456970.7802587986281516264289 Inexact Rounded
+comx3244 compare -5052601598.5559371338428368438728 -97855372.224321664785314782556064 -> -1
+divx3244 divide -5052601598.5559371338428368438728 -97855372.224321664785314782556064 -> 51.633359351732432283879274192947 Inexact Rounded
+dvix3244 divideint -5052601598.5559371338428368438728 -97855372.224321664785314782556064 -> 51
+mulx3244 multiply -5052601598.5559371338428368438728 -97855372.224321664785314782556064 -> 494424210127893893.12581512954787 Inexact Rounded
+powx3244 power -5052601598.5559371338428368438728 -97855372 -> 0E-10030 Underflow Subnormal Inexact Rounded Clamped
+remx3244 remainder -5052601598.5559371338428368438728 -97855372.224321664785314782556064 -> -61977615.115532229791782933513536
+subx3244 subtract -5052601598.5559371338428368438728 -97855372.224321664785314782556064 -> -4954746226.3316154690575220613167 Inexact Rounded
+addx3245 add 4208134320733.7069742988228068191E+146 4270869.1760149477598920960628392E+471 -> 4.2708691760149477598920960628392E+477 Inexact Rounded
+comx3245 compare 4208134320733.7069742988228068191E+146 4270869.1760149477598920960628392E+471 -> -1
+divx3245 divide 4208134320733.7069742988228068191E+146 4270869.1760149477598920960628392E+471 -> 9.8531098643021951048744078027283E-320 Inexact Rounded
+dvix3245 divideint 4208134320733.7069742988228068191E+146 4270869.1760149477598920960628392E+471 -> 0
+mulx3245 multiply 4208134320733.7069742988228068191E+146 4270869.1760149477598920960628392E+471 -> 1.7972391158952189002169082753183E+636 Inexact Rounded
+powx3245 power 4208134320733.7069742988228068191E+146 4 -> 3.1358723439830872127129821963857E+634 Inexact Rounded
+remx3245 remainder 4208134320733.7069742988228068191E+146 4270869.1760149477598920960628392E+471 -> 4.2081343207337069742988228068191E+158
+subx3245 subtract 4208134320733.7069742988228068191E+146 4270869.1760149477598920960628392E+471 -> -4.2708691760149477598920960628392E+477 Inexact Rounded
+addx3246 add -8.5077009657942581515590471189084E+308 9652145155.374217047842114042376E-250 -> -8.5077009657942581515590471189084E+308 Inexact Rounded
+comx3246 compare -8.5077009657942581515590471189084E+308 9652145155.374217047842114042376E-250 -> -1
+divx3246 divide -8.5077009657942581515590471189084E+308 9652145155.374217047842114042376E-250 -> -8.8143110457236089978070419047970E+548 Inexact Rounded
+dvix3246 divideint -8.5077009657942581515590471189084E+308 9652145155.374217047842114042376E-250 -> NaN Division_impossible
+mulx3246 multiply -8.5077009657942581515590471189084E+308 9652145155.374217047842114042376E-250 -> -8.2117564660363596283732942091852E+68 Inexact Rounded
+powx3246 power -8.5077009657942581515590471189084E+308 10 -> 1.9866536812573207868350640760678E+3089 Inexact Rounded
+remx3246 remainder -8.5077009657942581515590471189084E+308 9652145155.374217047842114042376E-250 -> NaN Division_impossible
+subx3246 subtract -8.5077009657942581515590471189084E+308 9652145155.374217047842114042376E-250 -> -8.5077009657942581515590471189084E+308 Inexact Rounded
+addx3247 add -9504.9703032286960790904181078063E+619 -86.245956949049186533469206485003 -> -9.5049703032286960790904181078063E+622 Inexact Rounded
+comx3247 compare -9504.9703032286960790904181078063E+619 -86.245956949049186533469206485003 -> -1
+divx3247 divide -9504.9703032286960790904181078063E+619 -86.245956949049186533469206485003 -> 1.1020772033225707125391212519421E+621 Inexact Rounded
+dvix3247 divideint -9504.9703032286960790904181078063E+619 -86.245956949049186533469206485003 -> NaN Division_impossible
+mulx3247 multiply -9504.9703032286960790904181078063E+619 -86.245956949049186533469206485003 -> 8.1976525957425311427858087117655E+624 Inexact Rounded
+powx3247 power -9504.9703032286960790904181078063E+619 -86 -> 0E-10030 Underflow Subnormal Inexact Rounded Clamped
+remx3247 remainder -9504.9703032286960790904181078063E+619 -86.245956949049186533469206485003 -> NaN Division_impossible
+subx3247 subtract -9504.9703032286960790904181078063E+619 -86.245956949049186533469206485003 -> -9.5049703032286960790904181078063E+622 Inexact Rounded
+addx3248 add -440220916.66716743026896931194749 -102725.01594377871560564824358775 -> -440323641.68311120898457496019108 Inexact Rounded
+comx3248 compare -440220916.66716743026896931194749 -102725.01594377871560564824358775 -> -1
+divx3248 divide -440220916.66716743026896931194749 -102725.01594377871560564824358775 -> 4285.4305022264473269770246126234 Inexact Rounded
+dvix3248 divideint -440220916.66716743026896931194749 -102725.01594377871560564824358775 -> 4285
+mulx3248 multiply -440220916.66716743026896931194749 -102725.01594377871560564824358775 -> 45221700683419.655596771711603505 Inexact Rounded
+powx3248 power -440220916.66716743026896931194749 -102725 -> -0E-10030 Underflow Subnormal Inexact Rounded Clamped
+remx3248 remainder -440220916.66716743026896931194749 -102725.01594377871560564824358775 -> -44223.34807563389876658817398125
+subx3248 subtract -440220916.66716743026896931194749 -102725.01594377871560564824358775 -> -440118191.65122365155336366370390 Inexact Rounded
+addx3249 add -46.250735086006350517943464758019 14656357555174.263295266074908024 -> 14656357555128.012560180068557506 Inexact Rounded
+comx3249 compare -46.250735086006350517943464758019 14656357555174.263295266074908024 -> -1
+divx3249 divide -46.250735086006350517943464758019 14656357555174.263295266074908024 -> -3.1556773169523313932207725522866E-12 Inexact Rounded
+dvix3249 divideint -46.250735086006350517943464758019 14656357555174.263295266074908024 -> -0
+mulx3249 multiply -46.250735086006350517943464758019 14656357555174.263295266074908024 -> -677867310610152.55569620459788530 Inexact Rounded
+powx3249 power -46.250735086006350517943464758019 1 -> -46.250735086006350517943464758019
+remx3249 remainder -46.250735086006350517943464758019 14656357555174.263295266074908024 -> -46.250735086006350517943464758019
+subx3249 subtract -46.250735086006350517943464758019 14656357555174.263295266074908024 -> -14656357555220.514030352081258542 Inexact Rounded
+addx3250 add -61641121299391.316420647102699627E+763 -91896469863.461006903590004188187E+474 -> -6.1641121299391316420647102699627E+776 Inexact Rounded
+comx3250 compare -61641121299391.316420647102699627E+763 -91896469863.461006903590004188187E+474 -> -1
+divx3250 divide -61641121299391.316420647102699627E+763 -91896469863.461006903590004188187E+474 -> 6.7076702065897819604716946852581E+291 Inexact Rounded
+dvix3250 divideint -61641121299391.316420647102699627E+763 -91896469863.461006903590004188187E+474 -> NaN Division_impossible
+mulx3250 multiply -61641121299391.316420647102699627E+763 -91896469863.461006903590004188187E+474 -> 5.6646014458394584921579417504939E+1261 Inexact Rounded
+powx3250 power -61641121299391.316420647102699627E+763 -9 -> -7.7833261179975532508748150708605E-6992 Inexact Rounded
+remx3250 remainder -61641121299391.316420647102699627E+763 -91896469863.461006903590004188187E+474 -> NaN Division_impossible
+subx3250 subtract -61641121299391.316420647102699627E+763 -91896469863.461006903590004188187E+474 -> -6.1641121299391316420647102699627E+776 Inexact Rounded
+addx3251 add 96668419802749.555738010239087449E-838 -19498732131365824921639467044927E-542 -> -1.9498732131365824921639467044927E-511 Inexact Rounded
+comx3251 compare 96668419802749.555738010239087449E-838 -19498732131365824921639467044927E-542 -> 1
+divx3251 divide 96668419802749.555738010239087449E-838 -19498732131365824921639467044927E-542 -> -4.9576772044192514715453215933704E-314 Inexact Rounded
+dvix3251 divideint 96668419802749.555738010239087449E-838 -19498732131365824921639467044927E-542 -> -0
+mulx3251 multiply 96668419802749.555738010239087449E-838 -19498732131365824921639467044927E-542 -> -1.8849116232962331617140676274611E-1335 Inexact Rounded
+powx3251 power 96668419802749.555738010239087449E-838 -2 -> 1.0701157625268896323611633350003E+1648 Inexact Rounded
+remx3251 remainder 96668419802749.555738010239087449E-838 -19498732131365824921639467044927E-542 -> 9.6668419802749555738010239087449E-825
+subx3251 subtract 96668419802749.555738010239087449E-838 -19498732131365824921639467044927E-542 -> 1.9498732131365824921639467044927E-511 Inexact Rounded
+addx3252 add -8534543911197995906031245719519E+124 16487117050031.594886541650897974 -> -8.5345439111979959060312457195190E+154 Inexact Rounded
+comx3252 compare -8534543911197995906031245719519E+124 16487117050031.594886541650897974 -> -1
+divx3252 divide -8534543911197995906031245719519E+124 16487117050031.594886541650897974 -> -5.1764925822381062287959523371316E+141 Inexact Rounded
+dvix3252 divideint -8534543911197995906031245719519E+124 16487117050031.594886541650897974 -> NaN Division_impossible
+mulx3252 multiply -8534543911197995906031245719519E+124 16487117050031.594886541650897974 -> -1.4071002443255581217471698731240E+168 Inexact Rounded
+powx3252 power -8534543911197995906031245719519E+124 2 -> 7.2838439772166785429482995041337E+309 Inexact Rounded
+remx3252 remainder -8534543911197995906031245719519E+124 16487117050031.594886541650897974 -> NaN Division_impossible
+subx3252 subtract -8534543911197995906031245719519E+124 16487117050031.594886541650897974 -> -8.5345439111979959060312457195190E+154 Inexact Rounded
+addx3253 add -62663404777.352508979582846931050 9.2570938837239134052589184917186E+916 -> 9.2570938837239134052589184917186E+916 Inexact Rounded
+comx3253 compare -62663404777.352508979582846931050 9.2570938837239134052589184917186E+916 -> -1
+divx3253 divide -62663404777.352508979582846931050 9.2570938837239134052589184917186E+916 -> -6.7692307720384142592597124956951E-907 Inexact Rounded
+dvix3253 divideint -62663404777.352508979582846931050 9.2570938837239134052589184917186E+916 -> -0
+mulx3253 multiply -62663404777.352508979582846931050 9.2570938837239134052589184917186E+916 -> -5.8008102109774576654709018012876E+927 Inexact Rounded
+powx3253 power -62663404777.352508979582846931050 9 -> -1.4897928814133059615670462753825E+97 Inexact Rounded
+remx3253 remainder -62663404777.352508979582846931050 9.2570938837239134052589184917186E+916 -> -62663404777.352508979582846931050
+subx3253 subtract -62663404777.352508979582846931050 9.2570938837239134052589184917186E+916 -> -9.2570938837239134052589184917186E+916 Inexact Rounded
+addx3254 add 1.744601214474560992754529320172E-827 -17.353669504253419489494030651507E-631 -> -1.7353669504253419489494030651507E-630 Inexact Rounded
+comx3254 compare 1.744601214474560992754529320172E-827 -17.353669504253419489494030651507E-631 -> 1
+divx3254 divide 1.744601214474560992754529320172E-827 -17.353669504253419489494030651507E-631 -> -1.0053212169604565230497117966004E-197 Inexact Rounded
+dvix3254 divideint 1.744601214474560992754529320172E-827 -17.353669504253419489494030651507E-631 -> -0
+mulx3254 multiply 1.744601214474560992754529320172E-827 -17.353669504253419489494030651507E-631 -> -3.0275232892710668432895049546233E-1457 Inexact Rounded
+powx3254 power 1.744601214474560992754529320172E-827 -2 -> 3.2855468099615282394992542515980E+1653 Inexact Rounded
+remx3254 remainder 1.744601214474560992754529320172E-827 -17.353669504253419489494030651507E-631 -> 1.744601214474560992754529320172E-827
+subx3254 subtract 1.744601214474560992754529320172E-827 -17.353669504253419489494030651507E-631 -> 1.7353669504253419489494030651507E-630 Inexact Rounded
+addx3255 add 0367191549036702224827734853471 4410320662415266533763143837742E+721 -> 4.4103206624152665337631438377420E+751 Inexact Rounded
+comx3255 compare 0367191549036702224827734853471 4410320662415266533763143837742E+721 -> -1
+divx3255 divide 0367191549036702224827734853471 4410320662415266533763143837742E+721 -> 8.3257335949720619093963917942525E-723 Inexact Rounded
+dvix3255 divideint 0367191549036702224827734853471 4410320662415266533763143837742E+721 -> 0
+mulx3255 multiply 0367191549036702224827734853471 4410320662415266533763143837742E+721 -> 1.6194324757808363802947192054966E+781 Inexact Rounded
+powx3255 power 0367191549036702224827734853471 4 -> 1.8179030119354318182493703269258E+118 Inexact Rounded
+remx3255 remainder 0367191549036702224827734853471 4410320662415266533763143837742E+721 -> 367191549036702224827734853471
+subx3255 subtract 0367191549036702224827734853471 4410320662415266533763143837742E+721 -> -4.4103206624152665337631438377420E+751 Inexact Rounded
+addx3256 add 097704116.4492566721965710365073 -96736.400939809433556067504289145 -> 97607380.048316862763014969003011 Inexact Rounded
+comx3256 compare 097704116.4492566721965710365073 -96736.400939809433556067504289145 -> 1
+divx3256 divide 097704116.4492566721965710365073 -96736.400939809433556067504289145 -> -1010.0036335861757252324592571874 Inexact Rounded
+dvix3256 divideint 097704116.4492566721965710365073 -96736.400939809433556067504289145 -> -1010
+mulx3256 multiply 097704116.4492566721965710365073 -96736.400939809433556067504289145 -> -9451544582305.1234805483449772252 Inexact Rounded
+powx3256 power 097704116.4492566721965710365073 -96736 -> 0E-10030 Underflow Subnormal Inexact Rounded Clamped
+remx3256 remainder 097704116.4492566721965710365073 -96736.400939809433556067504289145 -> 351.500049144304942857175263550
+subx3256 subtract 097704116.4492566721965710365073 -96736.400939809433556067504289145 -> 97800852.850196481630127104011589 Inexact Rounded
+addx3257 add 19533298.147150158931958733807878 80.141668338350708476637377647025E-641 -> 19533298.147150158931958733807878 Inexact Rounded
+comx3257 compare 19533298.147150158931958733807878 80.141668338350708476637377647025E-641 -> 1
+divx3257 divide 19533298.147150158931958733807878 80.141668338350708476637377647025E-641 -> 2.4373460837728485395672882395171E+646 Inexact Rounded
+dvix3257 divideint 19533298.147150158931958733807878 80.141668338350708476637377647025E-641 -> NaN Division_impossible
+mulx3257 multiply 19533298.147150158931958733807878 80.141668338350708476637377647025E-641 -> 1.5654311016630284502459158971272E-632 Inexact Rounded
+powx3257 power 19533298.147150158931958733807878 8 -> 2.1193595047638230427530063654613E+58 Inexact Rounded
+remx3257 remainder 19533298.147150158931958733807878 80.141668338350708476637377647025E-641 -> NaN Division_impossible
+subx3257 subtract 19533298.147150158931958733807878 80.141668338350708476637377647025E-641 -> 19533298.147150158931958733807878 Inexact Rounded
+addx3258 add -23765003221220177430797028997378 -15203369569.373411506379096871224E-945 -> -23765003221220177430797028997378 Inexact Rounded
+comx3258 compare -23765003221220177430797028997378 -15203369569.373411506379096871224E-945 -> -1
+divx3258 divide -23765003221220177430797028997378 -15203369569.373411506379096871224E-945 -> 1.5631405336020930064824135669541E+966 Inexact Rounded
+dvix3258 divideint -23765003221220177430797028997378 -15203369569.373411506379096871224E-945 -> NaN Division_impossible
+mulx3258 multiply -23765003221220177430797028997378 -15203369569.373411506379096871224E-945 -> 3.6130812678955994625210007005216E-904 Inexact Rounded
+powx3258 power -23765003221220177430797028997378 -2 -> 1.7706154318483481190364979209436E-63 Inexact Rounded
+remx3258 remainder -23765003221220177430797028997378 -15203369569.373411506379096871224E-945 -> NaN Division_impossible
+subx3258 subtract -23765003221220177430797028997378 -15203369569.373411506379096871224E-945 -> -23765003221220177430797028997378 Inexact Rounded
+addx3259 add 129255.41937932433359193338910552E+932 -281253953.38990382799508873560320 -> 1.2925541937932433359193338910552E+937 Inexact Rounded
+comx3259 compare 129255.41937932433359193338910552E+932 -281253953.38990382799508873560320 -> 1
+divx3259 divide 129255.41937932433359193338910552E+932 -281253953.38990382799508873560320 -> -4.5956836453828213050223260551064E+928 Inexact Rounded
+dvix3259 divideint 129255.41937932433359193338910552E+932 -281253953.38990382799508873560320 -> NaN Division_impossible
+mulx3259 multiply 129255.41937932433359193338910552E+932 -281253953.38990382799508873560320 -> -3.6353597697504958096931088780367E+945 Inexact Rounded
+powx3259 power 129255.41937932433359193338910552E+932 -281253953 -> 0E-10030 Underflow Subnormal Inexact Rounded Clamped
+remx3259 remainder 129255.41937932433359193338910552E+932 -281253953.38990382799508873560320 -> NaN Division_impossible
+subx3259 subtract 129255.41937932433359193338910552E+932 -281253953.38990382799508873560320 -> 1.2925541937932433359193338910552E+937 Inexact Rounded
+addx3260 add -86863.276249466008289214762980838 531.50602652732088208397655484476 -> -86331.770222938687407130786425993 Inexact Rounded
+comx3260 compare -86863.276249466008289214762980838 531.50602652732088208397655484476 -> -1
+divx3260 divide -86863.276249466008289214762980838 531.50602652732088208397655484476 -> -163.42858201815891408475902229649 Inexact Rounded
+dvix3260 divideint -86863.276249466008289214762980838 531.50602652732088208397655484476 -> -163
+mulx3260 multiply -86863.276249466008289214762980838 531.50602652732088208397655484476 -> -46168354.810498682140456143534524 Inexact Rounded
+powx3260 power -86863.276249466008289214762980838 532 -> 2.8897579184173839519859710217510E+2627 Inexact Rounded
+remx3260 remainder -86863.276249466008289214762980838 531.50602652732088208397655484476 -> -227.79392551270450952658454114212
+subx3260 subtract -86863.276249466008289214762980838 531.50602652732088208397655484476 -> -87394.782275993329171298739535683 Inexact Rounded
+addx3261 add -40707.169006771111855573524157083 -68795521421321853333274411827749 -> -68795521421321853333274411868456 Inexact Rounded
+comx3261 compare -40707.169006771111855573524157083 -68795521421321853333274411827749 -> 1
+divx3261 divide -40707.169006771111855573524157083 -68795521421321853333274411827749 -> 5.9171248601300236694386185513139E-28 Inexact Rounded
+dvix3261 divideint -40707.169006771111855573524157083 -68795521421321853333274411827749 -> 0
+mulx3261 multiply -40707.169006771111855573524157083 -68795521421321853333274411827749 -> 2.8004709174066910577370895499575E+36 Inexact Rounded
+powx3261 power -40707.169006771111855573524157083 -7 -> -5.3988802915897595722440392884051E-33 Inexact Rounded
+remx3261 remainder -40707.169006771111855573524157083 -68795521421321853333274411827749 -> -40707.169006771111855573524157083
+subx3261 subtract -40707.169006771111855573524157083 -68795521421321853333274411827749 -> 68795521421321853333274411787042 Inexact Rounded
+addx3262 add -90838752568673.728630494658778003E+095 -738.01370301217606577533107981431 -> -9.0838752568673728630494658778003E+108 Inexact Rounded
+comx3262 compare -90838752568673.728630494658778003E+095 -738.01370301217606577533107981431 -> -1
+divx3262 divide -90838752568673.728630494658778003E+095 -738.01370301217606577533107981431 -> 1.2308545518588430875268553851424E+106 Inexact Rounded
+dvix3262 divideint -90838752568673.728630494658778003E+095 -738.01370301217606577533107981431 -> NaN Division_impossible
+mulx3262 multiply -90838752568673.728630494658778003E+095 -738.01370301217606577533107981431 -> 6.7040244160213718891633678248127E+111 Inexact Rounded
+powx3262 power -90838752568673.728630494658778003E+095 -738 -> 0E-10030 Underflow Subnormal Inexact Rounded Clamped
+remx3262 remainder -90838752568673.728630494658778003E+095 -738.01370301217606577533107981431 -> NaN Division_impossible
+subx3262 subtract -90838752568673.728630494658778003E+095 -738.01370301217606577533107981431 -> -9.0838752568673728630494658778003E+108 Inexact Rounded
+addx3263 add -4245360967593.9206771555839718158E-682 -3.119606239042530207103203508057 -> -3.1196062390425302071032035080570 Inexact Rounded
+comx3263 compare -4245360967593.9206771555839718158E-682 -3.119606239042530207103203508057 -> 1
+divx3263 divide -4245360967593.9206771555839718158E-682 -3.119606239042530207103203508057 -> 1.3608643662980066356437236081969E-670 Inexact Rounded
+dvix3263 divideint -4245360967593.9206771555839718158E-682 -3.119606239042530207103203508057 -> 0
+mulx3263 multiply -4245360967593.9206771555839718158E-682 -3.119606239042530207103203508057 -> 1.3243854561493627844105290415330E-669 Inexact Rounded
+powx3263 power -4245360967593.9206771555839718158E-682 -3 -> -1.3069414504933253288042820429894E+2008 Inexact Rounded
+remx3263 remainder -4245360967593.9206771555839718158E-682 -3.119606239042530207103203508057 -> -4.2453609675939206771555839718158E-670
+subx3263 subtract -4245360967593.9206771555839718158E-682 -3.119606239042530207103203508057 -> 3.1196062390425302071032035080570 Inexact Rounded
+addx3264 add -3422145405774.0800213000547612240E-023 -60810.964656409650839011321706310 -> -60810.964656409685060465379447110 Inexact Rounded
+comx3264 compare -3422145405774.0800213000547612240E-023 -60810.964656409650839011321706310 -> 1
+divx3264 divide -3422145405774.0800213000547612240E-023 -60810.964656409650839011321706310 -> 5.6275137635287882875914124742650E-16 Inexact Rounded
+dvix3264 divideint -3422145405774.0800213000547612240E-023 -60810.964656409650839011321706310 -> 0
+mulx3264 multiply -3422145405774.0800213000547612240E-023 -60810.964656409650839011321706310 -> 0.0000020810396331962224323288744910607 Inexact Rounded
+powx3264 power -3422145405774.0800213000547612240E-023 -60811 -> -Infinity Overflow Inexact Rounded
+remx3264 remainder -3422145405774.0800213000547612240E-023 -60810.964656409650839011321706310 -> -3.4221454057740800213000547612240E-11
+subx3264 subtract -3422145405774.0800213000547612240E-023 -60810.964656409650839011321706310 -> 60810.964656409616617557263965510 Inexact Rounded
+addx3265 add -24521811.07649485796598387627478E-661 -94860846133404815410816234000694 -> -94860846133404815410816234000694 Inexact Rounded
+comx3265 compare -24521811.07649485796598387627478E-661 -94860846133404815410816234000694 -> 1
+divx3265 divide -24521811.07649485796598387627478E-661 -94860846133404815410816234000694 -> 2.5850297647576657819483988845904E-686 Inexact Rounded
+dvix3265 divideint -24521811.07649485796598387627478E-661 -94860846133404815410816234000694 -> 0
+mulx3265 multiply -24521811.07649485796598387627478E-661 -94860846133404815410816234000694 -> 2.3261597474398006215017751785104E-622 Inexact Rounded
+powx3265 power -24521811.07649485796598387627478E-661 -9 -> -3.1190843559949184618590264246586E+5882 Inexact Rounded
+remx3265 remainder -24521811.07649485796598387627478E-661 -94860846133404815410816234000694 -> -2.452181107649485796598387627478E-654
+subx3265 subtract -24521811.07649485796598387627478E-661 -94860846133404815410816234000694 -> 94860846133404815410816234000694 Inexact Rounded
+addx3266 add -5042529937498.8944492248538951438 3891904674.4549170968807145612549 -> -5038638032824.4395321279731805825 Inexact Rounded
+comx3266 compare -5042529937498.8944492248538951438 3891904674.4549170968807145612549 -> -1
+divx3266 divide -5042529937498.8944492248538951438 3891904674.4549170968807145612549 -> -1295.6457979549894351378127413283 Inexact Rounded
+dvix3266 divideint -5042529937498.8944492248538951438 3891904674.4549170968807145612549 -> -1295
+mulx3266 multiply -5042529937498.8944492248538951438 3891904674.4549170968807145612549 -> -19625045834830808256871.952659048 Inexact Rounded
+powx3266 power -5042529937498.8944492248538951438 4 -> 6.4653782991800009492580180960839E+50 Inexact Rounded
+remx3266 remainder -5042529937498.8944492248538951438 3891904674.4549170968807145612549 -> -2513384079.7768087643285383187045
+subx3266 subtract -5042529937498.8944492248538951438 3891904674.4549170968807145612549 -> -5046421842173.3493663217346097051 Inexact Rounded
+addx3267 add -535824163.54531747646293693868651E-665 2732988.5891363639325008206099712 -> 2732988.5891363639325008206099712 Inexact Rounded
+comx3267 compare -535824163.54531747646293693868651E-665 2732988.5891363639325008206099712 -> -1
+divx3267 divide -535824163.54531747646293693868651E-665 2732988.5891363639325008206099712 -> -1.9605795855687791246611683328346E-663 Inexact Rounded
+dvix3267 divideint -535824163.54531747646293693868651E-665 2732988.5891363639325008206099712 -> -0
+mulx3267 multiply -535824163.54531747646293693868651E-665 2732988.5891363639325008206099712 -> -1.4644013247528895376254850705597E-650 Inexact Rounded
+powx3267 power -535824163.54531747646293693868651E-665 2732989 -> -0E-10030 Underflow Subnormal Inexact Rounded Clamped
+remx3267 remainder -535824163.54531747646293693868651E-665 2732988.5891363639325008206099712 -> -5.3582416354531747646293693868651E-657
+subx3267 subtract -535824163.54531747646293693868651E-665 2732988.5891363639325008206099712 -> -2732988.5891363639325008206099712 Inexact Rounded
+addx3268 add 24032.702008553084252925140858134E-509 52864854.899420632375589206704068 -> 52864854.899420632375589206704068 Inexact Rounded
+comx3268 compare 24032.702008553084252925140858134E-509 52864854.899420632375589206704068 -> -1
+divx3268 divide 24032.702008553084252925140858134E-509 52864854.899420632375589206704068 -> 4.5460641203455697917573431961511E-513 Inexact Rounded
+dvix3268 divideint 24032.702008553084252925140858134E-509 52864854.899420632375589206704068 -> 0
+mulx3268 multiply 24032.702008553084252925140858134E-509 52864854.899420632375589206704068 -> 1.2704853045231735885074945710576E-497 Inexact Rounded
+powx3268 power 24032.702008553084252925140858134E-509 52864855 -> 0E-10030 Underflow Subnormal Inexact Rounded Clamped
+remx3268 remainder 24032.702008553084252925140858134E-509 52864854.899420632375589206704068 -> 2.4032702008553084252925140858134E-505
+subx3268 subtract 24032.702008553084252925140858134E-509 52864854.899420632375589206704068 -> -52864854.899420632375589206704068 Inexact Rounded
+addx3269 add 71553220259.938950698030519906727E-496 754.44220417415325444943566016062 -> 754.44220417415325444943566016062 Inexact Rounded
+comx3269 compare 71553220259.938950698030519906727E-496 754.44220417415325444943566016062 -> -1
+divx3269 divide 71553220259.938950698030519906727E-496 754.44220417415325444943566016062 -> 9.4842547068617879794218050008353E-489 Inexact Rounded
+dvix3269 divideint 71553220259.938950698030519906727E-496 754.44220417415325444943566016062 -> 0
+mulx3269 multiply 71553220259.938950698030519906727E-496 754.44220417415325444943566016062 -> 5.3982769208667021044675146787248E-483 Inexact Rounded
+powx3269 power 71553220259.938950698030519906727E-496 754 -> 0E-10030 Underflow Subnormal Inexact Rounded Clamped
+remx3269 remainder 71553220259.938950698030519906727E-496 754.44220417415325444943566016062 -> 7.1553220259938950698030519906727E-486
+subx3269 subtract 71553220259.938950698030519906727E-496 754.44220417415325444943566016062 -> -754.44220417415325444943566016062 Inexact Rounded
+addx3270 add 35572.960284795962697740953932508 520.39506364687594082725754878910E-731 -> 35572.960284795962697740953932508 Inexact Rounded
+comx3270 compare 35572.960284795962697740953932508 520.39506364687594082725754878910E-731 -> 1
+divx3270 divide 35572.960284795962697740953932508 520.39506364687594082725754878910E-731 -> 6.8357605153869556504869061469852E+732 Inexact Rounded
+dvix3270 divideint 35572.960284795962697740953932508 520.39506364687594082725754878910E-731 -> NaN Division_impossible
+mulx3270 multiply 35572.960284795962697740953932508 520.39506364687594082725754878910E-731 -> 1.8511992931514185102474609686066E-724 Inexact Rounded
+powx3270 power 35572.960284795962697740953932508 5 -> 56963942247985404337401.149353169 Inexact Rounded
+remx3270 remainder 35572.960284795962697740953932508 520.39506364687594082725754878910E-731 -> NaN Division_impossible
+subx3270 subtract 35572.960284795962697740953932508 520.39506364687594082725754878910E-731 -> 35572.960284795962697740953932508 Inexact Rounded
+addx3271 add 53035405018123760598334895413057E+818 -9558464247240.4476790042911379151 -> 5.3035405018123760598334895413057E+849 Inexact Rounded
+comx3271 compare 53035405018123760598334895413057E+818 -9558464247240.4476790042911379151 -> 1
+divx3271 divide 53035405018123760598334895413057E+818 -9558464247240.4476790042911379151 -> -5.5485278436266802470202487233285E+836 Inexact Rounded
+dvix3271 divideint 53035405018123760598334895413057E+818 -9558464247240.4476790042911379151 -> NaN Division_impossible
+mulx3271 multiply 53035405018123760598334895413057E+818 -9558464247240.4476790042911379151 -> -5.0693702270365259274203181894613E+862 Inexact Rounded
+powx3271 power 53035405018123760598334895413057E+818 -10 -> 5.6799053935427267944455848135618E-8498 Inexact Rounded
+remx3271 remainder 53035405018123760598334895413057E+818 -9558464247240.4476790042911379151 -> NaN Division_impossible
+subx3271 subtract 53035405018123760598334895413057E+818 -9558464247240.4476790042911379151 -> 5.3035405018123760598334895413057E+849 Inexact Rounded
+addx3272 add 95.490751127249945886828257312118 987.01498316307365714167410690192E+133 -> 9.8701498316307365714167410690192E+135 Inexact Rounded
+comx3272 compare 95.490751127249945886828257312118 987.01498316307365714167410690192E+133 -> -1
+divx3272 divide 95.490751127249945886828257312118 987.01498316307365714167410690192E+133 -> 9.6747012716293341927566515915016E-135 Inexact Rounded
+dvix3272 divideint 95.490751127249945886828257312118 987.01498316307365714167410690192E+133 -> 0
+mulx3272 multiply 95.490751127249945886828257312118 987.01498316307365714167410690192E+133 -> 9.4250802116091862185764800227004E+137 Inexact Rounded
+powx3272 power 95.490751127249945886828257312118 10 -> 63039548646186864162.847491534337 Inexact Rounded
+remx3272 remainder 95.490751127249945886828257312118 987.01498316307365714167410690192E+133 -> 95.490751127249945886828257312118
+subx3272 subtract 95.490751127249945886828257312118 987.01498316307365714167410690192E+133 -> -9.8701498316307365714167410690192E+135 Inexact Rounded
+addx3273 add 69434850287.460788550936730296153 -35119136549015044241569827542264 -> -35119136549015044241500392691977 Inexact Rounded
+comx3273 compare 69434850287.460788550936730296153 -35119136549015044241569827542264 -> 1
+divx3273 divide 69434850287.460788550936730296153 -35119136549015044241569827542264 -> -1.9771229338327273644129394734299E-21 Inexact Rounded
+dvix3273 divideint 69434850287.460788550936730296153 -35119136549015044241569827542264 -> -0
+mulx3273 multiply 69434850287.460788550936730296153 -35119136549015044241569827542264 -> -2.4384919885057519302646522425980E+42 Inexact Rounded
+powx3273 power 69434850287.460788550936730296153 -4 -> 4.3021939605842038995370443743844E-44 Inexact Rounded
+remx3273 remainder 69434850287.460788550936730296153 -35119136549015044241569827542264 -> 69434850287.460788550936730296153
+subx3273 subtract 69434850287.460788550936730296153 -35119136549015044241569827542264 -> 35119136549015044241639262392551 Inexact Rounded
+addx3274 add -392.22739924621965621739098725407 -65551274.987160998195282109612136 -> -65551667.214560244414938327003123 Inexact Rounded
+comx3274 compare -392.22739924621965621739098725407 -65551274.987160998195282109612136 -> 1
+divx3274 divide -392.22739924621965621739098725407 -65551274.987160998195282109612136 -> 0.0000059835205237890809449684317245033 Inexact Rounded
+dvix3274 divideint -392.22739924621965621739098725407 -65551274.987160998195282109612136 -> 0
+mulx3274 multiply -392.22739924621965621739098725407 -65551274.987160998195282109612136 -> 25711006105.487929108329637701882 Inexact Rounded
+powx3274 power -392.22739924621965621739098725407 -65551275 -> -0E-10030 Underflow Subnormal Inexact Rounded Clamped
+remx3274 remainder -392.22739924621965621739098725407 -65551274.987160998195282109612136 -> -392.22739924621965621739098725407
+subx3274 subtract -392.22739924621965621739098725407 -65551274.987160998195282109612136 -> 65550882.759761751975625892221149 Inexact Rounded
+addx3275 add 6413265.4423561191792972085539457 24514.222704714139350026165721146 -> 6437779.6650608333186472347196668 Inexact Rounded
+comx3275 compare 6413265.4423561191792972085539457 24514.222704714139350026165721146 -> 1
+divx3275 divide 6413265.4423561191792972085539457 24514.222704714139350026165721146 -> 261.61406460270241498757868681883 Inexact Rounded
+dvix3275 divideint 6413265.4423561191792972085539457 24514.222704714139350026165721146 -> 261
+mulx3275 multiply 6413265.4423561191792972085539457 24514.222704714139350026165721146 -> 157216217318.36494525300694583138 Inexact Rounded
+powx3275 power 6413265.4423561191792972085539457 24514 -> Infinity Overflow Inexact Rounded
+remx3275 remainder 6413265.4423561191792972085539457 24514.222704714139350026165721146 -> 15053.316425728808940379300726594
+subx3275 subtract 6413265.4423561191792972085539457 24514.222704714139350026165721146 -> 6388751.2196514050399471823882246 Inexact Rounded
+addx3276 add -6.9667706389122107760046184064057E+487 32.405810703971538278419625527234 -> -6.9667706389122107760046184064057E+487 Inexact Rounded
+comx3276 compare -6.9667706389122107760046184064057E+487 32.405810703971538278419625527234 -> -1
+divx3276 divide -6.9667706389122107760046184064057E+487 32.405810703971538278419625527234 -> -2.1498522911689997341347293419761E+486 Inexact Rounded
+dvix3276 divideint -6.9667706389122107760046184064057E+487 32.405810703971538278419625527234 -> NaN Division_impossible
+mulx3276 multiply -6.9667706389122107760046184064057E+487 32.405810703971538278419625527234 -> -2.2576385054257595259511556258470E+489 Inexact Rounded
+powx3276 power -6.9667706389122107760046184064057E+487 32 -> Infinity Overflow Inexact Rounded
+remx3276 remainder -6.9667706389122107760046184064057E+487 32.405810703971538278419625527234 -> NaN Division_impossible
+subx3276 subtract -6.9667706389122107760046184064057E+487 32.405810703971538278419625527234 -> -6.9667706389122107760046184064057E+487 Inexact Rounded
+addx3277 add 378204716633.40024100602896057615 -0300218714378.322231269606216516 -> 77986002255.07800973642274406015
+comx3277 compare 378204716633.40024100602896057615 -0300218714378.322231269606216516 -> 1
+divx3277 divide 378204716633.40024100602896057615 -0300218714378.322231269606216516 -> -1.2597639604731753284599748820876 Inexact Rounded
+dvix3277 divideint 378204716633.40024100602896057615 -0300218714378.322231269606216516 -> -1
+mulx3277 multiply 378204716633.40024100602896057615 -0300218714378.322231269606216516 -> -113544133799497082075557.21180430 Inexact Rounded
+powx3277 power 378204716633.40024100602896057615 -3 -> 1.8484988212401886887562779996737E-35 Inexact Rounded
+remx3277 remainder 378204716633.40024100602896057615 -0300218714378.322231269606216516 -> 77986002255.07800973642274406015
+subx3277 subtract 378204716633.40024100602896057615 -0300218714378.322231269606216516 -> 678423431011.72247227563517709215
+addx3278 add -44234.512012457148027685282969235E+501 2132572.4571987908375002100894927 -> -4.4234512012457148027685282969235E+505 Inexact Rounded
+comx3278 compare -44234.512012457148027685282969235E+501 2132572.4571987908375002100894927 -> -1
+divx3278 divide -44234.512012457148027685282969235E+501 2132572.4571987908375002100894927 -> -2.0742325477916347193181603963257E+499 Inexact Rounded
+dvix3278 divideint -44234.512012457148027685282969235E+501 2132572.4571987908375002100894927 -> NaN Division_impossible
+mulx3278 multiply -44234.512012457148027685282969235E+501 2132572.4571987908375002100894927 -> -9.4333301975395170465982968019915E+511 Inexact Rounded
+powx3278 power -44234.512012457148027685282969235E+501 2132572 -> Infinity Overflow Inexact Rounded
+remx3278 remainder -44234.512012457148027685282969235E+501 2132572.4571987908375002100894927 -> NaN Division_impossible
+subx3278 subtract -44234.512012457148027685282969235E+501 2132572.4571987908375002100894927 -> -4.4234512012457148027685282969235E+505 Inexact Rounded
+addx3279 add -3554.5895974968741465654022772100E-073 9752.0428746722497621936998533848E+516 -> 9.7520428746722497621936998533848E+519 Inexact Rounded
+comx3279 compare -3554.5895974968741465654022772100E-073 9752.0428746722497621936998533848E+516 -> -1
+divx3279 divide -3554.5895974968741465654022772100E-073 9752.0428746722497621936998533848E+516 -> -3.6449692061227100572768330912162E-590 Inexact Rounded
+dvix3279 divideint -3554.5895974968741465654022772100E-073 9752.0428746722497621936998533848E+516 -> -0
+mulx3279 multiply -3554.5895974968741465654022772100E-073 9752.0428746722497621936998533848E+516 -> -3.4664510156653491769901435777060E+450 Inexact Rounded
+powx3279 power -3554.5895974968741465654022772100E-073 10 -> 3.2202875716019266933215387456197E-695 Inexact Rounded
+remx3279 remainder -3554.5895974968741465654022772100E-073 9752.0428746722497621936998533848E+516 -> -3.5545895974968741465654022772100E-70
+subx3279 subtract -3554.5895974968741465654022772100E-073 9752.0428746722497621936998533848E+516 -> -9.7520428746722497621936998533848E+519 Inexact Rounded
+addx3280 add 750187685.63632608923397234391668 4633194252863.6730625972669246025 -> 4633944440549.3093886865008969464 Inexact Rounded
+comx3280 compare 750187685.63632608923397234391668 4633194252863.6730625972669246025 -> -1
+divx3280 divide 750187685.63632608923397234391668 4633194252863.6730625972669246025 -> 0.00016191587157664541463871807382759 Inexact Rounded
+dvix3280 divideint 750187685.63632608923397234391668 4633194252863.6730625972669246025 -> 0
+mulx3280 multiply 750187685.63632608923397234391668 4633194252863.6730625972669246025 -> 3475765273659325895012.7612107556 Inexact Rounded
+powx3280 power 750187685.63632608923397234391668 5 -> 2.3760176068829529745152188798557E+44 Inexact Rounded
+remx3280 remainder 750187685.63632608923397234391668 4633194252863.6730625972669246025 -> 750187685.63632608923397234391668
+subx3280 subtract 750187685.63632608923397234391668 4633194252863.6730625972669246025 -> -4632444065178.0367365080329522586 Inexact Rounded
+addx3281 add 30190034242853.251165951457589386E-028 8038885676.3204238322976087799751E+018 -> 8038885676320423832297608779.9751 Inexact Rounded
+comx3281 compare 30190034242853.251165951457589386E-028 8038885676.3204238322976087799751E+018 -> -1
+divx3281 divide 30190034242853.251165951457589386E-028 8038885676.3204238322976087799751E+018 -> 3.7554998862319807295903348960280E-43 Inexact Rounded
+dvix3281 divideint 30190034242853.251165951457589386E-028 8038885676.3204238322976087799751E+018 -> 0
+mulx3281 multiply 30190034242853.251165951457589386E-028 8038885676.3204238322976087799751E+018 -> 24269423384249.611263728854793731 Inexact Rounded
+powx3281 power 30190034242853.251165951457589386E-028 8 -> 6.9009494305612589578332690692113E-117 Inexact Rounded
+remx3281 remainder 30190034242853.251165951457589386E-028 8038885676.3204238322976087799751E+018 -> 3.0190034242853251165951457589386E-15
+subx3281 subtract 30190034242853.251165951457589386E-028 8038885676.3204238322976087799751E+018 -> -8038885676320423832297608779.9751 Inexact Rounded
+addx3282 add 65.537942676774715953400768803539 125946917260.87536506197191782198 -> 125946917326.41330773874663377538 Inexact Rounded
+comx3282 compare 65.537942676774715953400768803539 125946917260.87536506197191782198 -> -1
+divx3282 divide 65.537942676774715953400768803539 125946917260.87536506197191782198 -> 5.2036162616846894920389414735878E-10 Inexact Rounded
+dvix3282 divideint 65.537942676774715953400768803539 125946917260.87536506197191782198 -> 0
+mulx3282 multiply 65.537942676774715953400768803539 125946917260.87536506197191782198 -> 8254301843759.7376990957355411370 Inexact Rounded
+powx3282 power 65.537942676774715953400768803539 1 -> 65.537942676774715953400768803539
+remx3282 remainder 65.537942676774715953400768803539 125946917260.87536506197191782198 -> 65.537942676774715953400768803539
+subx3282 subtract 65.537942676774715953400768803539 125946917260.87536506197191782198 -> -125946917195.33742238519720186858 Inexact Rounded
+addx3283 add 8015272348677.5489394183881813700 949.23027111499779258284877920022 -> 8015272349626.7792105333859739528 Inexact Rounded
+comx3283 compare 8015272348677.5489394183881813700 949.23027111499779258284877920022 -> 1
+divx3283 divide 8015272348677.5489394183881813700 949.23027111499779258284877920022 -> 8443970438.5560107978790084430110 Inexact Rounded
+dvix3283 divideint 8015272348677.5489394183881813700 949.23027111499779258284877920022 -> 8443970438
+mulx3283 multiply 8015272348677.5489394183881813700 949.23027111499779258284877920022 -> 7608339144595734.8984281431471741 Inexact Rounded
+powx3283 power 8015272348677.5489394183881813700 949 -> Infinity Overflow Inexact Rounded
+remx3283 remainder 8015272348677.5489394183881813700 949.23027111499779258284877920022 -> 527.78228041355742397895303690364
+subx3283 subtract 8015272348677.5489394183881813700 949.23027111499779258284877920022 -> 8015272347728.3186683033903887872 Inexact Rounded
+addx3284 add -32595333982.67068622120451804225 69130.052233649808750113141502465E-862 -> -32595333982.670686221204518042250 Inexact Rounded
+comx3284 compare -32595333982.67068622120451804225 69130.052233649808750113141502465E-862 -> -1
+divx3284 divide -32595333982.67068622120451804225 69130.052233649808750113141502465E-862 -> -4.7150744038935574574681609457727E+867 Inexact Rounded
+dvix3284 divideint -32595333982.67068622120451804225 69130.052233649808750113141502465E-862 -> NaN Division_impossible
+mulx3284 multiply -32595333982.67068622120451804225 69130.052233649808750113141502465E-862 -> -2.2533171407952851885446213697715E-847 Inexact Rounded
+powx3284 power -32595333982.67068622120451804225 7 -> -3.9092014148031739666525606093306E+73 Inexact Rounded
+remx3284 remainder -32595333982.67068622120451804225 69130.052233649808750113141502465E-862 -> NaN Division_impossible
+subx3284 subtract -32595333982.67068622120451804225 69130.052233649808750113141502465E-862 -> -32595333982.670686221204518042250 Inexact Rounded
+addx3285 add -17544189017145.710117633021800426E-537 292178000.06450804618299520094843 -> 292178000.06450804618299520094843 Inexact Rounded
+comx3285 compare -17544189017145.710117633021800426E-537 292178000.06450804618299520094843 -> -1
+divx3285 divide -17544189017145.710117633021800426E-537 292178000.06450804618299520094843 -> -6.0046235559392715334668277026896E-533 Inexact Rounded
+dvix3285 divideint -17544189017145.710117633021800426E-537 292178000.06450804618299520094843 -> -0
+mulx3285 multiply -17544189017145.710117633021800426E-537 292178000.06450804618299520094843 -> -5.1260260597833406461110136952456E-516 Inexact Rounded
+powx3285 power -17544189017145.710117633021800426E-537 292178000 -> 0E-10030 Underflow Subnormal Inexact Rounded Clamped
+remx3285 remainder -17544189017145.710117633021800426E-537 292178000.06450804618299520094843 -> -1.7544189017145710117633021800426E-524
+subx3285 subtract -17544189017145.710117633021800426E-537 292178000.06450804618299520094843 -> -292178000.06450804618299520094843 Inexact Rounded
+addx3286 add -506650.99395649907139204052441630 11.018427502031650148962067367158 -> -506639.97552899703974189156234893 Inexact Rounded
+comx3286 compare -506650.99395649907139204052441630 11.018427502031650148962067367158 -> -1
+divx3286 divide -506650.99395649907139204052441630 11.018427502031650148962067367158 -> -45982.150707356329027698717189104 Inexact Rounded
+dvix3286 divideint -506650.99395649907139204052441630 11.018427502031650148962067367158 -> -45982
+mulx3286 multiply -506650.99395649907139204052441630 11.018427502031650148962067367158 -> -5582497.2457419607392940234271222 Inexact Rounded
+powx3286 power -506650.99395649907139204052441630 11 -> -5.6467412678809885333313818078829E+62 Inexact Rounded
+remx3286 remainder -506650.99395649907139204052441630 11.018427502031650148962067367158 -> -1.660558079734242466742739640844
+subx3286 subtract -506650.99395649907139204052441630 11.018427502031650148962067367158 -> -506662.01238400110304218948648367 Inexact Rounded
+addx3287 add 4846835159.5922372307656000769395E-241 -84.001893040865864590122330800768 -> -84.001893040865864590122330800768 Inexact Rounded
+comx3287 compare 4846835159.5922372307656000769395E-241 -84.001893040865864590122330800768 -> 1
+divx3287 divide 4846835159.5922372307656000769395E-241 -84.001893040865864590122330800768 -> -5.7699118247660357814641813260524E-234 Inexact Rounded
+dvix3287 divideint 4846835159.5922372307656000769395E-241 -84.001893040865864590122330800768 -> -0
+mulx3287 multiply 4846835159.5922372307656000769395E-241 -84.001893040865864590122330800768 -> -4.0714332866277514481192856925775E-230 Inexact Rounded
+powx3287 power 4846835159.5922372307656000769395E-241 -84 -> Infinity Overflow Inexact Rounded
+remx3287 remainder 4846835159.5922372307656000769395E-241 -84.001893040865864590122330800768 -> 4.8468351595922372307656000769395E-232
+subx3287 subtract 4846835159.5922372307656000769395E-241 -84.001893040865864590122330800768 -> 84.001893040865864590122330800768 Inexact Rounded
+addx3288 add -35.029311013822259358116556164908 -3994308878.1994645313414534209127 -> -3994308913.2287755451637127790293 Inexact Rounded
+comx3288 compare -35.029311013822259358116556164908 -3994308878.1994645313414534209127 -> 1
+divx3288 divide -35.029311013822259358116556164908 -3994308878.1994645313414534209127 -> 8.7698052609323004543538163061774E-9 Inexact Rounded
+dvix3288 divideint -35.029311013822259358116556164908 -3994308878.1994645313414534209127 -> 0
+mulx3288 multiply -35.029311013822259358116556164908 -3994308878.1994645313414534209127 -> 139917887979.72053637272961120639 Inexact Rounded
+powx3288 power -35.029311013822259358116556164908 -4 -> 6.6416138040522124693495178218096E-7 Inexact Rounded
+remx3288 remainder -35.029311013822259358116556164908 -3994308878.1994645313414534209127 -> -35.029311013822259358116556164908
+subx3288 subtract -35.029311013822259358116556164908 -3994308878.1994645313414534209127 -> 3994308843.1701535175191940627961 Inexact Rounded
+addx3289 add 7606663750.6735265233044420887018E+166 -5491814639.4484565418284686127552E+365 -> -5.4918146394484565418284686127552E+374 Inexact Rounded
+comx3289 compare 7606663750.6735265233044420887018E+166 -5491814639.4484565418284686127552E+365 -> 1
+divx3289 divide 7606663750.6735265233044420887018E+166 -5491814639.4484565418284686127552E+365 -> -1.3850911310869487895947733090204E-199 Inexact Rounded
+dvix3289 divideint 7606663750.6735265233044420887018E+166 -5491814639.4484565418284686127552E+365 -> -0
+mulx3289 multiply 7606663750.6735265233044420887018E+166 -5491814639.4484565418284686127552E+365 -> -4.1774387343310777190917128006589E+550 Inexact Rounded
+powx3289 power 7606663750.6735265233044420887018E+166 -5 -> 3.9267106978887346373957314818178E-880 Inexact Rounded
+remx3289 remainder 7606663750.6735265233044420887018E+166 -5491814639.4484565418284686127552E+365 -> 7.6066637506735265233044420887018E+175
+subx3289 subtract 7606663750.6735265233044420887018E+166 -5491814639.4484565418284686127552E+365 -> 5.4918146394484565418284686127552E+374 Inexact Rounded
+addx3290 add -25677.829660831741274207326697052E-163 -94135395124193048560172705082029E-862 -> -2.5677829660831741274207326697052E-159 Inexact Rounded
+comx3290 compare -25677.829660831741274207326697052E-163 -94135395124193048560172705082029E-862 -> -1
+divx3290 divide -25677.829660831741274207326697052E-163 -94135395124193048560172705082029E-862 -> 2.7277550199853009708493167299838E+671 Inexact Rounded
+dvix3290 divideint -25677.829660831741274207326697052E-163 -94135395124193048560172705082029E-862 -> NaN Division_impossible
+mulx3290 multiply -25677.829660831741274207326697052E-163 -94135395124193048560172705082029E-862 -> 2.4171926410541199393728294762559E-989 Inexact Rounded
+powx3290 power -25677.829660831741274207326697052E-163 -9 -> -2.0605121420682764897867221992174E+1427 Inexact Rounded
+remx3290 remainder -25677.829660831741274207326697052E-163 -94135395124193048560172705082029E-862 -> NaN Division_impossible
+subx3290 subtract -25677.829660831741274207326697052E-163 -94135395124193048560172705082029E-862 -> -2.5677829660831741274207326697052E-159 Inexact Rounded
+addx3291 add 97271576094.456406729671729224827 -1.5412563837540810793697955063295E+554 -> -1.5412563837540810793697955063295E+554 Inexact Rounded
+comx3291 compare 97271576094.456406729671729224827 -1.5412563837540810793697955063295E+554 -> 1
+divx3291 divide 97271576094.456406729671729224827 -1.5412563837540810793697955063295E+554 -> -6.3111872313890646144473652645030E-544 Inexact Rounded
+dvix3291 divideint 97271576094.456406729671729224827 -1.5412563837540810793697955063295E+554 -> -0
+mulx3291 multiply 97271576094.456406729671729224827 -1.5412563837540810793697955063295E+554 -> -1.4992043761340180288065959300090E+565 Inexact Rounded
+powx3291 power 97271576094.456406729671729224827 -2 -> 1.0568858765852073181352309401343E-22 Inexact Rounded
+remx3291 remainder 97271576094.456406729671729224827 -1.5412563837540810793697955063295E+554 -> 97271576094.456406729671729224827
+subx3291 subtract 97271576094.456406729671729224827 -1.5412563837540810793697955063295E+554 -> 1.5412563837540810793697955063295E+554 Inexact Rounded
+addx3292 add 41139789894.401826915757391777563 -1.8729920305671057957156159690823E-020 -> 41139789894.401826915757391777544 Inexact Rounded
+comx3292 compare 41139789894.401826915757391777563 -1.8729920305671057957156159690823E-020 -> 1
+divx3292 divide 41139789894.401826915757391777563 -1.8729920305671057957156159690823E-020 -> -2196474369511625389289506461551.0 Inexact Rounded
+dvix3292 divideint 41139789894.401826915757391777563 -1.8729920305671057957156159690823E-020 -> -2196474369511625389289506461551
+mulx3292 multiply 41139789894.401826915757391777563 -1.8729920305671057957156159690823E-020 -> -7.7054498611419776714291080928601E-10 Inexact Rounded
+powx3292 power 41139789894.401826915757391777563 -2 -> 5.9084812442741091550891451069919E-22 Inexact Rounded
+remx3292 remainder 41139789894.401826915757391777563 -1.8729920305671057957156159690823E-020 -> 6.98141022640544018935102953527E-22
+subx3292 subtract 41139789894.401826915757391777563 -1.8729920305671057957156159690823E-020 -> 41139789894.401826915757391777582 Inexact Rounded
+addx3293 add -83310831287241.777598696853498149 -54799825033.797100418162985103519E-330 -> -83310831287241.777598696853498149 Inexact Rounded
+comx3293 compare -83310831287241.777598696853498149 -54799825033.797100418162985103519E-330 -> -1
+divx3293 divide -83310831287241.777598696853498149 -54799825033.797100418162985103519E-330 -> 1.5202754978845438636605170857478E+333 Inexact Rounded
+dvix3293 divideint -83310831287241.777598696853498149 -54799825033.797100418162985103519E-330 -> NaN Division_impossible
+mulx3293 multiply -83310831287241.777598696853498149 -54799825033.797100418162985103519E-330 -> 4.5654189779610386760330527839588E-306 Inexact Rounded
+powx3293 power -83310831287241.777598696853498149 -5 -> -2.4916822606682624827900581728387E-70 Inexact Rounded
+remx3293 remainder -83310831287241.777598696853498149 -54799825033.797100418162985103519E-330 -> NaN Division_impossible
+subx3293 subtract -83310831287241.777598696853498149 -54799825033.797100418162985103519E-330 -> -83310831287241.777598696853498149 Inexact Rounded
+addx3294 add 4506653461.4414974233678331771169 -74955470.977653038010031457181957E-887 -> 4506653461.4414974233678331771169 Inexact Rounded
+comx3294 compare 4506653461.4414974233678331771169 -74955470.977653038010031457181957E-887 -> 1
+divx3294 divide 4506653461.4414974233678331771169 -74955470.977653038010031457181957E-887 -> -6.0124409901781490054438220048629E+888 Inexact Rounded
+dvix3294 divideint 4506653461.4414974233678331771169 -74955470.977653038010031457181957E-887 -> NaN Division_impossible
+mulx3294 multiply 4506653461.4414974233678331771169 -74955470.977653038010031457181957E-887 -> -3.3779833273541776470902903512949E-870 Inexact Rounded
+powx3294 power 4506653461.4414974233678331771169 -7 -> 2.6486272911486461102735412463189E-68 Inexact Rounded
+remx3294 remainder 4506653461.4414974233678331771169 -74955470.977653038010031457181957E-887 -> NaN Division_impossible
+subx3294 subtract 4506653461.4414974233678331771169 -74955470.977653038010031457181957E-887 -> 4506653461.4414974233678331771169 Inexact Rounded
+addx3295 add 23777.857951114967684767609401626 720760.03897144157012301385227528 -> 744537.89692255653780778146167691 Inexact Rounded
+comx3295 compare 23777.857951114967684767609401626 720760.03897144157012301385227528 -> -1
+divx3295 divide 23777.857951114967684767609401626 720760.03897144157012301385227528 -> 0.032989978169498808275308039034795 Inexact Rounded
+dvix3295 divideint 23777.857951114967684767609401626 720760.03897144157012301385227528 -> 0
+mulx3295 multiply 23777.857951114967684767609401626 720760.03897144157012301385227528 -> 17138129823.503025913034987537096 Inexact Rounded
+powx3295 power 23777.857951114967684767609401626 720760 -> Infinity Overflow Inexact Rounded
+remx3295 remainder 23777.857951114967684767609401626 720760.03897144157012301385227528 -> 23777.857951114967684767609401626
+subx3295 subtract 23777.857951114967684767609401626 720760.03897144157012301385227528 -> -696982.18102032660243824624287365 Inexact Rounded
+addx3296 add -21337853323980858055292469611948 6080272840.3071490445256786982100E+532 -> 6.0802728403071490445256786982100E+541 Inexact Rounded
+comx3296 compare -21337853323980858055292469611948 6080272840.3071490445256786982100E+532 -> -1
+divx3296 divide -21337853323980858055292469611948 6080272840.3071490445256786982100E+532 -> -3.5093578667274020123788514069885E-511 Inexact Rounded
+dvix3296 divideint -21337853323980858055292469611948 6080272840.3071490445256786982100E+532 -> -0
+mulx3296 multiply -21337853323980858055292469611948 6080272840.3071490445256786982100E+532 -> -1.2973997003625843317417981902198E+573 Inexact Rounded
+powx3296 power -21337853323980858055292469611948 6 -> 9.4385298321304970306180652097874E+187 Inexact Rounded
+remx3296 remainder -21337853323980858055292469611948 6080272840.3071490445256786982100E+532 -> -21337853323980858055292469611948
+subx3296 subtract -21337853323980858055292469611948 6080272840.3071490445256786982100E+532 -> -6.0802728403071490445256786982100E+541 Inexact Rounded
+addx3297 add -818409238.0423893439849743856947 756.39156265972753259267069158760 -> -818408481.65082668425744179302401 Inexact Rounded
+comx3297 compare -818409238.0423893439849743856947 756.39156265972753259267069158760 -> -1
+divx3297 divide -818409238.0423893439849743856947 756.39156265972753259267069158760 -> -1081991.4954690752676494129493403 Inexact Rounded
+dvix3297 divideint -818409238.0423893439849743856947 756.39156265972753259267069158760 -> -1081991
+mulx3297 multiply -818409238.0423893439849743856947 756.39156265972753259267069158760 -> -619037842458.03980537370328252817 Inexact Rounded
+powx3297 power -818409238.0423893439849743856947 756 -> 1.6058883946373232750995543573461E+6738 Inexact Rounded
+remx3297 remainder -818409238.0423893439849743856947 756.39156265972753259267069158760 -> -374.76862809126749803143314108840
+subx3297 subtract -818409238.0423893439849743856947 756.39156265972753259267069158760 -> -818409994.43395200371250697836539 Inexact Rounded
+addx3298 add 47567380384943.87013600286155046 65.084709374908275826942076480326 -> 47567380385008.954845377769826287 Inexact Rounded
+comx3298 compare 47567380384943.87013600286155046 65.084709374908275826942076480326 -> 1
+divx3298 divide 47567380384943.87013600286155046 65.084709374908275826942076480326 -> 730853388480.86247690474303493972 Inexact Rounded
+dvix3298 divideint 47567380384943.87013600286155046 65.084709374908275826942076480326 -> 730853388480
+mulx3298 multiply 47567380384943.87013600286155046 65.084709374908275826942076480326 -> 3095909128079784.3348591472999468 Inexact Rounded
+powx3298 power 47567380384943.87013600286155046 65 -> 1.0594982876763214301042437482634E+889 Inexact Rounded
+remx3298 remainder 47567380384943.87013600286155046 65.084709374908275826942076480326 -> 56.134058687770878126430844955520
+subx3298 subtract 47567380384943.87013600286155046 65.084709374908275826942076480326 -> 47567380384878.785426627953274633 Inexact Rounded
+addx3299 add -296615544.05897984545127115290251 -5416115.4315053536014016450973264 -> -302031659.49048519905267279799984 Inexact Rounded
+comx3299 compare -296615544.05897984545127115290251 -5416115.4315053536014016450973264 -> -1
+divx3299 divide -296615544.05897984545127115290251 -5416115.4315053536014016450973264 -> 54.765366028496664530688259272591 Inexact Rounded
+dvix3299 divideint -296615544.05897984545127115290251 -5416115.4315053536014016450973264 -> 54
+mulx3299 multiply -296615544.05897984545127115290251 -5416115.4315053536014016450973264 -> 1606504025402196.8484885386501478 Inexact Rounded
+powx3299 power -296615544.05897984545127115290251 -5416115 -> -0E-10030 Underflow Subnormal Inexact Rounded Clamped
+remx3299 remainder -296615544.05897984545127115290251 -5416115.4315053536014016450973264 -> -4145310.7576907509755823176468844
+subx3299 subtract -296615544.05897984545127115290251 -5416115.4315053536014016450973264 -> -291199428.62747449184986950780518 Inexact Rounded
+addx3300 add 61391705914.046707180652185247584E+739 -675982087721.91856456125242297346 -> 6.1391705914046707180652185247584E+749 Inexact Rounded
+comx3300 compare 61391705914.046707180652185247584E+739 -675982087721.91856456125242297346 -> 1
+divx3300 divide 61391705914.046707180652185247584E+739 -675982087721.91856456125242297346 -> -9.0818539468906248593699700040068E+737 Inexact Rounded
+dvix3300 divideint 61391705914.046707180652185247584E+739 -675982087721.91856456125242297346 -> NaN Division_impossible
+mulx3300 multiply 61391705914.046707180652185247584E+739 -675982087721.91856456125242297346 -> -4.1499693532587347944890300176290E+761 Inexact Rounded
+powx3300 power 61391705914.046707180652185247584E+739 -7 -> 3.0425105291210947473420999890124E-5249 Inexact Rounded
+remx3300 remainder 61391705914.046707180652185247584E+739 -675982087721.91856456125242297346 -> NaN Division_impossible
+subx3300 subtract 61391705914.046707180652185247584E+739 -675982087721.91856456125242297346 -> 6.1391705914046707180652185247584E+749 Inexact Rounded
+
+-- randomly generated testcases [26 Sep 2001]
+precision: 33
+rounding: half_up
+maxExponent: 9999
+
+addx3401 add 042.668056830485571428877212944418 -01364112374639.4941124016455321071 -> -1364112374596.82605557115996067822 Inexact Rounded
+comx3401 compare 042.668056830485571428877212944418 -01364112374639.4941124016455321071 -> 1
+divx3401 divide 042.668056830485571428877212944418 -01364112374639.4941124016455321071 -> -3.12789896373176963160811150593867E-11 Inexact Rounded
+dvix3401 divideint 042.668056830485571428877212944418 -01364112374639.4941124016455321071 -> -0
+mulx3401 multiply 042.668056830485571428877212944418 -01364112374639.4941124016455321071 -> -58204024324286.5595453066065234923 Inexact Rounded
+powx3401 power 042.668056830485571428877212944418 -1 -> 0.0234367363850869744523417227148909 Inexact Rounded
+remx3401 remainder 042.668056830485571428877212944418 -01364112374639.4941124016455321071 -> 42.668056830485571428877212944418
+subx3401 subtract 042.668056830485571428877212944418 -01364112374639.4941124016455321071 -> 1364112374682.16216923213110353598 Inexact Rounded
+addx3402 add -327.179426341653256363531809227344E+453 759067457.107518663444899356760793 -> -3.27179426341653256363531809227344E+455 Inexact Rounded
+comx3402 compare -327.179426341653256363531809227344E+453 759067457.107518663444899356760793 -> -1
+divx3402 divide -327.179426341653256363531809227344E+453 759067457.107518663444899356760793 -> -4.31028129684803083255704680611589E+446 Inexact Rounded
+dvix3402 divideint -327.179426341653256363531809227344E+453 759067457.107518663444899356760793 -> NaN Division_impossible
+mulx3402 multiply -327.179426341653256363531809227344E+453 759067457.107518663444899356760793 -> -2.48351255171055445110558613627379E+464 Inexact Rounded
+powx3402 power -327.179426341653256363531809227344E+453 759067457 -> -Infinity Overflow Inexact Rounded
+remx3402 remainder -327.179426341653256363531809227344E+453 759067457.107518663444899356760793 -> NaN Division_impossible
+subx3402 subtract -327.179426341653256363531809227344E+453 759067457.107518663444899356760793 -> -3.27179426341653256363531809227344E+455 Inexact Rounded
+addx3403 add 81721.5803096185422787702538493471 900099473.245809628076790757217328 -> 900181194.826119246619069527471177 Inexact Rounded
+comx3403 compare 81721.5803096185422787702538493471 900099473.245809628076790757217328 -> -1
+divx3403 divide 81721.5803096185422787702538493471 900099473.245809628076790757217328 -> 0.0000907917210693679220610511319812826 Inexact Rounded
+dvix3403 divideint 81721.5803096185422787702538493471 900099473.245809628076790757217328 -> 0
+mulx3403 multiply 81721.5803096185422787702538493471 900099473.245809628076790757217328 -> 73557551389502.7779979042453102926 Inexact Rounded
+powx3403 power 81721.5803096185422787702538493471 900099473 -> Infinity Overflow Inexact Rounded
+remx3403 remainder 81721.5803096185422787702538493471 900099473.245809628076790757217328 -> 81721.5803096185422787702538493471
+subx3403 subtract 81721.5803096185422787702538493471 900099473.245809628076790757217328 -> -900017751.665500009534511986963479 Inexact Rounded
+addx3404 add 3991.56734635183403814636354392163E-807 72.3239822255871305731314565069132 -> 72.3239822255871305731314565069132 Inexact Rounded
+comx3404 compare 3991.56734635183403814636354392163E-807 72.3239822255871305731314565069132 -> -1
+divx3404 divide 3991.56734635183403814636354392163E-807 72.3239822255871305731314565069132 -> 5.51900935695390664984598248115290E-806 Inexact Rounded
+dvix3404 divideint 3991.56734635183403814636354392163E-807 72.3239822255871305731314565069132 -> 0
+mulx3404 multiply 3991.56734635183403814636354392163E-807 72.3239822255871305731314565069132 -> 2.88686045809784034794803928177854E-802 Inexact Rounded
+powx3404 power 3991.56734635183403814636354392163E-807 72 -> 0E-10031 Underflow Subnormal Inexact Rounded Clamped
+remx3404 remainder 3991.56734635183403814636354392163E-807 72.3239822255871305731314565069132 -> 3.99156734635183403814636354392163E-804
+subx3404 subtract 3991.56734635183403814636354392163E-807 72.3239822255871305731314565069132 -> -72.3239822255871305731314565069132 Inexact Rounded
+addx3405 add -66.3393308595957726456416979163306 5.08486573050459213864684589662559 -> -61.2544651290911805069948520197050 Inexact Rounded
+comx3405 compare -66.3393308595957726456416979163306 5.08486573050459213864684589662559 -> -1
+divx3405 divide -66.3393308595957726456416979163306 5.08486573050459213864684589662559 -> -13.0464272560079276694749924915850 Inexact Rounded
+dvix3405 divideint -66.3393308595957726456416979163306 5.08486573050459213864684589662559 -> -13
+mulx3405 multiply -66.3393308595957726456416979163306 5.08486573050459213864684589662559 -> -337.326590072564290813539036280205 Inexact Rounded
+powx3405 power -66.3393308595957726456416979163306 5 -> -1284858888.27285822259184896667990 Inexact Rounded
+remx3405 remainder -66.3393308595957726456416979163306 5.08486573050459213864684589662559 -> -0.23607636303607484323270126019793
+subx3405 subtract -66.3393308595957726456416979163306 5.08486573050459213864684589662559 -> -71.4241965901003647842885438129562 Inexact Rounded
+addx3406 add -393606.873703567753255097095208112E+111 -2124339550.86891093200758095660557 -> -3.93606873703567753255097095208112E+116 Inexact Rounded
+comx3406 compare -393606.873703567753255097095208112E+111 -2124339550.86891093200758095660557 -> -1
+divx3406 divide -393606.873703567753255097095208112E+111 -2124339550.86891093200758095660557 -> 1.85284350396137075010428736564737E+107 Inexact Rounded
+dvix3406 divideint -393606.873703567753255097095208112E+111 -2124339550.86891093200758095660557 -> NaN Division_impossible
+mulx3406 multiply -393606.873703567753255097095208112E+111 -2124339550.86891093200758095660557 -> 8.36154649302353269818801263275941E+125 Inexact Rounded
+powx3406 power -393606.873703567753255097095208112E+111 -2 -> 6.45467904123103560528919747688443E-234 Inexact Rounded
+remx3406 remainder -393606.873703567753255097095208112E+111 -2124339550.86891093200758095660557 -> NaN Division_impossible
+subx3406 subtract -393606.873703567753255097095208112E+111 -2124339550.86891093200758095660557 -> -3.93606873703567753255097095208112E+116 Inexact Rounded
+addx3407 add -019133598.609812524622150421584346 -858439846.628367734642622922030051 -> -877573445.238180259264773343614397
+comx3407 compare -019133598.609812524622150421584346 -858439846.628367734642622922030051 -> 1
+divx3407 divide -019133598.609812524622150421584346 -858439846.628367734642622922030051 -> 0.0222888053076312565797460650311070 Inexact Rounded
+dvix3407 divideint -019133598.609812524622150421584346 -858439846.628367734642622922030051 -> 0
+mulx3407 multiply -019133598.609812524622150421584346 -858439846.628367734642622922030051 -> 16425043456056213.7395191514029288 Inexact Rounded
+powx3407 power -019133598.609812524622150421584346 -858439847 -> -0E-10031 Underflow Subnormal Inexact Rounded Clamped
+remx3407 remainder -019133598.609812524622150421584346 -858439846.628367734642622922030051 -> -19133598.609812524622150421584346
+subx3407 subtract -019133598.609812524622150421584346 -858439846.628367734642622922030051 -> 839306248.018555210020472500445705
+addx3408 add 465.351982159046525762715549761814 240444.975944666924657629172844780 -> 240910.327926825971183391888394542 Inexact Rounded
+comx3408 compare 465.351982159046525762715549761814 240444.975944666924657629172844780 -> -1
+divx3408 divide 465.351982159046525762715549761814 240444.975944666924657629172844780 -> 0.00193537827243326122782974132829095 Inexact Rounded
+dvix3408 divideint 465.351982159046525762715549761814 240444.975944666924657629172844780 -> 0
+mulx3408 multiply 465.351982159046525762715549761814 240444.975944666924657629172844780 -> 111891546.156035013780371395668674 Inexact Rounded
+powx3408 power 465.351982159046525762715549761814 240445 -> Infinity Overflow Inexact Rounded
+remx3408 remainder 465.351982159046525762715549761814 240444.975944666924657629172844780 -> 465.351982159046525762715549761814
+subx3408 subtract 465.351982159046525762715549761814 240444.975944666924657629172844780 -> -239979.623962507878131866457295018 Inexact Rounded
+addx3409 add 28066955004783.1076824222873384828 571699969.220753535758504907561016E-718 -> 28066955004783.1076824222873384828 Inexact Rounded
+comx3409 compare 28066955004783.1076824222873384828 571699969.220753535758504907561016E-718 -> 1
+divx3409 divide 28066955004783.1076824222873384828 571699969.220753535758504907561016E-718 -> 4.90938543219432390013656968123815E+722 Inexact Rounded
+dvix3409 divideint 28066955004783.1076824222873384828 571699969.220753535758504907561016E-718 -> NaN Division_impossible
+mulx3409 multiply 28066955004783.1076824222873384828 571699969.220753535758504907561016E-718 -> 1.60458773123547770690452195569223E-696 Inexact Rounded
+powx3409 power 28066955004783.1076824222873384828 6 -> 4.88845689938951583020171325568218E+80 Inexact Rounded
+remx3409 remainder 28066955004783.1076824222873384828 571699969.220753535758504907561016E-718 -> NaN Division_impossible
+subx3409 subtract 28066955004783.1076824222873384828 571699969.220753535758504907561016E-718 -> 28066955004783.1076824222873384828 Inexact Rounded
+addx3410 add 28275236927392.4960902824105246047 28212038.4825243127096613158419270E+422 -> 2.82120384825243127096613158419270E+429 Inexact Rounded
+comx3410 compare 28275236927392.4960902824105246047 28212038.4825243127096613158419270E+422 -> -1
+divx3410 divide 28275236927392.4960902824105246047 28212038.4825243127096613158419270E+422 -> 1.00224012330435927467559203688861E-416 Inexact Rounded
+dvix3410 divideint 28275236927392.4960902824105246047 28212038.4825243127096613158419270E+422 -> 0
+mulx3410 multiply 28275236927392.4960902824105246047 28212038.4825243127096613158419270E+422 -> 7.97702072298089605706798770013561E+442 Inexact Rounded
+powx3410 power 28275236927392.4960902824105246047 3 -> 2.26057415546622161347322061281516E+40 Inexact Rounded
+remx3410 remainder 28275236927392.4960902824105246047 28212038.4825243127096613158419270E+422 -> 28275236927392.4960902824105246047
+subx3410 subtract 28275236927392.4960902824105246047 28212038.4825243127096613158419270E+422 -> -2.82120384825243127096613158419270E+429 Inexact Rounded
+addx3411 add 11791.8644211874630234271801789996 -8.45457275930363860982261343159741 -> 11783.4098484281593848173575655680 Inexact Rounded
+comx3411 compare 11791.8644211874630234271801789996 -8.45457275930363860982261343159741 -> 1
+divx3411 divide 11791.8644211874630234271801789996 -8.45457275930363860982261343159741 -> -1394.73214754836418731335761858151 Inexact Rounded
+dvix3411 divideint 11791.8644211874630234271801789996 -8.45457275930363860982261343159741 -> -1394
+mulx3411 multiply 11791.8644211874630234271801789996 -8.45457275930363860982261343159741 -> -99695.1757167732926302533138186716 Inexact Rounded
+powx3411 power 11791.8644211874630234271801789996 -8 -> 2.67510099318723516565332928253711E-33 Inexact Rounded
+remx3411 remainder 11791.8644211874630234271801789996 -8.45457275930363860982261343159741 -> 6.18999471819080133445705535281046
+subx3411 subtract 11791.8644211874630234271801789996 -8.45457275930363860982261343159741 -> 11800.3189939467666620370027924312 Inexact Rounded
+addx3412 add 44.7085340739581668975502342787578 -9337.05408133023920640485556647937 -> -9292.34554725628103950730533220061 Inexact Rounded
+comx3412 compare 44.7085340739581668975502342787578 -9337.05408133023920640485556647937 -> 1
+divx3412 divide 44.7085340739581668975502342787578 -9337.05408133023920640485556647937 -> -0.00478829121953512281527242631775613 Inexact Rounded
+dvix3412 divideint 44.7085340739581668975502342787578 -9337.05408133023920640485556647937 -> -0
+mulx3412 multiply 44.7085340739581668975502342787578 -9337.05408133023920640485556647937 -> -417446.000545543168866158913077419 Inexact Rounded
+powx3412 power 44.7085340739581668975502342787578 -9337 -> 0E-10031 Underflow Subnormal Inexact Rounded Clamped
+remx3412 remainder 44.7085340739581668975502342787578 -9337.05408133023920640485556647937 -> 44.7085340739581668975502342787578
+subx3412 subtract 44.7085340739581668975502342787578 -9337.05408133023920640485556647937 -> 9381.76261540419737330240580075813 Inexact Rounded
+addx3413 add 93354527428804.5458053295581965867E+576 -856525909852.318790321300941615314 -> 9.33545274288045458053295581965867E+589 Inexact Rounded
+comx3413 compare 93354527428804.5458053295581965867E+576 -856525909852.318790321300941615314 -> 1
+divx3413 divide 93354527428804.5458053295581965867E+576 -856525909852.318790321300941615314 -> -1.08992064752484400353231056271614E+578 Inexact Rounded
+dvix3413 divideint 93354527428804.5458053295581965867E+576 -856525909852.318790321300941615314 -> NaN Division_impossible
+mulx3413 multiply 93354527428804.5458053295581965867E+576 -856525909852.318790321300941615314 -> -7.99605715447900642683774360731254E+601 Inexact Rounded
+powx3413 power 93354527428804.5458053295581965867E+576 -9 -> 1.85687015691763406448005521221518E-5310 Inexact Rounded
+remx3413 remainder 93354527428804.5458053295581965867E+576 -856525909852.318790321300941615314 -> NaN Division_impossible
+subx3413 subtract 93354527428804.5458053295581965867E+576 -856525909852.318790321300941615314 -> 9.33545274288045458053295581965867E+589 Inexact Rounded
+addx3414 add -367399415798804503177950040443482 -54845683.9691776397285506712812754 -> -367399415798804503177950095289166 Inexact Rounded
+comx3414 compare -367399415798804503177950040443482 -54845683.9691776397285506712812754 -> -1
+divx3414 divide -367399415798804503177950040443482 -54845683.9691776397285506712812754 -> 6698784465980529140072174.30474769 Inexact Rounded
+dvix3414 divideint -367399415798804503177950040443482 -54845683.9691776397285506712812754 -> 6698784465980529140072174
+mulx3414 multiply -367399415798804503177950040443482 -54845683.9691776397285506712812754 -> 2.01502722493617222018040789291414E+40 Inexact Rounded
+powx3414 power -367399415798804503177950040443482 -54845684 -> 0E-10031 Underflow Subnormal Inexact Rounded Clamped
+remx3414 remainder -367399415798804503177950040443482 -54845683.9691776397285506712812754 -> -16714095.6549657189177857892292804
+subx3414 subtract -367399415798804503177950040443482 -54845683.9691776397285506712812754 -> -367399415798804503177949985597798 Inexact Rounded
+addx3415 add -2.87155919781024108503670175443740 89529730130.6427881332776797193807 -> 89529730127.7712289354674386343440 Inexact Rounded
+comx3415 compare -2.87155919781024108503670175443740 89529730130.6427881332776797193807 -> -1
+divx3415 divide -2.87155919781024108503670175443740 89529730130.6427881332776797193807 -> -3.20738060264454013174835928754430E-11 Inexact Rounded
+dvix3415 divideint -2.87155919781024108503670175443740 89529730130.6427881332776797193807 -> -0
+mulx3415 multiply -2.87155919781024108503670175443740 89529730130.6427881332776797193807 -> -257089920034.115975469931085527642 Inexact Rounded
+powx3415 power -2.87155919781024108503670175443740 9 -> -13275.7774683251354527310820885737 Inexact Rounded
+remx3415 remainder -2.87155919781024108503670175443740 89529730130.6427881332776797193807 -> -2.87155919781024108503670175443740
+subx3415 subtract -2.87155919781024108503670175443740 89529730130.6427881332776797193807 -> -89529730133.5143473310879208044174 Inexact Rounded
+addx3416 add -010.693934338179479652178057279204E+188 26484.8887731973153745666514260684 -> -1.06939343381794796521780572792040E+189 Inexact Rounded
+comx3416 compare -010.693934338179479652178057279204E+188 26484.8887731973153745666514260684 -> -1
+divx3416 divide -010.693934338179479652178057279204E+188 26484.8887731973153745666514260684 -> -4.03774938598259547575707503087638E+184 Inexact Rounded
+dvix3416 divideint -010.693934338179479652178057279204E+188 26484.8887731973153745666514260684 -> NaN Division_impossible
+mulx3416 multiply -010.693934338179479652178057279204E+188 26484.8887731973153745666514260684 -> -2.83227661494558963558481633880647E+193 Inexact Rounded
+powx3416 power -010.693934338179479652178057279204E+188 26485 -> -Infinity Overflow Inexact Rounded
+remx3416 remainder -010.693934338179479652178057279204E+188 26484.8887731973153745666514260684 -> NaN Division_impossible
+subx3416 subtract -010.693934338179479652178057279204E+188 26484.8887731973153745666514260684 -> -1.06939343381794796521780572792040E+189 Inexact Rounded
+addx3417 add 611655569568.832698912762075889186 010182743219.475839030505966016982 -> 621838312788.308537943268041906168
+comx3417 compare 611655569568.832698912762075889186 010182743219.475839030505966016982 -> 1
+divx3417 divide 611655569568.832698912762075889186 010182743219.475839030505966016982 -> 60.0678575886074367081836436812959 Inexact Rounded
+dvix3417 divideint 611655569568.832698912762075889186 010182743219.475839030505966016982 -> 60
+mulx3417 multiply 611655569568.832698912762075889186 010182743219.475839030505966016982 -> 6228331603681663511826.60450280350 Inexact Rounded
+powx3417 power 611655569568.832698912762075889186 1 -> 611655569568.832698912762075889186
+remx3417 remainder 611655569568.832698912762075889186 010182743219.475839030505966016982 -> 690976400.282357082404114870266
+subx3417 subtract 611655569568.832698912762075889186 010182743219.475839030505966016982 -> 601472826349.356859882256109872204
+addx3418 add 3457947.39062863674882672518304442 -01.9995218868908849056866549811425 -> 3457945.39110674985794181949638944 Inexact Rounded
+comx3418 compare 3457947.39062863674882672518304442 -01.9995218868908849056866549811425 -> 1
+divx3418 divide 3457947.39062863674882672518304442 -01.9995218868908849056866549811425 -> -1729387.11663991852426428263230475 Inexact Rounded
+dvix3418 divideint 3457947.39062863674882672518304442 -01.9995218868908849056866549811425 -> -1729387
+mulx3418 multiply 3457947.39062863674882672518304442 -01.9995218868908849056866549811425 -> -6914241.49127918361259252956576654 Inexact Rounded
+powx3418 power 3457947.39062863674882672518304442 -2 -> 8.36302195229701913376802373659526E-14 Inexact Rounded
+remx3418 remainder 3457947.39062863674882672518304442 -01.9995218868908849056866549811425 -> 0.2332240699744359979851713353525
+subx3418 subtract 3457947.39062863674882672518304442 -01.9995218868908849056866549811425 -> 3457949.39015052363971163086969940 Inexact Rounded
+addx3419 add -53308666960535.7393391289364591513 -6527.00547629475578694521436764596E-442 -> -53308666960535.7393391289364591513 Inexact Rounded
+comx3419 compare -53308666960535.7393391289364591513 -6527.00547629475578694521436764596E-442 -> -1
+divx3419 divide -53308666960535.7393391289364591513 -6527.00547629475578694521436764596E-442 -> 8.16740037282731870883136714441204E+451 Inexact Rounded
+dvix3419 divideint -53308666960535.7393391289364591513 -6527.00547629475578694521436764596E-442 -> NaN Division_impossible
+mulx3419 multiply -53308666960535.7393391289364591513 -6527.00547629475578694521436764596E-442 -> 3.47945961185390084641156250100085E-425 Inexact Rounded
+powx3419 power -53308666960535.7393391289364591513 -7 -> -8.17363502380497033342380498988958E-97 Inexact Rounded
+remx3419 remainder -53308666960535.7393391289364591513 -6527.00547629475578694521436764596E-442 -> NaN Division_impossible
+subx3419 subtract -53308666960535.7393391289364591513 -6527.00547629475578694521436764596E-442 -> -53308666960535.7393391289364591513 Inexact Rounded
+addx3420 add -5568057.17870139549478277980540034 -407906443.141342175740471849723638 -> -413474500.320043571235254629529038 Inexact Rounded
+comx3420 compare -5568057.17870139549478277980540034 -407906443.141342175740471849723638 -> 1
+divx3420 divide -5568057.17870139549478277980540034 -407906443.141342175740471849723638 -> 0.0136503290701197094953429018013146 Inexact Rounded
+dvix3420 divideint -5568057.17870139549478277980540034 -407906443.141342175740471849723638 -> 0
+mulx3420 multiply -5568057.17870139549478277980540034 -407906443.141342175740471849723638 -> 2271246398971702.91169807728132089 Inexact Rounded
+powx3420 power -5568057.17870139549478277980540034 -407906443 -> -0E-10031 Underflow Subnormal Inexact Rounded Clamped
+remx3420 remainder -5568057.17870139549478277980540034 -407906443.141342175740471849723638 -> -5568057.17870139549478277980540034
+subx3420 subtract -5568057.17870139549478277980540034 -407906443.141342175740471849723638 -> 402338385.962640780245689069918238 Inexact Rounded
+addx3421 add 9804385273.49533524416415189990857 84.1433929743544659553964804646569 -> 9804385357.63872821851861785530505 Inexact Rounded
+comx3421 compare 9804385273.49533524416415189990857 84.1433929743544659553964804646569 -> 1
+divx3421 divide 9804385273.49533524416415189990857 84.1433929743544659553964804646569 -> 116519965.821719977402398190558439 Inexact Rounded
+dvix3421 divideint 9804385273.49533524416415189990857 84.1433929743544659553964804646569 -> 116519965
+mulx3421 multiply 9804385273.49533524416415189990857 84.1433929743544659553964804646569 -> 824974242939.691780798621180901714 Inexact Rounded
+powx3421 power 9804385273.49533524416415189990857 84 -> 1.90244010779692739037080418507909E+839 Inexact Rounded
+remx3421 remainder 9804385273.49533524416415189990857 84.1433929743544659553964804646569 -> 69.1423069734476624350435642749915
+subx3421 subtract 9804385273.49533524416415189990857 84.1433929743544659553964804646569 -> 9804385189.35194226980968594451209 Inexact Rounded
+addx3422 add -5234910986592.18801727046580014273E-547 -5874220715892.91440069210512515154 -> -5874220715892.91440069210512515154 Inexact Rounded
+comx3422 compare -5234910986592.18801727046580014273E-547 -5874220715892.91440069210512515154 -> 1
+divx3422 divide -5234910986592.18801727046580014273E-547 -5874220715892.91440069210512515154 -> 8.91166886601477021757439826903776E-548 Inexact Rounded
+dvix3422 divideint -5234910986592.18801727046580014273E-547 -5874220715892.91440069210512515154 -> 0
+mulx3422 multiply -5234910986592.18801727046580014273E-547 -5874220715892.91440069210512515154 -> 3.07510225632952455144944282925583E-522 Inexact Rounded
+powx3422 power -5234910986592.18801727046580014273E-547 -6 -> 4.85896970703117149235935037271084E+3205 Inexact Rounded
+remx3422 remainder -5234910986592.18801727046580014273E-547 -5874220715892.91440069210512515154 -> -5.23491098659218801727046580014273E-535
+subx3422 subtract -5234910986592.18801727046580014273E-547 -5874220715892.91440069210512515154 -> 5874220715892.91440069210512515154 Inexact Rounded
+addx3423 add 698416560151955285929747633786867E-495 51754681.6784872628933218985216916E-266 -> 5.17546816784872628933218985216916E-259 Inexact Rounded
+comx3423 compare 698416560151955285929747633786867E-495 51754681.6784872628933218985216916E-266 -> -1
+divx3423 divide 698416560151955285929747633786867E-495 51754681.6784872628933218985216916E-266 -> 1.34947513442491971488363250398908E-204 Inexact Rounded
+dvix3423 divideint 698416560151955285929747633786867E-495 51754681.6784872628933218985216916E-266 -> 0
+mulx3423 multiply 698416560151955285929747633786867E-495 51754681.6784872628933218985216916E-266 -> 3.61463267496484976064271305679796E-721 Inexact Rounded
+powx3423 power 698416560151955285929747633786867E-495 5 -> 1.66177661007189430761396979787413E-2311 Inexact Rounded
+remx3423 remainder 698416560151955285929747633786867E-495 51754681.6784872628933218985216916E-266 -> 6.98416560151955285929747633786867E-463
+subx3423 subtract 698416560151955285929747633786867E-495 51754681.6784872628933218985216916E-266 -> -5.17546816784872628933218985216916E-259 Inexact Rounded
+addx3424 add 107635.497735316515080720330536027 -3972075.83989512668362609609006425E-605 -> 107635.497735316515080720330536027 Inexact Rounded
+comx3424 compare 107635.497735316515080720330536027 -3972075.83989512668362609609006425E-605 -> 1
+divx3424 divide 107635.497735316515080720330536027 -3972075.83989512668362609609006425E-605 -> -2.70980469844599888443309571235597E+603 Inexact Rounded
+dvix3424 divideint 107635.497735316515080720330536027 -3972075.83989512668362609609006425E-605 -> NaN Division_impossible
+mulx3424 multiply 107635.497735316515080720330536027 -3972075.83989512668362609609006425E-605 -> -4.27536360069537352698066408021773E-594 Inexact Rounded
+powx3424 power 107635.497735316515080720330536027 -4 -> 7.45037111502910487803432806334714E-21 Inexact Rounded
+remx3424 remainder 107635.497735316515080720330536027 -3972075.83989512668362609609006425E-605 -> NaN Division_impossible
+subx3424 subtract 107635.497735316515080720330536027 -3972075.83989512668362609609006425E-605 -> 107635.497735316515080720330536027 Inexact Rounded
+addx3425 add -32174291345686.5371446616670961807 79518863759385.5925052747867099091E+408 -> 7.95188637593855925052747867099091E+421 Inexact Rounded
+comx3425 compare -32174291345686.5371446616670961807 79518863759385.5925052747867099091E+408 -> -1
+divx3425 divide -32174291345686.5371446616670961807 79518863759385.5925052747867099091E+408 -> -4.04612060894658007715621807881076E-409 Inexact Rounded
+dvix3425 divideint -32174291345686.5371446616670961807 79518863759385.5925052747867099091E+408 -> -0
+mulx3425 multiply -32174291345686.5371446616670961807 79518863759385.5925052747867099091E+408 -> -2.55846309007242668513226814043593E+435 Inexact Rounded
+powx3425 power -32174291345686.5371446616670961807 8 -> 1.14834377656109143210058690590666E+108 Inexact Rounded
+remx3425 remainder -32174291345686.5371446616670961807 79518863759385.5925052747867099091E+408 -> -32174291345686.5371446616670961807
+subx3425 subtract -32174291345686.5371446616670961807 79518863759385.5925052747867099091E+408 -> -7.95188637593855925052747867099091E+421 Inexact Rounded
+addx3426 add -8151730494.53190523620899410544099E+688 -93173.0631474527142307644239919480E+900 -> -9.31730631474527142307644239919480E+904 Inexact Rounded
+comx3426 compare -8151730494.53190523620899410544099E+688 -93173.0631474527142307644239919480E+900 -> 1
+divx3426 divide -8151730494.53190523620899410544099E+688 -93173.0631474527142307644239919480E+900 -> 8.74902060655796717043678441884283E-208 Inexact Rounded
+dvix3426 divideint -8151730494.53190523620899410544099E+688 -93173.0631474527142307644239919480E+900 -> 0
+mulx3426 multiply -8151730494.53190523620899410544099E+688 -93173.0631474527142307644239919480E+900 -> 7.59521700128037149179751467730962E+1602 Inexact Rounded
+powx3426 power -8151730494.53190523620899410544099E+688 -9 -> -6.29146352774842448375275282183700E-6282 Inexact Rounded
+remx3426 remainder -8151730494.53190523620899410544099E+688 -93173.0631474527142307644239919480E+900 -> -8.15173049453190523620899410544099E+697
+subx3426 subtract -8151730494.53190523620899410544099E+688 -93173.0631474527142307644239919480E+900 -> 9.31730631474527142307644239919480E+904 Inexact Rounded
+addx3427 add 1.33649801345976199708341799505220 -56623.0530039528969825480755159562E+459 -> -5.66230530039528969825480755159562E+463 Inexact Rounded
+comx3427 compare 1.33649801345976199708341799505220 -56623.0530039528969825480755159562E+459 -> 1
+divx3427 divide 1.33649801345976199708341799505220 -56623.0530039528969825480755159562E+459 -> -2.36034255052700900395787131334608E-464 Inexact Rounded
+dvix3427 divideint 1.33649801345976199708341799505220 -56623.0530039528969825480755159562E+459 -> -0
+mulx3427 multiply 1.33649801345976199708341799505220 -56623.0530039528969825480755159562E+459 -> -7.56765978558098558928268129700052E+463 Inexact Rounded
+powx3427 power 1.33649801345976199708341799505220 -6 -> 0.175464835912284900180305028965188 Inexact Rounded
+remx3427 remainder 1.33649801345976199708341799505220 -56623.0530039528969825480755159562E+459 -> 1.33649801345976199708341799505220
+subx3427 subtract 1.33649801345976199708341799505220 -56623.0530039528969825480755159562E+459 -> 5.66230530039528969825480755159562E+463 Inexact Rounded
+addx3428 add 67762238162788.6551061476018185196 -6140.75837959248100352788853809376E-822 -> 67762238162788.6551061476018185196 Inexact Rounded
+comx3428 compare 67762238162788.6551061476018185196 -6140.75837959248100352788853809376E-822 -> 1
+divx3428 divide 67762238162788.6551061476018185196 -6140.75837959248100352788853809376E-822 -> -1.10348321777294157014941951870409E+832 Inexact Rounded
+dvix3428 divideint 67762238162788.6551061476018185196 -6140.75837959248100352788853809376E-822 -> NaN Division_impossible
+mulx3428 multiply 67762238162788.6551061476018185196 -6140.75837959248100352788853809376E-822 -> -4.16111531818085838717201828773857E-805 Inexact Rounded
+powx3428 power 67762238162788.6551061476018185196 -6 -> 1.03293631708006509074972764670281E-83 Inexact Rounded
+remx3428 remainder 67762238162788.6551061476018185196 -6140.75837959248100352788853809376E-822 -> NaN Division_impossible
+subx3428 subtract 67762238162788.6551061476018185196 -6140.75837959248100352788853809376E-822 -> 67762238162788.6551061476018185196 Inexact Rounded
+addx3429 add 4286562.76568866751577306056498271 6286.77291578497580015557979349893E+820 -> 6.28677291578497580015557979349893E+823 Inexact Rounded
+comx3429 compare 4286562.76568866751577306056498271 6286.77291578497580015557979349893E+820 -> -1
+divx3429 divide 4286562.76568866751577306056498271 6286.77291578497580015557979349893E+820 -> 6.81838333133660025740681459349372E-818 Inexact Rounded
+dvix3429 divideint 4286562.76568866751577306056498271 6286.77291578497580015557979349893E+820 -> 0
+mulx3429 multiply 4286562.76568866751577306056498271 6286.77291578497580015557979349893E+820 -> 2.69486466971438542975159893306219E+830 Inexact Rounded
+powx3429 power 4286562.76568866751577306056498271 6 -> 6.20376193064412081058181881805108E+39 Inexact Rounded
+remx3429 remainder 4286562.76568866751577306056498271 6286.77291578497580015557979349893E+820 -> 4286562.76568866751577306056498271
+subx3429 subtract 4286562.76568866751577306056498271 6286.77291578497580015557979349893E+820 -> -6.28677291578497580015557979349893E+823 Inexact Rounded
+addx3430 add -765782.827432642697305644096365566 67.1634368459576834692758114618652 -> -765715.663995796739622174820554104 Inexact Rounded
+comx3430 compare -765782.827432642697305644096365566 67.1634368459576834692758114618652 -> -1
+divx3430 divide -765782.827432642697305644096365566 67.1634368459576834692758114618652 -> -11401.7814363639478774761697650867 Inexact Rounded
+dvix3430 divideint -765782.827432642697305644096365566 67.1634368459576834692758114618652 -> -11401
+mulx3430 multiply -765782.827432642697305644096365566 67.1634368459576834692758114618652 -> -51432606.5679912088468256122315944 Inexact Rounded
+powx3430 power -765782.827432642697305644096365566 67 -> -1.71821200770749773595473594136582E+394 Inexact Rounded
+remx3430 remainder -765782.827432642697305644096365566 67.1634368459576834692758114618652 -> -52.4839518791480724305698888408548
+subx3430 subtract -765782.827432642697305644096365566 67.1634368459576834692758114618652 -> -765849.990869488654989113372177028 Inexact Rounded
+addx3431 add 46.2835931916106252756465724211276 59.2989237834093118332826617957791 -> 105.582516975019937108929234216907 Inexact Rounded
+comx3431 compare 46.2835931916106252756465724211276 59.2989237834093118332826617957791 -> -1
+divx3431 divide 46.2835931916106252756465724211276 59.2989237834093118332826617957791 -> 0.780513207299722975882416995140701 Inexact Rounded
+dvix3431 divideint 46.2835931916106252756465724211276 59.2989237834093118332826617957791 -> 0
+mulx3431 multiply 46.2835931916106252756465724211276 59.2989237834093118332826617957791 -> 2744.56726509164060561370653286614 Inexact Rounded
+powx3431 power 46.2835931916106252756465724211276 59 -> 1.82052645780601002671007943923993E+98 Inexact Rounded
+remx3431 remainder 46.2835931916106252756465724211276 59.2989237834093118332826617957791 -> 46.2835931916106252756465724211276
+subx3431 subtract 46.2835931916106252756465724211276 59.2989237834093118332826617957791 -> -13.0153305917986865576360893746515
+addx3432 add -3029555.82298840234029474459694644 857535844655004737373089601128532 -> 857535844655004737373089598098976 Inexact Rounded
+comx3432 compare -3029555.82298840234029474459694644 857535844655004737373089601128532 -> -1
+divx3432 divide -3029555.82298840234029474459694644 857535844655004737373089601128532 -> -3.53286202771759704502126811323937E-27 Inexact Rounded
+dvix3432 divideint -3029555.82298840234029474459694644 857535844655004737373089601128532 -> -0
+mulx3432 multiply -3029555.82298840234029474459694644 857535844655004737373089601128532 -> -2.59795271159584761928986181925721E+39 Inexact Rounded
+powx3432 power -3029555.82298840234029474459694644 9 -> -2.14986224790431302561340100746360E+58 Inexact Rounded
+remx3432 remainder -3029555.82298840234029474459694644 857535844655004737373089601128532 -> -3029555.82298840234029474459694644
+subx3432 subtract -3029555.82298840234029474459694644 857535844655004737373089601128532 -> -857535844655004737373089604158088 Inexact Rounded
+addx3433 add -0138466789523.10694176543700501945E-948 481026979918882487383654367924619 -> 481026979918882487383654367924619 Inexact Rounded
+comx3433 compare -0138466789523.10694176543700501945E-948 481026979918882487383654367924619 -> -1
+divx3433 divide -0138466789523.10694176543700501945E-948 481026979918882487383654367924619 -> -2.87856597038397207797777811199804E-970 Inexact Rounded
+dvix3433 divideint -0138466789523.10694176543700501945E-948 481026979918882487383654367924619 -> -0
+mulx3433 multiply -0138466789523.10694176543700501945E-948 481026979918882487383654367924619 -> -6.66062615833636908683785283687416E-905 Inexact Rounded
+powx3433 power -0138466789523.10694176543700501945E-948 5 -> -5.09012109092637525843636056746667E-4685 Inexact Rounded
+remx3433 remainder -0138466789523.10694176543700501945E-948 481026979918882487383654367924619 -> -1.3846678952310694176543700501945E-937
+subx3433 subtract -0138466789523.10694176543700501945E-948 481026979918882487383654367924619 -> -481026979918882487383654367924619 Inexact Rounded
+addx3434 add -9593566466.96690575714244442109870 -87632034347.4845477961976776833770E+769 -> -8.76320343474845477961976776833770E+779 Inexact Rounded
+comx3434 compare -9593566466.96690575714244442109870 -87632034347.4845477961976776833770E+769 -> 1
+divx3434 divide -9593566466.96690575714244442109870 -87632034347.4845477961976776833770E+769 -> 1.09475564939253134070730299863765E-770 Inexact Rounded
+dvix3434 divideint -9593566466.96690575714244442109870 -87632034347.4845477961976776833770E+769 -> 0
+mulx3434 multiply -9593566466.96690575714244442109870 -87632034347.4845477961976776833770E+769 -> 8.40703746148119867711463485065336E+789 Inexact Rounded
+powx3434 power -9593566466.96690575714244442109870 -9 -> -1.45271091841882960010964421066745E-90 Inexact Rounded
+remx3434 remainder -9593566466.96690575714244442109870 -87632034347.4845477961976776833770E+769 -> -9593566466.96690575714244442109870
+subx3434 subtract -9593566466.96690575714244442109870 -87632034347.4845477961976776833770E+769 -> 8.76320343474845477961976776833770E+779 Inexact Rounded
+addx3435 add -3189.30765477670526823106100241863E-898 565688889.355241946154894311253202E-466 -> 5.65688889355241946154894311253202E-458 Inexact Rounded
+comx3435 compare -3189.30765477670526823106100241863E-898 565688889.355241946154894311253202E-466 -> -1
+divx3435 divide -3189.30765477670526823106100241863E-898 565688889.355241946154894311253202E-466 -> -5.63791814686655486612569970629128E-438 Inexact Rounded
+dvix3435 divideint -3189.30765477670526823106100241863E-898 565688889.355241946154894311253202E-466 -> -0
+mulx3435 multiply -3189.30765477670526823106100241863E-898 565688889.355241946154894311253202E-466 -> -1.80415590504280580443565448126548E-1352 Inexact Rounded
+powx3435 power -3189.30765477670526823106100241863E-898 6 -> 1.05239431027683904514311527228736E-5367 Inexact Rounded
+remx3435 remainder -3189.30765477670526823106100241863E-898 565688889.355241946154894311253202E-466 -> -3.18930765477670526823106100241863E-895
+subx3435 subtract -3189.30765477670526823106100241863E-898 565688889.355241946154894311253202E-466 -> -5.65688889355241946154894311253202E-458 Inexact Rounded
+addx3436 add -17084552395.6714834680088150543965 -631925802672.685034379197328370812E+527 -> -6.31925802672685034379197328370812E+538 Inexact Rounded
+comx3436 compare -17084552395.6714834680088150543965 -631925802672.685034379197328370812E+527 -> 1
+divx3436 divide -17084552395.6714834680088150543965 -631925802672.685034379197328370812E+527 -> 2.70356936263934622050341328519534E-529 Inexact Rounded
+dvix3436 divideint -17084552395.6714834680088150543965 -631925802672.685034379197328370812E+527 -> 0
+mulx3436 multiply -17084552395.6714834680088150543965 -631925802672.685034379197328370812E+527 -> 1.07961694859382462346866817306769E+549 Inexact Rounded
+powx3436 power -17084552395.6714834680088150543965 -6 -> 4.02141014977177984123011868387622E-62 Inexact Rounded
+remx3436 remainder -17084552395.6714834680088150543965 -631925802672.685034379197328370812E+527 -> -17084552395.6714834680088150543965
+subx3436 subtract -17084552395.6714834680088150543965 -631925802672.685034379197328370812E+527 -> 6.31925802672685034379197328370812E+538 Inexact Rounded
+addx3437 add 034956830.349823306815911887469760 -61600816.0672274126966042956781665E-667 -> 34956830.3498233068159118874697600 Inexact Rounded
+comx3437 compare 034956830.349823306815911887469760 -61600816.0672274126966042956781665E-667 -> 1
+divx3437 divide 034956830.349823306815911887469760 -61600816.0672274126966042956781665E-667 -> -5.67473494371787737607169979602343E+666 Inexact Rounded
+dvix3437 divideint 034956830.349823306815911887469760 -61600816.0672274126966042956781665E-667 -> NaN Division_impossible
+mulx3437 multiply 034956830.349823306815911887469760 -61600816.0672274126966042956781665E-667 -> -2.15336927667273841617128781173293E-652 Inexact Rounded
+powx3437 power 034956830.349823306815911887469760 -6 -> 5.48034272566098493462169431762597E-46 Inexact Rounded
+remx3437 remainder 034956830.349823306815911887469760 -61600816.0672274126966042956781665E-667 -> NaN Division_impossible
+subx3437 subtract 034956830.349823306815911887469760 -61600816.0672274126966042956781665E-667 -> 34956830.3498233068159118874697600 Inexact Rounded
+addx3438 add -763.440067781256632695791981893608 19.9263811350611007833220620745413 -> -743.513686646195531912469919819067 Inexact Rounded
+comx3438 compare -763.440067781256632695791981893608 19.9263811350611007833220620745413 -> -1
+divx3438 divide -763.440067781256632695791981893608 19.9263811350611007833220620745413 -> -38.3130314835722766807703585435688 Inexact Rounded
+dvix3438 divideint -763.440067781256632695791981893608 19.9263811350611007833220620745413 -> -38
+mulx3438 multiply -763.440067781256632695791981893608 19.9263811350611007833220620745413 -> -15212.5977643862002585039364868883 Inexact Rounded
+powx3438 power -763.440067781256632695791981893608 20 -> 4.52375407727336769552481661250924E+57 Inexact Rounded
+remx3438 remainder -763.440067781256632695791981893608 19.9263811350611007833220620745413 -> -6.2375846489348029295536230610386
+subx3438 subtract -763.440067781256632695791981893608 19.9263811350611007833220620745413 -> -783.366448916317733479114043968149 Inexact Rounded
+addx3439 add -510472027868440667684575147556654E+789 834872378550801889983927148587909 -> -5.10472027868440667684575147556654E+821 Inexact Rounded
+comx3439 compare -510472027868440667684575147556654E+789 834872378550801889983927148587909 -> -1
+divx3439 divide -510472027868440667684575147556654E+789 834872378550801889983927148587909 -> -6.11437198047603754107526874071737E+788 Inexact Rounded
+dvix3439 divideint -510472027868440667684575147556654E+789 834872378550801889983927148587909 -> NaN Division_impossible
+mulx3439 multiply -510472027868440667684575147556654E+789 834872378550801889983927148587909 -> -4.26178996090176289115594057419892E+854 Inexact Rounded
+powx3439 power -510472027868440667684575147556654E+789 8 -> 4.61079266619522147262600755274182E+6573 Inexact Rounded
+remx3439 remainder -510472027868440667684575147556654E+789 834872378550801889983927148587909 -> NaN Division_impossible
+subx3439 subtract -510472027868440667684575147556654E+789 834872378550801889983927148587909 -> -5.10472027868440667684575147556654E+821 Inexact Rounded
+addx3440 add 070304761.560517086676993503034828E-094 -17773.7446959771077104057845273992E-761 -> 7.03047615605170866769935030348280E-87 Inexact Rounded
+comx3440 compare 070304761.560517086676993503034828E-094 -17773.7446959771077104057845273992E-761 -> 1
+divx3440 divide 070304761.560517086676993503034828E-094 -17773.7446959771077104057845273992E-761 -> -3.95554019499502537743883483402608E+670 Inexact Rounded
+dvix3440 divideint 070304761.560517086676993503034828E-094 -17773.7446959771077104057845273992E-761 -> NaN Division_impossible
+mulx3440 multiply 070304761.560517086676993503034828E-094 -17773.7446959771077104057845273992E-761 -> -1.24957888288817581538108991453732E-843 Inexact Rounded
+powx3440 power 070304761.560517086676993503034828E-094 -2 -> 2.02316135427631488479902919959627E+172 Inexact Rounded
+remx3440 remainder 070304761.560517086676993503034828E-094 -17773.7446959771077104057845273992E-761 -> NaN Division_impossible
+subx3440 subtract 070304761.560517086676993503034828E-094 -17773.7446959771077104057845273992E-761 -> 7.03047615605170866769935030348280E-87 Inexact Rounded
+addx3441 add -0970725697662.27605454336231195463 -4541.41897546697187157913886433474 -> -970725702203.695030010334183533769 Inexact Rounded
+comx3441 compare -0970725697662.27605454336231195463 -4541.41897546697187157913886433474 -> -1
+divx3441 divide -0970725697662.27605454336231195463 -4541.41897546697187157913886433474 -> 213749425.654447811698884007553614 Inexact Rounded
+dvix3441 divideint -0970725697662.27605454336231195463 -4541.41897546697187157913886433474 -> 213749425
+mulx3441 multiply -0970725697662.27605454336231195463 -4541.41897546697187157913886433474 -> 4408472103336875.21161867891724392 Inexact Rounded
+powx3441 power -0970725697662.27605454336231195463 -4541 -> -0E-10031 Underflow Subnormal Inexact Rounded Clamped
+remx3441 remainder -0970725697662.27605454336231195463 -4541.41897546697187157913886433474 -> -2972.12171050214753770792631747550
+subx3441 subtract -0970725697662.27605454336231195463 -4541.41897546697187157913886433474 -> -970725693120.857079076390440375491 Inexact Rounded
+addx3442 add -808178238631844268316111259558675 -598400.265108644514211244980426520 -> -808178238631844268316111260157075 Inexact Rounded
+comx3442 compare -808178238631844268316111259558675 -598400.265108644514211244980426520 -> -1
+divx3442 divide -808178238631844268316111259558675 -598400.265108644514211244980426520 -> 1350564640015847635178945884.97836 Inexact Rounded
+dvix3442 divideint -808178238631844268316111259558675 -598400.265108644514211244980426520 -> 1350564640015847635178945884
+mulx3442 multiply -808178238631844268316111259558675 -598400.265108644514211244980426520 -> 4.83614072252332979731348423145208E+38 Inexact Rounded
+powx3442 power -808178238631844268316111259558675 -598400 -> 0E-10031 Underflow Subnormal Inexact Rounded Clamped
+remx3442 remainder -808178238631844268316111259558675 -598400.265108644514211244980426520 -> -585452.097764536570956813681556320
+subx3442 subtract -808178238631844268316111259558675 -598400.265108644514211244980426520 -> -808178238631844268316111258960275 Inexact Rounded
+addx3443 add -9.90826595069053564311371766315200 -031.625916781307847864872329806646 -> -41.5341827319983835079860474697980 Rounded
+comx3443 compare -9.90826595069053564311371766315200 -031.625916781307847864872329806646 -> 1
+divx3443 divide -9.90826595069053564311371766315200 -031.625916781307847864872329806646 -> 0.313295770023233218639213140599856 Inexact Rounded
+dvix3443 divideint -9.90826595069053564311371766315200 -031.625916781307847864872329806646 -> 0
+mulx3443 multiply -9.90826595069053564311371766315200 -031.625916781307847864872329806646 -> 313.357994403604968250936036978086 Inexact Rounded
+powx3443 power -9.90826595069053564311371766315200 -32 -> 1.34299698259038003011439568004625E-32 Inexact Rounded
+remx3443 remainder -9.90826595069053564311371766315200 -031.625916781307847864872329806646 -> -9.90826595069053564311371766315200
+subx3443 subtract -9.90826595069053564311371766315200 -031.625916781307847864872329806646 -> 21.7176508306173122217586121434940 Rounded
+addx3444 add -196925.469891897719160698483752907 -41268.9975444533794067723958739778 -> -238194.467436351098567470879626885 Inexact Rounded
+comx3444 compare -196925.469891897719160698483752907 -41268.9975444533794067723958739778 -> -1
+divx3444 divide -196925.469891897719160698483752907 -41268.9975444533794067723958739778 -> 4.77175317088274715226553516820589 Inexact Rounded
+dvix3444 divideint -196925.469891897719160698483752907 -41268.9975444533794067723958739778 -> 4
+mulx3444 multiply -196925.469891897719160698483752907 -41268.9975444533794067723958739778 -> 8126916733.40905487026003135987472 Inexact Rounded
+powx3444 power -196925.469891897719160698483752907 -41269 -> -0E-10031 Underflow Subnormal Inexact Rounded Clamped
+remx3444 remainder -196925.469891897719160698483752907 -41268.9975444533794067723958739778 -> -31849.4797140842015336089002569958
+subx3444 subtract -196925.469891897719160698483752907 -41268.9975444533794067723958739778 -> -155656.472347444339753926087878929 Inexact Rounded
+addx3445 add 421071135212152225162086005824310 1335320330.08964354845796510145246E-604 -> 421071135212152225162086005824310 Inexact Rounded
+comx3445 compare 421071135212152225162086005824310 1335320330.08964354845796510145246E-604 -> 1
+divx3445 divide 421071135212152225162086005824310 1335320330.08964354845796510145246E-604 -> 3.15333426537349744281860005497304E+627 Inexact Rounded
+dvix3445 divideint 421071135212152225162086005824310 1335320330.08964354845796510145246E-604 -> NaN Division_impossible
+mulx3445 multiply 421071135212152225162086005824310 1335320330.08964354845796510145246E-604 -> 5.62264847262712040027311932121460E-563 Inexact Rounded
+powx3445 power 421071135212152225162086005824310 1 -> 421071135212152225162086005824310
+remx3445 remainder 421071135212152225162086005824310 1335320330.08964354845796510145246E-604 -> NaN Division_impossible
+subx3445 subtract 421071135212152225162086005824310 1335320330.08964354845796510145246E-604 -> 421071135212152225162086005824310 Inexact Rounded
+addx3446 add 1249441.46421514282301182772247227 -0289848.71208912281976374705180836E-676 -> 1249441.46421514282301182772247227 Inexact Rounded
+comx3446 compare 1249441.46421514282301182772247227 -0289848.71208912281976374705180836E-676 -> 1
+divx3446 divide 1249441.46421514282301182772247227 -0289848.71208912281976374705180836E-676 -> -4.31066764178328992440635387255816E+676 Inexact Rounded
+dvix3446 divideint 1249441.46421514282301182772247227 -0289848.71208912281976374705180836E-676 -> NaN Division_impossible
+mulx3446 multiply 1249441.46421514282301182772247227 -0289848.71208912281976374705180836E-676 -> -3.62148999233506984566620611700349E-665 Inexact Rounded
+powx3446 power 1249441.46421514282301182772247227 -3 -> 5.12686942572191282348415024932322E-19 Inexact Rounded
+remx3446 remainder 1249441.46421514282301182772247227 -0289848.71208912281976374705180836E-676 -> NaN Division_impossible
+subx3446 subtract 1249441.46421514282301182772247227 -0289848.71208912281976374705180836E-676 -> 1249441.46421514282301182772247227 Inexact Rounded
+addx3447 add 74815000.4716875558358937279052903 -690425401708167622194241915195001E+891 -> -6.90425401708167622194241915195001E+923 Inexact Rounded
+comx3447 compare 74815000.4716875558358937279052903 -690425401708167622194241915195001E+891 -> 1
+divx3447 divide 74815000.4716875558358937279052903 -690425401708167622194241915195001E+891 -> -1.08360729901578455109968388309079E-916 Inexact Rounded
+dvix3447 divideint 74815000.4716875558358937279052903 -690425401708167622194241915195001E+891 -> -0
+mulx3447 multiply 74815000.4716875558358937279052903 -690425401708167622194241915195001E+891 -> -5.16541767544616308732028810026275E+931 Inexact Rounded
+powx3447 power 74815000.4716875558358937279052903 -7 -> 7.62218032252683815537906972439985E-56 Inexact Rounded
+remx3447 remainder 74815000.4716875558358937279052903 -690425401708167622194241915195001E+891 -> 74815000.4716875558358937279052903
+subx3447 subtract 74815000.4716875558358937279052903 -690425401708167622194241915195001E+891 -> 6.90425401708167622194241915195001E+923 Inexact Rounded
+addx3448 add -1683993.51210241555668790556759021 -72394384927344.8402585228267493374 -> -72394386611338.3523609383834372430 Inexact Rounded
+comx3448 compare -1683993.51210241555668790556759021 -72394384927344.8402585228267493374 -> 1
+divx3448 divide -1683993.51210241555668790556759021 -72394384927344.8402585228267493374 -> 2.32613829621244113284301004158794E-8 Inexact Rounded
+dvix3448 divideint -1683993.51210241555668790556759021 -72394384927344.8402585228267493374 -> 0
+mulx3448 multiply -1683993.51210241555668790556759021 -72394384927344.8402585228267493374 -> 121911674530293613615.441384822381 Inexact Rounded
+powx3448 power -1683993.51210241555668790556759021 -7 -> -2.60385683509956889000676113860292E-44 Inexact Rounded
+remx3448 remainder -1683993.51210241555668790556759021 -72394384927344.8402585228267493374 -> -1683993.51210241555668790556759021
+subx3448 subtract -1683993.51210241555668790556759021 -72394384927344.8402585228267493374 -> 72394383243351.3281561072700614318 Inexact Rounded
+addx3449 add -763.148530974741766171756970448158 517370.808956957601473642272664647 -> 516607.660425982859707470515694199 Inexact Rounded
+comx3449 compare -763.148530974741766171756970448158 517370.808956957601473642272664647 -> -1
+divx3449 divide -763.148530974741766171756970448158 517370.808956957601473642272664647 -> -0.00147505139014951946381155525173867 Inexact Rounded
+dvix3449 divideint -763.148530974741766171756970448158 517370.808956957601473642272664647 -> -0
+mulx3449 multiply -763.148530974741766171756970448158 517370.808956957601473642272664647 -> -394830772.824715962925351447322187 Inexact Rounded
+powx3449 power -763.148530974741766171756970448158 517371 -> -Infinity Overflow Inexact Rounded
+remx3449 remainder -763.148530974741766171756970448158 517370.808956957601473642272664647 -> -763.148530974741766171756970448158
+subx3449 subtract -763.148530974741766171756970448158 517370.808956957601473642272664647 -> -518133.957487932343239814029635095 Inexact Rounded
+addx3450 add -77.5841338812312523460591226178754 -927540422.641025050968830154578151E+524 -> -9.27540422641025050968830154578151E+532 Inexact Rounded
+comx3450 compare -77.5841338812312523460591226178754 -927540422.641025050968830154578151E+524 -> 1
+divx3450 divide -77.5841338812312523460591226178754 -927540422.641025050968830154578151E+524 -> 8.36450164191471769978415758342237E-532 Inexact Rounded
+dvix3450 divideint -77.5841338812312523460591226178754 -927540422.641025050968830154578151E+524 -> 0
+mulx3450 multiply -77.5841338812312523460591226178754 -927540422.641025050968830154578151E+524 -> 7.19624203304351070562409746475943E+534 Inexact Rounded
+powx3450 power -77.5841338812312523460591226178754 -9 -> -9.81846856873938549466341693997829E-18 Inexact Rounded
+remx3450 remainder -77.5841338812312523460591226178754 -927540422.641025050968830154578151E+524 -> -77.5841338812312523460591226178754
+subx3450 subtract -77.5841338812312523460591226178754 -927540422.641025050968830154578151E+524 -> 9.27540422641025050968830154578151E+532 Inexact Rounded
+addx3451 add 5176295309.89943746236102209837813 -129733.103628797477167908698565465 -> 5176165576.79580866488385418967956 Inexact Rounded
+comx3451 compare 5176295309.89943746236102209837813 -129733.103628797477167908698565465 -> 1
+divx3451 divide 5176295309.89943746236102209837813 -129733.103628797477167908698565465 -> -39899.5720067736855444089432524094 Inexact Rounded
+dvix3451 divideint 5176295309.89943746236102209837813 -129733.103628797477167908698565465 -> -39899
+mulx3451 multiply 5176295309.89943746236102209837813 -129733.103628797477167908698565465 -> -671536855852442.071887385512001794 Inexact Rounded
+powx3451 power 5176295309.89943746236102209837813 -129733 -> 0E-10031 Underflow Subnormal Inexact Rounded Clamped
+remx3451 remainder 5176295309.89943746236102209837813 -129733.103628797477167908698565465 -> 74208.214046920838632934314641965
+subx3451 subtract 5176295309.89943746236102209837813 -129733.103628797477167908698565465 -> 5176425043.00306625983819000707670 Inexact Rounded
+addx3452 add 4471634841166.90197229286530307326E+172 31511104397.8671727003201890825879E-955 -> 4.47163484116690197229286530307326E+184 Inexact Rounded
+comx3452 compare 4471634841166.90197229286530307326E+172 31511104397.8671727003201890825879E-955 -> 1
+divx3452 divide 4471634841166.90197229286530307326E+172 31511104397.8671727003201890825879E-955 -> 1.41906636616314987705536737025932E+1129 Inexact Rounded
+dvix3452 divideint 4471634841166.90197229286530307326E+172 31511104397.8671727003201890825879E-955 -> NaN Division_impossible
+mulx3452 multiply 4471634841166.90197229286530307326E+172 31511104397.8671727003201890825879E-955 -> 1.40906152309150441010046222214810E-760 Inexact Rounded
+powx3452 power 4471634841166.90197229286530307326E+172 3 -> 8.94126556389673498386397569249516E+553 Inexact Rounded
+remx3452 remainder 4471634841166.90197229286530307326E+172 31511104397.8671727003201890825879E-955 -> NaN Division_impossible
+subx3452 subtract 4471634841166.90197229286530307326E+172 31511104397.8671727003201890825879E-955 -> 4.47163484116690197229286530307326E+184 Inexact Rounded
+addx3453 add -8189130.15945231049670285726774317 2.57912402871404325831670923864936E-366 -> -8189130.15945231049670285726774317 Inexact Rounded
+comx3453 compare -8189130.15945231049670285726774317 2.57912402871404325831670923864936E-366 -> -1
+divx3453 divide -8189130.15945231049670285726774317 2.57912402871404325831670923864936E-366 -> -3.17515949922556778343526099830093E+372 Inexact Rounded
+dvix3453 divideint -8189130.15945231049670285726774317 2.57912402871404325831670923864936E-366 -> NaN Division_impossible
+mulx3453 multiply -8189130.15945231049670285726774317 2.57912402871404325831670923864936E-366 -> -2.11207823685103185039979144161848E-359 Inexact Rounded
+powx3453 power -8189130.15945231049670285726774317 3 -> -549178241054875982731.000937875885 Inexact Rounded
+remx3453 remainder -8189130.15945231049670285726774317 2.57912402871404325831670923864936E-366 -> NaN Division_impossible
+subx3453 subtract -8189130.15945231049670285726774317 2.57912402871404325831670923864936E-366 -> -8189130.15945231049670285726774317 Inexact Rounded
+addx3454 add -254346232981353293392888785643245 -764.416902486152093758287929678445 -> -254346232981353293392888785644009 Inexact Rounded
+comx3454 compare -254346232981353293392888785643245 -764.416902486152093758287929678445 -> -1
+divx3454 divide -254346232981353293392888785643245 -764.416902486152093758287929678445 -> 332732350833857889204406356900.665 Inexact Rounded
+dvix3454 divideint -254346232981353293392888785643245 -764.416902486152093758287929678445 -> 332732350833857889204406356900
+mulx3454 multiply -254346232981353293392888785643245 -764.416902486152093758287929678445 -> 1.94426559574627262006307326336289E+35 Inexact Rounded
+powx3454 power -254346232981353293392888785643245 -764 -> 0E-10031 Underflow Subnormal Inexact Rounded Clamped
+remx3454 remainder -254346232981353293392888785643245 -764.416902486152093758287929678445 -> -508.299323962538610580669092979500
+subx3454 subtract -254346232981353293392888785643245 -764.416902486152093758287929678445 -> -254346232981353293392888785642481 Inexact Rounded
+addx3455 add -2875.36745499544177964804277329726 -13187.8492045054802205691248267638 -> -16063.2166595009220002171676000611 Inexact Rounded
+comx3455 compare -2875.36745499544177964804277329726 -13187.8492045054802205691248267638 -> 1
+divx3455 divide -2875.36745499544177964804277329726 -13187.8492045054802205691248267638 -> 0.218031569091122520391599541575615 Inexact Rounded
+dvix3455 divideint -2875.36745499544177964804277329726 -13187.8492045054802205691248267638 -> 0
+mulx3455 multiply -2875.36745499544177964804277329726 -13187.8492045054802205691248267638 -> 37919912.4040225840727281633024665 Inexact Rounded
+powx3455 power -2875.36745499544177964804277329726 -13188 -> 0E-10031 Underflow Subnormal Inexact Rounded Clamped
+remx3455 remainder -2875.36745499544177964804277329726 -13187.8492045054802205691248267638 -> -2875.36745499544177964804277329726
+subx3455 subtract -2875.36745499544177964804277329726 -13187.8492045054802205691248267638 -> 10312.4817495100384409210820534665 Inexact Rounded
+addx3456 add -7.26927570984219944693602140223103 0160883021541.32275286769110003971E-438 -> -7.26927570984219944693602140223103 Inexact Rounded
+comx3456 compare -7.26927570984219944693602140223103 0160883021541.32275286769110003971E-438 -> -1
+divx3456 divide -7.26927570984219944693602140223103 0160883021541.32275286769110003971E-438 -> -4.51836100553039917574557235275173E+427 Inexact Rounded
+dvix3456 divideint -7.26927570984219944693602140223103 0160883021541.32275286769110003971E-438 -> NaN Division_impossible
+mulx3456 multiply -7.26927570984219944693602140223103 0160883021541.32275286769110003971E-438 -> -1.16950304061635681891361504442479E-426 Inexact Rounded
+powx3456 power -7.26927570984219944693602140223103 2 -> 52.8423693457018126451998096211036 Inexact Rounded
+remx3456 remainder -7.26927570984219944693602140223103 0160883021541.32275286769110003971E-438 -> NaN Division_impossible
+subx3456 subtract -7.26927570984219944693602140223103 0160883021541.32275286769110003971E-438 -> -7.26927570984219944693602140223103 Inexact Rounded
+addx3457 add -28567151.6868762752241056540028515E+498 -4470.15455137546427645290210989675 -> -2.85671516868762752241056540028515E+505 Inexact Rounded
+comx3457 compare -28567151.6868762752241056540028515E+498 -4470.15455137546427645290210989675 -> -1
+divx3457 divide -28567151.6868762752241056540028515E+498 -4470.15455137546427645290210989675 -> 6.39064071690455919792707589054106E+501 Inexact Rounded
+dvix3457 divideint -28567151.6868762752241056540028515E+498 -4470.15455137546427645290210989675 -> NaN Division_impossible
+mulx3457 multiply -28567151.6868762752241056540028515E+498 -4470.15455137546427645290210989675 -> 1.27699583132923253605397736797000E+509 Inexact Rounded
+powx3457 power -28567151.6868762752241056540028515E+498 -4470 -> 0E-10031 Underflow Subnormal Inexact Rounded Clamped
+remx3457 remainder -28567151.6868762752241056540028515E+498 -4470.15455137546427645290210989675 -> NaN Division_impossible
+subx3457 subtract -28567151.6868762752241056540028515E+498 -4470.15455137546427645290210989675 -> -2.85671516868762752241056540028515E+505 Inexact Rounded
+addx3458 add 7191753.79974136447257468282073718 81.3878426176038487948375777384429 -> 7191835.18758398207642347765831492 Inexact Rounded
+comx3458 compare 7191753.79974136447257468282073718 81.3878426176038487948375777384429 -> 1
+divx3458 divide 7191753.79974136447257468282073718 81.3878426176038487948375777384429 -> 88363.9812586188186733935569874100 Inexact Rounded
+dvix3458 divideint 7191753.79974136447257468282073718 81.3878426176038487948375777384429 -> 88363
+mulx3458 multiply 7191753.79974136447257468282073718 81.3878426176038487948375777384429 -> 585321326.397904638863485891524555 Inexact Rounded
+powx3458 power 7191753.79974136447257468282073718 81 -> 2.53290983138561482612557404148760E+555 Inexact Rounded
+remx3458 remainder 7191753.79974136447257468282073718 81.3878426176038487948375777384429 -> 79.8625220355815164499390351500273
+subx3458 subtract 7191753.79974136447257468282073718 81.3878426176038487948375777384429 -> 7191672.41189874686872588798315944 Inexact Rounded
+addx3459 add 502975804.069864536104621700404770 684.790028432074527960269515227243 -> 502976488.859892968179149660674285 Inexact Rounded
+comx3459 compare 502975804.069864536104621700404770 684.790028432074527960269515227243 -> 1
+divx3459 divide 502975804.069864536104621700404770 684.790028432074527960269515227243 -> 734496.390406706323899801641278933 Inexact Rounded
+dvix3459 divideint 502975804.069864536104621700404770 684.790028432074527960269515227243 -> 734496
+mulx3459 multiply 502975804.069864536104621700404770 684.790028432074527960269515227243 -> 344432815169.648082754214631086270 Inexact Rounded
+powx3459 power 502975804.069864536104621700404770 685 -> 3.62876716573623552761739177592677E+5960 Inexact Rounded
+remx3459 remainder 502975804.069864536104621700404770 684.790028432074527960269515227243 -> 267.346619523615915582548420925472
+subx3459 subtract 502975804.069864536104621700404770 684.790028432074527960269515227243 -> 502975119.279836104030093740135255 Inexact Rounded
+addx3460 add 1505368.42063731861590460453659570 -465242.678439951462767630022819105 -> 1040125.74219736715313697451377660 Inexact Rounded
+comx3460 compare 1505368.42063731861590460453659570 -465242.678439951462767630022819105 -> 1
+divx3460 divide 1505368.42063731861590460453659570 -465242.678439951462767630022819105 -> -3.23566278503319947059213001405065 Inexact Rounded
+dvix3460 divideint 1505368.42063731861590460453659570 -465242.678439951462767630022819105 -> -3
+mulx3460 multiply 1505368.42063731861590460453659570 -465242.678439951462767630022819105 -> -700361636056.225618266296899048765 Inexact Rounded
+powx3460 power 1505368.42063731861590460453659570 -465243 -> 0E-10031 Underflow Subnormal Inexact Rounded Clamped
+remx3460 remainder 1505368.42063731861590460453659570 -465242.678439951462767630022819105 -> 109640.385317464227601714468138385
+subx3460 subtract 1505368.42063731861590460453659570 -465242.678439951462767630022819105 -> 1970611.09907727007867223455941481 Inexact Rounded
+addx3461 add 69225023.2850142784063416137144829 8584050.06648191798834819995325693 -> 77809073.3514961963946898136677398 Inexact Rounded
+comx3461 compare 69225023.2850142784063416137144829 8584050.06648191798834819995325693 -> 1
+divx3461 divide 69225023.2850142784063416137144829 8584050.06648191798834819995325693 -> 8.06437785764050431295652411163382 Inexact Rounded
+dvix3461 divideint 69225023.2850142784063416137144829 8584050.06648191798834819995325693 -> 8
+mulx3461 multiply 69225023.2850142784063416137144829 8584050.06648191798834819995325693 -> 594231065731939.137329770485497261 Inexact Rounded
+powx3461 power 69225023.2850142784063416137144829 8584050 -> Infinity Overflow Inexact Rounded
+remx3461 remainder 69225023.2850142784063416137144829 8584050.06648191798834819995325693 -> 552622.75315893449955601408842746
+subx3461 subtract 69225023.2850142784063416137144829 8584050.06648191798834819995325693 -> 60640973.2185323604179934137612260 Inexact Rounded
+addx3462 add -55669501853.7751006841940471339310E+614 061400538.186044693233816566977189 -> -5.56695018537751006841940471339310E+624 Inexact Rounded
+comx3462 compare -55669501853.7751006841940471339310E+614 061400538.186044693233816566977189 -> -1
+divx3462 divide -55669501853.7751006841940471339310E+614 061400538.186044693233816566977189 -> -9.06661464189378059067792554300676E+616 Inexact Rounded
+dvix3462 divideint -55669501853.7751006841940471339310E+614 061400538.186044693233816566977189 -> NaN Division_impossible
+mulx3462 multiply -55669501853.7751006841940471339310E+614 061400538.186044693233816566977189 -> -3.41813737437080390787865389703565E+632 Inexact Rounded
+powx3462 power -55669501853.7751006841940471339310E+614 61400538 -> Infinity Overflow Inexact Rounded
+remx3462 remainder -55669501853.7751006841940471339310E+614 061400538.186044693233816566977189 -> NaN Division_impossible
+subx3462 subtract -55669501853.7751006841940471339310E+614 061400538.186044693233816566977189 -> -5.56695018537751006841940471339310E+624 Inexact Rounded
+addx3463 add -527566.521273992424649346837337602E-408 -834662.599983953345718523807123972 -> -834662.599983953345718523807123972 Inexact Rounded
+comx3463 compare -527566.521273992424649346837337602E-408 -834662.599983953345718523807123972 -> 1
+divx3463 divide -527566.521273992424649346837337602E-408 -834662.599983953345718523807123972 -> 6.32071595497552015656909892339226E-409 Inexact Rounded
+dvix3463 divideint -527566.521273992424649346837337602E-408 -834662.599983953345718523807123972 -> 0
+mulx3463 multiply -527566.521273992424649346837337602E-408 -834662.599983953345718523807123972 -> 4.40340044311040151960763108019957E-397 Inexact Rounded
+powx3463 power -527566.521273992424649346837337602E-408 -834663 -> -Infinity Overflow Inexact Rounded
+remx3463 remainder -527566.521273992424649346837337602E-408 -834662.599983953345718523807123972 -> -5.27566521273992424649346837337602E-403
+subx3463 subtract -527566.521273992424649346837337602E-408 -834662.599983953345718523807123972 -> 834662.599983953345718523807123972 Inexact Rounded
+addx3464 add 69065510.0459653699418083455335366 694848643848212520086960886818157E-853 -> 69065510.0459653699418083455335366 Inexact Rounded
+comx3464 compare 69065510.0459653699418083455335366 694848643848212520086960886818157E-853 -> 1
+divx3464 divide 69065510.0459653699418083455335366 694848643848212520086960886818157E-853 -> 9.93964810285396646889830919492683E+827 Inexact Rounded
+dvix3464 divideint 69065510.0459653699418083455335366 694848643848212520086960886818157E-853 -> NaN Division_impossible
+mulx3464 multiply 69065510.0459653699418083455335366 694848643848212520086960886818157E-853 -> 4.79900759921241352562381181332720E-813 Inexact Rounded
+powx3464 power 69065510.0459653699418083455335366 7 -> 7.49598249763416483824919118973567E+54 Inexact Rounded
+remx3464 remainder 69065510.0459653699418083455335366 694848643848212520086960886818157E-853 -> NaN Division_impossible
+subx3464 subtract 69065510.0459653699418083455335366 694848643848212520086960886818157E-853 -> 69065510.0459653699418083455335366 Inexact Rounded
+addx3465 add -2921982.82411285505229122890041841 -72994.6523840298017471962569778803E-763 -> -2921982.82411285505229122890041841 Inexact Rounded
+comx3465 compare -2921982.82411285505229122890041841 -72994.6523840298017471962569778803E-763 -> -1
+divx3465 divide -2921982.82411285505229122890041841 -72994.6523840298017471962569778803E-763 -> 4.00300943792444663467732029501716E+764 Inexact Rounded
+dvix3465 divideint -2921982.82411285505229122890041841 -72994.6523840298017471962569778803E-763 -> NaN Division_impossible
+mulx3465 multiply -2921982.82411285505229122890041841 -72994.6523840298017471962569778803E-763 -> 2.13289120518223547921212412642411E-752 Inexact Rounded
+powx3465 power -2921982.82411285505229122890041841 -7 -> -5.49865394870631248479668782154131E-46 Inexact Rounded
+remx3465 remainder -2921982.82411285505229122890041841 -72994.6523840298017471962569778803E-763 -> NaN Division_impossible
+subx3465 subtract -2921982.82411285505229122890041841 -72994.6523840298017471962569778803E-763 -> -2921982.82411285505229122890041841 Inexact Rounded
+addx3466 add 4.51117459466491451401835756593793 3873385.19981811640063144338087230 -> 3873389.71099271106554595739922987 Inexact Rounded
+comx3466 compare 4.51117459466491451401835756593793 3873385.19981811640063144338087230 -> -1
+divx3466 divide 4.51117459466491451401835756593793 3873385.19981811640063144338087230 -> 0.00000116465942888322776753062580106351 Inexact Rounded
+dvix3466 divideint 4.51117459466491451401835756593793 3873385.19981811640063144338087230 -> 0
+mulx3466 multiply 4.51117459466491451401835756593793 3873385.19981811640063144338087230 -> 17473516.9087705701652062546164705 Inexact Rounded
+powx3466 power 4.51117459466491451401835756593793 3873385 -> Infinity Overflow Inexact Rounded
+remx3466 remainder 4.51117459466491451401835756593793 3873385.19981811640063144338087230 -> 4.51117459466491451401835756593793
+subx3466 subtract 4.51117459466491451401835756593793 3873385.19981811640063144338087230 -> -3873380.68864352173571692936251473 Inexact Rounded
+addx3467 add 49553763474698.8118661758811091120 36.1713861293896216593840817950781E+410 -> 3.61713861293896216593840817950781E+411 Inexact Rounded
+comx3467 compare 49553763474698.8118661758811091120 36.1713861293896216593840817950781E+410 -> -1
+divx3467 divide 49553763474698.8118661758811091120 36.1713861293896216593840817950781E+410 -> 1.36997137177543416190811827685231E-398 Inexact Rounded
+dvix3467 divideint 49553763474698.8118661758811091120 36.1713861293896216593840817950781E+410 -> 0
+mulx3467 multiply 49553763474698.8118661758811091120 36.1713861293896216593840817950781E+410 -> 1.79242831280777466554271332425735E+425 Inexact Rounded
+powx3467 power 49553763474698.8118661758811091120 4 -> 6.02985091099730236635954801474802E+54 Inexact Rounded
+remx3467 remainder 49553763474698.8118661758811091120 36.1713861293896216593840817950781E+410 -> 49553763474698.8118661758811091120
+subx3467 subtract 49553763474698.8118661758811091120 36.1713861293896216593840817950781E+410 -> -3.61713861293896216593840817950781E+411 Inexact Rounded
+addx3468 add 755985583344.379951506071499170749E+956 746921095569971477373643487285780 -> 7.55985583344379951506071499170749E+967 Inexact Rounded
+comx3468 compare 755985583344.379951506071499170749E+956 746921095569971477373643487285780 -> 1
+divx3468 divide 755985583344.379951506071499170749E+956 746921095569971477373643487285780 -> 1.01213580367212873025671916758669E+935 Inexact Rounded
+dvix3468 divideint 755985583344.379951506071499170749E+956 746921095569971477373643487285780 -> NaN Division_impossible
+mulx3468 multiply 755985583344.379951506071499170749E+956 746921095569971477373643487285780 -> 5.64661580146688255286933753616580E+1000 Inexact Rounded
+powx3468 power 755985583344.379951506071499170749E+956 7 -> 1.41121958516547725677142981375469E+6775 Inexact Rounded
+remx3468 remainder 755985583344.379951506071499170749E+956 746921095569971477373643487285780 -> NaN Division_impossible
+subx3468 subtract 755985583344.379951506071499170749E+956 746921095569971477373643487285780 -> 7.55985583344379951506071499170749E+967 Inexact Rounded
+addx3469 add -20101668541.7472260497594230105456 -395562148.345003931161532101109964 -> -20497230690.0922299809209551116556 Inexact Rounded
+comx3469 compare -20101668541.7472260497594230105456 -395562148.345003931161532101109964 -> -1
+divx3469 divide -20101668541.7472260497594230105456 -395562148.345003931161532101109964 -> 50.8179779735012053661447873666816 Inexact Rounded
+dvix3469 divideint -20101668541.7472260497594230105456 -395562148.345003931161532101109964 -> 50
+mulx3469 multiply -20101668541.7472260497594230105456 -395562148.345003931161532101109964 -> 7951459193692715079.09328760016914 Inexact Rounded
+powx3469 power -20101668541.7472260497594230105456 -395562148 -> 0E-10031 Underflow Subnormal Inexact Rounded Clamped
+remx3469 remainder -20101668541.7472260497594230105456 -395562148.345003931161532101109964 -> -323561124.497029491682817955047400
+subx3469 subtract -20101668541.7472260497594230105456 -395562148.345003931161532101109964 -> -19706106393.4022221185978909094356 Inexact Rounded
+addx3470 add 5583903.18072100716072011264668631 460868914694.088387067451312500723 -> 460874498597.269108074612032613370 Inexact Rounded
+comx3470 compare 5583903.18072100716072011264668631 460868914694.088387067451312500723 -> -1
+divx3470 divide 5583903.18072100716072011264668631 460868914694.088387067451312500723 -> 0.0000121160334374633240168068405467307 Inexact Rounded
+dvix3470 divideint 5583903.18072100716072011264668631 460868914694.088387067451312500723 -> 0
+mulx3470 multiply 5583903.18072100716072011264668631 460868914694.088387067451312500723 -> 2573447398655758659.39475672905225 Inexact Rounded
+powx3470 power 5583903.18072100716072011264668631 5 -> 5.42861943589418603298670454702901E+33 Inexact Rounded
+remx3470 remainder 5583903.18072100716072011264668631 460868914694.088387067451312500723 -> 5583903.18072100716072011264668631
+subx3470 subtract 5583903.18072100716072011264668631 460868914694.088387067451312500723 -> -460863330790.907666060290592388076 Inexact Rounded
+addx3471 add -955638397975240685017992436116257E+020 -508580.148958769104511751975720470E+662 -> -5.08580148958769104511751975720470E+667 Inexact Rounded
+comx3471 compare -955638397975240685017992436116257E+020 -508580.148958769104511751975720470E+662 -> 1
+divx3471 divide -955638397975240685017992436116257E+020 -508580.148958769104511751975720470E+662 -> 1.87903204624039476408191264564568E-615 Inexact Rounded
+dvix3471 divideint -955638397975240685017992436116257E+020 -508580.148958769104511751975720470E+662 -> 0
+mulx3471 multiply -955638397975240685017992436116257E+020 -508580.148958769104511751975720470E+662 -> 4.86018718792967378985838739820108E+720 Inexact Rounded
+powx3471 power -955638397975240685017992436116257E+020 -5 -> -1.25467730420304189161768408462414E-265 Inexact Rounded
+remx3471 remainder -955638397975240685017992436116257E+020 -508580.148958769104511751975720470E+662 -> -9.55638397975240685017992436116257E+52
+subx3471 subtract -955638397975240685017992436116257E+020 -508580.148958769104511751975720470E+662 -> 5.08580148958769104511751975720470E+667 Inexact Rounded
+addx3472 add -136243796098020983814115584402407E+796 6589108083.99750311651581032447390 -> -1.36243796098020983814115584402407E+828 Inexact Rounded
+comx3472 compare -136243796098020983814115584402407E+796 6589108083.99750311651581032447390 -> -1
+divx3472 divide -136243796098020983814115584402407E+796 6589108083.99750311651581032447390 -> -2.06771226638255600634939371365920E+818 Inexact Rounded
+dvix3472 divideint -136243796098020983814115584402407E+796 6589108083.99750311651581032447390 -> NaN Division_impossible
+mulx3472 multiply -136243796098020983814115584402407E+796 6589108083.99750311651581032447390 -> -8.97725098263977535966921696143011E+837 Inexact Rounded
+powx3472 power -136243796098020983814115584402407E+796 7 -> -8.71399185551742199752832286984005E+5796 Inexact Rounded
+remx3472 remainder -136243796098020983814115584402407E+796 6589108083.99750311651581032447390 -> NaN Division_impossible
+subx3472 subtract -136243796098020983814115584402407E+796 6589108083.99750311651581032447390 -> -1.36243796098020983814115584402407E+828 Inexact Rounded
+addx3473 add -808498.482718304598213092937543934E+521 48005.1465097914355096301483788905 -> -8.08498482718304598213092937543934E+526 Inexact Rounded
+comx3473 compare -808498.482718304598213092937543934E+521 48005.1465097914355096301483788905 -> -1
+divx3473 divide -808498.482718304598213092937543934E+521 48005.1465097914355096301483788905 -> -1.68419126177106468565397017107736E+522 Inexact Rounded
+dvix3473 divideint -808498.482718304598213092937543934E+521 48005.1465097914355096301483788905 -> NaN Division_impossible
+mulx3473 multiply -808498.482718304598213092937543934E+521 48005.1465097914355096301483788905 -> -3.88120881158362912220132691803539E+531 Inexact Rounded
+powx3473 power -808498.482718304598213092937543934E+521 48005 -> -Infinity Overflow Inexact Rounded
+remx3473 remainder -808498.482718304598213092937543934E+521 48005.1465097914355096301483788905 -> NaN Division_impossible
+subx3473 subtract -808498.482718304598213092937543934E+521 48005.1465097914355096301483788905 -> -8.08498482718304598213092937543934E+526 Inexact Rounded
+addx3474 add -812.266340554281305985524813074211E+396 -3195.63111559114001594257448970812E+986 -> -3.19563111559114001594257448970812E+989 Inexact Rounded
+comx3474 compare -812.266340554281305985524813074211E+396 -3195.63111559114001594257448970812E+986 -> 1
+divx3474 divide -812.266340554281305985524813074211E+396 -3195.63111559114001594257448970812E+986 -> 2.54180257724779721448484781056040E-591 Inexact Rounded
+dvix3474 divideint -812.266340554281305985524813074211E+396 -3195.63111559114001594257448970812E+986 -> 0
+mulx3474 multiply -812.266340554281305985524813074211E+396 -3195.63111559114001594257448970812E+986 -> 2.59570359202261082537505332325404E+1388 Inexact Rounded
+powx3474 power -812.266340554281305985524813074211E+396 -3 -> -1.86596988030914616216741808216469E-1197 Inexact Rounded
+remx3474 remainder -812.266340554281305985524813074211E+396 -3195.63111559114001594257448970812E+986 -> -8.12266340554281305985524813074211E+398
+subx3474 subtract -812.266340554281305985524813074211E+396 -3195.63111559114001594257448970812E+986 -> 3.19563111559114001594257448970812E+989 Inexact Rounded
+addx3475 add -929889.720905183397678866648217793E+134 -280300190774.057595671079264841349 -> -9.29889720905183397678866648217793E+139 Inexact Rounded
+comx3475 compare -929889.720905183397678866648217793E+134 -280300190774.057595671079264841349 -> -1
+divx3475 divide -929889.720905183397678866648217793E+134 -280300190774.057595671079264841349 -> 3.31747801646964399331556971055197E+128 Inexact Rounded
+dvix3475 divideint -929889.720905183397678866648217793E+134 -280300190774.057595671079264841349 -> NaN Division_impossible
+mulx3475 multiply -929889.720905183397678866648217793E+134 -280300190774.057595671079264841349 -> 2.60648266168558079957349074609920E+151 Inexact Rounded
+powx3475 power -929889.720905183397678866648217793E+134 -3 -> -1.24367143370300189518778505830181E-420 Inexact Rounded
+remx3475 remainder -929889.720905183397678866648217793E+134 -280300190774.057595671079264841349 -> NaN Division_impossible
+subx3475 subtract -929889.720905183397678866648217793E+134 -280300190774.057595671079264841349 -> -9.29889720905183397678866648217793E+139 Inexact Rounded
+addx3476 add 83946.0157801953636255078996185540 492670373.235391665758701500314473 -> 492754319.251171861122327008214092 Inexact Rounded
+comx3476 compare 83946.0157801953636255078996185540 492670373.235391665758701500314473 -> -1
+divx3476 divide 83946.0157801953636255078996185540 492670373.235391665758701500314473 -> 0.000170389819117633485695890041185782 Inexact Rounded
+dvix3476 divideint 83946.0157801953636255078996185540 492670373.235391665758701500314473 -> 0
+mulx3476 multiply 83946.0157801953636255078996185540 492670373.235391665758701500314473 -> 41357714926052.9282985560380064649 Inexact Rounded
+powx3476 power 83946.0157801953636255078996185540 492670373 -> Infinity Overflow Inexact Rounded
+remx3476 remainder 83946.0157801953636255078996185540 492670373.235391665758701500314473 -> 83946.0157801953636255078996185540
+subx3476 subtract 83946.0157801953636255078996185540 492670373.235391665758701500314473 -> -492586427.219611470395075992414854 Inexact Rounded
+addx3477 add 7812758113817.99135851825223122508 3037492.36716301443309571918002123E-157 -> 7812758113817.99135851825223122508 Inexact Rounded
+comx3477 compare 7812758113817.99135851825223122508 3037492.36716301443309571918002123E-157 -> 1
+divx3477 divide 7812758113817.99135851825223122508 3037492.36716301443309571918002123E-157 -> 2.57210790001590171809512871857381E+163 Inexact Rounded
+dvix3477 divideint 7812758113817.99135851825223122508 3037492.36716301443309571918002123E-157 -> NaN Division_impossible
+mulx3477 multiply 7812758113817.99135851825223122508 3037492.36716301443309571918002123E-157 -> 2.37311931372130583136091717093935E-138 Inexact Rounded
+powx3477 power 7812758113817.99135851825223122508 3 -> 4.76884421816246896090414314934253E+38 Inexact Rounded
+remx3477 remainder 7812758113817.99135851825223122508 3037492.36716301443309571918002123E-157 -> NaN Division_impossible
+subx3477 subtract 7812758113817.99135851825223122508 3037492.36716301443309571918002123E-157 -> 7812758113817.99135851825223122508 Inexact Rounded
+addx3478 add 489191747.148674326757767356626016 01136942.1182277580093027768490545 -> 490328689.266902084767070133475071 Inexact Rounded
+comx3478 compare 489191747.148674326757767356626016 01136942.1182277580093027768490545 -> 1
+divx3478 divide 489191747.148674326757767356626016 01136942.1182277580093027768490545 -> 430.269702657525223124148258641358 Inexact Rounded
+dvix3478 divideint 489191747.148674326757767356626016 01136942.1182277580093027768490545 -> 430
+mulx3478 multiply 489191747.148674326757767356626016 01136942.1182277580093027768490545 -> 556182701222751.588454129518830550 Inexact Rounded
+powx3478 power 489191747.148674326757767356626016 1136942 -> Infinity Overflow Inexact Rounded
+remx3478 remainder 489191747.148674326757767356626016 01136942.1182277580093027768490545 -> 306636.3107383827575733115325810
+subx3478 subtract 489191747.148674326757767356626016 01136942.1182277580093027768490545 -> 488054805.030446568748464579776962 Inexact Rounded
+addx3479 add -599369540.373174482335865567937853E+289 -38288383205.6749439588707955585209 -> -5.99369540373174482335865567937853E+297 Inexact Rounded
+comx3479 compare -599369540.373174482335865567937853E+289 -38288383205.6749439588707955585209 -> -1
+divx3479 divide -599369540.373174482335865567937853E+289 -38288383205.6749439588707955585209 -> 1.56540833065089684132688143737586E+287 Inexact Rounded
+dvix3479 divideint -599369540.373174482335865567937853E+289 -38288383205.6749439588707955585209 -> NaN Division_impossible
+mulx3479 multiply -599369540.373174482335865567937853E+289 -38288383205.6749439588707955585209 -> 2.29488906436173641324091638963715E+308 Inexact Rounded
+powx3479 power -599369540.373174482335865567937853E+289 -4 -> 7.74856580646291366270329165540958E-1192 Inexact Rounded
+remx3479 remainder -599369540.373174482335865567937853E+289 -38288383205.6749439588707955585209 -> NaN Division_impossible
+subx3479 subtract -599369540.373174482335865567937853E+289 -38288383205.6749439588707955585209 -> -5.99369540373174482335865567937853E+297 Inexact Rounded
+addx3480 add -3376883870.85961692148022521960139 -65247489449.7334589731171980408284 -> -68624373320.5930758945974232604298 Inexact Rounded
+comx3480 compare -3376883870.85961692148022521960139 -65247489449.7334589731171980408284 -> 1
+divx3480 divide -3376883870.85961692148022521960139 -65247489449.7334589731171980408284 -> 0.0517550008335747813596332404664731 Inexact Rounded
+dvix3480 divideint -3376883870.85961692148022521960139 -65247489449.7334589731171980408284 -> 0
+mulx3480 multiply -3376883870.85961692148022521960139 -65247489449.7334589731171980408284 -> 220333194736887939420.719579906257 Inexact Rounded
+powx3480 power -3376883870.85961692148022521960139 -7 -> -1.99704163718361153125735756179280E-67 Inexact Rounded
+remx3480 remainder -3376883870.85961692148022521960139 -65247489449.7334589731171980408284 -> -3376883870.85961692148022521960139
+subx3480 subtract -3376883870.85961692148022521960139 -65247489449.7334589731171980408284 -> 61870605578.8738420516369728212270 Inexact Rounded
+addx3481 add 58.6776780370008364590621772421025 01.5925518866529044494309229975160 -> 60.2702299236537409084931002396185
+comx3481 compare 58.6776780370008364590621772421025 01.5925518866529044494309229975160 -> 1
+divx3481 divide 58.6776780370008364590621772421025 01.5925518866529044494309229975160 -> 36.8450651616286048437498576613622 Inexact Rounded
+dvix3481 divideint 58.6776780370008364590621772421025 01.5925518866529044494309229975160 -> 36
+mulx3481 multiply 58.6776780370008364590621772421025 01.5925518866529044494309229975160 -> 93.4472468622373769590900258060029 Inexact Rounded
+powx3481 power 58.6776780370008364590621772421025 2 -> 3443.06989981393033632008313505230 Inexact Rounded
+remx3481 remainder 58.6776780370008364590621772421025 01.5925518866529044494309229975160 -> 1.3458101174962762795489493315265
+subx3481 subtract 58.6776780370008364590621772421025 01.5925518866529044494309229975160 -> 57.0851261503479320096312542445865
+addx3482 add 4099616339.96249499552808575717579 290.795187361072489816791525139895 -> 4099616630.75768235660057557396732 Inexact Rounded
+comx3482 compare 4099616339.96249499552808575717579 290.795187361072489816791525139895 -> 1
+divx3482 divide 4099616339.96249499552808575717579 290.795187361072489816791525139895 -> 14097951.1289920788134209002390834 Inexact Rounded
+dvix3482 divideint 4099616339.96249499552808575717579 290.795187361072489816791525139895 -> 14097951
+mulx3482 multiply 4099616339.96249499552808575717579 290.795187361072489816791525139895 -> 1192148701687.90798437501397900174 Inexact Rounded
+powx3482 power 4099616339.96249499552808575717579 291 -> 2.03364757877800497409765979877258E+2797 Inexact Rounded
+remx3482 remainder 4099616339.96249499552808575717579 290.795187361072489816791525139895 -> 37.510275726642959858538282144855
+subx3482 subtract 4099616339.96249499552808575717579 290.795187361072489816791525139895 -> 4099616049.16730763445559594038426 Inexact Rounded
+addx3483 add 85870777.2282833141709970713739108 -2140392861153.69401346398478113715 -> -2140306990376.46573014981378406578 Inexact Rounded
+comx3483 compare 85870777.2282833141709970713739108 -2140392861153.69401346398478113715 -> 1
+divx3483 divide 85870777.2282833141709970713739108 -2140392861153.69401346398478113715 -> -0.0000401191663393971853092748263233128 Inexact Rounded
+dvix3483 divideint 85870777.2282833141709970713739108 -2140392861153.69401346398478113715 -> -0
+mulx3483 multiply 85870777.2282833141709970713739108 -2140392861153.69401346398478113715 -> -183797198561136797328.508878254848 Inexact Rounded
+powx3483 power 85870777.2282833141709970713739108 -2 -> 1.35615463448707573424578785973269E-16 Inexact Rounded
+remx3483 remainder 85870777.2282833141709970713739108 -2140392861153.69401346398478113715 -> 85870777.2282833141709970713739108
+subx3483 subtract 85870777.2282833141709970713739108 -2140392861153.69401346398478113715 -> 2140478731930.92229677815577820852 Inexact Rounded
+addx3484 add 20900.9693761555165742010339929779 -38.7546147649523793463260940289585 -> 20862.2147613905641948547078989489 Inexact Rounded
+comx3484 compare 20900.9693761555165742010339929779 -38.7546147649523793463260940289585 -> 1
+divx3484 divide 20900.9693761555165742010339929779 -38.7546147649523793463260940289585 -> -539.315627388386430188627412639767 Inexact Rounded
+dvix3484 divideint 20900.9693761555165742010339929779 -38.7546147649523793463260940289585 -> -539
+mulx3484 multiply 20900.9693761555165742010339929779 -38.7546147649523793463260940289585 -> -810009.016386974103738622793670566 Inexact Rounded
+powx3484 power 20900.9693761555165742010339929779 -39 -> 3.26219014701526335296044439989665E-169 Inexact Rounded
+remx3484 remainder 20900.9693761555165742010339929779 -38.7546147649523793463260940289585 -> 12.2320178461841065312693113692685
+subx3484 subtract 20900.9693761555165742010339929779 -38.7546147649523793463260940289585 -> 20939.7239909204689535473600870069 Inexact Rounded
+addx3485 add 448.827596155587910947511170319456 379130153.382794042652974596286062 -> 379130602.210390198240885543797232 Inexact Rounded
+comx3485 compare 448.827596155587910947511170319456 379130153.382794042652974596286062 -> -1
+divx3485 divide 448.827596155587910947511170319456 379130153.382794042652974596286062 -> 0.00000118383513458615061394140895596979 Inexact Rounded
+dvix3485 divideint 448.827596155587910947511170319456 379130153.382794042652974596286062 -> 0
+mulx3485 multiply 448.827596155587910947511170319456 379130153.382794042652974596286062 -> 170164075372.898786469094460692097 Inexact Rounded
+powx3485 power 448.827596155587910947511170319456 379130153 -> Infinity Overflow Inexact Rounded
+remx3485 remainder 448.827596155587910947511170319456 379130153.382794042652974596286062 -> 448.827596155587910947511170319456
+subx3485 subtract 448.827596155587910947511170319456 379130153.382794042652974596286062 -> -379129704.555197887065063648774892 Inexact Rounded
+addx3486 add 98.4134807921002817357000140482039 3404725543.77032945444654351546779 -> 3404725642.18381024654682525116780 Inexact Rounded
+comx3486 compare 98.4134807921002817357000140482039 3404725543.77032945444654351546779 -> -1
+divx3486 divide 98.4134807921002817357000140482039 3404725543.77032945444654351546779 -> 2.89049673833970863420201979291523E-8 Inexact Rounded
+dvix3486 divideint 98.4134807921002817357000140482039 3404725543.77032945444654351546779 -> 0
+mulx3486 multiply 98.4134807921002817357000140482039 3404725543.77032945444654351546779 -> 335070891904.214504811798212040413 Inexact Rounded
+powx3486 power 98.4134807921002817357000140482039 3 -> 953155.543384739667965055839894682 Inexact Rounded
+remx3486 remainder 98.4134807921002817357000140482039 3404725543.77032945444654351546779 -> 98.4134807921002817357000140482039
+subx3486 subtract 98.4134807921002817357000140482039 3404725543.77032945444654351546779 -> -3404725445.35684866234626177976778 Inexact Rounded
+addx3487 add 545746433.649359734136476718176330E-787 -5149957099709.12830072802043560650E-437 -> -5.14995709970912830072802043560650E-425 Inexact Rounded
+comx3487 compare 545746433.649359734136476718176330E-787 -5149957099709.12830072802043560650E-437 -> 1
+divx3487 divide 545746433.649359734136476718176330E-787 -5149957099709.12830072802043560650E-437 -> -1.05971064046375011086850722752614E-354 Inexact Rounded
+dvix3487 divideint 545746433.649359734136476718176330E-787 -5149957099709.12830072802043560650E-437 -> -0
+mulx3487 multiply 545746433.649359734136476718176330E-787 -5149957099709.12830072802043560650E-437 -> -2.81057072061345688074304873033317E-1203 Inexact Rounded
+powx3487 power 545746433.649359734136476718176330E-787 -5 -> 2.06559640092667166976186801348662E+3891 Inexact Rounded
+remx3487 remainder 545746433.649359734136476718176330E-787 -5149957099709.12830072802043560650E-437 -> 5.45746433649359734136476718176330E-779
+subx3487 subtract 545746433.649359734136476718176330E-787 -5149957099709.12830072802043560650E-437 -> 5.14995709970912830072802043560650E-425 Inexact Rounded
+addx3488 add 741304513547.273820525801608231737 0396.22823128272584928019323186355E-830 -> 741304513547.273820525801608231737 Inexact Rounded
+comx3488 compare 741304513547.273820525801608231737 0396.22823128272584928019323186355E-830 -> 1
+divx3488 divide 741304513547.273820525801608231737 0396.22823128272584928019323186355E-830 -> 1.87090281565101612623398174727653E+839 Inexact Rounded
+dvix3488 divideint 741304513547.273820525801608231737 0396.22823128272584928019323186355E-830 -> NaN Division_impossible
+mulx3488 multiply 741304513547.273820525801608231737 0396.22823128272584928019323186355E-830 -> 2.93725776244737788947443361076095E-816 Inexact Rounded
+powx3488 power 741304513547.273820525801608231737 4 -> 3.01985838652892073903194846668712E+47 Inexact Rounded
+remx3488 remainder 741304513547.273820525801608231737 0396.22823128272584928019323186355E-830 -> NaN Division_impossible
+subx3488 subtract 741304513547.273820525801608231737 0396.22823128272584928019323186355E-830 -> 741304513547.273820525801608231737 Inexact Rounded
+addx3489 add -706.145005094292315613907254240553 4739.82486195739758308735946332234 -> 4033.67985686310526747345220908179 Inexact Rounded
+comx3489 compare -706.145005094292315613907254240553 4739.82486195739758308735946332234 -> -1
+divx3489 divide -706.145005094292315613907254240553 4739.82486195739758308735946332234 -> -0.148981244172527671907534117771626 Inexact Rounded
+dvix3489 divideint -706.145005094292315613907254240553 4739.82486195739758308735946332234 -> -0
+mulx3489 multiply -706.145005094292315613907254240553 4739.82486195739758308735946332234 -> -3347003.65129295988793454267973464 Inexact Rounded
+powx3489 power -706.145005094292315613907254240553 4740 -> Infinity Overflow Inexact Rounded
+remx3489 remainder -706.145005094292315613907254240553 4739.82486195739758308735946332234 -> -706.145005094292315613907254240553
+subx3489 subtract -706.145005094292315613907254240553 4739.82486195739758308735946332234 -> -5445.96986705168989870126671756289 Inexact Rounded
+addx3490 add -769925786.823099083228795187975893 -31201.9980469760239870067820594790 -> -769956988.821146059252782194757952 Inexact Rounded
+comx3490 compare -769925786.823099083228795187975893 -31201.9980469760239870067820594790 -> -1
+divx3490 divide -769925786.823099083228795187975893 -31201.9980469760239870067820594790 -> 24675.5283319978698932292028650803 Inexact Rounded
+dvix3490 divideint -769925786.823099083228795187975893 -31201.9980469760239870067820594790 -> 24675
+mulx3490 multiply -769925786.823099083228795187975893 -31201.9980469760239870067820594790 -> 24023222896770.8161787236737395477 Inexact Rounded
+powx3490 power -769925786.823099083228795187975893 -31202 -> 0E-10031 Underflow Subnormal Inexact Rounded Clamped
+remx3490 remainder -769925786.823099083228795187975893 -31201.9980469760239870067820594790 -> -16485.0139656913494028406582486750
+subx3490 subtract -769925786.823099083228795187975893 -31201.9980469760239870067820594790 -> -769894584.825052107204808181193834 Inexact Rounded
+addx3491 add 84438610546049.7256507419289692857E+906 052604240766736461898844111790311 -> 8.44386105460497256507419289692857E+919 Inexact Rounded
+comx3491 compare 84438610546049.7256507419289692857E+906 052604240766736461898844111790311 -> 1
+divx3491 divide 84438610546049.7256507419289692857E+906 052604240766736461898844111790311 -> 1.60516736512701978695559003341922E+888 Inexact Rounded
+dvix3491 divideint 84438610546049.7256507419289692857E+906 052604240766736461898844111790311 -> NaN Division_impossible
+mulx3491 multiply 84438610546049.7256507419289692857E+906 052604240766736461898844111790311 -> 4.44182899917309231779837668210610E+951 Inexact Rounded
+powx3491 power 84438610546049.7256507419289692857E+906 5 -> 4.29245144719689283247342866988213E+4599 Inexact Rounded
+remx3491 remainder 84438610546049.7256507419289692857E+906 052604240766736461898844111790311 -> NaN Division_impossible
+subx3491 subtract 84438610546049.7256507419289692857E+906 052604240766736461898844111790311 -> 8.44386105460497256507419289692857E+919 Inexact Rounded
+addx3492 add 549760.911304725795164589619286514 165.160089615604924207754883953484 -> 549926.071394341400088797374170467 Inexact Rounded
+comx3492 compare 549760.911304725795164589619286514 165.160089615604924207754883953484 -> 1
+divx3492 divide 549760.911304725795164589619286514 165.160089615604924207754883953484 -> 3328.65471667062107598395714348089 Inexact Rounded
+dvix3492 divideint 549760.911304725795164589619286514 165.160089615604924207754883953484 -> 3328
+mulx3492 multiply 549760.911304725795164589619286514 165.160089615604924207754883953484 -> 90798561.3782451425861113694732484 Inexact Rounded
+powx3492 power 549760.911304725795164589619286514 165 -> 1.34488925442386544028875603347654E+947 Inexact Rounded
+remx3492 remainder 549760.911304725795164589619286514 165.160089615604924207754883953484 -> 108.133063992607401181365489319248
+subx3492 subtract 549760.911304725795164589619286514 165.160089615604924207754883953484 -> 549595.751215110190240381864402561 Inexact Rounded
+addx3493 add 3650514.18649737956855828939662794 08086721.4036886948248274834735629 -> 11737235.5901860743933857728701908 Inexact Rounded
+comx3493 compare 3650514.18649737956855828939662794 08086721.4036886948248274834735629 -> -1
+divx3493 divide 3650514.18649737956855828939662794 08086721.4036886948248274834735629 -> 0.451420792712387250865423208234291 Inexact Rounded
+dvix3493 divideint 3650514.18649737956855828939662794 08086721.4036886948248274834735629 -> 0
+mulx3493 multiply 3650514.18649737956855828939662794 08086721.4036886948248274834735629 -> 29520691206417.5831886752808745421 Inexact Rounded
+powx3493 power 3650514.18649737956855828939662794 8086721 -> Infinity Overflow Inexact Rounded
+remx3493 remainder 3650514.18649737956855828939662794 08086721.4036886948248274834735629 -> 3650514.18649737956855828939662794
+subx3493 subtract 3650514.18649737956855828939662794 08086721.4036886948248274834735629 -> -4436207.21719131525626919407693496
+addx3494 add 55067723881950.1346958179604099594 -8.90481481687182931431054785192083 -> 55067723881941.2298810010885806451 Inexact Rounded
+comx3494 compare 55067723881950.1346958179604099594 -8.90481481687182931431054785192083 -> 1
+divx3494 divide 55067723881950.1346958179604099594 -8.90481481687182931431054785192083 -> -6184039198391.19853088419484117054 Inexact Rounded
+dvix3494 divideint 55067723881950.1346958179604099594 -8.90481481687182931431054785192083 -> -6184039198391
+mulx3494 multiply 55067723881950.1346958179604099594 -8.90481481687182931431054785192083 -> -490367883555396.250365158593373279 Inexact Rounded
+powx3494 power 55067723881950.1346958179604099594 -9 -> 2.14746386538529270173788457887121E-124 Inexact Rounded
+remx3494 remainder 55067723881950.1346958179604099594 -8.90481481687182931431054785192083 -> 1.76788075918488693086347720461547
+subx3494 subtract 55067723881950.1346958179604099594 -8.90481481687182931431054785192083 -> 55067723881959.0395106348322392737 Inexact Rounded
+addx3495 add 868251123.413992653362860637541060E+019 5579665045.37858308541154858567656E+131 -> 5.57966504537858308541154858567656E+140 Inexact Rounded
+comx3495 compare 868251123.413992653362860637541060E+019 5579665045.37858308541154858567656E+131 -> -1
+divx3495 divide 868251123.413992653362860637541060E+019 5579665045.37858308541154858567656E+131 -> 1.55609900657590706155251902725027E-113 Inexact Rounded
+dvix3495 divideint 868251123.413992653362860637541060E+019 5579665045.37858308541154858567656E+131 -> 0
+mulx3495 multiply 868251123.413992653362860637541060E+019 5579665045.37858308541154858567656E+131 -> 4.84455044392374106106966779322483E+168 Inexact Rounded
+powx3495 power 868251123.413992653362860637541060E+019 6 -> 4.28422354304291884802690733853227E+167 Inexact Rounded
+remx3495 remainder 868251123.413992653362860637541060E+019 5579665045.37858308541154858567656E+131 -> 8682511234139926533628606375.41060
+subx3495 subtract 868251123.413992653362860637541060E+019 5579665045.37858308541154858567656E+131 -> -5.57966504537858308541154858567656E+140 Inexact Rounded
+addx3496 add -646.464431574014407536004990059069 -798.679560020414523841321724649594E-037 -> -646.464431574014407536004990059069 Inexact Rounded
+comx3496 compare -646.464431574014407536004990059069 -798.679560020414523841321724649594E-037 -> -1
+divx3496 divide -646.464431574014407536004990059069 -798.679560020414523841321724649594E-037 -> 8.09416521887063886613527228353543E+36 Inexact Rounded
+dvix3496 divideint -646.464431574014407536004990059069 -798.679560020414523841321724649594E-037 -> NaN Division_impossible
+mulx3496 multiply -646.464431574014407536004990059069 -798.679560020414523841321724649594E-037 -> 5.16317927778381197995451363439626E-32 Inexact Rounded
+powx3496 power -646.464431574014407536004990059069 -8 -> 3.27825641569860861774700548035691E-23 Inexact Rounded
+remx3496 remainder -646.464431574014407536004990059069 -798.679560020414523841321724649594E-037 -> NaN Division_impossible
+subx3496 subtract -646.464431574014407536004990059069 -798.679560020414523841321724649594E-037 -> -646.464431574014407536004990059069 Inexact Rounded
+addx3497 add 354.546679975219753598558273421556 -7039.46386812239015144581761752927E-448 -> 354.546679975219753598558273421556 Inexact Rounded
+comx3497 compare 354.546679975219753598558273421556 -7039.46386812239015144581761752927E-448 -> 1
+divx3497 divide 354.546679975219753598558273421556 -7039.46386812239015144581761752927E-448 -> -5.03655799102477192579414523352028E+446 Inexact Rounded
+dvix3497 divideint 354.546679975219753598558273421556 -7039.46386812239015144581761752927E-448 -> NaN Division_impossible
+mulx3497 multiply 354.546679975219753598558273421556 -7039.46386812239015144581761752927E-448 -> -2.49581854324831161267369292071408E-442 Inexact Rounded
+powx3497 power 354.546679975219753598558273421556 -7 -> 1.41999246365875617298270414304233E-18 Inexact Rounded
+remx3497 remainder 354.546679975219753598558273421556 -7039.46386812239015144581761752927E-448 -> NaN Division_impossible
+subx3497 subtract 354.546679975219753598558273421556 -7039.46386812239015144581761752927E-448 -> 354.546679975219753598558273421556 Inexact Rounded
+addx3498 add 91936087917435.5974889495278215874 -67080823344.8903392584327136082486E-757 -> 91936087917435.5974889495278215874 Inexact Rounded
+comx3498 compare 91936087917435.5974889495278215874 -67080823344.8903392584327136082486E-757 -> 1
+divx3498 divide 91936087917435.5974889495278215874 -67080823344.8903392584327136082486E-757 -> -1.37052712434303366569304688993783E+760 Inexact Rounded
+dvix3498 divideint 91936087917435.5974889495278215874 -67080823344.8903392584327136082486E-757 -> NaN Division_impossible
+mulx3498 multiply 91936087917435.5974889495278215874 -67080823344.8903392584327136082486E-757 -> -6.16714847260980448099292763939423E-733 Inexact Rounded
+powx3498 power 91936087917435.5974889495278215874 -7 -> 1.80134899939035708719659065082630E-98 Inexact Rounded
+remx3498 remainder 91936087917435.5974889495278215874 -67080823344.8903392584327136082486E-757 -> NaN Division_impossible
+subx3498 subtract 91936087917435.5974889495278215874 -67080823344.8903392584327136082486E-757 -> 91936087917435.5974889495278215874 Inexact Rounded
+addx3499 add -07345.6422518528556136521417259811E-600 41188325.7041362608934957584583381E-763 -> -7.34564225185285561365214172598110E-597 Inexact Rounded
+comx3499 compare -07345.6422518528556136521417259811E-600 41188325.7041362608934957584583381E-763 -> -1
+divx3499 divide -07345.6422518528556136521417259811E-600 41188325.7041362608934957584583381E-763 -> -1.78342822299163842247184303878022E+159 Inexact Rounded
+dvix3499 divideint -07345.6422518528556136521417259811E-600 41188325.7041362608934957584583381E-763 -> NaN Division_impossible
+mulx3499 multiply -07345.6422518528556136521417259811E-600 41188325.7041362608934957584583381E-763 -> -3.02554705575380338274126867655676E-1352 Inexact Rounded
+powx3499 power -07345.6422518528556136521417259811E-600 4 -> 2.91151541552217582082937236255996E-2385 Inexact Rounded
+remx3499 remainder -07345.6422518528556136521417259811E-600 41188325.7041362608934957584583381E-763 -> NaN Division_impossible
+subx3499 subtract -07345.6422518528556136521417259811E-600 41188325.7041362608934957584583381E-763 -> -7.34564225185285561365214172598110E-597 Inexact Rounded
+addx3500 add -253280724.939458021588167965038184 616988.426425908872398170896375634E+396 -> 6.16988426425908872398170896375634E+401 Inexact Rounded
+comx3500 compare -253280724.939458021588167965038184 616988.426425908872398170896375634E+396 -> -1
+divx3500 divide -253280724.939458021588167965038184 616988.426425908872398170896375634E+396 -> -4.10511306357337753351655511866170E-394 Inexact Rounded
+dvix3500 divideint -253280724.939458021588167965038184 616988.426425908872398170896375634E+396 -> -0
+mulx3500 multiply -253280724.939458021588167965038184 616988.426425908872398170896375634E+396 -> -1.56271275924409657991913620522315E+410 Inexact Rounded
+powx3500 power -253280724.939458021588167965038184 6 -> 2.64005420221406808782284459794424E+50 Inexact Rounded
+remx3500 remainder -253280724.939458021588167965038184 616988.426425908872398170896375634E+396 -> -253280724.939458021588167965038184
+subx3500 subtract -253280724.939458021588167965038184 616988.426425908872398170896375634E+396 -> -6.16988426425908872398170896375634E+401 Inexact Rounded

Added: sandbox/trunk/decimal-c/decimaltestdata/randoms.decTest
==============================================================================
--- (empty file)
+++ sandbox/trunk/decimal-c/decimaltestdata/randoms.decTest	Tue May 23 13:34:01 2006
@@ -0,0 +1,4029 @@
+------------------------------------------------------------------------
+-- randoms.decTest -- decimal random testcases                        --
+-- Copyright (c) IBM Corporation, 1981, 2003.  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 at uk.ibm.com                                                   --
+------------------------------------------------------------------------
+version: 2.39
+
+extended:    1
+maxexponent: 999999999
+minexponent: -999999999
+precision:   9
+rounding:    half_up
+
+-- Randomly generated testcases [31 Dec 2000, with results defined for
+-- all cases [27 Oct 2001], and no trim/finish [9 Jun 2002]
+xadd001 add 905.67402 -202896611.E-780472620 -> 905.674020 Inexact Rounded
+xcom001 compare 905.67402 -202896611.E-780472620 -> 1
+xdiv001 divide 905.67402 -202896611.E-780472620 -> -4.46372177E+780472614 Inexact Rounded
+xdvi001 divideint 905.67402 -202896611.E-780472620 -> NaN Division_impossible
+xmul001 multiply 905.67402 -202896611.E-780472620 -> -1.83758189E-780472609 Inexact Rounded
+xpow001 power 905.67402 -2 -> 0.00000121914730 Inexact Rounded
+xrem001 remainder 905.67402 -202896611.E-780472620 -> NaN Division_impossible
+xsub001 subtract 905.67402 -202896611.E-780472620 -> 905.674020 Inexact Rounded
+xadd002 add 3915134.7 -597164907. -> -593249772 Inexact Rounded
+xcom002 compare 3915134.7 -597164907. -> 1
+xdiv002 divide 3915134.7 -597164907. -> -0.00655620358 Inexact Rounded
+xdvi002 divideint 3915134.7 -597164907. -> -0
+xmul002 multiply 3915134.7 -597164907. -> -2.33798105E+15 Inexact Rounded
+xpow002 power 3915134.7 -597164907 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem002 remainder 3915134.7 -597164907. -> 3915134.7
+xsub002 subtract 3915134.7 -597164907. -> 601080042 Inexact Rounded
+xadd003 add 309759261 62663.487 -> 309821924 Inexact Rounded
+xcom003 compare 309759261 62663.487 -> 1
+xdiv003 divide 309759261 62663.487 -> 4943.21775 Inexact Rounded
+xdvi003 divideint 309759261 62663.487 -> 4943
+xmul003 multiply 309759261 62663.487 -> 1.94105954E+13 Inexact Rounded
+xpow003 power 309759261 62663 -> 1.13679199E+532073 Inexact Rounded
+xrem003 remainder 309759261 62663.487 -> 13644.759
+xsub003 subtract 309759261 62663.487 -> 309696598 Inexact Rounded
+xadd004 add 3.93591888E-236595626 7242375.00 -> 7242375.00 Inexact Rounded
+xcom004 compare 3.93591888E-236595626 7242375.00 -> -1
+xdiv004 divide 3.93591888E-236595626 7242375.00 -> 5.43456930E-236595633 Inexact Rounded
+xdvi004 divideint 3.93591888E-236595626 7242375.00 -> 0
+xmul004 multiply 3.93591888E-236595626 7242375.00 -> 2.85054005E-236595619 Inexact Rounded
+xpow004 power 3.93591888E-236595626 7242375 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem004 remainder 3.93591888E-236595626 7242375.00 -> 3.93591888E-236595626
+xsub004 subtract 3.93591888E-236595626 7242375.00 -> -7242375.00 Inexact Rounded
+xadd005 add 323902.714 -608669.607E-657060568 -> 323902.714 Inexact Rounded
+xcom005 compare 323902.714 -608669.607E-657060568 -> 1
+xdiv005 divide 323902.714 -608669.607E-657060568 -> -5.32148657E+657060567 Inexact Rounded
+xdvi005 divideint 323902.714 -608669.607E-657060568 -> NaN Division_impossible
+xmul005 multiply 323902.714 -608669.607E-657060568 -> -1.97149738E-657060557 Inexact Rounded
+xpow005 power 323902.714 -6 -> 8.65989204E-34 Inexact Rounded
+xrem005 remainder 323902.714 -608669.607E-657060568 -> NaN Division_impossible
+xsub005 subtract 323902.714 -608669.607E-657060568 -> 323902.714 Inexact Rounded
+xadd006 add 5.11970092 -8807.22036 -> -8802.10066 Inexact Rounded
+xcom006 compare 5.11970092 -8807.22036 -> 1
+xdiv006 divide 5.11970092 -8807.22036 -> -0.000581307236 Inexact Rounded
+xdvi006 divideint 5.11970092 -8807.22036 -> -0
+xmul006 multiply 5.11970092 -8807.22036 -> -45090.3342 Inexact Rounded
+xpow006 power 5.11970092 -8807 -> 4.81819262E-6247 Inexact Rounded
+xrem006 remainder 5.11970092 -8807.22036 -> 5.11970092
+xsub006 subtract 5.11970092 -8807.22036 -> 8812.34006 Inexact Rounded
+xadd007 add -7.99874516 4561.83758 -> 4553.83883 Inexact Rounded
+xcom007 compare -7.99874516 4561.83758 -> -1
+xdiv007 divide -7.99874516 4561.83758 -> -0.00175340420 Inexact Rounded
+xdvi007 divideint -7.99874516 4561.83758 -> -0
+xmul007 multiply -7.99874516 4561.83758 -> -36488.9763 Inexact Rounded
+xpow007 power -7.99874516 4562 -> 3.85236199E+4119 Inexact Rounded
+xrem007 remainder -7.99874516 4561.83758 -> -7.99874516
+xsub007 subtract -7.99874516 4561.83758 -> -4569.83633 Inexact Rounded
+xadd008 add 297802878 -927206.324 -> 296875672 Inexact Rounded
+xcom008 compare 297802878 -927206.324 -> 1
+xdiv008 divide 297802878 -927206.324 -> -321.182967 Inexact Rounded
+xdvi008 divideint 297802878 -927206.324 -> -321
+xmul008 multiply 297802878 -927206.324 -> -2.76124712E+14 Inexact Rounded
+xpow008 power 297802878 -927206 -> 1.94602810E-7857078 Inexact Rounded
+xrem008 remainder 297802878 -927206.324 -> 169647.996
+xsub008 subtract 297802878 -927206.324 -> 298730084 Inexact Rounded
+xadd009 add -766.651824 31300.3619 -> 30533.7101 Inexact Rounded
+xcom009 compare -766.651824 31300.3619 -> -1
+xdiv009 divide -766.651824 31300.3619 -> -0.0244933853 Inexact Rounded
+xdvi009 divideint -766.651824 31300.3619 -> -0
+xmul009 multiply -766.651824 31300.3619 -> -23996479.5 Inexact Rounded
+xpow009 power -766.651824 31300 -> 8.37189011E+90287 Inexact Rounded
+xrem009 remainder -766.651824 31300.3619 -> -766.651824
+xsub009 subtract -766.651824 31300.3619 -> -32067.0137 Inexact Rounded
+xadd010 add -56746.8689E+934981942 471002521. -> -5.67468689E+934981946 Inexact Rounded
+xcom010 compare -56746.8689E+934981942 471002521. -> -1
+xdiv010 divide -56746.8689E+934981942 471002521. -> -1.20481030E+934981938 Inexact Rounded
+xdvi010 divideint -56746.8689E+934981942 471002521. -> NaN Division_impossible
+xmul010 multiply -56746.8689E+934981942 471002521. -> -2.67279183E+934981955 Inexact Rounded
+xpow010 power -56746.8689E+934981942 471002521 -> -Infinity Overflow Inexact Rounded
+xrem010 remainder -56746.8689E+934981942 471002521. -> NaN Division_impossible
+xsub010 subtract -56746.8689E+934981942 471002521. -> -5.67468689E+934981946 Inexact Rounded
+xadd011 add 456417160 -41346.1024 -> 456375814 Inexact Rounded
+xcom011 compare 456417160 -41346.1024 -> 1
+xdiv011 divide 456417160 -41346.1024 -> -11038.9404 Inexact Rounded
+xdvi011 divideint 456417160 -41346.1024 -> -11038
+xmul011 multiply 456417160 -41346.1024 -> -1.88710706E+13 Inexact Rounded
+xpow011 power 456417160 -41346 -> 1.04766863E-358030 Inexact Rounded
+xrem011 remainder 456417160 -41346.1024 -> 38881.7088
+xsub011 subtract 456417160 -41346.1024 -> 456458506 Inexact Rounded
+xadd012 add 102895.722 -2.62214826 -> 102893.100 Inexact Rounded
+xcom012 compare 102895.722 -2.62214826 -> 1
+xdiv012 divide 102895.722 -2.62214826 -> -39241.0008 Inexact Rounded
+xdvi012 divideint 102895.722 -2.62214826 -> -39241
+xmul012 multiply 102895.722 -2.62214826 -> -269807.838 Inexact Rounded
+xpow012 power 102895.722 -3 -> 9.17926786E-16 Inexact Rounded
+xrem012 remainder 102895.722 -2.62214826 -> 0.00212934
+xsub012 subtract 102895.722 -2.62214826 -> 102898.344 Inexact Rounded
+xadd013 add 61.3033331E+157644141 -567740.918E-893439456 -> 6.13033331E+157644142 Inexact Rounded
+xcom013 compare 61.3033331E+157644141 -567740.918E-893439456 -> 1
+xdiv013 divide 61.3033331E+157644141 -567740.918E-893439456 -> -Infinity Inexact Overflow Rounded
+xdvi013 divideint 61.3033331E+157644141 -567740.918E-893439456 -> NaN Division_impossible
+xmul013 multiply 61.3033331E+157644141 -567740.918E-893439456 -> -3.48044106E-735795308 Inexact Rounded
+xpow013 power 61.3033331E+157644141 -6 -> 1.88406322E-945864857 Inexact Rounded
+xrem013 remainder 61.3033331E+157644141 -567740.918E-893439456 -> NaN Division_impossible
+xsub013 subtract 61.3033331E+157644141 -567740.918E-893439456 -> 6.13033331E+157644142 Inexact Rounded
+xadd014 add 80223.3897 73921.0383E-467772675 -> 80223.3897 Inexact Rounded
+xcom014 compare 80223.3897 73921.0383E-467772675 -> 1
+xdiv014 divide 80223.3897 73921.0383E-467772675 -> 1.08525789E+467772675 Inexact Rounded
+xdvi014 divideint 80223.3897 73921.0383E-467772675 -> NaN Division_impossible
+xmul014 multiply 80223.3897 73921.0383E-467772675 -> 5.93019626E-467772666 Inexact Rounded
+xpow014 power 80223.3897 7 -> 2.13848919E+34 Inexact Rounded
+xrem014 remainder 80223.3897 73921.0383E-467772675 -> NaN Division_impossible
+xsub014 subtract 80223.3897 73921.0383E-467772675 -> 80223.3897 Inexact Rounded
+xadd015 add -654645.954 -9.12535752 -> -654655.079 Inexact Rounded
+xcom015 compare -654645.954 -9.12535752 -> -1
+xdiv015 divide -654645.954 -9.12535752 -> 71739.2116 Inexact Rounded
+xdvi015 divideint -654645.954 -9.12535752 -> 71739
+xmul015 multiply -654645.954 -9.12535752 -> 5973878.38 Inexact Rounded
+xpow015 power -654645.954 -9 -> -4.52836690E-53 Inexact Rounded
+xrem015 remainder -654645.954 -9.12535752 -> -1.93087272
+xsub015 subtract -654645.954 -9.12535752 -> -654636.829 Inexact Rounded
+xadd016 add 63.1917772E-706014634 -7.56253257E-138579234 -> -7.56253257E-138579234 Inexact Rounded
+xcom016 compare 63.1917772E-706014634 -7.56253257E-138579234 -> 1
+xdiv016 divide 63.1917772E-706014634 -7.56253257E-138579234 -> -8.35590149E-567435400 Inexact Rounded
+xdvi016 divideint 63.1917772E-706014634 -7.56253257E-138579234 -> -0
+xmul016 multiply 63.1917772E-706014634 -7.56253257E-138579234 -> -4.77889873E-844593866 Inexact Rounded
+xpow016 power 63.1917772E-706014634 -8 -> Infinity Overflow Inexact Rounded
+xrem016 remainder 63.1917772E-706014634 -7.56253257E-138579234 -> 6.31917772E-706014633
+xsub016 subtract 63.1917772E-706014634 -7.56253257E-138579234 -> 7.56253257E-138579234 Inexact Rounded
+xadd017 add -39674.7190 2490607.78 -> 2450933.06 Inexact Rounded
+xcom017 compare -39674.7190 2490607.78 -> -1
+xdiv017 divide -39674.7190 2490607.78 -> -0.0159297338 Inexact Rounded
+xdvi017 divideint -39674.7190 2490607.78 -> -0
+xmul017 multiply -39674.7190 2490607.78 -> -9.88141638E+10 Inexact Rounded
+xpow017 power -39674.7190 2490608 -> 2.55032329E+11453095 Inexact Rounded
+xrem017 remainder -39674.7190 2490607.78 -> -39674.7190
+xsub017 subtract -39674.7190 2490607.78 -> -2530282.50 Inexact Rounded
+xadd018 add -3364.59737E-600363681 896487.451 -> 896487.451 Inexact Rounded
+xcom018 compare -3364.59737E-600363681 896487.451 -> -1
+xdiv018 divide -3364.59737E-600363681 896487.451 -> -3.75308920E-600363684 Inexact Rounded
+xdvi018 divideint -3364.59737E-600363681 896487.451 -> -0
+xmul018 multiply -3364.59737E-600363681 896487.451 -> -3.01631932E-600363672 Inexact Rounded
+xpow018 power -3364.59737E-600363681 896487 -> -0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem018 remainder -3364.59737E-600363681 896487.451 -> -3.36459737E-600363678
+xsub018 subtract -3364.59737E-600363681 896487.451 -> -896487.451 Inexact Rounded
+xadd019 add -64138.0578 31759011.3E+697488342 -> 3.17590113E+697488349 Inexact Rounded
+xcom019 compare -64138.0578 31759011.3E+697488342 -> -1
+xdiv019 divide -64138.0578 31759011.3E+697488342 -> -2.01952313E-697488345 Inexact Rounded
+xdvi019 divideint -64138.0578 31759011.3E+697488342 -> -0
+xmul019 multiply -64138.0578 31759011.3E+697488342 -> -2.03696130E+697488354 Inexact Rounded
+xpow019 power -64138.0578 3 -> -2.63844116E+14 Inexact Rounded
+xrem019 remainder -64138.0578 31759011.3E+697488342 -> -64138.0578
+xsub019 subtract -64138.0578 31759011.3E+697488342 -> -3.17590113E+697488349 Inexact Rounded
+xadd020 add 61399.8527 -64344484.5 -> -64283084.6 Inexact Rounded
+xcom020 compare 61399.8527 -64344484.5 -> 1
+xdiv020 divide 61399.8527 -64344484.5 -> -0.000954236454 Inexact Rounded
+xdvi020 divideint 61399.8527 -64344484.5 -> -0
+xmul020 multiply 61399.8527 -64344484.5 -> -3.95074187E+12 Inexact Rounded
+xpow020 power 61399.8527 -64344485 -> 1.27378842E-308092161 Inexact Rounded
+xrem020 remainder 61399.8527 -64344484.5 -> 61399.8527
+xsub020 subtract 61399.8527 -64344484.5 -> 64405884.4 Inexact Rounded
+xadd021 add -722960.204 -26154599.8 -> -26877560.0 Inexact Rounded
+xcom021 compare -722960.204 -26154599.8 -> 1
+xdiv021 divide -722960.204 -26154599.8 -> 0.0276417995 Inexact Rounded
+xdvi021 divideint -722960.204 -26154599.8 -> 0
+xmul021 multiply -722960.204 -26154599.8 -> 1.89087348E+13 Inexact Rounded
+xpow021 power -722960.204 -26154600 -> 5.34236139E-153242794 Inexact Rounded
+xrem021 remainder -722960.204 -26154599.8 -> -722960.204
+xsub021 subtract -722960.204 -26154599.8 -> 25431639.6 Inexact Rounded
+xadd022 add 9.47109959E+230565093 73354723.2 -> 9.47109959E+230565093 Inexact Rounded
+xcom022 compare 9.47109959E+230565093 73354723.2 -> 1
+xdiv022 divide 9.47109959E+230565093 73354723.2 -> 1.29113698E+230565086 Inexact Rounded
+xdvi022 divideint 9.47109959E+230565093 73354723.2 -> NaN Division_impossible
+xmul022 multiply 9.47109959E+230565093 73354723.2 -> 6.94749889E+230565101 Inexact Rounded
+xpow022 power 9.47109959E+230565093 73354723 -> Infinity Overflow Inexact Rounded
+xrem022 remainder 9.47109959E+230565093 73354723.2 -> NaN Division_impossible
+xsub022 subtract 9.47109959E+230565093 73354723.2 -> 9.47109959E+230565093 Inexact Rounded
+xadd023 add 43.7456245 547441956. -> 547442000 Inexact Rounded
+xcom023 compare 43.7456245 547441956. -> -1
+xdiv023 divide 43.7456245 547441956. -> 7.99091557E-8 Inexact Rounded
+xdvi023 divideint 43.7456245 547441956. -> 0
+xmul023 multiply 43.7456245 547441956. -> 2.39481902E+10 Inexact Rounded
+xpow023 power 43.7456245 547441956 -> 2.91742391E+898316458 Inexact Rounded
+xrem023 remainder 43.7456245 547441956. -> 43.7456245
+xsub023 subtract 43.7456245 547441956. -> -547441912 Inexact Rounded
+xadd024 add -73150542E-242017390 -8.15869954 -> -8.15869954 Inexact Rounded
+xcom024 compare -73150542E-242017390 -8.15869954 -> 1
+xdiv024 divide -73150542E-242017390 -8.15869954 -> 8.96595611E-242017384 Inexact Rounded
+xdvi024 divideint -73150542E-242017390 -8.15869954 -> 0
+xmul024 multiply -73150542E-242017390 -8.15869954 -> 5.96813293E-242017382 Inexact Rounded
+xpow024 power -73150542E-242017390 -8 -> Infinity Overflow Inexact Rounded
+xrem024 remainder -73150542E-242017390 -8.15869954 -> -7.3150542E-242017383
+xsub024 subtract -73150542E-242017390 -8.15869954 -> 8.15869954 Inexact Rounded
+xadd025 add 2015.62109E+299897596 -11788916.1 -> 2.01562109E+299897599 Inexact Rounded
+xcom025 compare 2015.62109E+299897596 -11788916.1 -> 1
+xdiv025 divide 2015.62109E+299897596 -11788916.1 -> -1.70975947E+299897592 Inexact Rounded
+xdvi025 divideint 2015.62109E+299897596 -11788916.1 -> NaN Division_impossible
+xmul025 multiply 2015.62109E+299897596 -11788916.1 -> -2.37619879E+299897606 Inexact Rounded
+xpow025 power 2015.62109E+299897596 -11788916 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem025 remainder 2015.62109E+299897596 -11788916.1 -> NaN Division_impossible
+xsub025 subtract 2015.62109E+299897596 -11788916.1 -> 2.01562109E+299897599 Inexact Rounded
+xadd026 add 29.498114 -26486451 -> -26486421.5 Inexact Rounded
+xcom026 compare 29.498114 -26486451 -> 1
+xdiv026 divide 29.498114 -26486451 -> -0.00000111370580 Inexact Rounded
+xdvi026 divideint 29.498114 -26486451 -> -0
+xmul026 multiply 29.498114 -26486451 -> -781300351 Inexact Rounded
+xpow026 power 29.498114 -26486451 -> 4.22252513E-38929634 Inexact Rounded
+xrem026 remainder 29.498114 -26486451 -> 29.498114
+xsub026 subtract 29.498114 -26486451 -> 26486480.5 Inexact Rounded
+xadd027 add 244375043.E+130840878 -9.44522029 -> 2.44375043E+130840886 Inexact Rounded
+xcom027 compare 244375043.E+130840878 -9.44522029 -> 1
+xdiv027 divide 244375043.E+130840878 -9.44522029 -> -2.58728791E+130840885 Inexact Rounded
+xdvi027 divideint 244375043.E+130840878 -9.44522029 -> NaN Division_impossible
+xmul027 multiply 244375043.E+130840878 -9.44522029 -> -2.30817611E+130840887 Inexact Rounded
+xpow027 power 244375043.E+130840878 -9 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem027 remainder 244375043.E+130840878 -9.44522029 -> NaN Division_impossible
+xsub027 subtract 244375043.E+130840878 -9.44522029 -> 2.44375043E+130840886 Inexact Rounded
+xadd028 add -349388.759 -196215.776 -> -545604.535
+xcom028 compare -349388.759 -196215.776 -> -1
+xdiv028 divide -349388.759 -196215.776 -> 1.78063541 Inexact Rounded
+xdvi028 divideint -349388.759 -196215.776 -> 1
+xmul028 multiply -349388.759 -196215.776 -> 6.85555865E+10 Inexact Rounded
+xpow028 power -349388.759 -196216 -> 1.24551752E-1087686 Inexact Rounded
+xrem028 remainder -349388.759 -196215.776 -> -153172.983
+xsub028 subtract -349388.759 -196215.776 -> -153172.983
+xadd029 add -70905112.4 -91353968.8 -> -162259081 Inexact Rounded
+xcom029 compare -70905112.4 -91353968.8 -> 1
+xdiv029 divide -70905112.4 -91353968.8 -> 0.776157986 Inexact Rounded
+xdvi029 divideint -70905112.4 -91353968.8 -> 0
+xmul029 multiply -70905112.4 -91353968.8 -> 6.47746343E+15 Inexact Rounded
+xpow029 power -70905112.4 -91353969 -> -3.05944741E-717190554 Inexact Rounded
+xrem029 remainder -70905112.4 -91353968.8 -> -70905112.4
+xsub029 subtract -70905112.4 -91353968.8 -> 20448856.4
+xadd030 add -225094.28 -88.7723542 -> -225183.052 Inexact Rounded
+xcom030 compare -225094.28 -88.7723542 -> -1
+xdiv030 divide -225094.28 -88.7723542 -> 2535.63491 Inexact Rounded
+xdvi030 divideint -225094.28 -88.7723542 -> 2535
+xmul030 multiply -225094.28 -88.7723542 -> 19982149.2 Inexact Rounded
+xpow030 power -225094.28 -89 -> -4.36076964E-477 Inexact Rounded
+xrem030 remainder -225094.28 -88.7723542 -> -56.3621030
+xsub030 subtract -225094.28 -88.7723542 -> -225005.508 Inexact Rounded
+xadd031 add 50.4442340 82.7952169E+880120759 -> 8.27952169E+880120760 Inexact Rounded
+xcom031 compare 50.4442340 82.7952169E+880120759 -> -1
+xdiv031 divide 50.4442340 82.7952169E+880120759 -> 6.09265075E-880120760 Inexact Rounded
+xdvi031 divideint 50.4442340 82.7952169E+880120759 -> 0
+xmul031 multiply 50.4442340 82.7952169E+880120759 -> 4.17654130E+880120762 Inexact Rounded
+xpow031 power 50.4442340 8 -> 4.19268518E+13 Inexact Rounded
+xrem031 remainder 50.4442340 82.7952169E+880120759 -> 50.4442340
+xsub031 subtract 50.4442340 82.7952169E+880120759 -> -8.27952169E+880120760 Inexact Rounded
+xadd032 add -32311.9037 8.36379449 -> -32303.5399 Inexact Rounded
+xcom032 compare -32311.9037 8.36379449 -> -1
+xdiv032 divide -32311.9037 8.36379449 -> -3863.30675 Inexact Rounded
+xdvi032 divideint -32311.9037 8.36379449 -> -3863
+xmul032 multiply -32311.9037 8.36379449 -> -270250.122 Inexact Rounded
+xpow032 power -32311.9037 8 -> 1.18822960E+36 Inexact Rounded
+xrem032 remainder -32311.9037 8.36379449 -> -2.56558513
+xsub032 subtract -32311.9037 8.36379449 -> -32320.2675 Inexact Rounded
+xadd033 add 615396156.E+549895291 -29530247.4 -> 6.15396156E+549895299 Inexact Rounded
+xcom033 compare 615396156.E+549895291 -29530247.4 -> 1
+xdiv033 divide 615396156.E+549895291 -29530247.4 -> -2.08395191E+549895292 Inexact Rounded
+xdvi033 divideint 615396156.E+549895291 -29530247.4 -> NaN Division_impossible
+xmul033 multiply 615396156.E+549895291 -29530247.4 -> -1.81728007E+549895307 Inexact Rounded
+xpow033 power 615396156.E+549895291 -29530247 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem033 remainder 615396156.E+549895291 -29530247.4 -> NaN Division_impossible
+xsub033 subtract 615396156.E+549895291 -29530247.4 -> 6.15396156E+549895299 Inexact Rounded
+xadd034 add 592.142173E-419941416 -3.46079109E-844011845 -> 5.92142173E-419941414 Inexact Rounded
+xcom034 compare 592.142173E-419941416 -3.46079109E-844011845 -> 1
+xdiv034 divide 592.142173E-419941416 -3.46079109E-844011845 -> -1.71100236E+424070431 Inexact Rounded
+xdvi034 divideint 592.142173E-419941416 -3.46079109E-844011845 -> NaN Division_impossible
+xmul034 multiply 592.142173E-419941416 -3.46079109E-844011845 -> -0E-1000000007 Underflow Subnormal Inexact Rounded
+xpow034 power 592.142173E-419941416 -3 -> Infinity Overflow Inexact Rounded
+xrem034 remainder 592.142173E-419941416 -3.46079109E-844011845 -> NaN Division_impossible
+xsub034 subtract 592.142173E-419941416 -3.46079109E-844011845 -> 5.92142173E-419941414 Inexact Rounded
+xadd035 add 849.515993E-878446473 -1039.08778 -> -1039.08778 Inexact Rounded
+xcom035 compare 849.515993E-878446473 -1039.08778 -> 1
+xdiv035 divide 849.515993E-878446473 -1039.08778 -> -8.17559411E-878446474 Inexact Rounded
+xdvi035 divideint 849.515993E-878446473 -1039.08778 -> -0
+xmul035 multiply 849.515993E-878446473 -1039.08778 -> -8.82721687E-878446468 Inexact Rounded
+xpow035 power 849.515993E-878446473 -1039 -> Infinity Overflow Inexact Rounded
+xrem035 remainder 849.515993E-878446473 -1039.08778 -> 8.49515993E-878446471
+xsub035 subtract 849.515993E-878446473 -1039.08778 -> 1039.08778 Inexact Rounded
+xadd036 add 213361789 -599.644851 -> 213361189 Inexact Rounded
+xcom036 compare 213361789 -599.644851 -> 1
+xdiv036 divide 213361789 -599.644851 -> -355813.593 Inexact Rounded
+xdvi036 divideint 213361789 -599.644851 -> -355813
+xmul036 multiply 213361789 -599.644851 -> -1.27941298E+11 Inexact Rounded
+xpow036 power 213361789 -600 -> 3.38854684E-4998 Inexact Rounded
+xrem036 remainder 213361789 -599.644851 -> 355.631137
+xsub036 subtract 213361789 -599.644851 -> 213362389 Inexact Rounded
+xadd037 add -795522555. -298.037702 -> -795522853 Inexact Rounded
+xcom037 compare -795522555. -298.037702 -> -1
+xdiv037 divide -795522555. -298.037702 -> 2669201.08 Inexact Rounded
+xdvi037 divideint -795522555. -298.037702 -> 2669201
+xmul037 multiply -795522555. -298.037702 -> 2.37095714E+11 Inexact Rounded
+xpow037 power -795522555. -298 -> 4.03232712E-2653 Inexact Rounded
+xrem037 remainder -795522555. -298.037702 -> -22.783898
+xsub037 subtract -795522555. -298.037702 -> -795522257 Inexact Rounded
+xadd038 add -501260651. -8761893.0E-689281479 -> -501260651 Inexact Rounded
+xcom038 compare -501260651. -8761893.0E-689281479 -> -1
+xdiv038 divide -501260651. -8761893.0E-689281479 -> 5.72091728E+689281480 Inexact Rounded
+xdvi038 divideint -501260651. -8761893.0E-689281479 -> NaN Division_impossible
+xmul038 multiply -501260651. -8761893.0E-689281479 -> 4.39199219E-689281464 Inexact Rounded
+xpow038 power -501260651. -9 -> -5.00526961E-79 Inexact Rounded
+xrem038 remainder -501260651. -8761893.0E-689281479 -> NaN Division_impossible
+xsub038 subtract -501260651. -8761893.0E-689281479 -> -501260651 Inexact Rounded
+xadd039 add -1.70781105E-848889023 36504769.4 -> 36504769.4 Inexact Rounded
+xcom039 compare -1.70781105E-848889023 36504769.4 -> -1
+xdiv039 divide -1.70781105E-848889023 36504769.4 -> -4.67832307E-848889031 Inexact Rounded
+xdvi039 divideint -1.70781105E-848889023 36504769.4 -> -0
+xmul039 multiply -1.70781105E-848889023 36504769.4 -> -6.23432486E-848889016 Inexact Rounded
+xpow039 power -1.70781105E-848889023 36504769 -> -0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem039 remainder -1.70781105E-848889023 36504769.4 -> -1.70781105E-848889023
+xsub039 subtract -1.70781105E-848889023 36504769.4 -> -36504769.4 Inexact Rounded
+xadd040 add -5290.54984E-490626676 842535254 -> 842535254 Inexact Rounded
+xcom040 compare -5290.54984E-490626676 842535254 -> -1
+xdiv040 divide -5290.54984E-490626676 842535254 -> -6.27932162E-490626682 Inexact Rounded
+xdvi040 divideint -5290.54984E-490626676 842535254 -> -0
+xmul040 multiply -5290.54984E-490626676 842535254 -> -4.45747475E-490626664 Inexact Rounded
+xpow040 power -5290.54984E-490626676 842535254 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem040 remainder -5290.54984E-490626676 842535254 -> -5.29054984E-490626673
+xsub040 subtract -5290.54984E-490626676 842535254 -> -842535254 Inexact Rounded
+xadd041 add 608.31825E+535268120 -59609.0993 -> 6.08318250E+535268122 Inexact Rounded
+xcom041 compare 608.31825E+535268120 -59609.0993 -> 1
+xdiv041 divide 608.31825E+535268120 -59609.0993 -> -1.02051240E+535268118 Inexact Rounded
+xdvi041 divideint 608.31825E+535268120 -59609.0993 -> NaN Division_impossible
+xmul041 multiply 608.31825E+535268120 -59609.0993 -> -3.62613030E+535268127 Inexact Rounded
+xpow041 power 608.31825E+535268120 -59609 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem041 remainder 608.31825E+535268120 -59609.0993 -> NaN Division_impossible
+xsub041 subtract 608.31825E+535268120 -59609.0993 -> 6.08318250E+535268122 Inexact Rounded
+xadd042 add -4629035.31 -167.884398 -> -4629203.19 Inexact Rounded
+xcom042 compare -4629035.31 -167.884398 -> -1
+xdiv042 divide -4629035.31 -167.884398 -> 27572.7546 Inexact Rounded
+xdvi042 divideint -4629035.31 -167.884398 -> 27572
+xmul042 multiply -4629035.31 -167.884398 -> 777142806 Inexact Rounded
+xpow042 power -4629035.31 -168 -> 1.57614831E-1120 Inexact Rounded
+xrem042 remainder -4629035.31 -167.884398 -> -126.688344
+xsub042 subtract -4629035.31 -167.884398 -> -4628867.43 Inexact Rounded
+xadd043 add -66527378. -706400268. -> -772927646
+xcom043 compare -66527378. -706400268. -> 1
+xdiv043 divide -66527378. -706400268. -> 0.0941780192 Inexact Rounded
+xdvi043 divideint -66527378. -706400268. -> 0
+xmul043 multiply -66527378. -706400268. -> 4.69949576E+16 Inexact Rounded
+xpow043 power -66527378. -706400268 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem043 remainder -66527378. -706400268. -> -66527378
+xsub043 subtract -66527378. -706400268. -> 639872890
+xadd044 add -2510497.53 372882462. -> 370371964 Inexact Rounded
+xcom044 compare -2510497.53 372882462. -> -1
+xdiv044 divide -2510497.53 372882462. -> -0.00673267795 Inexact Rounded
+xdvi044 divideint -2510497.53 372882462. -> -0
+xmul044 multiply -2510497.53 372882462. -> -9.36120500E+14 Inexact Rounded
+xpow044 power -2510497.53 372882462 -> Infinity Overflow Inexact Rounded
+xrem044 remainder -2510497.53 372882462. -> -2510497.53
+xsub044 subtract -2510497.53 372882462. -> -375392960 Inexact Rounded
+xadd045 add 136.255393E+53329961 -53494.7201E+720058060 -> -5.34947201E+720058064 Inexact Rounded
+xcom045 compare 136.255393E+53329961 -53494.7201E+720058060 -> 1
+xdiv045 divide 136.255393E+53329961 -53494.7201E+720058060 -> -2.54708115E-666728102 Inexact Rounded
+xdvi045 divideint 136.255393E+53329961 -53494.7201E+720058060 -> -0
+xmul045 multiply 136.255393E+53329961 -53494.7201E+720058060 -> -7.28894411E+773388027 Inexact Rounded
+xpow045 power 136.255393E+53329961 -5 -> 2.12927373E-266649816 Inexact Rounded
+xrem045 remainder 136.255393E+53329961 -53494.7201E+720058060 -> 1.36255393E+53329963
+xsub045 subtract 136.255393E+53329961 -53494.7201E+720058060 -> 5.34947201E+720058064 Inexact Rounded
+xadd046 add -876673.100 -6150.92266 -> -882824.023 Inexact Rounded
+xcom046 compare -876673.100 -6150.92266 -> -1
+xdiv046 divide -876673.100 -6150.92266 -> 142.527089 Inexact Rounded
+xdvi046 divideint -876673.100 -6150.92266 -> 142
+xmul046 multiply -876673.100 -6150.92266 -> 5.39234844E+9 Inexact Rounded
+xpow046 power -876673.100 -6151 -> -4.03111774E-36555 Inexact Rounded
+xrem046 remainder -876673.100 -6150.92266 -> -3242.08228
+xsub046 subtract -876673.100 -6150.92266 -> -870522.177 Inexact Rounded
+xadd047 add -2.45151797E+911306117 27235771 -> -2.45151797E+911306117 Inexact Rounded
+xcom047 compare -2.45151797E+911306117 27235771 -> -1
+xdiv047 divide -2.45151797E+911306117 27235771 -> -9.00109628E+911306109 Inexact Rounded
+xdvi047 divideint -2.45151797E+911306117 27235771 -> NaN Division_impossible
+xmul047 multiply -2.45151797E+911306117 27235771 -> -6.67689820E+911306124 Inexact Rounded
+xpow047 power -2.45151797E+911306117 27235771 -> -Infinity Overflow Inexact Rounded
+xrem047 remainder -2.45151797E+911306117 27235771 -> NaN Division_impossible
+xsub047 subtract -2.45151797E+911306117 27235771 -> -2.45151797E+911306117 Inexact Rounded
+xadd048 add -9.15117551 -4.95100733E-314511326 -> -9.15117551 Inexact Rounded
+xcom048 compare -9.15117551 -4.95100733E-314511326 -> -1
+xdiv048 divide -9.15117551 -4.95100733E-314511326 -> 1.84834618E+314511326 Inexact Rounded
+xdvi048 divideint -9.15117551 -4.95100733E-314511326 -> NaN Division_impossible
+xmul048 multiply -9.15117551 -4.95100733E-314511326 -> 4.53075370E-314511325 Inexact Rounded
+xpow048 power -9.15117551 -5 -> -0.0000155817265 Inexact Rounded
+xrem048 remainder -9.15117551 -4.95100733E-314511326 -> NaN Division_impossible
+xsub048 subtract -9.15117551 -4.95100733E-314511326 -> -9.15117551 Inexact Rounded
+xadd049 add 3.61890453E-985606128 30664416. -> 30664416.0 Inexact Rounded
+xcom049 compare 3.61890453E-985606128 30664416. -> -1
+xdiv049 divide 3.61890453E-985606128 30664416. -> 1.18016418E-985606135 Inexact Rounded
+xdvi049 divideint 3.61890453E-985606128 30664416. -> 0
+xmul049 multiply 3.61890453E-985606128 30664416. -> 1.10971594E-985606120 Inexact Rounded
+xpow049 power 3.61890453E-985606128 30664416 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem049 remainder 3.61890453E-985606128 30664416. -> 3.61890453E-985606128
+xsub049 subtract 3.61890453E-985606128 30664416. -> -30664416.0 Inexact Rounded
+xadd050 add -257674602E+216723382 -70820959.4 -> -2.57674602E+216723390 Inexact Rounded
+xcom050 compare -257674602E+216723382 -70820959.4 -> -1
+xdiv050 divide -257674602E+216723382 -70820959.4 -> 3.63839468E+216723382 Inexact Rounded
+xdvi050 divideint -257674602E+216723382 -70820959.4 -> NaN Division_impossible
+xmul050 multiply -257674602E+216723382 -70820959.4 -> 1.82487625E+216723398 Inexact Rounded
+xpow050 power -257674602E+216723382 -70820959 -> -0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem050 remainder -257674602E+216723382 -70820959.4 -> NaN Division_impossible
+xsub050 subtract -257674602E+216723382 -70820959.4 -> -2.57674602E+216723390 Inexact Rounded
+xadd051 add 218699.206 556944241. -> 557162940 Inexact Rounded
+xcom051 compare 218699.206 556944241. -> -1
+xdiv051 divide 218699.206 556944241. -> 0.000392677022 Inexact Rounded
+xdvi051 divideint 218699.206 556944241. -> 0
+xmul051 multiply 218699.206 556944241. -> 1.21803263E+14 Inexact Rounded
+xpow051 power 218699.206 556944241 -> Infinity Overflow Inexact Rounded
+xrem051 remainder 218699.206 556944241. -> 218699.206
+xsub051 subtract 218699.206 556944241. -> -556725542 Inexact Rounded
+xadd052 add 106211716. -3456793.74 -> 102754922 Inexact Rounded
+xcom052 compare 106211716. -3456793.74 -> 1
+xdiv052 divide 106211716. -3456793.74 -> -30.7255000 Inexact Rounded
+xdvi052 divideint 106211716. -3456793.74 -> -30
+xmul052 multiply 106211716. -3456793.74 -> -3.67151995E+14 Inexact Rounded
+xpow052 power 106211716. -3456794 -> 2.07225581E-27744825 Inexact Rounded
+xrem052 remainder 106211716. -3456793.74 -> 2507903.80
+xsub052 subtract 106211716. -3456793.74 -> 109668510 Inexact Rounded
+xadd053 add 1.25018078 399856.763E-726816740 -> 1.25018078 Inexact Rounded
+xcom053 compare 1.25018078 399856.763E-726816740 -> 1
+xdiv053 divide 1.25018078 399856.763E-726816740 -> 3.12657155E+726816734 Inexact Rounded
+xdvi053 divideint 1.25018078 399856.763E-726816740 -> NaN Division_impossible
+xmul053 multiply 1.25018078 399856.763E-726816740 -> 4.99893240E-726816735 Inexact Rounded
+xpow053 power 1.25018078 4 -> 2.44281890 Inexact Rounded
+xrem053 remainder 1.25018078 399856.763E-726816740 -> NaN Division_impossible
+xsub053 subtract 1.25018078 399856.763E-726816740 -> 1.25018078 Inexact Rounded
+xadd054 add 364.99811 -46222.0505 -> -45857.0524 Inexact Rounded
+xcom054 compare 364.99811 -46222.0505 -> 1
+xdiv054 divide 364.99811 -46222.0505 -> -0.00789662306 Inexact Rounded
+xdvi054 divideint 364.99811 -46222.0505 -> -0
+xmul054 multiply 364.99811 -46222.0505 -> -16870961.1 Inexact Rounded
+xpow054 power 364.99811 -46222 -> 6.35570856E-118435 Inexact Rounded
+xrem054 remainder 364.99811 -46222.0505 -> 364.99811
+xsub054 subtract 364.99811 -46222.0505 -> 46587.0486 Inexact Rounded
+xadd055 add -392217576. -958364096 -> -1.35058167E+9 Inexact Rounded
+xcom055 compare -392217576. -958364096 -> 1
+xdiv055 divide -392217576. -958364096 -> 0.409257377 Inexact Rounded
+xdvi055 divideint -392217576. -958364096 -> 0
+xmul055 multiply -392217576. -958364096 -> 3.75887243E+17 Inexact Rounded
+xpow055 power -392217576. -958364096 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem055 remainder -392217576. -958364096 -> -392217576
+xsub055 subtract -392217576. -958364096 -> 566146520
+xadd056 add 169601285 714526.639 -> 170315812 Inexact Rounded
+xcom056 compare 169601285 714526.639 -> 1
+xdiv056 divide 169601285 714526.639 -> 237.361738 Inexact Rounded
+xdvi056 divideint 169601285 714526.639 -> 237
+xmul056 multiply 169601285 714526.639 -> 1.21184636E+14 Inexact Rounded
+xpow056 power 169601285 714527 -> 2.06052444E+5880149 Inexact Rounded
+xrem056 remainder 169601285 714526.639 -> 258471.557
+xsub056 subtract 169601285 714526.639 -> 168886758 Inexact Rounded
+xadd057 add -674.094552E+586944319 6354.2668E+589657266 -> 6.35426680E+589657269 Inexact Rounded
+xcom057 compare -674.094552E+586944319 6354.2668E+589657266 -> -1
+xdiv057 divide -674.094552E+586944319 6354.2668E+589657266 -> -1.06085340E-2712948 Inexact Rounded
+xdvi057 divideint -674.094552E+586944319 6354.2668E+589657266 -> -0
+xmul057 multiply -674.094552E+586944319 6354.2668E+589657266 -> -Infinity Inexact Overflow Rounded
+xpow057 power -674.094552E+586944319 6 -> Infinity Overflow Inexact Rounded
+xrem057 remainder -674.094552E+586944319 6354.2668E+589657266 -> -6.74094552E+586944321
+xsub057 subtract -674.094552E+586944319 6354.2668E+589657266 -> -6.35426680E+589657269 Inexact Rounded
+xadd058 add 151795163E-371727182 -488.09788E-738852245 -> 1.51795163E-371727174 Inexact Rounded
+xcom058 compare 151795163E-371727182 -488.09788E-738852245 -> 1
+xdiv058 divide 151795163E-371727182 -488.09788E-738852245 -> -3.10993285E+367125068 Inexact Rounded
+xdvi058 divideint 151795163E-371727182 -488.09788E-738852245 -> NaN Division_impossible
+xmul058 multiply 151795163E-371727182 -488.09788E-738852245 -> -0E-1000000007 Underflow Subnormal Inexact Rounded
+xpow058 power 151795163E-371727182 -5 -> Infinity Overflow Inexact Rounded
+xrem058 remainder 151795163E-371727182 -488.09788E-738852245 -> NaN Division_impossible
+xsub058 subtract 151795163E-371727182 -488.09788E-738852245 -> 1.51795163E-371727174 Inexact Rounded
+xadd059 add -746.293386 927749.647 -> 927003.354 Inexact Rounded
+xcom059 compare -746.293386 927749.647 -> -1
+xdiv059 divide -746.293386 927749.647 -> -0.000804412471 Inexact Rounded
+xdvi059 divideint -746.293386 927749.647 -> -0
+xmul059 multiply -746.293386 927749.647 -> -692373425 Inexact Rounded
+xpow059 power -746.293386 927750 -> 7.49278741E+2665341 Inexact Rounded
+xrem059 remainder -746.293386 927749.647 -> -746.293386
+xsub059 subtract -746.293386 927749.647 -> -928495.940 Inexact Rounded
+xadd060 add 888946471E+241331592 -235739.595 -> 8.88946471E+241331600 Inexact Rounded
+xcom060 compare 888946471E+241331592 -235739.595 -> 1
+xdiv060 divide 888946471E+241331592 -235739.595 -> -3.77088317E+241331595 Inexact Rounded
+xdvi060 divideint 888946471E+241331592 -235739.595 -> NaN Division_impossible
+xmul060 multiply 888946471E+241331592 -235739.595 -> -2.09559881E+241331606 Inexact Rounded
+xpow060 power 888946471E+241331592 -235740 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem060 remainder 888946471E+241331592 -235739.595 -> NaN Division_impossible
+xsub060 subtract 888946471E+241331592 -235739.595 -> 8.88946471E+241331600 Inexact Rounded
+xadd061 add 6.64377249 79161.1070E+619453776 -> 7.91611070E+619453780 Inexact Rounded
+xcom061 compare 6.64377249 79161.1070E+619453776 -> -1
+xdiv061 divide 6.64377249 79161.1070E+619453776 -> 8.39272307E-619453781 Inexact Rounded
+xdvi061 divideint 6.64377249 79161.1070E+619453776 -> 0
+xmul061 multiply 6.64377249 79161.1070E+619453776 -> 5.25928385E+619453781 Inexact Rounded
+xpow061 power 6.64377249 8 -> 3795928.44 Inexact Rounded
+xrem061 remainder 6.64377249 79161.1070E+619453776 -> 6.64377249
+xsub061 subtract 6.64377249 79161.1070E+619453776 -> -7.91611070E+619453780 Inexact Rounded
+xadd062 add 3146.66571E-313373366 88.5282010 -> 88.5282010 Inexact Rounded
+xcom062 compare 3146.66571E-313373366 88.5282010 -> -1
+xdiv062 divide 3146.66571E-313373366 88.5282010 -> 3.55442184E-313373365 Inexact Rounded
+xdvi062 divideint 3146.66571E-313373366 88.5282010 -> 0
+xmul062 multiply 3146.66571E-313373366 88.5282010 -> 2.78568654E-313373361 Inexact Rounded
+xpow062 power 3146.66571E-313373366 89 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem062 remainder 3146.66571E-313373366 88.5282010 -> 3.14666571E-313373363
+xsub062 subtract 3146.66571E-313373366 88.5282010 -> -88.5282010 Inexact Rounded
+xadd063 add 6.44693097 -87195.8711 -> -87189.4242 Inexact Rounded
+xcom063 compare 6.44693097 -87195.8711 -> 1
+xdiv063 divide 6.44693097 -87195.8711 -> -0.0000739361955 Inexact Rounded
+xdvi063 divideint 6.44693097 -87195.8711 -> -0
+xmul063 multiply 6.44693097 -87195.8711 -> -562145.762 Inexact Rounded
+xpow063 power 6.44693097 -87196 -> 4.50881730E-70573 Inexact Rounded
+xrem063 remainder 6.44693097 -87195.8711 -> 6.44693097
+xsub063 subtract 6.44693097 -87195.8711 -> 87202.3180 Inexact Rounded
+xadd064 add -2113132.56E+577957840 981125821 -> -2.11313256E+577957846 Inexact Rounded
+xcom064 compare -2113132.56E+577957840 981125821 -> -1
+xdiv064 divide -2113132.56E+577957840 981125821 -> -2.15378345E+577957837 Inexact Rounded
+xdvi064 divideint -2113132.56E+577957840 981125821 -> NaN Division_impossible
+xmul064 multiply -2113132.56E+577957840 981125821 -> -2.07324892E+577957855 Inexact Rounded
+xpow064 power -2113132.56E+577957840 981125821 -> -Infinity Overflow Inexact Rounded
+xrem064 remainder -2113132.56E+577957840 981125821 -> NaN Division_impossible
+xsub064 subtract -2113132.56E+577957840 981125821 -> -2.11313256E+577957846 Inexact Rounded
+xadd065 add -7701.42814 72667.5181 -> 64966.0900 Inexact Rounded
+xcom065 compare -7701.42814 72667.5181 -> -1
+xdiv065 divide -7701.42814 72667.5181 -> -0.105981714 Inexact Rounded
+xdvi065 divideint -7701.42814 72667.5181 -> -0
+xmul065 multiply -7701.42814 72667.5181 -> -559643669 Inexact Rounded
+xpow065 power -7701.42814 72668 -> 2.29543837E+282429 Inexact Rounded
+xrem065 remainder -7701.42814 72667.5181 -> -7701.42814
+xsub065 subtract -7701.42814 72667.5181 -> -80368.9462 Inexact Rounded
+xadd066 add -851.754789 -582659.149 -> -583510.904 Inexact Rounded
+xcom066 compare -851.754789 -582659.149 -> 1
+xdiv066 divide -851.754789 -582659.149 -> 0.00146184058 Inexact Rounded
+xdvi066 divideint -851.754789 -582659.149 -> 0
+xmul066 multiply -851.754789 -582659.149 -> 496282721 Inexact Rounded
+xpow066 power -851.754789 -582659 -> -6.83532593E-1707375 Inexact Rounded
+xrem066 remainder -851.754789 -582659.149 -> -851.754789
+xsub066 subtract -851.754789 -582659.149 -> 581807.394 Inexact Rounded
+xadd067 add -5.01992943 7852.16531 -> 7847.14538 Inexact Rounded
+xcom067 compare -5.01992943 7852.16531 -> -1
+xdiv067 divide -5.01992943 7852.16531 -> -0.000639305113 Inexact Rounded
+xdvi067 divideint -5.01992943 7852.16531 -> -0
+xmul067 multiply -5.01992943 7852.16531 -> -39417.3157 Inexact Rounded
+xpow067 power -5.01992943 7852 -> 7.54481448E+5501 Inexact Rounded
+xrem067 remainder -5.01992943 7852.16531 -> -5.01992943
+xsub067 subtract -5.01992943 7852.16531 -> -7857.18524 Inexact Rounded
+xadd068 add -12393257.2 76803689E+949125770 -> 7.68036890E+949125777 Inexact Rounded
+xcom068 compare -12393257.2 76803689E+949125770 -> -1
+xdiv068 divide -12393257.2 76803689E+949125770 -> -1.61362786E-949125771 Inexact Rounded
+xdvi068 divideint -12393257.2 76803689E+949125770 -> -0
+xmul068 multiply -12393257.2 76803689E+949125770 -> -9.51847872E+949125784 Inexact Rounded
+xpow068 power -12393257.2 8 -> 5.56523750E+56 Inexact Rounded
+xrem068 remainder -12393257.2 76803689E+949125770 -> -12393257.2
+xsub068 subtract -12393257.2 76803689E+949125770 -> -7.68036890E+949125777 Inexact Rounded
+xadd069 add -754771634.E+716555026 -292336.311 -> -7.54771634E+716555034 Inexact Rounded
+xcom069 compare -754771634.E+716555026 -292336.311 -> -1
+xdiv069 divide -754771634.E+716555026 -292336.311 -> 2.58186070E+716555029 Inexact Rounded
+xdvi069 divideint -754771634.E+716555026 -292336.311 -> NaN Division_impossible
+xmul069 multiply -754771634.E+716555026 -292336.311 -> 2.20647155E+716555040 Inexact Rounded
+xpow069 power -754771634.E+716555026 -292336 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem069 remainder -754771634.E+716555026 -292336.311 -> NaN Division_impossible
+xsub069 subtract -754771634.E+716555026 -292336.311 -> -7.54771634E+716555034 Inexact Rounded
+xadd070 add -915006.171E+614548652 -314086965. -> -9.15006171E+614548657 Inexact Rounded
+xcom070 compare -915006.171E+614548652 -314086965. -> -1
+xdiv070 divide -915006.171E+614548652 -314086965. -> 2.91322555E+614548649 Inexact Rounded
+xdvi070 divideint -915006.171E+614548652 -314086965. -> NaN Division_impossible
+xmul070 multiply -915006.171E+614548652 -314086965. -> 2.87391511E+614548666 Inexact Rounded
+xpow070 power -915006.171E+614548652 -314086965 -> -0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem070 remainder -915006.171E+614548652 -314086965. -> NaN Division_impossible
+xsub070 subtract -915006.171E+614548652 -314086965. -> -9.15006171E+614548657 Inexact Rounded
+xadd071 add -296590035 -481734529 -> -778324564
+xcom071 compare -296590035 -481734529 -> 1
+xdiv071 divide -296590035 -481734529 -> 0.615671116 Inexact Rounded
+xdvi071 divideint -296590035 -481734529 -> 0
+xmul071 multiply -296590035 -481734529 -> 1.42877661E+17 Inexact Rounded
+xpow071 power -296590035 -481734529 -> -0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem071 remainder -296590035 -481734529 -> -296590035
+xsub071 subtract -296590035 -481734529 -> 185144494
+xadd072 add 8.27822605 9241557.19 -> 9241565.47 Inexact Rounded
+xcom072 compare 8.27822605 9241557.19 -> -1
+xdiv072 divide 8.27822605 9241557.19 -> 8.95760950E-7 Inexact Rounded
+xdvi072 divideint 8.27822605 9241557.19 -> 0
+xmul072 multiply 8.27822605 9241557.19 -> 76503699.5 Inexact Rounded
+xpow072 power 8.27822605 9241557 -> 5.10219969E+8483169 Inexact Rounded
+xrem072 remainder 8.27822605 9241557.19 -> 8.27822605
+xsub072 subtract 8.27822605 9241557.19 -> -9241548.91 Inexact Rounded
+xadd073 add -1.43581098 7286313.54 -> 7286312.10 Inexact Rounded
+xcom073 compare -1.43581098 7286313.54 -> -1
+xdiv073 divide -1.43581098 7286313.54 -> -1.97055887E-7 Inexact Rounded
+xdvi073 divideint -1.43581098 7286313.54 -> -0
+xmul073 multiply -1.43581098 7286313.54 -> -10461769.0 Inexact Rounded
+xpow073 power -1.43581098 7286314 -> 1.09389741E+1144660 Inexact Rounded
+xrem073 remainder -1.43581098 7286313.54 -> -1.43581098
+xsub073 subtract -1.43581098 7286313.54 -> -7286314.98 Inexact Rounded
+xadd074 add -699036193. 759263.509E+533543625 -> 7.59263509E+533543630 Inexact Rounded
+xcom074 compare -699036193. 759263.509E+533543625 -> -1
+xdiv074 divide -699036193. 759263.509E+533543625 -> -9.20676662E-533543623 Inexact Rounded
+xdvi074 divideint -699036193. 759263.509E+533543625 -> -0
+xmul074 multiply -699036193. 759263.509E+533543625 -> -5.30752673E+533543639 Inexact Rounded
+xpow074 power -699036193. 8 -> 5.70160724E+70 Inexact Rounded
+xrem074 remainder -699036193. 759263.509E+533543625 -> -699036193
+xsub074 subtract -699036193. 759263.509E+533543625 -> -7.59263509E+533543630 Inexact Rounded
+xadd075 add -83.7273615E-305281957 -287779593.E+458777774 -> -2.87779593E+458777782 Inexact Rounded
+xcom075 compare -83.7273615E-305281957 -287779593.E+458777774 -> 1
+xdiv075 divide -83.7273615E-305281957 -287779593.E+458777774 -> 2.90942664E-764059738 Inexact Rounded
+xdvi075 divideint -83.7273615E-305281957 -287779593.E+458777774 -> 0
+xmul075 multiply -83.7273615E-305281957 -287779593.E+458777774 -> 2.40950260E+153495827 Inexact Rounded
+xpow075 power -83.7273615E-305281957 -3 -> -1.70371828E+915845865 Inexact Rounded
+xrem075 remainder -83.7273615E-305281957 -287779593.E+458777774 -> -8.37273615E-305281956
+xsub075 subtract -83.7273615E-305281957 -287779593.E+458777774 -> 2.87779593E+458777782 Inexact Rounded
+xadd076 add 8.48503224 6522.03316 -> 6530.51819 Inexact Rounded
+xcom076 compare 8.48503224 6522.03316 -> -1
+xdiv076 divide 8.48503224 6522.03316 -> 0.00130097962 Inexact Rounded
+xdvi076 divideint 8.48503224 6522.03316 -> 0
+xmul076 multiply 8.48503224 6522.03316 -> 55339.6616 Inexact Rounded
+xpow076 power 8.48503224 6522 -> 4.76547542E+6056 Inexact Rounded
+xrem076 remainder 8.48503224 6522.03316 -> 8.48503224
+xsub076 subtract 8.48503224 6522.03316 -> -6513.54813 Inexact Rounded
+xadd077 add 527916091 -809.054070 -> 527915282 Inexact Rounded
+xcom077 compare 527916091 -809.054070 -> 1
+xdiv077 divide 527916091 -809.054070 -> -652510.272 Inexact Rounded
+xdvi077 divideint 527916091 -809.054070 -> -652510
+xmul077 multiply 527916091 -809.054070 -> -4.27112662E+11 Inexact Rounded
+xpow077 power 527916091 -809 -> 2.78609697E-7057 Inexact Rounded
+xrem077 remainder 527916091 -809.054070 -> 219.784300
+xsub077 subtract 527916091 -809.054070 -> 527916900 Inexact Rounded
+xadd078 add 3857058.60 5792997.58E+881077409 -> 5.79299758E+881077415 Inexact Rounded
+xcom078 compare 3857058.60 5792997.58E+881077409 -> -1
+xdiv078 divide 3857058.60 5792997.58E+881077409 -> 6.65813950E-881077410 Inexact Rounded
+xdvi078 divideint 3857058.60 5792997.58E+881077409 -> 0
+xmul078 multiply 3857058.60 5792997.58E+881077409 -> 2.23439311E+881077422 Inexact Rounded
+xpow078 power 3857058.60 6 -> 3.29258824E+39 Inexact Rounded
+xrem078 remainder 3857058.60 5792997.58E+881077409 -> 3857058.60
+xsub078 subtract 3857058.60 5792997.58E+881077409 -> -5.79299758E+881077415 Inexact Rounded
+xadd079 add -66587363.E+556538173 -551902402E+357309146 -> -6.65873630E+556538180 Inexact Rounded
+xcom079 compare -66587363.E+556538173 -551902402E+357309146 -> -1
+xdiv079 divide -66587363.E+556538173 -551902402E+357309146 -> 1.20650613E+199229026 Inexact Rounded
+xdvi079 divideint -66587363.E+556538173 -551902402E+357309146 -> NaN Division_impossible
+xmul079 multiply -66587363.E+556538173 -551902402E+357309146 -> 3.67497256E+913847335 Inexact Rounded
+xpow079 power -66587363.E+556538173 -6 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem079 remainder -66587363.E+556538173 -551902402E+357309146 -> NaN Division_impossible
+xsub079 subtract -66587363.E+556538173 -551902402E+357309146 -> -6.65873630E+556538180 Inexact Rounded
+xadd080 add -580.502955 38125521.7 -> 38124941.2 Inexact Rounded
+xcom080 compare -580.502955 38125521.7 -> -1
+xdiv080 divide -580.502955 38125521.7 -> -0.0000152260987 Inexact Rounded
+xdvi080 divideint -580.502955 38125521.7 -> -0
+xmul080 multiply -580.502955 38125521.7 -> -2.21319780E+10 Inexact Rounded
+xpow080 power -580.502955 38125522 -> 6.07262078E+105371486 Inexact Rounded
+xrem080 remainder -580.502955 38125521.7 -> -580.502955
+xsub080 subtract -580.502955 38125521.7 -> -38126102.2 Inexact Rounded
+xadd081 add -9627363.00 -80616885E-749891394 -> -9627363.00 Inexact Rounded
+xcom081 compare -9627363.00 -80616885E-749891394 -> -1
+xdiv081 divide -9627363.00 -80616885E-749891394 -> 1.19421173E+749891393 Inexact Rounded
+xdvi081 divideint -9627363.00 -80616885E-749891394 -> NaN Division_impossible
+xmul081 multiply -9627363.00 -80616885E-749891394 -> 7.76128016E-749891380 Inexact Rounded
+xpow081 power -9627363.00 -8 -> 1.35500601E-56 Inexact Rounded
+xrem081 remainder -9627363.00 -80616885E-749891394 -> NaN Division_impossible
+xsub081 subtract -9627363.00 -80616885E-749891394 -> -9627363.00 Inexact Rounded
+xadd082 add -526.594855E+803110107 -64.5451639 -> -5.26594855E+803110109 Inexact Rounded
+xcom082 compare -526.594855E+803110107 -64.5451639 -> -1
+xdiv082 divide -526.594855E+803110107 -64.5451639 -> 8.15854858E+803110107 Inexact Rounded
+xdvi082 divideint -526.594855E+803110107 -64.5451639 -> NaN Division_impossible
+xmul082 multiply -526.594855E+803110107 -64.5451639 -> 3.39891512E+803110111 Inexact Rounded
+xpow082 power -526.594855E+803110107 -65 -> -0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem082 remainder -526.594855E+803110107 -64.5451639 -> NaN Division_impossible
+xsub082 subtract -526.594855E+803110107 -64.5451639 -> -5.26594855E+803110109 Inexact Rounded
+xadd083 add -8378.55499 760.131257 -> -7618.42373 Inexact Rounded
+xcom083 compare -8378.55499 760.131257 -> -1
+xdiv083 divide -8378.55499 760.131257 -> -11.0225108 Inexact Rounded
+xdvi083 divideint -8378.55499 760.131257 -> -11
+xmul083 multiply -8378.55499 760.131257 -> -6368801.54 Inexact Rounded
+xpow083 power -8378.55499 760 -> 4.06007928E+2981 Inexact Rounded
+xrem083 remainder -8378.55499 760.131257 -> -17.111163
+xsub083 subtract -8378.55499 760.131257 -> -9138.68625 Inexact Rounded
+xadd084 add -717.697718 984304413 -> 984303695 Inexact Rounded
+xcom084 compare -717.697718 984304413 -> -1
+xdiv084 divide -717.697718 984304413 -> -7.29142030E-7 Inexact Rounded
+xdvi084 divideint -717.697718 984304413 -> -0
+xmul084 multiply -717.697718 984304413 -> -7.06433031E+11 Inexact Rounded
+xpow084 power -717.697718 984304413 -> -Infinity Overflow Inexact Rounded
+xrem084 remainder -717.697718 984304413 -> -717.697718
+xsub084 subtract -717.697718 984304413 -> -984305131 Inexact Rounded
+xadd085 add -76762243.4E-741100094 -273.706674 -> -273.706674 Inexact Rounded
+xcom085 compare -76762243.4E-741100094 -273.706674 -> 1
+xdiv085 divide -76762243.4E-741100094 -273.706674 -> 2.80454409E-741100089 Inexact Rounded
+xdvi085 divideint -76762243.4E-741100094 -273.706674 -> 0
+xmul085 multiply -76762243.4E-741100094 -273.706674 -> 2.10103383E-741100084 Inexact Rounded
+xpow085 power -76762243.4E-741100094 -274 -> Infinity Overflow Inexact Rounded
+xrem085 remainder -76762243.4E-741100094 -273.706674 -> -7.67622434E-741100087
+xsub085 subtract -76762243.4E-741100094 -273.706674 -> 273.706674 Inexact Rounded
+xadd086 add -701.518354E+786274918 8822750.68E+243052107 -> -7.01518354E+786274920 Inexact Rounded
+xcom086 compare -701.518354E+786274918 8822750.68E+243052107 -> -1
+xdiv086 divide -701.518354E+786274918 8822750.68E+243052107 -> -7.95124309E+543222806 Inexact Rounded
+xdvi086 divideint -701.518354E+786274918 8822750.68E+243052107 -> NaN Division_impossible
+xmul086 multiply -701.518354E+786274918 8822750.68E+243052107 -> -Infinity Inexact Overflow Rounded
+xpow086 power -701.518354E+786274918 9 -> -Infinity Overflow Inexact Rounded
+xrem086 remainder -701.518354E+786274918 8822750.68E+243052107 -> NaN Division_impossible
+xsub086 subtract -701.518354E+786274918 8822750.68E+243052107 -> -7.01518354E+786274920 Inexact Rounded
+xadd087 add -359866845. -4.57434117 -> -359866850 Inexact Rounded
+xcom087 compare -359866845. -4.57434117 -> -1
+xdiv087 divide -359866845. -4.57434117 -> 78670748.8 Inexact Rounded
+xdvi087 divideint -359866845. -4.57434117 -> 78670748
+xmul087 multiply -359866845. -4.57434117 -> 1.64615372E+9 Inexact Rounded
+xpow087 power -359866845. -5 -> -1.65687909E-43 Inexact Rounded
+xrem087 remainder -359866845. -4.57434117 -> -3.54890484
+xsub087 subtract -359866845. -4.57434117 -> -359866840 Inexact Rounded
+xadd088 add 779934536. -76562645.7 -> 703371890 Inexact Rounded
+xcom088 compare 779934536. -76562645.7 -> 1
+xdiv088 divide 779934536. -76562645.7 -> -10.1868807 Inexact Rounded
+xdvi088 divideint 779934536. -76562645.7 -> -10
+xmul088 multiply 779934536. -76562645.7 -> -5.97138515E+16 Inexact Rounded
+xpow088 power 779934536. -76562646 -> 3.36739063E-680799501 Inexact Rounded
+xrem088 remainder 779934536. -76562645.7 -> 14308079.0
+xsub088 subtract 779934536. -76562645.7 -> 856497182 Inexact Rounded
+xadd089 add -4820.95451 3516234.99E+303303176 -> 3.51623499E+303303182 Inexact Rounded
+xcom089 compare -4820.95451 3516234.99E+303303176 -> -1
+xdiv089 divide -4820.95451 3516234.99E+303303176 -> -1.37105584E-303303179 Inexact Rounded
+xdvi089 divideint -4820.95451 3516234.99E+303303176 -> -0
+xmul089 multiply -4820.95451 3516234.99E+303303176 -> -1.69516089E+303303186 Inexact Rounded
+xpow089 power -4820.95451 4 -> 5.40172082E+14 Inexact Rounded
+xrem089 remainder -4820.95451 3516234.99E+303303176 -> -4820.95451
+xsub089 subtract -4820.95451 3516234.99E+303303176 -> -3.51623499E+303303182 Inexact Rounded
+xadd090 add 69355976.9 -9.57838562E+758804984 -> -9.57838562E+758804984 Inexact Rounded
+xcom090 compare 69355976.9 -9.57838562E+758804984 -> 1
+xdiv090 divide 69355976.9 -9.57838562E+758804984 -> -7.24088376E-758804978 Inexact Rounded
+xdvi090 divideint 69355976.9 -9.57838562E+758804984 -> -0
+xmul090 multiply 69355976.9 -9.57838562E+758804984 -> -6.64318292E+758804992 Inexact Rounded
+xpow090 power 69355976.9 -10 -> 3.88294346E-79 Inexact Rounded
+xrem090 remainder 69355976.9 -9.57838562E+758804984 -> 69355976.9
+xsub090 subtract 69355976.9 -9.57838562E+758804984 -> 9.57838562E+758804984 Inexact Rounded
+xadd091 add -12672093.1 8569.78255E-382866025 -> -12672093.1 Inexact Rounded
+xcom091 compare -12672093.1 8569.78255E-382866025 -> -1
+xdiv091 divide -12672093.1 8569.78255E-382866025 -> -1.47869482E+382866028 Inexact Rounded
+xdvi091 divideint -12672093.1 8569.78255E-382866025 -> NaN Division_impossible
+xmul091 multiply -12672093.1 8569.78255E-382866025 -> -1.08597082E-382866014 Inexact Rounded
+xpow091 power -12672093.1 9 -> -8.42626658E+63 Inexact Rounded
+xrem091 remainder -12672093.1 8569.78255E-382866025 -> NaN Division_impossible
+xsub091 subtract -12672093.1 8569.78255E-382866025 -> -12672093.1 Inexact Rounded
+xadd092 add -5910750.2 66150383E-662459241 -> -5910750.20 Inexact Rounded
+xcom092 compare -5910750.2 66150383E-662459241 -> -1
+xdiv092 divide -5910750.2 66150383E-662459241 -> -8.93532272E+662459239 Inexact Rounded
+xdvi092 divideint -5910750.2 66150383E-662459241 -> NaN Division_impossible
+xmul092 multiply -5910750.2 66150383E-662459241 -> -3.90998390E-662459227 Inexact Rounded
+xpow092 power -5910750.2 7 -> -2.52056696E+47 Inexact Rounded
+xrem092 remainder -5910750.2 66150383E-662459241 -> NaN Division_impossible
+xsub092 subtract -5910750.2 66150383E-662459241 -> -5910750.20 Inexact Rounded
+xadd093 add -532577268.E-163806629 -240650398E-650110558 -> -5.32577268E-163806621 Inexact Rounded
+xcom093 compare -532577268.E-163806629 -240650398E-650110558 -> -1
+xdiv093 divide -532577268.E-163806629 -240650398E-650110558 -> 2.21307454E+486303929 Inexact Rounded
+xdvi093 divideint -532577268.E-163806629 -240650398E-650110558 -> NaN Division_impossible
+xmul093 multiply -532577268.E-163806629 -240650398E-650110558 -> 1.28164932E-813917170 Inexact Rounded
+xpow093 power -532577268.E-163806629 -2 -> 3.52561389E+327613240 Inexact Rounded
+xrem093 remainder -532577268.E-163806629 -240650398E-650110558 -> NaN Division_impossible
+xsub093 subtract -532577268.E-163806629 -240650398E-650110558 -> -5.32577268E-163806621 Inexact Rounded
+xadd094 add -671.507198E-908587890 3057429.32E-555230623 -> 3.05742932E-555230617 Inexact Rounded
+xcom094 compare -671.507198E-908587890 3057429.32E-555230623 -> -1
+xdiv094 divide -671.507198E-908587890 3057429.32E-555230623 -> -2.19631307E-353357271 Inexact Rounded
+xdvi094 divideint -671.507198E-908587890 3057429.32E-555230623 -> -0
+xmul094 multiply -671.507198E-908587890 3057429.32E-555230623 -> -0E-1000000007 Underflow Subnormal Inexact Rounded
+xpow094 power -671.507198E-908587890 3 -> -0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem094 remainder -671.507198E-908587890 3057429.32E-555230623 -> -6.71507198E-908587888
+xsub094 subtract -671.507198E-908587890 3057429.32E-555230623 -> -3.05742932E-555230617 Inexact Rounded
+xadd095 add -294.994352E+346452027 -6061853.0 -> -2.94994352E+346452029 Inexact Rounded
+xcom095 compare -294.994352E+346452027 -6061853.0 -> -1
+xdiv095 divide -294.994352E+346452027 -6061853.0 -> 4.86640557E+346452022 Inexact Rounded
+xdvi095 divideint -294.994352E+346452027 -6061853.0 -> NaN Division_impossible
+xmul095 multiply -294.994352E+346452027 -6061853.0 -> 1.78821240E+346452036 Inexact Rounded
+xpow095 power -294.994352E+346452027 -6061853 -> -0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem095 remainder -294.994352E+346452027 -6061853.0 -> NaN Division_impossible
+xsub095 subtract -294.994352E+346452027 -6061853.0 -> -2.94994352E+346452029 Inexact Rounded
+xadd096 add 329579114 146780548. -> 476359662
+xcom096 compare 329579114 146780548. -> 1
+xdiv096 divide 329579114 146780548. -> 2.24538686 Inexact Rounded
+xdvi096 divideint 329579114 146780548. -> 2
+xmul096 multiply 329579114 146780548. -> 4.83758030E+16 Inexact Rounded
+xpow096 power 329579114 146780548 -> Infinity Overflow Inexact Rounded
+xrem096 remainder 329579114 146780548. -> 36018018
+xsub096 subtract 329579114 146780548. -> 182798566
+xadd097 add -789904.686E-217225000 -1991.07181E-84080059 -> -1.99107181E-84080056 Inexact Rounded
+xcom097 compare -789904.686E-217225000 -1991.07181E-84080059 -> 1
+xdiv097 divide -789904.686E-217225000 -1991.07181E-84080059 -> 3.96723354E-133144939 Inexact Rounded
+xdvi097 divideint -789904.686E-217225000 -1991.07181E-84080059 -> 0
+xmul097 multiply -789904.686E-217225000 -1991.07181E-84080059 -> 1.57275695E-301305050 Inexact Rounded
+xpow097 power -789904.686E-217225000 -2 -> 1.60269403E+434449988 Inexact Rounded
+xrem097 remainder -789904.686E-217225000 -1991.07181E-84080059 -> -7.89904686E-217224995
+xsub097 subtract -789904.686E-217225000 -1991.07181E-84080059 -> 1.99107181E-84080056 Inexact Rounded
+xadd098 add 59893.3544 -408595868 -> -408535975 Inexact Rounded
+xcom098 compare 59893.3544 -408595868 -> 1
+xdiv098 divide 59893.3544 -408595868 -> -0.000146583358 Inexact Rounded
+xdvi098 divideint 59893.3544 -408595868 -> -0
+xmul098 multiply 59893.3544 -408595868 -> -2.44721771E+13 Inexact Rounded
+xpow098 power 59893.3544 -408595868 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem098 remainder 59893.3544 -408595868 -> 59893.3544
+xsub098 subtract 59893.3544 -408595868 -> 408655761 Inexact Rounded
+xadd099 add 129.878613 -54652.7288E-963564940 -> 129.878613 Inexact Rounded
+xcom099 compare 129.878613 -54652.7288E-963564940 -> 1
+xdiv099 divide 129.878613 -54652.7288E-963564940 -> -2.37643418E+963564937 Inexact Rounded
+xdvi099 divideint 129.878613 -54652.7288E-963564940 -> NaN Division_impossible
+xmul099 multiply 129.878613 -54652.7288E-963564940 -> -7.09822061E-963564934 Inexact Rounded
+xpow099 power 129.878613 -5 -> 2.70590029E-11 Inexact Rounded
+xrem099 remainder 129.878613 -54652.7288E-963564940 -> NaN Division_impossible
+xsub099 subtract 129.878613 -54652.7288E-963564940 -> 129.878613 Inexact Rounded
+xadd100 add 9866.99208 708756501. -> 708766368 Inexact Rounded
+xcom100 compare 9866.99208 708756501. -> -1
+xdiv100 divide 9866.99208 708756501. -> 0.0000139215543 Inexact Rounded
+xdvi100 divideint 9866.99208 708756501. -> 0
+xmul100 multiply 9866.99208 708756501. -> 6.99329478E+12 Inexact Rounded
+xpow100 power 9866.99208 708756501 -> Infinity Overflow Inexact Rounded
+xrem100 remainder 9866.99208 708756501. -> 9866.99208
+xsub100 subtract 9866.99208 708756501. -> -708746634 Inexact Rounded
+xadd101 add -78810.6297 -399884.68 -> -478695.310 Inexact Rounded
+xcom101 compare -78810.6297 -399884.68 -> 1
+xdiv101 divide -78810.6297 -399884.68 -> 0.197083393 Inexact Rounded
+xdvi101 divideint -78810.6297 -399884.68 -> 0
+xmul101 multiply -78810.6297 -399884.68 -> 3.15151634E+10 Inexact Rounded
+xpow101 power -78810.6297 -399885 -> -1.54252408E-1958071 Inexact Rounded
+xrem101 remainder -78810.6297 -399884.68 -> -78810.6297
+xsub101 subtract -78810.6297 -399884.68 -> 321074.050 Inexact Rounded
+xadd102 add 409189761 -771.471460 -> 409188990 Inexact Rounded
+xcom102 compare 409189761 -771.471460 -> 1
+xdiv102 divide 409189761 -771.471460 -> -530401.683 Inexact Rounded
+xdvi102 divideint 409189761 -771.471460 -> -530401
+xmul102 multiply 409189761 -771.471460 -> -3.15678222E+11 Inexact Rounded
+xpow102 power 409189761 -771 -> 1.60698414E-6640 Inexact Rounded
+xrem102 remainder 409189761 -771.471460 -> 527.144540
+xsub102 subtract 409189761 -771.471460 -> 409190532 Inexact Rounded
+xadd103 add -1.68748838 460.46924 -> 458.781752 Inexact Rounded
+xcom103 compare -1.68748838 460.46924 -> -1
+xdiv103 divide -1.68748838 460.46924 -> -0.00366471467 Inexact Rounded
+xdvi103 divideint -1.68748838 460.46924 -> -0
+xmul103 multiply -1.68748838 460.46924 -> -777.036492 Inexact Rounded
+xpow103 power -1.68748838 460 -> 3.39440648E+104 Inexact Rounded
+xrem103 remainder -1.68748838 460.46924 -> -1.68748838
+xsub103 subtract -1.68748838 460.46924 -> -462.156728 Inexact Rounded
+xadd104 add 553527296. -7924.40185 -> 553519372 Inexact Rounded
+xcom104 compare 553527296. -7924.40185 -> 1
+xdiv104 divide 553527296. -7924.40185 -> -69850.9877 Inexact Rounded
+xdvi104 divideint 553527296. -7924.40185 -> -69850
+xmul104 multiply 553527296. -7924.40185 -> -4.38637273E+12 Inexact Rounded
+xpow104 power 553527296. -7924 -> 2.32397213E-69281 Inexact Rounded
+xrem104 remainder 553527296. -7924.40185 -> 7826.77750
+xsub104 subtract 553527296. -7924.40185 -> 553535220 Inexact Rounded
+xadd105 add -38.7465207 64936.2942 -> 64897.5477 Inexact Rounded
+xcom105 compare -38.7465207 64936.2942 -> -1
+xdiv105 divide -38.7465207 64936.2942 -> -0.000596685123 Inexact Rounded
+xdvi105 divideint -38.7465207 64936.2942 -> -0
+xmul105 multiply -38.7465207 64936.2942 -> -2516055.47 Inexact Rounded
+xpow105 power -38.7465207 64936 -> 3.01500762E+103133 Inexact Rounded
+xrem105 remainder -38.7465207 64936.2942 -> -38.7465207
+xsub105 subtract -38.7465207 64936.2942 -> -64975.0407 Inexact Rounded
+xadd106 add -201075.248 845.663928 -> -200229.584 Inexact Rounded
+xcom106 compare -201075.248 845.663928 -> -1
+xdiv106 divide -201075.248 845.663928 -> -237.772053 Inexact Rounded
+xdvi106 divideint -201075.248 845.663928 -> -237
+xmul106 multiply -201075.248 845.663928 -> -170042084 Inexact Rounded
+xpow106 power -201075.248 846 -> 4.37911767E+4486 Inexact Rounded
+xrem106 remainder -201075.248 845.663928 -> -652.897064
+xsub106 subtract -201075.248 845.663928 -> -201920.912 Inexact Rounded
+xadd107 add 91048.4559 75953609.3 -> 76044657.8 Inexact Rounded
+xcom107 compare 91048.4559 75953609.3 -> -1
+xdiv107 divide 91048.4559 75953609.3 -> 0.00119873771 Inexact Rounded
+xdvi107 divideint 91048.4559 75953609.3 -> 0
+xmul107 multiply 91048.4559 75953609.3 -> 6.91545885E+12 Inexact Rounded
+xpow107 power 91048.4559 75953609 -> 6.94467746E+376674650 Inexact Rounded
+xrem107 remainder 91048.4559 75953609.3 -> 91048.4559
+xsub107 subtract 91048.4559 75953609.3 -> -75862560.8 Inexact Rounded
+xadd108 add 6898273.86E-252097460 15.3456196 -> 15.3456196 Inexact Rounded
+xcom108 compare 6898273.86E-252097460 15.3456196 -> -1
+xdiv108 divide 6898273.86E-252097460 15.3456196 -> 4.49527229E-252097455 Inexact Rounded
+xdvi108 divideint 6898273.86E-252097460 15.3456196 -> 0
+xmul108 multiply 6898273.86E-252097460 15.3456196 -> 1.05858287E-252097452 Inexact Rounded
+xpow108 power 6898273.86E-252097460 15 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem108 remainder 6898273.86E-252097460 15.3456196 -> 6.89827386E-252097454
+xsub108 subtract 6898273.86E-252097460 15.3456196 -> -15.3456196 Inexact Rounded
+xadd109 add 88.4370343 -980709105E-869899289 -> 88.4370343 Inexact Rounded
+xcom109 compare 88.4370343 -980709105E-869899289 -> 1
+xdiv109 divide 88.4370343 -980709105E-869899289 -> -9.01766220E+869899281 Inexact Rounded
+xdvi109 divideint 88.4370343 -980709105E-869899289 -> NaN Division_impossible
+xmul109 multiply 88.4370343 -980709105E-869899289 -> -8.67310048E-869899279 Inexact Rounded
+xpow109 power 88.4370343 -10 -> 3.41710479E-20 Inexact Rounded
+xrem109 remainder 88.4370343 -980709105E-869899289 -> NaN Division_impossible
+xsub109 subtract 88.4370343 -980709105E-869899289 -> 88.4370343 Inexact Rounded
+xadd110 add -17643.39 2.0352568E+304871331 -> 2.03525680E+304871331 Inexact Rounded
+xcom110 compare -17643.39 2.0352568E+304871331 -> -1
+xdiv110 divide -17643.39 2.0352568E+304871331 -> -8.66887658E-304871328 Inexact Rounded
+xdvi110 divideint -17643.39 2.0352568E+304871331 -> -0
+xmul110 multiply -17643.39 2.0352568E+304871331 -> -3.59088295E+304871335 Inexact Rounded
+xpow110 power -17643.39 2 -> 311289211 Inexact Rounded
+xrem110 remainder -17643.39 2.0352568E+304871331 -> -17643.39
+xsub110 subtract -17643.39 2.0352568E+304871331 -> -2.03525680E+304871331 Inexact Rounded
+xadd111 add 4589785.16 7459.04237 -> 4597244.20 Inexact Rounded
+xcom111 compare 4589785.16 7459.04237 -> 1
+xdiv111 divide 4589785.16 7459.04237 -> 615.331692 Inexact Rounded
+xdvi111 divideint 4589785.16 7459.04237 -> 615
+xmul111 multiply 4589785.16 7459.04237 -> 3.42354020E+10 Inexact Rounded
+xpow111 power 4589785.16 7459 -> 2.03795258E+49690 Inexact Rounded
+xrem111 remainder 4589785.16 7459.04237 -> 2474.10245
+xsub111 subtract 4589785.16 7459.04237 -> 4582326.12 Inexact Rounded
+xadd112 add -51.1632090E-753968082 8.96207471E-585797887 -> 8.96207471E-585797887 Inexact Rounded
+xcom112 compare -51.1632090E-753968082 8.96207471E-585797887 -> -1
+xdiv112 divide -51.1632090E-753968082 8.96207471E-585797887 -> -5.70885768E-168170195 Inexact Rounded
+xdvi112 divideint -51.1632090E-753968082 8.96207471E-585797887 -> -0
+xmul112 multiply -51.1632090E-753968082 8.96207471E-585797887 -> -0E-1000000007 Underflow Subnormal Inexact Rounded
+xpow112 power -51.1632090E-753968082 9 -> -0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem112 remainder -51.1632090E-753968082 8.96207471E-585797887 -> -5.11632090E-753968081
+xsub112 subtract -51.1632090E-753968082 8.96207471E-585797887 -> -8.96207471E-585797887 Inexact Rounded
+xadd113 add 982.217817 7224909.4E-45243816 -> 982.217817 Inexact Rounded
+xcom113 compare 982.217817 7224909.4E-45243816 -> 1
+xdiv113 divide 982.217817 7224909.4E-45243816 -> 1.35948807E+45243812 Inexact Rounded
+xdvi113 divideint 982.217817 7224909.4E-45243816 -> NaN Division_impossible
+xmul113 multiply 982.217817 7224909.4E-45243816 -> 7.09643474E-45243807 Inexact Rounded
+xpow113 power 982.217817 7 -> 8.81971709E+20 Inexact Rounded
+xrem113 remainder 982.217817 7224909.4E-45243816 -> NaN Division_impossible
+xsub113 subtract 982.217817 7224909.4E-45243816 -> 982.217817 Inexact Rounded
+xadd114 add 503712056. -57490703.5E+924890183 -> -5.74907035E+924890190 Inexact Rounded
+xcom114 compare 503712056. -57490703.5E+924890183 -> 1
+xdiv114 divide 503712056. -57490703.5E+924890183 -> -8.76162623E-924890183 Inexact Rounded
+xdvi114 divideint 503712056. -57490703.5E+924890183 -> -0
+xmul114 multiply 503712056. -57490703.5E+924890183 -> -2.89587605E+924890199 Inexact Rounded
+xpow114 power 503712056. -6 -> 6.12217764E-53 Inexact Rounded
+xrem114 remainder 503712056. -57490703.5E+924890183 -> 503712056
+xsub114 subtract 503712056. -57490703.5E+924890183 -> 5.74907035E+924890190 Inexact Rounded
+xadd115 add 883.849223 249259171 -> 249260055 Inexact Rounded
+xcom115 compare 883.849223 249259171 -> -1
+xdiv115 divide 883.849223 249259171 -> 0.00000354590453 Inexact Rounded
+xdvi115 divideint 883.849223 249259171 -> 0
+xmul115 multiply 883.849223 249259171 -> 2.20307525E+11 Inexact Rounded
+xpow115 power 883.849223 249259171 -> 5.15642844E+734411783 Inexact Rounded
+xrem115 remainder 883.849223 249259171 -> 883.849223
+xsub115 subtract 883.849223 249259171 -> -249258287 Inexact Rounded
+xadd116 add 245.092853E+872642874 828195.152E+419771532 -> 2.45092853E+872642876 Inexact Rounded
+xcom116 compare 245.092853E+872642874 828195.152E+419771532 -> 1
+xdiv116 divide 245.092853E+872642874 828195.152E+419771532 -> 2.95936112E+452871338 Inexact Rounded
+xdvi116 divideint 245.092853E+872642874 828195.152E+419771532 -> NaN Division_impossible
+xmul116 multiply 245.092853E+872642874 828195.152E+419771532 -> Infinity Inexact Overflow Rounded
+xpow116 power 245.092853E+872642874 8 -> Infinity Overflow Inexact Rounded
+xrem116 remainder 245.092853E+872642874 828195.152E+419771532 -> NaN Division_impossible
+xsub116 subtract 245.092853E+872642874 828195.152E+419771532 -> 2.45092853E+872642876 Inexact Rounded
+xadd117 add -83658638.6E+728551928 2952478.42 -> -8.36586386E+728551935 Inexact Rounded
+xcom117 compare -83658638.6E+728551928 2952478.42 -> -1
+xdiv117 divide -83658638.6E+728551928 2952478.42 -> -2.83350551E+728551929 Inexact Rounded
+xdvi117 divideint -83658638.6E+728551928 2952478.42 -> NaN Division_impossible
+xmul117 multiply -83658638.6E+728551928 2952478.42 -> -2.47000325E+728551942 Inexact Rounded
+xpow117 power -83658638.6E+728551928 2952478 -> Infinity Overflow Inexact Rounded
+xrem117 remainder -83658638.6E+728551928 2952478.42 -> NaN Division_impossible
+xsub117 subtract -83658638.6E+728551928 2952478.42 -> -8.36586386E+728551935 Inexact Rounded
+xadd118 add -6291780.97 269967.394E-22000817 -> -6291780.97 Inexact Rounded
+xcom118 compare -6291780.97 269967.394E-22000817 -> -1
+xdiv118 divide -6291780.97 269967.394E-22000817 -> -2.33057069E+22000818 Inexact Rounded
+xdvi118 divideint -6291780.97 269967.394E-22000817 -> NaN Division_impossible
+xmul118 multiply -6291780.97 269967.394E-22000817 -> -1.69857571E-22000805 Inexact Rounded
+xpow118 power -6291780.97 3 -> -2.49069636E+20 Inexact Rounded
+xrem118 remainder -6291780.97 269967.394E-22000817 -> NaN Division_impossible
+xsub118 subtract -6291780.97 269967.394E-22000817 -> -6291780.97 Inexact Rounded
+xadd119 add 978571348.E+222382547 6006.19370 -> 9.78571348E+222382555 Inexact Rounded
+xcom119 compare 978571348.E+222382547 6006.19370 -> 1
+xdiv119 divide 978571348.E+222382547 6006.19370 -> 1.62927038E+222382552 Inexact Rounded
+xdvi119 divideint 978571348.E+222382547 6006.19370 -> NaN Division_impossible
+xmul119 multiply 978571348.E+222382547 6006.19370 -> 5.87748907E+222382559 Inexact Rounded
+xpow119 power 978571348.E+222382547 6006 -> Infinity Overflow Inexact Rounded
+xrem119 remainder 978571348.E+222382547 6006.19370 -> NaN Division_impossible
+xsub119 subtract 978571348.E+222382547 6006.19370 -> 9.78571348E+222382555 Inexact Rounded
+xadd120 add 14239029. -36527.2221 -> 14202501.8 Inexact Rounded
+xcom120 compare 14239029. -36527.2221 -> 1
+xdiv120 divide 14239029. -36527.2221 -> -389.819652 Inexact Rounded
+xdvi120 divideint 14239029. -36527.2221 -> -389
+xmul120 multiply 14239029. -36527.2221 -> -5.20112175E+11 Inexact Rounded
+xpow120 power 14239029. -36527 -> 6.64292731E-261296 Inexact Rounded
+xrem120 remainder 14239029. -36527.2221 -> 29939.6031
+xsub120 subtract 14239029. -36527.2221 -> 14275556.2 Inexact Rounded
+xadd121 add 72333.2654E-544425548 -690.664836E+662155120 -> -6.90664836E+662155122 Inexact Rounded
+xcom121 compare 72333.2654E-544425548 -690.664836E+662155120 -> 1
+xdiv121 divide 72333.2654E-544425548 -690.664836E+662155120 -> -0E-1000000007 Inexact Rounded Underflow Subnormal
+xdvi121 divideint 72333.2654E-544425548 -690.664836E+662155120 -> -0
+xmul121 multiply 72333.2654E-544425548 -690.664836E+662155120 -> -4.99580429E+117729579 Inexact Rounded
+xpow121 power 72333.2654E-544425548 -7 -> Infinity Overflow Inexact Rounded
+xrem121 remainder 72333.2654E-544425548 -690.664836E+662155120 -> 7.23332654E-544425544
+xsub121 subtract 72333.2654E-544425548 -690.664836E+662155120 -> 6.90664836E+662155122 Inexact Rounded
+xadd122 add -37721.1567E-115787341 -828949864E-76251747 -> -8.28949864E-76251739 Inexact Rounded
+xcom122 compare -37721.1567E-115787341 -828949864E-76251747 -> 1
+xdiv122 divide -37721.1567E-115787341 -828949864E-76251747 -> 4.55047505E-39535599 Inexact Rounded
+xdvi122 divideint -37721.1567E-115787341 -828949864E-76251747 -> 0
+xmul122 multiply -37721.1567E-115787341 -828949864E-76251747 -> 3.12689477E-192039075 Inexact Rounded
+xpow122 power -37721.1567E-115787341 -8 -> 2.43960765E+926298691 Inexact Rounded
+xrem122 remainder -37721.1567E-115787341 -828949864E-76251747 -> -3.77211567E-115787337
+xsub122 subtract -37721.1567E-115787341 -828949864E-76251747 -> 8.28949864E-76251739 Inexact Rounded
+xadd123 add -2078852.83E-647080089 -119779858.E+734665461 -> -1.19779858E+734665469 Inexact Rounded
+xcom123 compare -2078852.83E-647080089 -119779858.E+734665461 -> 1
+xdiv123 divide -2078852.83E-647080089 -119779858.E+734665461 -> 0E-1000000007 Inexact Rounded Underflow Subnormal
+xdvi123 divideint -2078852.83E-647080089 -119779858.E+734665461 -> 0
+xmul123 multiply -2078852.83E-647080089 -119779858.E+734665461 -> 2.49004697E+87585386 Inexact Rounded
+xpow123 power -2078852.83E-647080089 -1 -> -4.81034533E+647080082 Inexact Rounded
+xrem123 remainder -2078852.83E-647080089 -119779858.E+734665461 -> -2.07885283E-647080083
+xsub123 subtract -2078852.83E-647080089 -119779858.E+734665461 -> 1.19779858E+734665469 Inexact Rounded
+xadd124 add -79145.3625 -7718.57307 -> -86863.9356 Inexact Rounded
+xcom124 compare -79145.3625 -7718.57307 -> -1
+xdiv124 divide -79145.3625 -7718.57307 -> 10.2538852 Inexact Rounded
+xdvi124 divideint -79145.3625 -7718.57307 -> 10
+xmul124 multiply -79145.3625 -7718.57307 -> 610889264 Inexact Rounded
+xpow124 power -79145.3625 -7719 -> -1.13181941E-37811 Inexact Rounded
+xrem124 remainder -79145.3625 -7718.57307 -> -1959.63180
+xsub124 subtract -79145.3625 -7718.57307 -> -71426.7894 Inexact Rounded
+xadd125 add 2103890.49E+959247237 20024.3017 -> 2.10389049E+959247243 Inexact Rounded
+xcom125 compare 2103890.49E+959247237 20024.3017 -> 1
+xdiv125 divide 2103890.49E+959247237 20024.3017 -> 1.05066859E+959247239 Inexact Rounded
+xdvi125 divideint 2103890.49E+959247237 20024.3017 -> NaN Division_impossible
+xmul125 multiply 2103890.49E+959247237 20024.3017 -> 4.21289379E+959247247 Inexact Rounded
+xpow125 power 2103890.49E+959247237 20024 -> Infinity Overflow Inexact Rounded
+xrem125 remainder 2103890.49E+959247237 20024.3017 -> NaN Division_impossible
+xsub125 subtract 2103890.49E+959247237 20024.3017 -> 2.10389049E+959247243 Inexact Rounded
+xadd126 add 911249557 79810804.9 -> 991060362 Inexact Rounded
+xcom126 compare 911249557 79810804.9 -> 1
+xdiv126 divide 911249557 79810804.9 -> 11.4176214 Inexact Rounded
+xdvi126 divideint 911249557 79810804.9 -> 11
+xmul126 multiply 911249557 79810804.9 -> 7.27275606E+16 Inexact Rounded
+xpow126 power 911249557 79810805 -> 6.77595741E+715075867 Inexact Rounded
+xrem126 remainder 911249557 79810804.9 -> 33330703.1
+xsub126 subtract 911249557 79810804.9 -> 831438752 Inexact Rounded
+xadd127 add 341134.994 3.37486292 -> 341138.369 Inexact Rounded
+xcom127 compare 341134.994 3.37486292 -> 1
+xdiv127 divide 341134.994 3.37486292 -> 101081.141 Inexact Rounded
+xdvi127 divideint 341134.994 3.37486292 -> 101081
+xmul127 multiply 341134.994 3.37486292 -> 1151283.84 Inexact Rounded
+xpow127 power 341134.994 3 -> 3.96989314E+16 Inexact Rounded
+xrem127 remainder 341134.994 3.37486292 -> 0.47518348
+xsub127 subtract 341134.994 3.37486292 -> 341131.619 Inexact Rounded
+xadd128 add 244.23634 512706190E-341459836 -> 244.236340 Inexact Rounded
+xcom128 compare 244.23634 512706190E-341459836 -> 1
+xdiv128 divide 244.23634 512706190E-341459836 -> 4.76367059E+341459829 Inexact Rounded
+xdvi128 divideint 244.23634 512706190E-341459836 -> NaN Division_impossible
+xmul128 multiply 244.23634 512706190E-341459836 -> 1.25221483E-341459825 Inexact Rounded
+xpow128 power 244.23634 5 -> 8.69063312E+11 Inexact Rounded
+xrem128 remainder 244.23634 512706190E-341459836 -> NaN Division_impossible
+xsub128 subtract 244.23634 512706190E-341459836 -> 244.236340 Inexact Rounded
+xadd129 add -9.22783849E+171585954 -99.0946800 -> -9.22783849E+171585954 Inexact Rounded
+xcom129 compare -9.22783849E+171585954 -99.0946800 -> -1
+xdiv129 divide -9.22783849E+171585954 -99.0946800 -> 9.31214318E+171585952 Inexact Rounded
+xdvi129 divideint -9.22783849E+171585954 -99.0946800 -> NaN Division_impossible
+xmul129 multiply -9.22783849E+171585954 -99.0946800 -> 9.14429702E+171585956 Inexact Rounded
+xpow129 power -9.22783849E+171585954 -99 -> -0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem129 remainder -9.22783849E+171585954 -99.0946800 -> NaN Division_impossible
+xsub129 subtract -9.22783849E+171585954 -99.0946800 -> -9.22783849E+171585954 Inexact Rounded
+xadd130 add 699631.893 -226.423958 -> 699405.469 Inexact Rounded
+xcom130 compare 699631.893 -226.423958 -> 1
+xdiv130 divide 699631.893 -226.423958 -> -3089.91990 Inexact Rounded
+xdvi130 divideint 699631.893 -226.423958 -> -3089
+xmul130 multiply 699631.893 -226.423958 -> -158413422 Inexact Rounded
+xpow130 power 699631.893 -226 -> 1.14675511E-1321 Inexact Rounded
+xrem130 remainder 699631.893 -226.423958 -> 208.286738
+xsub130 subtract 699631.893 -226.423958 -> 699858.317 Inexact Rounded
+xadd131 add -249350139.E-571793673 775732428. -> 775732428 Inexact Rounded
+xcom131 compare -249350139.E-571793673 775732428. -> -1
+xdiv131 divide -249350139.E-571793673 775732428. -> -3.21438334E-571793674 Inexact Rounded
+xdvi131 divideint -249350139.E-571793673 775732428. -> -0
+xmul131 multiply -249350139.E-571793673 775732428. -> -1.93428989E-571793656 Inexact Rounded
+xpow131 power -249350139.E-571793673 775732428 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem131 remainder -249350139.E-571793673 775732428. -> -2.49350139E-571793665
+xsub131 subtract -249350139.E-571793673 775732428. -> -775732428 Inexact Rounded
+xadd132 add 5.11629020 -480.53194 -> -475.415650 Inexact Rounded
+xcom132 compare 5.11629020 -480.53194 -> 1
+xdiv132 divide 5.11629020 -480.53194 -> -0.0106471387 Inexact Rounded
+xdvi132 divideint 5.11629020 -480.53194 -> -0
+xmul132 multiply 5.11629020 -480.53194 -> -2458.54086 Inexact Rounded
+xpow132 power 5.11629020 -481 -> 9.83021951E-342 Inexact Rounded
+xrem132 remainder 5.11629020 -480.53194 -> 5.11629020
+xsub132 subtract 5.11629020 -480.53194 -> 485.648230 Inexact Rounded
+xadd133 add -8.23352673E-446723147 -530710.866 -> -530710.866 Inexact Rounded
+xcom133 compare -8.23352673E-446723147 -530710.866 -> 1
+xdiv133 divide -8.23352673E-446723147 -530710.866 -> 1.55141476E-446723152 Inexact Rounded
+xdvi133 divideint -8.23352673E-446723147 -530710.866 -> 0
+xmul133 multiply -8.23352673E-446723147 -530710.866 -> 4.36962210E-446723141 Inexact Rounded
+xpow133 power -8.23352673E-446723147 -530711 -> -Infinity Overflow Inexact Rounded
+xrem133 remainder -8.23352673E-446723147 -530710.866 -> -8.23352673E-446723147
+xsub133 subtract -8.23352673E-446723147 -530710.866 -> 530710.866 Inexact Rounded
+xadd134 add 7.0598608 -95908.35 -> -95901.2901 Inexact Rounded
+xcom134 compare 7.0598608 -95908.35 -> 1
+xdiv134 divide 7.0598608 -95908.35 -> -0.0000736104917 Inexact Rounded
+xdvi134 divideint 7.0598608 -95908.35 -> -0
+xmul134 multiply 7.0598608 -95908.35 -> -677099.601 Inexact Rounded
+xpow134 power 7.0598608 -95908 -> 4.57073877E-81407 Inexact Rounded
+xrem134 remainder 7.0598608 -95908.35 -> 7.0598608
+xsub134 subtract 7.0598608 -95908.35 -> 95915.4099 Inexact Rounded
+xadd135 add -7.91189845E+207202706 1532.71847E+509944335 -> 1.53271847E+509944338 Inexact Rounded
+xcom135 compare -7.91189845E+207202706 1532.71847E+509944335 -> -1
+xdiv135 divide -7.91189845E+207202706 1532.71847E+509944335 -> -5.16200372E-302741632 Inexact Rounded
+xdvi135 divideint -7.91189845E+207202706 1532.71847E+509944335 -> -0
+xmul135 multiply -7.91189845E+207202706 1532.71847E+509944335 -> -1.21267129E+717147045 Inexact Rounded
+xpow135 power -7.91189845E+207202706 2 -> 6.25981371E+414405413 Inexact Rounded
+xrem135 remainder -7.91189845E+207202706 1532.71847E+509944335 -> -7.91189845E+207202706
+xsub135 subtract -7.91189845E+207202706 1532.71847E+509944335 -> -1.53271847E+509944338 Inexact Rounded
+xadd136 add 208839370.E-215147432 -75.9420559 -> -75.9420559 Inexact Rounded
+xcom136 compare 208839370.E-215147432 -75.9420559 -> 1
+xdiv136 divide 208839370.E-215147432 -75.9420559 -> -2.74998310E-215147426 Inexact Rounded
+xdvi136 divideint 208839370.E-215147432 -75.9420559 -> -0
+xmul136 multiply 208839370.E-215147432 -75.9420559 -> -1.58596911E-215147422 Inexact Rounded
+xpow136 power 208839370.E-215147432 -76 -> Infinity Overflow Inexact Rounded
+xrem136 remainder 208839370.E-215147432 -75.9420559 -> 2.08839370E-215147424
+xsub136 subtract 208839370.E-215147432 -75.9420559 -> 75.9420559 Inexact Rounded
+xadd137 add 427.754244E-353328369 4705.0796 -> 4705.07960 Inexact Rounded
+xcom137 compare 427.754244E-353328369 4705.0796 -> -1
+xdiv137 divide 427.754244E-353328369 4705.0796 -> 9.09132853E-353328371 Inexact Rounded
+xdvi137 divideint 427.754244E-353328369 4705.0796 -> 0
+xmul137 multiply 427.754244E-353328369 4705.0796 -> 2.01261777E-353328363 Inexact Rounded
+xpow137 power 427.754244E-353328369 4705 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem137 remainder 427.754244E-353328369 4705.0796 -> 4.27754244E-353328367
+xsub137 subtract 427.754244E-353328369 4705.0796 -> -4705.07960 Inexact Rounded
+xadd138 add 44911.089 -95.1733605E-313081848 -> 44911.0890 Inexact Rounded
+xcom138 compare 44911.089 -95.1733605E-313081848 -> 1
+xdiv138 divide 44911.089 -95.1733605E-313081848 -> -4.71887183E+313081850 Inexact Rounded
+xdvi138 divideint 44911.089 -95.1733605E-313081848 -> NaN Division_impossible
+xmul138 multiply 44911.089 -95.1733605E-313081848 -> -4.27433926E-313081842 Inexact Rounded
+xpow138 power 44911.089 -10 -> 2.99546425E-47 Inexact Rounded
+xrem138 remainder 44911.089 -95.1733605E-313081848 -> NaN Division_impossible
+xsub138 subtract 44911.089 -95.1733605E-313081848 -> 44911.0890 Inexact Rounded
+xadd139 add 452371821. -4109709.19 -> 448262112 Inexact Rounded
+xcom139 compare 452371821. -4109709.19 -> 1
+xdiv139 divide 452371821. -4109709.19 -> -110.073925 Inexact Rounded
+xdvi139 divideint 452371821. -4109709.19 -> -110
+xmul139 multiply 452371821. -4109709.19 -> -1.85911663E+15 Inexact Rounded
+xpow139 power 452371821. -4109709 -> 1.15528807E-35571568 Inexact Rounded
+xrem139 remainder 452371821. -4109709.19 -> 303810.10
+xsub139 subtract 452371821. -4109709.19 -> 456481530 Inexact Rounded
+xadd140 add 94007.4392 -9467725.5E+681898234 -> -9.46772550E+681898240 Inexact Rounded
+xcom140 compare 94007.4392 -9467725.5E+681898234 -> 1
+xdiv140 divide 94007.4392 -9467725.5E+681898234 -> -9.92925272E-681898237 Inexact Rounded
+xdvi140 divideint 94007.4392 -9467725.5E+681898234 -> -0
+xmul140 multiply 94007.4392 -9467725.5E+681898234 -> -8.90036629E+681898245 Inexact Rounded
+xpow140 power 94007.4392 -9 -> 1.74397397E-45 Inexact Rounded
+xrem140 remainder 94007.4392 -9467725.5E+681898234 -> 94007.4392
+xsub140 subtract 94007.4392 -9467725.5E+681898234 -> 9.46772550E+681898240 Inexact Rounded
+xadd141 add 99147554.0E-751410586 38313.6423 -> 38313.6423 Inexact Rounded
+xcom141 compare 99147554.0E-751410586 38313.6423 -> -1
+xdiv141 divide 99147554.0E-751410586 38313.6423 -> 2.58778722E-751410583 Inexact Rounded
+xdvi141 divideint 99147554.0E-751410586 38313.6423 -> 0
+xmul141 multiply 99147554.0E-751410586 38313.6423 -> 3.79870392E-751410574 Inexact Rounded
+xpow141 power 99147554.0E-751410586 38314 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem141 remainder 99147554.0E-751410586 38313.6423 -> 9.91475540E-751410579
+xsub141 subtract 99147554.0E-751410586 38313.6423 -> -38313.6423 Inexact Rounded
+xadd142 add -7919.30254 -669.607854 -> -8588.91039 Inexact Rounded
+xcom142 compare -7919.30254 -669.607854 -> -1
+xdiv142 divide -7919.30254 -669.607854 -> 11.8267767 Inexact Rounded
+xdvi142 divideint -7919.30254 -669.607854 -> 11
+xmul142 multiply -7919.30254 -669.607854 -> 5302827.18 Inexact Rounded
+xpow142 power -7919.30254 -670 -> 7.58147724E-2613 Inexact Rounded
+xrem142 remainder -7919.30254 -669.607854 -> -553.616146
+xsub142 subtract -7919.30254 -669.607854 -> -7249.69469 Inexact Rounded
+xadd143 add 461.58280E+136110821 710666052.E-383754231 -> 4.61582800E+136110823 Inexact Rounded
+xcom143 compare 461.58280E+136110821 710666052.E-383754231 -> 1
+xdiv143 divide 461.58280E+136110821 710666052.E-383754231 -> 6.49507316E+519865045 Inexact Rounded
+xdvi143 divideint 461.58280E+136110821 710666052.E-383754231 -> NaN Division_impossible
+xmul143 multiply 461.58280E+136110821 710666052.E-383754231 -> 3.28031226E-247643399 Inexact Rounded
+xpow143 power 461.58280E+136110821 7 -> 4.46423781E+952775765 Inexact Rounded
+xrem143 remainder 461.58280E+136110821 710666052.E-383754231 -> NaN Division_impossible
+xsub143 subtract 461.58280E+136110821 710666052.E-383754231 -> 4.61582800E+136110823 Inexact Rounded
+xadd144 add 3455755.47E-112465506 771.674306 -> 771.674306 Inexact Rounded
+xcom144 compare 3455755.47E-112465506 771.674306 -> -1
+xdiv144 divide 3455755.47E-112465506 771.674306 -> 4.47825649E-112465503 Inexact Rounded
+xdvi144 divideint 3455755.47E-112465506 771.674306 -> 0
+xmul144 multiply 3455755.47E-112465506 771.674306 -> 2.66671770E-112465497 Inexact Rounded
+xpow144 power 3455755.47E-112465506 772 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem144 remainder 3455755.47E-112465506 771.674306 -> 3.45575547E-112465500
+xsub144 subtract 3455755.47E-112465506 771.674306 -> -771.674306 Inexact Rounded
+xadd145 add -477067757.E-961684940 7.70122608E-741072245 -> 7.70122608E-741072245 Inexact Rounded
+xcom145 compare -477067757.E-961684940 7.70122608E-741072245 -> -1
+xdiv145 divide -477067757.E-961684940 7.70122608E-741072245 -> -6.19469877E-220612688 Inexact Rounded
+xdvi145 divideint -477067757.E-961684940 7.70122608E-741072245 -> -0
+xmul145 multiply -477067757.E-961684940 7.70122608E-741072245 -> -0E-1000000007 Underflow Subnormal Inexact Rounded
+xpow145 power -477067757.E-961684940 8 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem145 remainder -477067757.E-961684940 7.70122608E-741072245 -> -4.77067757E-961684932
+xsub145 subtract -477067757.E-961684940 7.70122608E-741072245 -> -7.70122608E-741072245 Inexact Rounded
+xadd146 add 76482.352 8237806.8 -> 8314289.15 Inexact Rounded
+xcom146 compare 76482.352 8237806.8 -> -1
+xdiv146 divide 76482.352 8237806.8 -> 0.00928430999 Inexact Rounded
+xdvi146 divideint 76482.352 8237806.8 -> 0
+xmul146 multiply 76482.352 8237806.8 -> 6.30046839E+11 Inexact Rounded
+xpow146 power 76482.352 8237807 -> 8.44216559E+40229834 Inexact Rounded
+xrem146 remainder 76482.352 8237806.8 -> 76482.352
+xsub146 subtract 76482.352 8237806.8 -> -8161324.45 Inexact Rounded
+xadd147 add 1.21505164E-565556504 9.26146573 -> 9.26146573 Inexact Rounded
+xcom147 compare 1.21505164E-565556504 9.26146573 -> -1
+xdiv147 divide 1.21505164E-565556504 9.26146573 -> 1.31194314E-565556505 Inexact Rounded
+xdvi147 divideint 1.21505164E-565556504 9.26146573 -> 0
+xmul147 multiply 1.21505164E-565556504 9.26146573 -> 1.12531591E-565556503 Inexact Rounded
+xpow147 power 1.21505164E-565556504 9 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem147 remainder 1.21505164E-565556504 9.26146573 -> 1.21505164E-565556504
+xsub147 subtract 1.21505164E-565556504 9.26146573 -> -9.26146573 Inexact Rounded
+xadd148 add -8303060.25E-169894883 901561.985 -> 901561.985 Inexact Rounded
+xcom148 compare -8303060.25E-169894883 901561.985 -> -1
+xdiv148 divide -8303060.25E-169894883 901561.985 -> -9.20963881E-169894883 Inexact Rounded
+xdvi148 divideint -8303060.25E-169894883 901561.985 -> -0
+xmul148 multiply -8303060.25E-169894883 901561.985 -> -7.48572348E-169894871 Inexact Rounded
+xpow148 power -8303060.25E-169894883 901562 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem148 remainder -8303060.25E-169894883 901561.985 -> -8.30306025E-169894877
+xsub148 subtract -8303060.25E-169894883 901561.985 -> -901561.985 Inexact Rounded
+xadd149 add -592464.92 71445510.7 -> 70853045.8 Inexact Rounded
+xcom149 compare -592464.92 71445510.7 -> -1
+xdiv149 divide -592464.92 71445510.7 -> -0.00829254231 Inexact Rounded
+xdvi149 divideint -592464.92 71445510.7 -> -0
+xmul149 multiply -592464.92 71445510.7 -> -4.23289588E+13 Inexact Rounded
+xpow149 power -592464.92 71445511 -> -1.58269108E+412430832 Inexact Rounded
+xrem149 remainder -592464.92 71445510.7 -> -592464.92
+xsub149 subtract -592464.92 71445510.7 -> -72037975.6 Inexact Rounded
+xadd150 add -73774.4165 -39.8243027 -> -73814.2408 Inexact Rounded
+xcom150 compare -73774.4165 -39.8243027 -> -1
+xdiv150 divide -73774.4165 -39.8243027 -> 1852.49738 Inexact Rounded
+xdvi150 divideint -73774.4165 -39.8243027 -> 1852
+xmul150 multiply -73774.4165 -39.8243027 -> 2938014.69 Inexact Rounded
+xpow150 power -73774.4165 -40 -> 1.92206765E-195 Inexact Rounded
+xrem150 remainder -73774.4165 -39.8243027 -> -19.8078996
+xsub150 subtract -73774.4165 -39.8243027 -> -73734.5922 Inexact Rounded
+xadd151 add -524724715. -55763.7937 -> -524780479 Inexact Rounded
+xcom151 compare -524724715. -55763.7937 -> -1
+xdiv151 divide -524724715. -55763.7937 -> 9409.77434 Inexact Rounded
+xdvi151 divideint -524724715. -55763.7937 -> 9409
+xmul151 multiply -524724715. -55763.7937 -> 2.92606408E+13 Inexact Rounded
+xpow151 power -524724715. -55764 -> 5.47898351E-486259 Inexact Rounded
+xrem151 remainder -524724715. -55763.7937 -> -43180.0767
+xsub151 subtract -524724715. -55763.7937 -> -524668951 Inexact Rounded
+xadd152 add 7.53800427 784873768E-9981146 -> 7.53800427 Inexact Rounded
+xcom152 compare 7.53800427 784873768E-9981146 -> 1
+xdiv152 divide 7.53800427 784873768E-9981146 -> 9.60409760E+9981137 Inexact Rounded
+xdvi152 divideint 7.53800427 784873768E-9981146 -> NaN Division_impossible
+xmul152 multiply 7.53800427 784873768E-9981146 -> 5.91638181E-9981137 Inexact Rounded
+xpow152 power 7.53800427 8 -> 10424399.2 Inexact Rounded
+xrem152 remainder 7.53800427 784873768E-9981146 -> NaN Division_impossible
+xsub152 subtract 7.53800427 784873768E-9981146 -> 7.53800427 Inexact Rounded
+xadd153 add 37.6027452 7.22454233 -> 44.8272875 Inexact Rounded
+xcom153 compare 37.6027452 7.22454233 -> 1
+xdiv153 divide 37.6027452 7.22454233 -> 5.20486191 Inexact Rounded
+xdvi153 divideint 37.6027452 7.22454233 -> 5
+xmul153 multiply 37.6027452 7.22454233 -> 271.662624 Inexact Rounded
+xpow153 power 37.6027452 7 -> 1.06300881E+11 Inexact Rounded
+xrem153 remainder 37.6027452 7.22454233 -> 1.48003355
+xsub153 subtract 37.6027452 7.22454233 -> 30.3782029 Inexact Rounded
+xadd154 add 2447660.39 -36981.4253 -> 2410678.96 Inexact Rounded
+xcom154 compare 2447660.39 -36981.4253 -> 1
+xdiv154 divide 2447660.39 -36981.4253 -> -66.1862102 Inexact Rounded
+xdvi154 divideint 2447660.39 -36981.4253 -> -66
+xmul154 multiply 2447660.39 -36981.4253 -> -9.05179699E+10 Inexact Rounded
+xpow154 power 2447660.39 -36981 -> 3.92066064E-236263 Inexact Rounded
+xrem154 remainder 2447660.39 -36981.4253 -> 6886.3202
+xsub154 subtract 2447660.39 -36981.4253 -> 2484641.82 Inexact Rounded
+xadd155 add 2160.36419 1418.33574E+656265382 -> 1.41833574E+656265385 Inexact Rounded
+xcom155 compare 2160.36419 1418.33574E+656265382 -> -1
+xdiv155 divide 2160.36419 1418.33574E+656265382 -> 1.52316841E-656265382 Inexact Rounded
+xdvi155 divideint 2160.36419 1418.33574E+656265382 -> 0
+xmul155 multiply 2160.36419 1418.33574E+656265382 -> 3.06412174E+656265388 Inexact Rounded
+xpow155 power 2160.36419 1 -> 2160.36419
+xrem155 remainder 2160.36419 1418.33574E+656265382 -> 2160.36419
+xsub155 subtract 2160.36419 1418.33574E+656265382 -> -1.41833574E+656265385 Inexact Rounded
+xadd156 add 8926.44939 54.9430027 -> 8981.39239 Inexact Rounded
+xcom156 compare 8926.44939 54.9430027 -> 1
+xdiv156 divide 8926.44939 54.9430027 -> 162.467447 Inexact Rounded
+xdvi156 divideint 8926.44939 54.9430027 -> 162
+xmul156 multiply 8926.44939 54.9430027 -> 490445.933 Inexact Rounded
+xpow156 power 8926.44939 55 -> 1.93789877E+217 Inexact Rounded
+xrem156 remainder 8926.44939 54.9430027 -> 25.6829526
+xsub156 subtract 8926.44939 54.9430027 -> 8871.50639 Inexact Rounded
+xadd157 add 861588029 -41657398E+77955925 -> -4.16573980E+77955932 Inexact Rounded
+xcom157 compare 861588029 -41657398E+77955925 -> 1
+xdiv157 divide 861588029 -41657398E+77955925 -> -2.06827135E-77955924 Inexact Rounded
+xdvi157 divideint 861588029 -41657398E+77955925 -> -0
+xmul157 multiply 861588029 -41657398E+77955925 -> -3.58915154E+77955941 Inexact Rounded
+xpow157 power 861588029 -4 -> 1.81468553E-36 Inexact Rounded
+xrem157 remainder 861588029 -41657398E+77955925 -> 861588029
+xsub157 subtract 861588029 -41657398E+77955925 -> 4.16573980E+77955932 Inexact Rounded
+xadd158 add -34.5253062 52.6722019 -> 18.1468957
+xcom158 compare -34.5253062 52.6722019 -> -1
+xdiv158 divide -34.5253062 52.6722019 -> -0.655474899 Inexact Rounded
+xdvi158 divideint -34.5253062 52.6722019 -> -0
+xmul158 multiply -34.5253062 52.6722019 -> -1818.52390 Inexact Rounded
+xpow158 power -34.5253062 53 -> -3.32115821E+81 Inexact Rounded
+xrem158 remainder -34.5253062 52.6722019 -> -34.5253062
+xsub158 subtract -34.5253062 52.6722019 -> -87.1975081
+xadd159 add -18861647. 99794586.7 -> 80932939.7
+xcom159 compare -18861647. 99794586.7 -> -1
+xdiv159 divide -18861647. 99794586.7 -> -0.189004711 Inexact Rounded
+xdvi159 divideint -18861647. 99794586.7 -> -0
+xmul159 multiply -18861647. 99794586.7 -> -1.88229027E+15 Inexact Rounded
+xpow159 power -18861647. 99794587 -> -4.28957460E+726063462 Inexact Rounded
+xrem159 remainder -18861647. 99794586.7 -> -18861647.0
+xsub159 subtract -18861647. 99794586.7 -> -118656234 Inexact Rounded
+xadd160 add 322192.407 461.67044 -> 322654.077 Inexact Rounded
+xcom160 compare 322192.407 461.67044 -> 1
+xdiv160 divide 322192.407 461.67044 -> 697.883986 Inexact Rounded
+xdvi160 divideint 322192.407 461.67044 -> 697
+xmul160 multiply 322192.407 461.67044 -> 148746710 Inexact Rounded
+xpow160 power 322192.407 462 -> 5.61395873E+2544 Inexact Rounded
+xrem160 remainder 322192.407 461.67044 -> 408.11032
+xsub160 subtract 322192.407 461.67044 -> 321730.737 Inexact Rounded
+xadd161 add -896298518E+61412314 78873.8049 -> -8.96298518E+61412322 Inexact Rounded
+xcom161 compare -896298518E+61412314 78873.8049 -> -1
+xdiv161 divide -896298518E+61412314 78873.8049 -> -1.13637033E+61412318 Inexact Rounded
+xdvi161 divideint -896298518E+61412314 78873.8049 -> NaN Division_impossible
+xmul161 multiply -896298518E+61412314 78873.8049 -> -7.06944744E+61412327 Inexact Rounded
+xpow161 power -896298518E+61412314 78874 -> Infinity Overflow Inexact Rounded
+xrem161 remainder -896298518E+61412314 78873.8049 -> NaN Division_impossible
+xsub161 subtract -896298518E+61412314 78873.8049 -> -8.96298518E+61412322 Inexact Rounded
+xadd162 add 293.773732 479899052E+789950177 -> 4.79899052E+789950185 Inexact Rounded
+xcom162 compare 293.773732 479899052E+789950177 -> -1
+xdiv162 divide 293.773732 479899052E+789950177 -> 6.12157350E-789950184 Inexact Rounded
+xdvi162 divideint 293.773732 479899052E+789950177 -> 0
+xmul162 multiply 293.773732 479899052E+789950177 -> 1.40981735E+789950188 Inexact Rounded
+xpow162 power 293.773732 5 -> 2.18808809E+12 Inexact Rounded
+xrem162 remainder 293.773732 479899052E+789950177 -> 293.773732
+xsub162 subtract 293.773732 479899052E+789950177 -> -4.79899052E+789950185 Inexact Rounded
+xadd163 add -103519362 51897955.3 -> -51621406.7
+xcom163 compare -103519362 51897955.3 -> -1
+xdiv163 divide -103519362 51897955.3 -> -1.99467130 Inexact Rounded
+xdvi163 divideint -103519362 51897955.3 -> -1
+xmul163 multiply -103519362 51897955.3 -> -5.37244322E+15 Inexact Rounded
+xpow163 power -103519362 51897955 -> -4.28858229E+415963229 Inexact Rounded
+xrem163 remainder -103519362 51897955.3 -> -51621406.7
+xsub163 subtract -103519362 51897955.3 -> -155417317 Inexact Rounded
+xadd164 add 37380.7802 -277719788. -> -277682407 Inexact Rounded
+xcom164 compare 37380.7802 -277719788. -> 1
+xdiv164 divide 37380.7802 -277719788. -> -0.000134598908 Inexact Rounded
+xdvi164 divideint 37380.7802 -277719788. -> -0
+xmul164 multiply 37380.7802 -277719788. -> -1.03813824E+13 Inexact Rounded
+xpow164 power 37380.7802 -277719788 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem164 remainder 37380.7802 -277719788. -> 37380.7802
+xsub164 subtract 37380.7802 -277719788. -> 277757169 Inexact Rounded
+xadd165 add 320133844. -977517477 -> -657383633
+xcom165 compare 320133844. -977517477 -> 1
+xdiv165 divide 320133844. -977517477 -> -0.327496798 Inexact Rounded
+xdvi165 divideint 320133844. -977517477 -> -0
+xmul165 multiply 320133844. -977517477 -> -3.12936427E+17 Inexact Rounded
+xpow165 power 320133844. -977517477 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem165 remainder 320133844. -977517477 -> 320133844
+xsub165 subtract 320133844. -977517477 -> 1.29765132E+9 Inexact Rounded
+xadd166 add 721776701E+933646161 -5689279.64E+669903645 -> 7.21776701E+933646169 Inexact Rounded
+xcom166 compare 721776701E+933646161 -5689279.64E+669903645 -> 1
+xdiv166 divide 721776701E+933646161 -5689279.64E+669903645 -> -1.26866097E+263742518 Inexact Rounded
+xdvi166 divideint 721776701E+933646161 -5689279.64E+669903645 -> NaN Division_impossible
+xmul166 multiply 721776701E+933646161 -5689279.64E+669903645 -> -Infinity Inexact Overflow Rounded
+xpow166 power 721776701E+933646161 -6 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem166 remainder 721776701E+933646161 -5689279.64E+669903645 -> NaN Division_impossible
+xsub166 subtract 721776701E+933646161 -5689279.64E+669903645 -> 7.21776701E+933646169 Inexact Rounded
+xadd167 add -5409.00482 -2.16149386 -> -5411.16631 Inexact Rounded
+xcom167 compare -5409.00482 -2.16149386 -> -1
+xdiv167 divide -5409.00482 -2.16149386 -> 2502.43821 Inexact Rounded
+xdvi167 divideint -5409.00482 -2.16149386 -> 2502
+xmul167 multiply -5409.00482 -2.16149386 -> 11691.5307 Inexact Rounded
+xpow167 power -5409.00482 -2 -> 3.41794652E-8 Inexact Rounded
+xrem167 remainder -5409.00482 -2.16149386 -> -0.94718228
+xsub167 subtract -5409.00482 -2.16149386 -> -5406.84333 Inexact Rounded
+xadd168 add -957960.367 322.858170 -> -957637.509 Inexact Rounded
+xcom168 compare -957960.367 322.858170 -> -1
+xdiv168 divide -957960.367 322.858170 -> -2967.12444 Inexact Rounded
+xdvi168 divideint -957960.367 322.858170 -> -2967
+xmul168 multiply -957960.367 322.858170 -> -309285331 Inexact Rounded
+xpow168 power -957960.367 323 -> -9.44617460E+1931 Inexact Rounded
+xrem168 remainder -957960.367 322.858170 -> -40.176610
+xsub168 subtract -957960.367 322.858170 -> -958283.225 Inexact Rounded
+xadd169 add -11817.8754E+613893442 -3.84735082E+888333249 -> -3.84735082E+888333249 Inexact Rounded
+xcom169 compare -11817.8754E+613893442 -3.84735082E+888333249 -> 1
+xdiv169 divide -11817.8754E+613893442 -3.84735082E+888333249 -> 3.07169165E-274439804 Inexact Rounded
+xdvi169 divideint -11817.8754E+613893442 -3.84735082E+888333249 -> 0
+xmul169 multiply -11817.8754E+613893442 -3.84735082E+888333249 -> Infinity Inexact Overflow Rounded
+xpow169 power -11817.8754E+613893442 -4 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem169 remainder -11817.8754E+613893442 -3.84735082E+888333249 -> -1.18178754E+613893446
+xsub169 subtract -11817.8754E+613893442 -3.84735082E+888333249 -> 3.84735082E+888333249 Inexact Rounded
+xadd170 add 840258203 58363.980E-906584723 -> 840258203 Inexact Rounded
+xcom170 compare 840258203 58363.980E-906584723 -> 1
+xdiv170 divide 840258203 58363.980E-906584723 -> 1.43968626E+906584727 Inexact Rounded
+xdvi170 divideint 840258203 58363.980E-906584723 -> NaN Division_impossible
+xmul170 multiply 840258203 58363.980E-906584723 -> 4.90408130E-906584710 Inexact Rounded
+xpow170 power 840258203 6 -> 3.51946431E+53 Inexact Rounded
+xrem170 remainder 840258203 58363.980E-906584723 -> NaN Division_impossible
+xsub170 subtract 840258203 58363.980E-906584723 -> 840258203 Inexact Rounded
+xadd171 add -205842096. -191342.721 -> -206033439 Inexact Rounded
+xcom171 compare -205842096. -191342.721 -> -1
+xdiv171 divide -205842096. -191342.721 -> 1075.77699 Inexact Rounded
+xdvi171 divideint -205842096. -191342.721 -> 1075
+xmul171 multiply -205842096. -191342.721 -> 3.93863867E+13 Inexact Rounded
+xpow171 power -205842096. -191343 -> -2.66955553E-1590737 Inexact Rounded
+xrem171 remainder -205842096. -191342.721 -> -148670.925
+xsub171 subtract -205842096. -191342.721 -> -205650753 Inexact Rounded
+xadd172 add 42501124. 884.938498E+123341480 -> 8.84938498E+123341482 Inexact Rounded
+xcom172 compare 42501124. 884.938498E+123341480 -> -1
+xdiv172 divide 42501124. 884.938498E+123341480 -> 4.80272065E-123341476 Inexact Rounded
+xdvi172 divideint 42501124. 884.938498E+123341480 -> 0
+xmul172 multiply 42501124. 884.938498E+123341480 -> 3.76108808E+123341490 Inexact Rounded
+xpow172 power 42501124. 9 -> 4.52484536E+68 Inexact Rounded
+xrem172 remainder 42501124. 884.938498E+123341480 -> 42501124
+xsub172 subtract 42501124. 884.938498E+123341480 -> -8.84938498E+123341482 Inexact Rounded
+xadd173 add -57809452. -620380746 -> -678190198
+xcom173 compare -57809452. -620380746 -> 1
+xdiv173 divide -57809452. -620380746 -> 0.0931838268 Inexact Rounded
+xdvi173 divideint -57809452. -620380746 -> 0
+xmul173 multiply -57809452. -620380746 -> 3.58638710E+16 Inexact Rounded
+xpow173 power -57809452. -620380746 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem173 remainder -57809452. -620380746 -> -57809452
+xsub173 subtract -57809452. -620380746 -> 562571294
+xadd174 add -8022370.31 9858581.6 -> 1836211.29
+xcom174 compare -8022370.31 9858581.6 -> -1
+xdiv174 divide -8022370.31 9858581.6 -> -0.813744881 Inexact Rounded
+xdvi174 divideint -8022370.31 9858581.6 -> -0
+xmul174 multiply -8022370.31 9858581.6 -> -7.90891923E+13 Inexact Rounded
+xpow174 power -8022370.31 9858582 -> 2.34458249E+68066634 Inexact Rounded
+xrem174 remainder -8022370.31 9858581.6 -> -8022370.31
+xsub174 subtract -8022370.31 9858581.6 -> -17880951.9 Inexact Rounded
+xadd175 add 2.49065060E+592139141 -5432.72014E-419965357 -> 2.49065060E+592139141 Inexact Rounded
+xcom175 compare 2.49065060E+592139141 -5432.72014E-419965357 -> 1
+xdiv175 divide 2.49065060E+592139141 -5432.72014E-419965357 -> -Infinity Inexact Overflow Rounded
+xdvi175 divideint 2.49065060E+592139141 -5432.72014E-419965357 -> NaN Division_impossible
+xmul175 multiply 2.49065060E+592139141 -5432.72014E-419965357 -> -1.35310077E+172173788 Inexact Rounded
+xpow175 power 2.49065060E+592139141 -5 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem175 remainder 2.49065060E+592139141 -5432.72014E-419965357 -> NaN Division_impossible
+xsub175 subtract 2.49065060E+592139141 -5432.72014E-419965357 -> 2.49065060E+592139141 Inexact Rounded
+xadd176 add -697273715E-242824870 -3.81757506 -> -3.81757506 Inexact Rounded
+xcom176 compare -697273715E-242824870 -3.81757506 -> 1
+xdiv176 divide -697273715E-242824870 -3.81757506 -> 1.82648331E-242824862 Inexact Rounded
+xdvi176 divideint -697273715E-242824870 -3.81757506 -> 0
+xmul176 multiply -697273715E-242824870 -3.81757506 -> 2.66189474E-242824861 Inexact Rounded
+xpow176 power -697273715E-242824870 -4 -> 4.23045251E+971299444 Inexact Rounded
+xrem176 remainder -697273715E-242824870 -3.81757506 -> -6.97273715E-242824862
+xsub176 subtract -697273715E-242824870 -3.81757506 -> 3.81757506 Inexact Rounded
+xadd177 add -7.42204403E-315716280 -8156111.67E+283261636 -> -8.15611167E+283261642 Inexact Rounded
+xcom177 compare -7.42204403E-315716280 -8156111.67E+283261636 -> 1
+xdiv177 divide -7.42204403E-315716280 -8156111.67E+283261636 -> 9.09997843E-598977923 Inexact Rounded
+xdvi177 divideint -7.42204403E-315716280 -8156111.67E+283261636 -> 0
+xmul177 multiply -7.42204403E-315716280 -8156111.67E+283261636 -> 6.05350199E-32454637 Inexact Rounded
+xpow177 power -7.42204403E-315716280 -8 -> Infinity Overflow Inexact Rounded
+xrem177 remainder -7.42204403E-315716280 -8156111.67E+283261636 -> -7.42204403E-315716280
+xsub177 subtract -7.42204403E-315716280 -8156111.67E+283261636 -> 8.15611167E+283261642 Inexact Rounded
+xadd178 add 738063892 89900467.8 -> 827964360 Inexact Rounded
+xcom178 compare 738063892 89900467.8 -> 1
+xdiv178 divide 738063892 89900467.8 -> 8.20978923 Inexact Rounded
+xdvi178 divideint 738063892 89900467.8 -> 8
+xmul178 multiply 738063892 89900467.8 -> 6.63522892E+16 Inexact Rounded
+xpow178 power 738063892 89900468 -> 1.53166723E+797245797 Inexact Rounded
+xrem178 remainder 738063892 89900467.8 -> 18860149.6
+xsub178 subtract 738063892 89900467.8 -> 648163424 Inexact Rounded
+xadd179 add -630309366 -884783.338E-21595410 -> -630309366 Inexact Rounded
+xcom179 compare -630309366 -884783.338E-21595410 -> -1
+xdiv179 divide -630309366 -884783.338E-21595410 -> 7.12388377E+21595412 Inexact Rounded
+xdvi179 divideint -630309366 -884783.338E-21595410 -> NaN Division_impossible
+xmul179 multiply -630309366 -884783.338E-21595410 -> 5.57687225E-21595396 Inexact Rounded
+xpow179 power -630309366 -9 -> -6.36819210E-80 Inexact Rounded
+xrem179 remainder -630309366 -884783.338E-21595410 -> NaN Division_impossible
+xsub179 subtract -630309366 -884783.338E-21595410 -> -630309366 Inexact Rounded
+xadd180 add 613.207774 -3007.78608 -> -2394.57831 Inexact Rounded
+xcom180 compare 613.207774 -3007.78608 -> 1
+xdiv180 divide 613.207774 -3007.78608 -> -0.203873466 Inexact Rounded
+xdvi180 divideint 613.207774 -3007.78608 -> -0
+xmul180 multiply 613.207774 -3007.78608 -> -1844397.81 Inexact Rounded
+xpow180 power 613.207774 -3008 -> 7.51939160E-8386 Inexact Rounded
+xrem180 remainder 613.207774 -3007.78608 -> 613.207774
+xsub180 subtract 613.207774 -3007.78608 -> 3620.99385 Inexact Rounded
+xadd181 add -93006222.3 -3.08964619 -> -93006225.4 Inexact Rounded
+xcom181 compare -93006222.3 -3.08964619 -> -1
+xdiv181 divide -93006222.3 -3.08964619 -> 30102547.9 Inexact Rounded
+xdvi181 divideint -93006222.3 -3.08964619 -> 30102547
+xmul181 multiply -93006222.3 -3.08964619 -> 287356320 Inexact Rounded
+xpow181 power -93006222.3 -3 -> -1.24297956E-24 Inexact Rounded
+xrem181 remainder -93006222.3 -3.08964619 -> -2.65215407
+xsub181 subtract -93006222.3 -3.08964619 -> -93006219.2 Inexact Rounded
+xadd182 add -18116.0621 34096.306E-270347092 -> -18116.0621 Inexact Rounded
+xcom182 compare -18116.0621 34096.306E-270347092 -> -1
+xdiv182 divide -18116.0621 34096.306E-270347092 -> -5.31320375E+270347091 Inexact Rounded
+xdvi182 divideint -18116.0621 34096.306E-270347092 -> NaN Division_impossible
+xmul182 multiply -18116.0621 34096.306E-270347092 -> -6.17690797E-270347084 Inexact Rounded
+xpow182 power -18116.0621 3 -> -5.94554133E+12 Inexact Rounded
+xrem182 remainder -18116.0621 34096.306E-270347092 -> NaN Division_impossible
+xsub182 subtract -18116.0621 34096.306E-270347092 -> -18116.0621 Inexact Rounded
+xadd183 add 19272386.9 -410442379. -> -391169992 Inexact Rounded
+xcom183 compare 19272386.9 -410442379. -> 1
+xdiv183 divide 19272386.9 -410442379. -> -0.0469551584 Inexact Rounded
+xdvi183 divideint 19272386.9 -410442379. -> -0
+xmul183 multiply 19272386.9 -410442379. -> -7.91020433E+15 Inexact Rounded
+xpow183 power 19272386.9 -410442379 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem183 remainder 19272386.9 -410442379. -> 19272386.9
+xsub183 subtract 19272386.9 -410442379. -> 429714766 Inexact Rounded
+xadd184 add 4180.30821 -1.6439543E-624759104 -> 4180.30821 Inexact Rounded
+xcom184 compare 4180.30821 -1.6439543E-624759104 -> 1
+xdiv184 divide 4180.30821 -1.6439543E-624759104 -> -2.54283724E+624759107 Inexact Rounded
+xdvi184 divideint 4180.30821 -1.6439543E-624759104 -> NaN Division_impossible
+xmul184 multiply 4180.30821 -1.6439543E-624759104 -> -6.87223566E-624759101 Inexact Rounded
+xpow184 power 4180.30821 -2 -> 5.72246828E-8 Inexact Rounded
+xrem184 remainder 4180.30821 -1.6439543E-624759104 -> NaN Division_impossible
+xsub184 subtract 4180.30821 -1.6439543E-624759104 -> 4180.30821 Inexact Rounded
+xadd185 add 571.536725 389.899220 -> 961.435945
+xcom185 compare 571.536725 389.899220 -> 1
+xdiv185 divide 571.536725 389.899220 -> 1.46585757 Inexact Rounded
+xdvi185 divideint 571.536725 389.899220 -> 1
+xmul185 multiply 571.536725 389.899220 -> 222841.723 Inexact Rounded
+xpow185 power 571.536725 390 -> 1.76691373E+1075 Inexact Rounded
+xrem185 remainder 571.536725 389.899220 -> 181.637505
+xsub185 subtract 571.536725 389.899220 -> 181.637505
+xadd186 add -622007306.E+159924886 -126.971745 -> -6.22007306E+159924894 Inexact Rounded
+xcom186 compare -622007306.E+159924886 -126.971745 -> -1
+xdiv186 divide -622007306.E+159924886 -126.971745 -> 4.89878521E+159924892 Inexact Rounded
+xdvi186 divideint -622007306.E+159924886 -126.971745 -> NaN Division_impossible
+xmul186 multiply -622007306.E+159924886 -126.971745 -> 7.89773530E+159924896 Inexact Rounded
+xpow186 power -622007306.E+159924886 -127 -> -0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem186 remainder -622007306.E+159924886 -126.971745 -> NaN Division_impossible
+xsub186 subtract -622007306.E+159924886 -126.971745 -> -6.22007306E+159924894 Inexact Rounded
+xadd187 add -29.356551E-282816139 37141748E-903397821 -> -2.93565510E-282816138 Inexact Rounded
+xcom187 compare -29.356551E-282816139 37141748E-903397821 -> -1
+xdiv187 divide -29.356551E-282816139 37141748E-903397821 -> -7.90392283E+620581675 Inexact Rounded
+xdvi187 divideint -29.356551E-282816139 37141748E-903397821 -> NaN Division_impossible
+xmul187 multiply -29.356551E-282816139 37141748E-903397821 -> -0E-1000000007 Underflow Subnormal Inexact Rounded
+xpow187 power -29.356551E-282816139 4 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem187 remainder -29.356551E-282816139 37141748E-903397821 -> NaN Division_impossible
+xsub187 subtract -29.356551E-282816139 37141748E-903397821 -> -2.93565510E-282816138 Inexact Rounded
+xadd188 add 92427442.4 674334898. -> 766762340 Inexact Rounded
+xcom188 compare 92427442.4 674334898. -> -1
+xdiv188 divide 92427442.4 674334898. -> 0.137064599 Inexact Rounded
+xdvi188 divideint 92427442.4 674334898. -> 0
+xmul188 multiply 92427442.4 674334898. -> 6.23270499E+16 Inexact Rounded
+xpow188 power 92427442.4 674334898 -> Infinity Overflow Inexact Rounded
+xrem188 remainder 92427442.4 674334898. -> 92427442.4
+xsub188 subtract 92427442.4 674334898. -> -581907456 Inexact Rounded
+xadd189 add 44651895.7 -910508.438 -> 43741387.3 Inexact Rounded
+xcom189 compare 44651895.7 -910508.438 -> 1
+xdiv189 divide 44651895.7 -910508.438 -> -49.0406171 Inexact Rounded
+xdvi189 divideint 44651895.7 -910508.438 -> -49
+xmul189 multiply 44651895.7 -910508.438 -> -4.06559278E+13 Inexact Rounded
+xpow189 power 44651895.7 -910508 -> 3.72264277E-6965241 Inexact Rounded
+xrem189 remainder 44651895.7 -910508.438 -> 36982.238
+xsub189 subtract 44651895.7 -910508.438 -> 45562404.1 Inexact Rounded
+xadd190 add 647897872.E+374021790 -467.423029 -> 6.47897872E+374021798 Inexact Rounded
+xcom190 compare 647897872.E+374021790 -467.423029 -> 1
+xdiv190 divide 647897872.E+374021790 -467.423029 -> -1.38610601E+374021796 Inexact Rounded
+xdvi190 divideint 647897872.E+374021790 -467.423029 -> NaN Division_impossible
+xmul190 multiply 647897872.E+374021790 -467.423029 -> -3.02842386E+374021801 Inexact Rounded
+xpow190 power 647897872.E+374021790 -467 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem190 remainder 647897872.E+374021790 -467.423029 -> NaN Division_impossible
+xsub190 subtract 647897872.E+374021790 -467.423029 -> 6.47897872E+374021798 Inexact Rounded
+xadd191 add 25.2592149 59.0436981 -> 84.3029130
+xcom191 compare 25.2592149 59.0436981 -> -1
+xdiv191 divide 25.2592149 59.0436981 -> 0.427805434 Inexact Rounded
+xdvi191 divideint 25.2592149 59.0436981 -> 0
+xmul191 multiply 25.2592149 59.0436981 -> 1491.39746 Inexact Rounded
+xpow191 power 25.2592149 59 -> 5.53058435E+82 Inexact Rounded
+xrem191 remainder 25.2592149 59.0436981 -> 25.2592149
+xsub191 subtract 25.2592149 59.0436981 -> -33.7844832
+xadd192 add -6.850835 -1273.48240 -> -1280.33324 Inexact Rounded
+xcom192 compare -6.850835 -1273.48240 -> 1
+xdiv192 divide -6.850835 -1273.48240 -> 0.00537960713 Inexact Rounded
+xdvi192 divideint -6.850835 -1273.48240 -> 0
+xmul192 multiply -6.850835 -1273.48240 -> 8724.41780 Inexact Rounded
+xpow192 power -6.850835 -1273 -> -1.25462678E-1064 Inexact Rounded
+xrem192 remainder -6.850835 -1273.48240 -> -6.850835
+xsub192 subtract -6.850835 -1273.48240 -> 1266.63157 Inexact Rounded
+xadd193 add 174.272325 5638.16229 -> 5812.43462 Inexact Rounded
+xcom193 compare 174.272325 5638.16229 -> -1
+xdiv193 divide 174.272325 5638.16229 -> 0.0309094198 Inexact Rounded
+xdvi193 divideint 174.272325 5638.16229 -> 0
+xmul193 multiply 174.272325 5638.16229 -> 982575.651 Inexact Rounded
+xpow193 power 174.272325 5638 -> 1.11137724E+12636 Inexact Rounded
+xrem193 remainder 174.272325 5638.16229 -> 174.272325
+xsub193 subtract 174.272325 5638.16229 -> -5463.88997 Inexact Rounded
+xadd194 add 3455629.76 -8.27332322 -> 3455621.49 Inexact Rounded
+xcom194 compare 3455629.76 -8.27332322 -> 1
+xdiv194 divide 3455629.76 -8.27332322 -> -417683.399 Inexact Rounded
+xdvi194 divideint 3455629.76 -8.27332322 -> -417683
+xmul194 multiply 3455629.76 -8.27332322 -> -28589541.9 Inexact Rounded
+xpow194 power 3455629.76 -8 -> 4.91793015E-53 Inexact Rounded
+xrem194 remainder 3455629.76 -8.27332322 -> 3.29750074
+xsub194 subtract 3455629.76 -8.27332322 -> 3455638.03 Inexact Rounded
+xadd195 add -924337723E-640771235 86639377.1 -> 86639377.1 Inexact Rounded
+xcom195 compare -924337723E-640771235 86639377.1 -> -1
+xdiv195 divide -924337723E-640771235 86639377.1 -> -1.06687947E-640771234 Inexact Rounded
+xdvi195 divideint -924337723E-640771235 86639377.1 -> -0
+xmul195 multiply -924337723E-640771235 86639377.1 -> -8.00840446E-640771219 Inexact Rounded
+xpow195 power -924337723E-640771235 86639377 -> -0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem195 remainder -924337723E-640771235 86639377.1 -> -9.24337723E-640771227
+xsub195 subtract -924337723E-640771235 86639377.1 -> -86639377.1 Inexact Rounded
+xadd196 add -620236932.E+656823969 3364722.73 -> -6.20236932E+656823977 Inexact Rounded
+xcom196 compare -620236932.E+656823969 3364722.73 -> -1
+xdiv196 divide -620236932.E+656823969 3364722.73 -> -1.84335228E+656823971 Inexact Rounded
+xdvi196 divideint -620236932.E+656823969 3364722.73 -> NaN Division_impossible
+xmul196 multiply -620236932.E+656823969 3364722.73 -> -2.08692530E+656823984 Inexact Rounded
+xpow196 power -620236932.E+656823969 3364723 -> -Infinity Overflow Inexact Rounded
+xrem196 remainder -620236932.E+656823969 3364722.73 -> NaN Division_impossible
+xsub196 subtract -620236932.E+656823969 3364722.73 -> -6.20236932E+656823977 Inexact Rounded
+xadd197 add 9.10025079 702777882E-8192234 -> 9.10025079 Inexact Rounded
+xcom197 compare 9.10025079 702777882E-8192234 -> 1
+xdiv197 divide 9.10025079 702777882E-8192234 -> 1.29489715E+8192226 Inexact Rounded
+xdvi197 divideint 9.10025079 702777882E-8192234 -> NaN Division_impossible
+xmul197 multiply 9.10025079 702777882E-8192234 -> 6.39545498E-8192225 Inexact Rounded
+xpow197 power 9.10025079 7 -> 5168607.19 Inexact Rounded
+xrem197 remainder 9.10025079 702777882E-8192234 -> NaN Division_impossible
+xsub197 subtract 9.10025079 702777882E-8192234 -> 9.10025079 Inexact Rounded
+xadd198 add -18857539.9 813013129. -> 794155589 Inexact Rounded
+xcom198 compare -18857539.9 813013129. -> -1
+xdiv198 divide -18857539.9 813013129. -> -0.0231946315 Inexact Rounded
+xdvi198 divideint -18857539.9 813013129. -> -0
+xmul198 multiply -18857539.9 813013129. -> -1.53314275E+16 Inexact Rounded
+xpow198 power -18857539.9 813013129 -> -Infinity Overflow Inexact Rounded
+xrem198 remainder -18857539.9 813013129. -> -18857539.9
+xsub198 subtract -18857539.9 813013129. -> -831870669 Inexact Rounded
+xadd199 add -8.29530327 3243419.57E+35688332 -> 3.24341957E+35688338 Inexact Rounded
+xcom199 compare -8.29530327 3243419.57E+35688332 -> -1
+xdiv199 divide -8.29530327 3243419.57E+35688332 -> -2.55757946E-35688338 Inexact Rounded
+xdvi199 divideint -8.29530327 3243419.57E+35688332 -> -0
+xmul199 multiply -8.29530327 3243419.57E+35688332 -> -2.69051490E+35688339 Inexact Rounded
+xpow199 power -8.29530327 3 -> -570.816876 Inexact Rounded
+xrem199 remainder -8.29530327 3243419.57E+35688332 -> -8.29530327
+xsub199 subtract -8.29530327 3243419.57E+35688332 -> -3.24341957E+35688338 Inexact Rounded
+xadd200 add -57101683.5 763551341E+991491712 -> 7.63551341E+991491720 Inexact Rounded
+xcom200 compare -57101683.5 763551341E+991491712 -> -1
+xdiv200 divide -57101683.5 763551341E+991491712 -> -7.47843405E-991491714 Inexact Rounded
+xdvi200 divideint -57101683.5 763551341E+991491712 -> -0
+xmul200 multiply -57101683.5 763551341E+991491712 -> -4.36000670E+991491728 Inexact Rounded
+xpow200 power -57101683.5 8 -> 1.13029368E+62 Inexact Rounded
+xrem200 remainder -57101683.5 763551341E+991491712 -> -57101683.5
+xsub200 subtract -57101683.5 763551341E+991491712 -> -7.63551341E+991491720 Inexact Rounded
+xadd201 add -603326.740 1710.95183 -> -601615.788 Inexact Rounded
+xcom201 compare -603326.740 1710.95183 -> -1
+xdiv201 divide -603326.740 1710.95183 -> -352.626374 Inexact Rounded
+xdvi201 divideint -603326.740 1710.95183 -> -352
+xmul201 multiply -603326.740 1710.95183 -> -1.03226299E+9 Inexact Rounded
+xpow201 power -603326.740 1711 -> -3.35315976E+9890 Inexact Rounded
+xrem201 remainder -603326.740 1710.95183 -> -1071.69584
+xsub201 subtract -603326.740 1710.95183 -> -605037.692 Inexact Rounded
+xadd202 add -48142763.3 -943434114 -> -991576877 Inexact Rounded
+xcom202 compare -48142763.3 -943434114 -> 1
+xdiv202 divide -48142763.3 -943434114 -> 0.0510292797 Inexact Rounded
+xdvi202 divideint -48142763.3 -943434114 -> 0
+xmul202 multiply -48142763.3 -943434114 -> 4.54195252E+16 Inexact Rounded
+xpow202 power -48142763.3 -943434114 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem202 remainder -48142763.3 -943434114 -> -48142763.3
+xsub202 subtract -48142763.3 -943434114 -> 895291351 Inexact Rounded
+xadd203 add -204.586767 -235.531847 -> -440.118614
+xcom203 compare -204.586767 -235.531847 -> 1
+xdiv203 divide -204.586767 -235.531847 -> 0.868616154 Inexact Rounded
+xdvi203 divideint -204.586767 -235.531847 -> 0
+xmul203 multiply -204.586767 -235.531847 -> 48186.6991 Inexact Rounded
+xpow203 power -204.586767 -236 -> 4.29438222E-546 Inexact Rounded
+xrem203 remainder -204.586767 -235.531847 -> -204.586767
+xsub203 subtract -204.586767 -235.531847 -> 30.945080
+xadd204 add -70.3805581 830137.913 -> 830067.532 Inexact Rounded
+xcom204 compare -70.3805581 830137.913 -> -1
+xdiv204 divide -70.3805581 830137.913 -> -0.0000847817658 Inexact Rounded
+xdvi204 divideint -70.3805581 830137.913 -> -0
+xmul204 multiply -70.3805581 830137.913 -> -58425569.6 Inexact Rounded
+xpow204 power -70.3805581 830138 -> 4.95165841E+1533640 Inexact Rounded
+xrem204 remainder -70.3805581 830137.913 -> -70.3805581
+xsub204 subtract -70.3805581 830137.913 -> -830208.294 Inexact Rounded
+xadd205 add -8818.47606 -60766.4571 -> -69584.9332 Inexact Rounded
+xcom205 compare -8818.47606 -60766.4571 -> 1
+xdiv205 divide -8818.47606 -60766.4571 -> 0.145120787 Inexact Rounded
+xdvi205 divideint -8818.47606 -60766.4571 -> 0
+xmul205 multiply -8818.47606 -60766.4571 -> 535867547 Inexact Rounded
+xpow205 power -8818.47606 -60766 -> 1.64487755E-239746 Inexact Rounded
+xrem205 remainder -8818.47606 -60766.4571 -> -8818.47606
+xsub205 subtract -8818.47606 -60766.4571 -> 51947.9810 Inexact Rounded
+xadd206 add 37060929.3E-168439509 -79576717.1 -> -79576717.1 Inexact Rounded
+xcom206 compare 37060929.3E-168439509 -79576717.1 -> 1
+xdiv206 divide 37060929.3E-168439509 -79576717.1 -> -4.65725788E-168439510 Inexact Rounded
+xdvi206 divideint 37060929.3E-168439509 -79576717.1 -> -0
+xmul206 multiply 37060929.3E-168439509 -79576717.1 -> -2.94918709E-168439494 Inexact Rounded
+xpow206 power 37060929.3E-168439509 -79576717 -> Infinity Overflow Inexact Rounded
+xrem206 remainder 37060929.3E-168439509 -79576717.1 -> 3.70609293E-168439502
+xsub206 subtract 37060929.3E-168439509 -79576717.1 -> 79576717.1 Inexact Rounded
+xadd207 add -656285310. -107221462. -> -763506772
+xcom207 compare -656285310. -107221462. -> -1
+xdiv207 divide -656285310. -107221462. -> 6.12083904 Inexact Rounded
+xdvi207 divideint -656285310. -107221462. -> 6
+xmul207 multiply -656285310. -107221462. -> 7.03678704E+16 Inexact Rounded
+xpow207 power -656285310. -107221462 -> 8.05338080E-945381569 Inexact Rounded
+xrem207 remainder -656285310. -107221462. -> -12956538
+xsub207 subtract -656285310. -107221462. -> -549063848
+xadd208 add 653397.125 7195.30990 -> 660592.435 Inexact Rounded
+xcom208 compare 653397.125 7195.30990 -> 1
+xdiv208 divide 653397.125 7195.30990 -> 90.8087538 Inexact Rounded
+xdvi208 divideint 653397.125 7195.30990 -> 90
+xmul208 multiply 653397.125 7195.30990 -> 4.70139480E+9 Inexact Rounded
+xpow208 power 653397.125 7195 -> 1.58522983E+41840 Inexact Rounded
+xrem208 remainder 653397.125 7195.30990 -> 5819.23400
+xsub208 subtract 653397.125 7195.30990 -> 646201.815 Inexact Rounded
+xadd209 add 56221910.0E+857909374 -58.7247929 -> 5.62219100E+857909381 Inexact Rounded
+xcom209 compare 56221910.0E+857909374 -58.7247929 -> 1
+xdiv209 divide 56221910.0E+857909374 -58.7247929 -> -9.57379451E+857909379 Inexact Rounded
+xdvi209 divideint 56221910.0E+857909374 -58.7247929 -> NaN Division_impossible
+xmul209 multiply 56221910.0E+857909374 -58.7247929 -> -3.30162002E+857909383 Inexact Rounded
+xpow209 power 56221910.0E+857909374 -59 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem209 remainder 56221910.0E+857909374 -58.7247929 -> NaN Division_impossible
+xsub209 subtract 56221910.0E+857909374 -58.7247929 -> 5.62219100E+857909381 Inexact Rounded
+xadd210 add 809862859E+643769974 -5.06784016 -> 8.09862859E+643769982 Inexact Rounded
+xcom210 compare 809862859E+643769974 -5.06784016 -> 1
+xdiv210 divide 809862859E+643769974 -5.06784016 -> -1.59804341E+643769982 Inexact Rounded
+xdvi210 divideint 809862859E+643769974 -5.06784016 -> NaN Division_impossible
+xmul210 multiply 809862859E+643769974 -5.06784016 -> -4.10425552E+643769983 Inexact Rounded
+xpow210 power 809862859E+643769974 -5 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem210 remainder 809862859E+643769974 -5.06784016 -> NaN Division_impossible
+xsub210 subtract 809862859E+643769974 -5.06784016 -> 8.09862859E+643769982 Inexact Rounded
+xadd211 add -62011.4563E-117563240 -57.1731586E+115657204 -> -5.71731586E+115657205 Inexact Rounded
+xcom211 compare -62011.4563E-117563240 -57.1731586E+115657204 -> 1
+xdiv211 divide -62011.4563E-117563240 -57.1731586E+115657204 -> 1.08462534E-233220441 Inexact Rounded
+xdvi211 divideint -62011.4563E-117563240 -57.1731586E+115657204 -> 0
+xmul211 multiply -62011.4563E-117563240 -57.1731586E+115657204 -> 3.54539083E-1906030 Inexact Rounded
+xpow211 power -62011.4563E-117563240 -6 -> 1.75860546E+705379411 Inexact Rounded
+xrem211 remainder -62011.4563E-117563240 -57.1731586E+115657204 -> -6.20114563E-117563236
+xsub211 subtract -62011.4563E-117563240 -57.1731586E+115657204 -> 5.71731586E+115657205 Inexact Rounded
+xadd212 add 315.33351 91588.837E-536020149 -> 315.333510 Inexact Rounded
+xcom212 compare 315.33351 91588.837E-536020149 -> 1
+xdiv212 divide 315.33351 91588.837E-536020149 -> 3.44292515E+536020146 Inexact Rounded
+xdvi212 divideint 315.33351 91588.837E-536020149 -> NaN Division_impossible
+xmul212 multiply 315.33351 91588.837E-536020149 -> 2.88810294E-536020142 Inexact Rounded
+xpow212 power 315.33351 9 -> 3.08269902E+22 Inexact Rounded
+xrem212 remainder 315.33351 91588.837E-536020149 -> NaN Division_impossible
+xsub212 subtract 315.33351 91588.837E-536020149 -> 315.333510 Inexact Rounded
+xadd213 add 739.944710 202949.175 -> 203689.120 Inexact Rounded
+xcom213 compare 739.944710 202949.175 -> -1
+xdiv213 divide 739.944710 202949.175 -> 0.00364596067 Inexact Rounded
+xdvi213 divideint 739.944710 202949.175 -> 0
+xmul213 multiply 739.944710 202949.175 -> 150171168 Inexact Rounded
+xpow213 power 739.944710 202949 -> 1.32611729E+582301 Inexact Rounded
+xrem213 remainder 739.944710 202949.175 -> 739.944710
+xsub213 subtract 739.944710 202949.175 -> -202209.230 Inexact Rounded
+xadd214 add 87686.8016 4204890.40 -> 4292577.20 Inexact Rounded
+xcom214 compare 87686.8016 4204890.40 -> -1
+xdiv214 divide 87686.8016 4204890.40 -> 0.0208535285 Inexact Rounded
+xdvi214 divideint 87686.8016 4204890.40 -> 0
+xmul214 multiply 87686.8016 4204890.40 -> 3.68713390E+11 Inexact Rounded
+xpow214 power 87686.8016 4204890 -> 5.14846981E+20784494 Inexact Rounded
+xrem214 remainder 87686.8016 4204890.40 -> 87686.8016
+xsub214 subtract 87686.8016 4204890.40 -> -4117203.60 Inexact Rounded
+xadd215 add 987126721.E-725794834 4874166.23 -> 4874166.23 Inexact Rounded
+xcom215 compare 987126721.E-725794834 4874166.23 -> -1
+xdiv215 divide 987126721.E-725794834 4874166.23 -> 2.02522170E-725794832 Inexact Rounded
+xdvi215 divideint 987126721.E-725794834 4874166.23 -> 0
+xmul215 multiply 987126721.E-725794834 4874166.23 -> 4.81141973E-725794819 Inexact Rounded
+xpow215 power 987126721.E-725794834 4874166 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem215 remainder 987126721.E-725794834 4874166.23 -> 9.87126721E-725794826
+xsub215 subtract 987126721.E-725794834 4874166.23 -> -4874166.23 Inexact Rounded
+xadd216 add 728148726.E-661695938 32798.5202 -> 32798.5202 Inexact Rounded
+xcom216 compare 728148726.E-661695938 32798.5202 -> -1
+xdiv216 divide 728148726.E-661695938 32798.5202 -> 2.22006579E-661695934 Inexact Rounded
+xdvi216 divideint 728148726.E-661695938 32798.5202 -> 0
+xmul216 multiply 728148726.E-661695938 32798.5202 -> 2.38822007E-661695925 Inexact Rounded
+xpow216 power 728148726.E-661695938 32799 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem216 remainder 728148726.E-661695938 32798.5202 -> 7.28148726E-661695930
+xsub216 subtract 728148726.E-661695938 32798.5202 -> -32798.5202 Inexact Rounded
+xadd217 add 7428219.97 667.326760 -> 7428887.30 Inexact Rounded
+xcom217 compare 7428219.97 667.326760 -> 1
+xdiv217 divide 7428219.97 667.326760 -> 11131.3084 Inexact Rounded
+xdvi217 divideint 7428219.97 667.326760 -> 11131
+xmul217 multiply 7428219.97 667.326760 -> 4.95704997E+9 Inexact Rounded
+xpow217 power 7428219.97 667 -> 7.58808510E+4582 Inexact Rounded
+xrem217 remainder 7428219.97 667.326760 -> 205.804440
+xsub217 subtract 7428219.97 667.326760 -> 7427552.64 Inexact Rounded
+xadd218 add -7291.19212 209.64966E-588526476 -> -7291.19212 Inexact Rounded
+xcom218 compare -7291.19212 209.64966E-588526476 -> -1
+xdiv218 divide -7291.19212 209.64966E-588526476 -> -3.47779821E+588526477 Inexact Rounded
+xdvi218 divideint -7291.19212 209.64966E-588526476 -> NaN Division_impossible
+xmul218 multiply -7291.19212 209.64966E-588526476 -> -1.52859595E-588526470 Inexact Rounded
+xpow218 power -7291.19212 2 -> 53161482.5 Inexact Rounded
+xrem218 remainder -7291.19212 209.64966E-588526476 -> NaN Division_impossible
+xsub218 subtract -7291.19212 209.64966E-588526476 -> -7291.19212 Inexact Rounded
+xadd219 add -358.24550 -4447.78675E+601402509 -> -4.44778675E+601402512 Inexact Rounded
+xcom219 compare -358.24550 -4447.78675E+601402509 -> 1
+xdiv219 divide -358.24550 -4447.78675E+601402509 -> 8.05446664E-601402511 Inexact Rounded
+xdvi219 divideint -358.24550 -4447.78675E+601402509 -> 0
+xmul219 multiply -358.24550 -4447.78675E+601402509 -> 1.59339959E+601402515 Inexact Rounded
+xpow219 power -358.24550 -4 -> 6.07123474E-11 Inexact Rounded
+xrem219 remainder -358.24550 -4447.78675E+601402509 -> -358.24550
+xsub219 subtract -358.24550 -4447.78675E+601402509 -> 4.44778675E+601402512 Inexact Rounded
+xadd220 add 118.621826 -2.72010038 -> 115.901726 Inexact Rounded
+xcom220 compare 118.621826 -2.72010038 -> 1
+xdiv220 divide 118.621826 -2.72010038 -> -43.6093561 Inexact Rounded
+xdvi220 divideint 118.621826 -2.72010038 -> -43
+xmul220 multiply 118.621826 -2.72010038 -> -322.663274 Inexact Rounded
+xpow220 power 118.621826 -3 -> 5.99109471E-7 Inexact Rounded
+xrem220 remainder 118.621826 -2.72010038 -> 1.65750966
+xsub220 subtract 118.621826 -2.72010038 -> 121.341926 Inexact Rounded
+xadd221 add 8071961.94 -135533740.E-102451543 -> 8071961.94 Inexact Rounded
+xcom221 compare 8071961.94 -135533740.E-102451543 -> 1
+xdiv221 divide 8071961.94 -135533740.E-102451543 -> -5.95568450E+102451541 Inexact Rounded
+xdvi221 divideint 8071961.94 -135533740.E-102451543 -> NaN Division_impossible
+xmul221 multiply 8071961.94 -135533740.E-102451543 -> -1.09402319E-102451528 Inexact Rounded
+xpow221 power 8071961.94 -1 -> 1.23885619E-7 Inexact Rounded
+xrem221 remainder 8071961.94 -135533740.E-102451543 -> NaN Division_impossible
+xsub221 subtract 8071961.94 -135533740.E-102451543 -> 8071961.94 Inexact Rounded
+xadd222 add 64262528.5E+812118682 -8692.94447E-732186947 -> 6.42625285E+812118689 Inexact Rounded
+xcom222 compare 64262528.5E+812118682 -8692.94447E-732186947 -> 1
+xdiv222 divide 64262528.5E+812118682 -8692.94447E-732186947 -> -Infinity Inexact Overflow Rounded
+xdvi222 divideint 64262528.5E+812118682 -8692.94447E-732186947 -> NaN Division_impossible
+xmul222 multiply 64262528.5E+812118682 -8692.94447E-732186947 -> -5.58630592E+79931746 Inexact Rounded
+xpow222 power 64262528.5E+812118682 -9 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem222 remainder 64262528.5E+812118682 -8692.94447E-732186947 -> NaN Division_impossible
+xsub222 subtract 64262528.5E+812118682 -8692.94447E-732186947 -> 6.42625285E+812118689 Inexact Rounded
+xadd223 add -35544.4029 -567830.130 -> -603374.533 Inexact Rounded
+xcom223 compare -35544.4029 -567830.130 -> 1
+xdiv223 divide -35544.4029 -567830.130 -> 0.0625968948 Inexact Rounded
+xdvi223 divideint -35544.4029 -567830.130 -> 0
+xmul223 multiply -35544.4029 -567830.130 -> 2.01831829E+10 Inexact Rounded
+xpow223 power -35544.4029 -567830 -> 3.77069368E-2584065 Inexact Rounded
+xrem223 remainder -35544.4029 -567830.130 -> -35544.4029
+xsub223 subtract -35544.4029 -567830.130 -> 532285.727 Inexact Rounded
+xadd224 add -7.16513047E+59297103 87767.8211 -> -7.16513047E+59297103 Inexact Rounded
+xcom224 compare -7.16513047E+59297103 87767.8211 -> -1
+xdiv224 divide -7.16513047E+59297103 87767.8211 -> -8.16373288E+59297098 Inexact Rounded
+xdvi224 divideint -7.16513047E+59297103 87767.8211 -> NaN Division_impossible
+xmul224 multiply -7.16513047E+59297103 87767.8211 -> -6.28867889E+59297108 Inexact Rounded
+xpow224 power -7.16513047E+59297103 87768 -> Infinity Overflow Inexact Rounded
+xrem224 remainder -7.16513047E+59297103 87767.8211 -> NaN Division_impossible
+xsub224 subtract -7.16513047E+59297103 87767.8211 -> -7.16513047E+59297103 Inexact Rounded
+xadd225 add -509.483395 -147242915. -> -147243424 Inexact Rounded
+xcom225 compare -509.483395 -147242915. -> 1
+xdiv225 divide -509.483395 -147242915. -> 0.00000346015559 Inexact Rounded
+xdvi225 divideint -509.483395 -147242915. -> 0
+xmul225 multiply -509.483395 -147242915. -> 7.50178202E+10 Inexact Rounded
+xpow225 power -509.483395 -147242915 -> -3.10760519E-398605718 Inexact Rounded
+xrem225 remainder -509.483395 -147242915. -> -509.483395
+xsub225 subtract -509.483395 -147242915. -> 147242406 Inexact Rounded
+xadd226 add -7919047.28E+956041629 -367667329 -> -7.91904728E+956041635 Inexact Rounded
+xcom226 compare -7919047.28E+956041629 -367667329 -> -1
+xdiv226 divide -7919047.28E+956041629 -367667329 -> 2.15386211E+956041627 Inexact Rounded
+xdvi226 divideint -7919047.28E+956041629 -367667329 -> NaN Division_impossible
+xmul226 multiply -7919047.28E+956041629 -367667329 -> 2.91157496E+956041644 Inexact Rounded
+xpow226 power -7919047.28E+956041629 -367667329 -> -0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem226 remainder -7919047.28E+956041629 -367667329 -> NaN Division_impossible
+xsub226 subtract -7919047.28E+956041629 -367667329 -> -7.91904728E+956041635 Inexact Rounded
+xadd227 add 895612630. -36.4104040 -> 895612594 Inexact Rounded
+xcom227 compare 895612630. -36.4104040 -> 1
+xdiv227 divide 895612630. -36.4104040 -> -24597712.0 Inexact Rounded
+xdvi227 divideint 895612630. -36.4104040 -> -24597711
+xmul227 multiply 895612630. -36.4104040 -> -3.26096177E+10 Inexact Rounded
+xpow227 power 895612630. -36 -> 5.29264130E-323 Inexact Rounded
+xrem227 remainder 895612630. -36.4104040 -> 35.0147560
+xsub227 subtract 895612630. -36.4104040 -> 895612666 Inexact Rounded
+xadd228 add 25455.4973 2955.00006E+528196218 -> 2.95500006E+528196221 Inexact Rounded
+xcom228 compare 25455.4973 2955.00006E+528196218 -> -1
+xdiv228 divide 25455.4973 2955.00006E+528196218 -> 8.61438131E-528196218 Inexact Rounded
+xdvi228 divideint 25455.4973 2955.00006E+528196218 -> 0
+xmul228 multiply 25455.4973 2955.00006E+528196218 -> 7.52209960E+528196225 Inexact Rounded
+xpow228 power 25455.4973 3 -> 1.64947128E+13 Inexact Rounded
+xrem228 remainder 25455.4973 2955.00006E+528196218 -> 25455.4973
+xsub228 subtract 25455.4973 2955.00006E+528196218 -> -2.95500006E+528196221 Inexact Rounded
+xadd229 add -112.294144E+273414172 -71448007.7 -> -1.12294144E+273414174 Inexact Rounded
+xcom229 compare -112.294144E+273414172 -71448007.7 -> -1
+xdiv229 divide -112.294144E+273414172 -71448007.7 -> 1.57169035E+273414166 Inexact Rounded
+xdvi229 divideint -112.294144E+273414172 -71448007.7 -> NaN Division_impossible
+xmul229 multiply -112.294144E+273414172 -71448007.7 -> 8.02319287E+273414181 Inexact Rounded
+xpow229 power -112.294144E+273414172 -71448008 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem229 remainder -112.294144E+273414172 -71448007.7 -> NaN Division_impossible
+xsub229 subtract -112.294144E+273414172 -71448007.7 -> -1.12294144E+273414174 Inexact Rounded
+xadd230 add 62871.2202 2484.0382E+211662557 -> 2.48403820E+211662560 Inexact Rounded
+xcom230 compare 62871.2202 2484.0382E+211662557 -> -1
+xdiv230 divide 62871.2202 2484.0382E+211662557 -> 2.53100859E-211662556 Inexact Rounded
+xdvi230 divideint 62871.2202 2484.0382E+211662557 -> 0
+xmul230 multiply 62871.2202 2484.0382E+211662557 -> 1.56174513E+211662565 Inexact Rounded
+xpow230 power 62871.2202 2 -> 3.95279033E+9 Inexact Rounded
+xrem230 remainder 62871.2202 2484.0382E+211662557 -> 62871.2202
+xsub230 subtract 62871.2202 2484.0382E+211662557 -> -2.48403820E+211662560 Inexact Rounded
+xadd231 add 71.9281575 -9810012.5 -> -9809940.57 Inexact Rounded
+xcom231 compare 71.9281575 -9810012.5 -> 1
+xdiv231 divide 71.9281575 -9810012.5 -> -0.00000733211680 Inexact Rounded
+xdvi231 divideint 71.9281575 -9810012.5 -> -0
+xmul231 multiply 71.9281575 -9810012.5 -> -705616124 Inexact Rounded
+xpow231 power 71.9281575 -9810013 -> 2.00363798E-18216203 Inexact Rounded
+xrem231 remainder 71.9281575 -9810012.5 -> 71.9281575
+xsub231 subtract 71.9281575 -9810012.5 -> 9810084.43 Inexact Rounded
+xadd232 add -6388022. -88.042967 -> -6388110.04 Inexact Rounded
+xcom232 compare -6388022. -88.042967 -> -1
+xdiv232 divide -6388022. -88.042967 -> 72555.7329 Inexact Rounded
+xdvi232 divideint -6388022. -88.042967 -> 72555
+xmul232 multiply -6388022. -88.042967 -> 562420410 Inexact Rounded
+xpow232 power -6388022. -88 -> 1.34201238E-599 Inexact Rounded
+xrem232 remainder -6388022. -88.042967 -> -64.529315
+xsub232 subtract -6388022. -88.042967 -> -6387933.96 Inexact Rounded
+xadd233 add 372567445. 96.0992141 -> 372567541 Inexact Rounded
+xcom233 compare 372567445. 96.0992141 -> 1
+xdiv233 divide 372567445. 96.0992141 -> 3876904.18 Inexact Rounded
+xdvi233 divideint 372567445. 96.0992141 -> 3876904
+xmul233 multiply 372567445. 96.0992141 -> 3.58034387E+10 Inexact Rounded
+xpow233 power 372567445. 96 -> 6.84968715E+822 Inexact Rounded
+xrem233 remainder 372567445. 96.0992141 -> 17.4588536
+xsub233 subtract 372567445. 96.0992141 -> 372567349 Inexact Rounded
+xadd234 add 802.156517 -174409310.E-255338020 -> 802.156517 Inexact Rounded
+xcom234 compare 802.156517 -174409310.E-255338020 -> 1
+xdiv234 divide 802.156517 -174409310.E-255338020 -> -4.59927579E+255338014 Inexact Rounded
+xdvi234 divideint 802.156517 -174409310.E-255338020 -> NaN Division_impossible
+xmul234 multiply 802.156517 -174409310.E-255338020 -> -1.39903565E-255338009 Inexact Rounded
+xpow234 power 802.156517 -2 -> 0.00000155411005 Inexact Rounded
+xrem234 remainder 802.156517 -174409310.E-255338020 -> NaN Division_impossible
+xsub234 subtract 802.156517 -174409310.E-255338020 -> 802.156517 Inexact Rounded
+xadd235 add -3.65207541 74501982.0 -> 74501978.3 Inexact Rounded
+xcom235 compare -3.65207541 74501982.0 -> -1
+xdiv235 divide -3.65207541 74501982.0 -> -4.90198423E-8 Inexact Rounded
+xdvi235 divideint -3.65207541 74501982.0 -> -0
+xmul235 multiply -3.65207541 74501982.0 -> -272086856 Inexact Rounded
+xpow235 power -3.65207541 74501982 -> 2.10339452E+41910325 Inexact Rounded
+xrem235 remainder -3.65207541 74501982.0 -> -3.65207541
+xsub235 subtract -3.65207541 74501982.0 -> -74501985.7 Inexact Rounded
+xadd236 add -5297.76981 -859.719404 -> -6157.48921 Inexact Rounded
+xcom236 compare -5297.76981 -859.719404 -> -1
+xdiv236 divide -5297.76981 -859.719404 -> 6.16220802 Inexact Rounded
+xdvi236 divideint -5297.76981 -859.719404 -> 6
+xmul236 multiply -5297.76981 -859.719404 -> 4554595.50 Inexact Rounded
+xpow236 power -5297.76981 -860 -> 1.90523108E-3203 Inexact Rounded
+xrem236 remainder -5297.76981 -859.719404 -> -139.453386
+xsub236 subtract -5297.76981 -859.719404 -> -4438.05041 Inexact Rounded
+xadd237 add -684172.592 766.448597E+288361959 -> 7.66448597E+288361961 Inexact Rounded
+xcom237 compare -684172.592 766.448597E+288361959 -> -1
+xdiv237 divide -684172.592 766.448597E+288361959 -> -8.92652938E-288361957 Inexact Rounded
+xdvi237 divideint -684172.592 766.448597E+288361959 -> -0
+xmul237 multiply -684172.592 766.448597E+288361959 -> -5.24383123E+288361967 Inexact Rounded
+xpow237 power -684172.592 8 -> 4.80093005E+46 Inexact Rounded
+xrem237 remainder -684172.592 766.448597E+288361959 -> -684172.592
+xsub237 subtract -684172.592 766.448597E+288361959 -> -7.66448597E+288361961 Inexact Rounded
+xadd238 add 626919.219 57469.8727E+13188610 -> 5.74698727E+13188614 Inexact Rounded
+xcom238 compare 626919.219 57469.8727E+13188610 -> -1
+xdiv238 divide 626919.219 57469.8727E+13188610 -> 1.09086586E-13188609 Inexact Rounded
+xdvi238 divideint 626919.219 57469.8727E+13188610 -> 0
+xmul238 multiply 626919.219 57469.8727E+13188610 -> 3.60289677E+13188620 Inexact Rounded
+xpow238 power 626919.219 6 -> 6.07112959E+34 Inexact Rounded
+xrem238 remainder 626919.219 57469.8727E+13188610 -> 626919.219
+xsub238 subtract 626919.219 57469.8727E+13188610 -> -5.74698727E+13188614 Inexact Rounded
+xadd239 add -77480.5840 893265.594E+287982552 -> 8.93265594E+287982557 Inexact Rounded
+xcom239 compare -77480.5840 893265.594E+287982552 -> -1
+xdiv239 divide -77480.5840 893265.594E+287982552 -> -8.67385742E-287982554 Inexact Rounded
+xdvi239 divideint -77480.5840 893265.594E+287982552 -> -0
+xmul239 multiply -77480.5840 893265.594E+287982552 -> -6.92107399E+287982562 Inexact Rounded
+xpow239 power -77480.5840 9 -> -1.00631969E+44 Inexact Rounded
+xrem239 remainder -77480.5840 893265.594E+287982552 -> -77480.5840
+xsub239 subtract -77480.5840 893265.594E+287982552 -> -8.93265594E+287982557 Inexact Rounded
+xadd240 add -7177620.29 7786343.83 -> 608723.54
+xcom240 compare -7177620.29 7786343.83 -> -1
+xdiv240 divide -7177620.29 7786343.83 -> -0.921821647 Inexact Rounded
+xdvi240 divideint -7177620.29 7786343.83 -> -0
+xmul240 multiply -7177620.29 7786343.83 -> -5.58874195E+13 Inexact Rounded
+xpow240 power -7177620.29 7786344 -> 2.96037074E+53383022 Inexact Rounded
+xrem240 remainder -7177620.29 7786343.83 -> -7177620.29
+xsub240 subtract -7177620.29 7786343.83 -> -14963964.1 Inexact Rounded
+xadd241 add 9.6224130 4.50355112 -> 14.1259641 Inexact Rounded
+xcom241 compare 9.6224130 4.50355112 -> 1
+xdiv241 divide 9.6224130 4.50355112 -> 2.13662791 Inexact Rounded
+xdvi241 divideint 9.6224130 4.50355112 -> 2
+xmul241 multiply 9.6224130 4.50355112 -> 43.3350288 Inexact Rounded
+xpow241 power 9.6224130 5 -> 82493.5448 Inexact Rounded
+xrem241 remainder 9.6224130 4.50355112 -> 0.61531076
+xsub241 subtract 9.6224130 4.50355112 -> 5.11886188
+xadd242 add -66.6337347E-597410086 -818812885 -> -818812885 Inexact Rounded
+xcom242 compare -66.6337347E-597410086 -818812885 -> 1
+xdiv242 divide -66.6337347E-597410086 -818812885 -> 8.13784638E-597410094 Inexact Rounded
+xdvi242 divideint -66.6337347E-597410086 -818812885 -> 0
+xmul242 multiply -66.6337347E-597410086 -818812885 -> 5.45605605E-597410076 Inexact Rounded
+xpow242 power -66.6337347E-597410086 -818812885 -> -Infinity Overflow Inexact Rounded
+xrem242 remainder -66.6337347E-597410086 -818812885 -> -6.66337347E-597410085
+xsub242 subtract -66.6337347E-597410086 -818812885 -> 818812885 Inexact Rounded
+xadd243 add 65587553.7 600574.736 -> 66188128.4 Inexact Rounded
+xcom243 compare 65587553.7 600574.736 -> 1
+xdiv243 divide 65587553.7 600574.736 -> 109.207980 Inexact Rounded
+xdvi243 divideint 65587553.7 600574.736 -> 109
+xmul243 multiply 65587553.7 600574.736 -> 3.93902277E+13 Inexact Rounded
+xpow243 power 65587553.7 600575 -> 3.40404817E+4694587 Inexact Rounded
+xrem243 remainder 65587553.7 600574.736 -> 124907.476
+xsub243 subtract 65587553.7 600574.736 -> 64986979.0 Inexact Rounded
+xadd244 add -32401.939 -585200217. -> -585232619 Inexact Rounded
+xcom244 compare -32401.939 -585200217. -> 1
+xdiv244 divide -32401.939 -585200217. -> 0.0000553689798 Inexact Rounded
+xdvi244 divideint -32401.939 -585200217. -> 0
+xmul244 multiply -32401.939 -585200217. -> 1.89616217E+13 Inexact Rounded
+xpow244 power -32401.939 -585200217 -> -0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem244 remainder -32401.939 -585200217. -> -32401.939
+xsub244 subtract -32401.939 -585200217. -> 585167815 Inexact Rounded
+xadd245 add 69573.988 -9.77003465E+740933668 -> -9.77003465E+740933668 Inexact Rounded
+xcom245 compare 69573.988 -9.77003465E+740933668 -> 1
+xdiv245 divide 69573.988 -9.77003465E+740933668 -> -7.12116082E-740933665 Inexact Rounded
+xdvi245 divideint 69573.988 -9.77003465E+740933668 -> -0
+xmul245 multiply 69573.988 -9.77003465E+740933668 -> -6.79740273E+740933673 Inexact Rounded
+xpow245 power 69573.988 -10 -> 3.76297229E-49 Inexact Rounded
+xrem245 remainder 69573.988 -9.77003465E+740933668 -> 69573.988
+xsub245 subtract 69573.988 -9.77003465E+740933668 -> 9.77003465E+740933668 Inexact Rounded
+xadd246 add 2362.06251 -433149546.E-152643629 -> 2362.06251 Inexact Rounded
+xcom246 compare 2362.06251 -433149546.E-152643629 -> 1
+xdiv246 divide 2362.06251 -433149546.E-152643629 -> -5.45322633E+152643623 Inexact Rounded
+xdvi246 divideint 2362.06251 -433149546.E-152643629 -> NaN Division_impossible
+xmul246 multiply 2362.06251 -433149546.E-152643629 -> -1.02312630E-152643617 Inexact Rounded
+xpow246 power 2362.06251 -4 -> 3.21243577E-14 Inexact Rounded
+xrem246 remainder 2362.06251 -433149546.E-152643629 -> NaN Division_impossible
+xsub246 subtract 2362.06251 -433149546.E-152643629 -> 2362.06251 Inexact Rounded
+xadd247 add -615.23488E+249953452 -21437483.7 -> -6.15234880E+249953454 Inexact Rounded
+xcom247 compare -615.23488E+249953452 -21437483.7 -> -1
+xdiv247 divide -615.23488E+249953452 -21437483.7 -> 2.86990250E+249953447 Inexact Rounded
+xdvi247 divideint -615.23488E+249953452 -21437483.7 -> NaN Division_impossible
+xmul247 multiply -615.23488E+249953452 -21437483.7 -> 1.31890877E+249953462 Inexact Rounded
+xpow247 power -615.23488E+249953452 -21437484 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem247 remainder -615.23488E+249953452 -21437483.7 -> NaN Division_impossible
+xsub247 subtract -615.23488E+249953452 -21437483.7 -> -6.15234880E+249953454 Inexact Rounded
+xadd248 add 216741082. 250290244 -> 467031326
+xcom248 compare 216741082. 250290244 -> -1
+xdiv248 divide 216741082. 250290244 -> 0.865958970 Inexact Rounded
+xdvi248 divideint 216741082. 250290244 -> 0
+xmul248 multiply 216741082. 250290244 -> 5.42481783E+16 Inexact Rounded
+xpow248 power 216741082. 250290244 -> Infinity Overflow Inexact Rounded
+xrem248 remainder 216741082. 250290244 -> 216741082
+xsub248 subtract 216741082. 250290244 -> -33549162
+xadd249 add -6364720.49 5539245.64 -> -825474.85
+xcom249 compare -6364720.49 5539245.64 -> -1
+xdiv249 divide -6364720.49 5539245.64 -> -1.14902297 Inexact Rounded
+xdvi249 divideint -6364720.49 5539245.64 -> -1
+xmul249 multiply -6364720.49 5539245.64 -> -3.52557502E+13 Inexact Rounded
+xpow249 power -6364720.49 5539246 -> 2.96894641E+37687807 Inexact Rounded
+xrem249 remainder -6364720.49 5539245.64 -> -825474.85
+xsub249 subtract -6364720.49 5539245.64 -> -11903966.1 Inexact Rounded
+xadd250 add -814599.475 -14.5431191 -> -814614.018 Inexact Rounded
+xcom250 compare -814599.475 -14.5431191 -> -1
+xdiv250 divide -814599.475 -14.5431191 -> 56012.7074 Inexact Rounded
+xdvi250 divideint -814599.475 -14.5431191 -> 56012
+xmul250 multiply -814599.475 -14.5431191 -> 11846817.2 Inexact Rounded
+xpow250 power -814599.475 -15 -> -2.16689622E-89 Inexact Rounded
+xrem250 remainder -814599.475 -14.5431191 -> -10.2879708
+xsub250 subtract -814599.475 -14.5431191 -> -814584.932 Inexact Rounded
+xadd251 add -877498.755 507408724E-168628106 -> -877498.755 Inexact Rounded
+xcom251 compare -877498.755 507408724E-168628106 -> -1
+xdiv251 divide -877498.755 507408724E-168628106 -> -1.72937262E+168628103 Inexact Rounded
+xdvi251 divideint -877498.755 507408724E-168628106 -> NaN Division_impossible
+xmul251 multiply -877498.755 507408724E-168628106 -> -4.45250524E-168628092 Inexact Rounded
+xpow251 power -877498.755 5 -> -5.20274505E+29 Inexact Rounded
+xrem251 remainder -877498.755 507408724E-168628106 -> NaN Division_impossible
+xsub251 subtract -877498.755 507408724E-168628106 -> -877498.755 Inexact Rounded
+xadd252 add 10634446.5E+475783861 50.7213056E+17807809 -> 1.06344465E+475783868 Inexact Rounded
+xcom252 compare 10634446.5E+475783861 50.7213056E+17807809 -> 1
+xdiv252 divide 10634446.5E+475783861 50.7213056E+17807809 -> 2.09664289E+457976057 Inexact Rounded
+xdvi252 divideint 10634446.5E+475783861 50.7213056E+17807809 -> NaN Division_impossible
+xmul252 multiply 10634446.5E+475783861 50.7213056E+17807809 -> 5.39393011E+493591678 Inexact Rounded
+xpow252 power 10634446.5E+475783861 5 -> Infinity Overflow Inexact Rounded
+xrem252 remainder 10634446.5E+475783861 50.7213056E+17807809 -> NaN Division_impossible
+xsub252 subtract 10634446.5E+475783861 50.7213056E+17807809 -> 1.06344465E+475783868 Inexact Rounded
+xadd253 add -162726.257E-597285918 -4391.54799 -> -4391.54799 Inexact Rounded
+xcom253 compare -162726.257E-597285918 -4391.54799 -> 1
+xdiv253 divide -162726.257E-597285918 -4391.54799 -> 3.70544185E-597285917 Inexact Rounded
+xdvi253 divideint -162726.257E-597285918 -4391.54799 -> 0
+xmul253 multiply -162726.257E-597285918 -4391.54799 -> 7.14620167E-597285910 Inexact Rounded
+xpow253 power -162726.257E-597285918 -4392 -> Infinity Overflow Inexact Rounded
+xrem253 remainder -162726.257E-597285918 -4391.54799 -> -1.62726257E-597285913
+xsub253 subtract -162726.257E-597285918 -4391.54799 -> 4391.54799 Inexact Rounded
+xadd254 add 700354586.E-99856707 7198.0493E+436250299 -> 7.19804930E+436250302 Inexact Rounded
+xcom254 compare 700354586.E-99856707 7198.0493E+436250299 -> -1
+xdiv254 divide 700354586.E-99856707 7198.0493E+436250299 -> 9.72978312E-536107002 Inexact Rounded
+xdvi254 divideint 700354586.E-99856707 7198.0493E+436250299 -> 0
+xmul254 multiply 700354586.E-99856707 7198.0493E+436250299 -> 5.04118684E+336393604 Inexact Rounded
+xpow254 power 700354586.E-99856707 7 -> 8.26467610E-698996888 Inexact Rounded
+xrem254 remainder 700354586.E-99856707 7198.0493E+436250299 -> 7.00354586E-99856699
+xsub254 subtract 700354586.E-99856707 7198.0493E+436250299 -> -7.19804930E+436250302 Inexact Rounded
+xadd255 add 39617663E-463704664 -895.290346 -> -895.290346 Inexact Rounded
+xcom255 compare 39617663E-463704664 -895.290346 -> 1
+xdiv255 divide 39617663E-463704664 -895.290346 -> -4.42511898E-463704660 Inexact Rounded
+xdvi255 divideint 39617663E-463704664 -895.290346 -> -0
+xmul255 multiply 39617663E-463704664 -895.290346 -> -3.54693112E-463704654 Inexact Rounded
+xpow255 power 39617663E-463704664 -895 -> Infinity Overflow Inexact Rounded
+xrem255 remainder 39617663E-463704664 -895.290346 -> 3.9617663E-463704657
+xsub255 subtract 39617663E-463704664 -895.290346 -> 895.290346 Inexact Rounded
+xadd256 add 5350882.59 -36329829 -> -30978946.4 Inexact Rounded
+xcom256 compare 5350882.59 -36329829 -> 1
+xdiv256 divide 5350882.59 -36329829 -> -0.147286204 Inexact Rounded
+xdvi256 divideint 5350882.59 -36329829 -> -0
+xmul256 multiply 5350882.59 -36329829 -> -1.94396649E+14 Inexact Rounded
+xpow256 power 5350882.59 -36329829 -> 9.77006107E-244442546 Inexact Rounded
+xrem256 remainder 5350882.59 -36329829 -> 5350882.59
+xsub256 subtract 5350882.59 -36329829 -> 41680711.6 Inexact Rounded
+xadd257 add 91966.4084E+210382952 166740.46E-42001390 -> 9.19664084E+210382956 Inexact Rounded
+xcom257 compare 91966.4084E+210382952 166740.46E-42001390 -> 1
+xdiv257 divide 91966.4084E+210382952 166740.46E-42001390 -> 5.51554244E+252384341 Inexact Rounded
+xdvi257 divideint 91966.4084E+210382952 166740.46E-42001390 -> NaN Division_impossible
+xmul257 multiply 91966.4084E+210382952 166740.46E-42001390 -> 1.53345212E+168381572 Inexact Rounded
+xpow257 power 91966.4084E+210382952 2 -> 8.45782027E+420765913 Inexact Rounded
+xrem257 remainder 91966.4084E+210382952 166740.46E-42001390 -> NaN Division_impossible
+xsub257 subtract 91966.4084E+210382952 166740.46E-42001390 -> 9.19664084E+210382956 Inexact Rounded
+xadd258 add 231899031.E-481759076 726.337100 -> 726.337100 Inexact Rounded
+xcom258 compare 231899031.E-481759076 726.337100 -> -1
+xdiv258 divide 231899031.E-481759076 726.337100 -> 3.19271907E-481759071 Inexact Rounded
+xdvi258 divideint 231899031.E-481759076 726.337100 -> 0
+xmul258 multiply 231899031.E-481759076 726.337100 -> 1.68436870E-481759065 Inexact Rounded
+xpow258 power 231899031.E-481759076 726 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem258 remainder 231899031.E-481759076 726.337100 -> 2.31899031E-481759068
+xsub258 subtract 231899031.E-481759076 726.337100 -> -726.337100 Inexact Rounded
+xadd259 add -9611312.33 22109735.9 -> 12498423.6 Inexact Rounded
+xcom259 compare -9611312.33 22109735.9 -> -1
+xdiv259 divide -9611312.33 22109735.9 -> -0.434709504 Inexact Rounded
+xdvi259 divideint -9611312.33 22109735.9 -> -0
+xmul259 multiply -9611312.33 22109735.9 -> -2.12503577E+14 Inexact Rounded
+xpow259 power -9611312.33 22109736 -> 6.74530828E+154387481 Inexact Rounded
+xrem259 remainder -9611312.33 22109735.9 -> -9611312.33
+xsub259 subtract -9611312.33 22109735.9 -> -31721048.2 Inexact Rounded
+xadd260 add -5604938.15E-36812542 735937577. -> 735937577 Inexact Rounded
+xcom260 compare -5604938.15E-36812542 735937577. -> -1
+xdiv260 divide -5604938.15E-36812542 735937577. -> -7.61605104E-36812545 Inexact Rounded
+xdvi260 divideint -5604938.15E-36812542 735937577. -> -0
+xmul260 multiply -5604938.15E-36812542 735937577. -> -4.12488460E-36812527 Inexact Rounded
+xpow260 power -5604938.15E-36812542 735937577 -> -0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem260 remainder -5604938.15E-36812542 735937577. -> -5.60493815E-36812536
+xsub260 subtract -5604938.15E-36812542 735937577. -> -735937577 Inexact Rounded
+xadd261 add 693881413. 260547224E-480281418 -> 693881413 Inexact Rounded
+xcom261 compare 693881413. 260547224E-480281418 -> 1
+xdiv261 divide 693881413. 260547224E-480281418 -> 2.66316947E+480281418 Inexact Rounded
+xdvi261 divideint 693881413. 260547224E-480281418 -> NaN Division_impossible
+xmul261 multiply 693881413. 260547224E-480281418 -> 1.80788876E-480281401 Inexact Rounded
+xpow261 power 693881413. 3 -> 3.34084066E+26 Inexact Rounded
+xrem261 remainder 693881413. 260547224E-480281418 -> NaN Division_impossible
+xsub261 subtract 693881413. 260547224E-480281418 -> 693881413 Inexact Rounded
+xadd262 add -34865.7378E-368768024 2297117.88 -> 2297117.88 Inexact Rounded
+xcom262 compare -34865.7378E-368768024 2297117.88 -> -1
+xdiv262 divide -34865.7378E-368768024 2297117.88 -> -1.51780360E-368768026 Inexact Rounded
+xdvi262 divideint -34865.7378E-368768024 2297117.88 -> -0
+xmul262 multiply -34865.7378E-368768024 2297117.88 -> -8.00907097E-368768014 Inexact Rounded
+xpow262 power -34865.7378E-368768024 2297118 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem262 remainder -34865.7378E-368768024 2297117.88 -> -3.48657378E-368768020
+xsub262 subtract -34865.7378E-368768024 2297117.88 -> -2297117.88 Inexact Rounded
+xadd263 add 1123.32456 7.86747918E+930888796 -> 7.86747918E+930888796 Inexact Rounded
+xcom263 compare 1123.32456 7.86747918E+930888796 -> -1
+xdiv263 divide 1123.32456 7.86747918E+930888796 -> 1.42780748E-930888794 Inexact Rounded
+xdvi263 divideint 1123.32456 7.86747918E+930888796 -> 0
+xmul263 multiply 1123.32456 7.86747918E+930888796 -> 8.83773259E+930888799 Inexact Rounded
+xpow263 power 1123.32456 8 -> 2.53537401E+24 Inexact Rounded
+xrem263 remainder 1123.32456 7.86747918E+930888796 -> 1123.32456
+xsub263 subtract 1123.32456 7.86747918E+930888796 -> -7.86747918E+930888796 Inexact Rounded
+xadd264 add 56.6607465E+467812565 909552512E+764516200 -> 9.09552512E+764516208 Inexact Rounded
+xcom264 compare 56.6607465E+467812565 909552512E+764516200 -> -1
+xdiv264 divide 56.6607465E+467812565 909552512E+764516200 -> 6.22951899E-296703643 Inexact Rounded
+xdvi264 divideint 56.6607465E+467812565 909552512E+764516200 -> 0
+xmul264 multiply 56.6607465E+467812565 909552512E+764516200 -> Infinity Inexact Overflow Rounded
+xpow264 power 56.6607465E+467812565 9 -> Infinity Overflow Inexact Rounded
+xrem264 remainder 56.6607465E+467812565 909552512E+764516200 -> 5.66607465E+467812566
+xsub264 subtract 56.6607465E+467812565 909552512E+764516200 -> -9.09552512E+764516208 Inexact Rounded
+xadd265 add -1.85771840E+365552540 -73028339.7 -> -1.85771840E+365552540 Inexact Rounded
+xcom265 compare -1.85771840E+365552540 -73028339.7 -> -1
+xdiv265 divide -1.85771840E+365552540 -73028339.7 -> 2.54383217E+365552532 Inexact Rounded
+xdvi265 divideint -1.85771840E+365552540 -73028339.7 -> NaN Division_impossible
+xmul265 multiply -1.85771840E+365552540 -73028339.7 -> 1.35666090E+365552548 Inexact Rounded
+xpow265 power -1.85771840E+365552540 -73028340 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem265 remainder -1.85771840E+365552540 -73028339.7 -> NaN Division_impossible
+xsub265 subtract -1.85771840E+365552540 -73028339.7 -> -1.85771840E+365552540 Inexact Rounded
+xadd266 add 34.1935525 -40767.6450 -> -40733.4514 Inexact Rounded
+xcom266 compare 34.1935525 -40767.6450 -> 1
+xdiv266 divide 34.1935525 -40767.6450 -> -0.000838742402 Inexact Rounded
+xdvi266 divideint 34.1935525 -40767.6450 -> -0
+xmul266 multiply 34.1935525 -40767.6450 -> -1393990.61 Inexact Rounded
+xpow266 power 34.1935525 -40768 -> 1.45174210E-62536 Inexact Rounded
+xrem266 remainder 34.1935525 -40767.6450 -> 34.1935525
+xsub266 subtract 34.1935525 -40767.6450 -> 40801.8386 Inexact Rounded
+xadd267 add 26.0009168E+751618294 -304019.929 -> 2.60009168E+751618295 Inexact Rounded
+xcom267 compare 26.0009168E+751618294 -304019.929 -> 1
+xdiv267 divide 26.0009168E+751618294 -304019.929 -> -8.55237250E+751618289 Inexact Rounded
+xdvi267 divideint 26.0009168E+751618294 -304019.929 -> NaN Division_impossible
+xmul267 multiply 26.0009168E+751618294 -304019.929 -> -7.90479688E+751618300 Inexact Rounded
+xpow267 power 26.0009168E+751618294 -304020 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem267 remainder 26.0009168E+751618294 -304019.929 -> NaN Division_impossible
+xsub267 subtract 26.0009168E+751618294 -304019.929 -> 2.60009168E+751618295 Inexact Rounded
+xadd268 add -58.4853072E+588540055 -4647.3205 -> -5.84853072E+588540056 Inexact Rounded
+xcom268 compare -58.4853072E+588540055 -4647.3205 -> -1
+xdiv268 divide -58.4853072E+588540055 -4647.3205 -> 1.25847372E+588540053 Inexact Rounded
+xdvi268 divideint -58.4853072E+588540055 -4647.3205 -> NaN Division_impossible
+xmul268 multiply -58.4853072E+588540055 -4647.3205 -> 2.71799967E+588540060 Inexact Rounded
+xpow268 power -58.4853072E+588540055 -4647 -> -0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem268 remainder -58.4853072E+588540055 -4647.3205 -> NaN Division_impossible
+xsub268 subtract -58.4853072E+588540055 -4647.3205 -> -5.84853072E+588540056 Inexact Rounded
+xadd269 add 51.025101 -4467691.57 -> -4467640.54 Inexact Rounded
+xcom269 compare 51.025101 -4467691.57 -> 1
+xdiv269 divide 51.025101 -4467691.57 -> -0.0000114209095 Inexact Rounded
+xdvi269 divideint 51.025101 -4467691.57 -> -0
+xmul269 multiply 51.025101 -4467691.57 -> -227964414 Inexact Rounded
+xpow269 power 51.025101 -4467692 -> 4.49462589E-7629853 Inexact Rounded
+xrem269 remainder 51.025101 -4467691.57 -> 51.025101
+xsub269 subtract 51.025101 -4467691.57 -> 4467742.60 Inexact Rounded
+xadd270 add -2214.76582 379785372E+223117572 -> 3.79785372E+223117580 Inexact Rounded
+xcom270 compare -2214.76582 379785372E+223117572 -> -1
+xdiv270 divide -2214.76582 379785372E+223117572 -> -5.83162487E-223117578 Inexact Rounded
+xdvi270 divideint -2214.76582 379785372E+223117572 -> -0
+xmul270 multiply -2214.76582 379785372E+223117572 -> -8.41135661E+223117583 Inexact Rounded
+xpow270 power -2214.76582 4 -> 2.40608658E+13 Inexact Rounded
+xrem270 remainder -2214.76582 379785372E+223117572 -> -2214.76582
+xsub270 subtract -2214.76582 379785372E+223117572 -> -3.79785372E+223117580 Inexact Rounded
+xadd271 add -2564.75207E-841443929 -653498187 -> -653498187 Inexact Rounded
+xcom271 compare -2564.75207E-841443929 -653498187 -> 1
+xdiv271 divide -2564.75207E-841443929 -653498187 -> 3.92465063E-841443935 Inexact Rounded
+xdvi271 divideint -2564.75207E-841443929 -653498187 -> 0
+xmul271 multiply -2564.75207E-841443929 -653498187 -> 1.67606083E-841443917 Inexact Rounded
+xpow271 power -2564.75207E-841443929 -653498187 -> -Infinity Overflow Inexact Rounded
+xrem271 remainder -2564.75207E-841443929 -653498187 -> -2.56475207E-841443926
+xsub271 subtract -2564.75207E-841443929 -653498187 -> 653498187 Inexact Rounded
+xadd272 add 513115529. 27775075.6E+217133352 -> 2.77750756E+217133359 Inexact Rounded
+xcom272 compare 513115529. 27775075.6E+217133352 -> -1
+xdiv272 divide 513115529. 27775075.6E+217133352 -> 1.84739562E-217133351 Inexact Rounded
+xdvi272 divideint 513115529. 27775075.6E+217133352 -> 0
+xmul272 multiply 513115529. 27775075.6E+217133352 -> 1.42518226E+217133368 Inexact Rounded
+xpow272 power 513115529. 3 -> 1.35096929E+26 Inexact Rounded
+xrem272 remainder 513115529. 27775075.6E+217133352 -> 513115529
+xsub272 subtract 513115529. 27775075.6E+217133352 -> -2.77750756E+217133359 Inexact Rounded
+xadd273 add -247157.208 -532990.453 -> -780147.661
+xcom273 compare -247157.208 -532990.453 -> 1
+xdiv273 divide -247157.208 -532990.453 -> 0.463717890 Inexact Rounded
+xdvi273 divideint -247157.208 -532990.453 -> 0
+xmul273 multiply -247157.208 -532990.453 -> 1.31732432E+11 Inexact Rounded
+xpow273 power -247157.208 -532990 -> 1.48314033E-2874401 Inexact Rounded
+xrem273 remainder -247157.208 -532990.453 -> -247157.208
+xsub273 subtract -247157.208 -532990.453 -> 285833.245
+xadd274 add 40.2490764E-339482253 7626.85442E+594264540 -> 7.62685442E+594264543 Inexact Rounded
+xcom274 compare 40.2490764E-339482253 7626.85442E+594264540 -> -1
+xdiv274 divide 40.2490764E-339482253 7626.85442E+594264540 -> 5.27728395E-933746796 Inexact Rounded
+xdvi274 divideint 40.2490764E-339482253 7626.85442E+594264540 -> 0
+xmul274 multiply 40.2490764E-339482253 7626.85442E+594264540 -> 3.06973846E+254782292 Inexact Rounded
+xpow274 power 40.2490764E-339482253 8 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem274 remainder 40.2490764E-339482253 7626.85442E+594264540 -> 4.02490764E-339482252
+xsub274 subtract 40.2490764E-339482253 7626.85442E+594264540 -> -7.62685442E+594264543 Inexact Rounded
+xadd275 add -1156008.8 -8870382.36 -> -10026391.2 Inexact Rounded
+xcom275 compare -1156008.8 -8870382.36 -> 1
+xdiv275 divide -1156008.8 -8870382.36 -> 0.130322319 Inexact Rounded
+xdvi275 divideint -1156008.8 -8870382.36 -> 0
+xmul275 multiply -1156008.8 -8870382.36 -> 1.02542401E+13 Inexact Rounded
+xpow275 power -1156008.8 -8870382 -> 4.32494996E-53780782 Inexact Rounded
+xrem275 remainder -1156008.8 -8870382.36 -> -1156008.80
+xsub275 subtract -1156008.8 -8870382.36 -> 7714373.56
+xadd276 add 880097928. -52455011.1E+204538218 -> -5.24550111E+204538225 Inexact Rounded
+xcom276 compare 880097928. -52455011.1E+204538218 -> 1
+xdiv276 divide 880097928. -52455011.1E+204538218 -> -1.67781478E-204538217 Inexact Rounded
+xdvi276 divideint 880097928. -52455011.1E+204538218 -> -0
+xmul276 multiply 880097928. -52455011.1E+204538218 -> -4.61655466E+204538234 Inexact Rounded
+xpow276 power 880097928. -5 -> 1.89384751E-45 Inexact Rounded
+xrem276 remainder 880097928. -52455011.1E+204538218 -> 880097928
+xsub276 subtract 880097928. -52455011.1E+204538218 -> 5.24550111E+204538225 Inexact Rounded
+xadd277 add 5796.2524 34458329.7E+832129426 -> 3.44583297E+832129433 Inexact Rounded
+xcom277 compare 5796.2524 34458329.7E+832129426 -> -1
+xdiv277 divide 5796.2524 34458329.7E+832129426 -> 1.68210486E-832129430 Inexact Rounded
+xdvi277 divideint 5796.2524 34458329.7E+832129426 -> 0
+xmul277 multiply 5796.2524 34458329.7E+832129426 -> 1.99729176E+832129437 Inexact Rounded
+xpow277 power 5796.2524 3 -> 1.94734037E+11 Inexact Rounded
+xrem277 remainder 5796.2524 34458329.7E+832129426 -> 5796.2524
+xsub277 subtract 5796.2524 34458329.7E+832129426 -> -3.44583297E+832129433 Inexact Rounded
+xadd278 add 27.1000923E-218032223 -45.0198341 -> -45.0198341 Inexact Rounded
+xcom278 compare 27.1000923E-218032223 -45.0198341 -> 1
+xdiv278 divide 27.1000923E-218032223 -45.0198341 -> -6.01958955E-218032224 Inexact Rounded
+xdvi278 divideint 27.1000923E-218032223 -45.0198341 -> -0
+xmul278 multiply 27.1000923E-218032223 -45.0198341 -> -1.22004166E-218032220 Inexact Rounded
+xpow278 power 27.1000923E-218032223 -45 -> Infinity Overflow Inexact Rounded
+xrem278 remainder 27.1000923E-218032223 -45.0198341 -> 2.71000923E-218032222
+xsub278 subtract 27.1000923E-218032223 -45.0198341 -> 45.0198341 Inexact Rounded
+xadd279 add 42643477.8 26118465E-730390549 -> 42643477.8 Inexact Rounded
+xcom279 compare 42643477.8 26118465E-730390549 -> 1
+xdiv279 divide 42643477.8 26118465E-730390549 -> 1.63269464E+730390549 Inexact Rounded
+xdvi279 divideint 42643477.8 26118465E-730390549 -> NaN Division_impossible
+xmul279 multiply 42643477.8 26118465E-730390549 -> 1.11378218E-730390534 Inexact Rounded
+xpow279 power 42643477.8 3 -> 7.75457230E+22 Inexact Rounded
+xrem279 remainder 42643477.8 26118465E-730390549 -> NaN Division_impossible
+xsub279 subtract 42643477.8 26118465E-730390549 -> 42643477.8 Inexact Rounded
+xadd280 add -31918.9176E-163031657 -21.5422824E-807317258 -> -3.19189176E-163031653 Inexact Rounded
+xcom280 compare -31918.9176E-163031657 -21.5422824E-807317258 -> -1
+xdiv280 divide -31918.9176E-163031657 -21.5422824E-807317258 -> 1.48168690E+644285604 Inexact Rounded
+xdvi280 divideint -31918.9176E-163031657 -21.5422824E-807317258 -> NaN Division_impossible
+xmul280 multiply -31918.9176E-163031657 -21.5422824E-807317258 -> 6.87606337E-970348910 Inexact Rounded
+xpow280 power -31918.9176E-163031657 -2 -> 9.81530250E+326063304 Inexact Rounded
+xrem280 remainder -31918.9176E-163031657 -21.5422824E-807317258 -> NaN Division_impossible
+xsub280 subtract -31918.9176E-163031657 -21.5422824E-807317258 -> -3.19189176E-163031653 Inexact Rounded
+xadd281 add 84224841.0 2.62548255E+647087608 -> 2.62548255E+647087608 Inexact Rounded
+xcom281 compare 84224841.0 2.62548255E+647087608 -> -1
+xdiv281 divide 84224841.0 2.62548255E+647087608 -> 3.20797565E-647087601 Inexact Rounded
+xdvi281 divideint 84224841.0 2.62548255E+647087608 -> 0
+xmul281 multiply 84224841.0 2.62548255E+647087608 -> 2.21130850E+647087616 Inexact Rounded
+xpow281 power 84224841.0 3 -> 5.97476185E+23 Inexact Rounded
+xrem281 remainder 84224841.0 2.62548255E+647087608 -> 84224841.0
+xsub281 subtract 84224841.0 2.62548255E+647087608 -> -2.62548255E+647087608 Inexact Rounded
+xadd282 add -64413698.9 -6674.1055E-701047852 -> -64413698.9 Inexact Rounded
+xcom282 compare -64413698.9 -6674.1055E-701047852 -> -1
+xdiv282 divide -64413698.9 -6674.1055E-701047852 -> 9.65128569E+701047855 Inexact Rounded
+xdvi282 divideint -64413698.9 -6674.1055E-701047852 -> NaN Division_impossible
+xmul282 multiply -64413698.9 -6674.1055E-701047852 -> 4.29903822E-701047841 Inexact Rounded
+xpow282 power -64413698.9 -7 -> -2.17346338E-55 Inexact Rounded
+xrem282 remainder -64413698.9 -6674.1055E-701047852 -> NaN Division_impossible
+xsub282 subtract -64413698.9 -6674.1055E-701047852 -> -64413698.9 Inexact Rounded
+xadd283 add -62.5059208 9.5795779E-898350012 -> -62.5059208 Inexact Rounded
+xcom283 compare -62.5059208 9.5795779E-898350012 -> -1
+xdiv283 divide -62.5059208 9.5795779E-898350012 -> -6.52491388E+898350012 Inexact Rounded
+xdvi283 divideint -62.5059208 9.5795779E-898350012 -> NaN Division_impossible
+xmul283 multiply -62.5059208 9.5795779E-898350012 -> -5.98780338E-898350010 Inexact Rounded
+xpow283 power -62.5059208 10 -> 9.10356659E+17 Inexact Rounded
+xrem283 remainder -62.5059208 9.5795779E-898350012 -> NaN Division_impossible
+xsub283 subtract -62.5059208 9.5795779E-898350012 -> -62.5059208 Inexact Rounded
+xadd284 add 9090950.80 436.400932 -> 9091387.20 Inexact Rounded
+xcom284 compare 9090950.80 436.400932 -> 1
+xdiv284 divide 9090950.80 436.400932 -> 20831.6485 Inexact Rounded
+xdvi284 divideint 9090950.80 436.400932 -> 20831
+xmul284 multiply 9090950.80 436.400932 -> 3.96729940E+9 Inexact Rounded
+xpow284 power 9090950.80 436 -> 8.98789557E+3033 Inexact Rounded
+xrem284 remainder 9090950.80 436.400932 -> 282.985508
+xsub284 subtract 9090950.80 436.400932 -> 9090514.40 Inexact Rounded
+xadd285 add -89833825.7E+329205393 -779430.194 -> -8.98338257E+329205400 Inexact Rounded
+xcom285 compare -89833825.7E+329205393 -779430.194 -> -1
+xdiv285 divide -89833825.7E+329205393 -779430.194 -> 1.15255768E+329205395 Inexact Rounded
+xdvi285 divideint -89833825.7E+329205393 -779430.194 -> NaN Division_impossible
+xmul285 multiply -89833825.7E+329205393 -779430.194 -> 7.00191962E+329205406 Inexact Rounded
+xpow285 power -89833825.7E+329205393 -779430 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem285 remainder -89833825.7E+329205393 -779430.194 -> NaN Division_impossible
+xsub285 subtract -89833825.7E+329205393 -779430.194 -> -8.98338257E+329205400 Inexact Rounded
+xadd286 add -714562.019E+750205688 704079764 -> -7.14562019E+750205693 Inexact Rounded
+xcom286 compare -714562.019E+750205688 704079764 -> -1
+xdiv286 divide -714562.019E+750205688 704079764 -> -1.01488788E+750205685 Inexact Rounded
+xdvi286 divideint -714562.019E+750205688 704079764 -> NaN Division_impossible
+xmul286 multiply -714562.019E+750205688 704079764 -> -5.03108658E+750205702 Inexact Rounded
+xpow286 power -714562.019E+750205688 704079764 -> Infinity Overflow Inexact Rounded
+xrem286 remainder -714562.019E+750205688 704079764 -> NaN Division_impossible
+xsub286 subtract -714562.019E+750205688 704079764 -> -7.14562019E+750205693 Inexact Rounded
+xadd287 add -584537670. 31139.7737E-146687560 -> -584537670 Inexact Rounded
+xcom287 compare -584537670. 31139.7737E-146687560 -> -1
+xdiv287 divide -584537670. 31139.7737E-146687560 -> -1.87714168E+146687564 Inexact Rounded
+xdvi287 divideint -584537670. 31139.7737E-146687560 -> NaN Division_impossible
+xmul287 multiply -584537670. 31139.7737E-146687560 -> -1.82023708E-146687547 Inexact Rounded
+xpow287 power -584537670. 3 -> -1.99727337E+26 Inexact Rounded
+xrem287 remainder -584537670. 31139.7737E-146687560 -> NaN Division_impossible
+xsub287 subtract -584537670. 31139.7737E-146687560 -> -584537670 Inexact Rounded
+xadd288 add -4.18074650E-858746879 571035.277E-279409165 -> 5.71035277E-279409160 Inexact Rounded
+xcom288 compare -4.18074650E-858746879 571035.277E-279409165 -> -1
+xdiv288 divide -4.18074650E-858746879 571035.277E-279409165 -> -7.32134540E-579337720 Inexact Rounded
+xdvi288 divideint -4.18074650E-858746879 571035.277E-279409165 -> -0
+xmul288 multiply -4.18074650E-858746879 571035.277E-279409165 -> -0E-1000000007 Underflow Subnormal Inexact Rounded
+xpow288 power -4.18074650E-858746879 6 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem288 remainder -4.18074650E-858746879 571035.277E-279409165 -> -4.18074650E-858746879
+xsub288 subtract -4.18074650E-858746879 571035.277E-279409165 -> -5.71035277E-279409160 Inexact Rounded
+xadd289 add 5.15309635 -695649.219E+451948183 -> -6.95649219E+451948188 Inexact Rounded
+xcom289 compare 5.15309635 -695649.219E+451948183 -> 1
+xdiv289 divide 5.15309635 -695649.219E+451948183 -> -7.40760747E-451948189 Inexact Rounded
+xdvi289 divideint 5.15309635 -695649.219E+451948183 -> -0
+xmul289 multiply 5.15309635 -695649.219E+451948183 -> -3.58474745E+451948189 Inexact Rounded
+xpow289 power 5.15309635 -7 -> 0.0000103638749 Inexact Rounded
+xrem289 remainder 5.15309635 -695649.219E+451948183 -> 5.15309635
+xsub289 subtract 5.15309635 -695649.219E+451948183 -> 6.95649219E+451948188 Inexact Rounded
+xadd290 add -940030153.E+83797657 -4.11510193 -> -9.40030153E+83797665 Inexact Rounded
+xcom290 compare -940030153.E+83797657 -4.11510193 -> -1
+xdiv290 divide -940030153.E+83797657 -4.11510193 -> 2.28434233E+83797665 Inexact Rounded
+xdvi290 divideint -940030153.E+83797657 -4.11510193 -> NaN Division_impossible
+xmul290 multiply -940030153.E+83797657 -4.11510193 -> 3.86831990E+83797666 Inexact Rounded
+xpow290 power -940030153.E+83797657 -4 -> 1.28065710E-335190664 Inexact Rounded
+xrem290 remainder -940030153.E+83797657 -4.11510193 -> NaN Division_impossible
+xsub290 subtract -940030153.E+83797657 -4.11510193 -> -9.40030153E+83797665 Inexact Rounded
+xadd291 add 89088.9683E+587739290 1.31932110 -> 8.90889683E+587739294 Inexact Rounded
+xcom291 compare 89088.9683E+587739290 1.31932110 -> 1
+xdiv291 divide 89088.9683E+587739290 1.31932110 -> 6.75263727E+587739294 Inexact Rounded
+xdvi291 divideint 89088.9683E+587739290 1.31932110 -> NaN Division_impossible
+xmul291 multiply 89088.9683E+587739290 1.31932110 -> 1.17536956E+587739295 Inexact Rounded
+xpow291 power 89088.9683E+587739290 1 -> 8.90889683E+587739294
+xrem291 remainder 89088.9683E+587739290 1.31932110 -> NaN Division_impossible
+xsub291 subtract 89088.9683E+587739290 1.31932110 -> 8.90889683E+587739294 Inexact Rounded
+xadd292 add 3336750 6.47961126 -> 3336756.48 Inexact Rounded
+xcom292 compare 3336750 6.47961126 -> 1
+xdiv292 divide 3336750 6.47961126 -> 514961.448 Inexact Rounded
+xdvi292 divideint 3336750 6.47961126 -> 514961
+xmul292 multiply 3336750 6.47961126 -> 21620842.9 Inexact Rounded
+xpow292 power 3336750 6 -> 1.38019997E+39 Inexact Rounded
+xrem292 remainder 3336750 6.47961126 -> 2.90593914
+xsub292 subtract 3336750 6.47961126 -> 3336743.52 Inexact Rounded
+xadd293 add 904654622. 692065270.E+329081915 -> 6.92065270E+329081923 Inexact Rounded
+xcom293 compare 904654622. 692065270.E+329081915 -> -1
+xdiv293 divide 904654622. 692065270.E+329081915 -> 1.30718107E-329081915 Inexact Rounded
+xdvi293 divideint 904654622. 692065270.E+329081915 -> 0
+xmul293 multiply 904654622. 692065270.E+329081915 -> 6.26080045E+329081932 Inexact Rounded
+xpow293 power 904654622. 7 -> 4.95883485E+62 Inexact Rounded
+xrem293 remainder 904654622. 692065270.E+329081915 -> 904654622
+xsub293 subtract 904654622. 692065270.E+329081915 -> -6.92065270E+329081923 Inexact Rounded
+xadd294 add 304804380 -4681.23698 -> 304799699 Inexact Rounded
+xcom294 compare 304804380 -4681.23698 -> 1
+xdiv294 divide 304804380 -4681.23698 -> -65111.9312 Inexact Rounded
+xdvi294 divideint 304804380 -4681.23698 -> -65111
+xmul294 multiply 304804380 -4681.23698 -> -1.42686154E+12 Inexact Rounded
+xpow294 power 304804380 -4681 -> 1.98037102E-39714 Inexact Rounded
+xrem294 remainder 304804380 -4681.23698 -> 4358.99522
+xsub294 subtract 304804380 -4681.23698 -> 304809061 Inexact Rounded
+xadd295 add 674.55569 -82981.2684E+852890752 -> -8.29812684E+852890756 Inexact Rounded
+xcom295 compare 674.55569 -82981.2684E+852890752 -> 1
+xdiv295 divide 674.55569 -82981.2684E+852890752 -> -8.12901156E-852890755 Inexact Rounded
+xdvi295 divideint 674.55569 -82981.2684E+852890752 -> -0
+xmul295 multiply 674.55569 -82981.2684E+852890752 -> -5.59754868E+852890759 Inexact Rounded
+xpow295 power 674.55569 -8 -> 2.33269265E-23 Inexact Rounded
+xrem295 remainder 674.55569 -82981.2684E+852890752 -> 674.55569
+xsub295 subtract 674.55569 -82981.2684E+852890752 -> 8.29812684E+852890756 Inexact Rounded
+xadd296 add -5111.51025E-108006096 5448870.4E+279212255 -> 5.44887040E+279212261 Inexact Rounded
+xcom296 compare -5111.51025E-108006096 5448870.4E+279212255 -> -1
+xdiv296 divide -5111.51025E-108006096 5448870.4E+279212255 -> -9.38086222E-387218355 Inexact Rounded
+xdvi296 divideint -5111.51025E-108006096 5448870.4E+279212255 -> -0
+xmul296 multiply -5111.51025E-108006096 5448870.4E+279212255 -> -2.78519569E+171206169 Inexact Rounded
+xpow296 power -5111.51025E-108006096 5 -> -3.48936323E-540030462 Inexact Rounded
+xrem296 remainder -5111.51025E-108006096 5448870.4E+279212255 -> -5.11151025E-108006093
+xsub296 subtract -5111.51025E-108006096 5448870.4E+279212255 -> -5.44887040E+279212261 Inexact Rounded
+xadd297 add -2623.45068 -466463938. -> -466466561 Inexact Rounded
+xcom297 compare -2623.45068 -466463938. -> 1
+xdiv297 divide -2623.45068 -466463938. -> 0.00000562412325 Inexact Rounded
+xdvi297 divideint -2623.45068 -466463938. -> 0
+xmul297 multiply -2623.45068 -466463938. -> 1.22374514E+12 Inexact Rounded
+xpow297 power -2623.45068 -466463938 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem297 remainder -2623.45068 -466463938. -> -2623.45068
+xsub297 subtract -2623.45068 -466463938. -> 466461315 Inexact Rounded
+xadd298 add 299350.435 3373.33551 -> 302723.771 Inexact Rounded
+xcom298 compare 299350.435 3373.33551 -> 1
+xdiv298 divide 299350.435 3373.33551 -> 88.7401903 Inexact Rounded
+xdvi298 divideint 299350.435 3373.33551 -> 88
+xmul298 multiply 299350.435 3373.33551 -> 1.00980945E+9 Inexact Rounded
+xpow298 power 299350.435 3373 -> 1.42817370E+18471 Inexact Rounded
+xrem298 remainder 299350.435 3373.33551 -> 2496.91012
+xsub298 subtract 299350.435 3373.33551 -> 295977.099 Inexact Rounded
+xadd299 add -6589947.80 -2448.75933E-591549734 -> -6589947.80 Inexact Rounded
+xcom299 compare -6589947.80 -2448.75933E-591549734 -> -1
+xdiv299 divide -6589947.80 -2448.75933E-591549734 -> 2.69113739E+591549737 Inexact Rounded
+xdvi299 divideint -6589947.80 -2448.75933E-591549734 -> NaN Division_impossible
+xmul299 multiply -6589947.80 -2448.75933E-591549734 -> 1.61371962E-591549724 Inexact Rounded
+xpow299 power -6589947.80 -2 -> 2.30269305E-14 Inexact Rounded
+xrem299 remainder -6589947.80 -2448.75933E-591549734 -> NaN Division_impossible
+xsub299 subtract -6589947.80 -2448.75933E-591549734 -> -6589947.80 Inexact Rounded
+xadd300 add 3774.5358E-491090520 173.060090 -> 173.060090 Inexact Rounded
+xcom300 compare 3774.5358E-491090520 173.060090 -> -1
+xdiv300 divide 3774.5358E-491090520 173.060090 -> 2.18105503E-491090519 Inexact Rounded
+xdvi300 divideint 3774.5358E-491090520 173.060090 -> 0
+xmul300 multiply 3774.5358E-491090520 173.060090 -> 6.53221505E-491090515 Inexact Rounded
+xpow300 power 3774.5358E-491090520 173 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem300 remainder 3774.5358E-491090520 173.060090 -> 3.7745358E-491090517
+xsub300 subtract 3774.5358E-491090520 173.060090 -> -173.060090 Inexact Rounded
+xadd301 add -13.6783690 -453.610117 -> -467.288486 Rounded
+xcom301 compare -13.6783690 -453.610117 -> 1
+xdiv301 divide -13.6783690 -453.610117 -> 0.0301544619 Inexact Rounded
+xdvi301 divideint -13.6783690 -453.610117 -> 0
+xmul301 multiply -13.6783690 -453.610117 -> 6204.64656 Inexact Rounded
+xpow301 power -13.6783690 -454 -> 1.73948535E-516 Inexact Rounded
+xrem301 remainder -13.6783690 -453.610117 -> -13.6783690
+xsub301 subtract -13.6783690 -453.610117 -> 439.931748 Rounded
+xadd302 add -990100927.E-615244634 223801.421E+247632618 -> 2.23801421E+247632623 Inexact Rounded
+xcom302 compare -990100927.E-615244634 223801.421E+247632618 -> -1
+xdiv302 divide -990100927.E-615244634 223801.421E+247632618 -> -4.42401537E-862877249 Inexact Rounded
+xdvi302 divideint -990100927.E-615244634 223801.421E+247632618 -> -0
+xmul302 multiply -990100927.E-615244634 223801.421E+247632618 -> -2.21585994E-367612002 Inexact Rounded
+xpow302 power -990100927.E-615244634 2 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem302 remainder -990100927.E-615244634 223801.421E+247632618 -> -9.90100927E-615244626
+xsub302 subtract -990100927.E-615244634 223801.421E+247632618 -> -2.23801421E+247632623 Inexact Rounded
+xadd303 add 1275.10292 -667965353 -> -667964078 Inexact Rounded
+xcom303 compare 1275.10292 -667965353 -> 1
+xdiv303 divide 1275.10292 -667965353 -> -0.00000190893572 Inexact Rounded
+xdvi303 divideint 1275.10292 -667965353 -> -0
+xmul303 multiply 1275.10292 -667965353 -> -8.51724572E+11 Inexact Rounded
+xpow303 power 1275.10292 -667965353 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem303 remainder 1275.10292 -667965353 -> 1275.10292
+xsub303 subtract 1275.10292 -667965353 -> 667966628 Inexact Rounded
+xadd304 add -8.76375480E-596792197 992.077361 -> 992.077361 Inexact Rounded
+xcom304 compare -8.76375480E-596792197 992.077361 -> -1
+xdiv304 divide -8.76375480E-596792197 992.077361 -> -8.83374134E-596792200 Inexact Rounded
+xdvi304 divideint -8.76375480E-596792197 992.077361 -> -0
+xmul304 multiply -8.76375480E-596792197 992.077361 -> -8.69432273E-596792194 Inexact Rounded
+xpow304 power -8.76375480E-596792197 992 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem304 remainder -8.76375480E-596792197 992.077361 -> -8.76375480E-596792197
+xsub304 subtract -8.76375480E-596792197 992.077361 -> -992.077361 Inexact Rounded
+xadd305 add 953.976935E+385444720 96503.3378 -> 9.53976935E+385444722 Inexact Rounded
+xcom305 compare 953.976935E+385444720 96503.3378 -> 1
+xdiv305 divide 953.976935E+385444720 96503.3378 -> 9.88542942E+385444717 Inexact Rounded
+xdvi305 divideint 953.976935E+385444720 96503.3378 -> NaN Division_impossible
+xmul305 multiply 953.976935E+385444720 96503.3378 -> 9.20619584E+385444727 Inexact Rounded
+xpow305 power 953.976935E+385444720 96503 -> Infinity Overflow Inexact Rounded
+xrem305 remainder 953.976935E+385444720 96503.3378 -> NaN Division_impossible
+xsub305 subtract 953.976935E+385444720 96503.3378 -> 9.53976935E+385444722 Inexact Rounded
+xadd306 add 213577152 -986710073E+31900046 -> -9.86710073E+31900054 Inexact Rounded
+xcom306 compare 213577152 -986710073E+31900046 -> 1
+xdiv306 divide 213577152 -986710073E+31900046 -> -2.16453807E-31900047 Inexact Rounded
+xdvi306 divideint 213577152 -986710073E+31900046 -> -0
+xmul306 multiply 213577152 -986710073E+31900046 -> -2.10738727E+31900063 Inexact Rounded
+xpow306 power 213577152 -10 -> 5.06351487E-84 Inexact Rounded
+xrem306 remainder 213577152 -986710073E+31900046 -> 213577152
+xsub306 subtract 213577152 -986710073E+31900046 -> 9.86710073E+31900054 Inexact Rounded
+xadd307 add 91393.9398E-323439228 -135.701000 -> -135.701000 Inexact Rounded
+xcom307 compare 91393.9398E-323439228 -135.701000 -> 1
+xdiv307 divide 91393.9398E-323439228 -135.701000 -> -6.73494962E-323439226 Inexact Rounded
+xdvi307 divideint 91393.9398E-323439228 -135.701000 -> -0
+xmul307 multiply 91393.9398E-323439228 -135.701000 -> -1.24022490E-323439221 Inexact Rounded
+xpow307 power 91393.9398E-323439228 -136 -> Infinity Overflow Inexact Rounded
+xrem307 remainder 91393.9398E-323439228 -135.701000 -> 9.13939398E-323439224
+xsub307 subtract 91393.9398E-323439228 -135.701000 -> 135.701000 Inexact Rounded
+xadd308 add -396.503557 45757264.E-254363788 -> -396.503557 Inexact Rounded
+xcom308 compare -396.503557 45757264.E-254363788 -> -1
+xdiv308 divide -396.503557 45757264.E-254363788 -> -8.66536856E+254363782 Inexact Rounded
+xdvi308 divideint -396.503557 45757264.E-254363788 -> NaN Division_impossible
+xmul308 multiply -396.503557 45757264.E-254363788 -> -1.81429179E-254363778 Inexact Rounded
+xpow308 power -396.503557 5 -> -9.80021128E+12 Inexact Rounded
+xrem308 remainder -396.503557 45757264.E-254363788 -> NaN Division_impossible
+xsub308 subtract -396.503557 45757264.E-254363788 -> -396.503557 Inexact Rounded
+xadd309 add 59807846.1 1.53345254 -> 59807847.6 Inexact Rounded
+xcom309 compare 59807846.1 1.53345254 -> 1
+xdiv309 divide 59807846.1 1.53345254 -> 39002084.9 Inexact Rounded
+xdvi309 divideint 59807846.1 1.53345254 -> 39002084
+xmul309 multiply 59807846.1 1.53345254 -> 91712493.5 Inexact Rounded
+xpow309 power 59807846.1 2 -> 3.57697846E+15 Inexact Rounded
+xrem309 remainder 59807846.1 1.53345254 -> 1.32490664
+xsub309 subtract 59807846.1 1.53345254 -> 59807844.6 Inexact Rounded
+xadd310 add -8046158.45 8.3635397 -> -8046150.09 Inexact Rounded
+xcom310 compare -8046158.45 8.3635397 -> -1
+xdiv310 divide -8046158.45 8.3635397 -> -962051.803 Inexact Rounded
+xdvi310 divideint -8046158.45 8.3635397 -> -962051
+xmul310 multiply -8046158.45 8.3635397 -> -67294365.6 Inexact Rounded
+xpow310 power -8046158.45 8 -> 1.75674467E+55 Inexact Rounded
+xrem310 remainder -8046158.45 8.3635397 -> -6.7180753
+xsub310 subtract -8046158.45 8.3635397 -> -8046166.81 Inexact Rounded
+xadd311 add 55.1123381E+50627250 -94.0355047E-162540316 -> 5.51123381E+50627251 Inexact Rounded
+xcom311 compare 55.1123381E+50627250 -94.0355047E-162540316 -> 1
+xdiv311 divide 55.1123381E+50627250 -94.0355047E-162540316 -> -5.86080101E+213167565 Inexact Rounded
+xdvi311 divideint 55.1123381E+50627250 -94.0355047E-162540316 -> NaN Division_impossible
+xmul311 multiply 55.1123381E+50627250 -94.0355047E-162540316 -> -5.18251653E-111913063 Inexact Rounded
+xpow311 power 55.1123381E+50627250 -9 -> 2.13186881E-455645266 Inexact Rounded
+xrem311 remainder 55.1123381E+50627250 -94.0355047E-162540316 -> NaN Division_impossible
+xsub311 subtract 55.1123381E+50627250 -94.0355047E-162540316 -> 5.51123381E+50627251 Inexact Rounded
+xadd312 add -948.038054 3580.84510 -> 2632.80705 Inexact Rounded
+xcom312 compare -948.038054 3580.84510 -> -1
+xdiv312 divide -948.038054 3580.84510 -> -0.264752601 Inexact Rounded
+xdvi312 divideint -948.038054 3580.84510 -> -0
+xmul312 multiply -948.038054 3580.84510 -> -3394777.42 Inexact Rounded
+xpow312 power -948.038054 3581 -> -1.03058288E+10660 Inexact Rounded
+xrem312 remainder -948.038054 3580.84510 -> -948.038054
+xsub312 subtract -948.038054 3580.84510 -> -4528.88315 Inexact Rounded
+xadd313 add -6026.42752 -14.2286406E-334921364 -> -6026.42752 Inexact Rounded
+xcom313 compare -6026.42752 -14.2286406E-334921364 -> -1
+xdiv313 divide -6026.42752 -14.2286406E-334921364 -> 4.23542044E+334921366 Inexact Rounded
+xdvi313 divideint -6026.42752 -14.2286406E-334921364 -> NaN Division_impossible
+xmul313 multiply -6026.42752 -14.2286406E-334921364 -> 8.57478713E-334921360 Inexact Rounded
+xpow313 power -6026.42752 -1 -> -0.000165935788 Inexact Rounded
+xrem313 remainder -6026.42752 -14.2286406E-334921364 -> NaN Division_impossible
+xsub313 subtract -6026.42752 -14.2286406E-334921364 -> -6026.42752 Inexact Rounded
+xadd314 add 79551.5014 -538.186229 -> 79013.3152 Inexact Rounded
+xcom314 compare 79551.5014 -538.186229 -> 1
+xdiv314 divide 79551.5014 -538.186229 -> -147.814078 Inexact Rounded
+xdvi314 divideint 79551.5014 -538.186229 -> -147
+xmul314 multiply 79551.5014 -538.186229 -> -42813522.5 Inexact Rounded
+xpow314 power 79551.5014 -538 -> 2.82599389E-2637 Inexact Rounded
+xrem314 remainder 79551.5014 -538.186229 -> 438.125737
+xsub314 subtract 79551.5014 -538.186229 -> 80089.6876 Inexact Rounded
+xadd315 add 42706056.E+623578292 -690.327745 -> 4.27060560E+623578299 Inexact Rounded
+xcom315 compare 42706056.E+623578292 -690.327745 -> 1
+xdiv315 divide 42706056.E+623578292 -690.327745 -> -6.18634501E+623578296 Inexact Rounded
+xdvi315 divideint 42706056.E+623578292 -690.327745 -> NaN Division_impossible
+xmul315 multiply 42706056.E+623578292 -690.327745 -> -2.94811753E+623578302 Inexact Rounded
+xpow315 power 42706056.E+623578292 -690 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem315 remainder 42706056.E+623578292 -690.327745 -> NaN Division_impossible
+xsub315 subtract 42706056.E+623578292 -690.327745 -> 4.27060560E+623578299 Inexact Rounded
+xadd316 add 2454136.08E+502374077 856268.795E-356664934 -> 2.45413608E+502374083 Inexact Rounded
+xcom316 compare 2454136.08E+502374077 856268.795E-356664934 -> 1
+xdiv316 divide 2454136.08E+502374077 856268.795E-356664934 -> 2.86608142E+859039011 Inexact Rounded
+xdvi316 divideint 2454136.08E+502374077 856268.795E-356664934 -> NaN Division_impossible
+xmul316 multiply 2454136.08E+502374077 856268.795E-356664934 -> 2.10140014E+145709155 Inexact Rounded
+xpow316 power 2454136.08E+502374077 9 -> Infinity Overflow Inexact Rounded
+xrem316 remainder 2454136.08E+502374077 856268.795E-356664934 -> NaN Division_impossible
+xsub316 subtract 2454136.08E+502374077 856268.795E-356664934 -> 2.45413608E+502374083 Inexact Rounded
+xadd317 add -3264204.54 -42704.501 -> -3306909.04 Inexact Rounded
+xcom317 compare -3264204.54 -42704.501 -> -1
+xdiv317 divide -3264204.54 -42704.501 -> 76.4370140 Inexact Rounded
+xdvi317 divideint -3264204.54 -42704.501 -> 76
+xmul317 multiply -3264204.54 -42704.501 -> 1.39396226E+11 Inexact Rounded
+xpow317 power -3264204.54 -42705 -> -1.37293410E-278171 Inexact Rounded
+xrem317 remainder -3264204.54 -42704.501 -> -18662.464
+xsub317 subtract -3264204.54 -42704.501 -> -3221500.04 Inexact Rounded
+xadd318 add 1.21265492 44102.6073 -> 44103.8200 Inexact Rounded
+xcom318 compare 1.21265492 44102.6073 -> -1
+xdiv318 divide 1.21265492 44102.6073 -> 0.0000274962183 Inexact Rounded
+xdvi318 divideint 1.21265492 44102.6073 -> 0
+xmul318 multiply 1.21265492 44102.6073 -> 53481.2437 Inexact Rounded
+xpow318 power 1.21265492 44103 -> 1.15662573E+3693 Inexact Rounded
+xrem318 remainder 1.21265492 44102.6073 -> 1.21265492
+xsub318 subtract 1.21265492 44102.6073 -> -44101.3946 Inexact Rounded
+xadd319 add -19.054711E+975514652 -22144.0822 -> -1.90547110E+975514653 Inexact Rounded
+xcom319 compare -19.054711E+975514652 -22144.0822 -> -1
+xdiv319 divide -19.054711E+975514652 -22144.0822 -> 8.60487729E+975514648 Inexact Rounded
+xdvi319 divideint -19.054711E+975514652 -22144.0822 -> NaN Division_impossible
+xmul319 multiply -19.054711E+975514652 -22144.0822 -> 4.21949087E+975514657 Inexact Rounded
+xpow319 power -19.054711E+975514652 -22144 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem319 remainder -19.054711E+975514652 -22144.0822 -> NaN Division_impossible
+xsub319 subtract -19.054711E+975514652 -22144.0822 -> -1.90547110E+975514653 Inexact Rounded
+xadd320 add 745.78452 -1922.00670E+375923302 -> -1.92200670E+375923305 Inexact Rounded
+xcom320 compare 745.78452 -1922.00670E+375923302 -> 1
+xdiv320 divide 745.78452 -1922.00670E+375923302 -> -3.88023892E-375923303 Inexact Rounded
+xdvi320 divideint 745.78452 -1922.00670E+375923302 -> -0
+xmul320 multiply 745.78452 -1922.00670E+375923302 -> -1.43340284E+375923308 Inexact Rounded
+xpow320 power 745.78452 -2 -> 0.00000179793204 Inexact Rounded
+xrem320 remainder 745.78452 -1922.00670E+375923302 -> 745.78452
+xsub320 subtract 745.78452 -1922.00670E+375923302 -> 1.92200670E+375923305 Inexact Rounded
+xadd321 add -963717836 -823989308 -> -1.78770714E+9 Inexact Rounded
+xcom321 compare -963717836 -823989308 -> -1
+xdiv321 divide -963717836 -823989308 -> 1.16957566 Inexact Rounded
+xdvi321 divideint -963717836 -823989308 -> 1
+xmul321 multiply -963717836 -823989308 -> 7.94093193E+17 Inexact Rounded
+xpow321 power -963717836 -823989308 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem321 remainder -963717836 -823989308 -> -139728528
+xsub321 subtract -963717836 -823989308 -> -139728528
+xadd322 add 82.4185291E-321919303 -215747737.E-995147400 -> 8.24185291E-321919302 Inexact Rounded
+xcom322 compare 82.4185291E-321919303 -215747737.E-995147400 -> 1
+xdiv322 divide 82.4185291E-321919303 -215747737.E-995147400 -> -3.82013412E+673228090 Inexact Rounded
+xdvi322 divideint 82.4185291E-321919303 -215747737.E-995147400 -> NaN Division_impossible
+xmul322 multiply 82.4185291E-321919303 -215747737.E-995147400 -> -0E-1000000007 Underflow Subnormal Inexact Rounded
+xpow322 power 82.4185291E-321919303 -2 -> 1.47214396E+643838602 Inexact Rounded
+xrem322 remainder 82.4185291E-321919303 -215747737.E-995147400 -> NaN Division_impossible
+xsub322 subtract 82.4185291E-321919303 -215747737.E-995147400 -> 8.24185291E-321919302 Inexact Rounded
+xadd323 add -808328.607E-790810342 53075.7082 -> 53075.7082 Inexact Rounded
+xcom323 compare -808328.607E-790810342 53075.7082 -> -1
+xdiv323 divide -808328.607E-790810342 53075.7082 -> -1.52297281E-790810341 Inexact Rounded
+xdvi323 divideint -808328.607E-790810342 53075.7082 -> -0
+xmul323 multiply -808328.607E-790810342 53075.7082 -> -4.29026133E-790810332 Inexact Rounded
+xpow323 power -808328.607E-790810342 53076 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem323 remainder -808328.607E-790810342 53075.7082 -> -8.08328607E-790810337
+xsub323 subtract -808328.607E-790810342 53075.7082 -> -53075.7082 Inexact Rounded
+xadd324 add 700592.720 -698485.085 -> 2107.635
+xcom324 compare 700592.720 -698485.085 -> 1
+xdiv324 divide 700592.720 -698485.085 -> -1.00301744 Inexact Rounded
+xdvi324 divideint 700592.720 -698485.085 -> -1
+xmul324 multiply 700592.720 -698485.085 -> -4.89353566E+11 Inexact Rounded
+xpow324 power 700592.720 -698485 -> 8.83690000E-4082971 Inexact Rounded
+xrem324 remainder 700592.720 -698485.085 -> 2107.635
+xsub324 subtract 700592.720 -698485.085 -> 1399077.81 Inexact Rounded
+xadd325 add -80273928.0 661346.239 -> -79612581.8 Inexact Rounded
+xcom325 compare -80273928.0 661346.239 -> -1
+xdiv325 divide -80273928.0 661346.239 -> -121.379579 Inexact Rounded
+xdvi325 divideint -80273928.0 661346.239 -> -121
+xmul325 multiply -80273928.0 661346.239 -> -5.30888604E+13 Inexact Rounded
+xpow325 power -80273928.0 661346 -> 5.45664856E+5227658 Inexact Rounded
+xrem325 remainder -80273928.0 661346.239 -> -251033.081
+xsub325 subtract -80273928.0 661346.239 -> -80935274.2 Inexact Rounded
+xadd326 add -24018251.0E+819786764 59141.9600E-167165065 -> -2.40182510E+819786771 Inexact Rounded
+xcom326 compare -24018251.0E+819786764 59141.9600E-167165065 -> -1
+xdiv326 divide -24018251.0E+819786764 59141.9600E-167165065 -> -4.06111854E+986951831 Inexact Rounded
+xdvi326 divideint -24018251.0E+819786764 59141.9600E-167165065 -> NaN Division_impossible
+xmul326 multiply -24018251.0E+819786764 59141.9600E-167165065 -> -1.42048644E+652621711 Inexact Rounded
+xpow326 power -24018251.0E+819786764 6 -> Infinity Overflow Inexact Rounded
+xrem326 remainder -24018251.0E+819786764 59141.9600E-167165065 -> NaN Division_impossible
+xsub326 subtract -24018251.0E+819786764 59141.9600E-167165065 -> -2.40182510E+819786771 Inexact Rounded
+xadd327 add 2512953.3 -3769170.35E-993621645 -> 2512953.30 Inexact Rounded
+xcom327 compare 2512953.3 -3769170.35E-993621645 -> 1
+xdiv327 divide 2512953.3 -3769170.35E-993621645 -> -6.66712583E+993621644 Inexact Rounded
+xdvi327 divideint 2512953.3 -3769170.35E-993621645 -> NaN Division_impossible
+xmul327 multiply 2512953.3 -3769170.35E-993621645 -> -9.47174907E-993621633 Inexact Rounded
+xpow327 power 2512953.3 -4 -> 2.50762349E-26 Inexact Rounded
+xrem327 remainder 2512953.3 -3769170.35E-993621645 -> NaN Division_impossible
+xsub327 subtract 2512953.3 -3769170.35E-993621645 -> 2512953.30 Inexact Rounded
+xadd328 add -682.796370 71131.0224 -> 70448.2260 Inexact Rounded
+xcom328 compare -682.796370 71131.0224 -> -1
+xdiv328 divide -682.796370 71131.0224 -> -0.00959913617 Inexact Rounded
+xdvi328 divideint -682.796370 71131.0224 -> -0
+xmul328 multiply -682.796370 71131.0224 -> -48568003.9 Inexact Rounded
+xpow328 power -682.796370 71131 -> -9.28114741E+201605 Inexact Rounded
+xrem328 remainder -682.796370 71131.0224 -> -682.796370
+xsub328 subtract -682.796370 71131.0224 -> -71813.8188 Inexact Rounded
+xadd329 add 89.9997490 -4993.69831 -> -4903.69856 Inexact Rounded
+xcom329 compare 89.9997490 -4993.69831 -> 1
+xdiv329 divide 89.9997490 -4993.69831 -> -0.0180226644 Inexact Rounded
+xdvi329 divideint 89.9997490 -4993.69831 -> -0
+xmul329 multiply 89.9997490 -4993.69831 -> -449431.594 Inexact Rounded
+xpow329 power 89.9997490 -4994 -> 3.30336526E-9760 Inexact Rounded
+xrem329 remainder 89.9997490 -4993.69831 -> 89.9997490
+xsub329 subtract 89.9997490 -4993.69831 -> 5083.69806 Inexact Rounded
+xadd330 add 76563354.6E-112338836 278271.585E-511481095 -> 7.65633546E-112338829 Inexact Rounded
+xcom330 compare 76563354.6E-112338836 278271.585E-511481095 -> 1
+xdiv330 divide 76563354.6E-112338836 278271.585E-511481095 -> 2.75138960E+399142261 Inexact Rounded
+xdvi330 divideint 76563354.6E-112338836 278271.585E-511481095 -> NaN Division_impossible
+xmul330 multiply 76563354.6E-112338836 278271.585E-511481095 -> 2.13054060E-623819918 Inexact Rounded
+xpow330 power 76563354.6E-112338836 3 -> 4.48810347E-337016485 Inexact Rounded
+xrem330 remainder 76563354.6E-112338836 278271.585E-511481095 -> NaN Division_impossible
+xsub330 subtract 76563354.6E-112338836 278271.585E-511481095 -> 7.65633546E-112338829 Inexact Rounded
+xadd331 add -932499.010 873.377701E-502190452 -> -932499.010 Inexact Rounded
+xcom331 compare -932499.010 873.377701E-502190452 -> -1
+xdiv331 divide -932499.010 873.377701E-502190452 -> -1.06769272E+502190455 Inexact Rounded
+xdvi331 divideint -932499.010 873.377701E-502190452 -> NaN Division_impossible
+xmul331 multiply -932499.010 873.377701E-502190452 -> -8.14423842E-502190444 Inexact Rounded
+xpow331 power -932499.010 9 -> -5.33132815E+53 Inexact Rounded
+xrem331 remainder -932499.010 873.377701E-502190452 -> NaN Division_impossible
+xsub331 subtract -932499.010 873.377701E-502190452 -> -932499.010 Inexact Rounded
+xadd332 add -7735918.21E+799514797 -7748.78023 -> -7.73591821E+799514803 Inexact Rounded
+xcom332 compare -7735918.21E+799514797 -7748.78023 -> -1
+xdiv332 divide -7735918.21E+799514797 -7748.78023 -> 9.98340123E+799514799 Inexact Rounded
+xdvi332 divideint -7735918.21E+799514797 -7748.78023 -> NaN Division_impossible
+xmul332 multiply -7735918.21E+799514797 -7748.78023 -> 5.99439301E+799514807 Inexact Rounded
+xpow332 power -7735918.21E+799514797 -7749 -> -0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem332 remainder -7735918.21E+799514797 -7748.78023 -> NaN Division_impossible
+xsub332 subtract -7735918.21E+799514797 -7748.78023 -> -7.73591821E+799514803 Inexact Rounded
+xadd333 add -3708780.75E+445232787 980.006567E-780728623 -> -3.70878075E+445232793 Inexact Rounded
+xcom333 compare -3708780.75E+445232787 980.006567E-780728623 -> -1
+xdiv333 divide -3708780.75E+445232787 980.006567E-780728623 -> -Infinity Inexact Overflow Rounded
+xdvi333 divideint -3708780.75E+445232787 980.006567E-780728623 -> NaN Division_impossible
+xmul333 multiply -3708780.75E+445232787 980.006567E-780728623 -> -3.63462949E-335495827 Inexact Rounded
+xpow333 power -3708780.75E+445232787 10 -> Infinity Overflow Inexact Rounded
+xrem333 remainder -3708780.75E+445232787 980.006567E-780728623 -> NaN Division_impossible
+xsub333 subtract -3708780.75E+445232787 980.006567E-780728623 -> -3.70878075E+445232793 Inexact Rounded
+xadd334 add -5205124.44E-140588661 -495394029.E-620856313 -> -5.20512444E-140588655 Inexact Rounded
+xcom334 compare -5205124.44E-140588661 -495394029.E-620856313 -> -1
+xdiv334 divide -5205124.44E-140588661 -495394029.E-620856313 -> 1.05070391E+480267650 Inexact Rounded
+xdvi334 divideint -5205124.44E-140588661 -495394029.E-620856313 -> NaN Division_impossible
+xmul334 multiply -5205124.44E-140588661 -495394029.E-620856313 -> 2.57858757E-761444959 Inexact Rounded
+xpow334 power -5205124.44E-140588661 -5 -> -2.61724523E+702943271 Inexact Rounded
+xrem334 remainder -5205124.44E-140588661 -495394029.E-620856313 -> NaN Division_impossible
+xsub334 subtract -5205124.44E-140588661 -495394029.E-620856313 -> -5.20512444E-140588655 Inexact Rounded
+xadd335 add -8868.72074 5592399.93 -> 5583531.21 Inexact Rounded
+xcom335 compare -8868.72074 5592399.93 -> -1
+xdiv335 divide -8868.72074 5592399.93 -> -0.00158585238 Inexact Rounded
+xdvi335 divideint -8868.72074 5592399.93 -> -0
+xmul335 multiply -8868.72074 5592399.93 -> -4.95974332E+10 Inexact Rounded
+xpow335 power -8868.72074 5592400 -> 5.55074142E+22078017 Inexact Rounded
+xrem335 remainder -8868.72074 5592399.93 -> -8868.72074
+xsub335 subtract -8868.72074 5592399.93 -> -5601268.65 Inexact Rounded
+xadd336 add -74.7852037E-175205809 4.14316542 -> 4.14316542 Inexact Rounded
+xcom336 compare -74.7852037E-175205809 4.14316542 -> -1
+xdiv336 divide -74.7852037E-175205809 4.14316542 -> -1.80502577E-175205808 Inexact Rounded
+xdvi336 divideint -74.7852037E-175205809 4.14316542 -> -0
+xmul336 multiply -74.7852037E-175205809 4.14316542 -> -3.09847470E-175205807 Inexact Rounded
+xpow336 power -74.7852037E-175205809 4 -> 3.12797104E-700823229 Inexact Rounded
+xrem336 remainder -74.7852037E-175205809 4.14316542 -> -7.47852037E-175205808
+xsub336 subtract -74.7852037E-175205809 4.14316542 -> -4.14316542 Inexact Rounded
+xadd337 add 84196.1091E+242628748 8.07523036E-288231467 -> 8.41961091E+242628752 Inexact Rounded
+xcom337 compare 84196.1091E+242628748 8.07523036E-288231467 -> 1
+xdiv337 divide 84196.1091E+242628748 8.07523036E-288231467 -> 1.04264653E+530860219 Inexact Rounded
+xdvi337 divideint 84196.1091E+242628748 8.07523036E-288231467 -> NaN Division_impossible
+xmul337 multiply 84196.1091E+242628748 8.07523036E-288231467 -> 6.79902976E-45602714 Inexact Rounded
+xpow337 power 84196.1091E+242628748 8 -> Infinity Overflow Inexact Rounded
+xrem337 remainder 84196.1091E+242628748 8.07523036E-288231467 -> NaN Division_impossible
+xsub337 subtract 84196.1091E+242628748 8.07523036E-288231467 -> 8.41961091E+242628752 Inexact Rounded
+xadd338 add 38660103.1 -6671.73085E+900998477 -> -6.67173085E+900998480 Inexact Rounded
+xcom338 compare 38660103.1 -6671.73085E+900998477 -> 1
+xdiv338 divide 38660103.1 -6671.73085E+900998477 -> -5.79461372E-900998474 Inexact Rounded
+xdvi338 divideint 38660103.1 -6671.73085E+900998477 -> -0
+xmul338 multiply 38660103.1 -6671.73085E+900998477 -> -2.57929803E+900998488 Inexact Rounded
+xpow338 power 38660103.1 -7 -> 7.74745290E-54 Inexact Rounded
+xrem338 remainder 38660103.1 -6671.73085E+900998477 -> 38660103.1
+xsub338 subtract 38660103.1 -6671.73085E+900998477 -> 6.67173085E+900998480 Inexact Rounded
+xadd339 add -52.2659460 -296404199E+372050476 -> -2.96404199E+372050484 Inexact Rounded
+xcom339 compare -52.2659460 -296404199E+372050476 -> 1
+xdiv339 divide -52.2659460 -296404199E+372050476 -> 1.76333352E-372050483 Inexact Rounded
+xdvi339 divideint -52.2659460 -296404199E+372050476 -> 0
+xmul339 multiply -52.2659460 -296404199E+372050476 -> 1.54918459E+372050486 Inexact Rounded
+xpow339 power -52.2659460 -3 -> -0.00000700395833 Inexact Rounded
+xrem339 remainder -52.2659460 -296404199E+372050476 -> -52.2659460
+xsub339 subtract -52.2659460 -296404199E+372050476 -> 2.96404199E+372050484 Inexact Rounded
+xadd340 add 6.06625013 -276.359186 -> -270.292936 Inexact Rounded
+xcom340 compare 6.06625013 -276.359186 -> 1
+xdiv340 divide 6.06625013 -276.359186 -> -0.0219506007 Inexact Rounded
+xdvi340 divideint 6.06625013 -276.359186 -> -0
+xmul340 multiply 6.06625013 -276.359186 -> -1676.46395 Inexact Rounded
+xpow340 power 6.06625013 -276 -> 8.20339149E-217 Inexact Rounded
+xrem340 remainder 6.06625013 -276.359186 -> 6.06625013
+xsub340 subtract 6.06625013 -276.359186 -> 282.425436 Inexact Rounded
+xadd341 add -62971617.5E-241444744 46266799.3 -> 46266799.3 Inexact Rounded
+xcom341 compare -62971617.5E-241444744 46266799.3 -> -1
+xdiv341 divide -62971617.5E-241444744 46266799.3 -> -1.36105411E-241444744 Inexact Rounded
+xdvi341 divideint -62971617.5E-241444744 46266799.3 -> -0
+xmul341 multiply -62971617.5E-241444744 46266799.3 -> -2.91349519E-241444729 Inexact Rounded
+xpow341 power -62971617.5E-241444744 46266799 -> -0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem341 remainder -62971617.5E-241444744 46266799.3 -> -6.29716175E-241444737
+xsub341 subtract -62971617.5E-241444744 46266799.3 -> -46266799.3 Inexact Rounded
+xadd342 add -5.36917800 -311124593.E-976066491 -> -5.36917800 Inexact Rounded
+xcom342 compare -5.36917800 -311124593.E-976066491 -> -1
+xdiv342 divide -5.36917800 -311124593.E-976066491 -> 1.72573243E+976066483 Inexact Rounded
+xdvi342 divideint -5.36917800 -311124593.E-976066491 -> NaN Division_impossible
+xmul342 multiply -5.36917800 -311124593.E-976066491 -> 1.67048332E-976066482 Inexact Rounded
+xpow342 power -5.36917800 -3 -> -0.00646065565 Inexact Rounded
+xrem342 remainder -5.36917800 -311124593.E-976066491 -> NaN Division_impossible
+xsub342 subtract -5.36917800 -311124593.E-976066491 -> -5.36917800 Inexact Rounded
+xadd343 add 2467915.01 -92.5558322 -> 2467822.45 Inexact Rounded
+xcom343 compare 2467915.01 -92.5558322 -> 1
+xdiv343 divide 2467915.01 -92.5558322 -> -26664.0681 Inexact Rounded
+xdvi343 divideint 2467915.01 -92.5558322 -> -26664
+xmul343 multiply 2467915.01 -92.5558322 -> -228419928 Inexact Rounded
+xpow343 power 2467915.01 -93 -> 3.26055444E-595 Inexact Rounded
+xrem343 remainder 2467915.01 -92.5558322 -> 6.3002192
+xsub343 subtract 2467915.01 -92.5558322 -> 2468007.57 Inexact Rounded
+xadd344 add 187.232671 -840.469347 -> -653.236676
+xcom344 compare 187.232671 -840.469347 -> 1
+xdiv344 divide 187.232671 -840.469347 -> -0.222771564 Inexact Rounded
+xdvi344 divideint 187.232671 -840.469347 -> -0
+xmul344 multiply 187.232671 -840.469347 -> -157363.321 Inexact Rounded
+xpow344 power 187.232671 -840 -> 1.58280862E-1909 Inexact Rounded
+xrem344 remainder 187.232671 -840.469347 -> 187.232671
+xsub344 subtract 187.232671 -840.469347 -> 1027.70202 Inexact Rounded
+xadd345 add 81233.6823 -5192.21666E+309315093 -> -5.19221666E+309315096 Inexact Rounded
+xcom345 compare 81233.6823 -5192.21666E+309315093 -> 1
+xdiv345 divide 81233.6823 -5192.21666E+309315093 -> -1.56452798E-309315092 Inexact Rounded
+xdvi345 divideint 81233.6823 -5192.21666E+309315093 -> -0
+xmul345 multiply 81233.6823 -5192.21666E+309315093 -> -4.21782879E+309315101 Inexact Rounded
+xpow345 power 81233.6823 -5 -> 2.82695763E-25 Inexact Rounded
+xrem345 remainder 81233.6823 -5192.21666E+309315093 -> 81233.6823
+xsub345 subtract 81233.6823 -5192.21666E+309315093 -> 5.19221666E+309315096 Inexact Rounded
+xadd346 add -854.586113 -79.8715762E-853065103 -> -854.586113 Inexact Rounded
+xcom346 compare -854.586113 -79.8715762E-853065103 -> -1
+xdiv346 divide -854.586113 -79.8715762E-853065103 -> 1.06995023E+853065104 Inexact Rounded
+xdvi346 divideint -854.586113 -79.8715762E-853065103 -> NaN Division_impossible
+xmul346 multiply -854.586113 -79.8715762E-853065103 -> 6.82571398E-853065099 Inexact Rounded
+xpow346 power -854.586113 -8 -> 3.51522679E-24 Inexact Rounded
+xrem346 remainder -854.586113 -79.8715762E-853065103 -> NaN Division_impossible
+xsub346 subtract -854.586113 -79.8715762E-853065103 -> -854.586113 Inexact Rounded
+xadd347 add 78872665.3 172.102119 -> 78872837.4 Inexact Rounded
+xcom347 compare 78872665.3 172.102119 -> 1
+xdiv347 divide 78872665.3 172.102119 -> 458289.914 Inexact Rounded
+xdvi347 divideint 78872665.3 172.102119 -> 458289
+xmul347 multiply 78872665.3 172.102119 -> 1.35741528E+10 Inexact Rounded
+xpow347 power 78872665.3 172 -> 1.86793137E+1358 Inexact Rounded
+xrem347 remainder 78872665.3 172.102119 -> 157.285609
+xsub347 subtract 78872665.3 172.102119 -> 78872493.2 Inexact Rounded
+xadd348 add 328268.1E-436315617 -204.522245 -> -204.522245 Inexact Rounded
+xcom348 compare 328268.1E-436315617 -204.522245 -> 1
+xdiv348 divide 328268.1E-436315617 -204.522245 -> -1.60504839E-436315614 Inexact Rounded
+xdvi348 divideint 328268.1E-436315617 -204.522245 -> -0
+xmul348 multiply 328268.1E-436315617 -204.522245 -> -6.71381288E-436315610 Inexact Rounded
+xpow348 power 328268.1E-436315617 -205 -> Infinity Overflow Inexact Rounded
+xrem348 remainder 328268.1E-436315617 -204.522245 -> 3.282681E-436315612
+xsub348 subtract 328268.1E-436315617 -204.522245 -> 204.522245 Inexact Rounded
+xadd349 add -4037911.02E+641367645 29.5713010 -> -4.03791102E+641367651 Inexact Rounded
+xcom349 compare -4037911.02E+641367645 29.5713010 -> -1
+xdiv349 divide -4037911.02E+641367645 29.5713010 -> -1.36548305E+641367650 Inexact Rounded
+xdvi349 divideint -4037911.02E+641367645 29.5713010 -> NaN Division_impossible
+xmul349 multiply -4037911.02E+641367645 29.5713010 -> -1.19406282E+641367653 Inexact Rounded
+xpow349 power -4037911.02E+641367645 30 -> Infinity Overflow Inexact Rounded
+xrem349 remainder -4037911.02E+641367645 29.5713010 -> NaN Division_impossible
+xsub349 subtract -4037911.02E+641367645 29.5713010 -> -4.03791102E+641367651 Inexact Rounded
+xadd350 add -688755561.E-95301699 978.275312E+913812609 -> 9.78275312E+913812611 Inexact Rounded
+xcom350 compare -688755561.E-95301699 978.275312E+913812609 -> -1
+xdiv350 divide -688755561.E-95301699 978.275312E+913812609 -> -0E-1000000007 Inexact Rounded Underflow Subnormal
+xdvi350 divideint -688755561.E-95301699 978.275312E+913812609 -> -0
+xmul350 multiply -688755561.E-95301699 978.275312E+913812609 -> -6.73792561E+818510921 Inexact Rounded
+xpow350 power -688755561.E-95301699 10 -> 2.40243244E-953016902 Inexact Rounded
+xrem350 remainder -688755561.E-95301699 978.275312E+913812609 -> -6.88755561E-95301691
+xsub350 subtract -688755561.E-95301699 978.275312E+913812609 -> -9.78275312E+913812611 Inexact Rounded
+xadd351 add -5.47345502 59818.7580 -> 59813.2845 Inexact Rounded
+xcom351 compare -5.47345502 59818.7580 -> -1
+xdiv351 divide -5.47345502 59818.7580 -> -0.0000915006463 Inexact Rounded
+xdvi351 divideint -5.47345502 59818.7580 -> -0
+xmul351 multiply -5.47345502 59818.7580 -> -327415.281 Inexact Rounded
+xpow351 power -5.47345502 59819 -> -1.16914146E+44162 Inexact Rounded
+xrem351 remainder -5.47345502 59818.7580 -> -5.47345502
+xsub351 subtract -5.47345502 59818.7580 -> -59824.2315 Inexact Rounded
+xadd352 add 563891620E-361354567 -845900362. -> -845900362 Inexact Rounded
+xcom352 compare 563891620E-361354567 -845900362. -> 1
+xdiv352 divide 563891620E-361354567 -845900362. -> -6.66617069E-361354568 Inexact Rounded
+xdvi352 divideint 563891620E-361354567 -845900362. -> -0
+xmul352 multiply 563891620E-361354567 -845900362. -> -4.76996125E-361354550 Inexact Rounded
+xpow352 power 563891620E-361354567 -845900362 -> Infinity Overflow Inexact Rounded
+xrem352 remainder 563891620E-361354567 -845900362. -> 5.63891620E-361354559
+xsub352 subtract 563891620E-361354567 -845900362. -> 845900362 Inexact Rounded
+xadd353 add -69.7231286 85773.7504 -> 85704.0273 Inexact Rounded
+xcom353 compare -69.7231286 85773.7504 -> -1
+xdiv353 divide -69.7231286 85773.7504 -> -0.000812872566 Inexact Rounded
+xdvi353 divideint -69.7231286 85773.7504 -> -0
+xmul353 multiply -69.7231286 85773.7504 -> -5980414.23 Inexact Rounded
+xpow353 power -69.7231286 85774 -> 6.41714261E+158113 Inexact Rounded
+xrem353 remainder -69.7231286 85773.7504 -> -69.7231286
+xsub353 subtract -69.7231286 85773.7504 -> -85843.4735 Inexact Rounded
+xadd354 add 5125.51188 73814638.4E-500934741 -> 5125.51188 Inexact Rounded
+xcom354 compare 5125.51188 73814638.4E-500934741 -> 1
+xdiv354 divide 5125.51188 73814638.4E-500934741 -> 6.94376074E+500934736 Inexact Rounded
+xdvi354 divideint 5125.51188 73814638.4E-500934741 -> NaN Division_impossible
+xmul354 multiply 5125.51188 73814638.4E-500934741 -> 3.78337806E-500934730 Inexact Rounded
+xpow354 power 5125.51188 7 -> 9.29310216E+25 Inexact Rounded
+xrem354 remainder 5125.51188 73814638.4E-500934741 -> NaN Division_impossible
+xsub354 subtract 5125.51188 73814638.4E-500934741 -> 5125.51188 Inexact Rounded
+xadd355 add -54.6254096 -332921899. -> -332921954 Inexact Rounded
+xcom355 compare -54.6254096 -332921899. -> 1
+xdiv355 divide -54.6254096 -332921899. -> 1.64078752E-7 Inexact Rounded
+xdvi355 divideint -54.6254096 -332921899. -> 0
+xmul355 multiply -54.6254096 -332921899. -> 1.81859951E+10 Inexact Rounded
+xpow355 power -54.6254096 -332921899 -> -1.01482569E-578416745 Inexact Rounded
+xrem355 remainder -54.6254096 -332921899. -> -54.6254096
+xsub355 subtract -54.6254096 -332921899. -> 332921844 Inexact Rounded
+xadd356 add -9.04778095E-591874079 8719.40286 -> 8719.40286 Inexact Rounded
+xcom356 compare -9.04778095E-591874079 8719.40286 -> -1
+xdiv356 divide -9.04778095E-591874079 8719.40286 -> -1.03766062E-591874082 Inexact Rounded
+xdvi356 divideint -9.04778095E-591874079 8719.40286 -> -0
+xmul356 multiply -9.04778095E-591874079 8719.40286 -> -7.88912471E-591874075 Inexact Rounded
+xpow356 power -9.04778095E-591874079 8719 -> -0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem356 remainder -9.04778095E-591874079 8719.40286 -> -9.04778095E-591874079
+xsub356 subtract -9.04778095E-591874079 8719.40286 -> -8719.40286 Inexact Rounded
+xadd357 add -21006.1733E+884684431 -48872.9175 -> -2.10061733E+884684435 Inexact Rounded
+xcom357 compare -21006.1733E+884684431 -48872.9175 -> -1
+xdiv357 divide -21006.1733E+884684431 -48872.9175 -> 4.29812141E+884684430 Inexact Rounded
+xdvi357 divideint -21006.1733E+884684431 -48872.9175 -> NaN Division_impossible
+xmul357 multiply -21006.1733E+884684431 -48872.9175 -> 1.02663297E+884684440 Inexact Rounded
+xpow357 power -21006.1733E+884684431 -48873 -> -0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem357 remainder -21006.1733E+884684431 -48872.9175 -> NaN Division_impossible
+xsub357 subtract -21006.1733E+884684431 -48872.9175 -> -2.10061733E+884684435 Inexact Rounded
+xadd358 add -1546783 -51935370.4 -> -53482153.4
+xcom358 compare -1546783 -51935370.4 -> 1
+xdiv358 divide -1546783 -51935370.4 -> 0.0297828433 Inexact Rounded
+xdvi358 divideint -1546783 -51935370.4 -> 0
+xmul358 multiply -1546783 -51935370.4 -> 8.03327480E+13 Inexact Rounded
+xpow358 power -1546783 -51935370 -> 3.36022461E-321450306 Inexact Rounded
+xrem358 remainder -1546783 -51935370.4 -> -1546783.0
+xsub358 subtract -1546783 -51935370.4 -> 50388587.4
+xadd359 add 61302486.8 205.490417 -> 61302692.3 Inexact Rounded
+xcom359 compare 61302486.8 205.490417 -> 1
+xdiv359 divide 61302486.8 205.490417 -> 298322.850 Inexact Rounded
+xdvi359 divideint 61302486.8 205.490417 -> 298322
+xmul359 multiply 61302486.8 205.490417 -> 1.25970736E+10 Inexact Rounded
+xpow359 power 61302486.8 205 -> 2.71024755E+1596 Inexact Rounded
+xrem359 remainder 61302486.8 205.490417 -> 174.619726
+xsub359 subtract 61302486.8 205.490417 -> 61302281.3 Inexact Rounded
+xadd360 add -318180109. -54008744.6E-170931002 -> -318180109 Inexact Rounded
+xcom360 compare -318180109. -54008744.6E-170931002 -> -1
+xdiv360 divide -318180109. -54008744.6E-170931002 -> 5.89127023E+170931002 Inexact Rounded
+xdvi360 divideint -318180109. -54008744.6E-170931002 -> NaN Division_impossible
+xmul360 multiply -318180109. -54008744.6E-170931002 -> 1.71845082E-170930986 Inexact Rounded
+xpow360 power -318180109. -5 -> -3.06644280E-43 Inexact Rounded
+xrem360 remainder -318180109. -54008744.6E-170931002 -> NaN Division_impossible
+xsub360 subtract -318180109. -54008744.6E-170931002 -> -318180109 Inexact Rounded
+xadd361 add -28486137.1E+901441714 -42454.940 -> -2.84861371E+901441721 Inexact Rounded
+xcom361 compare -28486137.1E+901441714 -42454.940 -> -1
+xdiv361 divide -28486137.1E+901441714 -42454.940 -> 6.70973439E+901441716 Inexact Rounded
+xdvi361 divideint -28486137.1E+901441714 -42454.940 -> NaN Division_impossible
+xmul361 multiply -28486137.1E+901441714 -42454.940 -> 1.20937724E+901441726 Inexact Rounded
+xpow361 power -28486137.1E+901441714 -42455 -> -0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem361 remainder -28486137.1E+901441714 -42454.940 -> NaN Division_impossible
+xsub361 subtract -28486137.1E+901441714 -42454.940 -> -2.84861371E+901441721 Inexact Rounded
+xadd362 add -546398328. -27.9149712 -> -546398356 Inexact Rounded
+xcom362 compare -546398328. -27.9149712 -> -1
+xdiv362 divide -546398328. -27.9149712 -> 19573666.2 Inexact Rounded
+xdvi362 divideint -546398328. -27.9149712 -> 19573666
+xmul362 multiply -546398328. -27.9149712 -> 1.52526936E+10 Inexact Rounded
+xpow362 power -546398328. -28 -> 2.23737032E-245 Inexact Rounded
+xrem362 remainder -546398328. -27.9149712 -> -5.3315808
+xsub362 subtract -546398328. -27.9149712 -> -546398300 Inexact Rounded
+xadd363 add 5402066.1E-284978216 622.751128 -> 622.751128 Inexact Rounded
+xcom363 compare 5402066.1E-284978216 622.751128 -> -1
+xdiv363 divide 5402066.1E-284978216 622.751128 -> 8.67451837E-284978213 Inexact Rounded
+xdvi363 divideint 5402066.1E-284978216 622.751128 -> 0
+xmul363 multiply 5402066.1E-284978216 622.751128 -> 3.36414276E-284978207 Inexact Rounded
+xpow363 power 5402066.1E-284978216 623 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem363 remainder 5402066.1E-284978216 622.751128 -> 5.4020661E-284978210
+xsub363 subtract 5402066.1E-284978216 622.751128 -> -622.751128 Inexact Rounded
+xadd364 add 18845620 3129.43753 -> 18848749.4 Inexact Rounded
+xcom364 compare 18845620 3129.43753 -> 1
+xdiv364 divide 18845620 3129.43753 -> 6022.04704 Inexact Rounded
+xdvi364 divideint 18845620 3129.43753 -> 6022
+xmul364 multiply 18845620 3129.43753 -> 5.89761905E+10 Inexact Rounded
+xpow364 power 18845620 3129 -> 1.35967443E+22764 Inexact Rounded
+xrem364 remainder 18845620 3129.43753 -> 147.19434
+xsub364 subtract 18845620 3129.43753 -> 18842490.6 Inexact Rounded
+xadd365 add 50707.1412E+912475670 -198098.186E+701407524 -> 5.07071412E+912475674 Inexact Rounded
+xcom365 compare 50707.1412E+912475670 -198098.186E+701407524 -> 1
+xdiv365 divide 50707.1412E+912475670 -198098.186E+701407524 -> -2.55969740E+211068145 Inexact Rounded
+xdvi365 divideint 50707.1412E+912475670 -198098.186E+701407524 -> NaN Division_impossible
+xmul365 multiply 50707.1412E+912475670 -198098.186E+701407524 -> -Infinity Inexact Overflow Rounded
+xpow365 power 50707.1412E+912475670 -2 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem365 remainder 50707.1412E+912475670 -198098.186E+701407524 -> NaN Division_impossible
+xsub365 subtract 50707.1412E+912475670 -198098.186E+701407524 -> 5.07071412E+912475674 Inexact Rounded
+xadd366 add 55.8245006E+928885991 99170843.9E-47402167 -> 5.58245006E+928885992 Inexact Rounded
+xcom366 compare 55.8245006E+928885991 99170843.9E-47402167 -> 1
+xdiv366 divide 55.8245006E+928885991 99170843.9E-47402167 -> 5.62912429E+976288151 Inexact Rounded
+xdvi366 divideint 55.8245006E+928885991 99170843.9E-47402167 -> NaN Division_impossible
+xmul366 multiply 55.8245006E+928885991 99170843.9E-47402167 -> 5.53616283E+881483833 Inexact Rounded
+xpow366 power 55.8245006E+928885991 10 -> Infinity Overflow Inexact Rounded
+xrem366 remainder 55.8245006E+928885991 99170843.9E-47402167 -> NaN Division_impossible
+xsub366 subtract 55.8245006E+928885991 99170843.9E-47402167 -> 5.58245006E+928885992 Inexact Rounded
+xadd367 add 13.8003883E-386224921 -84126481.9E-296378341 -> -8.41264819E-296378334 Inexact Rounded
+xcom367 compare 13.8003883E-386224921 -84126481.9E-296378341 -> 1
+xdiv367 divide 13.8003883E-386224921 -84126481.9E-296378341 -> -1.64043331E-89846587 Inexact Rounded
+xdvi367 divideint 13.8003883E-386224921 -84126481.9E-296378341 -> -0
+xmul367 multiply 13.8003883E-386224921 -84126481.9E-296378341 -> -1.16097812E-682603253 Inexact Rounded
+xpow367 power 13.8003883E-386224921 -8 -> Infinity Overflow Inexact Rounded
+xrem367 remainder 13.8003883E-386224921 -84126481.9E-296378341 -> 1.38003883E-386224920
+xsub367 subtract 13.8003883E-386224921 -84126481.9E-296378341 -> 8.41264819E-296378334 Inexact Rounded
+xadd368 add 9820.90457 46671.5915 -> 56492.4961 Inexact Rounded
+xcom368 compare 9820.90457 46671.5915 -> -1
+xdiv368 divide 9820.90457 46671.5915 -> 0.210425748 Inexact Rounded
+xdvi368 divideint 9820.90457 46671.5915 -> 0
+xmul368 multiply 9820.90457 46671.5915 -> 458357246 Inexact Rounded
+xpow368 power 9820.90457 46672 -> 4.94753070E+186321 Inexact Rounded
+xrem368 remainder 9820.90457 46671.5915 -> 9820.90457
+xsub368 subtract 9820.90457 46671.5915 -> -36850.6869 Inexact Rounded
+xadd369 add 7.22436006E+831949153 -11168830E+322331045 -> 7.22436006E+831949153 Inexact Rounded
+xcom369 compare 7.22436006E+831949153 -11168830E+322331045 -> 1
+xdiv369 divide 7.22436006E+831949153 -11168830E+322331045 -> -6.46832306E+509618101 Inexact Rounded
+xdvi369 divideint 7.22436006E+831949153 -11168830E+322331045 -> NaN Division_impossible
+xmul369 multiply 7.22436006E+831949153 -11168830E+322331045 -> -Infinity Inexact Overflow Rounded
+xpow369 power 7.22436006E+831949153 -1 -> 1.38420565E-831949154 Inexact Rounded
+xrem369 remainder 7.22436006E+831949153 -11168830E+322331045 -> NaN Division_impossible
+xsub369 subtract 7.22436006E+831949153 -11168830E+322331045 -> 7.22436006E+831949153 Inexact Rounded
+xadd370 add 472648900 -207.784153 -> 472648692 Inexact Rounded
+xcom370 compare 472648900 -207.784153 -> 1
+xdiv370 divide 472648900 -207.784153 -> -2274711.01 Inexact Rounded
+xdvi370 divideint 472648900 -207.784153 -> -2274711
+xmul370 multiply 472648900 -207.784153 -> -9.82089514E+10 Inexact Rounded
+xpow370 power 472648900 -208 -> 4.96547145E-1805 Inexact Rounded
+xrem370 remainder 472648900 -207.784153 -> 1.545217
+xsub370 subtract 472648900 -207.784153 -> 472649108 Inexact Rounded
+xadd371 add -8754.49306 -818.165153E+631475457 -> -8.18165153E+631475459 Inexact Rounded
+xcom371 compare -8754.49306 -818.165153E+631475457 -> 1
+xdiv371 divide -8754.49306 -818.165153E+631475457 -> 1.07001539E-631475456 Inexact Rounded
+xdvi371 divideint -8754.49306 -818.165153E+631475457 -> 0
+xmul371 multiply -8754.49306 -818.165153E+631475457 -> 7.16262115E+631475463 Inexact Rounded
+xpow371 power -8754.49306 -8 -> 2.89835767E-32 Inexact Rounded
+xrem371 remainder -8754.49306 -818.165153E+631475457 -> -8754.49306
+xsub371 subtract -8754.49306 -818.165153E+631475457 -> 8.18165153E+631475459 Inexact Rounded
+xadd372 add 98750864 191380.551 -> 98942244.6 Inexact Rounded
+xcom372 compare 98750864 191380.551 -> 1
+xdiv372 divide 98750864 191380.551 -> 515.992161 Inexact Rounded
+xdvi372 divideint 98750864 191380.551 -> 515
+xmul372 multiply 98750864 191380.551 -> 1.88989948E+13 Inexact Rounded
+xpow372 power 98750864 191381 -> 1.70908809E+1530003 Inexact Rounded
+xrem372 remainder 98750864 191380.551 -> 189880.235
+xsub372 subtract 98750864 191380.551 -> 98559483.4 Inexact Rounded
+xadd373 add 725292561. -768963606.E+340762986 -> -7.68963606E+340762994 Inexact Rounded
+xcom373 compare 725292561. -768963606.E+340762986 -> 1
+xdiv373 divide 725292561. -768963606.E+340762986 -> -9.43207917E-340762987 Inexact Rounded
+xdvi373 divideint 725292561. -768963606.E+340762986 -> -0
+xmul373 multiply 725292561. -768963606.E+340762986 -> -5.57723583E+340763003 Inexact Rounded
+xpow373 power 725292561. -8 -> 1.30585277E-71 Inexact Rounded
+xrem373 remainder 725292561. -768963606.E+340762986 -> 725292561
+xsub373 subtract 725292561. -768963606.E+340762986 -> 7.68963606E+340762994 Inexact Rounded
+xadd374 add 1862.80445 648254483. -> 648256346 Inexact Rounded
+xcom374 compare 1862.80445 648254483. -> -1
+xdiv374 divide 1862.80445 648254483. -> 0.00000287356972 Inexact Rounded
+xdvi374 divideint 1862.80445 648254483. -> 0
+xmul374 multiply 1862.80445 648254483. -> 1.20757134E+12 Inexact Rounded
+xpow374 power 1862.80445 648254483 -> Infinity Overflow Inexact Rounded
+xrem374 remainder 1862.80445 648254483. -> 1862.80445
+xsub374 subtract 1862.80445 648254483. -> -648252620 Inexact Rounded
+xadd375 add -5549320.1 -93580684.1 -> -99130004.2
+xcom375 compare -5549320.1 -93580684.1 -> 1
+xdiv375 divide -5549320.1 -93580684.1 -> 0.0592998454 Inexact Rounded
+xdvi375 divideint -5549320.1 -93580684.1 -> 0
+xmul375 multiply -5549320.1 -93580684.1 -> 5.19309171E+14 Inexact Rounded
+xpow375 power -5549320.1 -93580684 -> 4.20662080E-631130572 Inexact Rounded
+xrem375 remainder -5549320.1 -93580684.1 -> -5549320.1
+xsub375 subtract -5549320.1 -93580684.1 -> 88031364.0
+xadd376 add -14677053.1 -25784.7358 -> -14702837.8 Inexact Rounded
+xcom376 compare -14677053.1 -25784.7358 -> -1
+xdiv376 divide -14677053.1 -25784.7358 -> 569.214795 Inexact Rounded
+xdvi376 divideint -14677053.1 -25784.7358 -> 569
+xmul376 multiply -14677053.1 -25784.7358 -> 3.78443937E+11 Inexact Rounded
+xpow376 power -14677053.1 -25785 -> -1.64760831E-184792 Inexact Rounded
+xrem376 remainder -14677053.1 -25784.7358 -> -5538.4298
+xsub376 subtract -14677053.1 -25784.7358 -> -14651268.4 Inexact Rounded
+xadd377 add 547402.308E+571687617 -7835797.01E+500067364 -> 5.47402308E+571687622 Inexact Rounded
+xcom377 compare 547402.308E+571687617 -7835797.01E+500067364 -> 1
+xdiv377 divide 547402.308E+571687617 -7835797.01E+500067364 -> -6.98591742E+71620251 Inexact Rounded
+xdvi377 divideint 547402.308E+571687617 -7835797.01E+500067364 -> NaN Division_impossible
+xmul377 multiply 547402.308E+571687617 -7835797.01E+500067364 -> -Infinity Inexact Overflow Rounded
+xpow377 power 547402.308E+571687617 -8 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem377 remainder 547402.308E+571687617 -7835797.01E+500067364 -> NaN Division_impossible
+xsub377 subtract 547402.308E+571687617 -7835797.01E+500067364 -> 5.47402308E+571687622 Inexact Rounded
+xadd378 add -4131738.09 7579.07566 -> -4124159.01 Inexact Rounded
+xcom378 compare -4131738.09 7579.07566 -> -1
+xdiv378 divide -4131738.09 7579.07566 -> -545.150659 Inexact Rounded
+xdvi378 divideint -4131738.09 7579.07566 -> -545
+xmul378 multiply -4131738.09 7579.07566 -> -3.13147556E+10 Inexact Rounded
+xpow378 power -4131738.09 7579 -> -4.68132794E+50143 Inexact Rounded
+xrem378 remainder -4131738.09 7579.07566 -> -1141.85530
+xsub378 subtract -4131738.09 7579.07566 -> -4139317.17 Inexact Rounded
+xadd379 add 504544.648 -7678.96133E-662143268 -> 504544.648 Inexact Rounded
+xcom379 compare 504544.648 -7678.96133E-662143268 -> 1
+xdiv379 divide 504544.648 -7678.96133E-662143268 -> -6.57048039E+662143269 Inexact Rounded
+xdvi379 divideint 504544.648 -7678.96133E-662143268 -> NaN Division_impossible
+xmul379 multiply 504544.648 -7678.96133E-662143268 -> -3.87437884E-662143259 Inexact Rounded
+xpow379 power 504544.648 -8 -> 2.38124001E-46 Inexact Rounded
+xrem379 remainder 504544.648 -7678.96133E-662143268 -> NaN Division_impossible
+xsub379 subtract 504544.648 -7678.96133E-662143268 -> 504544.648 Inexact Rounded
+xadd380 add 829898241 8912.99114E+929228149 -> 8.91299114E+929228152 Inexact Rounded
+xcom380 compare 829898241 8912.99114E+929228149 -> -1
+xdiv380 divide 829898241 8912.99114E+929228149 -> 9.31110811E-929228145 Inexact Rounded
+xdvi380 divideint 829898241 8912.99114E+929228149 -> 0
+xmul380 multiply 829898241 8912.99114E+929228149 -> 7.39687567E+929228161 Inexact Rounded
+xpow380 power 829898241 9 -> 1.86734084E+80 Inexact Rounded
+xrem380 remainder 829898241 8912.99114E+929228149 -> 829898241
+xsub380 subtract 829898241 8912.99114E+929228149 -> -8.91299114E+929228152 Inexact Rounded
+xadd381 add 53.6891691 -11.2371140 -> 42.4520551
+xcom381 compare 53.6891691 -11.2371140 -> 1
+xdiv381 divide 53.6891691 -11.2371140 -> -4.77784323 Inexact Rounded
+xdvi381 divideint 53.6891691 -11.2371140 -> -4
+xmul381 multiply 53.6891691 -11.2371140 -> -603.311314 Inexact Rounded
+xpow381 power 53.6891691 -11 -> 9.35936725E-20 Inexact Rounded
+xrem381 remainder 53.6891691 -11.2371140 -> 8.7407131
+xsub381 subtract 53.6891691 -11.2371140 -> 64.9262831
+xadd382 add -93951823.4 -25317.8645 -> -93977141.3 Inexact Rounded
+xcom382 compare -93951823.4 -25317.8645 -> -1
+xdiv382 divide -93951823.4 -25317.8645 -> 3710.89052 Inexact Rounded
+xdvi382 divideint -93951823.4 -25317.8645 -> 3710
+xmul382 multiply -93951823.4 -25317.8645 -> 2.37865953E+12 Inexact Rounded
+xpow382 power -93951823.4 -25318 -> 9.67857714E-201859 Inexact Rounded
+xrem382 remainder -93951823.4 -25317.8645 -> -22546.1050
+xsub382 subtract -93951823.4 -25317.8645 -> -93926505.5 Inexact Rounded
+xadd383 add 446919.123 951338490. -> 951785409 Inexact Rounded
+xcom383 compare 446919.123 951338490. -> -1
+xdiv383 divide 446919.123 951338490. -> 0.000469779293 Inexact Rounded
+xdvi383 divideint 446919.123 951338490. -> 0
+xmul383 multiply 446919.123 951338490. -> 4.25171364E+14 Inexact Rounded
+xpow383 power 446919.123 951338490 -> Infinity Overflow Inexact Rounded
+xrem383 remainder 446919.123 951338490. -> 446919.123
+xsub383 subtract 446919.123 951338490. -> -950891571 Inexact Rounded
+xadd384 add -8.01787748 -88.3076852 -> -96.3255627 Inexact Rounded
+xcom384 compare -8.01787748 -88.3076852 -> 1
+xdiv384 divide -8.01787748 -88.3076852 -> 0.0907947871 Inexact Rounded
+xdvi384 divideint -8.01787748 -88.3076852 -> 0
+xmul384 multiply -8.01787748 -88.3076852 -> 708.040200 Inexact Rounded
+xpow384 power -8.01787748 -88 -> 2.77186088E-80 Inexact Rounded
+xrem384 remainder -8.01787748 -88.3076852 -> -8.01787748
+xsub384 subtract -8.01787748 -88.3076852 -> 80.2898077 Inexact Rounded
+xadd385 add 517458139 -999731.548 -> 516458407 Inexact Rounded
+xcom385 compare 517458139 -999731.548 -> 1
+xdiv385 divide 517458139 -999731.548 -> -517.597089 Inexact Rounded
+xdvi385 divideint 517458139 -999731.548 -> -517
+xmul385 multiply 517458139 -999731.548 -> -5.17319226E+14 Inexact Rounded
+xpow385 power 517458139 -999732 -> 1.24821346E-8711540 Inexact Rounded
+xrem385 remainder 517458139 -999731.548 -> 596928.684
+xsub385 subtract 517458139 -999731.548 -> 518457871 Inexact Rounded
+xadd386 add -405543440 -4013.18295 -> -405547453 Inexact Rounded
+xcom386 compare -405543440 -4013.18295 -> -1
+xdiv386 divide -405543440 -4013.18295 -> 101052.816 Inexact Rounded
+xdvi386 divideint -405543440 -4013.18295 -> 101052
+xmul386 multiply -405543440 -4013.18295 -> 1.62752002E+12 Inexact Rounded
+xpow386 power -405543440 -4013 -> -8.83061932E-34545 Inexact Rounded
+xrem386 remainder -405543440 -4013.18295 -> -3276.53660
+xsub386 subtract -405543440 -4013.18295 -> -405539427 Inexact Rounded
+xadd387 add -49245250.1E+682760825 -848776.637 -> -4.92452501E+682760832 Inexact Rounded
+xcom387 compare -49245250.1E+682760825 -848776.637 -> -1
+xdiv387 divide -49245250.1E+682760825 -848776.637 -> 5.80190924E+682760826 Inexact Rounded
+xdvi387 divideint -49245250.1E+682760825 -848776.637 -> NaN Division_impossible
+xmul387 multiply -49245250.1E+682760825 -848776.637 -> 4.17982178E+682760838 Inexact Rounded
+xpow387 power -49245250.1E+682760825 -848777 -> -0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem387 remainder -49245250.1E+682760825 -848776.637 -> NaN Division_impossible
+xsub387 subtract -49245250.1E+682760825 -848776.637 -> -4.92452501E+682760832 Inexact Rounded
+xadd388 add -151144455 -170371.29 -> -151314826 Inexact Rounded
+xcom388 compare -151144455 -170371.29 -> -1
+xdiv388 divide -151144455 -170371.29 -> 887.147447 Inexact Rounded
+xdvi388 divideint -151144455 -170371.29 -> 887
+xmul388 multiply -151144455 -170371.29 -> 2.57506758E+13 Inexact Rounded
+xpow388 power -151144455 -170371 -> -5.86496369E-1393532 Inexact Rounded
+xrem388 remainder -151144455 -170371.29 -> -25120.77
+xsub388 subtract -151144455 -170371.29 -> -150974084 Inexact Rounded
+xadd389 add -729236746.E+662737067 9.10823602 -> -7.29236746E+662737075 Inexact Rounded
+xcom389 compare -729236746.E+662737067 9.10823602 -> -1
+xdiv389 divide -729236746.E+662737067 9.10823602 -> -8.00634442E+662737074 Inexact Rounded
+xdvi389 divideint -729236746.E+662737067 9.10823602 -> NaN Division_impossible
+xmul389 multiply -729236746.E+662737067 9.10823602 -> -6.64206040E+662737076 Inexact Rounded
+xpow389 power -729236746.E+662737067 9 -> -Infinity Overflow Inexact Rounded
+xrem389 remainder -729236746.E+662737067 9.10823602 -> NaN Division_impossible
+xsub389 subtract -729236746.E+662737067 9.10823602 -> -7.29236746E+662737075 Inexact Rounded
+xadd390 add 534.394729 -2369839.37 -> -2369304.98 Inexact Rounded
+xcom390 compare 534.394729 -2369839.37 -> 1
+xdiv390 divide 534.394729 -2369839.37 -> -0.000225498291 Inexact Rounded
+xdvi390 divideint 534.394729 -2369839.37 -> -0
+xmul390 multiply 534.394729 -2369839.37 -> -1.26642967E+9 Inexact Rounded
+xpow390 power 534.394729 -2369839 -> 7.12522896E-6464595 Inexact Rounded
+xrem390 remainder 534.394729 -2369839.37 -> 534.394729
+xsub390 subtract 534.394729 -2369839.37 -> 2370373.76 Inexact Rounded
+xadd391 add 89100.1797 224.370309 -> 89324.5500 Inexact Rounded
+xcom391 compare 89100.1797 224.370309 -> 1
+xdiv391 divide 89100.1797 224.370309 -> 397.112167 Inexact Rounded
+xdvi391 divideint 89100.1797 224.370309 -> 397
+xmul391 multiply 89100.1797 224.370309 -> 19991434.9 Inexact Rounded
+xpow391 power 89100.1797 224 -> 5.92654936E+1108 Inexact Rounded
+xrem391 remainder 89100.1797 224.370309 -> 25.167027
+xsub391 subtract 89100.1797 224.370309 -> 88875.8094 Inexact Rounded
+xadd392 add -821377.777 38.552821 -> -821339.224 Inexact Rounded
+xcom392 compare -821377.777 38.552821 -> -1
+xdiv392 divide -821377.777 38.552821 -> -21305.2575 Inexact Rounded
+xdvi392 divideint -821377.777 38.552821 -> -21305
+xmul392 multiply -821377.777 38.552821 -> -31666430.4 Inexact Rounded
+xpow392 power -821377.777 39 -> -4.64702482E+230 Inexact Rounded
+xrem392 remainder -821377.777 38.552821 -> -9.925595
+xsub392 subtract -821377.777 38.552821 -> -821416.330 Inexact Rounded
+xadd393 add -392640.782 -2571619.5E+113237865 -> -2.57161950E+113237871 Inexact Rounded
+xcom393 compare -392640.782 -2571619.5E+113237865 -> 1
+xdiv393 divide -392640.782 -2571619.5E+113237865 -> 1.52682301E-113237866 Inexact Rounded
+xdvi393 divideint -392640.782 -2571619.5E+113237865 -> 0
+xmul393 multiply -392640.782 -2571619.5E+113237865 -> 1.00972269E+113237877 Inexact Rounded
+xpow393 power -392640.782 -3 -> -1.65201422E-17 Inexact Rounded
+xrem393 remainder -392640.782 -2571619.5E+113237865 -> -392640.782
+xsub393 subtract -392640.782 -2571619.5E+113237865 -> 2.57161950E+113237871 Inexact Rounded
+xadd394 add -651397.712 -723.59673 -> -652121.309 Inexact Rounded
+xcom394 compare -651397.712 -723.59673 -> -1
+xdiv394 divide -651397.712 -723.59673 -> 900.222023 Inexact Rounded
+xdvi394 divideint -651397.712 -723.59673 -> 900
+xmul394 multiply -651397.712 -723.59673 -> 471349254 Inexact Rounded
+xpow394 power -651397.712 -724 -> 5.96115415E-4210 Inexact Rounded
+xrem394 remainder -651397.712 -723.59673 -> -160.65500
+xsub394 subtract -651397.712 -723.59673 -> -650674.115 Inexact Rounded
+xadd395 add 86.6890892 940380864 -> 940380951 Inexact Rounded
+xcom395 compare 86.6890892 940380864 -> -1
+xdiv395 divide 86.6890892 940380864 -> 9.21850843E-8 Inexact Rounded
+xdvi395 divideint 86.6890892 940380864 -> 0
+xmul395 multiply 86.6890892 940380864 -> 8.15207606E+10 Inexact Rounded
+xpow395 power 86.6890892 940380864 -> Infinity Overflow Inexact Rounded
+xrem395 remainder 86.6890892 940380864 -> 86.6890892
+xsub395 subtract 86.6890892 940380864 -> -940380777 Inexact Rounded
+xadd396 add 4880.06442E-382222621 -115627239E-912834031 -> 4.88006442E-382222618 Inexact Rounded
+xcom396 compare 4880.06442E-382222621 -115627239E-912834031 -> 1
+xdiv396 divide 4880.06442E-382222621 -115627239E-912834031 -> -4.22051453E+530611405 Inexact Rounded
+xdvi396 divideint 4880.06442E-382222621 -115627239E-912834031 -> NaN Division_impossible
+xmul396 multiply 4880.06442E-382222621 -115627239E-912834031 -> -0E-1000000007 Underflow Subnormal Inexact Rounded
+xpow396 power 4880.06442E-382222621 -1 -> 2.04915328E+382222617 Inexact Rounded
+xrem396 remainder 4880.06442E-382222621 -115627239E-912834031 -> NaN Division_impossible
+xsub396 subtract 4880.06442E-382222621 -115627239E-912834031 -> 4.88006442E-382222618 Inexact Rounded
+xadd397 add 173398265E-532383158 3462.51450E+80986915 -> 3.46251450E+80986918 Inexact Rounded
+xcom397 compare 173398265E-532383158 3462.51450E+80986915 -> -1
+xdiv397 divide 173398265E-532383158 3462.51450E+80986915 -> 5.00787116E-613370069 Inexact Rounded
+xdvi397 divideint 173398265E-532383158 3462.51450E+80986915 -> 0
+xmul397 multiply 173398265E-532383158 3462.51450E+80986915 -> 6.00394007E-451396232 Inexact Rounded
+xpow397 power 173398265E-532383158 3 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem397 remainder 173398265E-532383158 3462.51450E+80986915 -> 1.73398265E-532383150
+xsub397 subtract 173398265E-532383158 3462.51450E+80986915 -> -3.46251450E+80986918 Inexact Rounded
+xadd398 add -1522176.78 -6631061.77 -> -8153238.55
+xcom398 compare -1522176.78 -6631061.77 -> 1
+xdiv398 divide -1522176.78 -6631061.77 -> 0.229552496 Inexact Rounded
+xdvi398 divideint -1522176.78 -6631061.77 -> 0
+xmul398 multiply -1522176.78 -6631061.77 -> 1.00936483E+13 Inexact Rounded
+xpow398 power -1522176.78 -6631062 -> 4.54268854E-40996310 Inexact Rounded
+xrem398 remainder -1522176.78 -6631061.77 -> -1522176.78
+xsub398 subtract -1522176.78 -6631061.77 -> 5108884.99
+xadd399 add 538.10453 522934310 -> 522934848 Inexact Rounded
+xcom399 compare 538.10453 522934310 -> -1
+xdiv399 divide 538.10453 522934310 -> 0.00000102900980 Inexact Rounded
+xdvi399 divideint 538.10453 522934310 -> 0
+xmul399 multiply 538.10453 522934310 -> 2.81393321E+11 Inexact Rounded
+xpow399 power 538.10453 522934310 -> Infinity Overflow Inexact Rounded
+xrem399 remainder 538.10453 522934310 -> 538.10453
+xsub399 subtract 538.10453 522934310 -> -522933772 Inexact Rounded
+xadd400 add 880243.444E-750940977 -354.601578E-204943740 -> -3.54601578E-204943738 Inexact Rounded
+xcom400 compare 880243.444E-750940977 -354.601578E-204943740 -> 1
+xdiv400 divide 880243.444E-750940977 -354.601578E-204943740 -> -2.48234497E-545997234 Inexact Rounded
+xdvi400 divideint 880243.444E-750940977 -354.601578E-204943740 -> -0
+xmul400 multiply 880243.444E-750940977 -354.601578E-204943740 -> -3.12135714E-955884709 Inexact Rounded
+xpow400 power 880243.444E-750940977 -4 -> Infinity Overflow Inexact Rounded
+xrem400 remainder 880243.444E-750940977 -354.601578E-204943740 -> 8.80243444E-750940972
+xsub400 subtract 880243.444E-750940977 -354.601578E-204943740 -> 3.54601578E-204943738 Inexact Rounded
+xadd401 add 968370.780 6677268.73 -> 7645639.51 Rounded
+xcom401 compare 968370.780 6677268.73 -> -1
+xdiv401 divide 968370.780 6677268.73 -> 0.145024982 Inexact Rounded
+xdvi401 divideint 968370.780 6677268.73 -> 0
+xmul401 multiply 968370.780 6677268.73 -> 6.46607193E+12 Inexact Rounded
+xpow401 power 968370.780 6677269 -> 3.29990931E+39970410 Inexact Rounded
+xrem401 remainder 968370.780 6677268.73 -> 968370.780
+xsub401 subtract 968370.780 6677268.73 -> -5708897.95 Rounded
+xadd402 add -97.7474945 31248241.5 -> 31248143.8 Inexact Rounded
+xcom402 compare -97.7474945 31248241.5 -> -1
+xdiv402 divide -97.7474945 31248241.5 -> -0.00000312809585 Inexact Rounded
+xdvi402 divideint -97.7474945 31248241.5 -> -0
+xmul402 multiply -97.7474945 31248241.5 -> -3.05443731E+9 Inexact Rounded
+xpow402 power -97.7474945 31248242 -> 2.90714257E+62187302 Inexact Rounded
+xrem402 remainder -97.7474945 31248241.5 -> -97.7474945
+xsub402 subtract -97.7474945 31248241.5 -> -31248339.2 Inexact Rounded
+xadd403 add -187582786.E+369916952 957840435E+744365567 -> 9.57840435E+744365575 Inexact Rounded
+xcom403 compare -187582786.E+369916952 957840435E+744365567 -> -1
+xdiv403 divide -187582786.E+369916952 957840435E+744365567 -> -1.95839285E-374448616 Inexact Rounded
+xdvi403 divideint -187582786.E+369916952 957840435E+744365567 -> -0
+xmul403 multiply -187582786.E+369916952 957840435E+744365567 -> -Infinity Inexact Overflow Rounded
+xpow403 power -187582786.E+369916952 10 -> Infinity Overflow Inexact Rounded
+xrem403 remainder -187582786.E+369916952 957840435E+744365567 -> -1.87582786E+369916960
+xsub403 subtract -187582786.E+369916952 957840435E+744365567 -> -9.57840435E+744365575 Inexact Rounded
+xadd404 add -328026144. -125499735. -> -453525879
+xcom404 compare -328026144. -125499735. -> -1
+xdiv404 divide -328026144. -125499735. -> 2.61375965 Inexact Rounded
+xdvi404 divideint -328026144. -125499735. -> 2
+xmul404 multiply -328026144. -125499735. -> 4.11671941E+16 Inexact Rounded
+xpow404 power -328026144. -125499735 -> -0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem404 remainder -328026144. -125499735. -> -77026674
+xsub404 subtract -328026144. -125499735. -> -202526409
+xadd405 add -99424150.2E-523662102 3712.35030 -> 3712.35030 Inexact Rounded
+xcom405 compare -99424150.2E-523662102 3712.35030 -> -1
+xdiv405 divide -99424150.2E-523662102 3712.35030 -> -2.67819958E-523662098 Inexact Rounded
+xdvi405 divideint -99424150.2E-523662102 3712.35030 -> -0
+xmul405 multiply -99424150.2E-523662102 3712.35030 -> -3.69097274E-523662091 Inexact Rounded
+xpow405 power -99424150.2E-523662102 3712 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem405 remainder -99424150.2E-523662102 3712.35030 -> -9.94241502E-523662095
+xsub405 subtract -99424150.2E-523662102 3712.35030 -> -3712.35030 Inexact Rounded
+xadd406 add 14838.0718 9489893.28E+830631266 -> 9.48989328E+830631272 Inexact Rounded
+xcom406 compare 14838.0718 9489893.28E+830631266 -> -1
+xdiv406 divide 14838.0718 9489893.28E+830631266 -> 1.56356572E-830631269 Inexact Rounded
+xdvi406 divideint 14838.0718 9489893.28E+830631266 -> 0
+xmul406 multiply 14838.0718 9489893.28E+830631266 -> 1.40811718E+830631277 Inexact Rounded
+xpow406 power 14838.0718 9 -> 3.48656057E+37 Inexact Rounded
+xrem406 remainder 14838.0718 9489893.28E+830631266 -> 14838.0718
+xsub406 subtract 14838.0718 9489893.28E+830631266 -> -9.48989328E+830631272 Inexact Rounded
+xadd407 add 71207472.8 -31835.0809 -> 71175637.7 Inexact Rounded
+xcom407 compare 71207472.8 -31835.0809 -> 1
+xdiv407 divide 71207472.8 -31835.0809 -> -2236.76117 Inexact Rounded
+xdvi407 divideint 71207472.8 -31835.0809 -> -2236
+xmul407 multiply 71207472.8 -31835.0809 -> -2.26689566E+12 Inexact Rounded
+xpow407 power 71207472.8 -31835 -> 7.05333953E-249986 Inexact Rounded
+xrem407 remainder 71207472.8 -31835.0809 -> 24231.9076
+xsub407 subtract 71207472.8 -31835.0809 -> 71239307.9 Inexact Rounded
+xadd408 add -20440.4394 -44.4064328E+511085806 -> -4.44064328E+511085807 Inexact Rounded
+xcom408 compare -20440.4394 -44.4064328E+511085806 -> 1
+xdiv408 divide -20440.4394 -44.4064328E+511085806 -> 4.60303567E-511085804 Inexact Rounded
+xdvi408 divideint -20440.4394 -44.4064328E+511085806 -> 0
+xmul408 multiply -20440.4394 -44.4064328E+511085806 -> 9.07686999E+511085811 Inexact Rounded
+xpow408 power -20440.4394 -4 -> 5.72847590E-18 Inexact Rounded
+xrem408 remainder -20440.4394 -44.4064328E+511085806 -> -20440.4394
+xsub408 subtract -20440.4394 -44.4064328E+511085806 -> 4.44064328E+511085807 Inexact Rounded
+xadd409 add -54.3684171E-807210192 1.04592973E-984041807 -> -5.43684171E-807210191 Inexact Rounded
+xcom409 compare -54.3684171E-807210192 1.04592973E-984041807 -> -1
+xdiv409 divide -54.3684171E-807210192 1.04592973E-984041807 -> -5.19809463E+176831616 Inexact Rounded
+xdvi409 divideint -54.3684171E-807210192 1.04592973E-984041807 -> NaN Division_impossible
+xmul409 multiply -54.3684171E-807210192 1.04592973E-984041807 -> -0E-1000000007 Underflow Subnormal Inexact Rounded
+xpow409 power -54.3684171E-807210192 1 -> -5.43684171E-807210191
+xrem409 remainder -54.3684171E-807210192 1.04592973E-984041807 -> NaN Division_impossible
+xsub409 subtract -54.3684171E-807210192 1.04592973E-984041807 -> -5.43684171E-807210191 Inexact Rounded
+xadd410 add 54310060.5E+948159739 274320701.E+205880484 -> 5.43100605E+948159746 Inexact Rounded
+xcom410 compare 54310060.5E+948159739 274320701.E+205880484 -> 1
+xdiv410 divide 54310060.5E+948159739 274320701.E+205880484 -> 1.97980175E+742279254 Inexact Rounded
+xdvi410 divideint 54310060.5E+948159739 274320701.E+205880484 -> NaN Division_impossible
+xmul410 multiply 54310060.5E+948159739 274320701.E+205880484 -> Infinity Inexact Overflow Rounded
+xpow410 power 54310060.5E+948159739 3 -> Infinity Overflow Inexact Rounded
+xrem410 remainder 54310060.5E+948159739 274320701.E+205880484 -> NaN Division_impossible
+xsub410 subtract 54310060.5E+948159739 274320701.E+205880484 -> 5.43100605E+948159746 Inexact Rounded
+xadd411 add -657.186702 426844.39 -> 426187.203 Inexact Rounded
+xcom411 compare -657.186702 426844.39 -> -1
+xdiv411 divide -657.186702 426844.39 -> -0.00153964001 Inexact Rounded
+xdvi411 divideint -657.186702 426844.39 -> -0
+xmul411 multiply -657.186702 426844.39 -> -280516457 Inexact Rounded
+xpow411 power -657.186702 426844 -> 3.50000575E+1202713 Inexact Rounded
+xrem411 remainder -657.186702 426844.39 -> -657.186702
+xsub411 subtract -657.186702 426844.39 -> -427501.577 Inexact Rounded
+xadd412 add -41593077.0 -688607.564 -> -42281684.6 Inexact Rounded
+xcom412 compare -41593077.0 -688607.564 -> -1
+xdiv412 divide -41593077.0 -688607.564 -> 60.4017138 Inexact Rounded
+xdvi412 divideint -41593077.0 -688607.564 -> 60
+xmul412 multiply -41593077.0 -688607.564 -> 2.86413074E+13 Inexact Rounded
+xpow412 power -41593077.0 -688608 -> 1.42150750E-5246519 Inexact Rounded
+xrem412 remainder -41593077.0 -688607.564 -> -276623.160
+xsub412 subtract -41593077.0 -688607.564 -> -40904469.4 Inexact Rounded
+xadd413 add -5786.38132 190556652.E+177045877 -> 1.90556652E+177045885 Inexact Rounded
+xcom413 compare -5786.38132 190556652.E+177045877 -> -1
+xdiv413 divide -5786.38132 190556652.E+177045877 -> -3.03656748E-177045882 Inexact Rounded
+xdvi413 divideint -5786.38132 190556652.E+177045877 -> -0
+xmul413 multiply -5786.38132 190556652.E+177045877 -> -1.10263345E+177045889 Inexact Rounded
+xpow413 power -5786.38132 2 -> 33482208.8 Inexact Rounded
+xrem413 remainder -5786.38132 190556652.E+177045877 -> -5786.38132
+xsub413 subtract -5786.38132 190556652.E+177045877 -> -1.90556652E+177045885 Inexact Rounded
+xadd414 add 737622.974 -241560693E+249506565 -> -2.41560693E+249506573 Inexact Rounded
+xcom414 compare 737622.974 -241560693E+249506565 -> 1
+xdiv414 divide 737622.974 -241560693E+249506565 -> -3.05357202E-249506568 Inexact Rounded
+xdvi414 divideint 737622.974 -241560693E+249506565 -> -0
+xmul414 multiply 737622.974 -241560693E+249506565 -> -1.78180717E+249506579 Inexact Rounded
+xpow414 power 737622.974 -2 -> 1.83793916E-12 Inexact Rounded
+xrem414 remainder 737622.974 -241560693E+249506565 -> 737622.974
+xsub414 subtract 737622.974 -241560693E+249506565 -> 2.41560693E+249506573 Inexact Rounded
+xadd415 add 5615373.52 -7.27583808E-949781048 -> 5615373.52 Inexact Rounded
+xcom415 compare 5615373.52 -7.27583808E-949781048 -> 1
+xdiv415 divide 5615373.52 -7.27583808E-949781048 -> -7.71783739E+949781053 Inexact Rounded
+xdvi415 divideint 5615373.52 -7.27583808E-949781048 -> NaN Division_impossible
+xmul415 multiply 5615373.52 -7.27583808E-949781048 -> -4.08565485E-949781041 Inexact Rounded
+xpow415 power 5615373.52 -7 -> 5.68001460E-48 Inexact Rounded
+xrem415 remainder 5615373.52 -7.27583808E-949781048 -> NaN Division_impossible
+xsub415 subtract 5615373.52 -7.27583808E-949781048 -> 5615373.52 Inexact Rounded
+xadd416 add 644136.179 -835708.103 -> -191571.924
+xcom416 compare 644136.179 -835708.103 -> 1
+xdiv416 divide 644136.179 -835708.103 -> -0.770766942 Inexact Rounded
+xdvi416 divideint 644136.179 -835708.103 -> -0
+xmul416 multiply 644136.179 -835708.103 -> -5.38309824E+11 Inexact Rounded
+xpow416 power 644136.179 -835708 -> 7.41936858E-4854610 Inexact Rounded
+xrem416 remainder 644136.179 -835708.103 -> 644136.179
+xsub416 subtract 644136.179 -835708.103 -> 1479844.28 Inexact Rounded
+xadd417 add -307.419521E+466861843 -738689976.E-199032711 -> -3.07419521E+466861845 Inexact Rounded
+xcom417 compare -307.419521E+466861843 -738689976.E-199032711 -> -1
+xdiv417 divide -307.419521E+466861843 -738689976.E-199032711 -> 4.16168529E+665894547 Inexact Rounded
+xdvi417 divideint -307.419521E+466861843 -738689976.E-199032711 -> NaN Division_impossible
+xmul417 multiply -307.419521E+466861843 -738689976.E-199032711 -> 2.27087719E+267829143 Inexact Rounded
+xpow417 power -307.419521E+466861843 -7 -> -0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem417 remainder -307.419521E+466861843 -738689976.E-199032711 -> NaN Division_impossible
+xsub417 subtract -307.419521E+466861843 -738689976.E-199032711 -> -3.07419521E+466861845 Inexact Rounded
+xadd418 add -619642.130 -226740537.E-902590153 -> -619642.130 Inexact Rounded
+xcom418 compare -619642.130 -226740537.E-902590153 -> -1
+xdiv418 divide -619642.130 -226740537.E-902590153 -> 2.73282466E+902590150 Inexact Rounded
+xdvi418 divideint -619642.130 -226740537.E-902590153 -> NaN Division_impossible
+xmul418 multiply -619642.130 -226740537.E-902590153 -> 1.40497989E-902590139 Inexact Rounded
+xpow418 power -619642.130 -2 -> 2.60446259E-12 Inexact Rounded
+xrem418 remainder -619642.130 -226740537.E-902590153 -> NaN Division_impossible
+xsub418 subtract -619642.130 -226740537.E-902590153 -> -619642.130 Inexact Rounded
+xadd419 add -31068.7549 -3.41495042E+86001379 -> -3.41495042E+86001379 Inexact Rounded
+xcom419 compare -31068.7549 -3.41495042E+86001379 -> 1
+xdiv419 divide -31068.7549 -3.41495042E+86001379 -> 9.09786412E-86001376 Inexact Rounded
+xdvi419 divideint -31068.7549 -3.41495042E+86001379 -> 0
+xmul419 multiply -31068.7549 -3.41495042E+86001379 -> 1.06098258E+86001384 Inexact Rounded
+xpow419 power -31068.7549 -3 -> -3.33448258E-14 Inexact Rounded
+xrem419 remainder -31068.7549 -3.41495042E+86001379 -> -31068.7549
+xsub419 subtract -31068.7549 -3.41495042E+86001379 -> 3.41495042E+86001379 Inexact Rounded
+xadd420 add -68951173. -211804977.E-97318126 -> -68951173.0 Inexact Rounded
+xcom420 compare -68951173. -211804977.E-97318126 -> -1
+xdiv420 divide -68951173. -211804977.E-97318126 -> 3.25540854E+97318125 Inexact Rounded
+xdvi420 divideint -68951173. -211804977.E-97318126 -> NaN Division_impossible
+xmul420 multiply -68951173. -211804977.E-97318126 -> 1.46042016E-97318110 Inexact Rounded
+xpow420 power -68951173. -2 -> 2.10337488E-16 Inexact Rounded
+xrem420 remainder -68951173. -211804977.E-97318126 -> NaN Division_impossible
+xsub420 subtract -68951173. -211804977.E-97318126 -> -68951173.0 Inexact Rounded
+xadd421 add -4.09492571E-301749490 434.20199E-749390952 -> -4.09492571E-301749490 Inexact Rounded
+xcom421 compare -4.09492571E-301749490 434.20199E-749390952 -> -1
+xdiv421 divide -4.09492571E-301749490 434.20199E-749390952 -> -9.43092341E+447641459 Inexact Rounded
+xdvi421 divideint -4.09492571E-301749490 434.20199E-749390952 -> NaN Division_impossible
+xmul421 multiply -4.09492571E-301749490 434.20199E-749390952 -> -0E-1000000007 Underflow Subnormal Inexact Rounded
+xpow421 power -4.09492571E-301749490 4 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem421 remainder -4.09492571E-301749490 434.20199E-749390952 -> NaN Division_impossible
+xsub421 subtract -4.09492571E-301749490 434.20199E-749390952 -> -4.09492571E-301749490 Inexact Rounded
+xadd422 add 3898.03188 -82572.615 -> -78674.5831 Inexact Rounded
+xcom422 compare 3898.03188 -82572.615 -> 1
+xdiv422 divide 3898.03188 -82572.615 -> -0.0472073202 Inexact Rounded
+xdvi422 divideint 3898.03188 -82572.615 -> -0
+xmul422 multiply 3898.03188 -82572.615 -> -321870686 Inexact Rounded
+xpow422 power 3898.03188 -82573 -> 1.33010737E-296507 Inexact Rounded
+xrem422 remainder 3898.03188 -82572.615 -> 3898.03188
+xsub422 subtract 3898.03188 -82572.615 -> 86470.6469 Inexact Rounded
+xadd423 add -1.7619356 -2546.64043 -> -2548.40237 Inexact Rounded
+xcom423 compare -1.7619356 -2546.64043 -> 1
+xdiv423 divide -1.7619356 -2546.64043 -> 0.000691866657 Inexact Rounded
+xdvi423 divideint -1.7619356 -2546.64043 -> 0
+xmul423 multiply -1.7619356 -2546.64043 -> 4487.01643 Inexact Rounded
+xpow423 power -1.7619356 -2547 -> -2.90664557E-627 Inexact Rounded
+xrem423 remainder -1.7619356 -2546.64043 -> -1.7619356
+xsub423 subtract -1.7619356 -2546.64043 -> 2544.87849 Inexact Rounded
+xadd424 add 59714.1968 29734388.6E-564525525 -> 59714.1968 Inexact Rounded
+xcom424 compare 59714.1968 29734388.6E-564525525 -> 1
+xdiv424 divide 59714.1968 29734388.6E-564525525 -> 2.00825373E+564525522 Inexact Rounded
+xdvi424 divideint 59714.1968 29734388.6E-564525525 -> NaN Division_impossible
+xmul424 multiply 59714.1968 29734388.6E-564525525 -> 1.77556513E-564525513 Inexact Rounded
+xpow424 power 59714.1968 3 -> 2.12928005E+14 Inexact Rounded
+xrem424 remainder 59714.1968 29734388.6E-564525525 -> NaN Division_impossible
+xsub424 subtract 59714.1968 29734388.6E-564525525 -> 59714.1968 Inexact Rounded
+xadd425 add 6.88891136E-935467395 -785049.562E-741671442 -> -7.85049562E-741671437 Inexact Rounded
+xcom425 compare 6.88891136E-935467395 -785049.562E-741671442 -> 1
+xdiv425 divide 6.88891136E-935467395 -785049.562E-741671442 -> -8.77512923E-193795959 Inexact Rounded
+xdvi425 divideint 6.88891136E-935467395 -785049.562E-741671442 -> -0
+xmul425 multiply 6.88891136E-935467395 -785049.562E-741671442 -> -0E-1000000007 Underflow Subnormal Inexact Rounded
+xpow425 power 6.88891136E-935467395 -8 -> Infinity Overflow Inexact Rounded
+xrem425 remainder 6.88891136E-935467395 -785049.562E-741671442 -> 6.88891136E-935467395
+xsub425 subtract 6.88891136E-935467395 -785049.562E-741671442 -> 7.85049562E-741671437 Inexact Rounded
+xadd426 add 975566251 -519.858530 -> 975565731 Inexact Rounded
+xcom426 compare 975566251 -519.858530 -> 1
+xdiv426 divide 975566251 -519.858530 -> -1876599.49 Inexact Rounded
+xdvi426 divideint 975566251 -519.858530 -> -1876599
+xmul426 multiply 975566251 -519.858530 -> -5.07156437E+11 Inexact Rounded
+xpow426 power 975566251 -520 -> 3.85905300E-4675 Inexact Rounded
+xrem426 remainder 975566251 -519.858530 -> 253.460530
+xsub426 subtract 975566251 -519.858530 -> 975566771 Inexact Rounded
+xadd427 add 307401954 -231481582. -> 75920372
+xcom427 compare 307401954 -231481582. -> 1
+xdiv427 divide 307401954 -231481582. -> -1.32797586 Inexact Rounded
+xdvi427 divideint 307401954 -231481582. -> -1
+xmul427 multiply 307401954 -231481582. -> -7.11578906E+16 Inexact Rounded
+xpow427 power 307401954 -231481582 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem427 remainder 307401954 -231481582. -> 75920372
+xsub427 subtract 307401954 -231481582. -> 538883536
+xadd428 add 2237645.48E+992947388 -60618055.3E-857316706 -> 2.23764548E+992947394 Inexact Rounded
+xcom428 compare 2237645.48E+992947388 -60618055.3E-857316706 -> 1
+xdiv428 divide 2237645.48E+992947388 -60618055.3E-857316706 -> -Infinity Inexact Overflow Rounded
+xdvi428 divideint 2237645.48E+992947388 -60618055.3E-857316706 -> NaN Division_impossible
+xmul428 multiply 2237645.48E+992947388 -60618055.3E-857316706 -> -1.35641717E+135630696 Inexact Rounded
+xpow428 power 2237645.48E+992947388 -6 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem428 remainder 2237645.48E+992947388 -60618055.3E-857316706 -> NaN Division_impossible
+xsub428 subtract 2237645.48E+992947388 -60618055.3E-857316706 -> 2.23764548E+992947394 Inexact Rounded
+xadd429 add -403903.851 35.5049687E-72095155 -> -403903.851 Inexact Rounded
+xcom429 compare -403903.851 35.5049687E-72095155 -> -1
+xdiv429 divide -403903.851 35.5049687E-72095155 -> -1.13759810E+72095159 Inexact Rounded
+xdvi429 divideint -403903.851 35.5049687E-72095155 -> NaN Division_impossible
+xmul429 multiply -403903.851 35.5049687E-72095155 -> -1.43405936E-72095148 Inexact Rounded
+xpow429 power -403903.851 4 -> 2.66141117E+22 Inexact Rounded
+xrem429 remainder -403903.851 35.5049687E-72095155 -> NaN Division_impossible
+xsub429 subtract -403903.851 35.5049687E-72095155 -> -403903.851 Inexact Rounded
+xadd430 add 6.48674979 -621732.532E+422575800 -> -6.21732532E+422575805 Inexact Rounded
+xcom430 compare 6.48674979 -621732.532E+422575800 -> 1
+xdiv430 divide 6.48674979 -621732.532E+422575800 -> -1.04333447E-422575805 Inexact Rounded
+xdvi430 divideint 6.48674979 -621732.532E+422575800 -> -0
+xmul430 multiply 6.48674979 -621732.532E+422575800 -> -4.03302337E+422575806 Inexact Rounded
+xpow430 power 6.48674979 -6 -> 0.0000134226146 Inexact Rounded
+xrem430 remainder 6.48674979 -621732.532E+422575800 -> 6.48674979
+xsub430 subtract 6.48674979 -621732.532E+422575800 -> 6.21732532E+422575805 Inexact Rounded
+xadd431 add -31401.9418 36.3960679 -> -31365.5457 Inexact Rounded
+xcom431 compare -31401.9418 36.3960679 -> -1
+xdiv431 divide -31401.9418 36.3960679 -> -862.783911 Inexact Rounded
+xdvi431 divideint -31401.9418 36.3960679 -> -862
+xmul431 multiply -31401.9418 36.3960679 -> -1142907.21 Inexact Rounded
+xpow431 power -31401.9418 36 -> 7.77023505E+161 Inexact Rounded
+xrem431 remainder -31401.9418 36.3960679 -> -28.5312702
+xsub431 subtract -31401.9418 36.3960679 -> -31438.3379 Inexact Rounded
+xadd432 add 31345321.1 51.5482191 -> 31345372.6 Inexact Rounded
+xcom432 compare 31345321.1 51.5482191 -> 1
+xdiv432 divide 31345321.1 51.5482191 -> 608077.673 Inexact Rounded
+xdvi432 divideint 31345321.1 51.5482191 -> 608077
+xmul432 multiply 31345321.1 51.5482191 -> 1.61579548E+9 Inexact Rounded
+xpow432 power 31345321.1 52 -> 6.32385059E+389 Inexact Rounded
+xrem432 remainder 31345321.1 51.5482191 -> 34.6743293
+xsub432 subtract 31345321.1 51.5482191 -> 31345269.6 Inexact Rounded
+xadd433 add -64.172844 -28506227.2E-767965800 -> -64.1728440 Inexact Rounded
+xcom433 compare -64.172844 -28506227.2E-767965800 -> -1
+xdiv433 divide -64.172844 -28506227.2E-767965800 -> 2.25118686E+767965794 Inexact Rounded
+xdvi433 divideint -64.172844 -28506227.2E-767965800 -> NaN Division_impossible
+xmul433 multiply -64.172844 -28506227.2E-767965800 -> 1.82932567E-767965791 Inexact Rounded
+xpow433 power -64.172844 -3 -> -0.00000378395654 Inexact Rounded
+xrem433 remainder -64.172844 -28506227.2E-767965800 -> NaN Division_impossible
+xsub433 subtract -64.172844 -28506227.2E-767965800 -> -64.1728440 Inexact Rounded
+xadd434 add 70437.1551 -62916.1233 -> 7521.0318
+xcom434 compare 70437.1551 -62916.1233 -> 1
+xdiv434 divide 70437.1551 -62916.1233 -> -1.11954061 Inexact Rounded
+xdvi434 divideint 70437.1551 -62916.1233 -> -1
+xmul434 multiply 70437.1551 -62916.1233 -> -4.43163274E+9 Inexact Rounded
+xpow434 power 70437.1551 -62916 -> 5.02945060E-305005 Inexact Rounded
+xrem434 remainder 70437.1551 -62916.1233 -> 7521.0318
+xsub434 subtract 70437.1551 -62916.1233 -> 133353.278 Inexact Rounded
+xadd435 add 916260164 -58.4017325 -> 916260106 Inexact Rounded
+xcom435 compare 916260164 -58.4017325 -> 1
+xdiv435 divide 916260164 -58.4017325 -> -15688920.9 Inexact Rounded
+xdvi435 divideint 916260164 -58.4017325 -> -15688920
+xmul435 multiply 916260164 -58.4017325 -> -5.35111810E+10 Inexact Rounded
+xpow435 power 916260164 -58 -> 1.59554587E-520 Inexact Rounded
+xrem435 remainder 916260164 -58.4017325 -> 54.9461000
+xsub435 subtract 916260164 -58.4017325 -> 916260222 Inexact Rounded
+xadd436 add 19889085.3E-46816480 1581683.94 -> 1581683.94 Inexact Rounded
+xcom436 compare 19889085.3E-46816480 1581683.94 -> -1
+xdiv436 divide 19889085.3E-46816480 1581683.94 -> 1.25746268E-46816479 Inexact Rounded
+xdvi436 divideint 19889085.3E-46816480 1581683.94 -> 0
+xmul436 multiply 19889085.3E-46816480 1581683.94 -> 3.14582468E-46816467 Inexact Rounded
+xpow436 power 19889085.3E-46816480 1581684 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem436 remainder 19889085.3E-46816480 1581683.94 -> 1.98890853E-46816473
+xsub436 subtract 19889085.3E-46816480 1581683.94 -> -1581683.94 Inexact Rounded
+xadd437 add -56312.3383 789.466064 -> -55522.8722 Inexact Rounded
+xcom437 compare -56312.3383 789.466064 -> -1
+xdiv437 divide -56312.3383 789.466064 -> -71.3296503 Inexact Rounded
+xdvi437 divideint -56312.3383 789.466064 -> -71
+xmul437 multiply -56312.3383 789.466064 -> -44456680.1 Inexact Rounded
+xpow437 power -56312.3383 789 -> -1.68348724E+3748 Inexact Rounded
+xrem437 remainder -56312.3383 789.466064 -> -260.247756
+xsub437 subtract -56312.3383 789.466064 -> -57101.8044 Inexact Rounded
+xadd438 add 183442.849 -925876106 -> -925692663 Inexact Rounded
+xcom438 compare 183442.849 -925876106 -> 1
+xdiv438 divide 183442.849 -925876106 -> -0.000198128937 Inexact Rounded
+xdvi438 divideint 183442.849 -925876106 -> -0
+xmul438 multiply 183442.849 -925876106 -> -1.69845351E+14 Inexact Rounded
+xpow438 power 183442.849 -925876106 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem438 remainder 183442.849 -925876106 -> 183442.849
+xsub438 subtract 183442.849 -925876106 -> 926059549 Inexact Rounded
+xadd439 add 971113.655E-695540249 -419351120E-977743823 -> 9.71113655E-695540244 Inexact Rounded
+xcom439 compare 971113.655E-695540249 -419351120E-977743823 -> 1
+xdiv439 divide 971113.655E-695540249 -419351120E-977743823 -> -2.31575310E+282203571 Inexact Rounded
+xdvi439 divideint 971113.655E-695540249 -419351120E-977743823 -> NaN Division_impossible
+xmul439 multiply 971113.655E-695540249 -419351120E-977743823 -> -0E-1000000007 Underflow Subnormal Inexact Rounded
+xpow439 power 971113.655E-695540249 -4 -> Infinity Overflow Inexact Rounded
+xrem439 remainder 971113.655E-695540249 -419351120E-977743823 -> NaN Division_impossible
+xsub439 subtract 971113.655E-695540249 -419351120E-977743823 -> 9.71113655E-695540244 Inexact Rounded
+xadd440 add 859658551. 72338.2054 -> 859730889 Inexact Rounded
+xcom440 compare 859658551. 72338.2054 -> 1
+xdiv440 divide 859658551. 72338.2054 -> 11883.8800 Inexact Rounded
+xdvi440 divideint 859658551. 72338.2054 -> 11883
+xmul440 multiply 859658551. 72338.2054 -> 6.21861568E+13 Inexact Rounded
+xpow440 power 859658551. 72338 -> 1.87620450E+646291 Inexact Rounded
+xrem440 remainder 859658551. 72338.2054 -> 63656.2318
+xsub440 subtract 859658551. 72338.2054 -> 859586213 Inexact Rounded
+xadd441 add -3.86446630E+426816068 -664.534737 -> -3.86446630E+426816068 Inexact Rounded
+xcom441 compare -3.86446630E+426816068 -664.534737 -> -1
+xdiv441 divide -3.86446630E+426816068 -664.534737 -> 5.81529615E+426816065 Inexact Rounded
+xdvi441 divideint -3.86446630E+426816068 -664.534737 -> NaN Division_impossible
+xmul441 multiply -3.86446630E+426816068 -664.534737 -> 2.56807210E+426816071 Inexact Rounded
+xpow441 power -3.86446630E+426816068 -665 -> -0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem441 remainder -3.86446630E+426816068 -664.534737 -> NaN Division_impossible
+xsub441 subtract -3.86446630E+426816068 -664.534737 -> -3.86446630E+426816068 Inexact Rounded
+xadd442 add -969.881818 31170.8555 -> 30200.9737 Inexact Rounded
+xcom442 compare -969.881818 31170.8555 -> -1
+xdiv442 divide -969.881818 31170.8555 -> -0.0311150208 Inexact Rounded
+xdvi442 divideint -969.881818 31170.8555 -> -0
+xmul442 multiply -969.881818 31170.8555 -> -30232046.0 Inexact Rounded
+xpow442 power -969.881818 31171 -> -1.02865894E+93099 Inexact Rounded
+xrem442 remainder -969.881818 31170.8555 -> -969.881818
+xsub442 subtract -969.881818 31170.8555 -> -32140.7373 Inexact Rounded
+xadd443 add 7980537.27 85.4040512 -> 7980622.67 Inexact Rounded
+xcom443 compare 7980537.27 85.4040512 -> 1
+xdiv443 divide 7980537.27 85.4040512 -> 93444.4814 Inexact Rounded
+xdvi443 divideint 7980537.27 85.4040512 -> 93444
+xmul443 multiply 7980537.27 85.4040512 -> 681570214 Inexact Rounded
+xpow443 power 7980537.27 85 -> 4.70685763E+586 Inexact Rounded
+xrem443 remainder 7980537.27 85.4040512 -> 41.1096672
+xsub443 subtract 7980537.27 85.4040512 -> 7980451.87 Inexact Rounded
+xadd444 add -114609916. 7525.14981 -> -114602391 Inexact Rounded
+xcom444 compare -114609916. 7525.14981 -> -1
+xdiv444 divide -114609916. 7525.14981 -> -15230.2504 Inexact Rounded
+xdvi444 divideint -114609916. 7525.14981 -> -15230
+xmul444 multiply -114609916. 7525.14981 -> -8.62456788E+11 Inexact Rounded
+xpow444 power -114609916. 7525 -> -4.43620445E+60645 Inexact Rounded
+xrem444 remainder -114609916. 7525.14981 -> -1884.39370
+xsub444 subtract -114609916. 7525.14981 -> -114617441 Inexact Rounded
+xadd445 add 8.43404682E-500572568 474526719 -> 474526719 Inexact Rounded
+xcom445 compare 8.43404682E-500572568 474526719 -> -1
+xdiv445 divide 8.43404682E-500572568 474526719 -> 1.77735973E-500572576 Inexact Rounded
+xdvi445 divideint 8.43404682E-500572568 474526719 -> 0
+xmul445 multiply 8.43404682E-500572568 474526719 -> 4.00218057E-500572559 Inexact Rounded
+xpow445 power 8.43404682E-500572568 474526719 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem445 remainder 8.43404682E-500572568 474526719 -> 8.43404682E-500572568
+xsub445 subtract 8.43404682E-500572568 474526719 -> -474526719 Inexact Rounded
+xadd446 add 188006433 2260.17037E-978192525 -> 188006433 Inexact Rounded
+xcom446 compare 188006433 2260.17037E-978192525 -> 1
+xdiv446 divide 188006433 2260.17037E-978192525 -> 8.31824165E+978192529 Inexact Rounded
+xdvi446 divideint 188006433 2260.17037E-978192525 -> NaN Division_impossible
+xmul446 multiply 188006433 2260.17037E-978192525 -> 4.24926569E-978192514 Inexact Rounded
+xpow446 power 188006433 2 -> 3.53464188E+16 Inexact Rounded
+xrem446 remainder 188006433 2260.17037E-978192525 -> NaN Division_impossible
+xsub446 subtract 188006433 2260.17037E-978192525 -> 188006433 Inexact Rounded
+xadd447 add -9.95836312 -866466703 -> -866466713 Inexact Rounded
+xcom447 compare -9.95836312 -866466703 -> 1
+xdiv447 divide -9.95836312 -866466703 -> 1.14930707E-8 Inexact Rounded
+xdvi447 divideint -9.95836312 -866466703 -> 0
+xmul447 multiply -9.95836312 -866466703 -> 8.62859006E+9 Inexact Rounded
+xpow447 power -9.95836312 -866466703 -> -6.71744368E-864896630 Inexact Rounded
+xrem447 remainder -9.95836312 -866466703 -> -9.95836312
+xsub447 subtract -9.95836312 -866466703 -> 866466693 Inexact Rounded
+xadd448 add 80919339.2E-967231586 219.824266 -> 219.824266 Inexact Rounded
+xcom448 compare 80919339.2E-967231586 219.824266 -> -1
+xdiv448 divide 80919339.2E-967231586 219.824266 -> 3.68109220E-967231581 Inexact Rounded
+xdvi448 divideint 80919339.2E-967231586 219.824266 -> 0
+xmul448 multiply 80919339.2E-967231586 219.824266 -> 1.77880343E-967231576 Inexact Rounded
+xpow448 power 80919339.2E-967231586 220 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem448 remainder 80919339.2E-967231586 219.824266 -> 8.09193392E-967231579
+xsub448 subtract 80919339.2E-967231586 219.824266 -> -219.824266 Inexact Rounded
+xadd449 add 159579.444 -89827.5229 -> 69751.9211
+xcom449 compare 159579.444 -89827.5229 -> 1
+xdiv449 divide 159579.444 -89827.5229 -> -1.77650946 Inexact Rounded
+xdvi449 divideint 159579.444 -89827.5229 -> -1
+xmul449 multiply 159579.444 -89827.5229 -> -1.43346262E+10 Inexact Rounded
+xpow449 power 159579.444 -89828 -> 9.69955849E-467374 Inexact Rounded
+xrem449 remainder 159579.444 -89827.5229 -> 69751.9211
+xsub449 subtract 159579.444 -89827.5229 -> 249406.967 Inexact Rounded
+xadd450 add -4.54000153 6966333.74 -> 6966329.20 Inexact Rounded
+xcom450 compare -4.54000153 6966333.74 -> -1
+xdiv450 divide -4.54000153 6966333.74 -> -6.51706005E-7 Inexact Rounded
+xdvi450 divideint -4.54000153 6966333.74 -> -0
+xmul450 multiply -4.54000153 6966333.74 -> -31627165.8 Inexact Rounded
+xpow450 power -4.54000153 6966334 -> 3.52568913E+4577271 Inexact Rounded
+xrem450 remainder -4.54000153 6966333.74 -> -4.54000153
+xsub450 subtract -4.54000153 6966333.74 -> -6966338.28 Inexact Rounded
+xadd451 add 28701538.7E-391015649 -920999192. -> -920999192 Inexact Rounded
+xcom451 compare 28701538.7E-391015649 -920999192. -> 1
+xdiv451 divide 28701538.7E-391015649 -920999192. -> -3.11634787E-391015651 Inexact Rounded
+xdvi451 divideint 28701538.7E-391015649 -920999192. -> -0
+xmul451 multiply 28701538.7E-391015649 -920999192. -> -2.64340940E-391015633 Inexact Rounded
+xpow451 power 28701538.7E-391015649 -920999192 -> Infinity Overflow Inexact Rounded
+xrem451 remainder 28701538.7E-391015649 -920999192. -> 2.87015387E-391015642
+xsub451 subtract 28701538.7E-391015649 -920999192. -> 920999192 Inexact Rounded
+xadd452 add -361382575. -7976.15286E+898491169 -> -7.97615286E+898491172 Inexact Rounded
+xcom452 compare -361382575. -7976.15286E+898491169 -> 1
+xdiv452 divide -361382575. -7976.15286E+898491169 -> 4.53078798E-898491165 Inexact Rounded
+xdvi452 divideint -361382575. -7976.15286E+898491169 -> 0
+xmul452 multiply -361382575. -7976.15286E+898491169 -> 2.88244266E+898491181 Inexact Rounded
+xpow452 power -361382575. -8 -> 3.43765536E-69 Inexact Rounded
+xrem452 remainder -361382575. -7976.15286E+898491169 -> -361382575
+xsub452 subtract -361382575. -7976.15286E+898491169 -> 7.97615286E+898491172 Inexact Rounded
+xadd453 add 7021805.61 1222952.83 -> 8244758.44
+xcom453 compare 7021805.61 1222952.83 -> 1
+xdiv453 divide 7021805.61 1222952.83 -> 5.74168148 Inexact Rounded
+xdvi453 divideint 7021805.61 1222952.83 -> 5
+xmul453 multiply 7021805.61 1222952.83 -> 8.58733704E+12 Inexact Rounded
+xpow453 power 7021805.61 1222953 -> 1.26540553E+8372885 Inexact Rounded
+xrem453 remainder 7021805.61 1222952.83 -> 907041.46
+xsub453 subtract 7021805.61 1222952.83 -> 5798852.78
+xadd454 add -40.4811667 -79655.5635 -> -79696.0447 Inexact Rounded
+xcom454 compare -40.4811667 -79655.5635 -> 1
+xdiv454 divide -40.4811667 -79655.5635 -> 0.000508202628 Inexact Rounded
+xdvi454 divideint -40.4811667 -79655.5635 -> 0
+xmul454 multiply -40.4811667 -79655.5635 -> 3224550.14 Inexact Rounded
+xpow454 power -40.4811667 -79656 -> 4.50174275E-128028 Inexact Rounded
+xrem454 remainder -40.4811667 -79655.5635 -> -40.4811667
+xsub454 subtract -40.4811667 -79655.5635 -> 79615.0823 Inexact Rounded
+xadd455 add -8755674.38E+117168177 148.903404 -> -8.75567438E+117168183 Inexact Rounded
+xcom455 compare -8755674.38E+117168177 148.903404 -> -1
+xdiv455 divide -8755674.38E+117168177 148.903404 -> -5.88010357E+117168181 Inexact Rounded
+xdvi455 divideint -8755674.38E+117168177 148.903404 -> NaN Division_impossible
+xmul455 multiply -8755674.38E+117168177 148.903404 -> -1.30374972E+117168186 Inexact Rounded
+xpow455 power -8755674.38E+117168177 149 -> -Infinity Overflow Inexact Rounded
+xrem455 remainder -8755674.38E+117168177 148.903404 -> NaN Division_impossible
+xsub455 subtract -8755674.38E+117168177 148.903404 -> -8.75567438E+117168183 Inexact Rounded
+xadd456 add 34.5329781E+382829392 -45.2177309 -> 3.45329781E+382829393 Inexact Rounded
+xcom456 compare 34.5329781E+382829392 -45.2177309 -> 1
+xdiv456 divide 34.5329781E+382829392 -45.2177309 -> -7.63704357E+382829391 Inexact Rounded
+xdvi456 divideint 34.5329781E+382829392 -45.2177309 -> NaN Division_impossible
+xmul456 multiply 34.5329781E+382829392 -45.2177309 -> -1.56150291E+382829395 Inexact Rounded
+xpow456 power 34.5329781E+382829392 -45 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem456 remainder 34.5329781E+382829392 -45.2177309 -> NaN Division_impossible
+xsub456 subtract 34.5329781E+382829392 -45.2177309 -> 3.45329781E+382829393 Inexact Rounded
+xadd457 add -37958476.0 584367.935 -> -37374108.1 Inexact Rounded
+xcom457 compare -37958476.0 584367.935 -> -1
+xdiv457 divide -37958476.0 584367.935 -> -64.9564662 Inexact Rounded
+xdvi457 divideint -37958476.0 584367.935 -> -64
+xmul457 multiply -37958476.0 584367.935 -> -2.21817162E+13 Inexact Rounded
+xpow457 power -37958476.0 584368 -> 3.20538268E+4429105 Inexact Rounded
+xrem457 remainder -37958476.0 584367.935 -> -558928.160
+xsub457 subtract -37958476.0 584367.935 -> -38542843.9 Inexact Rounded
+xadd458 add 495233.553E-414152215 62352759.2 -> 62352759.2 Inexact Rounded
+xcom458 compare 495233.553E-414152215 62352759.2 -> -1
+xdiv458 divide 495233.553E-414152215 62352759.2 -> 7.94244809E-414152218 Inexact Rounded
+xdvi458 divideint 495233.553E-414152215 62352759.2 -> 0
+xmul458 multiply 495233.553E-414152215 62352759.2 -> 3.08791785E-414152202 Inexact Rounded
+xpow458 power 495233.553E-414152215 62352759 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem458 remainder 495233.553E-414152215 62352759.2 -> 4.95233553E-414152210
+xsub458 subtract 495233.553E-414152215 62352759.2 -> -62352759.2 Inexact Rounded
+xadd459 add -502343060 -96828.994 -> -502439889 Inexact Rounded
+xcom459 compare -502343060 -96828.994 -> -1
+xdiv459 divide -502343060 -96828.994 -> 5187.94050 Inexact Rounded
+xdvi459 divideint -502343060 -96828.994 -> 5187
+xmul459 multiply -502343060 -96828.994 -> 4.86413731E+13 Inexact Rounded
+xpow459 power -502343060 -96829 -> -6.78602119E-842510 Inexact Rounded
+xrem459 remainder -502343060 -96828.994 -> -91068.122
+xsub459 subtract -502343060 -96828.994 -> -502246231 Inexact Rounded
+xadd460 add -22.439639E+916362878 -39.4037681 -> -2.24396390E+916362879 Inexact Rounded
+xcom460 compare -22.439639E+916362878 -39.4037681 -> -1
+xdiv460 divide -22.439639E+916362878 -39.4037681 -> 5.69479521E+916362877 Inexact Rounded
+xdvi460 divideint -22.439639E+916362878 -39.4037681 -> NaN Division_impossible
+xmul460 multiply -22.439639E+916362878 -39.4037681 -> 8.84206331E+916362880 Inexact Rounded
+xpow460 power -22.439639E+916362878 -39 -> -0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem460 remainder -22.439639E+916362878 -39.4037681 -> NaN Division_impossible
+xsub460 subtract -22.439639E+916362878 -39.4037681 -> -2.24396390E+916362879 Inexact Rounded
+xadd461 add 718180.587E-957473722 1.66223443 -> 1.66223443 Inexact Rounded
+xcom461 compare 718180.587E-957473722 1.66223443 -> -1
+xdiv461 divide 718180.587E-957473722 1.66223443 -> 4.32057340E-957473717 Inexact Rounded
+xdvi461 divideint 718180.587E-957473722 1.66223443 -> 0
+xmul461 multiply 718180.587E-957473722 1.66223443 -> 1.19378450E-957473716 Inexact Rounded
+xpow461 power 718180.587E-957473722 2 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem461 remainder 718180.587E-957473722 1.66223443 -> 7.18180587E-957473717
+xsub461 subtract 718180.587E-957473722 1.66223443 -> -1.66223443 Inexact Rounded
+xadd462 add -51592.2698 -713885.741 -> -765478.011 Inexact Rounded
+xcom462 compare -51592.2698 -713885.741 -> 1
+xdiv462 divide -51592.2698 -713885.741 -> 0.0722696460 Inexact Rounded
+xdvi462 divideint -51592.2698 -713885.741 -> 0
+xmul462 multiply -51592.2698 -713885.741 -> 3.68309858E+10 Inexact Rounded
+xpow462 power -51592.2698 -713886 -> 6.38576921E-3364249 Inexact Rounded
+xrem462 remainder -51592.2698 -713885.741 -> -51592.2698
+xsub462 subtract -51592.2698 -713885.741 -> 662293.471 Inexact Rounded
+xadd463 add 51.2279848E+80439745 207.55925E+865165070 -> 2.07559250E+865165072 Inexact Rounded
+xcom463 compare 51.2279848E+80439745 207.55925E+865165070 -> -1
+xdiv463 divide 51.2279848E+80439745 207.55925E+865165070 -> 2.46811379E-784725326 Inexact Rounded
+xdvi463 divideint 51.2279848E+80439745 207.55925E+865165070 -> 0
+xmul463 multiply 51.2279848E+80439745 207.55925E+865165070 -> 1.06328421E+945604819 Inexact Rounded
+xpow463 power 51.2279848E+80439745 2 -> 2.62430643E+160879493 Inexact Rounded
+xrem463 remainder 51.2279848E+80439745 207.55925E+865165070 -> 5.12279848E+80439746
+xsub463 subtract 51.2279848E+80439745 207.55925E+865165070 -> -2.07559250E+865165072 Inexact Rounded
+xadd464 add -5983.23468 -39.9544513 -> -6023.18913 Inexact Rounded
+xcom464 compare -5983.23468 -39.9544513 -> -1
+xdiv464 divide -5983.23468 -39.9544513 -> 149.751392 Inexact Rounded
+xdvi464 divideint -5983.23468 -39.9544513 -> 149
+xmul464 multiply -5983.23468 -39.9544513 -> 239056.859 Inexact Rounded
+xpow464 power -5983.23468 -40 -> 8.36678291E-152 Inexact Rounded
+xrem464 remainder -5983.23468 -39.9544513 -> -30.0214363
+xsub464 subtract -5983.23468 -39.9544513 -> -5943.28023 Inexact Rounded
+xadd465 add 921639332.E-917542963 287325.891 -> 287325.891 Inexact Rounded
+xcom465 compare 921639332.E-917542963 287325.891 -> -1
+xdiv465 divide 921639332.E-917542963 287325.891 -> 3.20764456E-917542960 Inexact Rounded
+xdvi465 divideint 921639332.E-917542963 287325.891 -> 0
+xmul465 multiply 921639332.E-917542963 287325.891 -> 2.64810842E-917542949 Inexact Rounded
+xpow465 power 921639332.E-917542963 287326 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem465 remainder 921639332.E-917542963 287325.891 -> 9.21639332E-917542955
+xsub465 subtract 921639332.E-917542963 287325.891 -> -287325.891 Inexact Rounded
+xadd466 add 91095916.8E-787312969 -58643.418E+58189880 -> -5.86434180E+58189884 Inexact Rounded
+xcom466 compare 91095916.8E-787312969 -58643.418E+58189880 -> 1
+xdiv466 divide 91095916.8E-787312969 -58643.418E+58189880 -> -1.55338689E-845502846 Inexact Rounded
+xdvi466 divideint 91095916.8E-787312969 -58643.418E+58189880 -> -0
+xmul466 multiply 91095916.8E-787312969 -58643.418E+58189880 -> -5.34217593E-729123077 Inexact Rounded
+xpow466 power 91095916.8E-787312969 -6 -> Infinity Overflow Inexact Rounded
+xrem466 remainder 91095916.8E-787312969 -58643.418E+58189880 -> 9.10959168E-787312962
+xsub466 subtract 91095916.8E-787312969 -58643.418E+58189880 -> 5.86434180E+58189884 Inexact Rounded
+xadd467 add -6410.5555 -234964259 -> -234970670 Inexact Rounded
+xcom467 compare -6410.5555 -234964259 -> 1
+xdiv467 divide -6410.5555 -234964259 -> 0.0000272831090 Inexact Rounded
+xdvi467 divideint -6410.5555 -234964259 -> 0
+xmul467 multiply -6410.5555 -234964259 -> 1.50625142E+12 Inexact Rounded
+xpow467 power -6410.5555 -234964259 -> -1.27064467E-894484419 Inexact Rounded
+xrem467 remainder -6410.5555 -234964259 -> -6410.5555
+xsub467 subtract -6410.5555 -234964259 -> 234957848 Inexact Rounded
+xadd468 add -5.32711606 -8447286.21 -> -8447291.54 Inexact Rounded
+xcom468 compare -5.32711606 -8447286.21 -> 1
+xdiv468 divide -5.32711606 -8447286.21 -> 6.30630468E-7 Inexact Rounded
+xdvi468 divideint -5.32711606 -8447286.21 -> 0
+xmul468 multiply -5.32711606 -8447286.21 -> 44999674.0 Inexact Rounded
+xpow468 power -5.32711606 -8447286 -> 9.09138729E-6136888 Inexact Rounded
+xrem468 remainder -5.32711606 -8447286.21 -> -5.32711606
+xsub468 subtract -5.32711606 -8447286.21 -> 8447280.88 Inexact Rounded
+xadd469 add -82272171.8 -776.238587E-372690416 -> -82272171.8 Inexact Rounded
+xcom469 compare -82272171.8 -776.238587E-372690416 -> -1
+xdiv469 divide -82272171.8 -776.238587E-372690416 -> 1.05988253E+372690421 Inexact Rounded
+xdvi469 divideint -82272171.8 -776.238587E-372690416 -> NaN Division_impossible
+xmul469 multiply -82272171.8 -776.238587E-372690416 -> 6.38628344E-372690406 Inexact Rounded
+xpow469 power -82272171.8 -8 -> 4.76404994E-64 Inexact Rounded
+xrem469 remainder -82272171.8 -776.238587E-372690416 -> NaN Division_impossible
+xsub469 subtract -82272171.8 -776.238587E-372690416 -> -82272171.8 Inexact Rounded
+xadd470 add 412411244.E-774339264 866452.465 -> 866452.465 Inexact Rounded
+xcom470 compare 412411244.E-774339264 866452.465 -> -1
+xdiv470 divide 412411244.E-774339264 866452.465 -> 4.75976768E-774339262 Inexact Rounded
+xdvi470 divideint 412411244.E-774339264 866452.465 -> 0
+xmul470 multiply 412411244.E-774339264 866452.465 -> 3.57334739E-774339250 Inexact Rounded
+xpow470 power 412411244.E-774339264 866452 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem470 remainder 412411244.E-774339264 866452.465 -> 4.12411244E-774339256
+xsub470 subtract 412411244.E-774339264 866452.465 -> -866452.465 Inexact Rounded
+xadd471 add -103.474598 -3.01660661E-446661257 -> -103.474598 Inexact Rounded
+xcom471 compare -103.474598 -3.01660661E-446661257 -> -1
+xdiv471 divide -103.474598 -3.01660661E-446661257 -> 3.43016546E+446661258 Inexact Rounded
+xdvi471 divideint -103.474598 -3.01660661E-446661257 -> NaN Division_impossible
+xmul471 multiply -103.474598 -3.01660661E-446661257 -> 3.12142156E-446661255 Inexact Rounded
+xpow471 power -103.474598 -3 -> -9.02607123E-7 Inexact Rounded
+xrem471 remainder -103.474598 -3.01660661E-446661257 -> NaN Division_impossible
+xsub471 subtract -103.474598 -3.01660661E-446661257 -> -103.474598 Inexact Rounded
+xadd472 add -31027.8323 -475378186. -> -475409214 Inexact Rounded
+xcom472 compare -31027.8323 -475378186. -> 1
+xdiv472 divide -31027.8323 -475378186. -> 0.0000652697856 Inexact Rounded
+xdvi472 divideint -31027.8323 -475378186. -> 0
+xmul472 multiply -31027.8323 -475378186. -> 1.47499546E+13 Inexact Rounded
+xpow472 power -31027.8323 -475378186 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem472 remainder -31027.8323 -475378186. -> -31027.8323
+xsub472 subtract -31027.8323 -475378186. -> 475347158 Inexact Rounded
+xadd473 add -1199339.72 -5.73068392E+53774632 -> -5.73068392E+53774632 Inexact Rounded
+xcom473 compare -1199339.72 -5.73068392E+53774632 -> 1
+xdiv473 divide -1199339.72 -5.73068392E+53774632 -> 2.09283872E-53774627 Inexact Rounded
+xdvi473 divideint -1199339.72 -5.73068392E+53774632 -> 0
+xmul473 multiply -1199339.72 -5.73068392E+53774632 -> 6.87303685E+53774638 Inexact Rounded
+xpow473 power -1199339.72 -6 -> 3.36005741E-37 Inexact Rounded
+xrem473 remainder -1199339.72 -5.73068392E+53774632 -> -1199339.72
+xsub473 subtract -1199339.72 -5.73068392E+53774632 -> 5.73068392E+53774632 Inexact Rounded
+xadd474 add -732908.930E+364345433 -3486146.26 -> -7.32908930E+364345438 Inexact Rounded
+xcom474 compare -732908.930E+364345433 -3486146.26 -> -1
+xdiv474 divide -732908.930E+364345433 -3486146.26 -> 2.10234705E+364345432 Inexact Rounded
+xdvi474 divideint -732908.930E+364345433 -3486146.26 -> NaN Division_impossible
+xmul474 multiply -732908.930E+364345433 -3486146.26 -> 2.55502773E+364345445 Inexact Rounded
+xpow474 power -732908.930E+364345433 -3486146 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem474 remainder -732908.930E+364345433 -3486146.26 -> NaN Division_impossible
+xsub474 subtract -732908.930E+364345433 -3486146.26 -> -7.32908930E+364345438 Inexact Rounded
+xadd475 add -2376150.83 -46777583.3 -> -49153734.1 Inexact Rounded
+xcom475 compare -2376150.83 -46777583.3 -> 1
+xdiv475 divide -2376150.83 -46777583.3 -> 0.0507967847 Inexact Rounded
+xdvi475 divideint -2376150.83 -46777583.3 -> 0
+xmul475 multiply -2376150.83 -46777583.3 -> 1.11150593E+14 Inexact Rounded
+xpow475 power -2376150.83 -46777583 -> -3.51886193E-298247976 Inexact Rounded
+xrem475 remainder -2376150.83 -46777583.3 -> -2376150.83
+xsub475 subtract -2376150.83 -46777583.3 -> 44401432.5 Inexact Rounded
+xadd476 add 6.3664211 -140854908. -> -140854902 Inexact Rounded
+xcom476 compare 6.3664211 -140854908. -> 1
+xdiv476 divide 6.3664211 -140854908. -> -4.51984328E-8 Inexact Rounded
+xdvi476 divideint 6.3664211 -140854908. -> -0
+xmul476 multiply 6.3664211 -140854908. -> -896741658 Inexact Rounded
+xpow476 power 6.3664211 -140854908 -> 7.25432803E-113232608 Inexact Rounded
+xrem476 remainder 6.3664211 -140854908. -> 6.3664211
+xsub476 subtract 6.3664211 -140854908. -> 140854914 Inexact Rounded
+xadd477 add -15.791522 1902.30210E+90741844 -> 1.90230210E+90741847 Inexact Rounded
+xcom477 compare -15.791522 1902.30210E+90741844 -> -1
+xdiv477 divide -15.791522 1902.30210E+90741844 -> -8.30126929E-90741847 Inexact Rounded
+xdvi477 divideint -15.791522 1902.30210E+90741844 -> -0
+xmul477 multiply -15.791522 1902.30210E+90741844 -> -3.00402455E+90741848 Inexact Rounded
+xpow477 power -15.791522 2 -> 249.372167 Inexact Rounded
+xrem477 remainder -15.791522 1902.30210E+90741844 -> -15.791522
+xsub477 subtract -15.791522 1902.30210E+90741844 -> -1.90230210E+90741847 Inexact Rounded
+xadd478 add 15356.1505E+373950429 2.88020400 -> 1.53561505E+373950433 Inexact Rounded
+xcom478 compare 15356.1505E+373950429 2.88020400 -> 1
+xdiv478 divide 15356.1505E+373950429 2.88020400 -> 5.33161905E+373950432 Inexact Rounded
+xdvi478 divideint 15356.1505E+373950429 2.88020400 -> NaN Division_impossible
+xmul478 multiply 15356.1505E+373950429 2.88020400 -> 4.42288461E+373950433 Inexact Rounded
+xpow478 power 15356.1505E+373950429 3 -> Infinity Overflow Inexact Rounded
+xrem478 remainder 15356.1505E+373950429 2.88020400 -> NaN Division_impossible
+xsub478 subtract 15356.1505E+373950429 2.88020400 -> 1.53561505E+373950433 Inexact Rounded
+xadd479 add -3.12001326E+318884762 9567.21595 -> -3.12001326E+318884762 Inexact Rounded
+xcom479 compare -3.12001326E+318884762 9567.21595 -> -1
+xdiv479 divide -3.12001326E+318884762 9567.21595 -> -3.26115066E+318884758 Inexact Rounded
+xdvi479 divideint -3.12001326E+318884762 9567.21595 -> NaN Division_impossible
+xmul479 multiply -3.12001326E+318884762 9567.21595 -> -2.98498406E+318884766 Inexact Rounded
+xpow479 power -3.12001326E+318884762 9567 -> -Infinity Overflow Inexact Rounded
+xrem479 remainder -3.12001326E+318884762 9567.21595 -> NaN Division_impossible
+xsub479 subtract -3.12001326E+318884762 9567.21595 -> -3.12001326E+318884762 Inexact Rounded
+xadd480 add 49436.6528 751.919517 -> 50188.5723 Inexact Rounded
+xcom480 compare 49436.6528 751.919517 -> 1
+xdiv480 divide 49436.6528 751.919517 -> 65.7472664 Inexact Rounded
+xdvi480 divideint 49436.6528 751.919517 -> 65
+xmul480 multiply 49436.6528 751.919517 -> 37172384.1 Inexact Rounded
+xpow480 power 49436.6528 752 -> 8.41185718E+3529 Inexact Rounded
+xrem480 remainder 49436.6528 751.919517 -> 561.884195
+xsub480 subtract 49436.6528 751.919517 -> 48684.7333 Inexact Rounded
+xadd481 add 552.669453 8.3725760E+16223526 -> 8.37257600E+16223526 Inexact Rounded
+xcom481 compare 552.669453 8.3725760E+16223526 -> -1
+xdiv481 divide 552.669453 8.3725760E+16223526 -> 6.60094878E-16223525 Inexact Rounded
+xdvi481 divideint 552.669453 8.3725760E+16223526 -> 0
+xmul481 multiply 552.669453 8.3725760E+16223526 -> 4.62726700E+16223529 Inexact Rounded
+xpow481 power 552.669453 8 -> 8.70409632E+21 Inexact Rounded
+xrem481 remainder 552.669453 8.3725760E+16223526 -> 552.669453
+xsub481 subtract 552.669453 8.3725760E+16223526 -> -8.37257600E+16223526 Inexact Rounded
+xadd482 add -3266303 453741.520 -> -2812561.48 Rounded
+xcom482 compare -3266303 453741.520 -> -1
+xdiv482 divide -3266303 453741.520 -> -7.19859844 Inexact Rounded
+xdvi482 divideint -3266303 453741.520 -> -7
+xmul482 multiply -3266303 453741.520 -> -1.48205729E+12 Inexact Rounded
+xpow482 power -3266303 453742 -> 1.02497315E+2955701 Inexact Rounded
+xrem482 remainder -3266303 453741.520 -> -90112.360
+xsub482 subtract -3266303 453741.520 -> -3720044.52 Rounded
+xadd483 add 12302757.4 542922.487E+414443353 -> 5.42922487E+414443358 Inexact Rounded
+xcom483 compare 12302757.4 542922.487E+414443353 -> -1
+xdiv483 divide 12302757.4 542922.487E+414443353 -> 2.26602465E-414443352 Inexact Rounded
+xdvi483 divideint 12302757.4 542922.487E+414443353 -> 0
+xmul483 multiply 12302757.4 542922.487E+414443353 -> 6.67944364E+414443365 Inexact Rounded
+xpow483 power 12302757.4 5 -> 2.81846276E+35 Inexact Rounded
+xrem483 remainder 12302757.4 542922.487E+414443353 -> 12302757.4
+xsub483 subtract 12302757.4 542922.487E+414443353 -> -5.42922487E+414443358 Inexact Rounded
+xadd484 add -5670757.79E-784754984 128144.503 -> 128144.503 Inexact Rounded
+xcom484 compare -5670757.79E-784754984 128144.503 -> -1
+xdiv484 divide -5670757.79E-784754984 128144.503 -> -4.42528369E-784754983 Inexact Rounded
+xdvi484 divideint -5670757.79E-784754984 128144.503 -> -0
+xmul484 multiply -5670757.79E-784754984 128144.503 -> -7.26676439E-784754973 Inexact Rounded
+xpow484 power -5670757.79E-784754984 128145 -> -0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem484 remainder -5670757.79E-784754984 128144.503 -> -5.67075779E-784754978
+xsub484 subtract -5670757.79E-784754984 128144.503 -> -128144.503 Inexact Rounded
+xadd485 add 22.7721968E+842530698 5223.70462 -> 2.27721968E+842530699 Inexact Rounded
+xcom485 compare 22.7721968E+842530698 5223.70462 -> 1
+xdiv485 divide 22.7721968E+842530698 5223.70462 -> 4.35939596E+842530695 Inexact Rounded
+xdvi485 divideint 22.7721968E+842530698 5223.70462 -> NaN Division_impossible
+xmul485 multiply 22.7721968E+842530698 5223.70462 -> 1.18955230E+842530703 Inexact Rounded
+xpow485 power 22.7721968E+842530698 5224 -> Infinity Overflow Inexact Rounded
+xrem485 remainder 22.7721968E+842530698 5223.70462 -> NaN Division_impossible
+xsub485 subtract 22.7721968E+842530698 5223.70462 -> 2.27721968E+842530699 Inexact Rounded
+xadd486 add 88.5158199E-980164357 325846116 -> 325846116 Inexact Rounded
+xcom486 compare 88.5158199E-980164357 325846116 -> -1
+xdiv486 divide 88.5158199E-980164357 325846116 -> 2.71649148E-980164364 Inexact Rounded
+xdvi486 divideint 88.5158199E-980164357 325846116 -> 0
+xmul486 multiply 88.5158199E-980164357 325846116 -> 2.88425361E-980164347 Inexact Rounded
+xpow486 power 88.5158199E-980164357 325846116 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem486 remainder 88.5158199E-980164357 325846116 -> 8.85158199E-980164356
+xsub486 subtract 88.5158199E-980164357 325846116 -> -325846116 Inexact Rounded
+xadd487 add -22881.0408 5.63661562 -> -22875.4042 Inexact Rounded
+xcom487 compare -22881.0408 5.63661562 -> -1
+xdiv487 divide -22881.0408 5.63661562 -> -4059.35802 Inexact Rounded
+xdvi487 divideint -22881.0408 5.63661562 -> -4059
+xmul487 multiply -22881.0408 5.63661562 -> -128971.632 Inexact Rounded
+xpow487 power -22881.0408 6 -> 1.43500909E+26 Inexact Rounded
+xrem487 remainder -22881.0408 5.63661562 -> -2.01799842
+xsub487 subtract -22881.0408 5.63661562 -> -22886.6774 Inexact Rounded
+xadd488 add -7157.57449 -76.4455519E-85647047 -> -7157.57449 Inexact Rounded
+xcom488 compare -7157.57449 -76.4455519E-85647047 -> -1
+xdiv488 divide -7157.57449 -76.4455519E-85647047 -> 9.36297052E+85647048 Inexact Rounded
+xdvi488 divideint -7157.57449 -76.4455519E-85647047 -> NaN Division_impossible
+xmul488 multiply -7157.57449 -76.4455519E-85647047 -> 5.47164732E-85647042 Inexact Rounded
+xpow488 power -7157.57449 -8 -> 1.45168700E-31 Inexact Rounded
+xrem488 remainder -7157.57449 -76.4455519E-85647047 -> NaN Division_impossible
+xsub488 subtract -7157.57449 -76.4455519E-85647047 -> -7157.57449 Inexact Rounded
+xadd489 add -503113.801 -9715149.82E-612184422 -> -503113.801 Inexact Rounded
+xcom489 compare -503113.801 -9715149.82E-612184422 -> -1
+xdiv489 divide -503113.801 -9715149.82E-612184422 -> 5.17865201E+612184420 Inexact Rounded
+xdvi489 divideint -503113.801 -9715149.82E-612184422 -> NaN Division_impossible
+xmul489 multiply -503113.801 -9715149.82E-612184422 -> 4.88782595E-612184410 Inexact Rounded
+xpow489 power -503113.801 -10 -> 9.62360287E-58 Inexact Rounded
+xrem489 remainder -503113.801 -9715149.82E-612184422 -> NaN Division_impossible
+xsub489 subtract -503113.801 -9715149.82E-612184422 -> -503113.801 Inexact Rounded
+xadd490 add -3066962.41 -55.3096879 -> -3067017.72 Inexact Rounded
+xcom490 compare -3066962.41 -55.3096879 -> -1
+xdiv490 divide -3066962.41 -55.3096879 -> 55450.7271 Inexact Rounded
+xdvi490 divideint -3066962.41 -55.3096879 -> 55450
+xmul490 multiply -3066962.41 -55.3096879 -> 169632734 Inexact Rounded
+xpow490 power -3066962.41 -55 -> -1.70229600E-357 Inexact Rounded
+xrem490 remainder -3066962.41 -55.3096879 -> -40.2159450
+xsub490 subtract -3066962.41 -55.3096879 -> -3066907.10 Inexact Rounded
+xadd491 add -53311.5738E+156608936 -7.45890666 -> -5.33115738E+156608940 Inexact Rounded
+xcom491 compare -53311.5738E+156608936 -7.45890666 -> -1
+xdiv491 divide -53311.5738E+156608936 -7.45890666 -> 7.14737109E+156608939 Inexact Rounded
+xdvi491 divideint -53311.5738E+156608936 -7.45890666 -> NaN Division_impossible
+xmul491 multiply -53311.5738E+156608936 -7.45890666 -> 3.97646053E+156608941 Inexact Rounded
+xpow491 power -53311.5738E+156608936 -7 -> -0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem491 remainder -53311.5738E+156608936 -7.45890666 -> NaN Division_impossible
+xsub491 subtract -53311.5738E+156608936 -7.45890666 -> -5.33115738E+156608940 Inexact Rounded
+xadd492 add 998890068. -92.057879 -> 998889976 Inexact Rounded
+xcom492 compare 998890068. -92.057879 -> 1
+xdiv492 divide 998890068. -92.057879 -> -10850674.4 Inexact Rounded
+xdvi492 divideint 998890068. -92.057879 -> -10850674
+xmul492 multiply 998890068. -92.057879 -> -9.19557010E+10 Inexact Rounded
+xpow492 power 998890068. -92 -> 1.10757225E-828 Inexact Rounded
+xrem492 remainder 998890068. -92.057879 -> 33.839554
+xsub492 subtract 998890068. -92.057879 -> 998890160 Inexact Rounded
+xadd493 add 122.495591 -407836028. -> -407835906 Inexact Rounded
+xcom493 compare 122.495591 -407836028. -> 1
+xdiv493 divide 122.495591 -407836028. -> -3.00355002E-7 Inexact Rounded
+xdvi493 divideint 122.495591 -407836028. -> -0
+xmul493 multiply 122.495591 -407836028. -> -4.99581153E+10 Inexact Rounded
+xpow493 power 122.495591 -407836028 -> 4.82463773E-851610754 Inexact Rounded
+xrem493 remainder 122.495591 -407836028. -> 122.495591
+xsub493 subtract 122.495591 -407836028. -> 407836150 Inexact Rounded
+xadd494 add 187098.488 6220.05584E-236541249 -> 187098.488 Inexact Rounded
+xcom494 compare 187098.488 6220.05584E-236541249 -> 1
+xdiv494 divide 187098.488 6220.05584E-236541249 -> 3.00798727E+236541250 Inexact Rounded
+xdvi494 divideint 187098.488 6220.05584E-236541249 -> NaN Division_impossible
+xmul494 multiply 187098.488 6220.05584E-236541249 -> 1.16376304E-236541240 Inexact Rounded
+xpow494 power 187098.488 6 -> 4.28964811E+31 Inexact Rounded
+xrem494 remainder 187098.488 6220.05584E-236541249 -> NaN Division_impossible
+xsub494 subtract 187098.488 6220.05584E-236541249 -> 187098.488 Inexact Rounded
+xadd495 add 4819899.21E+432982550 -727441917 -> 4.81989921E+432982556 Inexact Rounded
+xcom495 compare 4819899.21E+432982550 -727441917 -> 1
+xdiv495 divide 4819899.21E+432982550 -727441917 -> -6.62582001E+432982547 Inexact Rounded
+xdvi495 divideint 4819899.21E+432982550 -727441917 -> NaN Division_impossible
+xmul495 multiply 4819899.21E+432982550 -727441917 -> -3.50619672E+432982565 Inexact Rounded
+xpow495 power 4819899.21E+432982550 -727441917 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem495 remainder 4819899.21E+432982550 -727441917 -> NaN Division_impossible
+xsub495 subtract 4819899.21E+432982550 -727441917 -> 4.81989921E+432982556 Inexact Rounded
+xadd496 add 5770.01020E+507459752 -4208339.33E-129766680 -> 5.77001020E+507459755 Inexact Rounded
+xcom496 compare 5770.01020E+507459752 -4208339.33E-129766680 -> 1
+xdiv496 divide 5770.01020E+507459752 -4208339.33E-129766680 -> -1.37108958E+637226429 Inexact Rounded
+xdvi496 divideint 5770.01020E+507459752 -4208339.33E-129766680 -> NaN Division_impossible
+xmul496 multiply 5770.01020E+507459752 -4208339.33E-129766680 -> -2.42821609E+377693082 Inexact Rounded
+xpow496 power 5770.01020E+507459752 -4 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
+xrem496 remainder 5770.01020E+507459752 -4208339.33E-129766680 -> NaN Division_impossible
+xsub496 subtract 5770.01020E+507459752 -4208339.33E-129766680 -> 5.77001020E+507459755 Inexact Rounded
+xadd497 add -286.371320 710319152 -> 710318866 Inexact Rounded
+xcom497 compare -286.371320 710319152 -> -1
+xdiv497 divide -286.371320 710319152 -> -4.03158664E-7 Inexact Rounded
+xdvi497 divideint -286.371320 710319152 -> -0
+xmul497 multiply -286.371320 710319152 -> -2.03415033E+11 Inexact Rounded
+xpow497 power -286.371320 710319152 -> Infinity Overflow Inexact Rounded
+xrem497 remainder -286.371320 710319152 -> -286.371320
+xsub497 subtract -286.371320 710319152 -> -710319438 Inexact Rounded
+xadd498 add -7.27403536 -481469656E-835183700 -> -7.27403536 Inexact Rounded
+xcom498 compare -7.27403536 -481469656E-835183700 -> -1
+xdiv498 divide -7.27403536 -481469656E-835183700 -> 1.51079830E+835183692 Inexact Rounded
+xdvi498 divideint -7.27403536 -481469656E-835183700 -> NaN Division_impossible
+xmul498 multiply -7.27403536 -481469656E-835183700 -> 3.50222730E-835183691 Inexact Rounded
+xpow498 power -7.27403536 -5 -> -0.0000491046885 Inexact Rounded
+xrem498 remainder -7.27403536 -481469656E-835183700 -> NaN Division_impossible
+xsub498 subtract -7.27403536 -481469656E-835183700 -> -7.27403536 Inexact Rounded
+xadd499 add -6157.74292 -94075286.2E+92555877 -> -9.40752862E+92555884 Inexact Rounded
+xcom499 compare -6157.74292 -94075286.2E+92555877 -> 1
+xdiv499 divide -6157.74292 -94075286.2E+92555877 -> 6.54554790E-92555882 Inexact Rounded
+xdvi499 divideint -6157.74292 -94075286.2E+92555877 -> 0
+xmul499 multiply -6157.74292 -94075286.2E+92555877 -> 5.79291428E+92555888 Inexact Rounded
+xpow499 power -6157.74292 -9 -> -7.85608218E-35 Inexact Rounded
+xrem499 remainder -6157.74292 -94075286.2E+92555877 -> -6157.74292
+xsub499 subtract -6157.74292 -94075286.2E+92555877 -> 9.40752862E+92555884 Inexact Rounded
+xadd500 add -525445087.E+231529167 188227460 -> -5.25445087E+231529175 Inexact Rounded
+xcom500 compare -525445087.E+231529167 188227460 -> -1
+xdiv500 divide -525445087.E+231529167 188227460 -> -2.79154321E+231529167 Inexact Rounded
+xdvi500 divideint -525445087.E+231529167 188227460 -> NaN Division_impossible
+xmul500 multiply -525445087.E+231529167 188227460 -> -9.89031941E+231529183 Inexact Rounded
+xpow500 power -525445087.E+231529167 188227460 -> Infinity Overflow Inexact Rounded
+xrem500 remainder -525445087.E+231529167 188227460 -> NaN Division_impossible
+xsub500 subtract -525445087.E+231529167 188227460 -> -5.25445087E+231529175 Inexact Rounded

Added: sandbox/trunk/decimal-c/decimaltestdata/remainder.decTest
==============================================================================
--- (empty file)
+++ sandbox/trunk/decimal-c/decimaltestdata/remainder.decTest	Tue May 23 13:34:01 2006
@@ -0,0 +1,629 @@
+------------------------------------------------------------------------
+-- remainder.decTest -- decimal remainder                             --
+-- Copyright (c) IBM Corporation, 1981, 2004.  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 at uk.ibm.com                                                   --
+------------------------------------------------------------------------
+version: 2.39
+
+extended:    1
+precision:   9
+rounding:    half_up
+maxExponent: 384
+minexponent: -383
+
+-- sanity checks (as base, above)
+remx001 remainder  1     1    ->  0
+remx002 remainder  2     1    ->  0
+remx003 remainder  1     2    ->  1
+remx004 remainder  2     2    ->  0
+remx005 remainder  0     1    ->  0
+remx006 remainder  0     2    ->  0
+remx007 remainder  1     3    ->  1
+remx008 remainder  2     3    ->  2
+remx009 remainder  3     3    ->  0
+
+remx010 remainder  2.4   1    ->  0.4
+remx011 remainder  2.4   -1   ->  0.4
+remx012 remainder  -2.4  1    ->  -0.4
+remx013 remainder  -2.4  -1   ->  -0.4
+remx014 remainder  2.40  1    ->  0.40
+remx015 remainder  2.400 1    ->  0.400
+remx016 remainder  2.4   2    ->  0.4
+remx017 remainder  2.400 2    ->  0.400
+remx018 remainder  2.    2    ->  0
+remx019 remainder  20    20   ->  0
+
+remx020 remainder  187   187    ->  0
+remx021 remainder  5     2      ->  1
+remx022 remainder  5     2.0    ->  1.0
+remx023 remainder  5     2.000  ->  1.000
+remx024 remainder  5     0.200  ->  0.000
+remx025 remainder  5     0.200  ->  0.000
+
+remx030 remainder  1     2      ->  1
+remx031 remainder  1     4      ->  1
+remx032 remainder  1     8      ->  1
+
+remx033 remainder  1     16     ->  1
+remx034 remainder  1     32     ->  1
+remx035 remainder  1     64     ->  1
+remx040 remainder  1    -2      ->  1
+remx041 remainder  1    -4      ->  1
+remx042 remainder  1    -8      ->  1
+remx043 remainder  1    -16     ->  1
+remx044 remainder  1    -32     ->  1
+remx045 remainder  1    -64     ->  1
+remx050 remainder -1     2      ->  -1
+remx051 remainder -1     4      ->  -1
+remx052 remainder -1     8      ->  -1
+remx053 remainder -1     16     ->  -1
+remx054 remainder -1     32     ->  -1
+remx055 remainder -1     64     ->  -1
+remx060 remainder -1    -2      ->  -1
+remx061 remainder -1    -4      ->  -1
+remx062 remainder -1    -8      ->  -1
+remx063 remainder -1    -16     ->  -1
+remx064 remainder -1    -32     ->  -1
+remx065 remainder -1    -64     ->  -1
+
+remx066 remainder  999999999     1  -> 0
+remx067 remainder  999999999.4   1  -> 0.4
+remx068 remainder  999999999.5   1  -> 0.5
+remx069 remainder  999999999.9   1  -> 0.9
+remx070 remainder  999999999.999 1  -> 0.999
+precision: 6
+remx071 remainder  999999999     1  -> NaN Division_impossible
+remx072 remainder  99999999      1  -> NaN Division_impossible
+remx073 remainder  9999999       1  -> NaN Division_impossible
+remx074 remainder  999999        1  -> 0
+remx075 remainder  99999         1  -> 0
+remx076 remainder  9999          1  -> 0
+remx077 remainder  999           1  -> 0
+remx078 remainder  99            1  -> 0
+remx079 remainder  9             1  -> 0
+
+precision: 9
+remx080 remainder  0.            1  -> 0
+remx081 remainder  .0            1  -> 0.0
+remx082 remainder  0.00          1  -> 0.00
+remx083 remainder  0.00E+9       1  -> 0
+remx084 remainder  0.00E+3       1  -> 0
+remx085 remainder  0.00E+2       1  -> 0
+remx086 remainder  0.00E+1       1  -> 0.0
+remx087 remainder  0.00E+0       1  -> 0.00
+remx088 remainder  0.00E-0       1  -> 0.00
+remx089 remainder  0.00E-1       1  -> 0.000
+remx090 remainder  0.00E-2       1  -> 0.0000
+remx091 remainder  0.00E-3       1  -> 0.00000
+remx092 remainder  0.00E-4       1  -> 0.000000
+remx093 remainder  0.00E-5       1  -> 0E-7
+remx094 remainder  0.00E-6       1  -> 0E-8
+remx095 remainder  0.0000E-50    1  -> 0E-54
+
+-- Various flavours of remainder by 0
+precision: 9
+maxexponent: 999999999
+minexponent: -999999999
+remx101 remainder  0       0   -> NaN Division_undefined
+remx102 remainder  0      -0   -> NaN Division_undefined
+remx103 remainder -0       0   -> NaN Division_undefined
+remx104 remainder -0      -0   -> NaN Division_undefined
+remx105 remainder  0.0E5   0   -> NaN Division_undefined
+remx106 remainder  0.000   0   -> NaN Division_undefined
+-- [Some think this next group should be Division_by_zero exception, but
+-- IEEE 854 is explicit that it is Invalid operation .. for
+-- remainder-near, anyway]
+remx107 remainder  0.0001  0   -> NaN Invalid_operation
+remx108 remainder  0.01    0   -> NaN Invalid_operation
+remx109 remainder  0.1     0   -> NaN Invalid_operation
+remx110 remainder  1       0   -> NaN Invalid_operation
+remx111 remainder  1       0.0 -> NaN Invalid_operation
+remx112 remainder 10       0.0 -> NaN Invalid_operation
+remx113 remainder 1E+100   0.0 -> NaN Invalid_operation
+remx114 remainder 1E+1000  0   -> NaN Invalid_operation
+remx115 remainder  0.0001 -0   -> NaN Invalid_operation
+remx116 remainder  0.01   -0   -> NaN Invalid_operation
+remx119 remainder  0.1    -0   -> NaN Invalid_operation
+remx120 remainder  1      -0   -> NaN Invalid_operation
+remx121 remainder  1      -0.0 -> NaN Invalid_operation
+remx122 remainder 10      -0.0 -> NaN Invalid_operation
+remx123 remainder 1E+100  -0.0 -> NaN Invalid_operation
+remx124 remainder 1E+1000 -0   -> NaN Invalid_operation
+-- and zeros on left
+remx130 remainder  0      1   ->  0
+remx131 remainder  0     -1   ->  0
+remx132 remainder  0.0    1   ->  0.0
+remx133 remainder  0.0   -1   ->  0.0
+remx134 remainder -0      1   -> -0
+remx135 remainder -0     -1   -> -0
+remx136 remainder -0.0    1   -> -0.0
+remx137 remainder -0.0   -1   -> -0.0
+
+-- 0.5ers
+remx143 remainder   0.5  2     ->  0.5
+remx144 remainder   0.5  2.1   ->  0.5
+remx145 remainder   0.5  2.01  ->  0.50
+remx146 remainder   0.5  2.001 ->  0.500
+remx147 remainder   0.50 2     ->  0.50
+remx148 remainder   0.50 2.01  ->  0.50
+remx149 remainder   0.50 2.001 ->  0.500
+
+-- steadies
+remx150 remainder  1  1   -> 0
+remx151 remainder  1  2   -> 1
+remx152 remainder  1  3   -> 1
+remx153 remainder  1  4   -> 1
+remx154 remainder  1  5   -> 1
+remx155 remainder  1  6   -> 1
+remx156 remainder  1  7   -> 1
+remx157 remainder  1  8   -> 1
+remx158 remainder  1  9   -> 1
+remx159 remainder  1  10  -> 1
+remx160 remainder  1  1   -> 0
+remx161 remainder  2  1   -> 0
+remx162 remainder  3  1   -> 0
+remx163 remainder  4  1   -> 0
+remx164 remainder  5  1   -> 0
+remx165 remainder  6  1   -> 0
+remx166 remainder  7  1   -> 0
+remx167 remainder  8  1   -> 0
+remx168 remainder  9  1   -> 0
+remx169 remainder  10 1   -> 0
+
+-- some differences from remainderNear
+remx171 remainder   0.4  1.020 ->  0.400
+remx172 remainder   0.50 1.020 ->  0.500
+remx173 remainder   0.51 1.020 ->  0.510
+remx174 remainder   0.52 1.020 ->  0.520
+remx175 remainder   0.6  1.020 ->  0.600
+
+
+-- More flavours of remainder by 0
+maxexponent: 999999999
+minexponent: -999999999
+remx201 remainder  0      0   -> NaN Division_undefined
+remx202 remainder  0.0E5  0   -> NaN Division_undefined
+remx203 remainder  0.000  0   -> NaN Division_undefined
+remx204 remainder  0.0001 0   -> NaN Invalid_operation
+remx205 remainder  0.01   0   -> NaN Invalid_operation
+remx206 remainder  0.1    0   -> NaN Invalid_operation
+remx207 remainder  1      0   -> NaN Invalid_operation
+remx208 remainder  1      0.0 -> NaN Invalid_operation
+remx209 remainder 10      0.0 -> NaN Invalid_operation
+remx210 remainder 1E+100  0.0 -> NaN Invalid_operation
+remx211 remainder 1E+1000 0   -> NaN Invalid_operation
+
+-- some differences from remainderNear
+remx231 remainder  -0.4  1.020 -> -0.400
+remx232 remainder  -0.50 1.020 -> -0.500
+remx233 remainder  -0.51 1.020 -> -0.510
+remx234 remainder  -0.52 1.020 -> -0.520
+remx235 remainder  -0.6  1.020 -> -0.600
+
+-- high Xs
+remx240 remainder  1E+2  1.00  ->  0.00
+
+
+-- test some cases that are close to exponent overflow
+maxexponent: 999999999
+minexponent: -999999999
+remx270 remainder 1 1e999999999    -> 1
+remx271 remainder 1 0.9e999999999  -> 1
+remx272 remainder 1 0.99e999999999 -> 1
+remx273 remainder 1 0.999999999e999999999 -> 1
+remx274 remainder 9e999999999          1 -> NaN Division_impossible
+remx275 remainder 9.9e999999999        1 -> NaN Division_impossible
+remx276 remainder 9.99e999999999       1 -> NaN Division_impossible
+remx277 remainder 9.99999999e999999999 1 -> NaN Division_impossible
+
+remx280 remainder 0.1 9e-999999999       -> NaN Division_impossible
+remx281 remainder 0.1 99e-999999999      -> NaN Division_impossible
+remx282 remainder 0.1 999e-999999999     -> NaN Division_impossible
+
+remx283 remainder 0.1 9e-999999998       -> NaN Division_impossible
+remx284 remainder 0.1 99e-999999998      -> NaN Division_impossible
+remx285 remainder 0.1 999e-999999998     -> NaN Division_impossible
+remx286 remainder 0.1 999e-999999997     -> NaN Division_impossible
+remx287 remainder 0.1 9999e-999999997    -> NaN Division_impossible
+remx288 remainder 0.1 99999e-999999997   -> NaN Division_impossible
+
+-- remx3xx are from DiagBigDecimal
+remx301 remainder   1    3     ->  1
+remx302 remainder   5    5     ->  0
+remx303 remainder   13   10    ->  3
+remx304 remainder   13   50    ->  13
+remx305 remainder   13   100   ->  13
+remx306 remainder   13   1000  ->  13
+remx307 remainder   .13    1   ->  0.13
+remx308 remainder   0.133  1   ->  0.133
+remx309 remainder   0.1033 1   ->  0.1033
+remx310 remainder   1.033  1   ->  0.033
+remx311 remainder   10.33  1   ->  0.33
+remx312 remainder   10.33 10   ->  0.33
+remx313 remainder   103.3  1   ->  0.3
+remx314 remainder   133   10   ->  3
+remx315 remainder   1033  10   ->  3
+remx316 remainder   1033  50   ->  33
+remx317 remainder   101.0  3   ->  2.0
+remx318 remainder   102.0  3   ->  0.0
+remx319 remainder   103.0  3   ->  1.0
+remx320 remainder   2.40   1   ->  0.40
+remx321 remainder   2.400  1   ->  0.400
+remx322 remainder   2.4    1   ->  0.4
+remx323 remainder   2.4    2   ->  0.4
+remx324 remainder   2.400  2   ->  0.400
+remx325 remainder   1   0.3    ->  0.1
+remx326 remainder   1   0.30   ->  0.10
+remx327 remainder   1   0.300  ->  0.100
+remx328 remainder   1   0.3000 ->  0.1000
+remx329 remainder   1.0    0.3 ->  0.1
+remx330 remainder   1.00   0.3 ->  0.10
+remx331 remainder   1.000  0.3 ->  0.100
+remx332 remainder   1.0000 0.3 ->  0.1000
+remx333 remainder   0.5  2     ->  0.5
+remx334 remainder   0.5  2.1   ->  0.5
+remx335 remainder   0.5  2.01  ->  0.50
+remx336 remainder   0.5  2.001 ->  0.500
+remx337 remainder   0.50 2     ->  0.50
+remx338 remainder   0.50 2.01  ->  0.50
+remx339 remainder   0.50 2.001 ->  0.500
+
+remx340 remainder   0.5   0.5000001    ->  0.5000000
+remx341 remainder   0.5   0.50000001    ->  0.50000000
+remx342 remainder   0.5   0.500000001    ->  0.500000000
+remx343 remainder   0.5   0.5000000001    ->  0.500000000  Rounded
+remx344 remainder   0.5   0.50000000001    ->  0.500000000  Rounded
+remx345 remainder   0.5   0.4999999    ->  1E-7
+remx346 remainder   0.5   0.49999999    ->  1E-8
+remx347 remainder   0.5   0.499999999    ->  1E-9
+remx348 remainder   0.5   0.4999999999    ->  1E-10
+remx349 remainder   0.5   0.49999999999    ->  1E-11
+remx350 remainder   0.5   0.499999999999    ->  1E-12
+
+remx351 remainder   0.03  7  ->  0.03
+remx352 remainder   5   2    ->  1
+remx353 remainder   4.1   2    ->  0.1
+remx354 remainder   4.01   2    ->  0.01
+remx355 remainder   4.001   2    ->  0.001
+remx356 remainder   4.0001   2    ->  0.0001
+remx357 remainder   4.00001   2    ->  0.00001
+remx358 remainder   4.000001   2    ->  0.000001
+remx359 remainder   4.0000001   2    ->  1E-7
+
+remx360 remainder   1.2   0.7345 ->  0.4655
+remx361 remainder   0.8   12     ->  0.8
+remx362 remainder   0.8   0.2    ->  0.0
+remx363 remainder   0.8   0.3    ->  0.2
+remx364 remainder   0.800   12   ->  0.800
+remx365 remainder   0.800   1.7  ->  0.800
+remx366 remainder   2.400   2    ->  0.400
+
+precision: 6
+remx371 remainder   2.400  2        ->  0.400
+precision: 3
+-- long operand, rounded, case
+remx372 remainder   12345678900000 12e+12 -> 3.46E+11 Inexact Rounded
+--                  12000000000000
+
+precision: 5
+remx381 remainder 12345  1         ->  0
+remx382 remainder 12345  1.0001    ->  0.7657
+remx383 remainder 12345  1.001     ->  0.668
+remx384 remainder 12345  1.01      ->  0.78
+remx385 remainder 12345  1.1       ->  0.8
+remx386 remainder 12355  4         ->  3
+remx387 remainder 12345  4         ->  1
+remx388 remainder 12355  4.0001    ->  2.6912
+remx389 remainder 12345  4.0001    ->  0.6914
+remx390 remainder 12345  4.9       ->  1.9
+remx391 remainder 12345  4.99      ->  4.73
+remx392 remainder 12345  4.999     ->  2.469
+remx393 remainder 12345  4.9999    ->  0.2469
+remx394 remainder 12345  5         ->  0
+remx395 remainder 12345  5.0001    ->  4.7532
+remx396 remainder 12345  5.001     ->  2.532
+remx397 remainder 12345  5.01      ->  0.36
+remx398 remainder 12345  5.1       ->  3.0
+
+precision: 9
+-- the nasty division-by-1 cases
+remx401 remainder   0.5         1   ->  0.5
+remx402 remainder   0.55        1   ->  0.55
+remx403 remainder   0.555       1   ->  0.555
+remx404 remainder   0.5555      1   ->  0.5555
+remx405 remainder   0.55555     1   ->  0.55555
+remx406 remainder   0.555555    1   ->  0.555555
+remx407 remainder   0.5555555   1   ->  0.5555555
+remx408 remainder   0.55555555  1   ->  0.55555555
+remx409 remainder   0.555555555 1   ->  0.555555555
+
+
+-- Specials
+remx680 remainder  Inf  -Inf   ->  NaN Invalid_operation
+remx681 remainder  Inf  -1000  ->  NaN Invalid_operation
+remx682 remainder  Inf  -1     ->  NaN Invalid_operation
+remx683 remainder  Inf   0     ->  NaN Invalid_operation
+remx684 remainder  Inf  -0     ->  NaN Invalid_operation
+remx685 remainder  Inf   1     ->  NaN Invalid_operation
+remx686 remainder  Inf   1000  ->  NaN Invalid_operation
+remx687 remainder  Inf   Inf   ->  NaN Invalid_operation
+remx688 remainder -1000  Inf   -> -1000
+remx689 remainder -Inf   Inf   ->  NaN Invalid_operation
+remx691 remainder -1     Inf   -> -1
+remx692 remainder  0     Inf   ->  0
+remx693 remainder -0     Inf   -> -0
+remx694 remainder  1     Inf   ->  1
+remx695 remainder  1000  Inf   ->  1000
+remx696 remainder  Inf   Inf   ->  NaN Invalid_operation
+
+remx700 remainder -Inf  -Inf   ->  NaN Invalid_operation
+remx701 remainder -Inf  -1000  ->  NaN Invalid_operation
+remx702 remainder -Inf  -1     ->  NaN Invalid_operation
+remx703 remainder -Inf  -0     ->  NaN Invalid_operation
+remx704 remainder -Inf   0     ->  NaN Invalid_operation
+remx705 remainder -Inf   1     ->  NaN Invalid_operation
+remx706 remainder -Inf   1000  ->  NaN Invalid_operation
+remx707 remainder -Inf   Inf   ->  NaN Invalid_operation
+remx708 remainder -Inf  -Inf   ->  NaN Invalid_operation
+remx709 remainder -1000  Inf   -> -1000
+remx710 remainder -1    -Inf   -> -1
+remx711 remainder -0    -Inf   -> -0
+remx712 remainder  0    -Inf   ->  0
+remx713 remainder  1    -Inf   ->  1
+remx714 remainder  1000 -Inf   ->  1000
+remx715 remainder  Inf  -Inf   ->  NaN Invalid_operation
+
+remx721 remainder  NaN -Inf    ->  NaN
+remx722 remainder  NaN -1000   ->  NaN
+remx723 remainder  NaN -1      ->  NaN
+remx724 remainder  NaN -0      ->  NaN
+remx725 remainder -NaN  0      -> -NaN
+remx726 remainder  NaN  1      ->  NaN
+remx727 remainder  NaN  1000   ->  NaN
+remx728 remainder  NaN  Inf    ->  NaN
+remx729 remainder  NaN -NaN    ->  NaN
+remx730 remainder -Inf  NaN    ->  NaN
+remx731 remainder -1000 NaN    ->  NaN
+remx732 remainder -1    NaN    ->  NaN
+remx733 remainder -0   -NaN    -> -NaN
+remx734 remainder  0    NaN    ->  NaN
+remx735 remainder  1   -NaN    -> -NaN
+remx736 remainder  1000 NaN    ->  NaN
+remx737 remainder  Inf  NaN    ->  NaN
+
+remx741 remainder  sNaN -Inf   ->  NaN  Invalid_operation
+remx742 remainder  sNaN -1000  ->  NaN  Invalid_operation
+remx743 remainder -sNaN -1     -> -NaN  Invalid_operation
+remx744 remainder  sNaN -0     ->  NaN  Invalid_operation
+remx745 remainder  sNaN  0     ->  NaN  Invalid_operation
+remx746 remainder  sNaN  1     ->  NaN  Invalid_operation
+remx747 remainder  sNaN  1000  ->  NaN  Invalid_operation
+remx749 remainder  sNaN  NaN   ->  NaN  Invalid_operation
+remx750 remainder  sNaN sNaN   ->  NaN  Invalid_operation
+remx751 remainder  NaN  sNaN   ->  NaN  Invalid_operation
+remx752 remainder -Inf  sNaN   ->  NaN  Invalid_operation
+remx753 remainder -1000 sNaN   ->  NaN  Invalid_operation
+remx754 remainder -1    sNaN   ->  NaN  Invalid_operation
+remx755 remainder -0    sNaN   ->  NaN  Invalid_operation
+remx756 remainder  0    sNaN   ->  NaN  Invalid_operation
+remx757 remainder  1    sNaN   ->  NaN  Invalid_operation
+remx758 remainder  1000 sNaN   ->  NaN  Invalid_operation
+remx759 remainder  Inf -sNaN   -> -NaN  Invalid_operation
+
+-- propaging NaNs
+remx760 remainder  NaN1   NaN7   ->  NaN1
+remx761 remainder sNaN2   NaN8   ->  NaN2 Invalid_operation
+remx762 remainder  NaN3  sNaN9   ->  NaN9 Invalid_operation
+remx763 remainder sNaN4  sNaN10  ->  NaN4 Invalid_operation
+remx764 remainder    15   NaN11  ->  NaN11
+remx765 remainder  NaN6   NaN12  ->  NaN6
+remx766 remainder  Inf    NaN13  ->  NaN13
+remx767 remainder  NaN14  -Inf   ->  NaN14
+remx768 remainder    0    NaN15  ->  NaN15
+remx769 remainder  NaN16   -0    ->  NaN16
+
+-- test some cases that are close to exponent overflow
+maxexponent: 999999999
+minexponent: -999999999
+remx770 remainder 1 1e999999999    -> 1
+remx771 remainder 1 0.9e999999999  -> 1
+remx772 remainder 1 0.99e999999999 -> 1
+remx773 remainder 1 0.999999999e999999999 -> 1
+remx774 remainder 9e999999999          1 -> NaN Division_impossible
+remx775 remainder 9.9e999999999        1 -> NaN Division_impossible
+remx776 remainder 9.99e999999999       1 -> NaN Division_impossible
+remx777 remainder 9.99999999e999999999 1 -> NaN Division_impossible
+
+-- long operand checks
+maxexponent: 999
+minexponent: -999
+precision: 9
+remx801 remainder 12345678000 100 -> 0
+remx802 remainder 1 12345678000   -> 1
+remx803 remainder 1234567800  10  -> 0
+remx804 remainder 1 1234567800    -> 1
+remx805 remainder 1234567890  10  -> 0
+remx806 remainder 1 1234567890    -> 1
+remx807 remainder 1234567891  10  -> 1
+remx808 remainder 1 1234567891    -> 1
+remx809 remainder 12345678901 100 -> 1
+remx810 remainder 1 12345678901   -> 1
+remx811 remainder 1234567896  10  -> 6
+remx812 remainder 1 1234567896    -> 1
+
+precision: 15
+remx821 remainder 12345678000 100 -> 0
+remx822 remainder 1 12345678000   -> 1
+remx823 remainder 1234567800  10  -> 0
+remx824 remainder 1 1234567800    -> 1
+remx825 remainder 1234567890  10  -> 0
+remx826 remainder 1 1234567890    -> 1
+remx827 remainder 1234567891  10  -> 1
+remx828 remainder 1 1234567891    -> 1
+remx829 remainder 12345678901 100 -> 1
+remx830 remainder 1 12345678901   -> 1
+remx831 remainder 1234567896  10  -> 6
+remx832 remainder 1 1234567896    -> 1
+
+-- worries from divideint
+precision: 8
+remx840 remainder  100000000.0   1  ->  NaN Division_impossible
+remx841 remainder  100000000.4   1  ->  NaN Division_impossible
+remx842 remainder  100000000.5   1  ->  NaN Division_impossible
+remx843 remainder  100000000.9   1  ->  NaN Division_impossible
+remx844 remainder  100000000.999 1  ->  NaN Division_impossible
+precision: 6
+remx850 remainder  100000003     5  ->  NaN Division_impossible
+remx851 remainder  10000003      5  ->  NaN Division_impossible
+remx852 remainder  1000003       5  ->  3
+remx853 remainder  100003        5  ->  3
+remx854 remainder  10003         5  ->  3
+remx855 remainder  1003          5  ->  3
+remx856 remainder  103           5  ->  3
+remx857 remainder  13            5  ->  3
+remx858 remainder  1             5  ->  1
+
+-- Vladimir's cases
+remx860 remainder 123.0e1 10000000000000000 -> 1230
+remx861 remainder 1230    10000000000000000 -> 1230
+remx862 remainder 12.3e2  10000000000000000 -> 1230
+remx863 remainder 1.23e3  10000000000000000 -> 1230
+remx864 remainder 123e1   10000000000000000 -> 1230
+remx870 remainder 123e1    1000000000000000 -> 1230
+remx871 remainder 123e1     100000000000000 -> 1230
+remx872 remainder 123e1      10000000000000 -> 1230
+remx873 remainder 123e1       1000000000000 -> 1230
+remx874 remainder 123e1        100000000000 -> 1230
+remx875 remainder 123e1         10000000000 -> 1230
+remx876 remainder 123e1          1000000000 -> 1230
+remx877 remainder 123e1           100000000 -> 1230
+remx878 remainder 1230            100000000 -> 1230
+remx879 remainder 123e1            10000000 -> 1230
+remx880 remainder 123e1             1000000 -> 1230
+remx881 remainder 123e1              100000 -> 1230
+remx882 remainder 123e1               10000 -> 1230
+remx883 remainder 123e1                1000 ->  230
+remx884 remainder 123e1                 100 ->   30
+remx885 remainder 123e1                  10 ->    0
+remx886 remainder 123e1                   1 ->    0
+
+remx889 remainder 123e1   20000000000000000 -> 1230
+remx890 remainder 123e1    2000000000000000 -> 1230
+remx891 remainder 123e1     200000000000000 -> 1230
+remx892 remainder 123e1      20000000000000 -> 1230
+remx893 remainder 123e1       2000000000000 -> 1230
+remx894 remainder 123e1        200000000000 -> 1230
+remx895 remainder 123e1         20000000000 -> 1230
+remx896 remainder 123e1          2000000000 -> 1230
+remx897 remainder 123e1           200000000 -> 1230
+remx899 remainder 123e1            20000000 -> 1230
+remx900 remainder 123e1             2000000 -> 1230
+remx901 remainder 123e1              200000 -> 1230
+remx902 remainder 123e1               20000 -> 1230
+remx903 remainder 123e1                2000 -> 1230
+remx904 remainder 123e1                 200 ->   30
+remx905 remainder 123e1                  20 ->   10
+remx906 remainder 123e1                   2 ->    0
+
+remx909 remainder 123e1   50000000000000000 -> 1230
+remx910 remainder 123e1    5000000000000000 -> 1230
+remx911 remainder 123e1     500000000000000 -> 1230
+remx912 remainder 123e1      50000000000000 -> 1230
+remx913 remainder 123e1       5000000000000 -> 1230
+remx914 remainder 123e1        500000000000 -> 1230
+remx915 remainder 123e1         50000000000 -> 1230
+remx916 remainder 123e1          5000000000 -> 1230
+remx917 remainder 123e1           500000000 -> 1230
+remx919 remainder 123e1            50000000 -> 1230
+remx920 remainder 123e1             5000000 -> 1230
+remx921 remainder 123e1              500000 -> 1230
+remx922 remainder 123e1               50000 -> 1230
+remx923 remainder 123e1                5000 -> 1230
+remx924 remainder 123e1                 500 ->  230
+remx925 remainder 123e1                  50 ->   30
+remx926 remainder 123e1                   5 ->    0
+
+remx929 remainder 123e1   90000000000000000 -> 1230
+remx930 remainder 123e1    9000000000000000 -> 1230
+remx931 remainder 123e1     900000000000000 -> 1230
+remx932 remainder 123e1      90000000000000 -> 1230
+remx933 remainder 123e1       9000000000000 -> 1230
+remx934 remainder 123e1        900000000000 -> 1230
+remx935 remainder 123e1         90000000000 -> 1230
+remx936 remainder 123e1          9000000000 -> 1230
+remx937 remainder 123e1           900000000 -> 1230
+remx939 remainder 123e1            90000000 -> 1230
+remx940 remainder 123e1             9000000 -> 1230
+remx941 remainder 123e1              900000 -> 1230
+remx942 remainder 123e1               90000 -> 1230
+remx943 remainder 123e1                9000 -> 1230
+remx944 remainder 123e1                 900 ->  330
+remx945 remainder 123e1                  90 ->   60
+remx946 remainder 123e1                   9 ->    6
+
+remx950 remainder 123e1   10000000000000000 -> 1230
+remx951 remainder 123e1   100000000000000000 -> 1230
+remx952 remainder 123e1   1000000000000000000 -> 1230
+remx953 remainder 123e1   10000000000000000000 -> 1230
+remx954 remainder 123e1   100000000000000000000 -> 1230
+remx955 remainder 123e1   1000000000000000000000 -> 1230
+remx956 remainder 123e1   10000000000000000000000 -> 1230
+remx957 remainder 123e1   100000000000000000000000 -> 1230
+remx958 remainder 123e1   1000000000000000000000000 -> 1230
+remx959 remainder 123e1   10000000000000000000000000 -> 1230
+
+remx960 remainder 123e1   19999999999999999 -> 1230
+remx961 remainder 123e1   199999999999999990 -> 1230
+remx962 remainder 123e1   1999999999999999999 -> 1230
+remx963 remainder 123e1   19999999999999999990 -> 1230
+remx964 remainder 123e1   199999999999999999999 -> 1230
+remx965 remainder 123e1   1999999999999999999990 -> 1230
+remx966 remainder 123e1   19999999999999999999999 -> 1230
+remx967 remainder 123e1   199999999999999999999990 -> 1230
+remx968 remainder 123e1   1999999999999999999999999 -> 1230
+remx969 remainder 123e1   19999999999999999999999990 -> 1230
+
+remx970 remainder 1e1   10000000000000000 -> 10
+remx971 remainder 1e1   100000000000000000 -> 10
+remx972 remainder 1e1   1000000000000000000 -> 10
+remx973 remainder 1e1   10000000000000000000 -> 10
+remx974 remainder 1e1   100000000000000000000 -> 10
+remx975 remainder 1e1   1000000000000000000000 -> 10
+remx976 remainder 1e1   10000000000000000000000 -> 10
+remx977 remainder 1e1   100000000000000000000000 -> 10
+remx978 remainder 1e1   1000000000000000000000000 -> 10
+remx979 remainder 1e1   10000000000000000000000000 -> 10
+
+remx980 remainder 123e1 1000E999999 -> 1.23E+3  -- 123E+1 internally
+
+-- overflow and underflow tests [from divide]
+precision: 9
+maxexponent: 999999999
+minexponent: -999999999
+remx990 remainder +1.23456789012345E-0 9E+999999999 -> 1.23456789 Inexact Rounded
+remx991 remainder 9E+999999999 +0.23456789012345E-0 -> NaN Division_impossible
+remx992 remainder +0.100 9E+999999999               -> 0.100
+remx993 remainder 9E-999999999 +9.100               -> 9E-999999999
+remx995 remainder -1.23456789012345E-0 9E+999999999 -> -1.23456789 Inexact Rounded
+remx996 remainder 9E+999999999 -0.83456789012345E-0 -> NaN Division_impossible
+remx997 remainder -0.100 9E+999999999               -> -0.100
+remx998 remainder 9E-999999999 -9.100               -> 9E-999999999
+
+-- Null tests
+remx1000 remainder 10  # -> NaN Invalid_operation
+remx1001 remainder  # 10 -> NaN Invalid_operation
+

Added: sandbox/trunk/decimal-c/decimaltestdata/remainderNear.decTest
==============================================================================
--- (empty file)
+++ sandbox/trunk/decimal-c/decimaltestdata/remainderNear.decTest	Tue May 23 13:34:01 2006
@@ -0,0 +1,560 @@
+------------------------------------------------------------------------
+-- remainderNear.decTest -- decimal remainder-near (IEEE remainder)   --
+-- Copyright (c) IBM Corporation, 1981, 2004.  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 at uk.ibm.com                                                   --
+------------------------------------------------------------------------
+version: 2.39
+
+extended:    1
+precision:   9
+rounding:    half_up
+maxExponent: 384
+minexponent: -383
+
+rmnx001 remaindernear  1     1    ->  0
+rmnx002 remaindernear  2     1    ->  0
+rmnx003 remaindernear  1     2    ->  1
+rmnx004 remaindernear  2     2    ->  0
+rmnx005 remaindernear  0     1    ->  0
+rmnx006 remaindernear  0     2    ->  0
+rmnx007 remaindernear  1     3    ->  1
+rmnx008 remaindernear  2     3    -> -1
+rmnx009 remaindernear  3     3    ->  0
+
+rmnx010 remaindernear  2.4   1    ->  0.4
+rmnx011 remaindernear  2.4   -1   ->  0.4
+rmnx012 remaindernear  -2.4  1    ->  -0.4
+rmnx013 remaindernear  -2.4  -1   ->  -0.4
+rmnx014 remaindernear  2.40  1    ->  0.40
+rmnx015 remaindernear  2.400 1    ->  0.400
+rmnx016 remaindernear  2.4   2    ->  0.4
+rmnx017 remaindernear  2.400 2    ->  0.400
+rmnx018 remaindernear  2.    2    ->  0
+rmnx019 remaindernear  20    20   ->  0
+
+rmnx020 remaindernear  187   187    ->  0
+rmnx021 remaindernear  5     2      ->  1
+rmnx022 remaindernear  5     2.0    ->  1.0
+rmnx023 remaindernear  5     2.000  ->  1.000
+rmnx024 remaindernear  5     0.200  ->  0.000
+rmnx025 remaindernear  5     0.200  ->  0.000
+
+rmnx030 remaindernear  1     2      ->  1
+rmnx031 remaindernear  1     4      ->  1
+rmnx032 remaindernear  1     8      ->  1
+rmnx033 remaindernear  1     16     ->  1
+rmnx034 remaindernear  1     32     ->  1
+rmnx035 remaindernear  1     64     ->  1
+rmnx040 remaindernear  1    -2      ->  1
+rmnx041 remaindernear  1    -4      ->  1
+rmnx042 remaindernear  1    -8      ->  1
+rmnx043 remaindernear  1    -16     ->  1
+rmnx044 remaindernear  1    -32     ->  1
+rmnx045 remaindernear  1    -64     ->  1
+rmnx050 remaindernear -1     2      ->  -1
+rmnx051 remaindernear -1     4      ->  -1
+rmnx052 remaindernear -1     8      ->  -1
+rmnx053 remaindernear -1     16     ->  -1
+rmnx054 remaindernear -1     32     ->  -1
+rmnx055 remaindernear -1     64     ->  -1
+rmnx060 remaindernear -1    -2      ->  -1
+rmnx061 remaindernear -1    -4      ->  -1
+rmnx062 remaindernear -1    -8      ->  -1
+rmnx063 remaindernear -1    -16     ->  -1
+rmnx064 remaindernear -1    -32     ->  -1
+rmnx065 remaindernear -1    -64     ->  -1
+
+rmnx066 remaindernear  999999997     1  -> 0
+rmnx067 remaindernear  999999997.4   1  -> 0.4
+rmnx068 remaindernear  999999997.5   1  -> -0.5
+rmnx069 remaindernear  999999997.9   1  -> -0.1
+rmnx070 remaindernear  999999997.999 1  -> -0.001
+
+rmnx071 remaindernear  999999998     1  -> 0
+rmnx072 remaindernear  999999998.4   1  -> 0.4
+rmnx073 remaindernear  999999998.5   1  -> 0.5
+rmnx074 remaindernear  999999998.9   1  -> -0.1
+rmnx075 remaindernear  999999998.999 1  -> -0.001
+
+rmnx076 remaindernear  999999999     1  -> 0
+rmnx077 remaindernear  999999999.4   1  -> 0.4
+rmnx078 remaindernear  999999999.5   1  -> NaN Division_impossible
+rmnx079 remaindernear  999999999.9   1  -> NaN Division_impossible
+rmnx080 remaindernear  999999999.999 1  -> NaN Division_impossible
+
+precision: 6
+rmnx081 remaindernear  999999999     1  -> NaN Division_impossible
+rmnx082 remaindernear  99999999      1  -> NaN Division_impossible
+rmnx083 remaindernear  9999999       1  -> NaN Division_impossible
+rmnx084 remaindernear  999999        1  -> 0
+rmnx085 remaindernear  99999         1  -> 0
+rmnx086 remaindernear  9999          1  -> 0
+rmnx087 remaindernear  999           1  -> 0
+rmnx088 remaindernear  99            1  -> 0
+rmnx089 remaindernear  9             1  -> 0
+
+precision: 9
+rmnx090 remaindernear  0.            1  -> 0
+rmnx091 remaindernear  .0            1  -> 0.0
+rmnx092 remaindernear  0.00          1  -> 0.00
+rmnx093 remaindernear  0.00E+9       1  -> 0
+rmnx094 remaindernear  0.0000E-50    1  -> 0E-54
+
+
+-- Various flavours of remaindernear by 0
+precision: 9
+maxexponent: 999999999
+minexponent: -999999999
+rmnx101 remaindernear  0       0   -> NaN Division_undefined
+rmnx102 remaindernear  0      -0   -> NaN Division_undefined
+rmnx103 remaindernear -0       0   -> NaN Division_undefined
+rmnx104 remaindernear -0      -0   -> NaN Division_undefined
+rmnx105 remaindernear  0.0E5   0   -> NaN Division_undefined
+rmnx106 remaindernear  0.000   0   -> NaN Division_undefined
+-- [Some think this next group should be Division_by_zero exception,
+-- but IEEE 854 is explicit that it is Invalid operation .. for
+-- remaindernear-near, anyway]
+rmnx107 remaindernear  0.0001  0   -> NaN Invalid_operation
+rmnx108 remaindernear  0.01    0   -> NaN Invalid_operation
+rmnx109 remaindernear  0.1     0   -> NaN Invalid_operation
+rmnx110 remaindernear  1       0   -> NaN Invalid_operation
+rmnx111 remaindernear  1       0.0 -> NaN Invalid_operation
+rmnx112 remaindernear 10       0.0 -> NaN Invalid_operation
+rmnx113 remaindernear 1E+100   0.0 -> NaN Invalid_operation
+rmnx114 remaindernear 1E+1000  0   -> NaN Invalid_operation
+rmnx115 remaindernear  0.0001 -0   -> NaN Invalid_operation
+rmnx116 remaindernear  0.01   -0   -> NaN Invalid_operation
+rmnx119 remaindernear  0.1    -0   -> NaN Invalid_operation
+rmnx120 remaindernear  1      -0   -> NaN Invalid_operation
+rmnx121 remaindernear  1      -0.0 -> NaN Invalid_operation
+rmnx122 remaindernear 10      -0.0 -> NaN Invalid_operation
+rmnx123 remaindernear 1E+100  -0.0 -> NaN Invalid_operation
+rmnx124 remaindernear 1E+1000 -0   -> NaN Invalid_operation
+-- and zeros on left
+rmnx130 remaindernear  0      1   ->  0
+rmnx131 remaindernear  0     -1   ->  0
+rmnx132 remaindernear  0.0    1   ->  0.0
+rmnx133 remaindernear  0.0   -1   ->  0.0
+rmnx134 remaindernear -0      1   -> -0
+rmnx135 remaindernear -0     -1   -> -0
+rmnx136 remaindernear -0.0    1   -> -0.0
+rmnx137 remaindernear -0.0   -1   -> -0.0
+
+-- 0.5ers
+rmmx143 remaindernear   0.5  2     ->  0.5
+rmmx144 remaindernear   0.5  2.1   ->  0.5
+rmmx145 remaindernear   0.5  2.01  ->  0.50
+rmmx146 remaindernear   0.5  2.001 ->  0.500
+rmmx147 remaindernear   0.50 2     ->  0.50
+rmmx148 remaindernear   0.50 2.01  ->  0.50
+rmmx149 remaindernear   0.50 2.001 ->  0.500
+
+-- some differences from remainder
+rmnx150 remaindernear   0.4  1.020 ->  0.400
+rmnx151 remaindernear   0.50 1.020 ->  0.500
+rmnx152 remaindernear   0.51 1.020 ->  0.510
+rmnx153 remaindernear   0.52 1.020 -> -0.500
+rmnx154 remaindernear   0.6  1.020 -> -0.420
+rmnx155 remaindernear   0.49 1     ->  0.49
+rmnx156 remaindernear   0.50 1     ->  0.50
+rmnx157 remaindernear   1.50 1     -> -0.50
+rmnx158 remaindernear   2.50 1     ->  0.50
+rmnx159 remaindernear   9.50 1     -> -0.50
+rmnx160 remaindernear   0.51 1     -> -0.49
+
+-- the nasty division-by-1 cases
+rmnx161 remaindernear   0.4         1   ->  0.4
+rmnx162 remaindernear   0.45        1   ->  0.45
+rmnx163 remaindernear   0.455       1   ->  0.455
+rmnx164 remaindernear   0.4555      1   ->  0.4555
+rmnx165 remaindernear   0.45555     1   ->  0.45555
+rmnx166 remaindernear   0.455555    1   ->  0.455555
+rmnx167 remaindernear   0.4555555   1   ->  0.4555555
+rmnx168 remaindernear   0.45555555  1   ->  0.45555555
+rmnx169 remaindernear   0.455555555 1   ->  0.455555555
+-- with spill...
+rmnx171 remaindernear   0.5         1   ->  0.5
+rmnx172 remaindernear   0.55        1   -> -0.45
+rmnx173 remaindernear   0.555       1   -> -0.445
+rmnx174 remaindernear   0.5555      1   -> -0.4445
+rmnx175 remaindernear   0.55555     1   -> -0.44445
+rmnx176 remaindernear   0.555555    1   -> -0.444445
+rmnx177 remaindernear   0.5555555   1   -> -0.4444445
+rmnx178 remaindernear   0.55555555  1   -> -0.44444445
+rmnx179 remaindernear   0.555555555 1   -> -0.444444445
+
+-- progression
+rmnx180 remaindernear  1  1   -> 0
+rmnx181 remaindernear  1  2   -> 1
+rmnx182 remaindernear  1  3   -> 1
+rmnx183 remaindernear  1  4   -> 1
+rmnx184 remaindernear  1  5   -> 1
+rmnx185 remaindernear  1  6   -> 1
+rmnx186 remaindernear  1  7   -> 1
+rmnx187 remaindernear  1  8   -> 1
+rmnx188 remaindernear  1  9   -> 1
+rmnx189 remaindernear  1  10  -> 1
+rmnx190 remaindernear  1  1   -> 0
+rmnx191 remaindernear  2  1   -> 0
+rmnx192 remaindernear  3  1   -> 0
+rmnx193 remaindernear  4  1   -> 0
+rmnx194 remaindernear  5  1   -> 0
+rmnx195 remaindernear  6  1   -> 0
+rmnx196 remaindernear  7  1   -> 0
+rmnx197 remaindernear  8  1   -> 0
+rmnx198 remaindernear  9  1   -> 0
+rmnx199 remaindernear  10 1   -> 0
+
+
+-- Various flavours of remaindernear by 0
+maxexponent: 999999999
+minexponent: -999999999
+rmnx201 remaindernear  0      0   -> NaN Division_undefined
+rmnx202 remaindernear  0.0E5  0   -> NaN Division_undefined
+rmnx203 remaindernear  0.000  0   -> NaN Division_undefined
+rmnx204 remaindernear  0.0001 0   -> NaN Invalid_operation
+rmnx205 remaindernear  0.01   0   -> NaN Invalid_operation
+rmnx206 remaindernear  0.1    0   -> NaN Invalid_operation
+rmnx207 remaindernear  1      0   -> NaN Invalid_operation
+rmnx208 remaindernear  1      0.0 -> NaN Invalid_operation
+rmnx209 remaindernear 10      0.0 -> NaN Invalid_operation
+rmnx210 remaindernear 1E+100  0.0 -> NaN Invalid_operation
+rmnx211 remaindernear 1E+1000 0   -> NaN Invalid_operation
+
+-- tests from the extended specification
+rmnx221 remaindernear 2.1     3   -> -0.9
+rmnx222 remaindernear  10     6   -> -2
+rmnx223 remaindernear  10     3   ->  1
+rmnx224 remaindernear -10     3   -> -1
+rmnx225 remaindernear  10.2   1   -> 0.2
+rmnx226 remaindernear  10     0.3 -> 0.1
+rmnx227 remaindernear   3.6   1.3 -> -0.3
+
+-- some differences from remainder
+rmnx231 remaindernear   0.4  1.020 ->  0.400
+rmnx232 remaindernear   0.50 1.020 ->  0.500
+rmnx233 remaindernear   0.51 1.020 ->  0.510
+rmnx234 remaindernear   0.52 1.020 -> -0.500
+rmnx235 remaindernear   0.6  1.020 -> -0.420
+
+-- test some cases that are close to exponent overflow
+maxexponent: 999999999
+minexponent: -999999999
+rmnx270 remaindernear 1 1e999999999    -> 1
+rmnx271 remaindernear 1 0.9e999999999  -> 1
+rmnx272 remaindernear 1 0.99e999999999 -> 1
+rmnx273 remaindernear 1 0.999999999e999999999 -> 1
+rmnx274 remaindernear 9e999999999          1 -> NaN Division_impossible
+rmnx275 remaindernear 9.9e999999999        1 -> NaN Division_impossible
+rmnx276 remaindernear 9.99e999999999       1 -> NaN Division_impossible
+rmnx277 remaindernear 9.99999999e999999999 1 -> NaN Division_impossible
+
+rmnx280 remaindernear 0.1 9e-999999999       -> NaN Division_impossible
+rmnx281 remaindernear 0.1 99e-999999999      -> NaN Division_impossible
+rmnx282 remaindernear 0.1 999e-999999999     -> NaN Division_impossible
+
+rmnx283 remaindernear 0.1 9e-999999998       -> NaN Division_impossible
+rmnx284 remaindernear 0.1 99e-999999998      -> NaN Division_impossible
+rmnx285 remaindernear 0.1 999e-999999998     -> NaN Division_impossible
+rmnx286 remaindernear 0.1 999e-999999997     -> NaN Division_impossible
+rmnx287 remaindernear 0.1 9999e-999999997    -> NaN Division_impossible
+rmnx288 remaindernear 0.1 99999e-999999997   -> NaN Division_impossible
+
+-- rmnx3xx are from DiagBigDecimal
+rmnx301 remaindernear   1    3     ->  1
+rmnx302 remaindernear   5    5     ->  0
+rmnx303 remaindernear   13   10    ->  3
+rmnx304 remaindernear   13   50    ->  13
+rmnx305 remaindernear   13   100   ->  13
+rmnx306 remaindernear   13   1000  ->  13
+rmnx307 remaindernear   .13    1   ->  0.13
+rmnx308 remaindernear   0.133  1   ->  0.133
+rmnx309 remaindernear   0.1033 1   ->  0.1033
+rmnx310 remaindernear   1.033  1   ->  0.033
+rmnx311 remaindernear   10.33  1   ->  0.33
+rmnx312 remaindernear   10.33 10   ->  0.33
+rmnx313 remaindernear   103.3  1   ->  0.3
+rmnx314 remaindernear   133   10   ->  3
+rmnx315 remaindernear   1033  10   ->  3
+rmnx316 remaindernear   1033  50   -> -17
+rmnx317 remaindernear   101.0  3   -> -1.0
+rmnx318 remaindernear   102.0  3   ->  0.0
+rmnx319 remaindernear   103.0  3   ->  1.0
+rmnx320 remaindernear   2.40   1   ->  0.40
+rmnx321 remaindernear   2.400  1   ->  0.400
+rmnx322 remaindernear   2.4    1   ->  0.4
+rmnx323 remaindernear   2.4    2   ->  0.4
+rmnx324 remaindernear   2.400  2   ->  0.400
+rmnx325 remaindernear   1   0.3    ->  0.1
+rmnx326 remaindernear   1   0.30   ->  0.10
+rmnx327 remaindernear   1   0.300  ->  0.100
+rmnx328 remaindernear   1   0.3000 ->  0.1000
+rmnx329 remaindernear   1.0    0.3 ->  0.1
+rmnx330 remaindernear   1.00   0.3 ->  0.10
+rmnx331 remaindernear   1.000  0.3 ->  0.100
+rmnx332 remaindernear   1.0000 0.3 ->  0.1000
+rmnx333 remaindernear   0.5  2     ->  0.5
+rmnx334 remaindernear   0.5  2.1   ->  0.5
+rmnx335 remaindernear   0.5  2.01  ->  0.50
+rmnx336 remaindernear   0.5  2.001 ->  0.500
+rmnx337 remaindernear   0.50 2     ->  0.50
+rmnx338 remaindernear   0.50 2.01  ->  0.50
+rmnx339 remaindernear   0.50 2.001 ->  0.500
+
+rmnx340 remaindernear   0.5   0.5000001    ->  -1E-7
+rmnx341 remaindernear   0.5   0.50000001    ->  -1E-8
+rmnx342 remaindernear   0.5   0.500000001    ->  -1E-9
+rmnx343 remaindernear   0.5   0.5000000001    ->  -1E-10
+rmnx344 remaindernear   0.5   0.50000000001    ->  -1E-11
+rmnx345 remaindernear   0.5   0.4999999    ->  1E-7
+rmnx346 remaindernear   0.5   0.49999999    ->  1E-8
+rmnx347 remaindernear   0.5   0.499999999    ->  1E-9
+rmnx348 remaindernear   0.5   0.4999999999    ->  1E-10
+rmnx349 remaindernear   0.5   0.49999999999    ->  1E-11
+
+rmnx350 remaindernear   0.03  7  ->  0.03
+rmnx351 remaindernear   5   2    ->  1
+rmnx352 remaindernear   4.1   2    ->  0.1
+rmnx353 remaindernear   4.01   2    ->  0.01
+rmnx354 remaindernear   4.001   2    ->  0.001
+rmnx355 remaindernear   4.0001   2    ->  0.0001
+rmnx356 remaindernear   4.00001   2    ->  0.00001
+rmnx357 remaindernear   4.000001   2    ->  0.000001
+rmnx358 remaindernear   4.0000001   2    ->  1E-7
+
+rmnx360 remaindernear   1.2   0.7345 -> -0.2690
+rmnx361 remaindernear   0.8   12     ->  0.8
+rmnx362 remaindernear   0.8   0.2    ->  0.0
+rmnx363 remaindernear   0.8   0.3    -> -0.1
+rmnx364 remaindernear   0.800   12   ->  0.800
+rmnx365 remaindernear   0.800   1.7  ->  0.800
+rmnx366 remaindernear   2.400   2    ->  0.400
+
+precision: 6
+rmnx371 remaindernear   2.400  2        ->  0.400
+precision: 3
+rmnx372 remaindernear   12345678900000 12e+12 -> 3.46E+11 Inexact Rounded
+
+precision: 5
+rmnx381 remaindernear 12345  1         ->  0
+rmnx382 remaindernear 12345  1.0001    -> -0.2344
+rmnx383 remaindernear 12345  1.001     -> -0.333
+rmnx384 remaindernear 12345  1.01      -> -0.23
+rmnx385 remaindernear 12345  1.1       -> -0.3
+rmnx386 remaindernear 12355  4         -> -1
+rmnx387 remaindernear 12345  4         ->  1
+rmnx388 remaindernear 12355  4.0001    -> -1.3089
+rmnx389 remaindernear 12345  4.0001    ->  0.6914
+rmnx390 remaindernear 12345  4.9       ->  1.9
+rmnx391 remaindernear 12345  4.99      -> -0.26
+rmnx392 remaindernear 12345  4.999     ->  2.469
+rmnx393 remaindernear 12345  4.9999    ->  0.2469
+rmnx394 remaindernear 12345  5         ->  0
+rmnx395 remaindernear 12345  5.0001    -> -0.2469
+rmnx396 remaindernear 12345  5.001     -> -2.469
+rmnx397 remaindernear 12345  5.01      ->  0.36
+rmnx398 remaindernear 12345  5.1       -> -2.1
+
+precision: 9
+-- some nasty division-by-1 cases [some similar above]
+rmnx401 remaindernear   0.4         1   ->  0.4
+rmnx402 remaindernear   0.45        1   ->  0.45
+rmnx403 remaindernear   0.455       1   ->  0.455
+rmnx404 remaindernear   0.4555      1   ->  0.4555
+rmnx405 remaindernear   0.45555     1   ->  0.45555
+rmnx406 remaindernear   0.455555    1   ->  0.455555
+rmnx407 remaindernear   0.4555555   1   ->  0.4555555
+rmnx408 remaindernear   0.45555555  1   ->  0.45555555
+rmnx409 remaindernear   0.455555555 1   ->  0.455555555
+
+-- some tricky LHSs
+rmnx420 remaindernear   99999999.999999999   1E+8   -> -1E-9
+rmnx421 remaindernear  999999999.999999999   1E+9   -> -1E-9
+precision: 9
+rmnx430 remaindernear   0.455555555 1   ->  0.455555555
+precision: 8
+rmnx431 remaindernear   0.455555555 1   ->  0.45555556 Inexact Rounded
+precision: 7
+rmnx432 remaindernear   0.455555555 1   ->  0.4555556  Inexact Rounded
+precision: 6
+rmnx433 remaindernear   0.455555555 1   ->  0.455556   Inexact Rounded
+precision: 5
+rmnx434 remaindernear   0.455555555 1   ->  0.45556    Inexact Rounded
+precision: 4
+rmnx435 remaindernear   0.455555555 1   ->  0.4556     Inexact Rounded
+precision: 3
+rmnx436 remaindernear   0.455555555 1   ->  0.456      Inexact Rounded
+precision: 2
+rmnx437 remaindernear   0.455555555 1   ->  0.46       Inexact Rounded
+precision: 1
+rmnx438 remaindernear   0.455555555 1   ->  0.5        Inexact Rounded
+
+-- early tests; from text descriptions
+precision: 9
+rmnx601 remaindernear  10   6  -> -2
+rmnx602 remaindernear -10   6  -> 2
+rmnx603 remaindernear  11   3  -> -1
+rmnx604 remaindernear  11   5  -> 1
+rmnx605 remaindernear   7.7 8  -> -0.3
+rmnx606 remaindernear  31.5 3  -> 1.5    -- i=10
+rmnx607 remaindernear  34.5 3  -> -1.5   -- i=11
+
+-- Specials
+rmnx680 remaindernear  Inf  -Inf   ->  NaN Invalid_operation
+rmnx681 remaindernear  Inf  -1000  ->  NaN Invalid_operation
+rmnx682 remaindernear  Inf  -1     ->  NaN Invalid_operation
+rmnx683 remaindernear  Inf   0     ->  NaN Invalid_operation
+rmnx684 remaindernear  Inf  -0     ->  NaN Invalid_operation
+rmnx685 remaindernear  Inf   1     ->  NaN Invalid_operation
+rmnx686 remaindernear  Inf   1000  ->  NaN Invalid_operation
+rmnx687 remaindernear  Inf   Inf   ->  NaN Invalid_operation
+rmnx688 remaindernear -1000  Inf   -> -1000
+rmnx689 remaindernear -Inf   Inf   ->  NaN Invalid_operation
+rmnx691 remaindernear -1     Inf   -> -1
+rmnx692 remaindernear  0     Inf   ->  0
+rmnx693 remaindernear -0     Inf   -> -0
+rmnx694 remaindernear  1     Inf   ->  1
+rmnx695 remaindernear  1000  Inf   ->  1000
+rmnx696 remaindernear  Inf   Inf   ->  NaN Invalid_operation
+
+rmnx700 remaindernear -Inf  -Inf   ->  NaN Invalid_operation
+rmnx701 remaindernear -Inf  -1000  ->  NaN Invalid_operation
+rmnx702 remaindernear -Inf  -1     ->  NaN Invalid_operation
+rmnx703 remaindernear -Inf  -0     ->  NaN Invalid_operation
+rmnx704 remaindernear -Inf   0     ->  NaN Invalid_operation
+rmnx705 remaindernear -Inf   1     ->  NaN Invalid_operation
+rmnx706 remaindernear -Inf   1000  ->  NaN Invalid_operation
+rmnx707 remaindernear -Inf   Inf   ->  NaN Invalid_operation
+rmnx708 remaindernear -Inf  -Inf   ->  NaN Invalid_operation
+rmnx709 remaindernear -1000  Inf   -> -1000
+rmnx710 remaindernear -1    -Inf   -> -1
+rmnx711 remaindernear -0    -Inf   -> -0
+rmnx712 remaindernear  0    -Inf   ->  0
+rmnx713 remaindernear  1    -Inf   ->  1
+rmnx714 remaindernear  1000 -Inf   ->  1000
+rmnx715 remaindernear  Inf  -Inf   ->  NaN Invalid_operation
+
+rmnx721 remaindernear  NaN -Inf    ->  NaN
+rmnx722 remaindernear  NaN -1000   ->  NaN
+rmnx723 remaindernear  NaN -1      ->  NaN
+rmnx724 remaindernear  NaN -0      ->  NaN
+rmnx725 remaindernear  NaN  0      ->  NaN
+rmnx726 remaindernear  NaN  1      ->  NaN
+rmnx727 remaindernear  NaN  1000   ->  NaN
+rmnx728 remaindernear  NaN  Inf    ->  NaN
+rmnx729 remaindernear  NaN  NaN    ->  NaN
+rmnx730 remaindernear -Inf  NaN    ->  NaN
+rmnx731 remaindernear -1000 NaN    ->  NaN
+rmnx732 remaindernear -1   -NaN    -> -NaN
+rmnx733 remaindernear -0    NaN    ->  NaN
+rmnx734 remaindernear  0    NaN    ->  NaN
+rmnx735 remaindernear  1    NaN    ->  NaN
+rmnx736 remaindernear  1000 NaN    ->  NaN
+rmnx737 remaindernear  Inf  NaN    ->  NaN
+
+rmnx741 remaindernear  sNaN -Inf   ->  NaN  Invalid_operation
+rmnx742 remaindernear  sNaN -1000  ->  NaN  Invalid_operation
+rmnx743 remaindernear -sNaN -1     -> -NaN  Invalid_operation
+rmnx744 remaindernear  sNaN -0     ->  NaN  Invalid_operation
+rmnx745 remaindernear  sNaN  0     ->  NaN  Invalid_operation
+rmnx746 remaindernear  sNaN  1     ->  NaN  Invalid_operation
+rmnx747 remaindernear  sNaN  1000  ->  NaN  Invalid_operation
+rmnx749 remaindernear  sNaN  NaN   ->  NaN  Invalid_operation
+rmnx750 remaindernear  sNaN sNaN   ->  NaN  Invalid_operation
+rmnx751 remaindernear  NaN  sNaN   ->  NaN  Invalid_operation
+rmnx752 remaindernear -Inf  sNaN   ->  NaN  Invalid_operation
+rmnx753 remaindernear -1000 sNaN   ->  NaN  Invalid_operation
+rmnx754 remaindernear -1    sNaN   ->  NaN  Invalid_operation
+rmnx755 remaindernear -0   -sNaN   -> -NaN  Invalid_operation
+rmnx756 remaindernear  0    sNaN   ->  NaN  Invalid_operation
+rmnx757 remaindernear  1    sNaN   ->  NaN  Invalid_operation
+rmnx758 remaindernear  1000 sNaN   ->  NaN  Invalid_operation
+rmnx759 remaindernear  Inf  sNaN   ->  NaN  Invalid_operation
+rmnx760 remaindernear  NaN  sNaN   ->  NaN  Invalid_operation
+
+-- propaging NaNs
+rmnx761 remaindernear  NaN1   NaN7   ->  NaN1
+rmnx762 remaindernear sNaN2   NaN8   ->  NaN2 Invalid_operation
+rmnx763 remaindernear  NaN3 -sNaN9   -> -NaN9 Invalid_operation
+rmnx764 remaindernear sNaN4  sNaN10  ->  NaN4 Invalid_operation
+rmnx765 remaindernear    15   NaN11  ->  NaN11
+rmnx766 remaindernear  NaN6   NaN12  ->  NaN6
+rmnx767 remaindernear  Inf   -NaN13  -> -NaN13
+rmnx768 remaindernear  NaN14  -Inf   ->  NaN14
+rmnx769 remaindernear    0    NaN15  ->  NaN15
+rmnx770 remaindernear -NaN16   -0    -> -NaN16
+
+-- test some cases that are close to exponent overflow
+maxexponent: 999999999
+minexponent: -999999999
+rmnx780 remaindernear 1 1e999999999    -> 1
+rmnx781 remaindernear 1 0.9e999999999  -> 1
+rmnx782 remaindernear 1 0.99e999999999 -> 1
+rmnx783 remaindernear 1 0.999999999e999999999 -> 1
+rmnx784 remaindernear 9e999999999          1 -> NaN Division_impossible
+rmnx785 remaindernear 9.9e999999999        1 -> NaN Division_impossible
+rmnx786 remaindernear 9.99e999999999       1 -> NaN Division_impossible
+rmnx787 remaindernear 9.99999999e999999999 1 -> NaN Division_impossible
+
+
+-- overflow and underflow tests [from divide]
+precision: 9
+maxexponent: 999999999
+minexponent: -999999999
+rmnx790 remaindernear +1.23456789012345E-0 9E+999999999 -> 1.23456789 Inexact Rounded
+rmnx791 remaindernear 9E+999999999 +0.23456789012345E-0 -> NaN Division_impossible
+rmnx792 remaindernear +0.100 9E+999999999               -> 0.100
+rmnx793 remaindernear 9E-999999999 +9.100               -> 9E-999999999
+rmnx795 remaindernear -1.23456789012345E-0 9E+999999999 -> -1.23456789 Inexact Rounded
+rmnx796 remaindernear 9E+999999999 -0.83456789012345E-0 -> NaN Division_impossible
+rmnx797 remaindernear -0.100 9E+999999999               -> -0.100
+rmnx798 remaindernear 9E-999999999 -9.100               -> 9E-999999999
+
+-- long operands checks
+maxexponent: 999
+minexponent: -999
+precision: 9
+rmnx801 remaindernear 12345678000 100 -> 0
+rmnx802 remaindernear 1 12345678000   -> 1
+rmnx803 remaindernear 1234567800  10  -> 0
+rmnx804 remaindernear 1 1234567800    -> 1
+rmnx805 remaindernear 1234567890  10  -> 0
+rmnx806 remaindernear 1 1234567890    -> 1
+rmnx807 remaindernear 1234567891  10  -> 1
+rmnx808 remaindernear 1 1234567891    -> 1
+rmnx809 remaindernear 12345678901 100 -> 1
+rmnx810 remaindernear 1 12345678901   -> 1
+rmnx811 remaindernear 1234567896  10  -> -4
+rmnx812 remaindernear 1 1234567896    -> 1
+
+precision: 15
+rmnx841 remaindernear 12345678000 100 -> 0
+rmnx842 remaindernear 1 12345678000   -> 1
+rmnx843 remaindernear 1234567800  10  -> 0
+rmnx844 remaindernear 1 1234567800    -> 1
+rmnx845 remaindernear 1234567890  10  -> 0
+rmnx846 remaindernear 1 1234567890    -> 1
+rmnx847 remaindernear 1234567891  10  -> 1
+rmnx848 remaindernear 1 1234567891    -> 1
+rmnx849 remaindernear 12345678901 100 -> 1
+rmnx850 remaindernear 1 12345678901   -> 1
+rmnx851 remaindernear 1234567896  10  -> -4
+rmnx852 remaindernear 1 1234567896    -> 1
+
+-- Null tests
+rmnx900 remaindernear 10  # -> NaN Invalid_operation
+rmnx901 remaindernear  # 10 -> NaN Invalid_operation

Added: sandbox/trunk/decimal-c/decimaltestdata/rescale.decTest
==============================================================================
--- (empty file)
+++ sandbox/trunk/decimal-c/decimaltestdata/rescale.decTest	Tue May 23 13:34:01 2006
@@ -0,0 +1,758 @@
+------------------------------------------------------------------------
+-- rescale.decTest -- decimal rescale operation                       --
+-- Copyright (c) IBM Corporation, 1981, 2004.  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 at uk.ibm.com                                                   --
+------------------------------------------------------------------------
+version: 2.39
+
+-- [obsolete]   Quantize.decTest has the improved version
+
+-- 2004.03.15 Underflow for quantize is suppressed
+
+extended:    1
+precision:   9
+rounding:    half_up
+maxExponent: 999
+minexponent: -999
+
+-- sanity checks
+
+resx001 rescale 0       0   -> 0
+resx002 rescale 1       0   -> 1
+resx003 rescale 0.1    +2   -> 0E+2 Inexact Rounded
+resx005 rescale 0.1    +1   -> 0E+1 Inexact Rounded
+resx006 rescale 0.1     0   -> 0 Inexact Rounded
+resx007 rescale 0.1    -1   -> 0.1
+resx008 rescale 0.1    -2   -> 0.10
+resx009 rescale 0.1    -3   -> 0.100
+resx010 rescale 0.9    +2   -> 0E+2 Inexact Rounded
+resx011 rescale 0.9    +1   -> 0E+1 Inexact Rounded
+resx012 rescale 0.9    +0   -> 1 Inexact Rounded
+resx013 rescale 0.9    -1   -> 0.9
+resx014 rescale 0.9    -2   -> 0.90
+resx015 rescale 0.9    -3   -> 0.900
+-- negatives
+resx021 rescale -0      0   -> -0
+resx022 rescale -1      0   -> -1
+resx023 rescale -0.1   +2   -> -0E+2 Inexact Rounded
+resx025 rescale -0.1   +1   -> -0E+1 Inexact Rounded
+resx026 rescale -0.1    0   -> -0 Inexact Rounded
+resx027 rescale -0.1   -1   -> -0.1
+resx028 rescale -0.1   -2   -> -0.10
+resx029 rescale -0.1   -3   -> -0.100
+resx030 rescale -0.9   +2   -> -0E+2 Inexact Rounded
+resx031 rescale -0.9   +1   -> -0E+1 Inexact Rounded
+resx032 rescale -0.9   +0   -> -1 Inexact Rounded
+resx033 rescale -0.9   -1   -> -0.9
+resx034 rescale -0.9   -2   -> -0.90
+resx035 rescale -0.9   -3   -> -0.900
+resx036 rescale -0.5   +2   -> -0E+2 Inexact Rounded
+resx037 rescale -0.5   +1   -> -0E+1 Inexact Rounded
+resx038 rescale -0.5   +0   -> -1 Inexact Rounded
+resx039 rescale -0.5   -1   -> -0.5
+resx040 rescale -0.5   -2   -> -0.50
+resx041 rescale -0.5   -3   -> -0.500
+resx042 rescale -0.9   +2   -> -0E+2 Inexact Rounded
+resx043 rescale -0.9   +1   -> -0E+1 Inexact Rounded
+resx044 rescale -0.9   +0   -> -1 Inexact Rounded
+resx045 rescale -0.9   -1   -> -0.9
+resx046 rescale -0.9   -2   -> -0.90
+resx047 rescale -0.9   -3   -> -0.900
+
+-- examples from Specification
+resx060 rescale 2.17   -3   -> 2.170
+resx061 rescale 2.17   -2   -> 2.17
+resx062 rescale 2.17   -1   -> 2.2 Inexact Rounded
+resx063 rescale 2.17    0   -> 2 Inexact Rounded
+resx064 rescale 2.17   +1   -> 0E+1 Inexact Rounded
+resx065 rescale 2      Inf  -> NaN Invalid_operation
+resx066 rescale -0.1    0   -> -0 Inexact Rounded
+resx067 rescale -0      5   -> -0E+5
+resx068 rescale +35236450.6 -2 -> NaN Invalid_operation
+resx069 rescale -35236450.6 -2 -> NaN Invalid_operation
+resx070 rescale 217    -1   -> 217.0
+resx071 rescale 217     0   -> 217
+resx072 rescale 217    +1   -> 2.2E+2 Inexact Rounded
+resx073 rescale 217    +2   -> 2E+2 Inexact Rounded
+
+-- general tests ..
+resx089 rescale 12     +4   -> 0E+4 Inexact Rounded
+resx090 rescale 12     +3   -> 0E+3 Inexact Rounded
+resx091 rescale 12     +2   -> 0E+2 Inexact Rounded
+resx092 rescale 12     +1   -> 1E+1 Inexact Rounded
+resx093 rescale 1.2345 -2   -> 1.23 Inexact Rounded
+resx094 rescale 1.2355 -2   -> 1.24 Inexact Rounded
+resx095 rescale 1.2345 -6   -> 1.234500
+resx096 rescale 9.9999 -2   -> 10.00 Inexact Rounded
+resx097 rescale 0.0001 -2   -> 0.00 Inexact Rounded
+resx098 rescale 0.001  -2   -> 0.00 Inexact Rounded
+resx099 rescale 0.009  -2   -> 0.01 Inexact Rounded
+resx100 rescale 92     +2   -> 1E+2 Inexact Rounded
+
+resx101 rescale -1      0   ->  -1
+resx102 rescale -1     -1   ->  -1.0
+resx103 rescale -1     -2   ->  -1.00
+resx104 rescale  0      0   ->  0
+resx105 rescale  0     -1   ->  0.0
+resx106 rescale  0     -2   ->  0.00
+resx107 rescale  0.00   0   ->  0
+resx108 rescale  0     +1   ->  0E+1
+resx109 rescale  0     +2   ->  0E+2
+resx110 rescale +1      0   ->  1
+resx111 rescale +1     -1   ->  1.0
+resx112 rescale +1     -2   ->  1.00
+
+resx120 rescale   1.04  -3 ->  1.040
+resx121 rescale   1.04  -2 ->  1.04
+resx122 rescale   1.04  -1 ->  1.0 Inexact Rounded
+resx123 rescale   1.04   0 ->  1 Inexact Rounded
+resx124 rescale   1.05  -3 ->  1.050
+resx125 rescale   1.05  -2 ->  1.05
+resx126 rescale   1.05  -1 ->  1.1 Inexact Rounded
+resx127 rescale   1.05   0 ->  1 Inexact Rounded
+resx128 rescale   1.05  -3 ->  1.050
+resx129 rescale   1.05  -2 ->  1.05
+resx130 rescale   1.05  -1 ->  1.1 Inexact Rounded
+resx131 rescale   1.05   0 ->  1 Inexact Rounded
+resx132 rescale   1.06  -3 ->  1.060
+resx133 rescale   1.06  -2 ->  1.06
+resx134 rescale   1.06  -1 ->  1.1 Inexact Rounded
+resx135 rescale   1.06   0 ->  1 Inexact Rounded
+
+resx140 rescale   -10    -2  ->  -10.00
+resx141 rescale   +1     -2  ->  1.00
+resx142 rescale   +10    -2  ->  10.00
+resx143 rescale   1E+10  -2  ->  NaN Invalid_operation
+resx144 rescale   1E-10  -2  ->  0.00 Inexact Rounded
+resx145 rescale   1E-3   -2  ->  0.00 Inexact Rounded
+resx146 rescale   1E-2   -2  ->  0.01
+resx147 rescale   1E-1   -2  ->  0.10
+resx148 rescale   0E-10  -2  ->  0.00
+
+resx150 rescale   1.0600 -5 ->  1.06000
+resx151 rescale   1.0600 -4 ->  1.0600
+resx152 rescale   1.0600 -3 ->  1.060 Rounded
+resx153 rescale   1.0600 -2 ->  1.06 Rounded
+resx154 rescale   1.0600 -1 ->  1.1 Inexact Rounded
+resx155 rescale   1.0600  0 ->  1 Inexact Rounded
+
+-- +ve exponents ..
+resx201 rescale   -1   +0 ->  -1
+resx202 rescale   -1   +1 ->  -0E+1 Inexact Rounded
+resx203 rescale   -1   +2 ->  -0E+2 Inexact Rounded
+resx204 rescale    0   +0 ->  0
+resx205 rescale    0   +1 ->  0E+1
+resx206 rescale    0   +2 ->  0E+2
+resx207 rescale   +1   +0 ->  1
+resx208 rescale   +1   +1 ->  0E+1 Inexact Rounded
+resx209 rescale   +1   +2 ->  0E+2 Inexact Rounded
+
+resx220 rescale   1.04 +3 ->  0E+3 Inexact Rounded
+resx221 rescale   1.04 +2 ->  0E+2 Inexact Rounded
+resx222 rescale   1.04 +1 ->  0E+1 Inexact Rounded
+resx223 rescale   1.04 +0 ->  1 Inexact Rounded
+resx224 rescale   1.05 +3 ->  0E+3 Inexact Rounded
+resx225 rescale   1.05 +2 ->  0E+2 Inexact Rounded
+resx226 rescale   1.05 +1 ->  0E+1 Inexact Rounded
+resx227 rescale   1.05 +0 ->  1 Inexact Rounded
+resx228 rescale   1.05 +3 ->  0E+3 Inexact Rounded
+resx229 rescale   1.05 +2 ->  0E+2 Inexact Rounded
+resx230 rescale   1.05 +1 ->  0E+1 Inexact Rounded
+resx231 rescale   1.05 +0 ->  1 Inexact Rounded
+resx232 rescale   1.06 +3 ->  0E+3 Inexact Rounded
+resx233 rescale   1.06 +2 ->  0E+2 Inexact Rounded
+resx234 rescale   1.06 +1 ->  0E+1 Inexact Rounded
+resx235 rescale   1.06 +0 ->  1 Inexact Rounded
+
+resx240 rescale   -10   +1  ->  -1E+1 Rounded
+resx241 rescale   +1    +1  ->  0E+1 Inexact Rounded
+resx242 rescale   +10   +1  ->  1E+1 Rounded
+resx243 rescale   1E+1  +1  ->  1E+1          -- underneath this is E+1
+resx244 rescale   1E+2  +1  ->  1.0E+2        -- underneath this is E+1
+resx245 rescale   1E+3  +1  ->  1.00E+3       -- underneath this is E+1
+resx246 rescale   1E+4  +1  ->  1.000E+4      -- underneath this is E+1
+resx247 rescale   1E+5  +1  ->  1.0000E+5     -- underneath this is E+1
+resx248 rescale   1E+6  +1  ->  1.00000E+6    -- underneath this is E+1
+resx249 rescale   1E+7  +1  ->  1.000000E+7   -- underneath this is E+1
+resx250 rescale   1E+8  +1  ->  1.0000000E+8  -- underneath this is E+1
+resx251 rescale   1E+9  +1  ->  1.00000000E+9 -- underneath this is E+1
+-- next one tries to add 9 zeros
+resx252 rescale   1E+10 +1  ->  NaN Invalid_operation
+resx253 rescale   1E-10 +1  ->  0E+1 Inexact Rounded
+resx254 rescale   1E-2  +1  ->  0E+1 Inexact Rounded
+resx255 rescale   0E-10 +1  ->  0E+1
+resx256 rescale  -0E-10 +1  -> -0E+1
+resx257 rescale  -0E-1  +1  -> -0E+1
+resx258 rescale  -0     +1  -> -0E+1
+resx259 rescale  -0E+1  +1  -> -0E+1
+
+resx260 rescale   -10   +2  ->  -0E+2 Inexact Rounded
+resx261 rescale   +1    +2  ->  0E+2 Inexact Rounded
+resx262 rescale   +10   +2  ->  0E+2 Inexact Rounded
+resx263 rescale   1E+1  +2  ->  0E+2 Inexact Rounded
+resx264 rescale   1E+2  +2  ->  1E+2
+resx265 rescale   1E+3  +2  ->  1.0E+3
+resx266 rescale   1E+4  +2  ->  1.00E+4
+resx267 rescale   1E+5  +2  ->  1.000E+5
+resx268 rescale   1E+6  +2  ->  1.0000E+6
+resx269 rescale   1E+7  +2  ->  1.00000E+7
+resx270 rescale   1E+8  +2  ->  1.000000E+8
+resx271 rescale   1E+9  +2  ->  1.0000000E+9
+resx272 rescale   1E+10 +2  ->  1.00000000E+10
+resx273 rescale   1E-10 +2  ->  0E+2 Inexact Rounded
+resx274 rescale   1E-2  +2  ->  0E+2 Inexact Rounded
+resx275 rescale   0E-10 +2  ->  0E+2
+
+resx280 rescale   -10   +3  ->  -0E+3 Inexact Rounded
+resx281 rescale   +1    +3  ->  0E+3 Inexact Rounded
+resx282 rescale   +10   +3  ->  0E+3 Inexact Rounded
+resx283 rescale   1E+1  +3  ->  0E+3 Inexact Rounded
+resx284 rescale   1E+2  +3  ->  0E+3 Inexact Rounded
+resx285 rescale   1E+3  +3  ->  1E+3
+resx286 rescale   1E+4  +3  ->  1.0E+4
+resx287 rescale   1E+5  +3  ->  1.00E+5
+resx288 rescale   1E+6  +3  ->  1.000E+6
+resx289 rescale   1E+7  +3  ->  1.0000E+7
+resx290 rescale   1E+8  +3  ->  1.00000E+8
+resx291 rescale   1E+9  +3  ->  1.000000E+9
+resx292 rescale   1E+10 +3  ->  1.0000000E+10
+resx293 rescale   1E-10 +3  ->  0E+3 Inexact Rounded
+resx294 rescale   1E-2  +3  ->  0E+3 Inexact Rounded
+resx295 rescale   0E-10 +3  ->  0E+3
+
+-- round up from below [sign wrong in JIT compiler once]
+resx300 rescale   0.0078 -5 ->  0.00780
+resx301 rescale   0.0078 -4 ->  0.0078
+resx302 rescale   0.0078 -3 ->  0.008 Inexact Rounded
+resx303 rescale   0.0078 -2 ->  0.01 Inexact Rounded
+resx304 rescale   0.0078 -1 ->  0.0 Inexact Rounded
+resx305 rescale   0.0078  0 ->  0 Inexact Rounded
+resx306 rescale   0.0078 +1 ->  0E+1 Inexact Rounded
+resx307 rescale   0.0078 +2 ->  0E+2 Inexact Rounded
+
+resx310 rescale  -0.0078 -5 -> -0.00780
+resx311 rescale  -0.0078 -4 -> -0.0078
+resx312 rescale  -0.0078 -3 -> -0.008 Inexact Rounded
+resx313 rescale  -0.0078 -2 -> -0.01 Inexact Rounded
+resx314 rescale  -0.0078 -1 -> -0.0 Inexact Rounded
+resx315 rescale  -0.0078  0 -> -0 Inexact Rounded
+resx316 rescale  -0.0078 +1 -> -0E+1 Inexact Rounded
+resx317 rescale  -0.0078 +2 -> -0E+2 Inexact Rounded
+
+resx320 rescale   0.078 -5 ->  0.07800
+resx321 rescale   0.078 -4 ->  0.0780
+resx322 rescale   0.078 -3 ->  0.078
+resx323 rescale   0.078 -2 ->  0.08 Inexact Rounded
+resx324 rescale   0.078 -1 ->  0.1 Inexact Rounded
+resx325 rescale   0.078  0 ->  0 Inexact Rounded
+resx326 rescale   0.078 +1 ->  0E+1 Inexact Rounded
+resx327 rescale   0.078 +2 ->  0E+2 Inexact Rounded
+
+resx330 rescale  -0.078 -5 -> -0.07800
+resx331 rescale  -0.078 -4 -> -0.0780
+resx332 rescale  -0.078 -3 -> -0.078
+resx333 rescale  -0.078 -2 -> -0.08 Inexact Rounded
+resx334 rescale  -0.078 -1 -> -0.1 Inexact Rounded
+resx335 rescale  -0.078  0 -> -0 Inexact Rounded
+resx336 rescale  -0.078 +1 -> -0E+1 Inexact Rounded
+resx337 rescale  -0.078 +2 -> -0E+2 Inexact Rounded
+
+resx340 rescale   0.78 -5 ->  0.78000
+resx341 rescale   0.78 -4 ->  0.7800
+resx342 rescale   0.78 -3 ->  0.780
+resx343 rescale   0.78 -2 ->  0.78
+resx344 rescale   0.78 -1 ->  0.8 Inexact Rounded
+resx345 rescale   0.78  0 ->  1 Inexact Rounded
+resx346 rescale   0.78 +1 ->  0E+1 Inexact Rounded
+resx347 rescale   0.78 +2 ->  0E+2 Inexact Rounded
+
+resx350 rescale  -0.78 -5 -> -0.78000
+resx351 rescale  -0.78 -4 -> -0.7800
+resx352 rescale  -0.78 -3 -> -0.780
+resx353 rescale  -0.78 -2 -> -0.78
+resx354 rescale  -0.78 -1 -> -0.8 Inexact Rounded
+resx355 rescale  -0.78  0 -> -1 Inexact Rounded
+resx356 rescale  -0.78 +1 -> -0E+1 Inexact Rounded
+resx357 rescale  -0.78 +2 -> -0E+2 Inexact Rounded
+
+resx360 rescale   7.8 -5 ->  7.80000
+resx361 rescale   7.8 -4 ->  7.8000
+resx362 rescale   7.8 -3 ->  7.800
+resx363 rescale   7.8 -2 ->  7.80
+resx364 rescale   7.8 -1 ->  7.8
+resx365 rescale   7.8  0 ->  8 Inexact Rounded
+resx366 rescale   7.8 +1 ->  1E+1 Inexact Rounded
+resx367 rescale   7.8 +2 ->  0E+2 Inexact Rounded
+resx368 rescale   7.8 +3 ->  0E+3 Inexact Rounded
+
+resx370 rescale  -7.8 -5 -> -7.80000
+resx371 rescale  -7.8 -4 -> -7.8000
+resx372 rescale  -7.8 -3 -> -7.800
+resx373 rescale  -7.8 -2 -> -7.80
+resx374 rescale  -7.8 -1 -> -7.8
+resx375 rescale  -7.8  0 -> -8 Inexact Rounded
+resx376 rescale  -7.8 +1 -> -1E+1 Inexact Rounded
+resx377 rescale  -7.8 +2 -> -0E+2 Inexact Rounded
+resx378 rescale  -7.8 +3 -> -0E+3 Inexact Rounded
+
+-- some individuals
+precision: 9
+resx380 rescale   352364.506 -2 -> 352364.51 Inexact Rounded
+resx381 rescale   3523645.06 -2 -> 3523645.06
+resx382 rescale   35236450.6 -2 -> NaN Invalid_operation
+resx383 rescale   352364506  -2 -> NaN Invalid_operation
+resx384 rescale  -352364.506 -2 -> -352364.51 Inexact Rounded
+resx385 rescale  -3523645.06 -2 -> -3523645.06
+resx386 rescale  -35236450.6 -2 -> NaN Invalid_operation
+resx387 rescale  -352364506  -2 -> NaN Invalid_operation
+
+rounding: down
+resx389 rescale   35236450.6 -2 -> NaN Invalid_operation
+-- ? should that one instead have been:
+-- resx389 rescale   35236450.6 -2 -> NaN Invalid_operation
+rounding: half_up
+
+-- and a few more from e-mail discussions
+precision: 7
+resx391 rescale  12.34567  -3 -> 12.346   Inexact Rounded
+resx392 rescale  123.4567  -3 -> 123.457  Inexact Rounded
+resx393 rescale  1234.567  -3 -> 1234.567
+resx394 rescale  12345.67  -3 -> NaN Invalid_operation
+resx395 rescale  123456.7  -3 -> NaN Invalid_operation
+resx396 rescale  1234567.  -3 -> NaN Invalid_operation
+
+-- some 9999 round-up cases
+precision: 9
+resx400 rescale   9.999        -5  ->  9.99900
+resx401 rescale   9.999        -4  ->  9.9990
+resx402 rescale   9.999        -3  ->  9.999
+resx403 rescale   9.999        -2  -> 10.00     Inexact Rounded
+resx404 rescale   9.999        -1  -> 10.0      Inexact Rounded
+resx405 rescale   9.999         0  -> 10        Inexact Rounded
+resx406 rescale   9.999         1  -> 1E+1      Inexact Rounded
+resx407 rescale   9.999         2  -> 0E+2      Inexact Rounded
+
+resx410 rescale   0.999        -5  ->  0.99900
+resx411 rescale   0.999        -4  ->  0.9990
+resx412 rescale   0.999        -3  ->  0.999
+resx413 rescale   0.999        -2  ->  1.00     Inexact Rounded
+resx414 rescale   0.999        -1  ->  1.0      Inexact Rounded
+resx415 rescale   0.999         0  ->  1        Inexact Rounded
+resx416 rescale   0.999         1  -> 0E+1      Inexact Rounded
+
+resx420 rescale   0.0999       -5  ->  0.09990
+resx421 rescale   0.0999       -4  ->  0.0999
+resx422 rescale   0.0999       -3  ->  0.100    Inexact Rounded
+resx423 rescale   0.0999       -2  ->  0.10     Inexact Rounded
+resx424 rescale   0.0999       -1  ->  0.1      Inexact Rounded
+resx425 rescale   0.0999        0  ->  0        Inexact Rounded
+resx426 rescale   0.0999        1  -> 0E+1      Inexact Rounded
+
+resx430 rescale   0.00999      -5  ->  0.00999
+resx431 rescale   0.00999      -4  ->  0.0100   Inexact Rounded
+resx432 rescale   0.00999      -3  ->  0.010    Inexact Rounded
+resx433 rescale   0.00999      -2  ->  0.01     Inexact Rounded
+resx434 rescale   0.00999      -1  ->  0.0      Inexact Rounded
+resx435 rescale   0.00999       0  ->  0        Inexact Rounded
+resx436 rescale   0.00999       1  -> 0E+1      Inexact Rounded
+
+resx440 rescale   0.000999     -5  ->  0.00100  Inexact Rounded
+resx441 rescale   0.000999     -4  ->  0.0010   Inexact Rounded
+resx442 rescale   0.000999     -3  ->  0.001    Inexact Rounded
+resx443 rescale   0.000999     -2  ->  0.00     Inexact Rounded
+resx444 rescale   0.000999     -1  ->  0.0      Inexact Rounded
+resx445 rescale   0.000999      0  ->  0        Inexact Rounded
+resx446 rescale   0.000999      1  -> 0E+1      Inexact Rounded
+
+precision: 8
+resx449 rescale   9.999E-15    -23 ->  NaN Invalid_operation
+resx450 rescale   9.999E-15    -22 ->  9.9990000E-15
+resx451 rescale   9.999E-15    -21 ->  9.999000E-15
+resx452 rescale   9.999E-15    -20 ->  9.99900E-15
+resx453 rescale   9.999E-15    -19 ->  9.9990E-15
+resx454 rescale   9.999E-15    -18 ->  9.999E-15
+resx455 rescale   9.999E-15    -17 ->  1.000E-14 Inexact Rounded
+resx456 rescale   9.999E-15    -16 ->  1.00E-14  Inexact Rounded
+resx457 rescale   9.999E-15    -15 ->  1.0E-14   Inexact Rounded
+resx458 rescale   9.999E-15    -14 ->  1E-14     Inexact Rounded
+resx459 rescale   9.999E-15    -13 ->  0E-13     Inexact Rounded
+resx460 rescale   9.999E-15    -12 ->  0E-12     Inexact Rounded
+resx461 rescale   9.999E-15    -11 ->  0E-11     Inexact Rounded
+resx462 rescale   9.999E-15    -10 ->  0E-10     Inexact Rounded
+resx463 rescale   9.999E-15     -9 ->  0E-9      Inexact Rounded
+resx464 rescale   9.999E-15     -8 ->  0E-8      Inexact Rounded
+resx465 rescale   9.999E-15     -7 ->  0E-7      Inexact Rounded
+resx466 rescale   9.999E-15     -6 ->  0.000000  Inexact Rounded
+resx467 rescale   9.999E-15     -5 ->  0.00000   Inexact Rounded
+resx468 rescale   9.999E-15     -4 ->  0.0000    Inexact Rounded
+resx469 rescale   9.999E-15     -3 ->  0.000     Inexact Rounded
+resx470 rescale   9.999E-15     -2 ->  0.00      Inexact Rounded
+resx471 rescale   9.999E-15     -1 ->  0.0       Inexact Rounded
+resx472 rescale   9.999E-15      0 ->  0         Inexact Rounded
+resx473 rescale   9.999E-15      1 ->  0E+1      Inexact Rounded
+
+-- long operand checks [rhs checks removed]
+maxexponent: 999
+minexponent: -999
+precision: 9
+resx481 rescale 12345678000 +3 -> 1.2345678E+10 Rounded
+resx482 rescale 1234567800  +1 -> 1.23456780E+9 Rounded
+resx483 rescale 1234567890  +1 -> 1.23456789E+9 Rounded
+resx484 rescale 1234567891  +1 -> 1.23456789E+9 Inexact Rounded
+resx485 rescale 12345678901 +2 -> 1.23456789E+10 Inexact Rounded
+resx486 rescale 1234567896  +1 -> 1.23456790E+9 Inexact Rounded
+-- a potential double-round
+resx487 rescale 1234.987643 -4 -> 1234.9876 Inexact Rounded
+resx488 rescale 1234.987647 -4 -> 1234.9876 Inexact Rounded
+
+precision: 15
+resx491 rescale 12345678000 +3 -> 1.2345678E+10 Rounded
+resx492 rescale 1234567800  +1 -> 1.23456780E+9 Rounded
+resx493 rescale 1234567890  +1 -> 1.23456789E+9 Rounded
+resx494 rescale 1234567891  +1 -> 1.23456789E+9 Inexact Rounded
+resx495 rescale 12345678901 +2 -> 1.23456789E+10 Inexact Rounded
+resx496 rescale 1234567896  +1 -> 1.23456790E+9 Inexact Rounded
+resx497 rescale 1234.987643 -4 -> 1234.9876 Inexact Rounded
+resx498 rescale 1234.987647 -4 -> 1234.9876 Inexact Rounded
+
+-- Zeros
+resx500 rescale   0     1 ->  0E+1
+resx501 rescale   0     0 ->  0
+resx502 rescale   0    -1 ->  0.0
+resx503 rescale   0.0  -1 ->  0.0
+resx504 rescale   0.0   0 ->  0
+resx505 rescale   0.0  +1 ->  0E+1
+resx506 rescale   0E+1 -1 ->  0.0
+resx507 rescale   0E+1  0 ->  0
+resx508 rescale   0E+1 +1 ->  0E+1
+resx509 rescale  -0     1 -> -0E+1
+resx510 rescale  -0     0 -> -0
+resx511 rescale  -0    -1 -> -0.0
+resx512 rescale  -0.0  -1 -> -0.0
+resx513 rescale  -0.0   0 -> -0
+resx514 rescale  -0.0  +1 -> -0E+1
+resx515 rescale  -0E+1 -1 -> -0.0
+resx516 rescale  -0E+1  0 -> -0
+resx517 rescale  -0E+1 +1 -> -0E+1
+
+-- Suspicious RHS values
+maxexponent: 999999999
+minexponent: -999999999
+precision: 15
+resx520 rescale   1.234    999999E+3 -> 0E+999999000 Inexact Rounded
+resx521 rescale 123.456    999999E+3 -> 0E+999999000 Inexact Rounded
+resx522 rescale   1.234    999999999 -> 0E+999999999 Inexact Rounded
+resx523 rescale 123.456    999999999 -> 0E+999999999 Inexact Rounded
+resx524 rescale 123.456   1000000000 -> NaN Invalid_operation
+resx525 rescale 123.456  12345678903 -> NaN Invalid_operation
+-- next four are "won't fit" overflows
+resx526 rescale   1.234   -999999E+3 -> NaN Invalid_operation
+resx527 rescale 123.456   -999999E+3 -> NaN Invalid_operation
+resx528 rescale   1.234   -999999999 -> NaN Invalid_operation
+resx529 rescale 123.456   -999999999 -> NaN Invalid_operation
+resx530 rescale 123.456  -1000000014 -> NaN Invalid_operation
+resx531 rescale 123.456 -12345678903 -> NaN Invalid_operation
+
+maxexponent: 999
+minexponent: -999
+precision: 15
+resx532 rescale   1.234E+999    999 -> 1E+999    Inexact Rounded
+resx533 rescale   1.234E+998    999 -> 0E+999    Inexact Rounded
+resx534 rescale   1.234         999 -> 0E+999    Inexact Rounded
+resx535 rescale   1.234        1000 -> NaN Invalid_operation
+resx536 rescale   1.234        5000 -> NaN Invalid_operation
+resx537 rescale   0            -999 -> 0E-999
+-- next two are "won't fit" overflows
+resx538 rescale   1.234        -999 -> NaN Invalid_operation
+resx539 rescale   1.234       -1000 -> NaN Invalid_operation
+resx540 rescale   1.234       -5000 -> NaN Invalid_operation
+-- [more below]
+
+-- check bounds (lhs maybe out of range for destination, etc.)
+precision:     7
+resx541 rescale   1E+999   +999 -> 1E+999
+resx542 rescale   1E+1000  +999 -> NaN Invalid_operation
+resx543 rescale   1E+999  +1000 -> NaN Invalid_operation
+resx544 rescale   1E-999   -999 -> 1E-999
+resx545 rescale   1E-1000  -999 -> 0E-999    Inexact Rounded
+resx546 rescale   1E-999  -1000 -> 1.0E-999
+resx547 rescale   1E-1005  -999 -> 0E-999    Inexact Rounded
+resx548 rescale   1E-1006  -999 -> 0E-999    Inexact Rounded
+resx549 rescale   1E-1007  -999 -> 0E-999    Inexact Rounded
+resx550 rescale   1E-998  -1005 -> NaN Invalid_operation  -- won't fit
+resx551 rescale   1E-999  -1005 -> 1.000000E-999
+resx552 rescale   1E-1000 -1005 -> 1.00000E-1000 Subnormal
+resx553 rescale   1E-999  -1006 -> NaN Invalid_operation
+resx554 rescale   1E-999  -1007 -> NaN Invalid_operation
+-- related subnormal rounding
+resx555 rescale   1.666666E-999  -1005 -> 1.666666E-999
+resx556 rescale   1.666666E-1000 -1005 -> 1.66667E-1000  Subnormal Inexact Rounded
+resx557 rescale   1.666666E-1001 -1005 -> 1.6667E-1001  Subnormal Inexact Rounded
+resx558 rescale   1.666666E-1002 -1005 -> 1.667E-1002  Subnormal Inexact Rounded
+resx559 rescale   1.666666E-1003 -1005 -> 1.67E-1003  Subnormal Inexact Rounded
+resx560 rescale   1.666666E-1004 -1005 -> 1.7E-1004  Subnormal Inexact Rounded
+resx561 rescale   1.666666E-1005 -1005 -> 2E-1005  Subnormal Inexact Rounded
+resx562 rescale   1.666666E-1006 -1005 -> 0E-1005   Inexact Rounded
+resx563 rescale   1.666666E-1007 -1005 -> 0E-1005   Inexact Rounded
+
+-- fractional RHS, some good and some bad
+precision: 9
+resx564 rescale   222 +2.0           -> 2E+2 Inexact Rounded
+resx565 rescale   222 +2.00000000    -> 2E+2 Inexact Rounded
+resx566 rescale   222 +2.00100000000 -> NaN Invalid_operation
+resx567 rescale   222 +2.000001      -> NaN Invalid_operation
+resx568 rescale   222 +2.000000001   -> NaN Invalid_operation
+resx569 rescale   222 +2.0000000001  -> NaN Invalid_operation
+resx570 rescale   222 +2.00000000001 -> NaN Invalid_operation
+resx571 rescale   222 +2.99999999999 -> NaN Invalid_operation
+resx572 rescale   222 -2.00000000    -> 222.00
+resx573 rescale   222 -2.00100000000 -> NaN Invalid_operation
+resx574 rescale   222 -2.0000001000  -> NaN Invalid_operation
+resx575 rescale   222 -2.00000000001 -> NaN Invalid_operation
+resx576 rescale   222 -2.99999999999 -> NaN Invalid_operation
+
+-- Specials
+resx580 rescale  Inf  -Inf   ->  Infinity
+resx581 rescale  Inf  -1000  ->  NaN  Invalid_operation
+resx582 rescale  Inf  -1     ->  NaN  Invalid_operation
+resx583 rescale  Inf   0     ->  NaN  Invalid_operation
+resx584 rescale  Inf   1     ->  NaN  Invalid_operation
+resx585 rescale  Inf   1000  ->  NaN  Invalid_operation
+resx586 rescale  Inf   Inf   ->  Infinity
+resx587 rescale -1000  Inf   ->  NaN  Invalid_operation
+resx588 rescale -Inf   Inf   ->  -Infinity
+resx589 rescale -1     Inf   ->  NaN  Invalid_operation
+resx590 rescale  0     Inf   ->  NaN  Invalid_operation
+resx591 rescale  1     Inf   ->  NaN  Invalid_operation
+resx592 rescale  1000  Inf   ->  NaN  Invalid_operation
+resx593 rescale  Inf   Inf   ->  Infinity
+resx594 rescale  Inf  -0     ->  NaN  Invalid_operation
+resx595 rescale -0     Inf   ->  NaN  Invalid_operation
+
+resx600 rescale -Inf  -Inf   ->  -Infinity
+resx601 rescale -Inf  -1000  ->  NaN  Invalid_operation
+resx602 rescale -Inf  -1     ->  NaN  Invalid_operation
+resx603 rescale -Inf   0     ->  NaN  Invalid_operation
+resx604 rescale -Inf   1     ->  NaN  Invalid_operation
+resx605 rescale -Inf   1000  ->  NaN  Invalid_operation
+resx606 rescale -Inf   Inf   ->  -Infinity
+resx607 rescale -1000  Inf   ->  NaN  Invalid_operation
+resx608 rescale -Inf  -Inf   ->  -Infinity
+resx609 rescale -1    -Inf   ->  NaN  Invalid_operation
+resx610 rescale  0    -Inf   ->  NaN  Invalid_operation
+resx611 rescale  1    -Inf   ->  NaN  Invalid_operation
+resx612 rescale  1000 -Inf   ->  NaN  Invalid_operation
+resx613 rescale  Inf  -Inf   ->  Infinity
+resx614 rescale -Inf  -0     ->  NaN  Invalid_operation
+resx615 rescale -0    -Inf   ->  NaN  Invalid_operation
+
+resx621 rescale  NaN -Inf    ->  NaN
+resx622 rescale  NaN -1000   ->  NaN
+resx623 rescale  NaN -1      ->  NaN
+resx624 rescale  NaN  0      ->  NaN
+resx625 rescale  NaN  1      ->  NaN
+resx626 rescale  NaN  1000   ->  NaN
+resx627 rescale  NaN  Inf    ->  NaN
+resx628 rescale  NaN  NaN    ->  NaN
+resx629 rescale -Inf  NaN    ->  NaN
+resx630 rescale -1000 NaN    ->  NaN
+resx631 rescale -1    NaN    ->  NaN
+resx632 rescale  0    NaN    ->  NaN
+resx633 rescale  1   -NaN    -> -NaN
+resx634 rescale  1000 NaN    ->  NaN
+resx635 rescale  Inf  NaN    ->  NaN
+resx636 rescale  NaN -0      ->  NaN
+resx637 rescale -0    NaN    ->  NaN
+
+resx641 rescale  sNaN -Inf   ->  NaN  Invalid_operation
+resx642 rescale  sNaN -1000  ->  NaN  Invalid_operation
+resx643 rescale  sNaN -1     ->  NaN  Invalid_operation
+resx644 rescale  sNaN  0     ->  NaN  Invalid_operation
+resx645 rescale  sNaN  1     ->  NaN  Invalid_operation
+resx646 rescale  sNaN  1000  ->  NaN  Invalid_operation
+resx647 rescale -sNaN  NaN   -> -NaN  Invalid_operation
+resx648 rescale  sNaN -sNaN  ->  NaN  Invalid_operation
+resx649 rescale  NaN  sNaN   ->  NaN  Invalid_operation
+resx650 rescale -Inf  sNaN   ->  NaN  Invalid_operation
+resx651 rescale -1000 sNaN   ->  NaN  Invalid_operation
+resx652 rescale -1    sNaN   ->  NaN  Invalid_operation
+resx653 rescale  0    sNaN   ->  NaN  Invalid_operation
+resx654 rescale  1   -sNaN   -> -NaN  Invalid_operation
+resx655 rescale  1000 sNaN   ->  NaN  Invalid_operation
+resx656 rescale  Inf  sNaN   ->  NaN  Invalid_operation
+resx657 rescale  NaN  sNaN   ->  NaN  Invalid_operation
+resx658 rescale  sNaN -0     ->  NaN  Invalid_operation
+resx659 rescale -0    sNaN   ->  NaN  Invalid_operation
+
+-- propagating NaNs
+resx661 rescale  NaN9 -Inf   ->  NaN9
+resx662 rescale  NaN81 919   ->  NaN81
+resx663 rescale  NaN72 Inf   ->  NaN72
+resx664 rescale -NaN66 NaN5  -> -NaN66
+resx665 rescale -Inf   NaN4  ->  NaN4
+resx666 rescale -919   NaN32 ->  NaN32
+resx667 rescale  Inf   NaN2  ->  NaN2
+
+resx671 rescale  sNaN99 -Inf    ->  NaN99 Invalid_operation
+resx672 rescale -sNaN98 -11     -> -NaN98 Invalid_operation
+resx673 rescale  sNaN97  NaN    ->  NaN97 Invalid_operation
+resx674 rescale  sNaN16 sNaN94  ->  NaN16 Invalid_operation
+resx675 rescale  NaN95  sNaN93  ->  NaN93 Invalid_operation
+resx676 rescale -Inf    sNaN92  ->  NaN92 Invalid_operation
+resx677 rescale  088   -sNaN91  -> -NaN91 Invalid_operation
+resx678 rescale  Inf   -sNaN90  -> -NaN90 Invalid_operation
+resx679 rescale  NaN    sNaN87  ->  NaN87 Invalid_operation
+
+-- subnormals and underflow
+precision: 4
+maxexponent: 999
+minexponent: -999
+resx710 rescale  1.00E-999    -999  ->   1E-999    Rounded
+resx711 rescale  0.1E-999    -1000  ->   1E-1000   Subnormal
+resx712 rescale  0.10E-999   -1000  ->   1E-1000   Subnormal Rounded
+resx713 rescale  0.100E-999  -1000  ->   1E-1000   Subnormal Rounded
+resx714 rescale  0.01E-999   -1001  ->   1E-1001   Subnormal
+-- next is rounded to Emin
+resx715 rescale  0.999E-999   -999  ->   1E-999    Inexact Rounded
+resx716 rescale  0.099E-999  -1000  ->   1E-1000   Inexact Rounded Subnormal
+
+resx717 rescale  0.009E-999  -1001  ->   1E-1001   Inexact Rounded Subnormal
+resx718 rescale  0.001E-999  -1001  ->   0E-1001   Inexact Rounded
+resx719 rescale  0.0009E-999 -1001  ->   0E-1001   Inexact Rounded
+resx720 rescale  0.0001E-999 -1001  ->   0E-1001   Inexact Rounded
+
+resx730 rescale -1.00E-999   -999  ->  -1E-999     Rounded
+resx731 rescale -0.1E-999    -999  ->  -0E-999     Rounded Inexact
+resx732 rescale -0.10E-999   -999  ->  -0E-999     Rounded Inexact
+resx733 rescale -0.100E-999  -999  ->  -0E-999     Rounded Inexact
+resx734 rescale -0.01E-999   -999  ->  -0E-999     Inexact Rounded
+-- next is rounded to Emin
+resx735 rescale -0.999E-999  -999  ->  -1E-999     Inexact Rounded
+resx736 rescale -0.099E-999  -999  ->  -0E-999     Inexact Rounded
+resx737 rescale -0.009E-999  -999  ->  -0E-999     Inexact Rounded
+resx738 rescale -0.001E-999  -999  ->  -0E-999     Inexact Rounded
+resx739 rescale -0.0001E-999 -999  ->  -0E-999     Inexact Rounded
+
+resx740 rescale -1.00E-999   -1000 ->  -1.0E-999   Rounded
+resx741 rescale -0.1E-999    -1000 ->  -1E-1000    Subnormal
+resx742 rescale -0.10E-999   -1000 ->  -1E-1000    Subnormal Rounded
+resx743 rescale -0.100E-999  -1000 ->  -1E-1000    Subnormal Rounded
+resx744 rescale -0.01E-999   -1000 ->  -0E-1000    Inexact Rounded
+-- next is rounded to Emin
+resx745 rescale -0.999E-999  -1000 ->  -1.0E-999   Inexact Rounded
+resx746 rescale -0.099E-999  -1000 ->  -1E-1000    Inexact Rounded Subnormal
+resx747 rescale -0.009E-999  -1000 ->  -0E-1000    Inexact Rounded
+resx748 rescale -0.001E-999  -1000 ->  -0E-1000    Inexact Rounded
+resx749 rescale -0.0001E-999 -1000 ->  -0E-1000    Inexact Rounded
+
+resx750 rescale -1.00E-999   -1001 ->  -1.00E-999
+resx751 rescale -0.1E-999    -1001 ->  -1.0E-1000  Subnormal
+resx752 rescale -0.10E-999   -1001 ->  -1.0E-1000  Subnormal
+resx753 rescale -0.100E-999  -1001 ->  -1.0E-1000  Subnormal Rounded
+resx754 rescale -0.01E-999   -1001 ->  -1E-1001    Subnormal
+-- next is rounded to Emin
+resx755 rescale -0.999E-999  -1001 ->  -1.00E-999  Inexact Rounded
+resx756 rescale -0.099E-999  -1001 ->  -1.0E-1000  Inexact Rounded Subnormal
+resx757 rescale -0.009E-999  -1001 ->  -1E-1001    Inexact Rounded Subnormal
+resx758 rescale -0.001E-999  -1001 ->  -0E-1001    Inexact Rounded
+resx759 rescale -0.0001E-999 -1001 ->  -0E-1001    Inexact Rounded
+
+resx760 rescale -1.00E-999   -1002 ->  -1.000E-999
+resx761 rescale -0.1E-999    -1002 ->  -1.00E-1000  Subnormal
+resx762 rescale -0.10E-999   -1002 ->  -1.00E-1000  Subnormal
+resx763 rescale -0.100E-999  -1002 ->  -1.00E-1000  Subnormal
+resx764 rescale -0.01E-999   -1002 ->  -1.0E-1001   Subnormal
+resx765 rescale -0.999E-999  -1002 ->  -9.99E-1000  Subnormal
+resx766 rescale -0.099E-999  -1002 ->  -9.9E-1001   Subnormal
+resx767 rescale -0.009E-999  -1002 ->  -9E-1002     Subnormal
+resx768 rescale -0.001E-999  -1002 ->  -1E-1002     Subnormal
+resx769 rescale -0.0001E-999 -1002 ->  -0E-1002     Inexact Rounded
+
+-- rhs must be no less than Etiny
+resx770 rescale -1.00E-999   -1003 ->  NaN Invalid_operation
+resx771 rescale -0.1E-999    -1003 ->  NaN Invalid_operation
+resx772 rescale -0.10E-999   -1003 ->  NaN Invalid_operation
+resx773 rescale -0.100E-999  -1003 ->  NaN Invalid_operation
+resx774 rescale -0.01E-999   -1003 ->  NaN Invalid_operation
+resx775 rescale -0.999E-999  -1003 ->  NaN Invalid_operation
+resx776 rescale -0.099E-999  -1003 ->  NaN Invalid_operation
+resx777 rescale -0.009E-999  -1003 ->  NaN Invalid_operation
+resx778 rescale -0.001E-999  -1003 ->  NaN Invalid_operation
+resx779 rescale -0.0001E-999 -1003 ->  NaN Invalid_operation
+
+precision:   9
+maxExponent: 999999999
+minexponent: -999999999
+
+-- getInt worries
+resx801 rescale   0   1000000000 -> NaN Invalid_operation
+resx802 rescale   0  -1000000000 -> 0E-1000000000
+resx803 rescale   0   2000000000 -> NaN Invalid_operation
+resx804 rescale   0  -2000000000 -> NaN Invalid_operation
+resx805 rescale   0   3000000000 -> NaN Invalid_operation
+resx806 rescale   0  -3000000000 -> NaN Invalid_operation
+resx807 rescale   0   4000000000 -> NaN Invalid_operation
+resx808 rescale   0  -4000000000 -> NaN Invalid_operation
+resx809 rescale   0   5000000000 -> NaN Invalid_operation
+resx810 rescale   0  -5000000000 -> NaN Invalid_operation
+resx811 rescale   0   6000000000 -> NaN Invalid_operation
+resx812 rescale   0  -6000000000 -> NaN Invalid_operation
+resx813 rescale   0   7000000000 -> NaN Invalid_operation
+resx814 rescale   0  -7000000000 -> NaN Invalid_operation
+resx815 rescale   0   8000000000 -> NaN Invalid_operation
+resx816 rescale   0  -8000000000 -> NaN Invalid_operation
+resx817 rescale   0   9000000000 -> NaN Invalid_operation
+resx818 rescale   0  -9000000000 -> NaN Invalid_operation
+resx819 rescale   0   9999999999 -> NaN Invalid_operation
+resx820 rescale   0  -9999999999 -> NaN Invalid_operation
+resx821 rescale   0   10000000000 -> NaN Invalid_operation
+resx822 rescale   0  -10000000000 -> NaN Invalid_operation
+
+resx831 rescale   1   0E-1       -> 1
+resx832 rescale   1   0E-2       -> 1
+resx833 rescale   1   0E-3       -> 1
+resx834 rescale   1   0E-4       -> 1
+resx835 rescale   1   0E-100     -> 1
+resx836 rescale   1   0E-100000  -> 1
+resx837 rescale   1   0E+100     -> 1
+resx838 rescale   1   0E+100000  -> 1
+
+resx841 rescale   0   5E-1000000 -> NaN Invalid_operation
+resx842 rescale   0   5E-1000000 -> NaN Invalid_operation
+resx843 rescale   0    999999999 -> 0E+999999999
+resx844 rescale   0   1000000000 -> NaN Invalid_operation
+resx845 rescale   0   -999999999 -> 0E-999999999
+resx846 rescale   0  -1000000000 -> 0E-1000000000
+resx847 rescale   0  -1000000001 -> 0E-1000000001
+resx848 rescale   0  -1000000002 -> 0E-1000000002
+resx849 rescale   0  -1000000003 -> 0E-1000000003
+resx850 rescale   0  -1000000004 -> 0E-1000000004
+resx851 rescale   0  -1000000005 -> 0E-1000000005
+resx852 rescale   0  -1000000006 -> 0E-1000000006
+resx853 rescale   0  -1000000007 -> 0E-1000000007
+resx854 rescale   0  -1000000008 -> NaN Invalid_operation
+
+resx861 rescale   1  +2147483649 -> NaN Invalid_operation
+resx862 rescale   1  +2147483648 -> NaN Invalid_operation
+resx863 rescale   1  +2147483647 -> NaN Invalid_operation
+resx864 rescale   1  -2147483647 -> NaN Invalid_operation
+resx865 rescale   1  -2147483648 -> NaN Invalid_operation
+resx866 rescale   1  -2147483649 -> NaN Invalid_operation
+
+-- Null tests
+res900 rescale 10  # -> NaN Invalid_operation
+res901 rescale  # 10 -> NaN Invalid_operation

Added: sandbox/trunk/decimal-c/decimaltestdata/rounding.decTest
==============================================================================
--- (empty file)
+++ sandbox/trunk/decimal-c/decimaltestdata/rounding.decTest	Tue May 23 13:34:01 2006
@@ -0,0 +1,1079 @@
+------------------------------------------------------------------------
+-- rounding.decTest -- decimal rounding modes testcases               --
+-- Copyright (c) IBM Corporation, 1981, 2003.  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 at uk.ibm.com                                                   --
+------------------------------------------------------------------------
+version: 2.39
+
+-- These tests require that implementations take account of residues in
+-- order to get correct results for some rounding modes.  Rather than
+-- single rounding tests we therefore need tests for most operators.
+-- [We do assume add/minus/plus/subtract are common paths, however, as
+-- is rounding of negatives (if the latter works for addition, assume it
+-- works for the others, too).]
+--
+-- Underflow Subnormal and overflow behaviours are tested under the individual
+-- operators.
+
+extended:    1
+precision:   5           -- for easier visual inspection
+maxExponent: 999
+minexponent: -999
+
+-- Addition operators -------------------------------------------------
+rounding: down
+
+radx100  add 12345 -0.1       -> 12344 Inexact Rounded
+radx101  add 12345 -0.01      -> 12344 Inexact Rounded
+radx102  add 12345 -0.001     -> 12344 Inexact Rounded
+radx103  add 12345 -0.00001   -> 12344 Inexact Rounded
+radx104  add 12345 -0.000001  -> 12344 Inexact Rounded
+radx105  add 12345 -0.0000001 -> 12344 Inexact Rounded
+radx106  add 12345  0         -> 12345
+radx107  add 12345  0.0000001 -> 12345 Inexact Rounded
+radx108  add 12345  0.000001  -> 12345 Inexact Rounded
+radx109  add 12345  0.00001   -> 12345 Inexact Rounded
+radx110  add 12345  0.0001    -> 12345 Inexact Rounded
+radx111  add 12345  0.001     -> 12345 Inexact Rounded
+radx112  add 12345  0.01      -> 12345 Inexact Rounded
+radx113  add 12345  0.1       -> 12345 Inexact Rounded
+
+radx115  add 12346  0.49999   -> 12346 Inexact Rounded
+radx116  add 12346  0.5       -> 12346 Inexact Rounded
+radx117  add 12346  0.50001   -> 12346 Inexact Rounded
+
+radx120  add 12345  0.4       -> 12345 Inexact Rounded
+radx121  add 12345  0.49      -> 12345 Inexact Rounded
+radx122  add 12345  0.499     -> 12345 Inexact Rounded
+radx123  add 12345  0.49999   -> 12345 Inexact Rounded
+radx124  add 12345  0.5       -> 12345 Inexact Rounded
+radx125  add 12345  0.50001   -> 12345 Inexact Rounded
+radx126  add 12345  0.5001    -> 12345 Inexact Rounded
+radx127  add 12345  0.501     -> 12345 Inexact Rounded
+radx128  add 12345  0.51      -> 12345 Inexact Rounded
+radx129  add 12345  0.6       -> 12345 Inexact Rounded
+
+rounding: half_down
+
+radx140  add 12345 -0.1       -> 12345 Inexact Rounded
+radx141  add 12345 -0.01      -> 12345 Inexact Rounded
+radx142  add 12345 -0.001     -> 12345 Inexact Rounded
+radx143  add 12345 -0.00001   -> 12345 Inexact Rounded
+radx144  add 12345 -0.000001  -> 12345 Inexact Rounded
+radx145  add 12345 -0.0000001 -> 12345 Inexact Rounded
+radx146  add 12345  0         -> 12345
+radx147  add 12345  0.0000001 -> 12345 Inexact Rounded
+radx148  add 12345  0.000001  -> 12345 Inexact Rounded
+radx149  add 12345  0.00001   -> 12345 Inexact Rounded
+radx150  add 12345  0.0001    -> 12345 Inexact Rounded
+radx151  add 12345  0.001     -> 12345 Inexact Rounded
+radx152  add 12345  0.01      -> 12345 Inexact Rounded
+radx153  add 12345  0.1       -> 12345 Inexact Rounded
+
+radx155  add 12346  0.49999   -> 12346 Inexact Rounded
+radx156  add 12346  0.5       -> 12346 Inexact Rounded
+radx157  add 12346  0.50001   -> 12347 Inexact Rounded
+
+radx160  add 12345  0.4       -> 12345 Inexact Rounded
+radx161  add 12345  0.49      -> 12345 Inexact Rounded
+radx162  add 12345  0.499     -> 12345 Inexact Rounded
+radx163  add 12345  0.49999   -> 12345 Inexact Rounded
+radx164  add 12345  0.5       -> 12345 Inexact Rounded
+radx165  add 12345  0.50001   -> 12346 Inexact Rounded
+radx166  add 12345  0.5001    -> 12346 Inexact Rounded
+radx167  add 12345  0.501     -> 12346 Inexact Rounded
+radx168  add 12345  0.51      -> 12346 Inexact Rounded
+radx169  add 12345  0.6       -> 12346 Inexact Rounded
+
+rounding: half_even
+
+radx170  add 12345 -0.1       -> 12345 Inexact Rounded
+radx171  add 12345 -0.01      -> 12345 Inexact Rounded
+radx172  add 12345 -0.001     -> 12345 Inexact Rounded
+radx173  add 12345 -0.00001   -> 12345 Inexact Rounded
+radx174  add 12345 -0.000001  -> 12345 Inexact Rounded
+radx175  add 12345 -0.0000001 -> 12345 Inexact Rounded
+radx176  add 12345  0         -> 12345
+radx177  add 12345  0.0000001 -> 12345 Inexact Rounded
+radx178  add 12345  0.000001  -> 12345 Inexact Rounded
+radx179  add 12345  0.00001   -> 12345 Inexact Rounded
+radx180  add 12345  0.0001    -> 12345 Inexact Rounded
+radx181  add 12345  0.001     -> 12345 Inexact Rounded
+radx182  add 12345  0.01      -> 12345 Inexact Rounded
+radx183  add 12345  0.1       -> 12345 Inexact Rounded
+
+radx185  add 12346  0.49999   -> 12346 Inexact Rounded
+radx186  add 12346  0.5       -> 12346 Inexact Rounded
+radx187  add 12346  0.50001   -> 12347 Inexact Rounded
+
+radx190  add 12345  0.4       -> 12345 Inexact Rounded
+radx191  add 12345  0.49      -> 12345 Inexact Rounded
+radx192  add 12345  0.499     -> 12345 Inexact Rounded
+radx193  add 12345  0.49999   -> 12345 Inexact Rounded
+radx194  add 12345  0.5       -> 12346 Inexact Rounded
+radx195  add 12345  0.50001   -> 12346 Inexact Rounded
+radx196  add 12345  0.5001    -> 12346 Inexact Rounded
+radx197  add 12345  0.501     -> 12346 Inexact Rounded
+radx198  add 12345  0.51      -> 12346 Inexact Rounded
+radx199  add 12345  0.6       -> 12346 Inexact Rounded
+
+rounding: half_up
+
+radx200  add 12345 -0.1       -> 12345 Inexact Rounded
+radx201  add 12345 -0.01      -> 12345 Inexact Rounded
+radx202  add 12345 -0.001     -> 12345 Inexact Rounded
+radx203  add 12345 -0.00001   -> 12345 Inexact Rounded
+radx204  add 12345 -0.000001  -> 12345 Inexact Rounded
+radx205  add 12345 -0.0000001 -> 12345 Inexact Rounded
+radx206  add 12345  0         -> 12345
+radx207  add 12345  0.0000001 -> 12345 Inexact Rounded
+radx208  add 12345  0.000001  -> 12345 Inexact Rounded
+radx209  add 12345  0.00001   -> 12345 Inexact Rounded
+radx210  add 12345  0.0001    -> 12345 Inexact Rounded
+radx211  add 12345  0.001     -> 12345 Inexact Rounded
+radx212  add 12345  0.01      -> 12345 Inexact Rounded
+radx213  add 12345  0.1       -> 12345 Inexact Rounded
+
+radx215  add 12346  0.49999   -> 12346 Inexact Rounded
+radx216  add 12346  0.5       -> 12347 Inexact Rounded
+radx217  add 12346  0.50001   -> 12347 Inexact Rounded
+
+radx220  add 12345  0.4       -> 12345 Inexact Rounded
+radx221  add 12345  0.49      -> 12345 Inexact Rounded
+radx222  add 12345  0.499     -> 12345 Inexact Rounded
+radx223  add 12345  0.49999   -> 12345 Inexact Rounded
+radx224  add 12345  0.5       -> 12346 Inexact Rounded
+radx225  add 12345  0.50001   -> 12346 Inexact Rounded
+radx226  add 12345  0.5001    -> 12346 Inexact Rounded
+radx227  add 12345  0.501     -> 12346 Inexact Rounded
+radx228  add 12345  0.51      -> 12346 Inexact Rounded
+radx229  add 12345  0.6       -> 12346 Inexact Rounded
+
+rounding: up
+
+radx230  add 12345 -0.1       -> 12345 Inexact Rounded
+radx231  add 12345 -0.01      -> 12345 Inexact Rounded
+radx232  add 12345 -0.001     -> 12345 Inexact Rounded
+radx233  add 12345 -0.00001   -> 12345 Inexact Rounded
+radx234  add 12345 -0.000001  -> 12345 Inexact Rounded
+radx235  add 12345 -0.0000001 -> 12345 Inexact Rounded
+radx236  add 12345  0         -> 12345
+radx237  add 12345  0.0000001 -> 12346 Inexact Rounded
+radx238  add 12345  0.000001  -> 12346 Inexact Rounded
+radx239  add 12345  0.00001   -> 12346 Inexact Rounded
+radx240  add 12345  0.0001    -> 12346 Inexact Rounded
+radx241  add 12345  0.001     -> 12346 Inexact Rounded
+radx242  add 12345  0.01      -> 12346 Inexact Rounded
+radx243  add 12345  0.1       -> 12346 Inexact Rounded
+
+radx245  add 12346  0.49999   -> 12347 Inexact Rounded
+radx246  add 12346  0.5       -> 12347 Inexact Rounded
+radx247  add 12346  0.50001   -> 12347 Inexact Rounded
+
+radx250  add 12345  0.4       -> 12346 Inexact Rounded
+radx251  add 12345  0.49      -> 12346 Inexact Rounded
+radx252  add 12345  0.499     -> 12346 Inexact Rounded
+radx253  add 12345  0.49999   -> 12346 Inexact Rounded
+radx254  add 12345  0.5       -> 12346 Inexact Rounded
+radx255  add 12345  0.50001   -> 12346 Inexact Rounded
+radx256  add 12345  0.5001    -> 12346 Inexact Rounded
+radx257  add 12345  0.501     -> 12346 Inexact Rounded
+radx258  add 12345  0.51      -> 12346 Inexact Rounded
+radx259  add 12345  0.6       -> 12346 Inexact Rounded
+
+rounding: floor
+
+radx300  add 12345 -0.1       -> 12344 Inexact Rounded
+radx301  add 12345 -0.01      -> 12344 Inexact Rounded
+radx302  add 12345 -0.001     -> 12344 Inexact Rounded
+radx303  add 12345 -0.00001   -> 12344 Inexact Rounded
+radx304  add 12345 -0.000001  -> 12344 Inexact Rounded
+radx305  add 12345 -0.0000001 -> 12344 Inexact Rounded
+radx306  add 12345  0         -> 12345
+radx307  add 12345  0.0000001 -> 12345 Inexact Rounded
+radx308  add 12345  0.000001  -> 12345 Inexact Rounded
+radx309  add 12345  0.00001   -> 12345 Inexact Rounded
+radx310  add 12345  0.0001    -> 12345 Inexact Rounded
+radx311  add 12345  0.001     -> 12345 Inexact Rounded
+radx312  add 12345  0.01      -> 12345 Inexact Rounded
+radx313  add 12345  0.1       -> 12345 Inexact Rounded
+
+radx315  add 12346  0.49999   -> 12346 Inexact Rounded
+radx316  add 12346  0.5       -> 12346 Inexact Rounded
+radx317  add 12346  0.50001   -> 12346 Inexact Rounded
+
+radx320  add 12345  0.4       -> 12345 Inexact Rounded
+radx321  add 12345  0.49      -> 12345 Inexact Rounded
+radx322  add 12345  0.499     -> 12345 Inexact Rounded
+radx323  add 12345  0.49999   -> 12345 Inexact Rounded
+radx324  add 12345  0.5       -> 12345 Inexact Rounded
+radx325  add 12345  0.50001   -> 12345 Inexact Rounded
+radx326  add 12345  0.5001    -> 12345 Inexact Rounded
+radx327  add 12345  0.501     -> 12345 Inexact Rounded
+radx328  add 12345  0.51      -> 12345 Inexact Rounded
+radx329  add 12345  0.6       -> 12345 Inexact Rounded
+
+rounding: ceiling
+
+radx330  add 12345 -0.1       -> 12345 Inexact Rounded
+radx331  add 12345 -0.01      -> 12345 Inexact Rounded
+radx332  add 12345 -0.001     -> 12345 Inexact Rounded
+radx333  add 12345 -0.00001   -> 12345 Inexact Rounded
+radx334  add 12345 -0.000001  -> 12345 Inexact Rounded
+radx335  add 12345 -0.0000001 -> 12345 Inexact Rounded
+radx336  add 12345  0         -> 12345
+radx337  add 12345  0.0000001 -> 12346 Inexact Rounded
+radx338  add 12345  0.000001  -> 12346 Inexact Rounded
+radx339  add 12345  0.00001   -> 12346 Inexact Rounded
+radx340  add 12345  0.0001    -> 12346 Inexact Rounded
+radx341  add 12345  0.001     -> 12346 Inexact Rounded
+radx342  add 12345  0.01      -> 12346 Inexact Rounded
+radx343  add 12345  0.1       -> 12346 Inexact Rounded
+
+radx345  add 12346  0.49999   -> 12347 Inexact Rounded
+radx346  add 12346  0.5       -> 12347 Inexact Rounded
+radx347  add 12346  0.50001   -> 12347 Inexact Rounded
+
+radx350  add 12345  0.4       -> 12346 Inexact Rounded
+radx351  add 12345  0.49      -> 12346 Inexact Rounded
+radx352  add 12345  0.499     -> 12346 Inexact Rounded
+radx353  add 12345  0.49999   -> 12346 Inexact Rounded
+radx354  add 12345  0.5       -> 12346 Inexact Rounded
+radx355  add 12345  0.50001   -> 12346 Inexact Rounded
+radx356  add 12345  0.5001    -> 12346 Inexact Rounded
+radx357  add 12345  0.501     -> 12346 Inexact Rounded
+radx358  add 12345  0.51      -> 12346 Inexact Rounded
+radx359  add 12345  0.6       -> 12346 Inexact Rounded
+
+-- negatives...
+
+rounding: down
+
+rsux100  add -12345 -0.1       -> -12345 Inexact Rounded
+rsux101  add -12345 -0.01      -> -12345 Inexact Rounded
+rsux102  add -12345 -0.001     -> -12345 Inexact Rounded
+rsux103  add -12345 -0.00001   -> -12345 Inexact Rounded
+rsux104  add -12345 -0.000001  -> -12345 Inexact Rounded
+rsux105  add -12345 -0.0000001 -> -12345 Inexact Rounded
+rsux106  add -12345  0         -> -12345
+rsux107  add -12345  0.0000001 -> -12344 Inexact Rounded
+rsux108  add -12345  0.000001  -> -12344 Inexact Rounded
+rsux109  add -12345  0.00001   -> -12344 Inexact Rounded
+rsux110  add -12345  0.0001    -> -12344 Inexact Rounded
+rsux111  add -12345  0.001     -> -12344 Inexact Rounded
+rsux112  add -12345  0.01      -> -12344 Inexact Rounded
+rsux113  add -12345  0.1       -> -12344 Inexact Rounded
+
+rsux115  add -12346  0.49999   -> -12345 Inexact Rounded
+rsux116  add -12346  0.5       -> -12345 Inexact Rounded
+rsux117  add -12346  0.50001   -> -12345 Inexact Rounded
+
+rsux120  add -12345  0.4       -> -12344 Inexact Rounded
+rsux121  add -12345  0.49      -> -12344 Inexact Rounded
+rsux122  add -12345  0.499     -> -12344 Inexact Rounded
+rsux123  add -12345  0.49999   -> -12344 Inexact Rounded
+rsux124  add -12345  0.5       -> -12344 Inexact Rounded
+rsux125  add -12345  0.50001   -> -12344 Inexact Rounded
+rsux126  add -12345  0.5001    -> -12344 Inexact Rounded
+rsux127  add -12345  0.501     -> -12344 Inexact Rounded
+rsux128  add -12345  0.51      -> -12344 Inexact Rounded
+rsux129  add -12345  0.6       -> -12344 Inexact Rounded
+
+rounding: half_down
+
+rsux140  add -12345 -0.1       -> -12345 Inexact Rounded
+rsux141  add -12345 -0.01      -> -12345 Inexact Rounded
+rsux142  add -12345 -0.001     -> -12345 Inexact Rounded
+rsux143  add -12345 -0.00001   -> -12345 Inexact Rounded
+rsux144  add -12345 -0.000001  -> -12345 Inexact Rounded
+rsux145  add -12345 -0.0000001 -> -12345 Inexact Rounded
+rsux146  add -12345  0         -> -12345
+rsux147  add -12345  0.0000001 -> -12345 Inexact Rounded
+rsux148  add -12345  0.000001  -> -12345 Inexact Rounded
+rsux149  add -12345  0.00001   -> -12345 Inexact Rounded
+rsux150  add -12345  0.0001    -> -12345 Inexact Rounded
+rsux151  add -12345  0.001     -> -12345 Inexact Rounded
+rsux152  add -12345  0.01      -> -12345 Inexact Rounded
+rsux153  add -12345  0.1       -> -12345 Inexact Rounded
+
+rsux155  add -12346  0.49999   -> -12346 Inexact Rounded
+rsux156  add -12346  0.5       -> -12345 Inexact Rounded
+rsux157  add -12346  0.50001   -> -12345 Inexact Rounded
+
+rsux160  add -12345  0.4       -> -12345 Inexact Rounded
+rsux161  add -12345  0.49      -> -12345 Inexact Rounded
+rsux162  add -12345  0.499     -> -12345 Inexact Rounded
+rsux163  add -12345  0.49999   -> -12345 Inexact Rounded
+rsux164  add -12345  0.5       -> -12344 Inexact Rounded
+rsux165  add -12345  0.50001   -> -12344 Inexact Rounded
+rsux166  add -12345  0.5001    -> -12344 Inexact Rounded
+rsux167  add -12345  0.501     -> -12344 Inexact Rounded
+rsux168  add -12345  0.51      -> -12344 Inexact Rounded
+rsux169  add -12345  0.6       -> -12344 Inexact Rounded
+
+rounding: half_even
+
+rsux170  add -12345 -0.1       -> -12345 Inexact Rounded
+rsux171  add -12345 -0.01      -> -12345 Inexact Rounded
+rsux172  add -12345 -0.001     -> -12345 Inexact Rounded
+rsux173  add -12345 -0.00001   -> -12345 Inexact Rounded
+rsux174  add -12345 -0.000001  -> -12345 Inexact Rounded
+rsux175  add -12345 -0.0000001 -> -12345 Inexact Rounded
+rsux176  add -12345  0         -> -12345
+rsux177  add -12345  0.0000001 -> -12345 Inexact Rounded
+rsux178  add -12345  0.000001  -> -12345 Inexact Rounded
+rsux179  add -12345  0.00001   -> -12345 Inexact Rounded
+rsux180  add -12345  0.0001    -> -12345 Inexact Rounded
+rsux181  add -12345  0.001     -> -12345 Inexact Rounded
+rsux182  add -12345  0.01      -> -12345 Inexact Rounded
+rsux183  add -12345  0.1       -> -12345 Inexact Rounded
+
+rsux185  add -12346  0.49999   -> -12346 Inexact Rounded
+rsux186  add -12346  0.5       -> -12346 Inexact Rounded
+rsux187  add -12346  0.50001   -> -12345 Inexact Rounded
+
+rsux190  add -12345  0.4       -> -12345 Inexact Rounded
+rsux191  add -12345  0.49      -> -12345 Inexact Rounded
+rsux192  add -12345  0.499     -> -12345 Inexact Rounded
+rsux193  add -12345  0.49999   -> -12345 Inexact Rounded
+rsux194  add -12345  0.5       -> -12344 Inexact Rounded
+rsux195  add -12345  0.50001   -> -12344 Inexact Rounded
+rsux196  add -12345  0.5001    -> -12344 Inexact Rounded
+rsux197  add -12345  0.501     -> -12344 Inexact Rounded
+rsux198  add -12345  0.51      -> -12344 Inexact Rounded
+rsux199  add -12345  0.6       -> -12344 Inexact Rounded
+
+rounding: half_up
+
+rsux200  add -12345 -0.1       -> -12345 Inexact Rounded
+rsux201  add -12345 -0.01      -> -12345 Inexact Rounded
+rsux202  add -12345 -0.001     -> -12345 Inexact Rounded
+rsux203  add -12345 -0.00001   -> -12345 Inexact Rounded
+rsux204  add -12345 -0.000001  -> -12345 Inexact Rounded
+rsux205  add -12345 -0.0000001 -> -12345 Inexact Rounded
+rsux206  add -12345  0         -> -12345
+rsux207  add -12345  0.0000001 -> -12345 Inexact Rounded
+rsux208  add -12345  0.000001  -> -12345 Inexact Rounded
+rsux209  add -12345  0.00001   -> -12345 Inexact Rounded
+rsux210  add -12345  0.0001    -> -12345 Inexact Rounded
+rsux211  add -12345  0.001     -> -12345 Inexact Rounded
+rsux212  add -12345  0.01      -> -12345 Inexact Rounded
+rsux213  add -12345  0.1       -> -12345 Inexact Rounded
+
+rsux215  add -12346  0.49999   -> -12346 Inexact Rounded
+rsux216  add -12346  0.5       -> -12346 Inexact Rounded
+rsux217  add -12346  0.50001   -> -12345 Inexact Rounded
+
+rsux220  add -12345  0.4       -> -12345 Inexact Rounded
+rsux221  add -12345  0.49      -> -12345 Inexact Rounded
+rsux222  add -12345  0.499     -> -12345 Inexact Rounded
+rsux223  add -12345  0.49999   -> -12345 Inexact Rounded
+rsux224  add -12345  0.5       -> -12345 Inexact Rounded
+rsux225  add -12345  0.50001   -> -12344 Inexact Rounded
+rsux226  add -12345  0.5001    -> -12344 Inexact Rounded
+rsux227  add -12345  0.501     -> -12344 Inexact Rounded
+rsux228  add -12345  0.51      -> -12344 Inexact Rounded
+rsux229  add -12345  0.6       -> -12344 Inexact Rounded
+
+rounding: up
+
+rsux230  add -12345 -0.1       -> -12346 Inexact Rounded
+rsux231  add -12345 -0.01      -> -12346 Inexact Rounded
+rsux232  add -12345 -0.001     -> -12346 Inexact Rounded
+rsux233  add -12345 -0.00001   -> -12346 Inexact Rounded
+rsux234  add -12345 -0.000001  -> -12346 Inexact Rounded
+rsux235  add -12345 -0.0000001 -> -12346 Inexact Rounded
+rsux236  add -12345  0         -> -12345
+rsux237  add -12345  0.0000001 -> -12345 Inexact Rounded
+rsux238  add -12345  0.000001  -> -12345 Inexact Rounded
+rsux239  add -12345  0.00001   -> -12345 Inexact Rounded
+rsux240  add -12345  0.0001    -> -12345 Inexact Rounded
+rsux241  add -12345  0.001     -> -12345 Inexact Rounded
+rsux242  add -12345  0.01      -> -12345 Inexact Rounded
+rsux243  add -12345  0.1       -> -12345 Inexact Rounded
+
+rsux245  add -12346  0.49999   -> -12346 Inexact Rounded
+rsux246  add -12346  0.5       -> -12346 Inexact Rounded
+rsux247  add -12346  0.50001   -> -12346 Inexact Rounded
+
+rsux250  add -12345  0.4       -> -12345 Inexact Rounded
+rsux251  add -12345  0.49      -> -12345 Inexact Rounded
+rsux252  add -12345  0.499     -> -12345 Inexact Rounded
+rsux253  add -12345  0.49999   -> -12345 Inexact Rounded
+rsux254  add -12345  0.5       -> -12345 Inexact Rounded
+rsux255  add -12345  0.50001   -> -12345 Inexact Rounded
+rsux256  add -12345  0.5001    -> -12345 Inexact Rounded
+rsux257  add -12345  0.501     -> -12345 Inexact Rounded
+rsux258  add -12345  0.51      -> -12345 Inexact Rounded
+rsux259  add -12345  0.6       -> -12345 Inexact Rounded
+
+rounding: floor
+
+rsux300  add -12345 -0.1       -> -12346 Inexact Rounded
+rsux301  add -12345 -0.01      -> -12346 Inexact Rounded
+rsux302  add -12345 -0.001     -> -12346 Inexact Rounded
+rsux303  add -12345 -0.00001   -> -12346 Inexact Rounded
+rsux304  add -12345 -0.000001  -> -12346 Inexact Rounded
+rsux305  add -12345 -0.0000001 -> -12346 Inexact Rounded
+rsux306  add -12345  0         -> -12345
+rsux307  add -12345  0.0000001 -> -12345 Inexact Rounded
+rsux308  add -12345  0.000001  -> -12345 Inexact Rounded
+rsux309  add -12345  0.00001   -> -12345 Inexact Rounded
+rsux310  add -12345  0.0001    -> -12345 Inexact Rounded
+rsux311  add -12345  0.001     -> -12345 Inexact Rounded
+rsux312  add -12345  0.01      -> -12345 Inexact Rounded
+rsux313  add -12345  0.1       -> -12345 Inexact Rounded
+
+rsux315  add -12346  0.49999   -> -12346 Inexact Rounded
+rsux316  add -12346  0.5       -> -12346 Inexact Rounded
+rsux317  add -12346  0.50001   -> -12346 Inexact Rounded
+
+rsux320  add -12345  0.4       -> -12345 Inexact Rounded
+rsux321  add -12345  0.49      -> -12345 Inexact Rounded
+rsux322  add -12345  0.499     -> -12345 Inexact Rounded
+rsux323  add -12345  0.49999   -> -12345 Inexact Rounded
+rsux324  add -12345  0.5       -> -12345 Inexact Rounded
+rsux325  add -12345  0.50001   -> -12345 Inexact Rounded
+rsux326  add -12345  0.5001    -> -12345 Inexact Rounded
+rsux327  add -12345  0.501     -> -12345 Inexact Rounded
+rsux328  add -12345  0.51      -> -12345 Inexact Rounded
+rsux329  add -12345  0.6       -> -12345 Inexact Rounded
+
+rounding: ceiling
+
+rsux330  add -12345 -0.1       -> -12345 Inexact Rounded
+rsux331  add -12345 -0.01      -> -12345 Inexact Rounded
+rsux332  add -12345 -0.001     -> -12345 Inexact Rounded
+rsux333  add -12345 -0.00001   -> -12345 Inexact Rounded
+rsux334  add -12345 -0.000001  -> -12345 Inexact Rounded
+rsux335  add -12345 -0.0000001 -> -12345 Inexact Rounded
+rsux336  add -12345  0         -> -12345
+rsux337  add -12345  0.0000001 -> -12344 Inexact Rounded
+rsux338  add -12345  0.000001  -> -12344 Inexact Rounded
+rsux339  add -12345  0.00001   -> -12344 Inexact Rounded
+rsux340  add -12345  0.0001    -> -12344 Inexact Rounded
+rsux341  add -12345  0.001     -> -12344 Inexact Rounded
+rsux342  add -12345  0.01      -> -12344 Inexact Rounded
+rsux343  add -12345  0.1       -> -12344 Inexact Rounded
+
+rsux345  add -12346  0.49999   -> -12345 Inexact Rounded
+rsux346  add -12346  0.5       -> -12345 Inexact Rounded
+rsux347  add -12346  0.50001   -> -12345 Inexact Rounded
+
+rsux350  add -12345  0.4       -> -12344 Inexact Rounded
+rsux351  add -12345  0.49      -> -12344 Inexact Rounded
+rsux352  add -12345  0.499     -> -12344 Inexact Rounded
+rsux353  add -12345  0.49999   -> -12344 Inexact Rounded
+rsux354  add -12345  0.5       -> -12344 Inexact Rounded
+rsux355  add -12345  0.50001   -> -12344 Inexact Rounded
+rsux356  add -12345  0.5001    -> -12344 Inexact Rounded
+rsux357  add -12345  0.501     -> -12344 Inexact Rounded
+rsux358  add -12345  0.51      -> -12344 Inexact Rounded
+rsux359  add -12345  0.6       -> -12344 Inexact Rounded
+
+-- Check cancellation subtractions
+-- (The IEEE 854 'curious rule' in $6.3)
+
+rounding: down
+rzex001  add  0    0    ->  0
+rzex002  add  0   -0    ->  0
+rzex003  add -0    0    ->  0
+rzex004  add -0   -0    -> -0
+rzex005  add  1   -1    ->  0
+rzex006  add -1    1    ->  0
+rzex007  add  1.5 -1.5  ->  0.0
+rzex008  add -1.5  1.5  ->  0.0
+rzex009  add  2   -2    ->  0
+rzex010  add -2    2    ->  0
+
+rounding: up
+rzex011  add  0    0    ->  0
+rzex012  add  0   -0    ->  0
+rzex013  add -0    0    ->  0
+rzex014  add -0   -0    -> -0
+rzex015  add  1   -1    ->  0
+rzex016  add -1    1    ->  0
+rzex017  add  1.5 -1.5  ->  0.0
+rzex018  add -1.5  1.5  ->  0.0
+rzex019  add  2   -2    ->  0
+rzex020  add -2    2    ->  0
+
+rounding: half_up
+rzex021  add  0    0    ->  0
+rzex022  add  0   -0    ->  0
+rzex023  add -0    0    ->  0
+rzex024  add -0   -0    -> -0
+rzex025  add  1   -1    ->  0
+rzex026  add -1    1    ->  0
+rzex027  add  1.5 -1.5  ->  0.0
+rzex028  add -1.5  1.5  ->  0.0
+rzex029  add  2   -2    ->  0
+rzex030  add -2    2    ->  0
+
+rounding: half_down
+rzex031  add  0    0    ->  0
+rzex032  add  0   -0    ->  0
+rzex033  add -0    0    ->  0
+rzex034  add -0   -0    -> -0
+rzex035  add  1   -1    ->  0
+rzex036  add -1    1    ->  0
+rzex037  add  1.5 -1.5  ->  0.0
+rzex038  add -1.5  1.5  ->  0.0
+rzex039  add  2   -2    ->  0
+rzex040  add -2    2    ->  0
+
+rounding: half_even
+rzex041  add  0    0    ->  0
+rzex042  add  0   -0    ->  0
+rzex043  add -0    0    ->  0
+rzex044  add -0   -0    -> -0
+rzex045  add  1   -1    ->  0
+rzex046  add -1    1    ->  0
+rzex047  add  1.5 -1.5  ->  0.0
+rzex048  add -1.5  1.5  ->  0.0
+rzex049  add  2   -2    ->  0
+rzex050  add -2    2    ->  0
+
+rounding: floor
+rzex051  add  0    0    ->  0
+rzex052  add  0   -0    -> -0    -- here are two 'curious'
+rzex053  add -0    0    -> -0    --
+rzex054  add -0   -0    -> -0
+rzex055  add  1   -1    -> -0    -- here are the rest
+rzex056  add -1    1    -> -0    -- ..
+rzex057  add  1.5 -1.5  -> -0.0  -- ..
+rzex058  add -1.5  1.5  -> -0.0  -- ..
+rzex059  add  2   -2    -> -0    -- ..
+rzex060  add -2    2    -> -0    -- ..
+
+rounding: ceiling
+rzex061  add  0    0    ->  0
+rzex062  add  0   -0    ->  0
+rzex063  add -0    0    ->  0
+rzex064  add -0   -0    -> -0
+rzex065  add  1   -1    ->  0
+rzex066  add -1    1    ->  0
+rzex067  add  1.5 -1.5  ->  0.0
+rzex068  add -1.5  1.5  ->  0.0
+rzex069  add  2   -2    ->  0
+rzex070  add -2    2    ->  0
+
+
+-- Division operators -------------------------------------------------
+
+rounding: down
+rdvx101  divide 12345  1         ->  12345
+rdvx102  divide 12345  1.0001    ->  12343 Inexact Rounded
+rdvx103  divide 12345  1.001     ->  12332 Inexact Rounded
+rdvx104  divide 12345  1.01      ->  12222 Inexact Rounded
+rdvx105  divide 12345  1.1       ->  11222 Inexact Rounded
+rdvx106  divide 12355  4         ->   3088.7 Inexact Rounded
+rdvx107  divide 12345  4         ->   3086.2 Inexact Rounded
+rdvx108  divide 12355  4.0001    ->   3088.6 Inexact Rounded
+rdvx109  divide 12345  4.0001    ->   3086.1 Inexact Rounded
+rdvx110  divide 12345  4.9       ->   2519.3 Inexact Rounded
+rdvx111  divide 12345  4.99      ->   2473.9 Inexact Rounded
+rdvx112  divide 12345  4.999     ->   2469.4 Inexact Rounded
+rdvx113  divide 12345  4.9999    ->   2469.0 Inexact Rounded
+rdvx114  divide 12345  5         ->   2469
+rdvx115  divide 12345  5.0001    ->  2468.9 Inexact Rounded
+rdvx116  divide 12345  5.001     ->  2468.5 Inexact Rounded
+rdvx117  divide 12345  5.01      ->  2464.0 Inexact Rounded
+rdvx118  divide 12345  5.1       ->  2420.5 Inexact Rounded
+
+rounding: half_down
+rdvx201  divide 12345  1         ->  12345
+rdvx202  divide 12345  1.0001    ->  12344 Inexact Rounded
+rdvx203  divide 12345  1.001     ->  12333 Inexact Rounded
+rdvx204  divide 12345  1.01      ->  12223 Inexact Rounded
+rdvx205  divide 12345  1.1       ->  11223 Inexact Rounded
+rdvx206  divide 12355  4         ->   3088.7 Inexact Rounded
+rdvx207  divide 12345  4         ->   3086.2 Inexact Rounded
+rdvx208  divide 12355  4.0001    ->   3088.7 Inexact Rounded
+rdvx209  divide 12345  4.0001    ->   3086.2 Inexact Rounded
+rdvx210  divide 12345  4.9       ->   2519.4 Inexact Rounded
+rdvx211  divide 12345  4.99      ->   2473.9 Inexact Rounded
+rdvx212  divide 12345  4.999     ->   2469.5 Inexact Rounded
+rdvx213  divide 12345  4.9999    ->   2469.0 Inexact Rounded
+rdvx214  divide 12345  5         ->   2469
+rdvx215  divide 12345  5.0001    ->  2469.0 Inexact Rounded
+rdvx216  divide 12345  5.001     ->  2468.5 Inexact Rounded
+rdvx217  divide 12345  5.01      ->  2464.1 Inexact Rounded
+rdvx218  divide 12345  5.1       ->  2420.6 Inexact Rounded
+
+rounding: half_even
+rdvx301  divide 12345  1         ->  12345
+rdvx302  divide 12345  1.0001    ->  12344 Inexact Rounded
+rdvx303  divide 12345  1.001     ->  12333 Inexact Rounded
+rdvx304  divide 12345  1.01      ->  12223 Inexact Rounded
+rdvx305  divide 12345  1.1       ->  11223 Inexact Rounded
+rdvx306  divide 12355  4         ->   3088.8 Inexact Rounded
+rdvx307  divide 12345  4         ->   3086.2 Inexact Rounded
+rdvx308  divide 12355  4.0001    ->   3088.7 Inexact Rounded
+rdvx309  divide 12345  4.0001    ->   3086.2 Inexact Rounded
+rdvx310  divide 12345  4.9       ->   2519.4 Inexact Rounded
+rdvx311  divide 12345  4.99      ->   2473.9 Inexact Rounded
+rdvx312  divide 12345  4.999     ->   2469.5 Inexact Rounded
+rdvx313  divide 12345  4.9999    ->   2469.0 Inexact Rounded
+rdvx314  divide 12345  5         ->   2469
+rdvx315  divide 12345  5.0001    ->  2469.0 Inexact Rounded
+rdvx316  divide 12345  5.001     ->  2468.5 Inexact Rounded
+rdvx317  divide 12345  5.01      ->  2464.1 Inexact Rounded
+rdvx318  divide 12345  5.1       ->  2420.6 Inexact Rounded
+
+rounding: half_up
+rdvx401  divide 12345  1         ->  12345
+rdvx402  divide 12345  1.0001    ->  12344 Inexact Rounded
+rdvx403  divide 12345  1.001     ->  12333 Inexact Rounded
+rdvx404  divide 12345  1.01      ->  12223 Inexact Rounded
+rdvx405  divide 12345  1.1       ->  11223 Inexact Rounded
+rdvx406  divide 12355  4         ->   3088.8 Inexact Rounded
+rdvx407  divide 12345  4         ->   3086.3 Inexact Rounded
+rdvx408  divide 12355  4.0001    ->   3088.7 Inexact Rounded
+rdvx409  divide 12345  4.0001    ->   3086.2 Inexact Rounded
+rdvx410  divide 12345  4.9       ->   2519.4 Inexact Rounded
+rdvx411  divide 12345  4.99      ->   2473.9 Inexact Rounded
+rdvx412  divide 12345  4.999     ->   2469.5 Inexact Rounded
+rdvx413  divide 12345  4.9999    ->   2469.0 Inexact Rounded
+rdvx414  divide 12345  5         ->   2469
+rdvx415  divide 12345  5.0001    ->  2469.0 Inexact Rounded
+rdvx416  divide 12345  5.001     ->  2468.5 Inexact Rounded
+rdvx417  divide 12345  5.01      ->  2464.1 Inexact Rounded
+rdvx418  divide 12345  5.1       ->  2420.6 Inexact Rounded
+
+rounding: up
+rdvx501  divide 12345  1         ->  12345
+rdvx502  divide 12345  1.0001    ->  12344 Inexact Rounded
+rdvx503  divide 12345  1.001     ->  12333 Inexact Rounded
+rdvx504  divide 12345  1.01      ->  12223 Inexact Rounded
+rdvx505  divide 12345  1.1       ->  11223 Inexact Rounded
+rdvx506  divide 12355  4         ->   3088.8 Inexact Rounded
+rdvx507  divide 12345  4         ->   3086.3 Inexact Rounded
+rdvx508  divide 12355  4.0001    ->   3088.7 Inexact Rounded
+rdvx509  divide 12345  4.0001    ->   3086.2 Inexact Rounded
+rdvx510  divide 12345  4.9       ->   2519.4 Inexact Rounded
+rdvx511  divide 12345  4.99      ->   2474.0 Inexact Rounded
+rdvx512  divide 12345  4.999     ->   2469.5 Inexact Rounded
+rdvx513  divide 12345  4.9999    ->   2469.1 Inexact Rounded
+rdvx514  divide 12345  5         ->   2469
+rdvx515  divide 12345  5.0001    ->  2469.0 Inexact Rounded
+rdvx516  divide 12345  5.001     ->  2468.6 Inexact Rounded
+rdvx517  divide 12345  5.01      ->  2464.1 Inexact Rounded
+rdvx518  divide 12345  5.1       ->  2420.6 Inexact Rounded
+
+rounding: floor
+rdvx601  divide 12345  1         ->  12345
+rdvx602  divide 12345  1.0001    ->  12343 Inexact Rounded
+rdvx603  divide 12345  1.001     ->  12332 Inexact Rounded
+rdvx604  divide 12345  1.01      ->  12222 Inexact Rounded
+rdvx605  divide 12345  1.1       ->  11222 Inexact Rounded
+rdvx606  divide 12355  4         ->   3088.7 Inexact Rounded
+rdvx607  divide 12345  4         ->   3086.2 Inexact Rounded
+rdvx608  divide 12355  4.0001    ->   3088.6 Inexact Rounded
+rdvx609  divide 12345  4.0001    ->   3086.1 Inexact Rounded
+rdvx610  divide 12345  4.9       ->   2519.3 Inexact Rounded
+rdvx611  divide 12345  4.99      ->   2473.9 Inexact Rounded
+rdvx612  divide 12345  4.999     ->   2469.4 Inexact Rounded
+rdvx613  divide 12345  4.9999    ->   2469.0 Inexact Rounded
+rdvx614  divide 12345  5         ->   2469
+rdvx615  divide 12345  5.0001    ->  2468.9 Inexact Rounded
+rdvx616  divide 12345  5.001     ->  2468.5 Inexact Rounded
+rdvx617  divide 12345  5.01      ->  2464.0 Inexact Rounded
+rdvx618  divide 12345  5.1       ->  2420.5 Inexact Rounded
+
+rounding: ceiling
+rdvx701  divide 12345  1         ->  12345
+rdvx702  divide 12345  1.0001    ->  12344 Inexact Rounded
+rdvx703  divide 12345  1.001     ->  12333 Inexact Rounded
+rdvx704  divide 12345  1.01      ->  12223 Inexact Rounded
+rdvx705  divide 12345  1.1       ->  11223 Inexact Rounded
+rdvx706  divide 12355  4         ->   3088.8 Inexact Rounded
+rdvx707  divide 12345  4         ->   3086.3 Inexact Rounded
+rdvx708  divide 12355  4.0001    ->   3088.7 Inexact Rounded
+rdvx709  divide 12345  4.0001    ->   3086.2 Inexact Rounded
+rdvx710  divide 12345  4.9       ->   2519.4 Inexact Rounded
+rdvx711  divide 12345  4.99      ->   2474.0 Inexact Rounded
+rdvx712  divide 12345  4.999     ->   2469.5 Inexact Rounded
+rdvx713  divide 12345  4.9999    ->   2469.1 Inexact Rounded
+rdvx714  divide 12345  5         ->   2469
+rdvx715  divide 12345  5.0001    ->  2469.0 Inexact Rounded
+rdvx716  divide 12345  5.001     ->  2468.6 Inexact Rounded
+rdvx717  divide 12345  5.01      ->  2464.1 Inexact Rounded
+rdvx718  divide 12345  5.1       ->  2420.6 Inexact Rounded
+
+-- [divideInteger and remainder unaffected]
+
+-- Multiplication operator --------------------------------------------
+
+rounding: down
+rmux101  multiply 12345  1         ->  12345
+rmux102  multiply 12345  1.0001    ->  12346 Inexact Rounded
+rmux103  multiply 12345  1.001     ->  12357 Inexact Rounded
+rmux104  multiply 12345  1.01      ->  12468 Inexact Rounded
+rmux105  multiply 12345  1.1       ->  13579 Inexact Rounded
+rmux106  multiply 12345  4         ->  49380
+rmux107  multiply 12345  4.0001    ->  49381 Inexact Rounded
+rmux108  multiply 12345  4.9       ->  60490 Inexact Rounded
+rmux109  multiply 12345  4.99      ->  61601 Inexact Rounded
+rmux110  multiply 12345  4.999     ->  61712 Inexact Rounded
+rmux111  multiply 12345  4.9999    ->  61723 Inexact Rounded
+rmux112  multiply 12345  5         ->  61725
+rmux113  multiply 12345  5.0001    ->  61726 Inexact Rounded
+rmux114  multiply 12345  5.001     ->  61737 Inexact Rounded
+rmux115  multiply 12345  5.01      ->  61848 Inexact Rounded
+rmux116  multiply 12345  12        ->  1.4814E+5 Rounded
+rmux117  multiply 12345  13        ->  1.6048E+5 Inexact Rounded
+rmux118  multiply 12355  12        ->  1.4826E+5 Rounded
+rmux119  multiply 12355  13        ->  1.6061E+5 Inexact Rounded
+
+rounding: half_down
+rmux201  multiply 12345  1         ->  12345
+rmux202  multiply 12345  1.0001    ->  12346 Inexact Rounded
+rmux203  multiply 12345  1.001     ->  12357 Inexact Rounded
+rmux204  multiply 12345  1.01      ->  12468 Inexact Rounded
+rmux205  multiply 12345  1.1       ->  13579 Inexact Rounded
+rmux206  multiply 12345  4         ->  49380
+rmux207  multiply 12345  4.0001    ->  49381 Inexact Rounded
+rmux208  multiply 12345  4.9       ->  60490 Inexact Rounded
+rmux209  multiply 12345  4.99      ->  61602 Inexact Rounded
+rmux210  multiply 12345  4.999     ->  61713 Inexact Rounded
+rmux211  multiply 12345  4.9999    ->  61724 Inexact Rounded
+rmux212  multiply 12345  5         ->  61725
+rmux213  multiply 12345  5.0001    ->  61726 Inexact Rounded
+rmux214  multiply 12345  5.001     ->  61737 Inexact Rounded
+rmux215  multiply 12345  5.01      ->  61848 Inexact Rounded
+rmux216  multiply 12345  12        ->  1.4814E+5 Rounded
+rmux217  multiply 12345  13        ->  1.6048E+5 Inexact Rounded
+rmux218  multiply 12355  12        ->  1.4826E+5 Rounded
+rmux219  multiply 12355  13        ->  1.6061E+5 Inexact Rounded
+
+rounding: half_even
+rmux301  multiply 12345  1         ->  12345
+rmux302  multiply 12345  1.0001    ->  12346 Inexact Rounded
+rmux303  multiply 12345  1.001     ->  12357 Inexact Rounded
+rmux304  multiply 12345  1.01      ->  12468 Inexact Rounded
+rmux305  multiply 12345  1.1       ->  13580 Inexact Rounded
+rmux306  multiply 12345  4         ->  49380
+rmux307  multiply 12345  4.0001    ->  49381 Inexact Rounded
+rmux308  multiply 12345  4.9       ->  60490 Inexact Rounded
+rmux309  multiply 12345  4.99      ->  61602 Inexact Rounded
+rmux310  multiply 12345  4.999     ->  61713 Inexact Rounded
+rmux311  multiply 12345  4.9999    ->  61724 Inexact Rounded
+rmux312  multiply 12345  5         ->  61725
+rmux313  multiply 12345  5.0001    ->  61726 Inexact Rounded
+rmux314  multiply 12345  5.001     ->  61737 Inexact Rounded
+rmux315  multiply 12345  5.01      ->  61848 Inexact Rounded
+rmux316  multiply 12345  12        ->  1.4814E+5 Rounded
+rmux317  multiply 12345  13        ->  1.6048E+5 Inexact Rounded
+rmux318  multiply 12355  12        ->  1.4826E+5 Rounded
+rmux319  multiply 12355  13        ->  1.6062E+5 Inexact Rounded
+
+rounding: half_up
+rmux401  multiply 12345  1         ->  12345
+rmux402  multiply 12345  1.0001    ->  12346 Inexact Rounded
+rmux403  multiply 12345  1.001     ->  12357 Inexact Rounded
+rmux404  multiply 12345  1.01      ->  12468 Inexact Rounded
+rmux405  multiply 12345  1.1       ->  13580 Inexact Rounded
+rmux406  multiply 12345  4         ->  49380
+rmux407  multiply 12345  4.0001    ->  49381 Inexact Rounded
+rmux408  multiply 12345  4.9       ->  60491 Inexact Rounded
+rmux409  multiply 12345  4.99      ->  61602 Inexact Rounded
+rmux410  multiply 12345  4.999     ->  61713 Inexact Rounded
+rmux411  multiply 12345  4.9999    ->  61724 Inexact Rounded
+rmux412  multiply 12345  5         ->  61725
+rmux413  multiply 12345  5.0001    ->  61726 Inexact Rounded
+rmux414  multiply 12345  5.001     ->  61737 Inexact Rounded
+rmux415  multiply 12345  5.01      ->  61848 Inexact Rounded
+rmux416  multiply 12345  12        ->  1.4814E+5 Rounded
+rmux417  multiply 12345  13        ->  1.6049E+5 Inexact Rounded
+rmux418  multiply 12355  12        ->  1.4826E+5 Rounded
+rmux419  multiply 12355  13        ->  1.6062E+5 Inexact Rounded
+
+rounding: up
+rmux501  multiply 12345  1         ->  12345
+rmux502  multiply 12345  1.0001    ->  12347 Inexact Rounded
+rmux503  multiply 12345  1.001     ->  12358 Inexact Rounded
+rmux504  multiply 12345  1.01      ->  12469 Inexact Rounded
+rmux505  multiply 12345  1.1       ->  13580 Inexact Rounded
+rmux506  multiply 12345  4         ->  49380
+rmux507  multiply 12345  4.0001    ->  49382 Inexact Rounded
+rmux508  multiply 12345  4.9       ->  60491 Inexact Rounded
+rmux509  multiply 12345  4.99      ->  61602 Inexact Rounded
+rmux510  multiply 12345  4.999     ->  61713 Inexact Rounded
+rmux511  multiply 12345  4.9999    ->  61724 Inexact Rounded
+rmux512  multiply 12345  5         ->  61725
+rmux513  multiply 12345  5.0001    ->  61727 Inexact Rounded
+rmux514  multiply 12345  5.001     ->  61738 Inexact Rounded
+rmux515  multiply 12345  5.01      ->  61849 Inexact Rounded
+rmux516  multiply 12345  12        ->  1.4814E+5 Rounded
+rmux517  multiply 12345  13        ->  1.6049E+5 Inexact Rounded
+rmux518  multiply 12355  12        ->  1.4826E+5 Rounded
+rmux519  multiply 12355  13        ->  1.6062E+5 Inexact Rounded
+-- [rmux516 & rmux518] can surprise
+
+rounding: floor
+rmux601  multiply 12345  1         ->  12345
+rmux602  multiply 12345  1.0001    ->  12346 Inexact Rounded
+rmux603  multiply 12345  1.001     ->  12357 Inexact Rounded
+rmux604  multiply 12345  1.01      ->  12468 Inexact Rounded
+rmux605  multiply 12345  1.1       ->  13579 Inexact Rounded
+rmux606  multiply 12345  4         ->  49380
+rmux607  multiply 12345  4.0001    ->  49381 Inexact Rounded
+rmux608  multiply 12345  4.9       ->  60490 Inexact Rounded
+rmux609  multiply 12345  4.99      ->  61601 Inexact Rounded
+rmux610  multiply 12345  4.999     ->  61712 Inexact Rounded
+rmux611  multiply 12345  4.9999    ->  61723 Inexact Rounded
+rmux612  multiply 12345  5         ->  61725
+rmux613  multiply 12345  5.0001    ->  61726 Inexact Rounded
+rmux614  multiply 12345  5.001     ->  61737 Inexact Rounded
+rmux615  multiply 12345  5.01      ->  61848 Inexact Rounded
+rmux616  multiply 12345  12        ->  1.4814E+5 Rounded
+rmux617  multiply 12345  13        ->  1.6048E+5 Inexact Rounded
+rmux618  multiply 12355  12        ->  1.4826E+5 Rounded
+rmux619  multiply 12355  13        ->  1.6061E+5 Inexact Rounded
+
+rounding: ceiling
+rmux701  multiply 12345  1         ->  12345
+rmux702  multiply 12345  1.0001    ->  12347 Inexact Rounded
+rmux703  multiply 12345  1.001     ->  12358 Inexact Rounded
+rmux704  multiply 12345  1.01      ->  12469 Inexact Rounded
+rmux705  multiply 12345  1.1       ->  13580 Inexact Rounded
+rmux706  multiply 12345  4         ->  49380
+rmux707  multiply 12345  4.0001    ->  49382 Inexact Rounded
+rmux708  multiply 12345  4.9       ->  60491 Inexact Rounded
+rmux709  multiply 12345  4.99      ->  61602 Inexact Rounded
+rmux710  multiply 12345  4.999     ->  61713 Inexact Rounded
+rmux711  multiply 12345  4.9999    ->  61724 Inexact Rounded
+rmux712  multiply 12345  5         ->  61725
+rmux713  multiply 12345  5.0001    ->  61727 Inexact Rounded
+rmux714  multiply 12345  5.001     ->  61738 Inexact Rounded
+rmux715  multiply 12345  5.01      ->  61849 Inexact Rounded
+rmux716  multiply 12345  12        ->  1.4814E+5 Rounded
+rmux717  multiply 12345  13        ->  1.6049E+5 Inexact Rounded
+rmux718  multiply 12355  12        ->  1.4826E+5 Rounded
+rmux719  multiply 12355  13        ->  1.6062E+5 Inexact Rounded
+
+-- Power operator -----------------------------------------------------
+
+rounding: down
+rpox101  power 12345  -5        ->  3.4877E-21 Inexact Rounded
+rpox102  power 12345  -4        ->  4.3056E-17 Inexact Rounded
+rpox103  power 12345  -3        ->  5.3152E-13 Inexact Rounded
+rpox104  power 12345  -2        ->  6.5617E-9 Inexact Rounded
+rpox105  power 12345  -1        ->  0.000081004 Inexact Rounded
+rpox106  power 12345  0         ->  1
+rpox107  power 12345  1         ->  12345
+rpox108  power 12345  2         ->  1.5239E+8 Inexact Rounded
+rpox109  power 12345  3         ->  1.8813E+12 Inexact Rounded
+rpox110  power 12345  4         ->  2.3225E+16 Inexact Rounded
+rpox111  power 12345  5         ->  2.8671E+20 Inexact Rounded
+rpox112  power   415  2         ->  1.7222E+5 Inexact Rounded
+rpox113  power    75  3         ->  4.2187E+5 Inexact Rounded
+
+rounding: half_down
+rpox201  power 12345  -5        ->  3.4877E-21 Inexact Rounded
+rpox202  power 12345  -4        ->  4.3056E-17 Inexact Rounded
+rpox203  power 12345  -3        ->  5.3153E-13 Inexact Rounded
+rpox204  power 12345  -2        ->  6.5617E-9 Inexact Rounded
+rpox205  power 12345  -1        ->  0.000081004 Inexact Rounded
+rpox206  power 12345  0         ->  1
+rpox207  power 12345  1         ->  12345
+rpox208  power 12345  2         ->  1.5240E+8 Inexact Rounded
+rpox209  power 12345  3         ->  1.8814E+12 Inexact Rounded
+rpox210  power 12345  4         ->  2.3225E+16 Inexact Rounded
+rpox211  power 12345  5         ->  2.8672E+20 Inexact Rounded
+rpox212  power   415  2         ->  1.7222E+5 Inexact Rounded
+rpox213  power    75  3         ->  4.2187E+5 Inexact Rounded
+
+rounding: half_even
+rpox301  power 12345  -5        ->  3.4877E-21 Inexact Rounded
+rpox302  power 12345  -4        ->  4.3056E-17 Inexact Rounded
+rpox303  power 12345  -3        ->  5.3153E-13 Inexact Rounded
+rpox304  power 12345  -2        ->  6.5617E-9 Inexact Rounded
+rpox305  power 12345  -1        ->  0.000081004 Inexact Rounded
+rpox306  power 12345  0         ->  1
+rpox307  power 12345  1         ->  12345
+rpox308  power 12345  2         ->  1.5240E+8 Inexact Rounded
+rpox309  power 12345  3         ->  1.8814E+12 Inexact Rounded
+rpox310  power 12345  4         ->  2.3225E+16 Inexact Rounded
+rpox311  power 12345  5         ->  2.8672E+20 Inexact Rounded
+rpox312  power   415  2         ->  1.7222E+5 Inexact Rounded
+rpox313  power    75  3         ->  4.2188E+5 Inexact Rounded
+
+rounding: half_up
+rpox401  power 12345  -5        ->  3.4877E-21 Inexact Rounded
+rpox402  power 12345  -4        ->  4.3056E-17 Inexact Rounded
+rpox403  power 12345  -3        ->  5.3153E-13 Inexact Rounded
+rpox404  power 12345  -2        ->  6.5617E-9 Inexact Rounded
+rpox405  power 12345  -1        ->  0.000081004 Inexact Rounded
+rpox406  power 12345  0         ->  1
+rpox407  power 12345  1         ->  12345
+rpox408  power 12345  2         ->  1.5240E+8 Inexact Rounded
+rpox409  power 12345  3         ->  1.8814E+12 Inexact Rounded
+rpox410  power 12345  4         ->  2.3225E+16 Inexact Rounded
+rpox411  power 12345  5         ->  2.8672E+20 Inexact Rounded
+rpox412  power   415  2         ->  1.7223E+5 Inexact Rounded
+rpox413  power    75  3         ->  4.2188E+5 Inexact Rounded
+
+rounding: up
+rpox501  power 12345  -5        ->  3.4878E-21 Inexact Rounded
+rpox502  power 12345  -4        ->  4.3057E-17 Inexact Rounded
+rpox503  power 12345  -3        ->  5.3153E-13 Inexact Rounded
+rpox504  power 12345  -2        ->  6.5618E-9 Inexact Rounded
+rpox505  power 12345  -1        ->  0.000081005 Inexact Rounded
+rpox506  power 12345  0         ->  1
+rpox507  power 12345  1         ->  12345
+rpox508  power 12345  2         ->  1.5240E+8 Inexact Rounded
+rpox509  power 12345  3         ->  1.8814E+12 Inexact Rounded
+rpox510  power 12345  4         ->  2.3226E+16 Inexact Rounded
+rpox511  power 12345  5         ->  2.8672E+20 Inexact Rounded
+rpox512  power   415  2         ->  1.7223E+5 Inexact Rounded
+rpox513  power    75  3         ->  4.2188E+5 Inexact Rounded
+
+rounding: floor
+rpox601  power 12345  -5        ->  3.4877E-21 Inexact Rounded
+rpox602  power 12345  -4        ->  4.3056E-17 Inexact Rounded
+rpox603  power 12345  -3        ->  5.3152E-13 Inexact Rounded
+rpox604  power 12345  -2        ->  6.5617E-9 Inexact Rounded
+rpox605  power 12345  -1        ->  0.000081004 Inexact Rounded
+rpox606  power 12345  0         ->  1
+rpox607  power 12345  1         ->  12345
+rpox608  power 12345  2         ->  1.5239E+8 Inexact Rounded
+rpox609  power 12345  3         ->  1.8813E+12 Inexact Rounded
+rpox610  power 12345  4         ->  2.3225E+16 Inexact Rounded
+rpox611  power 12345  5         ->  2.8671E+20 Inexact Rounded
+rpox612  power   415  2         ->  1.7222E+5 Inexact Rounded
+rpox613  power    75  3         ->  4.2187E+5 Inexact Rounded
+
+rounding: ceiling
+rpox701  power 12345  -5        ->  3.4878E-21 Inexact Rounded
+rpox702  power 12345  -4        ->  4.3057E-17 Inexact Rounded
+rpox703  power 12345  -3        ->  5.3153E-13 Inexact Rounded
+rpox704  power 12345  -2        ->  6.5618E-9 Inexact Rounded
+rpox705  power 12345  -1        ->  0.000081005 Inexact Rounded
+rpox706  power 12345  0         ->  1
+rpox707  power 12345  1         ->  12345
+rpox708  power 12345  2         ->  1.5240E+8 Inexact Rounded
+rpox709  power 12345  3         ->  1.8814E+12 Inexact Rounded
+rpox710  power 12345  4         ->  2.3226E+16 Inexact Rounded
+rpox711  power 12345  5         ->  2.8672E+20 Inexact Rounded
+rpox712  power   415  2         ->  1.7223E+5 Inexact Rounded
+rpox713  power    75  3         ->  4.2188E+5 Inexact Rounded
+
+-- Underflow Subnormal and overflow values vary with rounding mode and sign
+maxexponent: 999999999
+minexponent: -999999999
+rounding: down
+rovx100  multiply   10    9E+999999999 ->  9.9999E+999999999 Overflow Inexact Rounded
+rovx101  multiply  -10    9E+999999999 -> -9.9999E+999999999 Overflow Inexact Rounded
+rovx102  divide     1E-9  9E+999999999 ->  0E-1000000003 Underflow Subnormal Inexact Rounded
+rovx104  divide    -1E-9  9E+999999999 -> -0E-1000000003 Underflow Subnormal Inexact Rounded
+
+rounding: up
+rovx110  multiply   10    9E+999999999 ->  Infinity Overflow Inexact Rounded
+rovx111  multiply  -10    9E+999999999 -> -Infinity Overflow Inexact Rounded
+rovx112  divide     1E-9  9E+999999999 ->  1E-1000000003 Underflow Subnormal Inexact Rounded
+rovx114  divide    -1E-9  9E+999999999 -> -1E-1000000003 Underflow Subnormal Inexact Rounded
+
+rounding: ceiling
+rovx120  multiply   10    9E+999999999 ->  Infinity Overflow Inexact Rounded
+rovx121  multiply  -10    9E+999999999 -> -9.9999E+999999999 Overflow Inexact Rounded
+rovx122  divide     1E-9  9E+999999999 ->  1E-1000000003 Underflow Subnormal Inexact Rounded
+rovx124  divide    -1E-9  9E+999999999 -> -0E-1000000003 Underflow Subnormal Inexact Rounded
+
+rounding: floor
+rovx130  multiply   10    9E+999999999 ->  9.9999E+999999999 Overflow Inexact Rounded
+rovx131  multiply  -10    9E+999999999 -> -Infinity Overflow Inexact Rounded
+rovx132  divide     1E-9  9E+999999999 ->  0E-1000000003 Underflow Subnormal Inexact Rounded
+rovx134  divide    -1E-9  9E+999999999 -> -1E-1000000003 Underflow Subnormal Inexact Rounded
+
+rounding: half_up
+rovx140  multiply   10    9E+999999999 ->  Infinity Overflow Inexact Rounded
+rovx141  multiply  -10    9E+999999999 -> -Infinity Overflow Inexact Rounded
+rovx142  divide     1E-9  9E+999999999 ->  0E-1000000003 Underflow Subnormal Inexact Rounded
+rovx144  divide    -1E-9  9E+999999999 -> -0E-1000000003 Underflow Subnormal Inexact Rounded
+
+rounding: half_even
+rovx150  multiply   10    9E+999999999 ->  Infinity Overflow Inexact Rounded
+rovx151  multiply  -10    9E+999999999 -> -Infinity Overflow Inexact Rounded
+rovx152  divide     1E-9  9E+999999999 ->  0E-1000000003 Underflow Subnormal Inexact Rounded
+rovx154  divide    -1E-9  9E+999999999 -> -0E-1000000003 Underflow Subnormal Inexact Rounded
+
+rounding: half_down
+rovx160  multiply   10    9E+999999999 ->  Infinity Overflow Inexact Rounded
+rovx161  multiply  -10    9E+999999999 -> -Infinity Overflow Inexact Rounded
+rovx162  divide     1E-9  9E+999999999 ->  0E-1000000003 Underflow Subnormal Inexact Rounded
+rovx164  divide    -1E-9  9E+999999999 -> -0E-1000000003 Underflow Subnormal Inexact Rounded
+
+-- check maximum finite value over a range of precisions
+rounding: down
+precision: 1
+rovx200  multiply   10    9E+999999999 ->  9E+999999999 Overflow Inexact Rounded
+rovx201  multiply  -10    9E+999999999 -> -9E+999999999 Overflow Inexact Rounded
+precision: 2
+rovx210  multiply   10    9E+999999999 ->  9.9E+999999999 Overflow Inexact Rounded
+rovx211  multiply  -10    9E+999999999 -> -9.9E+999999999 Overflow Inexact Rounded
+precision: 3
+rovx220  multiply   10    9E+999999999 ->  9.99E+999999999 Overflow Inexact Rounded
+rovx221  multiply  -10    9E+999999999 -> -9.99E+999999999 Overflow Inexact Rounded
+precision: 4
+rovx230  multiply   10    9E+999999999 ->  9.999E+999999999 Overflow Inexact Rounded
+rovx231  multiply  -10    9E+999999999 -> -9.999E+999999999 Overflow Inexact Rounded
+precision: 5
+rovx240  multiply   10    9E+999999999 ->  9.9999E+999999999 Overflow Inexact Rounded
+rovx241  multiply  -10    9E+999999999 -> -9.9999E+999999999 Overflow Inexact Rounded
+precision: 6
+rovx250  multiply   10    9E+999999999 ->  9.99999E+999999999 Overflow Inexact Rounded
+rovx251  multiply  -10    9E+999999999 -> -9.99999E+999999999 Overflow Inexact Rounded
+precision: 7
+rovx260  multiply   10    9E+999999999 ->  9.999999E+999999999 Overflow Inexact Rounded
+rovx261  multiply  -10    9E+999999999 -> -9.999999E+999999999 Overflow Inexact Rounded
+precision: 8
+rovx270  multiply   10    9E+999999999 ->  9.9999999E+999999999 Overflow Inexact Rounded
+rovx271  multiply  -10    9E+999999999 -> -9.9999999E+999999999 Overflow Inexact Rounded
+precision: 9
+rovx280  multiply   10    9E+999999999 ->  9.99999999E+999999999 Overflow Inexact Rounded
+rovx281  multiply  -10    9E+999999999 -> -9.99999999E+999999999 Overflow Inexact Rounded
+precision: 10
+rovx290  multiply   10    9E+999999999 ->  9.999999999E+999999999 Overflow Inexact Rounded
+rovx291  multiply  -10    9E+999999999 -> -9.999999999E+999999999 Overflow Inexact Rounded
+
+-- reprise rounding mode effect (using multiplies so precision directive used)
+precision: 9
+maxexponent: 999999999
+rounding: half_up
+rmex400 multiply -9.999E+999999999 10 -> -Infinity Overflow Inexact Rounded
+rmex401 multiply  9.999E+999999999 10 ->  Infinity Overflow Inexact Rounded
+rounding: half_down
+rmex402 multiply -9.999E+999999999 10 -> -Infinity Overflow Inexact Rounded
+rmex403 multiply  9.999E+999999999 10 ->  Infinity Overflow Inexact Rounded
+rounding: half_even
+rmex404 multiply -9.999E+999999999 10 -> -Infinity Overflow Inexact Rounded
+rmex405 multiply  9.999E+999999999 10 ->  Infinity Overflow Inexact Rounded
+rounding: floor
+rmex406 multiply -9.999E+999999999 10 -> -Infinity Overflow Inexact Rounded
+rmex407 multiply  9.999E+999999999 10 ->  9.99999999E+999999999 Overflow Inexact Rounded
+rounding: ceiling
+rmex408 multiply -9.999E+999999999 10 -> -9.99999999E+999999999 Overflow Inexact Rounded
+rmex409 multiply  9.999E+999999999 10 ->  Infinity Overflow Inexact Rounded
+rounding: up
+rmex410 multiply -9.999E+999999999 10 -> -Infinity Overflow Inexact Rounded
+rmex411 multiply  9.999E+999999999 10 ->  Infinity Overflow Inexact Rounded
+rounding: down
+rmex412 multiply -9.999E+999999999 10 -> -9.99999999E+999999999 Overflow Inexact Rounded
+rmex413 multiply  9.999E+999999999 10 ->  9.99999999E+999999999 Overflow Inexact Rounded
+

Added: sandbox/trunk/decimal-c/decimaltestdata/samequantum.decTest
==============================================================================
--- (empty file)
+++ sandbox/trunk/decimal-c/decimaltestdata/samequantum.decTest	Tue May 23 13:34:01 2006
@@ -0,0 +1,353 @@
+------------------------------------------------------------------------
+-- samequantum.decTest -- check quantums match                        --
+-- Copyright (c) IBM Corporation, 2001, 2003.  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 at uk.ibm.com                                                   --
+------------------------------------------------------------------------
+version: 2.39
+
+extended:    1
+precision:   9
+rounding:    half_up
+maxExponent: 999
+minExponent: -999
+
+samq001 samequantum  0      0      ->  1
+samq002 samequantum  0      1      ->  1
+samq003 samequantum  1      0      ->  1
+samq004 samequantum  1      1      ->  1
+
+samq011 samequantum  10     1E+1   -> 0
+samq012 samequantum  10E+1  10E+1  -> 1
+samq013 samequantum  100    10E+1  -> 0
+samq014 samequantum  100    1E+2   -> 0
+samq015 samequantum  0.1    1E-2   -> 0
+samq016 samequantum  0.1    1E-1   -> 1
+samq017 samequantum  0.1    1E-0   -> 0
+samq018 samequantum  999    999    -> 1
+samq019 samequantum  999E-1 99.9   -> 1
+samq020 samequantum  111E-1 22.2   -> 1
+samq021 samequantum  111E-1 1234.2 -> 1
+
+-- zeros
+samq030 samequantum  0.0    1.1    -> 1
+samq031 samequantum  0.0    1.11   -> 0
+samq032 samequantum  0.0    0      -> 0
+samq033 samequantum  0.0    0.0    -> 1
+samq034 samequantum  0.0    0.00   -> 0
+samq035 samequantum  0E+1   0E+0   -> 0
+samq036 samequantum  0E+1   0E+1   -> 1
+samq037 samequantum  0E+1   0E+2   -> 0
+samq038 samequantum  0E-17  0E-16  -> 0
+samq039 samequantum  0E-17  0E-17  -> 1
+samq040 samequantum  0E-17  0E-18  -> 0
+samq041 samequantum  0E-17  0.0E-15 -> 0
+samq042 samequantum  0E-17  0.0E-16 -> 1
+samq043 samequantum  0E-17  0.0E-17 -> 0
+samq044 samequantum -0E-17  0.0E-16 -> 1
+samq045 samequantum  0E-17 -0.0E-17 -> 0
+samq046 samequantum  0E-17 -0.0E-16 -> 1
+samq047 samequantum -0E-17  0.0E-17 -> 0
+samq048 samequantum -0E-17 -0.0E-16 -> 1
+samq049 samequantum -0E-17 -0.0E-17 -> 0
+
+-- specials & combinations
+
+samq0110 samequantum  -Inf    -Inf   -> 1
+samq0111 samequantum  -Inf     Inf   -> 1
+samq0112 samequantum  -Inf     NaN   -> 0
+samq0113 samequantum  -Inf    -7E+3  -> 0
+samq0114 samequantum  -Inf    -7     -> 0
+samq0115 samequantum  -Inf    -7E-3  -> 0
+samq0116 samequantum  -Inf    -0E-3  -> 0
+samq0117 samequantum  -Inf    -0     -> 0
+samq0118 samequantum  -Inf    -0E+3  -> 0
+samq0119 samequantum  -Inf     0E-3  -> 0
+samq0120 samequantum  -Inf     0     -> 0
+samq0121 samequantum  -Inf     0E+3  -> 0
+samq0122 samequantum  -Inf     7E-3  -> 0
+samq0123 samequantum  -Inf     7     -> 0
+samq0124 samequantum  -Inf     7E+3  -> 0
+samq0125 samequantum  -Inf     sNaN  -> 0
+
+samq0210 samequantum   Inf    -Inf   -> 1
+samq0211 samequantum   Inf     Inf   -> 1
+samq0212 samequantum   Inf     NaN   -> 0
+samq0213 samequantum   Inf    -7E+3  -> 0
+samq0214 samequantum   Inf    -7     -> 0
+samq0215 samequantum   Inf    -7E-3  -> 0
+samq0216 samequantum   Inf    -0E-3  -> 0
+samq0217 samequantum   Inf    -0     -> 0
+samq0218 samequantum   Inf    -0E+3  -> 0
+samq0219 samequantum   Inf     0E-3  -> 0
+samq0220 samequantum   Inf     0     -> 0
+samq0221 samequantum   Inf     0E+3  -> 0
+samq0222 samequantum   Inf     7E-3  -> 0
+samq0223 samequantum   Inf     7     -> 0
+samq0224 samequantum   Inf     7E+3  -> 0
+samq0225 samequantum   Inf     sNaN  -> 0
+
+samq0310 samequantum   NaN    -Inf   -> 0
+samq0311 samequantum   NaN     Inf   -> 0
+samq0312 samequantum   NaN     NaN   -> 1
+samq0313 samequantum   NaN    -7E+3  -> 0
+samq0314 samequantum   NaN    -7     -> 0
+samq0315 samequantum   NaN    -7E-3  -> 0
+samq0316 samequantum   NaN    -0E-3  -> 0
+samq0317 samequantum   NaN    -0     -> 0
+samq0318 samequantum   NaN    -0E+3  -> 0
+samq0319 samequantum   NaN     0E-3  -> 0
+samq0320 samequantum   NaN     0     -> 0
+samq0321 samequantum   NaN     0E+3  -> 0
+samq0322 samequantum   NaN     7E-3  -> 0
+samq0323 samequantum   NaN     7     -> 0
+samq0324 samequantum   NaN     7E+3  -> 0
+samq0325 samequantum   NaN     sNaN  -> 1
+
+samq0410 samequantum  -7E+3    -Inf   -> 0
+samq0411 samequantum  -7E+3     Inf   -> 0
+samq0412 samequantum  -7E+3     NaN   -> 0
+samq0413 samequantum  -7E+3    -7E+3  -> 1
+samq0414 samequantum  -7E+3    -7     -> 0
+samq0415 samequantum  -7E+3    -7E-3  -> 0
+samq0416 samequantum  -7E+3    -0E-3  -> 0
+samq0417 samequantum  -7E+3    -0     -> 0
+samq0418 samequantum  -7E+3    -0E+3  -> 1
+samq0419 samequantum  -7E+3     0E-3  -> 0
+samq0420 samequantum  -7E+3     0     -> 0
+samq0421 samequantum  -7E+3     0E+3  -> 1
+samq0422 samequantum  -7E+3     7E-3  -> 0
+samq0423 samequantum  -7E+3     7     -> 0
+samq0424 samequantum  -7E+3     7E+3  -> 1
+samq0425 samequantum  -7E+3     sNaN  -> 0
+
+samq0510 samequantum  -7      -Inf   -> 0
+samq0511 samequantum  -7       Inf   -> 0
+samq0512 samequantum  -7       NaN   -> 0
+samq0513 samequantum  -7      -7E+3  -> 0
+samq0514 samequantum  -7      -7     -> 1
+samq0515 samequantum  -7      -7E-3  -> 0
+samq0516 samequantum  -7      -0E-3  -> 0
+samq0517 samequantum  -7      -0     -> 1
+samq0518 samequantum  -7      -0E+3  -> 0
+samq0519 samequantum  -7       0E-3  -> 0
+samq0520 samequantum  -7       0     -> 1
+samq0521 samequantum  -7       0E+3  -> 0
+samq0522 samequantum  -7       7E-3  -> 0
+samq0523 samequantum  -7       7     -> 1
+samq0524 samequantum  -7       7E+3  -> 0
+samq0525 samequantum  -7       sNaN  -> 0
+
+samq0610 samequantum  -7E-3    -Inf   -> 0
+samq0611 samequantum  -7E-3     Inf   -> 0
+samq0612 samequantum  -7E-3     NaN   -> 0
+samq0613 samequantum  -7E-3    -7E+3  -> 0
+samq0614 samequantum  -7E-3    -7     -> 0
+samq0615 samequantum  -7E-3    -7E-3  -> 1
+samq0616 samequantum  -7E-3    -0E-3  -> 1
+samq0617 samequantum  -7E-3    -0     -> 0
+samq0618 samequantum  -7E-3    -0E+3  -> 0
+samq0619 samequantum  -7E-3     0E-3  -> 1
+samq0620 samequantum  -7E-3     0     -> 0
+samq0621 samequantum  -7E-3     0E+3  -> 0
+samq0622 samequantum  -7E-3     7E-3  -> 1
+samq0623 samequantum  -7E-3     7     -> 0
+samq0624 samequantum  -7E-3     7E+3  -> 0
+samq0625 samequantum  -7E-3     sNaN  -> 0
+
+samq0710 samequantum  -0E-3    -Inf   -> 0
+samq0711 samequantum  -0E-3     Inf   -> 0
+samq0712 samequantum  -0E-3     NaN   -> 0
+samq0713 samequantum  -0E-3    -7E+3  -> 0
+samq0714 samequantum  -0E-3    -7     -> 0
+samq0715 samequantum  -0E-3    -7E-3  -> 1
+samq0716 samequantum  -0E-3    -0E-3  -> 1
+samq0717 samequantum  -0E-3    -0     -> 0
+samq0718 samequantum  -0E-3    -0E+3  -> 0
+samq0719 samequantum  -0E-3     0E-3  -> 1
+samq0720 samequantum  -0E-3     0     -> 0
+samq0721 samequantum  -0E-3     0E+3  -> 0
+samq0722 samequantum  -0E-3     7E-3  -> 1
+samq0723 samequantum  -0E-3     7     -> 0
+samq0724 samequantum  -0E-3     7E+3  -> 0
+samq0725 samequantum  -0E-3     sNaN  -> 0
+
+samq0810 samequantum  -0      -Inf   -> 0
+samq0811 samequantum  -0       Inf   -> 0
+samq0812 samequantum  -0       NaN   -> 0
+samq0813 samequantum  -0      -7E+3  -> 0
+samq0814 samequantum  -0      -7     -> 1
+samq0815 samequantum  -0      -7E-3  -> 0
+samq0816 samequantum  -0      -0E-3  -> 0
+samq0817 samequantum  -0      -0     -> 1
+samq0818 samequantum  -0      -0E+3  -> 0
+samq0819 samequantum  -0       0E-3  -> 0
+samq0820 samequantum  -0       0     -> 1
+samq0821 samequantum  -0       0E+3  -> 0
+samq0822 samequantum  -0       7E-3  -> 0
+samq0823 samequantum  -0       7     -> 1
+samq0824 samequantum  -0       7E+3  -> 0
+samq0825 samequantum  -0       sNaN  -> 0
+
+samq0910 samequantum  -0E+3    -Inf   -> 0
+samq0911 samequantum  -0E+3     Inf   -> 0
+samq0912 samequantum  -0E+3     NaN   -> 0
+samq0913 samequantum  -0E+3    -7E+3  -> 1
+samq0914 samequantum  -0E+3    -7     -> 0
+samq0915 samequantum  -0E+3    -7E-3  -> 0
+samq0916 samequantum  -0E+3    -0E-3  -> 0
+samq0917 samequantum  -0E+3    -0     -> 0
+samq0918 samequantum  -0E+3    -0E+3  -> 1
+samq0919 samequantum  -0E+3     0E-3  -> 0
+samq0920 samequantum  -0E+3     0     -> 0
+samq0921 samequantum  -0E+3     0E+3  -> 1
+samq0922 samequantum  -0E+3     7E-3  -> 0
+samq0923 samequantum  -0E+3     7     -> 0
+samq0924 samequantum  -0E+3     7E+3  -> 1
+samq0925 samequantum  -0E+3     sNaN  -> 0
+
+samq1110 samequantum  0E-3    -Inf   -> 0
+samq1111 samequantum  0E-3     Inf   -> 0
+samq1112 samequantum  0E-3     NaN   -> 0
+samq1113 samequantum  0E-3    -7E+3  -> 0
+samq1114 samequantum  0E-3    -7     -> 0
+samq1115 samequantum  0E-3    -7E-3  -> 1
+samq1116 samequantum  0E-3    -0E-3  -> 1
+samq1117 samequantum  0E-3    -0     -> 0
+samq1118 samequantum  0E-3    -0E+3  -> 0
+samq1119 samequantum  0E-3     0E-3  -> 1
+samq1120 samequantum  0E-3     0     -> 0
+samq1121 samequantum  0E-3     0E+3  -> 0
+samq1122 samequantum  0E-3     7E-3  -> 1
+samq1123 samequantum  0E-3     7     -> 0
+samq1124 samequantum  0E-3     7E+3  -> 0
+samq1125 samequantum  0E-3     sNaN  -> 0
+
+samq1210 samequantum  0       -Inf   -> 0
+samq1211 samequantum  0        Inf   -> 0
+samq1212 samequantum  0        NaN   -> 0
+samq1213 samequantum  0       -7E+3  -> 0
+samq1214 samequantum  0       -7     -> 1
+samq1215 samequantum  0       -7E-3  -> 0
+samq1216 samequantum  0       -0E-3  -> 0
+samq1217 samequantum  0       -0     -> 1
+samq1218 samequantum  0       -0E+3  -> 0
+samq1219 samequantum  0        0E-3  -> 0
+samq1220 samequantum  0        0     -> 1
+samq1221 samequantum  0        0E+3  -> 0
+samq1222 samequantum  0        7E-3  -> 0
+samq1223 samequantum  0        7     -> 1
+samq1224 samequantum  0        7E+3  -> 0
+samq1225 samequantum  0        sNaN  -> 0
+
+samq1310 samequantum  0E+3    -Inf   -> 0
+samq1311 samequantum  0E+3     Inf   -> 0
+samq1312 samequantum  0E+3     NaN   -> 0
+samq1313 samequantum  0E+3    -7E+3  -> 1
+samq1314 samequantum  0E+3    -7     -> 0
+samq1315 samequantum  0E+3    -7E-3  -> 0
+samq1316 samequantum  0E+3    -0E-3  -> 0
+samq1317 samequantum  0E+3    -0     -> 0
+samq1318 samequantum  0E+3    -0E+3  -> 1
+samq1319 samequantum  0E+3     0E-3  -> 0
+samq1320 samequantum  0E+3     0     -> 0
+samq1321 samequantum  0E+3     0E+3  -> 1
+samq1322 samequantum  0E+3     7E-3  -> 0
+samq1323 samequantum  0E+3     7     -> 0
+samq1324 samequantum  0E+3     7E+3  -> 1
+samq1325 samequantum  0E+3     sNaN  -> 0
+
+samq1410 samequantum  7E-3    -Inf   -> 0
+samq1411 samequantum  7E-3     Inf   -> 0
+samq1412 samequantum  7E-3     NaN   -> 0
+samq1413 samequantum  7E-3    -7E+3  -> 0
+samq1414 samequantum  7E-3    -7     -> 0
+samq1415 samequantum  7E-3    -7E-3  -> 1
+samq1416 samequantum  7E-3    -0E-3  -> 1
+samq1417 samequantum  7E-3    -0     -> 0
+samq1418 samequantum  7E-3    -0E+3  -> 0
+samq1419 samequantum  7E-3     0E-3  -> 1
+samq1420 samequantum  7E-3     0     -> 0
+samq1421 samequantum  7E-3     0E+3  -> 0
+samq1422 samequantum  7E-3     7E-3  -> 1
+samq1423 samequantum  7E-3     7     -> 0
+samq1424 samequantum  7E-3     7E+3  -> 0
+samq1425 samequantum  7E-3     sNaN  -> 0
+
+samq1510 samequantum  7      -Inf   -> 0
+samq1511 samequantum  7       Inf   -> 0
+samq1512 samequantum  7       NaN   -> 0
+samq1513 samequantum  7      -7E+3  -> 0
+samq1514 samequantum  7      -7     -> 1
+samq1515 samequantum  7      -7E-3  -> 0
+samq1516 samequantum  7      -0E-3  -> 0
+samq1517 samequantum  7      -0     -> 1
+samq1518 samequantum  7      -0E+3  -> 0
+samq1519 samequantum  7       0E-3  -> 0
+samq1520 samequantum  7       0     -> 1
+samq1521 samequantum  7       0E+3  -> 0
+samq1522 samequantum  7       7E-3  -> 0
+samq1523 samequantum  7       7     -> 1
+samq1524 samequantum  7       7E+3  -> 0
+samq1525 samequantum  7       sNaN  -> 0
+
+samq1610 samequantum  7E+3    -Inf   -> 0
+samq1611 samequantum  7E+3     Inf   -> 0
+samq1612 samequantum  7E+3     NaN   -> 0
+samq1613 samequantum  7E+3    -7E+3  -> 1
+samq1614 samequantum  7E+3    -7     -> 0
+samq1615 samequantum  7E+3    -7E-3  -> 0
+samq1616 samequantum  7E+3    -0E-3  -> 0
+samq1617 samequantum  7E+3    -0     -> 0
+samq1618 samequantum  7E+3    -0E+3  -> 1
+samq1619 samequantum  7E+3     0E-3  -> 0
+samq1620 samequantum  7E+3     0     -> 0
+samq1621 samequantum  7E+3     0E+3  -> 1
+samq1622 samequantum  7E+3     7E-3  -> 0
+samq1623 samequantum  7E+3     7     -> 0
+samq1624 samequantum  7E+3     7E+3  -> 1
+samq1625 samequantum  7E+3     sNaN  -> 0
+
+samq1710 samequantum  sNaN    -Inf   -> 0
+samq1711 samequantum  sNaN     Inf   -> 0
+samq1712 samequantum  sNaN     NaN   -> 1
+samq1713 samequantum  sNaN    -7E+3  -> 0
+samq1714 samequantum  sNaN    -7     -> 0
+samq1715 samequantum  sNaN    -7E-3  -> 0
+samq1716 samequantum  sNaN    -0E-3  -> 0
+samq1717 samequantum  sNaN    -0     -> 0
+samq1718 samequantum  sNaN    -0E+3  -> 0
+samq1719 samequantum  sNaN     0E-3  -> 0
+samq1720 samequantum  sNaN     0     -> 0
+samq1721 samequantum  sNaN     0E+3  -> 0
+samq1722 samequantum  sNaN     7E-3  -> 0
+samq1723 samequantum  sNaN     7     -> 0
+samq1724 samequantum  sNaN     7E+3  -> 0
+samq1725 samequantum  sNaN     sNaN  -> 1
+-- noisy NaNs
+samq1730 samequantum  sNaN3    sNaN3 -> 1
+samq1731 samequantum  sNaN3    sNaN4 -> 1
+samq1732 samequantum   NaN3     NaN3 -> 1
+samq1733 samequantum   NaN3     NaN4 -> 1
+samq1734 samequantum  sNaN3     3    -> 0
+samq1735 samequantum   NaN3     3    -> 0
+samq1736 samequantum      4    sNaN4 -> 0
+samq1737 samequantum      3     NaN3 -> 0
+samq1738 samequantum    Inf    sNaN4 -> 0
+samq1739 samequantum   -Inf     NaN3 -> 0
+
+
+

Added: sandbox/trunk/decimal-c/decimaltestdata/squareroot.decTest
==============================================================================
--- (empty file)
+++ sandbox/trunk/decimal-c/decimaltestdata/squareroot.decTest	Tue May 23 13:34:01 2006
@@ -0,0 +1,2958 @@
+------------------------------------------------------------------------
+-- squareroot.decTest -- decimal square root                          --
+-- Copyright (c) IBM Corporation, 2004.  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 at uk.ibm.com                                                   --
+------------------------------------------------------------------------
+version: 2.39
+
+extended:    1
+precision:   9
+rounding:    half_up
+maxExponent: 384
+minexponent: -383
+
+-- basics
+sqtx001 squareroot 1       -> 1
+sqtx002 squareroot -1      -> NaN Invalid_operation
+sqtx003 squareroot 1.00    -> 1.0
+sqtx004 squareroot -1.00   -> NaN Invalid_operation
+sqtx005 squareroot 0       -> 0
+sqtx006 squareroot 00.0    -> 0.0
+sqtx007 squareroot 0.00    -> 0.0
+sqtx008 squareroot 00.00   -> 0.0
+sqtx009 squareroot 00.000  -> 0.00
+sqtx010 squareroot 00.0000 -> 0.00
+sqtx011 squareroot 00      -> 0
+
+sqtx012 squareroot -2      -> NaN Invalid_operation
+sqtx013 squareroot 2       -> 1.41421356 Inexact Rounded
+sqtx014 squareroot -2.00   -> NaN Invalid_operation
+sqtx015 squareroot 2.00    -> 1.41421356 Inexact Rounded
+sqtx016 squareroot -0      -> -0
+sqtx017 squareroot -0.0    -> -0.0
+sqtx018 squareroot -00.00  -> -0.0
+sqtx019 squareroot -00.000 -> -0.00
+sqtx020 squareroot -0.0000 -> -0.00
+sqtx021 squareroot -0E+9   -> -0E+4
+sqtx022 squareroot -0E+10  -> -0E+5
+sqtx023 squareroot -0E+11  -> -0E+5
+sqtx024 squareroot -0E+12  -> -0E+6
+sqtx025 squareroot -00     -> -0
+sqtx026 squareroot 0E+5    -> 0E+2
+sqtx027 squareroot 4.0     -> 2.0
+sqtx028 squareroot 4.00    -> 2.0
+
+sqtx030 squareroot +0.1            -> 0.316227766 Inexact Rounded
+sqtx031 squareroot -0.1            -> NaN Invalid_operation
+sqtx032 squareroot +0.01           -> 0.1
+sqtx033 squareroot -0.01           -> NaN Invalid_operation
+sqtx034 squareroot +0.001          -> 0.0316227766 Inexact Rounded
+sqtx035 squareroot -0.001          -> NaN Invalid_operation
+sqtx036 squareroot +0.000001       -> 0.001
+sqtx037 squareroot -0.000001       -> NaN Invalid_operation
+sqtx038 squareroot +0.000000000001 -> 0.000001
+sqtx039 squareroot -0.000000000001 -> NaN Invalid_operation
+
+sqtx041 squareroot 1.1        -> 1.04880885 Inexact Rounded
+sqtx042 squareroot 1.10       -> 1.04880885 Inexact Rounded
+sqtx043 squareroot 1.100      -> 1.04880885 Inexact Rounded
+sqtx044 squareroot 1.110      -> 1.05356538 Inexact Rounded
+sqtx045 squareroot -1.1       -> NaN Invalid_operation
+sqtx046 squareroot -1.10      -> NaN Invalid_operation
+sqtx047 squareroot -1.100     -> NaN Invalid_operation
+sqtx048 squareroot -1.110     -> NaN Invalid_operation
+sqtx049 squareroot 9.9        -> 3.14642654 Inexact Rounded
+sqtx050 squareroot 9.90       -> 3.14642654 Inexact Rounded
+sqtx051 squareroot 9.900      -> 3.14642654 Inexact Rounded
+sqtx052 squareroot 9.990      -> 3.16069613 Inexact Rounded
+sqtx053 squareroot -9.9       -> NaN Invalid_operation
+sqtx054 squareroot -9.90      -> NaN Invalid_operation
+sqtx055 squareroot -9.900     -> NaN Invalid_operation
+sqtx056 squareroot -9.990     -> NaN Invalid_operation
+
+sqtx060 squareroot  1           -> 1
+sqtx061 squareroot  1.0         -> 1.0
+sqtx062 squareroot  1.00        -> 1.0
+sqtx063 squareroot  10.0        -> 3.16227766 Inexact Rounded
+sqtx064 squareroot  10.0        -> 3.16227766 Inexact Rounded
+sqtx065 squareroot  10.0        -> 3.16227766 Inexact Rounded
+sqtx066 squareroot  10.00       -> 3.16227766 Inexact Rounded
+sqtx067 squareroot  100         -> 10
+sqtx068 squareroot  100.0       -> 10.0
+sqtx069 squareroot  100.00      -> 10.0
+sqtx070 squareroot  1.1000E+3   -> 33.1662479 Inexact Rounded
+sqtx071 squareroot  1.10000E+3  -> 33.1662479 Inexact Rounded
+sqtx072 squareroot -10.0        -> NaN Invalid_operation
+sqtx073 squareroot -10.00       -> NaN Invalid_operation
+sqtx074 squareroot -100.0       -> NaN Invalid_operation
+sqtx075 squareroot -100.00      -> NaN Invalid_operation
+sqtx076 squareroot -1.1000E+3   -> NaN Invalid_operation
+sqtx077 squareroot -1.10000E+3  -> NaN Invalid_operation
+
+-- famous squares
+sqtx080 squareroot     1  -> 1
+sqtx081 squareroot     4  -> 2
+sqtx082 squareroot     9  -> 3
+sqtx083 squareroot    16  -> 4
+sqtx084 squareroot    25  -> 5
+sqtx085 squareroot    36  -> 6
+sqtx086 squareroot    49  -> 7
+sqtx087 squareroot    64  -> 8
+sqtx088 squareroot    81  -> 9
+sqtx089 squareroot   100  -> 10
+sqtx090 squareroot   121  -> 11
+sqtx091 squareroot   144  -> 12
+sqtx092 squareroot   169  -> 13
+sqtx093 squareroot   256  -> 16
+sqtx094 squareroot  1024  -> 32
+sqtx095 squareroot  4096  -> 64
+sqtx100 squareroot   0.01 -> 0.1
+sqtx101 squareroot   0.04 -> 0.2
+sqtx102 squareroot   0.09 -> 0.3
+sqtx103 squareroot   0.16 -> 0.4
+sqtx104 squareroot   0.25 -> 0.5
+sqtx105 squareroot   0.36 -> 0.6
+sqtx106 squareroot   0.49 -> 0.7
+sqtx107 squareroot   0.64 -> 0.8
+sqtx108 squareroot   0.81 -> 0.9
+sqtx109 squareroot   1.00 -> 1.0
+sqtx110 squareroot   1.21 -> 1.1
+sqtx111 squareroot   1.44 -> 1.2
+sqtx112 squareroot   1.69 -> 1.3
+sqtx113 squareroot   2.56 -> 1.6
+sqtx114 squareroot  10.24 -> 3.2
+sqtx115 squareroot  40.96 -> 6.4
+
+-- Precision 1 squareroot tests [exhaustive, plus exponent adjusts]
+rounding:    half_even
+maxExponent: 999
+minexponent: -999
+precision:   1
+sqtx1201 squareroot 0.1 -> 0.3  Inexact Rounded
+sqtx1202 squareroot 0.01 -> 0.1
+sqtx1203 squareroot 1.0E-1 -> 0.3  Inexact Rounded
+sqtx1204 squareroot 1.00E-2 -> 0.1  Rounded
+sqtx1205 squareroot 1E-3 -> 0.03  Inexact Rounded
+sqtx1206 squareroot 1E+1 -> 3  Inexact Rounded
+sqtx1207 squareroot 1E+2 -> 1E+1
+sqtx1208 squareroot 1E+3 -> 3E+1  Inexact Rounded
+sqtx1209 squareroot 0.2 -> 0.4  Inexact Rounded
+sqtx1210 squareroot 0.02 -> 0.1  Inexact Rounded
+sqtx1211 squareroot 2.0E-1 -> 0.4  Inexact Rounded
+sqtx1212 squareroot 2.00E-2 -> 0.1  Inexact Rounded
+sqtx1213 squareroot 2E-3 -> 0.04  Inexact Rounded
+sqtx1214 squareroot 2E+1 -> 4  Inexact Rounded
+sqtx1215 squareroot 2E+2 -> 1E+1  Inexact Rounded
+sqtx1216 squareroot 2E+3 -> 4E+1  Inexact Rounded
+sqtx1217 squareroot 0.3 -> 0.5  Inexact Rounded
+sqtx1218 squareroot 0.03 -> 0.2  Inexact Rounded
+sqtx1219 squareroot 3.0E-1 -> 0.5  Inexact Rounded
+sqtx1220 squareroot 3.00E-2 -> 0.2  Inexact Rounded
+sqtx1221 squareroot 3E-3 -> 0.05  Inexact Rounded
+sqtx1222 squareroot 3E+1 -> 5  Inexact Rounded
+sqtx1223 squareroot 3E+2 -> 2E+1  Inexact Rounded
+sqtx1224 squareroot 3E+3 -> 5E+1  Inexact Rounded
+sqtx1225 squareroot 0.4 -> 0.6  Inexact Rounded
+sqtx1226 squareroot 0.04 -> 0.2
+sqtx1227 squareroot 4.0E-1 -> 0.6  Inexact Rounded
+sqtx1228 squareroot 4.00E-2 -> 0.2  Rounded
+sqtx1229 squareroot 4E-3 -> 0.06  Inexact Rounded
+sqtx1230 squareroot 4E+1 -> 6  Inexact Rounded
+sqtx1231 squareroot 4E+2 -> 2E+1
+sqtx1232 squareroot 4E+3 -> 6E+1  Inexact Rounded
+sqtx1233 squareroot 0.5 -> 0.7  Inexact Rounded
+sqtx1234 squareroot 0.05 -> 0.2  Inexact Rounded
+sqtx1235 squareroot 5.0E-1 -> 0.7  Inexact Rounded
+sqtx1236 squareroot 5.00E-2 -> 0.2  Inexact Rounded
+sqtx1237 squareroot 5E-3 -> 0.07  Inexact Rounded
+sqtx1238 squareroot 5E+1 -> 7  Inexact Rounded
+sqtx1239 squareroot 5E+2 -> 2E+1  Inexact Rounded
+sqtx1240 squareroot 5E+3 -> 7E+1  Inexact Rounded
+sqtx1241 squareroot 0.6 -> 0.8  Inexact Rounded
+sqtx1242 squareroot 0.06 -> 0.2  Inexact Rounded
+sqtx1243 squareroot 6.0E-1 -> 0.8  Inexact Rounded
+sqtx1244 squareroot 6.00E-2 -> 0.2  Inexact Rounded
+sqtx1245 squareroot 6E-3 -> 0.08  Inexact Rounded
+sqtx1246 squareroot 6E+1 -> 8  Inexact Rounded
+sqtx1247 squareroot 6E+2 -> 2E+1  Inexact Rounded
+sqtx1248 squareroot 6E+3 -> 8E+1  Inexact Rounded
+sqtx1249 squareroot 0.7 -> 0.8  Inexact Rounded
+sqtx1250 squareroot 0.07 -> 0.3  Inexact Rounded
+sqtx1251 squareroot 7.0E-1 -> 0.8  Inexact Rounded
+sqtx1252 squareroot 7.00E-2 -> 0.3  Inexact Rounded
+sqtx1253 squareroot 7E-3 -> 0.08  Inexact Rounded
+sqtx1254 squareroot 7E+1 -> 8  Inexact Rounded
+sqtx1255 squareroot 7E+2 -> 3E+1  Inexact Rounded
+sqtx1256 squareroot 7E+3 -> 8E+1  Inexact Rounded
+sqtx1257 squareroot 0.8 -> 0.9  Inexact Rounded
+sqtx1258 squareroot 0.08 -> 0.3  Inexact Rounded
+sqtx1259 squareroot 8.0E-1 -> 0.9  Inexact Rounded
+sqtx1260 squareroot 8.00E-2 -> 0.3  Inexact Rounded
+sqtx1261 squareroot 8E-3 -> 0.09  Inexact Rounded
+sqtx1262 squareroot 8E+1 -> 9  Inexact Rounded
+sqtx1263 squareroot 8E+2 -> 3E+1  Inexact Rounded
+sqtx1264 squareroot 8E+3 -> 9E+1  Inexact Rounded
+sqtx1265 squareroot 0.9 -> 0.9  Inexact Rounded
+sqtx1266 squareroot 0.09 -> 0.3
+sqtx1267 squareroot 9.0E-1 -> 0.9  Inexact Rounded
+sqtx1268 squareroot 9.00E-2 -> 0.3  Rounded
+sqtx1269 squareroot 9E-3 -> 0.09  Inexact Rounded
+sqtx1270 squareroot 9E+1 -> 9  Inexact Rounded
+sqtx1271 squareroot 9E+2 -> 3E+1
+sqtx1272 squareroot 9E+3 -> 9E+1  Inexact Rounded
+
+-- Precision 2 squareroot tests [exhaustive, plus exponent adjusts]
+rounding:    half_even
+maxExponent: 999
+minexponent: -999
+precision:   2
+sqtx2201 squareroot 0.1 -> 0.32  Inexact Rounded
+sqtx2202 squareroot 0.01 -> 0.1
+sqtx2203 squareroot 1.0E-1 -> 0.32  Inexact Rounded
+sqtx2204 squareroot 1.00E-2 -> 0.10
+sqtx2205 squareroot 1E-3 -> 0.032  Inexact Rounded
+sqtx2206 squareroot 1E+1 -> 3.2  Inexact Rounded
+sqtx2207 squareroot 1E+2 -> 1E+1
+sqtx2208 squareroot 1E+3 -> 32  Inexact Rounded
+sqtx2209 squareroot 0.2 -> 0.45  Inexact Rounded
+sqtx2210 squareroot 0.02 -> 0.14  Inexact Rounded
+sqtx2211 squareroot 2.0E-1 -> 0.45  Inexact Rounded
+sqtx2212 squareroot 2.00E-2 -> 0.14  Inexact Rounded
+sqtx2213 squareroot 2E-3 -> 0.045  Inexact Rounded
+sqtx2214 squareroot 2E+1 -> 4.5  Inexact Rounded
+sqtx2215 squareroot 2E+2 -> 14  Inexact Rounded
+sqtx2216 squareroot 2E+3 -> 45  Inexact Rounded
+sqtx2217 squareroot 0.3 -> 0.55  Inexact Rounded
+sqtx2218 squareroot 0.03 -> 0.17  Inexact Rounded
+sqtx2219 squareroot 3.0E-1 -> 0.55  Inexact Rounded
+sqtx2220 squareroot 3.00E-2 -> 0.17  Inexact Rounded
+sqtx2221 squareroot 3E-3 -> 0.055  Inexact Rounded
+sqtx2222 squareroot 3E+1 -> 5.5  Inexact Rounded
+sqtx2223 squareroot 3E+2 -> 17  Inexact Rounded
+sqtx2224 squareroot 3E+3 -> 55  Inexact Rounded
+sqtx2225 squareroot 0.4 -> 0.63  Inexact Rounded
+sqtx2226 squareroot 0.04 -> 0.2
+sqtx2227 squareroot 4.0E-1 -> 0.63  Inexact Rounded
+sqtx2228 squareroot 4.00E-2 -> 0.20
+sqtx2229 squareroot 4E-3 -> 0.063  Inexact Rounded
+sqtx2230 squareroot 4E+1 -> 6.3  Inexact Rounded
+sqtx2231 squareroot 4E+2 -> 2E+1
+sqtx2232 squareroot 4E+3 -> 63  Inexact Rounded
+sqtx2233 squareroot 0.5 -> 0.71  Inexact Rounded
+sqtx2234 squareroot 0.05 -> 0.22  Inexact Rounded
+sqtx2235 squareroot 5.0E-1 -> 0.71  Inexact Rounded
+sqtx2236 squareroot 5.00E-2 -> 0.22  Inexact Rounded
+sqtx2237 squareroot 5E-3 -> 0.071  Inexact Rounded
+sqtx2238 squareroot 5E+1 -> 7.1  Inexact Rounded
+sqtx2239 squareroot 5E+2 -> 22  Inexact Rounded
+sqtx2240 squareroot 5E+3 -> 71  Inexact Rounded
+sqtx2241 squareroot 0.6 -> 0.77  Inexact Rounded
+sqtx2242 squareroot 0.06 -> 0.24  Inexact Rounded
+sqtx2243 squareroot 6.0E-1 -> 0.77  Inexact Rounded
+sqtx2244 squareroot 6.00E-2 -> 0.24  Inexact Rounded
+sqtx2245 squareroot 6E-3 -> 0.077  Inexact Rounded
+sqtx2246 squareroot 6E+1 -> 7.7  Inexact Rounded
+sqtx2247 squareroot 6E+2 -> 24  Inexact Rounded
+sqtx2248 squareroot 6E+3 -> 77  Inexact Rounded
+sqtx2249 squareroot 0.7 -> 0.84  Inexact Rounded
+sqtx2250 squareroot 0.07 -> 0.26  Inexact Rounded
+sqtx2251 squareroot 7.0E-1 -> 0.84  Inexact Rounded
+sqtx2252 squareroot 7.00E-2 -> 0.26  Inexact Rounded
+sqtx2253 squareroot 7E-3 -> 0.084  Inexact Rounded
+sqtx2254 squareroot 7E+1 -> 8.4  Inexact Rounded
+sqtx2255 squareroot 7E+2 -> 26  Inexact Rounded
+sqtx2256 squareroot 7E+3 -> 84  Inexact Rounded
+sqtx2257 squareroot 0.8 -> 0.89  Inexact Rounded
+sqtx2258 squareroot 0.08 -> 0.28  Inexact Rounded
+sqtx2259 squareroot 8.0E-1 -> 0.89  Inexact Rounded
+sqtx2260 squareroot 8.00E-2 -> 0.28  Inexact Rounded
+sqtx2261 squareroot 8E-3 -> 0.089  Inexact Rounded
+sqtx2262 squareroot 8E+1 -> 8.9  Inexact Rounded
+sqtx2263 squareroot 8E+2 -> 28  Inexact Rounded
+sqtx2264 squareroot 8E+3 -> 89  Inexact Rounded
+sqtx2265 squareroot 0.9 -> 0.95  Inexact Rounded
+sqtx2266 squareroot 0.09 -> 0.3
+sqtx2267 squareroot 9.0E-1 -> 0.95  Inexact Rounded
+sqtx2268 squareroot 9.00E-2 -> 0.30
+sqtx2269 squareroot 9E-3 -> 0.095  Inexact Rounded
+sqtx2270 squareroot 9E+1 -> 9.5  Inexact Rounded
+sqtx2271 squareroot 9E+2 -> 3E+1
+sqtx2272 squareroot 9E+3 -> 95  Inexact Rounded
+sqtx2273 squareroot 0.10 -> 0.32  Inexact Rounded
+sqtx2274 squareroot 0.010 -> 0.10
+sqtx2275 squareroot 10.0E-1 -> 1.0
+sqtx2276 squareroot 10.00E-2 -> 0.32  Inexact Rounded
+sqtx2277 squareroot 10E-3 -> 0.10
+sqtx2278 squareroot 10E+1 -> 10
+sqtx2279 squareroot 10E+2 -> 32  Inexact Rounded
+sqtx2280 squareroot 10E+3 -> 1.0E+2
+sqtx2281 squareroot 0.11 -> 0.33  Inexact Rounded
+sqtx2282 squareroot 0.011 -> 0.10  Inexact Rounded
+sqtx2283 squareroot 11.0E-1 -> 1.0  Inexact Rounded
+sqtx2284 squareroot 11.00E-2 -> 0.33  Inexact Rounded
+sqtx2285 squareroot 11E-3 -> 0.10  Inexact Rounded
+sqtx2286 squareroot 11E+1 -> 10  Inexact Rounded
+sqtx2287 squareroot 11E+2 -> 33  Inexact Rounded
+sqtx2288 squareroot 11E+3 -> 1.0E+2  Inexact Rounded
+sqtx2289 squareroot 0.12 -> 0.35  Inexact Rounded
+sqtx2290 squareroot 0.012 -> 0.11  Inexact Rounded
+sqtx2291 squareroot 12.0E-1 -> 1.1  Inexact Rounded
+sqtx2292 squareroot 12.00E-2 -> 0.35  Inexact Rounded
+sqtx2293 squareroot 12E-3 -> 0.11  Inexact Rounded
+sqtx2294 squareroot 12E+1 -> 11  Inexact Rounded
+sqtx2295 squareroot 12E+2 -> 35  Inexact Rounded
+sqtx2296 squareroot 12E+3 -> 1.1E+2  Inexact Rounded
+sqtx2297 squareroot 0.13 -> 0.36  Inexact Rounded
+sqtx2298 squareroot 0.013 -> 0.11  Inexact Rounded
+sqtx2299 squareroot 13.0E-1 -> 1.1  Inexact Rounded
+sqtx2300 squareroot 13.00E-2 -> 0.36  Inexact Rounded
+sqtx2301 squareroot 13E-3 -> 0.11  Inexact Rounded
+sqtx2302 squareroot 13E+1 -> 11  Inexact Rounded
+sqtx2303 squareroot 13E+2 -> 36  Inexact Rounded
+sqtx2304 squareroot 13E+3 -> 1.1E+2  Inexact Rounded
+sqtx2305 squareroot 0.14 -> 0.37  Inexact Rounded
+sqtx2306 squareroot 0.014 -> 0.12  Inexact Rounded
+sqtx2307 squareroot 14.0E-1 -> 1.2  Inexact Rounded
+sqtx2308 squareroot 14.00E-2 -> 0.37  Inexact Rounded
+sqtx2309 squareroot 14E-3 -> 0.12  Inexact Rounded
+sqtx2310 squareroot 14E+1 -> 12  Inexact Rounded
+sqtx2311 squareroot 14E+2 -> 37  Inexact Rounded
+sqtx2312 squareroot 14E+3 -> 1.2E+2  Inexact Rounded
+sqtx2313 squareroot 0.15 -> 0.39  Inexact Rounded
+sqtx2314 squareroot 0.015 -> 0.12  Inexact Rounded
+sqtx2315 squareroot 15.0E-1 -> 1.2  Inexact Rounded
+sqtx2316 squareroot 15.00E-2 -> 0.39  Inexact Rounded
+sqtx2317 squareroot 15E-3 -> 0.12  Inexact Rounded
+sqtx2318 squareroot 15E+1 -> 12  Inexact Rounded
+sqtx2319 squareroot 15E+2 -> 39  Inexact Rounded
+sqtx2320 squareroot 15E+3 -> 1.2E+2  Inexact Rounded
+sqtx2321 squareroot 0.16 -> 0.4
+sqtx2322 squareroot 0.016 -> 0.13  Inexact Rounded
+sqtx2323 squareroot 16.0E-1 -> 1.3  Inexact Rounded
+sqtx2324 squareroot 16.00E-2 -> 0.40
+sqtx2325 squareroot 16E-3 -> 0.13  Inexact Rounded
+sqtx2326 squareroot 16E+1 -> 13  Inexact Rounded
+sqtx2327 squareroot 16E+2 -> 4E+1
+sqtx2328 squareroot 16E+3 -> 1.3E+2  Inexact Rounded
+sqtx2329 squareroot 0.17 -> 0.41  Inexact Rounded
+sqtx2330 squareroot 0.017 -> 0.13  Inexact Rounded
+sqtx2331 squareroot 17.0E-1 -> 1.3  Inexact Rounded
+sqtx2332 squareroot 17.00E-2 -> 0.41  Inexact Rounded
+sqtx2333 squareroot 17E-3 -> 0.13  Inexact Rounded
+sqtx2334 squareroot 17E+1 -> 13  Inexact Rounded
+sqtx2335 squareroot 17E+2 -> 41  Inexact Rounded
+sqtx2336 squareroot 17E+3 -> 1.3E+2  Inexact Rounded
+sqtx2337 squareroot 0.18 -> 0.42  Inexact Rounded
+sqtx2338 squareroot 0.018 -> 0.13  Inexact Rounded
+sqtx2339 squareroot 18.0E-1 -> 1.3  Inexact Rounded
+sqtx2340 squareroot 18.00E-2 -> 0.42  Inexact Rounded
+sqtx2341 squareroot 18E-3 -> 0.13  Inexact Rounded
+sqtx2342 squareroot 18E+1 -> 13  Inexact Rounded
+sqtx2343 squareroot 18E+2 -> 42  Inexact Rounded
+sqtx2344 squareroot 18E+3 -> 1.3E+2  Inexact Rounded
+sqtx2345 squareroot 0.19 -> 0.44  Inexact Rounded
+sqtx2346 squareroot 0.019 -> 0.14  Inexact Rounded
+sqtx2347 squareroot 19.0E-1 -> 1.4  Inexact Rounded
+sqtx2348 squareroot 19.00E-2 -> 0.44  Inexact Rounded
+sqtx2349 squareroot 19E-3 -> 0.14  Inexact Rounded
+sqtx2350 squareroot 19E+1 -> 14  Inexact Rounded
+sqtx2351 squareroot 19E+2 -> 44  Inexact Rounded
+sqtx2352 squareroot 19E+3 -> 1.4E+2  Inexact Rounded
+sqtx2353 squareroot 0.20 -> 0.45  Inexact Rounded
+sqtx2354 squareroot 0.020 -> 0.14  Inexact Rounded
+sqtx2355 squareroot 20.0E-1 -> 1.4  Inexact Rounded
+sqtx2356 squareroot 20.00E-2 -> 0.45  Inexact Rounded
+sqtx2357 squareroot 20E-3 -> 0.14  Inexact Rounded
+sqtx2358 squareroot 20E+1 -> 14  Inexact Rounded
+sqtx2359 squareroot 20E+2 -> 45  Inexact Rounded
+sqtx2360 squareroot 20E+3 -> 1.4E+2  Inexact Rounded
+sqtx2361 squareroot 0.21 -> 0.46  Inexact Rounded
+sqtx2362 squareroot 0.021 -> 0.14  Inexact Rounded
+sqtx2363 squareroot 21.0E-1 -> 1.4  Inexact Rounded
+sqtx2364 squareroot 21.00E-2 -> 0.46  Inexact Rounded
+sqtx2365 squareroot 21E-3 -> 0.14  Inexact Rounded
+sqtx2366 squareroot 21E+1 -> 14  Inexact Rounded
+sqtx2367 squareroot 21E+2 -> 46  Inexact Rounded
+sqtx2368 squareroot 21E+3 -> 1.4E+2  Inexact Rounded
+sqtx2369 squareroot 0.22 -> 0.47  Inexact Rounded
+sqtx2370 squareroot 0.022 -> 0.15  Inexact Rounded
+sqtx2371 squareroot 22.0E-1 -> 1.5  Inexact Rounded
+sqtx2372 squareroot 22.00E-2 -> 0.47  Inexact Rounded
+sqtx2373 squareroot 22E-3 -> 0.15  Inexact Rounded
+sqtx2374 squareroot 22E+1 -> 15  Inexact Rounded
+sqtx2375 squareroot 22E+2 -> 47  Inexact Rounded
+sqtx2376 squareroot 22E+3 -> 1.5E+2  Inexact Rounded
+sqtx2377 squareroot 0.23 -> 0.48  Inexact Rounded
+sqtx2378 squareroot 0.023 -> 0.15  Inexact Rounded
+sqtx2379 squareroot 23.0E-1 -> 1.5  Inexact Rounded
+sqtx2380 squareroot 23.00E-2 -> 0.48  Inexact Rounded
+sqtx2381 squareroot 23E-3 -> 0.15  Inexact Rounded
+sqtx2382 squareroot 23E+1 -> 15  Inexact Rounded
+sqtx2383 squareroot 23E+2 -> 48  Inexact Rounded
+sqtx2384 squareroot 23E+3 -> 1.5E+2  Inexact Rounded
+sqtx2385 squareroot 0.24 -> 0.49  Inexact Rounded
+sqtx2386 squareroot 0.024 -> 0.15  Inexact Rounded
+sqtx2387 squareroot 24.0E-1 -> 1.5  Inexact Rounded
+sqtx2388 squareroot 24.00E-2 -> 0.49  Inexact Rounded
+sqtx2389 squareroot 24E-3 -> 0.15  Inexact Rounded
+sqtx2390 squareroot 24E+1 -> 15  Inexact Rounded
+sqtx2391 squareroot 24E+2 -> 49  Inexact Rounded
+sqtx2392 squareroot 24E+3 -> 1.5E+2  Inexact Rounded
+sqtx2393 squareroot 0.25 -> 0.5
+sqtx2394 squareroot 0.025 -> 0.16  Inexact Rounded
+sqtx2395 squareroot 25.0E-1 -> 1.6  Inexact Rounded
+sqtx2396 squareroot 25.00E-2 -> 0.50
+sqtx2397 squareroot 25E-3 -> 0.16  Inexact Rounded
+sqtx2398 squareroot 25E+1 -> 16  Inexact Rounded
+sqtx2399 squareroot 25E+2 -> 5E+1
+sqtx2400 squareroot 25E+3 -> 1.6E+2  Inexact Rounded
+sqtx2401 squareroot 0.26 -> 0.51  Inexact Rounded
+sqtx2402 squareroot 0.026 -> 0.16  Inexact Rounded
+sqtx2403 squareroot 26.0E-1 -> 1.6  Inexact Rounded
+sqtx2404 squareroot 26.00E-2 -> 0.51  Inexact Rounded
+sqtx2405 squareroot 26E-3 -> 0.16  Inexact Rounded
+sqtx2406 squareroot 26E+1 -> 16  Inexact Rounded
+sqtx2407 squareroot 26E+2 -> 51  Inexact Rounded
+sqtx2408 squareroot 26E+3 -> 1.6E+2  Inexact Rounded
+sqtx2409 squareroot 0.27 -> 0.52  Inexact Rounded
+sqtx2410 squareroot 0.027 -> 0.16  Inexact Rounded
+sqtx2411 squareroot 27.0E-1 -> 1.6  Inexact Rounded
+sqtx2412 squareroot 27.00E-2 -> 0.52  Inexact Rounded
+sqtx2413 squareroot 27E-3 -> 0.16  Inexact Rounded
+sqtx2414 squareroot 27E+1 -> 16  Inexact Rounded
+sqtx2415 squareroot 27E+2 -> 52  Inexact Rounded
+sqtx2416 squareroot 27E+3 -> 1.6E+2  Inexact Rounded
+sqtx2417 squareroot 0.28 -> 0.53  Inexact Rounded
+sqtx2418 squareroot 0.028 -> 0.17  Inexact Rounded
+sqtx2419 squareroot 28.0E-1 -> 1.7  Inexact Rounded
+sqtx2420 squareroot 28.00E-2 -> 0.53  Inexact Rounded
+sqtx2421 squareroot 28E-3 -> 0.17  Inexact Rounded
+sqtx2422 squareroot 28E+1 -> 17  Inexact Rounded
+sqtx2423 squareroot 28E+2 -> 53  Inexact Rounded
+sqtx2424 squareroot 28E+3 -> 1.7E+2  Inexact Rounded
+sqtx2425 squareroot 0.29 -> 0.54  Inexact Rounded
+sqtx2426 squareroot 0.029 -> 0.17  Inexact Rounded
+sqtx2427 squareroot 29.0E-1 -> 1.7  Inexact Rounded
+sqtx2428 squareroot 29.00E-2 -> 0.54  Inexact Rounded
+sqtx2429 squareroot 29E-3 -> 0.17  Inexact Rounded
+sqtx2430 squareroot 29E+1 -> 17  Inexact Rounded
+sqtx2431 squareroot 29E+2 -> 54  Inexact Rounded
+sqtx2432 squareroot 29E+3 -> 1.7E+2  Inexact Rounded
+sqtx2433 squareroot 0.30 -> 0.55  Inexact Rounded
+sqtx2434 squareroot 0.030 -> 0.17  Inexact Rounded
+sqtx2435 squareroot 30.0E-1 -> 1.7  Inexact Rounded
+sqtx2436 squareroot 30.00E-2 -> 0.55  Inexact Rounded
+sqtx2437 squareroot 30E-3 -> 0.17  Inexact Rounded
+sqtx2438 squareroot 30E+1 -> 17  Inexact Rounded
+sqtx2439 squareroot 30E+2 -> 55  Inexact Rounded
+sqtx2440 squareroot 30E+3 -> 1.7E+2  Inexact Rounded
+sqtx2441 squareroot 0.31 -> 0.56  Inexact Rounded
+sqtx2442 squareroot 0.031 -> 0.18  Inexact Rounded
+sqtx2443 squareroot 31.0E-1 -> 1.8  Inexact Rounded
+sqtx2444 squareroot 31.00E-2 -> 0.56  Inexact Rounded
+sqtx2445 squareroot 31E-3 -> 0.18  Inexact Rounded
+sqtx2446 squareroot 31E+1 -> 18  Inexact Rounded
+sqtx2447 squareroot 31E+2 -> 56  Inexact Rounded
+sqtx2448 squareroot 31E+3 -> 1.8E+2  Inexact Rounded
+sqtx2449 squareroot 0.32 -> 0.57  Inexact Rounded
+sqtx2450 squareroot 0.032 -> 0.18  Inexact Rounded
+sqtx2451 squareroot 32.0E-1 -> 1.8  Inexact Rounded
+sqtx2452 squareroot 32.00E-2 -> 0.57  Inexact Rounded
+sqtx2453 squareroot 32E-3 -> 0.18  Inexact Rounded
+sqtx2454 squareroot 32E+1 -> 18  Inexact Rounded
+sqtx2455 squareroot 32E+2 -> 57  Inexact Rounded
+sqtx2456 squareroot 32E+3 -> 1.8E+2  Inexact Rounded
+sqtx2457 squareroot 0.33 -> 0.57  Inexact Rounded
+sqtx2458 squareroot 0.033 -> 0.18  Inexact Rounded
+sqtx2459 squareroot 33.0E-1 -> 1.8  Inexact Rounded
+sqtx2460 squareroot 33.00E-2 -> 0.57  Inexact Rounded
+sqtx2461 squareroot 33E-3 -> 0.18  Inexact Rounded
+sqtx2462 squareroot 33E+1 -> 18  Inexact Rounded
+sqtx2463 squareroot 33E+2 -> 57  Inexact Rounded
+sqtx2464 squareroot 33E+3 -> 1.8E+2  Inexact Rounded
+sqtx2465 squareroot 0.34 -> 0.58  Inexact Rounded
+sqtx2466 squareroot 0.034 -> 0.18  Inexact Rounded
+sqtx2467 squareroot 34.0E-1 -> 1.8  Inexact Rounded
+sqtx2468 squareroot 34.00E-2 -> 0.58  Inexact Rounded
+sqtx2469 squareroot 34E-3 -> 0.18  Inexact Rounded
+sqtx2470 squareroot 34E+1 -> 18  Inexact Rounded
+sqtx2471 squareroot 34E+2 -> 58  Inexact Rounded
+sqtx2472 squareroot 34E+3 -> 1.8E+2  Inexact Rounded
+sqtx2473 squareroot 0.35 -> 0.59  Inexact Rounded
+sqtx2474 squareroot 0.035 -> 0.19  Inexact Rounded
+sqtx2475 squareroot 35.0E-1 -> 1.9  Inexact Rounded
+sqtx2476 squareroot 35.00E-2 -> 0.59  Inexact Rounded
+sqtx2477 squareroot 35E-3 -> 0.19  Inexact Rounded
+sqtx2478 squareroot 35E+1 -> 19  Inexact Rounded
+sqtx2479 squareroot 35E+2 -> 59  Inexact Rounded
+sqtx2480 squareroot 35E+3 -> 1.9E+2  Inexact Rounded
+sqtx2481 squareroot 0.36 -> 0.6
+sqtx2482 squareroot 0.036 -> 0.19  Inexact Rounded
+sqtx2483 squareroot 36.0E-1 -> 1.9  Inexact Rounded
+sqtx2484 squareroot 36.00E-2 -> 0.60
+sqtx2485 squareroot 36E-3 -> 0.19  Inexact Rounded
+sqtx2486 squareroot 36E+1 -> 19  Inexact Rounded
+sqtx2487 squareroot 36E+2 -> 6E+1
+sqtx2488 squareroot 36E+3 -> 1.9E+2  Inexact Rounded
+sqtx2489 squareroot 0.37 -> 0.61  Inexact Rounded
+sqtx2490 squareroot 0.037 -> 0.19  Inexact Rounded
+sqtx2491 squareroot 37.0E-1 -> 1.9  Inexact Rounded
+sqtx2492 squareroot 37.00E-2 -> 0.61  Inexact Rounded
+sqtx2493 squareroot 37E-3 -> 0.19  Inexact Rounded
+sqtx2494 squareroot 37E+1 -> 19  Inexact Rounded
+sqtx2495 squareroot 37E+2 -> 61  Inexact Rounded
+sqtx2496 squareroot 37E+3 -> 1.9E+2  Inexact Rounded
+sqtx2497 squareroot 0.38 -> 0.62  Inexact Rounded
+sqtx2498 squareroot 0.038 -> 0.19  Inexact Rounded
+sqtx2499 squareroot 38.0E-1 -> 1.9  Inexact Rounded
+sqtx2500 squareroot 38.00E-2 -> 0.62  Inexact Rounded
+sqtx2501 squareroot 38E-3 -> 0.19  Inexact Rounded
+sqtx2502 squareroot 38E+1 -> 19  Inexact Rounded
+sqtx2503 squareroot 38E+2 -> 62  Inexact Rounded
+sqtx2504 squareroot 38E+3 -> 1.9E+2  Inexact Rounded
+sqtx2505 squareroot 0.39 -> 0.62  Inexact Rounded
+sqtx2506 squareroot 0.039 -> 0.20  Inexact Rounded
+sqtx2507 squareroot 39.0E-1 -> 2.0  Inexact Rounded
+sqtx2508 squareroot 39.00E-2 -> 0.62  Inexact Rounded
+sqtx2509 squareroot 39E-3 -> 0.20  Inexact Rounded
+sqtx2510 squareroot 39E+1 -> 20  Inexact Rounded
+sqtx2511 squareroot 39E+2 -> 62  Inexact Rounded
+sqtx2512 squareroot 39E+3 -> 2.0E+2  Inexact Rounded
+sqtx2513 squareroot 0.40 -> 0.63  Inexact Rounded
+sqtx2514 squareroot 0.040 -> 0.20
+sqtx2515 squareroot 40.0E-1 -> 2.0
+sqtx2516 squareroot 40.00E-2 -> 0.63  Inexact Rounded
+sqtx2517 squareroot 40E-3 -> 0.20
+sqtx2518 squareroot 40E+1 -> 20
+sqtx2519 squareroot 40E+2 -> 63  Inexact Rounded
+sqtx2520 squareroot 40E+3 -> 2.0E+2
+sqtx2521 squareroot 0.41 -> 0.64  Inexact Rounded
+sqtx2522 squareroot 0.041 -> 0.20  Inexact Rounded
+sqtx2523 squareroot 41.0E-1 -> 2.0  Inexact Rounded
+sqtx2524 squareroot 41.00E-2 -> 0.64  Inexact Rounded
+sqtx2525 squareroot 41E-3 -> 0.20  Inexact Rounded
+sqtx2526 squareroot 41E+1 -> 20  Inexact Rounded
+sqtx2527 squareroot 41E+2 -> 64  Inexact Rounded
+sqtx2528 squareroot 41E+3 -> 2.0E+2  Inexact Rounded
+sqtx2529 squareroot 0.42 -> 0.65  Inexact Rounded
+sqtx2530 squareroot 0.042 -> 0.20  Inexact Rounded
+sqtx2531 squareroot 42.0E-1 -> 2.0  Inexact Rounded
+sqtx2532 squareroot 42.00E-2 -> 0.65  Inexact Rounded
+sqtx2533 squareroot 42E-3 -> 0.20  Inexact Rounded
+sqtx2534 squareroot 42E+1 -> 20  Inexact Rounded
+sqtx2535 squareroot 42E+2 -> 65  Inexact Rounded
+sqtx2536 squareroot 42E+3 -> 2.0E+2  Inexact Rounded
+sqtx2537 squareroot 0.43 -> 0.66  Inexact Rounded
+sqtx2538 squareroot 0.043 -> 0.21  Inexact Rounded
+sqtx2539 squareroot 43.0E-1 -> 2.1  Inexact Rounded
+sqtx2540 squareroot 43.00E-2 -> 0.66  Inexact Rounded
+sqtx2541 squareroot 43E-3 -> 0.21  Inexact Rounded
+sqtx2542 squareroot 43E+1 -> 21  Inexact Rounded
+sqtx2543 squareroot 43E+2 -> 66  Inexact Rounded
+sqtx2544 squareroot 43E+3 -> 2.1E+2  Inexact Rounded
+sqtx2545 squareroot 0.44 -> 0.66  Inexact Rounded
+sqtx2546 squareroot 0.044 -> 0.21  Inexact Rounded
+sqtx2547 squareroot 44.0E-1 -> 2.1  Inexact Rounded
+sqtx2548 squareroot 44.00E-2 -> 0.66  Inexact Rounded
+sqtx2549 squareroot 44E-3 -> 0.21  Inexact Rounded
+sqtx2550 squareroot 44E+1 -> 21  Inexact Rounded
+sqtx2551 squareroot 44E+2 -> 66  Inexact Rounded
+sqtx2552 squareroot 44E+3 -> 2.1E+2  Inexact Rounded
+sqtx2553 squareroot 0.45 -> 0.67  Inexact Rounded
+sqtx2554 squareroot 0.045 -> 0.21  Inexact Rounded
+sqtx2555 squareroot 45.0E-1 -> 2.1  Inexact Rounded
+sqtx2556 squareroot 45.00E-2 -> 0.67  Inexact Rounded
+sqtx2557 squareroot 45E-3 -> 0.21  Inexact Rounded
+sqtx2558 squareroot 45E+1 -> 21  Inexact Rounded
+sqtx2559 squareroot 45E+2 -> 67  Inexact Rounded
+sqtx2560 squareroot 45E+3 -> 2.1E+2  Inexact Rounded
+sqtx2561 squareroot 0.46 -> 0.68  Inexact Rounded
+sqtx2562 squareroot 0.046 -> 0.21  Inexact Rounded
+sqtx2563 squareroot 46.0E-1 -> 2.1  Inexact Rounded
+sqtx2564 squareroot 46.00E-2 -> 0.68  Inexact Rounded
+sqtx2565 squareroot 46E-3 -> 0.21  Inexact Rounded
+sqtx2566 squareroot 46E+1 -> 21  Inexact Rounded
+sqtx2567 squareroot 46E+2 -> 68  Inexact Rounded
+sqtx2568 squareroot 46E+3 -> 2.1E+2  Inexact Rounded
+sqtx2569 squareroot 0.47 -> 0.69  Inexact Rounded
+sqtx2570 squareroot 0.047 -> 0.22  Inexact Rounded
+sqtx2571 squareroot 47.0E-1 -> 2.2  Inexact Rounded
+sqtx2572 squareroot 47.00E-2 -> 0.69  Inexact Rounded
+sqtx2573 squareroot 47E-3 -> 0.22  Inexact Rounded
+sqtx2574 squareroot 47E+1 -> 22  Inexact Rounded
+sqtx2575 squareroot 47E+2 -> 69  Inexact Rounded
+sqtx2576 squareroot 47E+3 -> 2.2E+2  Inexact Rounded
+sqtx2577 squareroot 0.48 -> 0.69  Inexact Rounded
+sqtx2578 squareroot 0.048 -> 0.22  Inexact Rounded
+sqtx2579 squareroot 48.0E-1 -> 2.2  Inexact Rounded
+sqtx2580 squareroot 48.00E-2 -> 0.69  Inexact Rounded
+sqtx2581 squareroot 48E-3 -> 0.22  Inexact Rounded
+sqtx2582 squareroot 48E+1 -> 22  Inexact Rounded
+sqtx2583 squareroot 48E+2 -> 69  Inexact Rounded
+sqtx2584 squareroot 48E+3 -> 2.2E+2  Inexact Rounded
+sqtx2585 squareroot 0.49 -> 0.7
+sqtx2586 squareroot 0.049 -> 0.22  Inexact Rounded
+sqtx2587 squareroot 49.0E-1 -> 2.2  Inexact Rounded
+sqtx2588 squareroot 49.00E-2 -> 0.70
+sqtx2589 squareroot 49E-3 -> 0.22  Inexact Rounded
+sqtx2590 squareroot 49E+1 -> 22  Inexact Rounded
+sqtx2591 squareroot 49E+2 -> 7E+1
+sqtx2592 squareroot 49E+3 -> 2.2E+2  Inexact Rounded
+sqtx2593 squareroot 0.50 -> 0.71  Inexact Rounded
+sqtx2594 squareroot 0.050 -> 0.22  Inexact Rounded
+sqtx2595 squareroot 50.0E-1 -> 2.2  Inexact Rounded
+sqtx2596 squareroot 50.00E-2 -> 0.71  Inexact Rounded
+sqtx2597 squareroot 50E-3 -> 0.22  Inexact Rounded
+sqtx2598 squareroot 50E+1 -> 22  Inexact Rounded
+sqtx2599 squareroot 50E+2 -> 71  Inexact Rounded
+sqtx2600 squareroot 50E+3 -> 2.2E+2  Inexact Rounded
+sqtx2601 squareroot 0.51 -> 0.71  Inexact Rounded
+sqtx2602 squareroot 0.051 -> 0.23  Inexact Rounded
+sqtx2603 squareroot 51.0E-1 -> 2.3  Inexact Rounded
+sqtx2604 squareroot 51.00E-2 -> 0.71  Inexact Rounded
+sqtx2605 squareroot 51E-3 -> 0.23  Inexact Rounded
+sqtx2606 squareroot 51E+1 -> 23  Inexact Rounded
+sqtx2607 squareroot 51E+2 -> 71  Inexact Rounded
+sqtx2608 squareroot 51E+3 -> 2.3E+2  Inexact Rounded
+sqtx2609 squareroot 0.52 -> 0.72  Inexact Rounded
+sqtx2610 squareroot 0.052 -> 0.23  Inexact Rounded
+sqtx2611 squareroot 52.0E-1 -> 2.3  Inexact Rounded
+sqtx2612 squareroot 52.00E-2 -> 0.72  Inexact Rounded
+sqtx2613 squareroot 52E-3 -> 0.23  Inexact Rounded
+sqtx2614 squareroot 52E+1 -> 23  Inexact Rounded
+sqtx2615 squareroot 52E+2 -> 72  Inexact Rounded
+sqtx2616 squareroot 52E+3 -> 2.3E+2  Inexact Rounded
+sqtx2617 squareroot 0.53 -> 0.73  Inexact Rounded
+sqtx2618 squareroot 0.053 -> 0.23  Inexact Rounded
+sqtx2619 squareroot 53.0E-1 -> 2.3  Inexact Rounded
+sqtx2620 squareroot 53.00E-2 -> 0.73  Inexact Rounded
+sqtx2621 squareroot 53E-3 -> 0.23  Inexact Rounded
+sqtx2622 squareroot 53E+1 -> 23  Inexact Rounded
+sqtx2623 squareroot 53E+2 -> 73  Inexact Rounded
+sqtx2624 squareroot 53E+3 -> 2.3E+2  Inexact Rounded
+sqtx2625 squareroot 0.54 -> 0.73  Inexact Rounded
+sqtx2626 squareroot 0.054 -> 0.23  Inexact Rounded
+sqtx2627 squareroot 54.0E-1 -> 2.3  Inexact Rounded
+sqtx2628 squareroot 54.00E-2 -> 0.73  Inexact Rounded
+sqtx2629 squareroot 54E-3 -> 0.23  Inexact Rounded
+sqtx2630 squareroot 54E+1 -> 23  Inexact Rounded
+sqtx2631 squareroot 54E+2 -> 73  Inexact Rounded
+sqtx2632 squareroot 54E+3 -> 2.3E+2  Inexact Rounded
+sqtx2633 squareroot 0.55 -> 0.74  Inexact Rounded
+sqtx2634 squareroot 0.055 -> 0.23  Inexact Rounded
+sqtx2635 squareroot 55.0E-1 -> 2.3  Inexact Rounded
+sqtx2636 squareroot 55.00E-2 -> 0.74  Inexact Rounded
+sqtx2637 squareroot 55E-3 -> 0.23  Inexact Rounded
+sqtx2638 squareroot 55E+1 -> 23  Inexact Rounded
+sqtx2639 squareroot 55E+2 -> 74  Inexact Rounded
+sqtx2640 squareroot 55E+3 -> 2.3E+2  Inexact Rounded
+sqtx2641 squareroot 0.56 -> 0.75  Inexact Rounded
+sqtx2642 squareroot 0.056 -> 0.24  Inexact Rounded
+sqtx2643 squareroot 56.0E-1 -> 2.4  Inexact Rounded
+sqtx2644 squareroot 56.00E-2 -> 0.75  Inexact Rounded
+sqtx2645 squareroot 56E-3 -> 0.24  Inexact Rounded
+sqtx2646 squareroot 56E+1 -> 24  Inexact Rounded
+sqtx2647 squareroot 56E+2 -> 75  Inexact Rounded
+sqtx2648 squareroot 56E+3 -> 2.4E+2  Inexact Rounded
+sqtx2649 squareroot 0.57 -> 0.75  Inexact Rounded
+sqtx2650 squareroot 0.057 -> 0.24  Inexact Rounded
+sqtx2651 squareroot 57.0E-1 -> 2.4  Inexact Rounded
+sqtx2652 squareroot 57.00E-2 -> 0.75  Inexact Rounded
+sqtx2653 squareroot 57E-3 -> 0.24  Inexact Rounded
+sqtx2654 squareroot 57E+1 -> 24  Inexact Rounded
+sqtx2655 squareroot 57E+2 -> 75  Inexact Rounded
+sqtx2656 squareroot 57E+3 -> 2.4E+2  Inexact Rounded
+sqtx2657 squareroot 0.58 -> 0.76  Inexact Rounded
+sqtx2658 squareroot 0.058 -> 0.24  Inexact Rounded
+sqtx2659 squareroot 58.0E-1 -> 2.4  Inexact Rounded
+sqtx2660 squareroot 58.00E-2 -> 0.76  Inexact Rounded
+sqtx2661 squareroot 58E-3 -> 0.24  Inexact Rounded
+sqtx2662 squareroot 58E+1 -> 24  Inexact Rounded
+sqtx2663 squareroot 58E+2 -> 76  Inexact Rounded
+sqtx2664 squareroot 58E+3 -> 2.4E+2  Inexact Rounded
+sqtx2665 squareroot 0.59 -> 0.77  Inexact Rounded
+sqtx2666 squareroot 0.059 -> 0.24  Inexact Rounded
+sqtx2667 squareroot 59.0E-1 -> 2.4  Inexact Rounded
+sqtx2668 squareroot 59.00E-2 -> 0.77  Inexact Rounded
+sqtx2669 squareroot 59E-3 -> 0.24  Inexact Rounded
+sqtx2670 squareroot 59E+1 -> 24  Inexact Rounded
+sqtx2671 squareroot 59E+2 -> 77  Inexact Rounded
+sqtx2672 squareroot 59E+3 -> 2.4E+2  Inexact Rounded
+sqtx2673 squareroot 0.60 -> 0.77  Inexact Rounded
+sqtx2674 squareroot 0.060 -> 0.24  Inexact Rounded
+sqtx2675 squareroot 60.0E-1 -> 2.4  Inexact Rounded
+sqtx2676 squareroot 60.00E-2 -> 0.77  Inexact Rounded
+sqtx2677 squareroot 60E-3 -> 0.24  Inexact Rounded
+sqtx2678 squareroot 60E+1 -> 24  Inexact Rounded
+sqtx2679 squareroot 60E+2 -> 77  Inexact Rounded
+sqtx2680 squareroot 60E+3 -> 2.4E+2  Inexact Rounded
+sqtx2681 squareroot 0.61 -> 0.78  Inexact Rounded
+sqtx2682 squareroot 0.061 -> 0.25  Inexact Rounded
+sqtx2683 squareroot 61.0E-1 -> 2.5  Inexact Rounded
+sqtx2684 squareroot 61.00E-2 -> 0.78  Inexact Rounded
+sqtx2685 squareroot 61E-3 -> 0.25  Inexact Rounded
+sqtx2686 squareroot 61E+1 -> 25  Inexact Rounded
+sqtx2687 squareroot 61E+2 -> 78  Inexact Rounded
+sqtx2688 squareroot 61E+3 -> 2.5E+2  Inexact Rounded
+sqtx2689 squareroot 0.62 -> 0.79  Inexact Rounded
+sqtx2690 squareroot 0.062 -> 0.25  Inexact Rounded
+sqtx2691 squareroot 62.0E-1 -> 2.5  Inexact Rounded
+sqtx2692 squareroot 62.00E-2 -> 0.79  Inexact Rounded
+sqtx2693 squareroot 62E-3 -> 0.25  Inexact Rounded
+sqtx2694 squareroot 62E+1 -> 25  Inexact Rounded
+sqtx2695 squareroot 62E+2 -> 79  Inexact Rounded
+sqtx2696 squareroot 62E+3 -> 2.5E+2  Inexact Rounded
+sqtx2697 squareroot 0.63 -> 0.79  Inexact Rounded
+sqtx2698 squareroot 0.063 -> 0.25  Inexact Rounded
+sqtx2699 squareroot 63.0E-1 -> 2.5  Inexact Rounded
+sqtx2700 squareroot 63.00E-2 -> 0.79  Inexact Rounded
+sqtx2701 squareroot 63E-3 -> 0.25  Inexact Rounded
+sqtx2702 squareroot 63E+1 -> 25  Inexact Rounded
+sqtx2703 squareroot 63E+2 -> 79  Inexact Rounded
+sqtx2704 squareroot 63E+3 -> 2.5E+2  Inexact Rounded
+sqtx2705 squareroot 0.64 -> 0.8
+sqtx2706 squareroot 0.064 -> 0.25  Inexact Rounded
+sqtx2707 squareroot 64.0E-1 -> 2.5  Inexact Rounded
+sqtx2708 squareroot 64.00E-2 -> 0.80
+sqtx2709 squareroot 64E-3 -> 0.25  Inexact Rounded
+sqtx2710 squareroot 64E+1 -> 25  Inexact Rounded
+sqtx2711 squareroot 64E+2 -> 8E+1
+sqtx2712 squareroot 64E+3 -> 2.5E+2  Inexact Rounded
+sqtx2713 squareroot 0.65 -> 0.81  Inexact Rounded
+sqtx2714 squareroot 0.065 -> 0.25  Inexact Rounded
+sqtx2715 squareroot 65.0E-1 -> 2.5  Inexact Rounded
+sqtx2716 squareroot 65.00E-2 -> 0.81  Inexact Rounded
+sqtx2717 squareroot 65E-3 -> 0.25  Inexact Rounded
+sqtx2718 squareroot 65E+1 -> 25  Inexact Rounded
+sqtx2719 squareroot 65E+2 -> 81  Inexact Rounded
+sqtx2720 squareroot 65E+3 -> 2.5E+2  Inexact Rounded
+sqtx2721 squareroot 0.66 -> 0.81  Inexact Rounded
+sqtx2722 squareroot 0.066 -> 0.26  Inexact Rounded
+sqtx2723 squareroot 66.0E-1 -> 2.6  Inexact Rounded
+sqtx2724 squareroot 66.00E-2 -> 0.81  Inexact Rounded
+sqtx2725 squareroot 66E-3 -> 0.26  Inexact Rounded
+sqtx2726 squareroot 66E+1 -> 26  Inexact Rounded
+sqtx2727 squareroot 66E+2 -> 81  Inexact Rounded
+sqtx2728 squareroot 66E+3 -> 2.6E+2  Inexact Rounded
+sqtx2729 squareroot 0.67 -> 0.82  Inexact Rounded
+sqtx2730 squareroot 0.067 -> 0.26  Inexact Rounded
+sqtx2731 squareroot 67.0E-1 -> 2.6  Inexact Rounded
+sqtx2732 squareroot 67.00E-2 -> 0.82  Inexact Rounded
+sqtx2733 squareroot 67E-3 -> 0.26  Inexact Rounded
+sqtx2734 squareroot 67E+1 -> 26  Inexact Rounded
+sqtx2735 squareroot 67E+2 -> 82  Inexact Rounded
+sqtx2736 squareroot 67E+3 -> 2.6E+2  Inexact Rounded
+sqtx2737 squareroot 0.68 -> 0.82  Inexact Rounded
+sqtx2738 squareroot 0.068 -> 0.26  Inexact Rounded
+sqtx2739 squareroot 68.0E-1 -> 2.6  Inexact Rounded
+sqtx2740 squareroot 68.00E-2 -> 0.82  Inexact Rounded
+sqtx2741 squareroot 68E-3 -> 0.26  Inexact Rounded
+sqtx2742 squareroot 68E+1 -> 26  Inexact Rounded
+sqtx2743 squareroot 68E+2 -> 82  Inexact Rounded
+sqtx2744 squareroot 68E+3 -> 2.6E+2  Inexact Rounded
+sqtx2745 squareroot 0.69 -> 0.83  Inexact Rounded
+sqtx2746 squareroot 0.069 -> 0.26  Inexact Rounded
+sqtx2747 squareroot 69.0E-1 -> 2.6  Inexact Rounded
+sqtx2748 squareroot 69.00E-2 -> 0.83  Inexact Rounded
+sqtx2749 squareroot 69E-3 -> 0.26  Inexact Rounded
+sqtx2750 squareroot 69E+1 -> 26  Inexact Rounded
+sqtx2751 squareroot 69E+2 -> 83  Inexact Rounded
+sqtx2752 squareroot 69E+3 -> 2.6E+2  Inexact Rounded
+sqtx2753 squareroot 0.70 -> 0.84  Inexact Rounded
+sqtx2754 squareroot 0.070 -> 0.26  Inexact Rounded
+sqtx2755 squareroot 70.0E-1 -> 2.6  Inexact Rounded
+sqtx2756 squareroot 70.00E-2 -> 0.84  Inexact Rounded
+sqtx2757 squareroot 70E-3 -> 0.26  Inexact Rounded
+sqtx2758 squareroot 70E+1 -> 26  Inexact Rounded
+sqtx2759 squareroot 70E+2 -> 84  Inexact Rounded
+sqtx2760 squareroot 70E+3 -> 2.6E+2  Inexact Rounded
+sqtx2761 squareroot 0.71 -> 0.84  Inexact Rounded
+sqtx2762 squareroot 0.071 -> 0.27  Inexact Rounded
+sqtx2763 squareroot 71.0E-1 -> 2.7  Inexact Rounded
+sqtx2764 squareroot 71.00E-2 -> 0.84  Inexact Rounded
+sqtx2765 squareroot 71E-3 -> 0.27  Inexact Rounded
+sqtx2766 squareroot 71E+1 -> 27  Inexact Rounded
+sqtx2767 squareroot 71E+2 -> 84  Inexact Rounded
+sqtx2768 squareroot 71E+3 -> 2.7E+2  Inexact Rounded
+sqtx2769 squareroot 0.72 -> 0.85  Inexact Rounded
+sqtx2770 squareroot 0.072 -> 0.27  Inexact Rounded
+sqtx2771 squareroot 72.0E-1 -> 2.7  Inexact Rounded
+sqtx2772 squareroot 72.00E-2 -> 0.85  Inexact Rounded
+sqtx2773 squareroot 72E-3 -> 0.27  Inexact Rounded
+sqtx2774 squareroot 72E+1 -> 27  Inexact Rounded
+sqtx2775 squareroot 72E+2 -> 85  Inexact Rounded
+sqtx2776 squareroot 72E+3 -> 2.7E+2  Inexact Rounded
+sqtx2777 squareroot 0.73 -> 0.85  Inexact Rounded
+sqtx2778 squareroot 0.073 -> 0.27  Inexact Rounded
+sqtx2779 squareroot 73.0E-1 -> 2.7  Inexact Rounded
+sqtx2780 squareroot 73.00E-2 -> 0.85  Inexact Rounded
+sqtx2781 squareroot 73E-3 -> 0.27  Inexact Rounded
+sqtx2782 squareroot 73E+1 -> 27  Inexact Rounded
+sqtx2783 squareroot 73E+2 -> 85  Inexact Rounded
+sqtx2784 squareroot 73E+3 -> 2.7E+2  Inexact Rounded
+sqtx2785 squareroot 0.74 -> 0.86  Inexact Rounded
+sqtx2786 squareroot 0.074 -> 0.27  Inexact Rounded
+sqtx2787 squareroot 74.0E-1 -> 2.7  Inexact Rounded
+sqtx2788 squareroot 74.00E-2 -> 0.86  Inexact Rounded
+sqtx2789 squareroot 74E-3 -> 0.27  Inexact Rounded
+sqtx2790 squareroot 74E+1 -> 27  Inexact Rounded
+sqtx2791 squareroot 74E+2 -> 86  Inexact Rounded
+sqtx2792 squareroot 74E+3 -> 2.7E+2  Inexact Rounded
+sqtx2793 squareroot 0.75 -> 0.87  Inexact Rounded
+sqtx2794 squareroot 0.075 -> 0.27  Inexact Rounded
+sqtx2795 squareroot 75.0E-1 -> 2.7  Inexact Rounded
+sqtx2796 squareroot 75.00E-2 -> 0.87  Inexact Rounded
+sqtx2797 squareroot 75E-3 -> 0.27  Inexact Rounded
+sqtx2798 squareroot 75E+1 -> 27  Inexact Rounded
+sqtx2799 squareroot 75E+2 -> 87  Inexact Rounded
+sqtx2800 squareroot 75E+3 -> 2.7E+2  Inexact Rounded
+sqtx2801 squareroot 0.76 -> 0.87  Inexact Rounded
+sqtx2802 squareroot 0.076 -> 0.28  Inexact Rounded
+sqtx2803 squareroot 76.0E-1 -> 2.8  Inexact Rounded
+sqtx2804 squareroot 76.00E-2 -> 0.87  Inexact Rounded
+sqtx2805 squareroot 76E-3 -> 0.28  Inexact Rounded
+sqtx2806 squareroot 76E+1 -> 28  Inexact Rounded
+sqtx2807 squareroot 76E+2 -> 87  Inexact Rounded
+sqtx2808 squareroot 76E+3 -> 2.8E+2  Inexact Rounded
+sqtx2809 squareroot 0.77 -> 0.88  Inexact Rounded
+sqtx2810 squareroot 0.077 -> 0.28  Inexact Rounded
+sqtx2811 squareroot 77.0E-1 -> 2.8  Inexact Rounded
+sqtx2812 squareroot 77.00E-2 -> 0.88  Inexact Rounded
+sqtx2813 squareroot 77E-3 -> 0.28  Inexact Rounded
+sqtx2814 squareroot 77E+1 -> 28  Inexact Rounded
+sqtx2815 squareroot 77E+2 -> 88  Inexact Rounded
+sqtx2816 squareroot 77E+3 -> 2.8E+2  Inexact Rounded
+sqtx2817 squareroot 0.78 -> 0.88  Inexact Rounded
+sqtx2818 squareroot 0.078 -> 0.28  Inexact Rounded
+sqtx2819 squareroot 78.0E-1 -> 2.8  Inexact Rounded
+sqtx2820 squareroot 78.00E-2 -> 0.88  Inexact Rounded
+sqtx2821 squareroot 78E-3 -> 0.28  Inexact Rounded
+sqtx2822 squareroot 78E+1 -> 28  Inexact Rounded
+sqtx2823 squareroot 78E+2 -> 88  Inexact Rounded
+sqtx2824 squareroot 78E+3 -> 2.8E+2  Inexact Rounded
+sqtx2825 squareroot 0.79 -> 0.89  Inexact Rounded
+sqtx2826 squareroot 0.079 -> 0.28  Inexact Rounded
+sqtx2827 squareroot 79.0E-1 -> 2.8  Inexact Rounded
+sqtx2828 squareroot 79.00E-2 -> 0.89  Inexact Rounded
+sqtx2829 squareroot 79E-3 -> 0.28  Inexact Rounded
+sqtx2830 squareroot 79E+1 -> 28  Inexact Rounded
+sqtx2831 squareroot 79E+2 -> 89  Inexact Rounded
+sqtx2832 squareroot 79E+3 -> 2.8E+2  Inexact Rounded
+sqtx2833 squareroot 0.80 -> 0.89  Inexact Rounded
+sqtx2834 squareroot 0.080 -> 0.28  Inexact Rounded
+sqtx2835 squareroot 80.0E-1 -> 2.8  Inexact Rounded
+sqtx2836 squareroot 80.00E-2 -> 0.89  Inexact Rounded
+sqtx2837 squareroot 80E-3 -> 0.28  Inexact Rounded
+sqtx2838 squareroot 80E+1 -> 28  Inexact Rounded
+sqtx2839 squareroot 80E+2 -> 89  Inexact Rounded
+sqtx2840 squareroot 80E+3 -> 2.8E+2  Inexact Rounded
+sqtx2841 squareroot 0.81 -> 0.9
+sqtx2842 squareroot 0.081 -> 0.28  Inexact Rounded
+sqtx2843 squareroot 81.0E-1 -> 2.8  Inexact Rounded
+sqtx2844 squareroot 81.00E-2 -> 0.90
+sqtx2845 squareroot 81E-3 -> 0.28  Inexact Rounded
+sqtx2846 squareroot 81E+1 -> 28  Inexact Rounded
+sqtx2847 squareroot 81E+2 -> 9E+1
+sqtx2848 squareroot 81E+3 -> 2.8E+2  Inexact Rounded
+sqtx2849 squareroot 0.82 -> 0.91  Inexact Rounded
+sqtx2850 squareroot 0.082 -> 0.29  Inexact Rounded
+sqtx2851 squareroot 82.0E-1 -> 2.9  Inexact Rounded
+sqtx2852 squareroot 82.00E-2 -> 0.91  Inexact Rounded
+sqtx2853 squareroot 82E-3 -> 0.29  Inexact Rounded
+sqtx2854 squareroot 82E+1 -> 29  Inexact Rounded
+sqtx2855 squareroot 82E+2 -> 91  Inexact Rounded
+sqtx2856 squareroot 82E+3 -> 2.9E+2  Inexact Rounded
+sqtx2857 squareroot 0.83 -> 0.91  Inexact Rounded
+sqtx2858 squareroot 0.083 -> 0.29  Inexact Rounded
+sqtx2859 squareroot 83.0E-1 -> 2.9  Inexact Rounded
+sqtx2860 squareroot 83.00E-2 -> 0.91  Inexact Rounded
+sqtx2861 squareroot 83E-3 -> 0.29  Inexact Rounded
+sqtx2862 squareroot 83E+1 -> 29  Inexact Rounded
+sqtx2863 squareroot 83E+2 -> 91  Inexact Rounded
+sqtx2864 squareroot 83E+3 -> 2.9E+2  Inexact Rounded
+sqtx2865 squareroot 0.84 -> 0.92  Inexact Rounded
+sqtx2866 squareroot 0.084 -> 0.29  Inexact Rounded
+sqtx2867 squareroot 84.0E-1 -> 2.9  Inexact Rounded
+sqtx2868 squareroot 84.00E-2 -> 0.92  Inexact Rounded
+sqtx2869 squareroot 84E-3 -> 0.29  Inexact Rounded
+sqtx2870 squareroot 84E+1 -> 29  Inexact Rounded
+sqtx2871 squareroot 84E+2 -> 92  Inexact Rounded
+sqtx2872 squareroot 84E+3 -> 2.9E+2  Inexact Rounded
+sqtx2873 squareroot 0.85 -> 0.92  Inexact Rounded
+sqtx2874 squareroot 0.085 -> 0.29  Inexact Rounded
+sqtx2875 squareroot 85.0E-1 -> 2.9  Inexact Rounded
+sqtx2876 squareroot 85.00E-2 -> 0.92  Inexact Rounded
+sqtx2877 squareroot 85E-3 -> 0.29  Inexact Rounded
+sqtx2878 squareroot 85E+1 -> 29  Inexact Rounded
+sqtx2879 squareroot 85E+2 -> 92  Inexact Rounded
+sqtx2880 squareroot 85E+3 -> 2.9E+2  Inexact Rounded
+sqtx2881 squareroot 0.86 -> 0.93  Inexact Rounded
+sqtx2882 squareroot 0.086 -> 0.29  Inexact Rounded
+sqtx2883 squareroot 86.0E-1 -> 2.9  Inexact Rounded
+sqtx2884 squareroot 86.00E-2 -> 0.93  Inexact Rounded
+sqtx2885 squareroot 86E-3 -> 0.29  Inexact Rounded
+sqtx2886 squareroot 86E+1 -> 29  Inexact Rounded
+sqtx2887 squareroot 86E+2 -> 93  Inexact Rounded
+sqtx2888 squareroot 86E+3 -> 2.9E+2  Inexact Rounded
+sqtx2889 squareroot 0.87 -> 0.93  Inexact Rounded
+sqtx2890 squareroot 0.087 -> 0.29  Inexact Rounded
+sqtx2891 squareroot 87.0E-1 -> 2.9  Inexact Rounded
+sqtx2892 squareroot 87.00E-2 -> 0.93  Inexact Rounded
+sqtx2893 squareroot 87E-3 -> 0.29  Inexact Rounded
+sqtx2894 squareroot 87E+1 -> 29  Inexact Rounded
+sqtx2895 squareroot 87E+2 -> 93  Inexact Rounded
+sqtx2896 squareroot 87E+3 -> 2.9E+2  Inexact Rounded
+sqtx2897 squareroot 0.88 -> 0.94  Inexact Rounded
+sqtx2898 squareroot 0.088 -> 0.30  Inexact Rounded
+sqtx2899 squareroot 88.0E-1 -> 3.0  Inexact Rounded
+sqtx2900 squareroot 88.00E-2 -> 0.94  Inexact Rounded
+sqtx2901 squareroot 88E-3 -> 0.30  Inexact Rounded
+sqtx2902 squareroot 88E+1 -> 30  Inexact Rounded
+sqtx2903 squareroot 88E+2 -> 94  Inexact Rounded
+sqtx2904 squareroot 88E+3 -> 3.0E+2  Inexact Rounded
+sqtx2905 squareroot 0.89 -> 0.94  Inexact Rounded
+sqtx2906 squareroot 0.089 -> 0.30  Inexact Rounded
+sqtx2907 squareroot 89.0E-1 -> 3.0  Inexact Rounded
+sqtx2908 squareroot 89.00E-2 -> 0.94  Inexact Rounded
+sqtx2909 squareroot 89E-3 -> 0.30  Inexact Rounded
+sqtx2910 squareroot 89E+1 -> 30  Inexact Rounded
+sqtx2911 squareroot 89E+2 -> 94  Inexact Rounded
+sqtx2912 squareroot 89E+3 -> 3.0E+2  Inexact Rounded
+sqtx2913 squareroot 0.90 -> 0.95  Inexact Rounded
+sqtx2914 squareroot 0.090 -> 0.30
+sqtx2915 squareroot 90.0E-1 -> 3.0
+sqtx2916 squareroot 90.00E-2 -> 0.95  Inexact Rounded
+sqtx2917 squareroot 90E-3 -> 0.30
+sqtx2918 squareroot 90E+1 -> 30
+sqtx2919 squareroot 90E+2 -> 95  Inexact Rounded
+sqtx2920 squareroot 90E+3 -> 3.0E+2
+sqtx2921 squareroot 0.91 -> 0.95  Inexact Rounded
+sqtx2922 squareroot 0.091 -> 0.30  Inexact Rounded
+sqtx2923 squareroot 91.0E-1 -> 3.0  Inexact Rounded
+sqtx2924 squareroot 91.00E-2 -> 0.95  Inexact Rounded
+sqtx2925 squareroot 91E-3 -> 0.30  Inexact Rounded
+sqtx2926 squareroot 91E+1 -> 30  Inexact Rounded
+sqtx2927 squareroot 91E+2 -> 95  Inexact Rounded
+sqtx2928 squareroot 91E+3 -> 3.0E+2  Inexact Rounded
+sqtx2929 squareroot 0.92 -> 0.96  Inexact Rounded
+sqtx2930 squareroot 0.092 -> 0.30  Inexact Rounded
+sqtx2931 squareroot 92.0E-1 -> 3.0  Inexact Rounded
+sqtx2932 squareroot 92.00E-2 -> 0.96  Inexact Rounded
+sqtx2933 squareroot 92E-3 -> 0.30  Inexact Rounded
+sqtx2934 squareroot 92E+1 -> 30  Inexact Rounded
+sqtx2935 squareroot 92E+2 -> 96  Inexact Rounded
+sqtx2936 squareroot 92E+3 -> 3.0E+2  Inexact Rounded
+sqtx2937 squareroot 0.93 -> 0.96  Inexact Rounded
+sqtx2938 squareroot 0.093 -> 0.30  Inexact Rounded
+sqtx2939 squareroot 93.0E-1 -> 3.0  Inexact Rounded
+sqtx2940 squareroot 93.00E-2 -> 0.96  Inexact Rounded
+sqtx2941 squareroot 93E-3 -> 0.30  Inexact Rounded
+sqtx2942 squareroot 93E+1 -> 30  Inexact Rounded
+sqtx2943 squareroot 93E+2 -> 96  Inexact Rounded
+sqtx2944 squareroot 93E+3 -> 3.0E+2  Inexact Rounded
+sqtx2945 squareroot 0.94 -> 0.97  Inexact Rounded
+sqtx2946 squareroot 0.094 -> 0.31  Inexact Rounded
+sqtx2947 squareroot 94.0E-1 -> 3.1  Inexact Rounded
+sqtx2948 squareroot 94.00E-2 -> 0.97  Inexact Rounded
+sqtx2949 squareroot 94E-3 -> 0.31  Inexact Rounded
+sqtx2950 squareroot 94E+1 -> 31  Inexact Rounded
+sqtx2951 squareroot 94E+2 -> 97  Inexact Rounded
+sqtx2952 squareroot 94E+3 -> 3.1E+2  Inexact Rounded
+sqtx2953 squareroot 0.95 -> 0.97  Inexact Rounded
+sqtx2954 squareroot 0.095 -> 0.31  Inexact Rounded
+sqtx2955 squareroot 95.0E-1 -> 3.1  Inexact Rounded
+sqtx2956 squareroot 95.00E-2 -> 0.97  Inexact Rounded
+sqtx2957 squareroot 95E-3 -> 0.31  Inexact Rounded
+sqtx2958 squareroot 95E+1 -> 31  Inexact Rounded
+sqtx2959 squareroot 95E+2 -> 97  Inexact Rounded
+sqtx2960 squareroot 95E+3 -> 3.1E+2  Inexact Rounded
+sqtx2961 squareroot 0.96 -> 0.98  Inexact Rounded
+sqtx2962 squareroot 0.096 -> 0.31  Inexact Rounded
+sqtx2963 squareroot 96.0E-1 -> 3.1  Inexact Rounded
+sqtx2964 squareroot 96.00E-2 -> 0.98  Inexact Rounded
+sqtx2965 squareroot 96E-3 -> 0.31  Inexact Rounded
+sqtx2966 squareroot 96E+1 -> 31  Inexact Rounded
+sqtx2967 squareroot 96E+2 -> 98  Inexact Rounded
+sqtx2968 squareroot 96E+3 -> 3.1E+2  Inexact Rounded
+sqtx2969 squareroot 0.97 -> 0.98  Inexact Rounded
+sqtx2970 squareroot 0.097 -> 0.31  Inexact Rounded
+sqtx2971 squareroot 97.0E-1 -> 3.1  Inexact Rounded
+sqtx2972 squareroot 97.00E-2 -> 0.98  Inexact Rounded
+sqtx2973 squareroot 97E-3 -> 0.31  Inexact Rounded
+sqtx2974 squareroot 97E+1 -> 31  Inexact Rounded
+sqtx2975 squareroot 97E+2 -> 98  Inexact Rounded
+sqtx2976 squareroot 97E+3 -> 3.1E+2  Inexact Rounded
+sqtx2977 squareroot 0.98 -> 0.99  Inexact Rounded
+sqtx2978 squareroot 0.098 -> 0.31  Inexact Rounded
+sqtx2979 squareroot 98.0E-1 -> 3.1  Inexact Rounded
+sqtx2980 squareroot 98.00E-2 -> 0.99  Inexact Rounded
+sqtx2981 squareroot 98E-3 -> 0.31  Inexact Rounded
+sqtx2982 squareroot 98E+1 -> 31  Inexact Rounded
+sqtx2983 squareroot 98E+2 -> 99  Inexact Rounded
+sqtx2984 squareroot 98E+3 -> 3.1E+2  Inexact Rounded
+sqtx2985 squareroot 0.99 -> 0.99  Inexact Rounded
+sqtx2986 squareroot 0.099 -> 0.31  Inexact Rounded
+sqtx2987 squareroot 99.0E-1 -> 3.1  Inexact Rounded
+sqtx2988 squareroot 99.00E-2 -> 0.99  Inexact Rounded
+sqtx2989 squareroot 99E-3 -> 0.31  Inexact Rounded
+sqtx2990 squareroot 99E+1 -> 31  Inexact Rounded
+sqtx2991 squareroot 99E+2 -> 99  Inexact Rounded
+sqtx2992 squareroot 99E+3 -> 3.1E+2  Inexact Rounded
+
+-- Precision 3 squareroot tests [exhaustive, f and f/10]
+rounding:    half_even
+maxExponent: 999
+minexponent: -999
+precision:   3
+sqtx3001 squareroot 0.1 -> 0.316  Inexact Rounded
+sqtx3002 squareroot 0.01 -> 0.1
+sqtx3003 squareroot 0.2 -> 0.447  Inexact Rounded
+sqtx3004 squareroot 0.02 -> 0.141  Inexact Rounded
+sqtx3005 squareroot 0.3 -> 0.548  Inexact Rounded
+sqtx3006 squareroot 0.03 -> 0.173  Inexact Rounded
+sqtx3007 squareroot 0.4 -> 0.632  Inexact Rounded
+sqtx3008 squareroot 0.04 -> 0.2
+sqtx3009 squareroot 0.5 -> 0.707  Inexact Rounded
+sqtx3010 squareroot 0.05 -> 0.224  Inexact Rounded
+sqtx3011 squareroot 0.6 -> 0.775  Inexact Rounded
+sqtx3012 squareroot 0.06 -> 0.245  Inexact Rounded
+sqtx3013 squareroot 0.7 -> 0.837  Inexact Rounded
+sqtx3014 squareroot 0.07 -> 0.265  Inexact Rounded
+sqtx3015 squareroot 0.8 -> 0.894  Inexact Rounded
+sqtx3016 squareroot 0.08 -> 0.283  Inexact Rounded
+sqtx3017 squareroot 0.9 -> 0.949  Inexact Rounded
+sqtx3018 squareroot 0.09 -> 0.3
+sqtx3019 squareroot 0.11 -> 0.332  Inexact Rounded
+sqtx3020 squareroot 0.011 -> 0.105  Inexact Rounded
+sqtx3021 squareroot 0.12 -> 0.346  Inexact Rounded
+sqtx3022 squareroot 0.012 -> 0.110  Inexact Rounded
+sqtx3023 squareroot 0.13 -> 0.361  Inexact Rounded
+sqtx3024 squareroot 0.013 -> 0.114  Inexact Rounded
+sqtx3025 squareroot 0.14 -> 0.374  Inexact Rounded
+sqtx3026 squareroot 0.014 -> 0.118  Inexact Rounded
+sqtx3027 squareroot 0.15 -> 0.387  Inexact Rounded
+sqtx3028 squareroot 0.015 -> 0.122  Inexact Rounded
+sqtx3029 squareroot 0.16 -> 0.4
+sqtx3030 squareroot 0.016 -> 0.126  Inexact Rounded
+sqtx3031 squareroot 0.17 -> 0.412  Inexact Rounded
+sqtx3032 squareroot 0.017 -> 0.130  Inexact Rounded
+sqtx3033 squareroot 0.18 -> 0.424  Inexact Rounded
+sqtx3034 squareroot 0.018 -> 0.134  Inexact Rounded
+sqtx3035 squareroot 0.19 -> 0.436  Inexact Rounded
+sqtx3036 squareroot 0.019 -> 0.138  Inexact Rounded
+sqtx3037 squareroot 0.21 -> 0.458  Inexact Rounded
+sqtx3038 squareroot 0.021 -> 0.145  Inexact Rounded
+sqtx3039 squareroot 0.22 -> 0.469  Inexact Rounded
+sqtx3040 squareroot 0.022 -> 0.148  Inexact Rounded
+sqtx3041 squareroot 0.23 -> 0.480  Inexact Rounded
+sqtx3042 squareroot 0.023 -> 0.152  Inexact Rounded
+sqtx3043 squareroot 0.24 -> 0.490  Inexact Rounded
+sqtx3044 squareroot 0.024 -> 0.155  Inexact Rounded
+sqtx3045 squareroot 0.25 -> 0.5
+sqtx3046 squareroot 0.025 -> 0.158  Inexact Rounded
+sqtx3047 squareroot 0.26 -> 0.510  Inexact Rounded
+sqtx3048 squareroot 0.026 -> 0.161  Inexact Rounded
+sqtx3049 squareroot 0.27 -> 0.520  Inexact Rounded
+sqtx3050 squareroot 0.027 -> 0.164  Inexact Rounded
+sqtx3051 squareroot 0.28 -> 0.529  Inexact Rounded
+sqtx3052 squareroot 0.028 -> 0.167  Inexact Rounded
+sqtx3053 squareroot 0.29 -> 0.539  Inexact Rounded
+sqtx3054 squareroot 0.029 -> 0.170  Inexact Rounded
+sqtx3055 squareroot 0.31 -> 0.557  Inexact Rounded
+sqtx3056 squareroot 0.031 -> 0.176  Inexact Rounded
+sqtx3057 squareroot 0.32 -> 0.566  Inexact Rounded
+sqtx3058 squareroot 0.032 -> 0.179  Inexact Rounded
+sqtx3059 squareroot 0.33 -> 0.574  Inexact Rounded
+sqtx3060 squareroot 0.033 -> 0.182  Inexact Rounded
+sqtx3061 squareroot 0.34 -> 0.583  Inexact Rounded
+sqtx3062 squareroot 0.034 -> 0.184  Inexact Rounded
+sqtx3063 squareroot 0.35 -> 0.592  Inexact Rounded
+sqtx3064 squareroot 0.035 -> 0.187  Inexact Rounded
+sqtx3065 squareroot 0.36 -> 0.6
+sqtx3066 squareroot 0.036 -> 0.190  Inexact Rounded
+sqtx3067 squareroot 0.37 -> 0.608  Inexact Rounded
+sqtx3068 squareroot 0.037 -> 0.192  Inexact Rounded
+sqtx3069 squareroot 0.38 -> 0.616  Inexact Rounded
+sqtx3070 squareroot 0.038 -> 0.195  Inexact Rounded
+sqtx3071 squareroot 0.39 -> 0.624  Inexact Rounded
+sqtx3072 squareroot 0.039 -> 0.197  Inexact Rounded
+sqtx3073 squareroot 0.41 -> 0.640  Inexact Rounded
+sqtx3074 squareroot 0.041 -> 0.202  Inexact Rounded
+sqtx3075 squareroot 0.42 -> 0.648  Inexact Rounded
+sqtx3076 squareroot 0.042 -> 0.205  Inexact Rounded
+sqtx3077 squareroot 0.43 -> 0.656  Inexact Rounded
+sqtx3078 squareroot 0.043 -> 0.207  Inexact Rounded
+sqtx3079 squareroot 0.44 -> 0.663  Inexact Rounded
+sqtx3080 squareroot 0.044 -> 0.210  Inexact Rounded
+sqtx3081 squareroot 0.45 -> 0.671  Inexact Rounded
+sqtx3082 squareroot 0.045 -> 0.212  Inexact Rounded
+sqtx3083 squareroot 0.46 -> 0.678  Inexact Rounded
+sqtx3084 squareroot 0.046 -> 0.214  Inexact Rounded
+sqtx3085 squareroot 0.47 -> 0.686  Inexact Rounded
+sqtx3086 squareroot 0.047 -> 0.217  Inexact Rounded
+sqtx3087 squareroot 0.48 -> 0.693  Inexact Rounded
+sqtx3088 squareroot 0.048 -> 0.219  Inexact Rounded
+sqtx3089 squareroot 0.49 -> 0.7
+sqtx3090 squareroot 0.049 -> 0.221  Inexact Rounded
+sqtx3091 squareroot 0.51 -> 0.714  Inexact Rounded
+sqtx3092 squareroot 0.051 -> 0.226  Inexact Rounded
+sqtx3093 squareroot 0.52 -> 0.721  Inexact Rounded
+sqtx3094 squareroot 0.052 -> 0.228  Inexact Rounded
+sqtx3095 squareroot 0.53 -> 0.728  Inexact Rounded
+sqtx3096 squareroot 0.053 -> 0.230  Inexact Rounded
+sqtx3097 squareroot 0.54 -> 0.735  Inexact Rounded
+sqtx3098 squareroot 0.054 -> 0.232  Inexact Rounded
+sqtx3099 squareroot 0.55 -> 0.742  Inexact Rounded
+sqtx3100 squareroot 0.055 -> 0.235  Inexact Rounded
+sqtx3101 squareroot 0.56 -> 0.748  Inexact Rounded
+sqtx3102 squareroot 0.056 -> 0.237  Inexact Rounded
+sqtx3103 squareroot 0.57 -> 0.755  Inexact Rounded
+sqtx3104 squareroot 0.057 -> 0.239  Inexact Rounded
+sqtx3105 squareroot 0.58 -> 0.762  Inexact Rounded
+sqtx3106 squareroot 0.058 -> 0.241  Inexact Rounded
+sqtx3107 squareroot 0.59 -> 0.768  Inexact Rounded
+sqtx3108 squareroot 0.059 -> 0.243  Inexact Rounded
+sqtx3109 squareroot 0.61 -> 0.781  Inexact Rounded
+sqtx3110 squareroot 0.061 -> 0.247  Inexact Rounded
+sqtx3111 squareroot 0.62 -> 0.787  Inexact Rounded
+sqtx3112 squareroot 0.062 -> 0.249  Inexact Rounded
+sqtx3113 squareroot 0.63 -> 0.794  Inexact Rounded
+sqtx3114 squareroot 0.063 -> 0.251  Inexact Rounded
+sqtx3115 squareroot 0.64 -> 0.8
+sqtx3116 squareroot 0.064 -> 0.253  Inexact Rounded
+sqtx3117 squareroot 0.65 -> 0.806  Inexact Rounded
+sqtx3118 squareroot 0.065 -> 0.255  Inexact Rounded
+sqtx3119 squareroot 0.66 -> 0.812  Inexact Rounded
+sqtx3120 squareroot 0.066 -> 0.257  Inexact Rounded
+sqtx3121 squareroot 0.67 -> 0.819  Inexact Rounded
+sqtx3122 squareroot 0.067 -> 0.259  Inexact Rounded
+sqtx3123 squareroot 0.68 -> 0.825  Inexact Rounded
+sqtx3124 squareroot 0.068 -> 0.261  Inexact Rounded
+sqtx3125 squareroot 0.69 -> 0.831  Inexact Rounded
+sqtx3126 squareroot 0.069 -> 0.263  Inexact Rounded
+sqtx3127 squareroot 0.71 -> 0.843  Inexact Rounded
+sqtx3128 squareroot 0.071 -> 0.266  Inexact Rounded
+sqtx3129 squareroot 0.72 -> 0.849  Inexact Rounded
+sqtx3130 squareroot 0.072 -> 0.268  Inexact Rounded
+sqtx3131 squareroot 0.73 -> 0.854  Inexact Rounded
+sqtx3132 squareroot 0.073 -> 0.270  Inexact Rounded
+sqtx3133 squareroot 0.74 -> 0.860  Inexact Rounded
+sqtx3134 squareroot 0.074 -> 0.272  Inexact Rounded
+sqtx3135 squareroot 0.75 -> 0.866  Inexact Rounded
+sqtx3136 squareroot 0.075 -> 0.274  Inexact Rounded
+sqtx3137 squareroot 0.76 -> 0.872  Inexact Rounded
+sqtx3138 squareroot 0.076 -> 0.276  Inexact Rounded
+sqtx3139 squareroot 0.77 -> 0.877  Inexact Rounded
+sqtx3140 squareroot 0.077 -> 0.277  Inexact Rounded
+sqtx3141 squareroot 0.78 -> 0.883  Inexact Rounded
+sqtx3142 squareroot 0.078 -> 0.279  Inexact Rounded
+sqtx3143 squareroot 0.79 -> 0.889  Inexact Rounded
+sqtx3144 squareroot 0.079 -> 0.281  Inexact Rounded
+sqtx3145 squareroot 0.81 -> 0.9
+sqtx3146 squareroot 0.081 -> 0.285  Inexact Rounded
+sqtx3147 squareroot 0.82 -> 0.906  Inexact Rounded
+sqtx3148 squareroot 0.082 -> 0.286  Inexact Rounded
+sqtx3149 squareroot 0.83 -> 0.911  Inexact Rounded
+sqtx3150 squareroot 0.083 -> 0.288  Inexact Rounded
+sqtx3151 squareroot 0.84 -> 0.917  Inexact Rounded
+sqtx3152 squareroot 0.084 -> 0.290  Inexact Rounded
+sqtx3153 squareroot 0.85 -> 0.922  Inexact Rounded
+sqtx3154 squareroot 0.085 -> 0.292  Inexact Rounded
+sqtx3155 squareroot 0.86 -> 0.927  Inexact Rounded
+sqtx3156 squareroot 0.086 -> 0.293  Inexact Rounded
+sqtx3157 squareroot 0.87 -> 0.933  Inexact Rounded
+sqtx3158 squareroot 0.087 -> 0.295  Inexact Rounded
+sqtx3159 squareroot 0.88 -> 0.938  Inexact Rounded
+sqtx3160 squareroot 0.088 -> 0.297  Inexact Rounded
+sqtx3161 squareroot 0.89 -> 0.943  Inexact Rounded
+sqtx3162 squareroot 0.089 -> 0.298  Inexact Rounded
+sqtx3163 squareroot 0.91 -> 0.954  Inexact Rounded
+sqtx3164 squareroot 0.091 -> 0.302  Inexact Rounded
+sqtx3165 squareroot 0.92 -> 0.959  Inexact Rounded
+sqtx3166 squareroot 0.092 -> 0.303  Inexact Rounded
+sqtx3167 squareroot 0.93 -> 0.964  Inexact Rounded
+sqtx3168 squareroot 0.093 -> 0.305  Inexact Rounded
+sqtx3169 squareroot 0.94 -> 0.970  Inexact Rounded
+sqtx3170 squareroot 0.094 -> 0.307  Inexact Rounded
+sqtx3171 squareroot 0.95 -> 0.975  Inexact Rounded
+sqtx3172 squareroot 0.095 -> 0.308  Inexact Rounded
+sqtx3173 squareroot 0.96 -> 0.980  Inexact Rounded
+sqtx3174 squareroot 0.096 -> 0.310  Inexact Rounded
+sqtx3175 squareroot 0.97 -> 0.985  Inexact Rounded
+sqtx3176 squareroot 0.097 -> 0.311  Inexact Rounded
+sqtx3177 squareroot 0.98 -> 0.990  Inexact Rounded
+sqtx3178 squareroot 0.098 -> 0.313  Inexact Rounded
+sqtx3179 squareroot 0.99 -> 0.995  Inexact Rounded
+sqtx3180 squareroot 0.099 -> 0.315  Inexact Rounded
+sqtx3181 squareroot 0.101 -> 0.318  Inexact Rounded
+sqtx3182 squareroot 0.0101 -> 0.100  Inexact Rounded
+sqtx3183 squareroot 0.102 -> 0.319  Inexact Rounded
+sqtx3184 squareroot 0.0102 -> 0.101  Inexact Rounded
+sqtx3185 squareroot 0.103 -> 0.321  Inexact Rounded
+sqtx3186 squareroot 0.0103 -> 0.101  Inexact Rounded
+sqtx3187 squareroot 0.104 -> 0.322  Inexact Rounded
+sqtx3188 squareroot 0.0104 -> 0.102  Inexact Rounded
+sqtx3189 squareroot 0.105 -> 0.324  Inexact Rounded
+sqtx3190 squareroot 0.0105 -> 0.102  Inexact Rounded
+sqtx3191 squareroot 0.106 -> 0.326  Inexact Rounded
+sqtx3192 squareroot 0.0106 -> 0.103  Inexact Rounded
+sqtx3193 squareroot 0.107 -> 0.327  Inexact Rounded
+sqtx3194 squareroot 0.0107 -> 0.103  Inexact Rounded
+sqtx3195 squareroot 0.108 -> 0.329  Inexact Rounded
+sqtx3196 squareroot 0.0108 -> 0.104  Inexact Rounded
+sqtx3197 squareroot 0.109 -> 0.330  Inexact Rounded
+sqtx3198 squareroot 0.0109 -> 0.104  Inexact Rounded
+sqtx3199 squareroot 0.111 -> 0.333  Inexact Rounded
+sqtx3200 squareroot 0.0111 -> 0.105  Inexact Rounded
+sqtx3201 squareroot 0.112 -> 0.335  Inexact Rounded
+sqtx3202 squareroot 0.0112 -> 0.106  Inexact Rounded
+sqtx3203 squareroot 0.113 -> 0.336  Inexact Rounded
+sqtx3204 squareroot 0.0113 -> 0.106  Inexact Rounded
+sqtx3205 squareroot 0.114 -> 0.338  Inexact Rounded
+sqtx3206 squareroot 0.0114 -> 0.107  Inexact Rounded
+sqtx3207 squareroot 0.115 -> 0.339  Inexact Rounded
+sqtx3208 squareroot 0.0115 -> 0.107  Inexact Rounded
+sqtx3209 squareroot 0.116 -> 0.341  Inexact Rounded
+sqtx3210 squareroot 0.0116 -> 0.108  Inexact Rounded
+sqtx3211 squareroot 0.117 -> 0.342  Inexact Rounded
+sqtx3212 squareroot 0.0117 -> 0.108  Inexact Rounded
+sqtx3213 squareroot 0.118 -> 0.344  Inexact Rounded
+sqtx3214 squareroot 0.0118 -> 0.109  Inexact Rounded
+sqtx3215 squareroot 0.119 -> 0.345  Inexact Rounded
+sqtx3216 squareroot 0.0119 -> 0.109  Inexact Rounded
+sqtx3217 squareroot 0.121 -> 0.348  Inexact Rounded
+sqtx3218 squareroot 0.0121 -> 0.11
+sqtx3219 squareroot 0.122 -> 0.349  Inexact Rounded
+sqtx3220 squareroot 0.0122 -> 0.110  Inexact Rounded
+sqtx3221 squareroot 0.123 -> 0.351  Inexact Rounded
+sqtx3222 squareroot 0.0123 -> 0.111  Inexact Rounded
+sqtx3223 squareroot 0.124 -> 0.352  Inexact Rounded
+sqtx3224 squareroot 0.0124 -> 0.111  Inexact Rounded
+sqtx3225 squareroot 0.125 -> 0.354  Inexact Rounded
+sqtx3226 squareroot 0.0125 -> 0.112  Inexact Rounded
+sqtx3227 squareroot 0.126 -> 0.355  Inexact Rounded
+sqtx3228 squareroot 0.0126 -> 0.112  Inexact Rounded
+sqtx3229 squareroot 0.127 -> 0.356  Inexact Rounded
+sqtx3230 squareroot 0.0127 -> 0.113  Inexact Rounded
+sqtx3231 squareroot 0.128 -> 0.358  Inexact Rounded
+sqtx3232 squareroot 0.0128 -> 0.113  Inexact Rounded
+sqtx3233 squareroot 0.129 -> 0.359  Inexact Rounded
+sqtx3234 squareroot 0.0129 -> 0.114  Inexact Rounded
+sqtx3235 squareroot 0.131 -> 0.362  Inexact Rounded
+sqtx3236 squareroot 0.0131 -> 0.114  Inexact Rounded
+sqtx3237 squareroot 0.132 -> 0.363  Inexact Rounded
+sqtx3238 squareroot 0.0132 -> 0.115  Inexact Rounded
+sqtx3239 squareroot 0.133 -> 0.365  Inexact Rounded
+sqtx3240 squareroot 0.0133 -> 0.115  Inexact Rounded
+sqtx3241 squareroot 0.134 -> 0.366  Inexact Rounded
+sqtx3242 squareroot 0.0134 -> 0.116  Inexact Rounded
+sqtx3243 squareroot 0.135 -> 0.367  Inexact Rounded
+sqtx3244 squareroot 0.0135 -> 0.116  Inexact Rounded
+sqtx3245 squareroot 0.136 -> 0.369  Inexact Rounded
+sqtx3246 squareroot 0.0136 -> 0.117  Inexact Rounded
+sqtx3247 squareroot 0.137 -> 0.370  Inexact Rounded
+sqtx3248 squareroot 0.0137 -> 0.117  Inexact Rounded
+sqtx3249 squareroot 0.138 -> 0.371  Inexact Rounded
+sqtx3250 squareroot 0.0138 -> 0.117  Inexact Rounded
+sqtx3251 squareroot 0.139 -> 0.373  Inexact Rounded
+sqtx3252 squareroot 0.0139 -> 0.118  Inexact Rounded
+sqtx3253 squareroot 0.141 -> 0.375  Inexact Rounded
+sqtx3254 squareroot 0.0141 -> 0.119  Inexact Rounded
+sqtx3255 squareroot 0.142 -> 0.377  Inexact Rounded
+sqtx3256 squareroot 0.0142 -> 0.119  Inexact Rounded
+sqtx3257 squareroot 0.143 -> 0.378  Inexact Rounded
+sqtx3258 squareroot 0.0143 -> 0.120  Inexact Rounded
+sqtx3259 squareroot 0.144 -> 0.379  Inexact Rounded
+sqtx3260 squareroot 0.0144 -> 0.12
+sqtx3261 squareroot 0.145 -> 0.381  Inexact Rounded
+sqtx3262 squareroot 0.0145 -> 0.120  Inexact Rounded
+sqtx3263 squareroot 0.146 -> 0.382  Inexact Rounded
+sqtx3264 squareroot 0.0146 -> 0.121  Inexact Rounded
+sqtx3265 squareroot 0.147 -> 0.383  Inexact Rounded
+sqtx3266 squareroot 0.0147 -> 0.121  Inexact Rounded
+sqtx3267 squareroot 0.148 -> 0.385  Inexact Rounded
+sqtx3268 squareroot 0.0148 -> 0.122  Inexact Rounded
+sqtx3269 squareroot 0.149 -> 0.386  Inexact Rounded
+sqtx3270 squareroot 0.0149 -> 0.122  Inexact Rounded
+sqtx3271 squareroot 0.151 -> 0.389  Inexact Rounded
+sqtx3272 squareroot 0.0151 -> 0.123  Inexact Rounded
+sqtx3273 squareroot 0.152 -> 0.390  Inexact Rounded
+sqtx3274 squareroot 0.0152 -> 0.123  Inexact Rounded
+sqtx3275 squareroot 0.153 -> 0.391  Inexact Rounded
+sqtx3276 squareroot 0.0153 -> 0.124  Inexact Rounded
+sqtx3277 squareroot 0.154 -> 0.392  Inexact Rounded
+sqtx3278 squareroot 0.0154 -> 0.124  Inexact Rounded
+sqtx3279 squareroot 0.155 -> 0.394  Inexact Rounded
+sqtx3280 squareroot 0.0155 -> 0.124  Inexact Rounded
+sqtx3281 squareroot 0.156 -> 0.395  Inexact Rounded
+sqtx3282 squareroot 0.0156 -> 0.125  Inexact Rounded
+sqtx3283 squareroot 0.157 -> 0.396  Inexact Rounded
+sqtx3284 squareroot 0.0157 -> 0.125  Inexact Rounded
+sqtx3285 squareroot 0.158 -> 0.397  Inexact Rounded
+sqtx3286 squareroot 0.0158 -> 0.126  Inexact Rounded
+sqtx3287 squareroot 0.159 -> 0.399  Inexact Rounded
+sqtx3288 squareroot 0.0159 -> 0.126  Inexact Rounded
+sqtx3289 squareroot 0.161 -> 0.401  Inexact Rounded
+sqtx3290 squareroot 0.0161 -> 0.127  Inexact Rounded
+sqtx3291 squareroot 0.162 -> 0.402  Inexact Rounded
+sqtx3292 squareroot 0.0162 -> 0.127  Inexact Rounded
+sqtx3293 squareroot 0.163 -> 0.404  Inexact Rounded
+sqtx3294 squareroot 0.0163 -> 0.128  Inexact Rounded
+sqtx3295 squareroot 0.164 -> 0.405  Inexact Rounded
+sqtx3296 squareroot 0.0164 -> 0.128  Inexact Rounded
+sqtx3297 squareroot 0.165 -> 0.406  Inexact Rounded
+sqtx3298 squareroot 0.0165 -> 0.128  Inexact Rounded
+sqtx3299 squareroot 0.166 -> 0.407  Inexact Rounded
+sqtx3300 squareroot 0.0166 -> 0.129  Inexact Rounded
+sqtx3301 squareroot 0.167 -> 0.409  Inexact Rounded
+sqtx3302 squareroot 0.0167 -> 0.129  Inexact Rounded
+sqtx3303 squareroot 0.168 -> 0.410  Inexact Rounded
+sqtx3304 squareroot 0.0168 -> 0.130  Inexact Rounded
+sqtx3305 squareroot 0.169 -> 0.411  Inexact Rounded
+sqtx3306 squareroot 0.0169 -> 0.13
+sqtx3307 squareroot 0.171 -> 0.414  Inexact Rounded
+sqtx3308 squareroot 0.0171 -> 0.131  Inexact Rounded
+sqtx3309 squareroot 0.172 -> 0.415  Inexact Rounded
+sqtx3310 squareroot 0.0172 -> 0.131  Inexact Rounded
+sqtx3311 squareroot 0.173 -> 0.416  Inexact Rounded
+sqtx3312 squareroot 0.0173 -> 0.132  Inexact Rounded
+sqtx3313 squareroot 0.174 -> 0.417  Inexact Rounded
+sqtx3314 squareroot 0.0174 -> 0.132  Inexact Rounded
+sqtx3315 squareroot 0.175 -> 0.418  Inexact Rounded
+sqtx3316 squareroot 0.0175 -> 0.132  Inexact Rounded
+sqtx3317 squareroot 0.176 -> 0.420  Inexact Rounded
+sqtx3318 squareroot 0.0176 -> 0.133  Inexact Rounded
+sqtx3319 squareroot 0.177 -> 0.421  Inexact Rounded
+sqtx3320 squareroot 0.0177 -> 0.133  Inexact Rounded
+sqtx3321 squareroot 0.178 -> 0.422  Inexact Rounded
+sqtx3322 squareroot 0.0178 -> 0.133  Inexact Rounded
+sqtx3323 squareroot 0.179 -> 0.423  Inexact Rounded
+sqtx3324 squareroot 0.0179 -> 0.134  Inexact Rounded
+sqtx3325 squareroot 0.181 -> 0.425  Inexact Rounded
+sqtx3326 squareroot 0.0181 -> 0.135  Inexact Rounded
+sqtx3327 squareroot 0.182 -> 0.427  Inexact Rounded
+sqtx3328 squareroot 0.0182 -> 0.135  Inexact Rounded
+sqtx3329 squareroot 0.183 -> 0.428  Inexact Rounded
+sqtx3330 squareroot 0.0183 -> 0.135  Inexact Rounded
+sqtx3331 squareroot 0.184 -> 0.429  Inexact Rounded
+sqtx3332 squareroot 0.0184 -> 0.136  Inexact Rounded
+sqtx3333 squareroot 0.185 -> 0.430  Inexact Rounded
+sqtx3334 squareroot 0.0185 -> 0.136  Inexact Rounded
+sqtx3335 squareroot 0.186 -> 0.431  Inexact Rounded
+sqtx3336 squareroot 0.0186 -> 0.136  Inexact Rounded
+sqtx3337 squareroot 0.187 -> 0.432  Inexact Rounded
+sqtx3338 squareroot 0.0187 -> 0.137  Inexact Rounded
+sqtx3339 squareroot 0.188 -> 0.434  Inexact Rounded
+sqtx3340 squareroot 0.0188 -> 0.137  Inexact Rounded
+sqtx3341 squareroot 0.189 -> 0.435  Inexact Rounded
+sqtx3342 squareroot 0.0189 -> 0.137  Inexact Rounded
+sqtx3343 squareroot 0.191 -> 0.437  Inexact Rounded
+sqtx3344 squareroot 0.0191 -> 0.138  Inexact Rounded
+sqtx3345 squareroot 0.192 -> 0.438  Inexact Rounded
+sqtx3346 squareroot 0.0192 -> 0.139  Inexact Rounded
+sqtx3347 squareroot 0.193 -> 0.439  Inexact Rounded
+sqtx3348 squareroot 0.0193 -> 0.139  Inexact Rounded
+sqtx3349 squareroot 0.194 -> 0.440  Inexact Rounded
+sqtx3350 squareroot 0.0194 -> 0.139  Inexact Rounded
+sqtx3351 squareroot 0.195 -> 0.442  Inexact Rounded
+sqtx3352 squareroot 0.0195 -> 0.140  Inexact Rounded
+sqtx3353 squareroot 0.196 -> 0.443  Inexact Rounded
+sqtx3354 squareroot 0.0196 -> 0.14
+sqtx3355 squareroot 0.197 -> 0.444  Inexact Rounded
+sqtx3356 squareroot 0.0197 -> 0.140  Inexact Rounded
+sqtx3357 squareroot 0.198 -> 0.445  Inexact Rounded
+sqtx3358 squareroot 0.0198 -> 0.141  Inexact Rounded
+sqtx3359 squareroot 0.199 -> 0.446  Inexact Rounded
+sqtx3360 squareroot 0.0199 -> 0.141  Inexact Rounded
+sqtx3361 squareroot 0.201 -> 0.448  Inexact Rounded
+sqtx3362 squareroot 0.0201 -> 0.142  Inexact Rounded
+sqtx3363 squareroot 0.202 -> 0.449  Inexact Rounded
+sqtx3364 squareroot 0.0202 -> 0.142  Inexact Rounded
+sqtx3365 squareroot 0.203 -> 0.451  Inexact Rounded
+sqtx3366 squareroot 0.0203 -> 0.142  Inexact Rounded
+sqtx3367 squareroot 0.204 -> 0.452  Inexact Rounded
+sqtx3368 squareroot 0.0204 -> 0.143  Inexact Rounded
+sqtx3369 squareroot 0.205 -> 0.453  Inexact Rounded
+sqtx3370 squareroot 0.0205 -> 0.143  Inexact Rounded
+sqtx3371 squareroot 0.206 -> 0.454  Inexact Rounded
+sqtx3372 squareroot 0.0206 -> 0.144  Inexact Rounded
+sqtx3373 squareroot 0.207 -> 0.455  Inexact Rounded
+sqtx3374 squareroot 0.0207 -> 0.144  Inexact Rounded
+sqtx3375 squareroot 0.208 -> 0.456  Inexact Rounded
+sqtx3376 squareroot 0.0208 -> 0.144  Inexact Rounded
+sqtx3377 squareroot 0.209 -> 0.457  Inexact Rounded
+sqtx3378 squareroot 0.0209 -> 0.145  Inexact Rounded
+sqtx3379 squareroot 0.211 -> 0.459  Inexact Rounded
+sqtx3380 squareroot 0.0211 -> 0.145  Inexact Rounded
+sqtx3381 squareroot 0.212 -> 0.460  Inexact Rounded
+sqtx3382 squareroot 0.0212 -> 0.146  Inexact Rounded
+sqtx3383 squareroot 0.213 -> 0.462  Inexact Rounded
+sqtx3384 squareroot 0.0213 -> 0.146  Inexact Rounded
+sqtx3385 squareroot 0.214 -> 0.463  Inexact Rounded
+sqtx3386 squareroot 0.0214 -> 0.146  Inexact Rounded
+sqtx3387 squareroot 0.215 -> 0.464  Inexact Rounded
+sqtx3388 squareroot 0.0215 -> 0.147  Inexact Rounded
+sqtx3389 squareroot 0.216 -> 0.465  Inexact Rounded
+sqtx3390 squareroot 0.0216 -> 0.147  Inexact Rounded
+sqtx3391 squareroot 0.217 -> 0.466  Inexact Rounded
+sqtx3392 squareroot 0.0217 -> 0.147  Inexact Rounded
+sqtx3393 squareroot 0.218 -> 0.467  Inexact Rounded
+sqtx3394 squareroot 0.0218 -> 0.148  Inexact Rounded
+sqtx3395 squareroot 0.219 -> 0.468  Inexact Rounded
+sqtx3396 squareroot 0.0219 -> 0.148  Inexact Rounded
+sqtx3397 squareroot 0.221 -> 0.470  Inexact Rounded
+sqtx3398 squareroot 0.0221 -> 0.149  Inexact Rounded
+sqtx3399 squareroot 0.222 -> 0.471  Inexact Rounded
+sqtx3400 squareroot 0.0222 -> 0.149  Inexact Rounded
+sqtx3401 squareroot 0.223 -> 0.472  Inexact Rounded
+sqtx3402 squareroot 0.0223 -> 0.149  Inexact Rounded
+sqtx3403 squareroot 0.224 -> 0.473  Inexact Rounded
+sqtx3404 squareroot 0.0224 -> 0.150  Inexact Rounded
+sqtx3405 squareroot 0.225 -> 0.474  Inexact Rounded
+sqtx3406 squareroot 0.0225 -> 0.15
+sqtx3407 squareroot 0.226 -> 0.475  Inexact Rounded
+sqtx3408 squareroot 0.0226 -> 0.150  Inexact Rounded
+sqtx3409 squareroot 0.227 -> 0.476  Inexact Rounded
+sqtx3410 squareroot 0.0227 -> 0.151  Inexact Rounded
+sqtx3411 squareroot 0.228 -> 0.477  Inexact Rounded
+sqtx3412 squareroot 0.0228 -> 0.151  Inexact Rounded
+sqtx3413 squareroot 0.229 -> 0.479  Inexact Rounded
+sqtx3414 squareroot 0.0229 -> 0.151  Inexact Rounded
+sqtx3415 squareroot 0.231 -> 0.481  Inexact Rounded
+sqtx3416 squareroot 0.0231 -> 0.152  Inexact Rounded
+sqtx3417 squareroot 0.232 -> 0.482  Inexact Rounded
+sqtx3418 squareroot 0.0232 -> 0.152  Inexact Rounded
+sqtx3419 squareroot 0.233 -> 0.483  Inexact Rounded
+sqtx3420 squareroot 0.0233 -> 0.153  Inexact Rounded
+sqtx3421 squareroot 0.234 -> 0.484  Inexact Rounded
+sqtx3422 squareroot 0.0234 -> 0.153  Inexact Rounded
+sqtx3423 squareroot 0.235 -> 0.485  Inexact Rounded
+sqtx3424 squareroot 0.0235 -> 0.153  Inexact Rounded
+sqtx3425 squareroot 0.236 -> 0.486  Inexact Rounded
+sqtx3426 squareroot 0.0236 -> 0.154  Inexact Rounded
+sqtx3427 squareroot 0.237 -> 0.487  Inexact Rounded
+sqtx3428 squareroot 0.0237 -> 0.154  Inexact Rounded
+sqtx3429 squareroot 0.238 -> 0.488  Inexact Rounded
+sqtx3430 squareroot 0.0238 -> 0.154  Inexact Rounded
+sqtx3431 squareroot 0.239 -> 0.489  Inexact Rounded
+sqtx3432 squareroot 0.0239 -> 0.155  Inexact Rounded
+sqtx3433 squareroot 0.241 -> 0.491  Inexact Rounded
+sqtx3434 squareroot 0.0241 -> 0.155  Inexact Rounded
+sqtx3435 squareroot 0.242 -> 0.492  Inexact Rounded
+sqtx3436 squareroot 0.0242 -> 0.156  Inexact Rounded
+sqtx3437 squareroot 0.243 -> 0.493  Inexact Rounded
+sqtx3438 squareroot 0.0243 -> 0.156  Inexact Rounded
+sqtx3439 squareroot 0.244 -> 0.494  Inexact Rounded
+sqtx3440 squareroot 0.0244 -> 0.156  Inexact Rounded
+sqtx3441 squareroot 0.245 -> 0.495  Inexact Rounded
+sqtx3442 squareroot 0.0245 -> 0.157  Inexact Rounded
+sqtx3443 squareroot 0.246 -> 0.496  Inexact Rounded
+sqtx3444 squareroot 0.0246 -> 0.157  Inexact Rounded
+sqtx3445 squareroot 0.247 -> 0.497  Inexact Rounded
+sqtx3446 squareroot 0.0247 -> 0.157  Inexact Rounded
+sqtx3447 squareroot 0.248 -> 0.498  Inexact Rounded
+sqtx3448 squareroot 0.0248 -> 0.157  Inexact Rounded
+sqtx3449 squareroot 0.249 -> 0.499  Inexact Rounded
+sqtx3450 squareroot 0.0249 -> 0.158  Inexact Rounded
+sqtx3451 squareroot 0.251 -> 0.501  Inexact Rounded
+sqtx3452 squareroot 0.0251 -> 0.158  Inexact Rounded
+sqtx3453 squareroot 0.252 -> 0.502  Inexact Rounded
+sqtx3454 squareroot 0.0252 -> 0.159  Inexact Rounded
+sqtx3455 squareroot 0.253 -> 0.503  Inexact Rounded
+sqtx3456 squareroot 0.0253 -> 0.159  Inexact Rounded
+sqtx3457 squareroot 0.254 -> 0.504  Inexact Rounded
+sqtx3458 squareroot 0.0254 -> 0.159  Inexact Rounded
+sqtx3459 squareroot 0.255 -> 0.505  Inexact Rounded
+sqtx3460 squareroot 0.0255 -> 0.160  Inexact Rounded
+sqtx3461 squareroot 0.256 -> 0.506  Inexact Rounded
+sqtx3462 squareroot 0.0256 -> 0.16
+sqtx3463 squareroot 0.257 -> 0.507  Inexact Rounded
+sqtx3464 squareroot 0.0257 -> 0.160  Inexact Rounded
+sqtx3465 squareroot 0.258 -> 0.508  Inexact Rounded
+sqtx3466 squareroot 0.0258 -> 0.161  Inexact Rounded
+sqtx3467 squareroot 0.259 -> 0.509  Inexact Rounded
+sqtx3468 squareroot 0.0259 -> 0.161  Inexact Rounded
+sqtx3469 squareroot 0.261 -> 0.511  Inexact Rounded
+sqtx3470 squareroot 0.0261 -> 0.162  Inexact Rounded
+sqtx3471 squareroot 0.262 -> 0.512  Inexact Rounded
+sqtx3472 squareroot 0.0262 -> 0.162  Inexact Rounded
+sqtx3473 squareroot 0.263 -> 0.513  Inexact Rounded
+sqtx3474 squareroot 0.0263 -> 0.162  Inexact Rounded
+sqtx3475 squareroot 0.264 -> 0.514  Inexact Rounded
+sqtx3476 squareroot 0.0264 -> 0.162  Inexact Rounded
+sqtx3477 squareroot 0.265 -> 0.515  Inexact Rounded
+sqtx3478 squareroot 0.0265 -> 0.163  Inexact Rounded
+sqtx3479 squareroot 0.266 -> 0.516  Inexact Rounded
+sqtx3480 squareroot 0.0266 -> 0.163  Inexact Rounded
+sqtx3481 squareroot 0.267 -> 0.517  Inexact Rounded
+sqtx3482 squareroot 0.0267 -> 0.163  Inexact Rounded
+sqtx3483 squareroot 0.268 -> 0.518  Inexact Rounded
+sqtx3484 squareroot 0.0268 -> 0.164  Inexact Rounded
+sqtx3485 squareroot 0.269 -> 0.519  Inexact Rounded
+sqtx3486 squareroot 0.0269 -> 0.164  Inexact Rounded
+sqtx3487 squareroot 0.271 -> 0.521  Inexact Rounded
+sqtx3488 squareroot 0.0271 -> 0.165  Inexact Rounded
+sqtx3489 squareroot 0.272 -> 0.522  Inexact Rounded
+sqtx3490 squareroot 0.0272 -> 0.165  Inexact Rounded
+sqtx3491 squareroot 0.273 -> 0.522  Inexact Rounded
+sqtx3492 squareroot 0.0273 -> 0.165  Inexact Rounded
+sqtx3493 squareroot 0.274 -> 0.523  Inexact Rounded
+sqtx3494 squareroot 0.0274 -> 0.166  Inexact Rounded
+sqtx3495 squareroot 0.275 -> 0.524  Inexact Rounded
+sqtx3496 squareroot 0.0275 -> 0.166  Inexact Rounded
+sqtx3497 squareroot 0.276 -> 0.525  Inexact Rounded
+sqtx3498 squareroot 0.0276 -> 0.166  Inexact Rounded
+sqtx3499 squareroot 0.277 -> 0.526  Inexact Rounded
+sqtx3500 squareroot 0.0277 -> 0.166  Inexact Rounded
+sqtx3501 squareroot 0.278 -> 0.527  Inexact Rounded
+sqtx3502 squareroot 0.0278 -> 0.167  Inexact Rounded
+sqtx3503 squareroot 0.279 -> 0.528  Inexact Rounded
+sqtx3504 squareroot 0.0279 -> 0.167  Inexact Rounded
+sqtx3505 squareroot 0.281 -> 0.530  Inexact Rounded
+sqtx3506 squareroot 0.0281 -> 0.168  Inexact Rounded
+sqtx3507 squareroot 0.282 -> 0.531  Inexact Rounded
+sqtx3508 squareroot 0.0282 -> 0.168  Inexact Rounded
+sqtx3509 squareroot 0.283 -> 0.532  Inexact Rounded
+sqtx3510 squareroot 0.0283 -> 0.168  Inexact Rounded
+sqtx3511 squareroot 0.284 -> 0.533  Inexact Rounded
+sqtx3512 squareroot 0.0284 -> 0.169  Inexact Rounded
+sqtx3513 squareroot 0.285 -> 0.534  Inexact Rounded
+sqtx3514 squareroot 0.0285 -> 0.169  Inexact Rounded
+sqtx3515 squareroot 0.286 -> 0.535  Inexact Rounded
+sqtx3516 squareroot 0.0286 -> 0.169  Inexact Rounded
+sqtx3517 squareroot 0.287 -> 0.536  Inexact Rounded
+sqtx3518 squareroot 0.0287 -> 0.169  Inexact Rounded
+sqtx3519 squareroot 0.288 -> 0.537  Inexact Rounded
+sqtx3520 squareroot 0.0288 -> 0.170  Inexact Rounded
+sqtx3521 squareroot 0.289 -> 0.538  Inexact Rounded
+sqtx3522 squareroot 0.0289 -> 0.17
+sqtx3523 squareroot 0.291 -> 0.539  Inexact Rounded
+sqtx3524 squareroot 0.0291 -> 0.171  Inexact Rounded
+sqtx3525 squareroot 0.292 -> 0.540  Inexact Rounded
+sqtx3526 squareroot 0.0292 -> 0.171  Inexact Rounded
+sqtx3527 squareroot 0.293 -> 0.541  Inexact Rounded
+sqtx3528 squareroot 0.0293 -> 0.171  Inexact Rounded
+sqtx3529 squareroot 0.294 -> 0.542  Inexact Rounded
+sqtx3530 squareroot 0.0294 -> 0.171  Inexact Rounded
+sqtx3531 squareroot 0.295 -> 0.543  Inexact Rounded
+sqtx3532 squareroot 0.0295 -> 0.172  Inexact Rounded
+sqtx3533 squareroot 0.296 -> 0.544  Inexact Rounded
+sqtx3534 squareroot 0.0296 -> 0.172  Inexact Rounded
+sqtx3535 squareroot 0.297 -> 0.545  Inexact Rounded
+sqtx3536 squareroot 0.0297 -> 0.172  Inexact Rounded
+sqtx3537 squareroot 0.298 -> 0.546  Inexact Rounded
+sqtx3538 squareroot 0.0298 -> 0.173  Inexact Rounded
+sqtx3539 squareroot 0.299 -> 0.547  Inexact Rounded
+sqtx3540 squareroot 0.0299 -> 0.173  Inexact Rounded
+sqtx3541 squareroot 0.301 -> 0.549  Inexact Rounded
+sqtx3542 squareroot 0.0301 -> 0.173  Inexact Rounded
+sqtx3543 squareroot 0.302 -> 0.550  Inexact Rounded
+sqtx3544 squareroot 0.0302 -> 0.174  Inexact Rounded
+sqtx3545 squareroot 0.303 -> 0.550  Inexact Rounded
+sqtx3546 squareroot 0.0303 -> 0.174  Inexact Rounded
+sqtx3547 squareroot 0.304 -> 0.551  Inexact Rounded
+sqtx3548 squareroot 0.0304 -> 0.174  Inexact Rounded
+sqtx3549 squareroot 0.305 -> 0.552  Inexact Rounded
+sqtx3550 squareroot 0.0305 -> 0.175  Inexact Rounded
+sqtx3551 squareroot 0.306 -> 0.553  Inexact Rounded
+sqtx3552 squareroot 0.0306 -> 0.175  Inexact Rounded
+sqtx3553 squareroot 0.307 -> 0.554  Inexact Rounded
+sqtx3554 squareroot 0.0307 -> 0.175  Inexact Rounded
+sqtx3555 squareroot 0.308 -> 0.555  Inexact Rounded
+sqtx3556 squareroot 0.0308 -> 0.175  Inexact Rounded
+sqtx3557 squareroot 0.309 -> 0.556  Inexact Rounded
+sqtx3558 squareroot 0.0309 -> 0.176  Inexact Rounded
+sqtx3559 squareroot 0.311 -> 0.558  Inexact Rounded
+sqtx3560 squareroot 0.0311 -> 0.176  Inexact Rounded
+sqtx3561 squareroot 0.312 -> 0.559  Inexact Rounded
+sqtx3562 squareroot 0.0312 -> 0.177  Inexact Rounded
+sqtx3563 squareroot 0.313 -> 0.559  Inexact Rounded
+sqtx3564 squareroot 0.0313 -> 0.177  Inexact Rounded
+sqtx3565 squareroot 0.314 -> 0.560  Inexact Rounded
+sqtx3566 squareroot 0.0314 -> 0.177  Inexact Rounded
+sqtx3567 squareroot 0.315 -> 0.561  Inexact Rounded
+sqtx3568 squareroot 0.0315 -> 0.177  Inexact Rounded
+sqtx3569 squareroot 0.316 -> 0.562  Inexact Rounded
+sqtx3570 squareroot 0.0316 -> 0.178  Inexact Rounded
+sqtx3571 squareroot 0.317 -> 0.563  Inexact Rounded
+sqtx3572 squareroot 0.0317 -> 0.178  Inexact Rounded
+sqtx3573 squareroot 0.318 -> 0.564  Inexact Rounded
+sqtx3574 squareroot 0.0318 -> 0.178  Inexact Rounded
+sqtx3575 squareroot 0.319 -> 0.565  Inexact Rounded
+sqtx3576 squareroot 0.0319 -> 0.179  Inexact Rounded
+sqtx3577 squareroot 0.321 -> 0.567  Inexact Rounded
+sqtx3578 squareroot 0.0321 -> 0.179  Inexact Rounded
+sqtx3579 squareroot 0.322 -> 0.567  Inexact Rounded
+sqtx3580 squareroot 0.0322 -> 0.179  Inexact Rounded
+sqtx3581 squareroot 0.323 -> 0.568  Inexact Rounded
+sqtx3582 squareroot 0.0323 -> 0.180  Inexact Rounded
+sqtx3583 squareroot 0.324 -> 0.569  Inexact Rounded
+sqtx3584 squareroot 0.0324 -> 0.18
+sqtx3585 squareroot 0.325 -> 0.570  Inexact Rounded
+sqtx3586 squareroot 0.0325 -> 0.180  Inexact Rounded
+sqtx3587 squareroot 0.326 -> 0.571  Inexact Rounded
+sqtx3588 squareroot 0.0326 -> 0.181  Inexact Rounded
+sqtx3589 squareroot 0.327 -> 0.572  Inexact Rounded
+sqtx3590 squareroot 0.0327 -> 0.181  Inexact Rounded
+sqtx3591 squareroot 0.328 -> 0.573  Inexact Rounded
+sqtx3592 squareroot 0.0328 -> 0.181  Inexact Rounded
+sqtx3593 squareroot 0.329 -> 0.574  Inexact Rounded
+sqtx3594 squareroot 0.0329 -> 0.181  Inexact Rounded
+sqtx3595 squareroot 0.331 -> 0.575  Inexact Rounded
+sqtx3596 squareroot 0.0331 -> 0.182  Inexact Rounded
+sqtx3597 squareroot 0.332 -> 0.576  Inexact Rounded
+sqtx3598 squareroot 0.0332 -> 0.182  Inexact Rounded
+sqtx3599 squareroot 0.333 -> 0.577  Inexact Rounded
+sqtx3600 squareroot 0.0333 -> 0.182  Inexact Rounded
+sqtx3601 squareroot 0.334 -> 0.578  Inexact Rounded
+sqtx3602 squareroot 0.0334 -> 0.183  Inexact Rounded
+sqtx3603 squareroot 0.335 -> 0.579  Inexact Rounded
+sqtx3604 squareroot 0.0335 -> 0.183  Inexact Rounded
+sqtx3605 squareroot 0.336 -> 0.580  Inexact Rounded
+sqtx3606 squareroot 0.0336 -> 0.183  Inexact Rounded
+sqtx3607 squareroot 0.337 -> 0.581  Inexact Rounded
+sqtx3608 squareroot 0.0337 -> 0.184  Inexact Rounded
+sqtx3609 squareroot 0.338 -> 0.581  Inexact Rounded
+sqtx3610 squareroot 0.0338 -> 0.184  Inexact Rounded
+sqtx3611 squareroot 0.339 -> 0.582  Inexact Rounded
+sqtx3612 squareroot 0.0339 -> 0.184  Inexact Rounded
+sqtx3613 squareroot 0.341 -> 0.584  Inexact Rounded
+sqtx3614 squareroot 0.0341 -> 0.185  Inexact Rounded
+sqtx3615 squareroot 0.342 -> 0.585  Inexact Rounded
+sqtx3616 squareroot 0.0342 -> 0.185  Inexact Rounded
+sqtx3617 squareroot 0.343 -> 0.586  Inexact Rounded
+sqtx3618 squareroot 0.0343 -> 0.185  Inexact Rounded
+sqtx3619 squareroot 0.344 -> 0.587  Inexact Rounded
+sqtx3620 squareroot 0.0344 -> 0.185  Inexact Rounded
+sqtx3621 squareroot 0.345 -> 0.587  Inexact Rounded
+sqtx3622 squareroot 0.0345 -> 0.186  Inexact Rounded
+sqtx3623 squareroot 0.346 -> 0.588  Inexact Rounded
+sqtx3624 squareroot 0.0346 -> 0.186  Inexact Rounded
+sqtx3625 squareroot 0.347 -> 0.589  Inexact Rounded
+sqtx3626 squareroot 0.0347 -> 0.186  Inexact Rounded
+sqtx3627 squareroot 0.348 -> 0.590  Inexact Rounded
+sqtx3628 squareroot 0.0348 -> 0.187  Inexact Rounded
+sqtx3629 squareroot 0.349 -> 0.591  Inexact Rounded
+sqtx3630 squareroot 0.0349 -> 0.187  Inexact Rounded
+sqtx3631 squareroot 0.351 -> 0.592  Inexact Rounded
+sqtx3632 squareroot 0.0351 -> 0.187  Inexact Rounded
+sqtx3633 squareroot 0.352 -> 0.593  Inexact Rounded
+sqtx3634 squareroot 0.0352 -> 0.188  Inexact Rounded
+sqtx3635 squareroot 0.353 -> 0.594  Inexact Rounded
+sqtx3636 squareroot 0.0353 -> 0.188  Inexact Rounded
+sqtx3637 squareroot 0.354 -> 0.595  Inexact Rounded
+sqtx3638 squareroot 0.0354 -> 0.188  Inexact Rounded
+sqtx3639 squareroot 0.355 -> 0.596  Inexact Rounded
+sqtx3640 squareroot 0.0355 -> 0.188  Inexact Rounded
+sqtx3641 squareroot 0.356 -> 0.597  Inexact Rounded
+sqtx3642 squareroot 0.0356 -> 0.189  Inexact Rounded
+sqtx3643 squareroot 0.357 -> 0.597  Inexact Rounded
+sqtx3644 squareroot 0.0357 -> 0.189  Inexact Rounded
+sqtx3645 squareroot 0.358 -> 0.598  Inexact Rounded
+sqtx3646 squareroot 0.0358 -> 0.189  Inexact Rounded
+sqtx3647 squareroot 0.359 -> 0.599  Inexact Rounded
+sqtx3648 squareroot 0.0359 -> 0.189  Inexact Rounded
+sqtx3649 squareroot 0.361 -> 0.601  Inexact Rounded
+sqtx3650 squareroot 0.0361 -> 0.19
+sqtx3651 squareroot 0.362 -> 0.602  Inexact Rounded
+sqtx3652 squareroot 0.0362 -> 0.190  Inexact Rounded
+sqtx3653 squareroot 0.363 -> 0.602  Inexact Rounded
+sqtx3654 squareroot 0.0363 -> 0.191  Inexact Rounded
+sqtx3655 squareroot 0.364 -> 0.603  Inexact Rounded
+sqtx3656 squareroot 0.0364 -> 0.191  Inexact Rounded
+sqtx3657 squareroot 0.365 -> 0.604  Inexact Rounded
+sqtx3658 squareroot 0.0365 -> 0.191  Inexact Rounded
+sqtx3659 squareroot 0.366 -> 0.605  Inexact Rounded
+sqtx3660 squareroot 0.0366 -> 0.191  Inexact Rounded
+sqtx3661 squareroot 0.367 -> 0.606  Inexact Rounded
+sqtx3662 squareroot 0.0367 -> 0.192  Inexact Rounded
+sqtx3663 squareroot 0.368 -> 0.607  Inexact Rounded
+sqtx3664 squareroot 0.0368 -> 0.192  Inexact Rounded
+sqtx3665 squareroot 0.369 -> 0.607  Inexact Rounded
+sqtx3666 squareroot 0.0369 -> 0.192  Inexact Rounded
+sqtx3667 squareroot 0.371 -> 0.609  Inexact Rounded
+sqtx3668 squareroot 0.0371 -> 0.193  Inexact Rounded
+sqtx3669 squareroot 0.372 -> 0.610  Inexact Rounded
+sqtx3670 squareroot 0.0372 -> 0.193  Inexact Rounded
+sqtx3671 squareroot 0.373 -> 0.611  Inexact Rounded
+sqtx3672 squareroot 0.0373 -> 0.193  Inexact Rounded
+sqtx3673 squareroot 0.374 -> 0.612  Inexact Rounded
+sqtx3674 squareroot 0.0374 -> 0.193  Inexact Rounded
+sqtx3675 squareroot 0.375 -> 0.612  Inexact Rounded
+sqtx3676 squareroot 0.0375 -> 0.194  Inexact Rounded
+sqtx3677 squareroot 0.376 -> 0.613  Inexact Rounded
+sqtx3678 squareroot 0.0376 -> 0.194  Inexact Rounded
+sqtx3679 squareroot 0.377 -> 0.614  Inexact Rounded
+sqtx3680 squareroot 0.0377 -> 0.194  Inexact Rounded
+sqtx3681 squareroot 0.378 -> 0.615  Inexact Rounded
+sqtx3682 squareroot 0.0378 -> 0.194  Inexact Rounded
+sqtx3683 squareroot 0.379 -> 0.616  Inexact Rounded
+sqtx3684 squareroot 0.0379 -> 0.195  Inexact Rounded
+sqtx3685 squareroot 0.381 -> 0.617  Inexact Rounded
+sqtx3686 squareroot 0.0381 -> 0.195  Inexact Rounded
+sqtx3687 squareroot 0.382 -> 0.618  Inexact Rounded
+sqtx3688 squareroot 0.0382 -> 0.195  Inexact Rounded
+sqtx3689 squareroot 0.383 -> 0.619  Inexact Rounded
+sqtx3690 squareroot 0.0383 -> 0.196  Inexact Rounded
+sqtx3691 squareroot 0.384 -> 0.620  Inexact Rounded
+sqtx3692 squareroot 0.0384 -> 0.196  Inexact Rounded
+sqtx3693 squareroot 0.385 -> 0.620  Inexact Rounded
+sqtx3694 squareroot 0.0385 -> 0.196  Inexact Rounded
+sqtx3695 squareroot 0.386 -> 0.621  Inexact Rounded
+sqtx3696 squareroot 0.0386 -> 0.196  Inexact Rounded
+sqtx3697 squareroot 0.387 -> 0.622  Inexact Rounded
+sqtx3698 squareroot 0.0387 -> 0.197  Inexact Rounded
+sqtx3699 squareroot 0.388 -> 0.623  Inexact Rounded
+sqtx3700 squareroot 0.0388 -> 0.197  Inexact Rounded
+sqtx3701 squareroot 0.389 -> 0.624  Inexact Rounded
+sqtx3702 squareroot 0.0389 -> 0.197  Inexact Rounded
+sqtx3703 squareroot 0.391 -> 0.625  Inexact Rounded
+sqtx3704 squareroot 0.0391 -> 0.198  Inexact Rounded
+sqtx3705 squareroot 0.392 -> 0.626  Inexact Rounded
+sqtx3706 squareroot 0.0392 -> 0.198  Inexact Rounded
+sqtx3707 squareroot 0.393 -> 0.627  Inexact Rounded
+sqtx3708 squareroot 0.0393 -> 0.198  Inexact Rounded
+sqtx3709 squareroot 0.394 -> 0.628  Inexact Rounded
+sqtx3710 squareroot 0.0394 -> 0.198  Inexact Rounded
+sqtx3711 squareroot 0.395 -> 0.628  Inexact Rounded
+sqtx3712 squareroot 0.0395 -> 0.199  Inexact Rounded
+sqtx3713 squareroot 0.396 -> 0.629  Inexact Rounded
+sqtx3714 squareroot 0.0396 -> 0.199  Inexact Rounded
+sqtx3715 squareroot 0.397 -> 0.630  Inexact Rounded
+sqtx3716 squareroot 0.0397 -> 0.199  Inexact Rounded
+sqtx3717 squareroot 0.398 -> 0.631  Inexact Rounded
+sqtx3718 squareroot 0.0398 -> 0.199  Inexact Rounded
+sqtx3719 squareroot 0.399 -> 0.632  Inexact Rounded
+sqtx3720 squareroot 0.0399 -> 0.200  Inexact Rounded
+sqtx3721 squareroot 0.401 -> 0.633  Inexact Rounded
+sqtx3722 squareroot 0.0401 -> 0.200  Inexact Rounded
+sqtx3723 squareroot 0.402 -> 0.634  Inexact Rounded
+sqtx3724 squareroot 0.0402 -> 0.200  Inexact Rounded
+sqtx3725 squareroot 0.403 -> 0.635  Inexact Rounded
+sqtx3726 squareroot 0.0403 -> 0.201  Inexact Rounded
+sqtx3727 squareroot 0.404 -> 0.636  Inexact Rounded
+sqtx3728 squareroot 0.0404 -> 0.201  Inexact Rounded
+sqtx3729 squareroot 0.405 -> 0.636  Inexact Rounded
+sqtx3730 squareroot 0.0405 -> 0.201  Inexact Rounded
+sqtx3731 squareroot 0.406 -> 0.637  Inexact Rounded
+sqtx3732 squareroot 0.0406 -> 0.201  Inexact Rounded
+sqtx3733 squareroot 0.407 -> 0.638  Inexact Rounded
+sqtx3734 squareroot 0.0407 -> 0.202  Inexact Rounded
+sqtx3735 squareroot 0.408 -> 0.639  Inexact Rounded
+sqtx3736 squareroot 0.0408 -> 0.202  Inexact Rounded
+sqtx3737 squareroot 0.409 -> 0.640  Inexact Rounded
+sqtx3738 squareroot 0.0409 -> 0.202  Inexact Rounded
+sqtx3739 squareroot 0.411 -> 0.641  Inexact Rounded
+sqtx3740 squareroot 0.0411 -> 0.203  Inexact Rounded
+sqtx3741 squareroot 0.412 -> 0.642  Inexact Rounded
+sqtx3742 squareroot 0.0412 -> 0.203  Inexact Rounded
+sqtx3743 squareroot 0.413 -> 0.643  Inexact Rounded
+sqtx3744 squareroot 0.0413 -> 0.203  Inexact Rounded
+sqtx3745 squareroot 0.414 -> 0.643  Inexact Rounded
+sqtx3746 squareroot 0.0414 -> 0.203  Inexact Rounded
+sqtx3747 squareroot 0.415 -> 0.644  Inexact Rounded
+sqtx3748 squareroot 0.0415 -> 0.204  Inexact Rounded
+sqtx3749 squareroot 0.416 -> 0.645  Inexact Rounded
+sqtx3750 squareroot 0.0416 -> 0.204  Inexact Rounded
+sqtx3751 squareroot 0.417 -> 0.646  Inexact Rounded
+sqtx3752 squareroot 0.0417 -> 0.204  Inexact Rounded
+sqtx3753 squareroot 0.418 -> 0.647  Inexact Rounded
+sqtx3754 squareroot 0.0418 -> 0.204  Inexact Rounded
+sqtx3755 squareroot 0.419 -> 0.647  Inexact Rounded
+sqtx3756 squareroot 0.0419 -> 0.205  Inexact Rounded
+sqtx3757 squareroot 0.421 -> 0.649  Inexact Rounded
+sqtx3758 squareroot 0.0421 -> 0.205  Inexact Rounded
+sqtx3759 squareroot 0.422 -> 0.650  Inexact Rounded
+sqtx3760 squareroot 0.0422 -> 0.205  Inexact Rounded
+sqtx3761 squareroot 0.423 -> 0.650  Inexact Rounded
+sqtx3762 squareroot 0.0423 -> 0.206  Inexact Rounded
+sqtx3763 squareroot 0.424 -> 0.651  Inexact Rounded
+sqtx3764 squareroot 0.0424 -> 0.206  Inexact Rounded
+sqtx3765 squareroot 0.425 -> 0.652  Inexact Rounded
+sqtx3766 squareroot 0.0425 -> 0.206  Inexact Rounded
+sqtx3767 squareroot 0.426 -> 0.653  Inexact Rounded
+sqtx3768 squareroot 0.0426 -> 0.206  Inexact Rounded
+sqtx3769 squareroot 0.427 -> 0.653  Inexact Rounded
+sqtx3770 squareroot 0.0427 -> 0.207  Inexact Rounded
+sqtx3771 squareroot 0.428 -> 0.654  Inexact Rounded
+sqtx3772 squareroot 0.0428 -> 0.207  Inexact Rounded
+sqtx3773 squareroot 0.429 -> 0.655  Inexact Rounded
+sqtx3774 squareroot 0.0429 -> 0.207  Inexact Rounded
+sqtx3775 squareroot 0.431 -> 0.657  Inexact Rounded
+sqtx3776 squareroot 0.0431 -> 0.208  Inexact Rounded
+sqtx3777 squareroot 0.432 -> 0.657  Inexact Rounded
+sqtx3778 squareroot 0.0432 -> 0.208  Inexact Rounded
+sqtx3779 squareroot 0.433 -> 0.658  Inexact Rounded
+sqtx3780 squareroot 0.0433 -> 0.208  Inexact Rounded
+sqtx3781 squareroot 0.434 -> 0.659  Inexact Rounded
+sqtx3782 squareroot 0.0434 -> 0.208  Inexact Rounded
+sqtx3783 squareroot 0.435 -> 0.660  Inexact Rounded
+sqtx3784 squareroot 0.0435 -> 0.209  Inexact Rounded
+sqtx3785 squareroot 0.436 -> 0.660  Inexact Rounded
+sqtx3786 squareroot 0.0436 -> 0.209  Inexact Rounded
+sqtx3787 squareroot 0.437 -> 0.661  Inexact Rounded
+sqtx3788 squareroot 0.0437 -> 0.209  Inexact Rounded
+sqtx3789 squareroot 0.438 -> 0.662  Inexact Rounded
+sqtx3790 squareroot 0.0438 -> 0.209  Inexact Rounded
+sqtx3791 squareroot 0.439 -> 0.663  Inexact Rounded
+sqtx3792 squareroot 0.0439 -> 0.210  Inexact Rounded
+sqtx3793 squareroot 0.441 -> 0.664  Inexact Rounded
+sqtx3794 squareroot 0.0441 -> 0.21
+sqtx3795 squareroot 0.442 -> 0.665  Inexact Rounded
+sqtx3796 squareroot 0.0442 -> 0.210  Inexact Rounded
+sqtx3797 squareroot 0.443 -> 0.666  Inexact Rounded
+sqtx3798 squareroot 0.0443 -> 0.210  Inexact Rounded
+sqtx3799 squareroot 0.444 -> 0.666  Inexact Rounded
+sqtx3800 squareroot 0.0444 -> 0.211  Inexact Rounded
+sqtx3801 squareroot 0.445 -> 0.667  Inexact Rounded
+sqtx3802 squareroot 0.0445 -> 0.211  Inexact Rounded
+sqtx3803 squareroot 0.446 -> 0.668  Inexact Rounded
+sqtx3804 squareroot 0.0446 -> 0.211  Inexact Rounded
+sqtx3805 squareroot 0.447 -> 0.669  Inexact Rounded
+sqtx3806 squareroot 0.0447 -> 0.211  Inexact Rounded
+sqtx3807 squareroot 0.448 -> 0.669  Inexact Rounded
+sqtx3808 squareroot 0.0448 -> 0.212  Inexact Rounded
+sqtx3809 squareroot 0.449 -> 0.670  Inexact Rounded
+sqtx3810 squareroot 0.0449 -> 0.212  Inexact Rounded
+sqtx3811 squareroot 0.451 -> 0.672  Inexact Rounded
+sqtx3812 squareroot 0.0451 -> 0.212  Inexact Rounded
+sqtx3813 squareroot 0.452 -> 0.672  Inexact Rounded
+sqtx3814 squareroot 0.0452 -> 0.213  Inexact Rounded
+sqtx3815 squareroot 0.453 -> 0.673  Inexact Rounded
+sqtx3816 squareroot 0.0453 -> 0.213  Inexact Rounded
+sqtx3817 squareroot 0.454 -> 0.674  Inexact Rounded
+sqtx3818 squareroot 0.0454 -> 0.213  Inexact Rounded
+sqtx3819 squareroot 0.455 -> 0.675  Inexact Rounded
+sqtx3820 squareroot 0.0455 -> 0.213  Inexact Rounded
+sqtx3821 squareroot 0.456 -> 0.675  Inexact Rounded
+sqtx3822 squareroot 0.0456 -> 0.214  Inexact Rounded
+sqtx3823 squareroot 0.457 -> 0.676  Inexact Rounded
+sqtx3824 squareroot 0.0457 -> 0.214  Inexact Rounded
+sqtx3825 squareroot 0.458 -> 0.677  Inexact Rounded
+sqtx3826 squareroot 0.0458 -> 0.214  Inexact Rounded
+sqtx3827 squareroot 0.459 -> 0.677  Inexact Rounded
+sqtx3828 squareroot 0.0459 -> 0.214  Inexact Rounded
+sqtx3829 squareroot 0.461 -> 0.679  Inexact Rounded
+sqtx3830 squareroot 0.0461 -> 0.215  Inexact Rounded
+sqtx3831 squareroot 0.462 -> 0.680  Inexact Rounded
+sqtx3832 squareroot 0.0462 -> 0.215  Inexact Rounded
+sqtx3833 squareroot 0.463 -> 0.680  Inexact Rounded
+sqtx3834 squareroot 0.0463 -> 0.215  Inexact Rounded
+sqtx3835 squareroot 0.464 -> 0.681  Inexact Rounded
+sqtx3836 squareroot 0.0464 -> 0.215  Inexact Rounded
+sqtx3837 squareroot 0.465 -> 0.682  Inexact Rounded
+sqtx3838 squareroot 0.0465 -> 0.216  Inexact Rounded
+sqtx3839 squareroot 0.466 -> 0.683  Inexact Rounded
+sqtx3840 squareroot 0.0466 -> 0.216  Inexact Rounded
+sqtx3841 squareroot 0.467 -> 0.683  Inexact Rounded
+sqtx3842 squareroot 0.0467 -> 0.216  Inexact Rounded
+sqtx3843 squareroot 0.468 -> 0.684  Inexact Rounded
+sqtx3844 squareroot 0.0468 -> 0.216  Inexact Rounded
+sqtx3845 squareroot 0.469 -> 0.685  Inexact Rounded
+sqtx3846 squareroot 0.0469 -> 0.217  Inexact Rounded
+sqtx3847 squareroot 0.471 -> 0.686  Inexact Rounded
+sqtx3848 squareroot 0.0471 -> 0.217  Inexact Rounded
+sqtx3849 squareroot 0.472 -> 0.687  Inexact Rounded
+sqtx3850 squareroot 0.0472 -> 0.217  Inexact Rounded
+sqtx3851 squareroot 0.473 -> 0.688  Inexact Rounded
+sqtx3852 squareroot 0.0473 -> 0.217  Inexact Rounded
+sqtx3853 squareroot 0.474 -> 0.688  Inexact Rounded
+sqtx3854 squareroot 0.0474 -> 0.218  Inexact Rounded
+sqtx3855 squareroot 0.475 -> 0.689  Inexact Rounded
+sqtx3856 squareroot 0.0475 -> 0.218  Inexact Rounded
+sqtx3857 squareroot 0.476 -> 0.690  Inexact Rounded
+sqtx3858 squareroot 0.0476 -> 0.218  Inexact Rounded
+sqtx3859 squareroot 0.477 -> 0.691  Inexact Rounded
+sqtx3860 squareroot 0.0477 -> 0.218  Inexact Rounded
+sqtx3861 squareroot 0.478 -> 0.691  Inexact Rounded
+sqtx3862 squareroot 0.0478 -> 0.219  Inexact Rounded
+sqtx3863 squareroot 0.479 -> 0.692  Inexact Rounded
+sqtx3864 squareroot 0.0479 -> 0.219  Inexact Rounded
+sqtx3865 squareroot 0.481 -> 0.694  Inexact Rounded
+sqtx3866 squareroot 0.0481 -> 0.219  Inexact Rounded
+sqtx3867 squareroot 0.482 -> 0.694  Inexact Rounded
+sqtx3868 squareroot 0.0482 -> 0.220  Inexact Rounded
+sqtx3869 squareroot 0.483 -> 0.695  Inexact Rounded
+sqtx3870 squareroot 0.0483 -> 0.220  Inexact Rounded
+sqtx3871 squareroot 0.484 -> 0.696  Inexact Rounded
+sqtx3872 squareroot 0.0484 -> 0.22
+sqtx3873 squareroot 0.485 -> 0.696  Inexact Rounded
+sqtx3874 squareroot 0.0485 -> 0.220  Inexact Rounded
+sqtx3875 squareroot 0.486 -> 0.697  Inexact Rounded
+sqtx3876 squareroot 0.0486 -> 0.220  Inexact Rounded
+sqtx3877 squareroot 0.487 -> 0.698  Inexact Rounded
+sqtx3878 squareroot 0.0487 -> 0.221  Inexact Rounded
+sqtx3879 squareroot 0.488 -> 0.699  Inexact Rounded
+sqtx3880 squareroot 0.0488 -> 0.221  Inexact Rounded
+sqtx3881 squareroot 0.489 -> 0.699  Inexact Rounded
+sqtx3882 squareroot 0.0489 -> 0.221  Inexact Rounded
+sqtx3883 squareroot 0.491 -> 0.701  Inexact Rounded
+sqtx3884 squareroot 0.0491 -> 0.222  Inexact Rounded
+sqtx3885 squareroot 0.492 -> 0.701  Inexact Rounded
+sqtx3886 squareroot 0.0492 -> 0.222  Inexact Rounded
+sqtx3887 squareroot 0.493 -> 0.702  Inexact Rounded
+sqtx3888 squareroot 0.0493 -> 0.222  Inexact Rounded
+sqtx3889 squareroot 0.494 -> 0.703  Inexact Rounded
+sqtx3890 squareroot 0.0494 -> 0.222  Inexact Rounded
+sqtx3891 squareroot 0.495 -> 0.704  Inexact Rounded
+sqtx3892 squareroot 0.0495 -> 0.222  Inexact Rounded
+sqtx3893 squareroot 0.496 -> 0.704  Inexact Rounded
+sqtx3894 squareroot 0.0496 -> 0.223  Inexact Rounded
+sqtx3895 squareroot 0.497 -> 0.705  Inexact Rounded
+sqtx3896 squareroot 0.0497 -> 0.223  Inexact Rounded
+sqtx3897 squareroot 0.498 -> 0.706  Inexact Rounded
+sqtx3898 squareroot 0.0498 -> 0.223  Inexact Rounded
+sqtx3899 squareroot 0.499 -> 0.706  Inexact Rounded
+sqtx3900 squareroot 0.0499 -> 0.223  Inexact Rounded
+sqtx3901 squareroot 0.501 -> 0.708  Inexact Rounded
+sqtx3902 squareroot 0.0501 -> 0.224  Inexact Rounded
+sqtx3903 squareroot 0.502 -> 0.709  Inexact Rounded
+sqtx3904 squareroot 0.0502 -> 0.224  Inexact Rounded
+sqtx3905 squareroot 0.503 -> 0.709  Inexact Rounded
+sqtx3906 squareroot 0.0503 -> 0.224  Inexact Rounded
+sqtx3907 squareroot 0.504 -> 0.710  Inexact Rounded
+sqtx3908 squareroot 0.0504 -> 0.224  Inexact Rounded
+sqtx3909 squareroot 0.505 -> 0.711  Inexact Rounded
+sqtx3910 squareroot 0.0505 -> 0.225  Inexact Rounded
+sqtx3911 squareroot 0.506 -> 0.711  Inexact Rounded
+sqtx3912 squareroot 0.0506 -> 0.225  Inexact Rounded
+sqtx3913 squareroot 0.507 -> 0.712  Inexact Rounded
+sqtx3914 squareroot 0.0507 -> 0.225  Inexact Rounded
+sqtx3915 squareroot 0.508 -> 0.713  Inexact Rounded
+sqtx3916 squareroot 0.0508 -> 0.225  Inexact Rounded
+sqtx3917 squareroot 0.509 -> 0.713  Inexact Rounded
+sqtx3918 squareroot 0.0509 -> 0.226  Inexact Rounded
+sqtx3919 squareroot 0.511 -> 0.715  Inexact Rounded
+sqtx3920 squareroot 0.0511 -> 0.226  Inexact Rounded
+sqtx3921 squareroot 0.512 -> 0.716  Inexact Rounded
+sqtx3922 squareroot 0.0512 -> 0.226  Inexact Rounded
+sqtx3923 squareroot 0.513 -> 0.716  Inexact Rounded
+sqtx3924 squareroot 0.0513 -> 0.226  Inexact Rounded
+sqtx3925 squareroot 0.514 -> 0.717  Inexact Rounded
+sqtx3926 squareroot 0.0514 -> 0.227  Inexact Rounded
+sqtx3927 squareroot 0.515 -> 0.718  Inexact Rounded
+sqtx3928 squareroot 0.0515 -> 0.227  Inexact Rounded
+sqtx3929 squareroot 0.516 -> 0.718  Inexact Rounded
+sqtx3930 squareroot 0.0516 -> 0.227  Inexact Rounded
+sqtx3931 squareroot 0.517 -> 0.719  Inexact Rounded
+sqtx3932 squareroot 0.0517 -> 0.227  Inexact Rounded
+sqtx3933 squareroot 0.518 -> 0.720  Inexact Rounded
+sqtx3934 squareroot 0.0518 -> 0.228  Inexact Rounded
+sqtx3935 squareroot 0.519 -> 0.720  Inexact Rounded
+sqtx3936 squareroot 0.0519 -> 0.228  Inexact Rounded
+sqtx3937 squareroot 0.521 -> 0.722  Inexact Rounded
+sqtx3938 squareroot 0.0521 -> 0.228  Inexact Rounded
+sqtx3939 squareroot 0.522 -> 0.722  Inexact Rounded
+sqtx3940 squareroot 0.0522 -> 0.228  Inexact Rounded
+sqtx3941 squareroot 0.523 -> 0.723  Inexact Rounded
+sqtx3942 squareroot 0.0523 -> 0.229  Inexact Rounded
+sqtx3943 squareroot 0.524 -> 0.724  Inexact Rounded
+sqtx3944 squareroot 0.0524 -> 0.229  Inexact Rounded
+sqtx3945 squareroot 0.525 -> 0.725  Inexact Rounded
+sqtx3946 squareroot 0.0525 -> 0.229  Inexact Rounded
+sqtx3947 squareroot 0.526 -> 0.725  Inexact Rounded
+sqtx3948 squareroot 0.0526 -> 0.229  Inexact Rounded
+sqtx3949 squareroot 0.527 -> 0.726  Inexact Rounded
+sqtx3950 squareroot 0.0527 -> 0.230  Inexact Rounded
+sqtx3951 squareroot 0.528 -> 0.727  Inexact Rounded
+sqtx3952 squareroot 0.0528 -> 0.230  Inexact Rounded
+sqtx3953 squareroot 0.529 -> 0.727  Inexact Rounded
+sqtx3954 squareroot 0.0529 -> 0.23
+sqtx3955 squareroot 0.531 -> 0.729  Inexact Rounded
+sqtx3956 squareroot 0.0531 -> 0.230  Inexact Rounded
+sqtx3957 squareroot 0.532 -> 0.729  Inexact Rounded
+sqtx3958 squareroot 0.0532 -> 0.231  Inexact Rounded
+sqtx3959 squareroot 0.533 -> 0.730  Inexact Rounded
+sqtx3960 squareroot 0.0533 -> 0.231  Inexact Rounded
+sqtx3961 squareroot 0.534 -> 0.731  Inexact Rounded
+sqtx3962 squareroot 0.0534 -> 0.231  Inexact Rounded
+sqtx3963 squareroot 0.535 -> 0.731  Inexact Rounded
+sqtx3964 squareroot 0.0535 -> 0.231  Inexact Rounded
+sqtx3965 squareroot 0.536 -> 0.732  Inexact Rounded
+sqtx3966 squareroot 0.0536 -> 0.232  Inexact Rounded
+sqtx3967 squareroot 0.537 -> 0.733  Inexact Rounded
+sqtx3968 squareroot 0.0537 -> 0.232  Inexact Rounded
+sqtx3969 squareroot 0.538 -> 0.733  Inexact Rounded
+sqtx3970 squareroot 0.0538 -> 0.232  Inexact Rounded
+sqtx3971 squareroot 0.539 -> 0.734  Inexact Rounded
+sqtx3972 squareroot 0.0539 -> 0.232  Inexact Rounded
+sqtx3973 squareroot 0.541 -> 0.736  Inexact Rounded
+sqtx3974 squareroot 0.0541 -> 0.233  Inexact Rounded
+sqtx3975 squareroot 0.542 -> 0.736  Inexact Rounded
+sqtx3976 squareroot 0.0542 -> 0.233  Inexact Rounded
+sqtx3977 squareroot 0.543 -> 0.737  Inexact Rounded
+sqtx3978 squareroot 0.0543 -> 0.233  Inexact Rounded
+sqtx3979 squareroot 0.544 -> 0.738  Inexact Rounded
+sqtx3980 squareroot 0.0544 -> 0.233  Inexact Rounded
+sqtx3981 squareroot 0.545 -> 0.738  Inexact Rounded
+sqtx3982 squareroot 0.0545 -> 0.233  Inexact Rounded
+sqtx3983 squareroot 0.546 -> 0.739  Inexact Rounded
+sqtx3984 squareroot 0.0546 -> 0.234  Inexact Rounded
+sqtx3985 squareroot 0.547 -> 0.740  Inexact Rounded
+sqtx3986 squareroot 0.0547 -> 0.234  Inexact Rounded
+sqtx3987 squareroot 0.548 -> 0.740  Inexact Rounded
+sqtx3988 squareroot 0.0548 -> 0.234  Inexact Rounded
+sqtx3989 squareroot 0.549 -> 0.741  Inexact Rounded
+sqtx3990 squareroot 0.0549 -> 0.234  Inexact Rounded
+sqtx3991 squareroot 0.551 -> 0.742  Inexact Rounded
+sqtx3992 squareroot 0.0551 -> 0.235  Inexact Rounded
+sqtx3993 squareroot 0.552 -> 0.743  Inexact Rounded
+sqtx3994 squareroot 0.0552 -> 0.235  Inexact Rounded
+sqtx3995 squareroot 0.553 -> 0.744  Inexact Rounded
+sqtx3996 squareroot 0.0553 -> 0.235  Inexact Rounded
+sqtx3997 squareroot 0.554 -> 0.744  Inexact Rounded
+sqtx3998 squareroot 0.0554 -> 0.235  Inexact Rounded
+sqtx3999 squareroot 0.555 -> 0.745  Inexact Rounded
+sqtx4000 squareroot 0.0555 -> 0.236  Inexact Rounded
+sqtx4001 squareroot 0.556 -> 0.746  Inexact Rounded
+sqtx4002 squareroot 0.0556 -> 0.236  Inexact Rounded
+sqtx4003 squareroot 0.557 -> 0.746  Inexact Rounded
+sqtx4004 squareroot 0.0557 -> 0.236  Inexact Rounded
+sqtx4005 squareroot 0.558 -> 0.747  Inexact Rounded
+sqtx4006 squareroot 0.0558 -> 0.236  Inexact Rounded
+sqtx4007 squareroot 0.559 -> 0.748  Inexact Rounded
+sqtx4008 squareroot 0.0559 -> 0.236  Inexact Rounded
+sqtx4009 squareroot 0.561 -> 0.749  Inexact Rounded
+sqtx4010 squareroot 0.0561 -> 0.237  Inexact Rounded
+sqtx4011 squareroot 0.562 -> 0.750  Inexact Rounded
+sqtx4012 squareroot 0.0562 -> 0.237  Inexact Rounded
+sqtx4013 squareroot 0.563 -> 0.750  Inexact Rounded
+sqtx4014 squareroot 0.0563 -> 0.237  Inexact Rounded
+sqtx4015 squareroot 0.564 -> 0.751  Inexact Rounded
+sqtx4016 squareroot 0.0564 -> 0.237  Inexact Rounded
+sqtx4017 squareroot 0.565 -> 0.752  Inexact Rounded
+sqtx4018 squareroot 0.0565 -> 0.238  Inexact Rounded
+sqtx4019 squareroot 0.566 -> 0.752  Inexact Rounded
+sqtx4020 squareroot 0.0566 -> 0.238  Inexact Rounded
+sqtx4021 squareroot 0.567 -> 0.753  Inexact Rounded
+sqtx4022 squareroot 0.0567 -> 0.238  Inexact Rounded
+sqtx4023 squareroot 0.568 -> 0.754  Inexact Rounded
+sqtx4024 squareroot 0.0568 -> 0.238  Inexact Rounded
+sqtx4025 squareroot 0.569 -> 0.754  Inexact Rounded
+sqtx4026 squareroot 0.0569 -> 0.239  Inexact Rounded
+sqtx4027 squareroot 0.571 -> 0.756  Inexact Rounded
+sqtx4028 squareroot 0.0571 -> 0.239  Inexact Rounded
+sqtx4029 squareroot 0.572 -> 0.756  Inexact Rounded
+sqtx4030 squareroot 0.0572 -> 0.239  Inexact Rounded
+sqtx4031 squareroot 0.573 -> 0.757  Inexact Rounded
+sqtx4032 squareroot 0.0573 -> 0.239  Inexact Rounded
+sqtx4033 squareroot 0.574 -> 0.758  Inexact Rounded
+sqtx4034 squareroot 0.0574 -> 0.240  Inexact Rounded
+sqtx4035 squareroot 0.575 -> 0.758  Inexact Rounded
+sqtx4036 squareroot 0.0575 -> 0.240  Inexact Rounded
+sqtx4037 squareroot 0.576 -> 0.759  Inexact Rounded
+sqtx4038 squareroot 0.0576 -> 0.24
+sqtx4039 squareroot 0.577 -> 0.760  Inexact Rounded
+sqtx4040 squareroot 0.0577 -> 0.240  Inexact Rounded
+sqtx4041 squareroot 0.578 -> 0.760  Inexact Rounded
+sqtx4042 squareroot 0.0578 -> 0.240  Inexact Rounded
+sqtx4043 squareroot 0.579 -> 0.761  Inexact Rounded
+sqtx4044 squareroot 0.0579 -> 0.241  Inexact Rounded
+sqtx4045 squareroot 0.581 -> 0.762  Inexact Rounded
+sqtx4046 squareroot 0.0581 -> 0.241  Inexact Rounded
+sqtx4047 squareroot 0.582 -> 0.763  Inexact Rounded
+sqtx4048 squareroot 0.0582 -> 0.241  Inexact Rounded
+sqtx4049 squareroot 0.583 -> 0.764  Inexact Rounded
+sqtx4050 squareroot 0.0583 -> 0.241  Inexact Rounded
+sqtx4051 squareroot 0.584 -> 0.764  Inexact Rounded
+sqtx4052 squareroot 0.0584 -> 0.242  Inexact Rounded
+sqtx4053 squareroot 0.585 -> 0.765  Inexact Rounded
+sqtx4054 squareroot 0.0585 -> 0.242  Inexact Rounded
+sqtx4055 squareroot 0.586 -> 0.766  Inexact Rounded
+sqtx4056 squareroot 0.0586 -> 0.242  Inexact Rounded
+sqtx4057 squareroot 0.587 -> 0.766  Inexact Rounded
+sqtx4058 squareroot 0.0587 -> 0.242  Inexact Rounded
+sqtx4059 squareroot 0.588 -> 0.767  Inexact Rounded
+sqtx4060 squareroot 0.0588 -> 0.242  Inexact Rounded
+sqtx4061 squareroot 0.589 -> 0.767  Inexact Rounded
+sqtx4062 squareroot 0.0589 -> 0.243  Inexact Rounded
+sqtx4063 squareroot 0.591 -> 0.769  Inexact Rounded
+sqtx4064 squareroot 0.0591 -> 0.243  Inexact Rounded
+sqtx4065 squareroot 0.592 -> 0.769  Inexact Rounded
+sqtx4066 squareroot 0.0592 -> 0.243  Inexact Rounded
+sqtx4067 squareroot 0.593 -> 0.770  Inexact Rounded
+sqtx4068 squareroot 0.0593 -> 0.244  Inexact Rounded
+sqtx4069 squareroot 0.594 -> 0.771  Inexact Rounded
+sqtx4070 squareroot 0.0594 -> 0.244  Inexact Rounded
+sqtx4071 squareroot 0.595 -> 0.771  Inexact Rounded
+sqtx4072 squareroot 0.0595 -> 0.244  Inexact Rounded
+sqtx4073 squareroot 0.596 -> 0.772  Inexact Rounded
+sqtx4074 squareroot 0.0596 -> 0.244  Inexact Rounded
+sqtx4075 squareroot 0.597 -> 0.773  Inexact Rounded
+sqtx4076 squareroot 0.0597 -> 0.244  Inexact Rounded
+sqtx4077 squareroot 0.598 -> 0.773  Inexact Rounded
+sqtx4078 squareroot 0.0598 -> 0.245  Inexact Rounded
+sqtx4079 squareroot 0.599 -> 0.774  Inexact Rounded
+sqtx4080 squareroot 0.0599 -> 0.245  Inexact Rounded
+sqtx4081 squareroot 0.601 -> 0.775  Inexact Rounded
+sqtx4082 squareroot 0.0601 -> 0.245  Inexact Rounded
+sqtx4083 squareroot 0.602 -> 0.776  Inexact Rounded
+sqtx4084 squareroot 0.0602 -> 0.245  Inexact Rounded
+sqtx4085 squareroot 0.603 -> 0.777  Inexact Rounded
+sqtx4086 squareroot 0.0603 -> 0.246  Inexact Rounded
+sqtx4087 squareroot 0.604 -> 0.777  Inexact Rounded
+sqtx4088 squareroot 0.0604 -> 0.246  Inexact Rounded
+sqtx4089 squareroot 0.605 -> 0.778  Inexact Rounded
+sqtx4090 squareroot 0.0605 -> 0.246  Inexact Rounded
+sqtx4091 squareroot 0.606 -> 0.778  Inexact Rounded
+sqtx4092 squareroot 0.0606 -> 0.246  Inexact Rounded
+sqtx4093 squareroot 0.607 -> 0.779  Inexact Rounded
+sqtx4094 squareroot 0.0607 -> 0.246  Inexact Rounded
+sqtx4095 squareroot 0.608 -> 0.780  Inexact Rounded
+sqtx4096 squareroot 0.0608 -> 0.247  Inexact Rounded
+sqtx4097 squareroot 0.609 -> 0.780  Inexact Rounded
+sqtx4098 squareroot 0.0609 -> 0.247  Inexact Rounded
+sqtx4099 squareroot 0.611 -> 0.782  Inexact Rounded
+sqtx4100 squareroot 0.0611 -> 0.247  Inexact Rounded
+sqtx4101 squareroot 0.612 -> 0.782  Inexact Rounded
+sqtx4102 squareroot 0.0612 -> 0.247  Inexact Rounded
+sqtx4103 squareroot 0.613 -> 0.783  Inexact Rounded
+sqtx4104 squareroot 0.0613 -> 0.248  Inexact Rounded
+sqtx4105 squareroot 0.614 -> 0.784  Inexact Rounded
+sqtx4106 squareroot 0.0614 -> 0.248  Inexact Rounded
+sqtx4107 squareroot 0.615 -> 0.784  Inexact Rounded
+sqtx4108 squareroot 0.0615 -> 0.248  Inexact Rounded
+sqtx4109 squareroot 0.616 -> 0.785  Inexact Rounded
+sqtx4110 squareroot 0.0616 -> 0.248  Inexact Rounded
+sqtx4111 squareroot 0.617 -> 0.785  Inexact Rounded
+sqtx4112 squareroot 0.0617 -> 0.248  Inexact Rounded
+sqtx4113 squareroot 0.618 -> 0.786  Inexact Rounded
+sqtx4114 squareroot 0.0618 -> 0.249  Inexact Rounded
+sqtx4115 squareroot 0.619 -> 0.787  Inexact Rounded
+sqtx4116 squareroot 0.0619 -> 0.249  Inexact Rounded
+sqtx4117 squareroot 0.621 -> 0.788  Inexact Rounded
+sqtx4118 squareroot 0.0621 -> 0.249  Inexact Rounded
+sqtx4119 squareroot 0.622 -> 0.789  Inexact Rounded
+sqtx4120 squareroot 0.0622 -> 0.249  Inexact Rounded
+sqtx4121 squareroot 0.623 -> 0.789  Inexact Rounded
+sqtx4122 squareroot 0.0623 -> 0.250  Inexact Rounded
+sqtx4123 squareroot 0.624 -> 0.790  Inexact Rounded
+sqtx4124 squareroot 0.0624 -> 0.250  Inexact Rounded
+sqtx4125 squareroot 0.625 -> 0.791  Inexact Rounded
+sqtx4126 squareroot 0.0625 -> 0.25
+sqtx4127 squareroot 0.626 -> 0.791  Inexact Rounded
+sqtx4128 squareroot 0.0626 -> 0.250  Inexact Rounded
+sqtx4129 squareroot 0.627 -> 0.792  Inexact Rounded
+sqtx4130 squareroot 0.0627 -> 0.250  Inexact Rounded
+sqtx4131 squareroot 0.628 -> 0.792  Inexact Rounded
+sqtx4132 squareroot 0.0628 -> 0.251  Inexact Rounded
+sqtx4133 squareroot 0.629 -> 0.793  Inexact Rounded
+sqtx4134 squareroot 0.0629 -> 0.251  Inexact Rounded
+sqtx4135 squareroot 0.631 -> 0.794  Inexact Rounded
+sqtx4136 squareroot 0.0631 -> 0.251  Inexact Rounded
+sqtx4137 squareroot 0.632 -> 0.795  Inexact Rounded
+sqtx4138 squareroot 0.0632 -> 0.251  Inexact Rounded
+sqtx4139 squareroot 0.633 -> 0.796  Inexact Rounded
+sqtx4140 squareroot 0.0633 -> 0.252  Inexact Rounded
+sqtx4141 squareroot 0.634 -> 0.796  Inexact Rounded
+sqtx4142 squareroot 0.0634 -> 0.252  Inexact Rounded
+sqtx4143 squareroot 0.635 -> 0.797  Inexact Rounded
+sqtx4144 squareroot 0.0635 -> 0.252  Inexact Rounded
+sqtx4145 squareroot 0.636 -> 0.797  Inexact Rounded
+sqtx4146 squareroot 0.0636 -> 0.252  Inexact Rounded
+sqtx4147 squareroot 0.637 -> 0.798  Inexact Rounded
+sqtx4148 squareroot 0.0637 -> 0.252  Inexact Rounded
+sqtx4149 squareroot 0.638 -> 0.799  Inexact Rounded
+sqtx4150 squareroot 0.0638 -> 0.253  Inexact Rounded
+sqtx4151 squareroot 0.639 -> 0.799  Inexact Rounded
+sqtx4152 squareroot 0.0639 -> 0.253  Inexact Rounded
+sqtx4153 squareroot 0.641 -> 0.801  Inexact Rounded
+sqtx4154 squareroot 0.0641 -> 0.253  Inexact Rounded
+sqtx4155 squareroot 0.642 -> 0.801  Inexact Rounded
+sqtx4156 squareroot 0.0642 -> 0.253  Inexact Rounded
+sqtx4157 squareroot 0.643 -> 0.802  Inexact Rounded
+sqtx4158 squareroot 0.0643 -> 0.254  Inexact Rounded
+sqtx4159 squareroot 0.644 -> 0.802  Inexact Rounded
+sqtx4160 squareroot 0.0644 -> 0.254  Inexact Rounded
+sqtx4161 squareroot 0.645 -> 0.803  Inexact Rounded
+sqtx4162 squareroot 0.0645 -> 0.254  Inexact Rounded
+sqtx4163 squareroot 0.646 -> 0.804  Inexact Rounded
+sqtx4164 squareroot 0.0646 -> 0.254  Inexact Rounded
+sqtx4165 squareroot 0.647 -> 0.804  Inexact Rounded
+sqtx4166 squareroot 0.0647 -> 0.254  Inexact Rounded
+sqtx4167 squareroot 0.648 -> 0.805  Inexact Rounded
+sqtx4168 squareroot 0.0648 -> 0.255  Inexact Rounded
+sqtx4169 squareroot 0.649 -> 0.806  Inexact Rounded
+sqtx4170 squareroot 0.0649 -> 0.255  Inexact Rounded
+sqtx4171 squareroot 0.651 -> 0.807  Inexact Rounded
+sqtx4172 squareroot 0.0651 -> 0.255  Inexact Rounded
+sqtx4173 squareroot 0.652 -> 0.807  Inexact Rounded
+sqtx4174 squareroot 0.0652 -> 0.255  Inexact Rounded
+sqtx4175 squareroot 0.653 -> 0.808  Inexact Rounded
+sqtx4176 squareroot 0.0653 -> 0.256  Inexact Rounded
+sqtx4177 squareroot 0.654 -> 0.809  Inexact Rounded
+sqtx4178 squareroot 0.0654 -> 0.256  Inexact Rounded
+sqtx4179 squareroot 0.655 -> 0.809  Inexact Rounded
+sqtx4180 squareroot 0.0655 -> 0.256  Inexact Rounded
+sqtx4181 squareroot 0.656 -> 0.810  Inexact Rounded
+sqtx4182 squareroot 0.0656 -> 0.256  Inexact Rounded
+sqtx4183 squareroot 0.657 -> 0.811  Inexact Rounded
+sqtx4184 squareroot 0.0657 -> 0.256  Inexact Rounded
+sqtx4185 squareroot 0.658 -> 0.811  Inexact Rounded
+sqtx4186 squareroot 0.0658 -> 0.257  Inexact Rounded
+sqtx4187 squareroot 0.659 -> 0.812  Inexact Rounded
+sqtx4188 squareroot 0.0659 -> 0.257  Inexact Rounded
+sqtx4189 squareroot 0.661 -> 0.813  Inexact Rounded
+sqtx4190 squareroot 0.0661 -> 0.257  Inexact Rounded
+sqtx4191 squareroot 0.662 -> 0.814  Inexact Rounded
+sqtx4192 squareroot 0.0662 -> 0.257  Inexact Rounded
+sqtx4193 squareroot 0.663 -> 0.814  Inexact Rounded
+sqtx4194 squareroot 0.0663 -> 0.257  Inexact Rounded
+sqtx4195 squareroot 0.664 -> 0.815  Inexact Rounded
+sqtx4196 squareroot 0.0664 -> 0.258  Inexact Rounded
+sqtx4197 squareroot 0.665 -> 0.815  Inexact Rounded
+sqtx4198 squareroot 0.0665 -> 0.258  Inexact Rounded
+sqtx4199 squareroot 0.666 -> 0.816  Inexact Rounded
+sqtx4200 squareroot 0.0666 -> 0.258  Inexact Rounded
+sqtx4201 squareroot 0.667 -> 0.817  Inexact Rounded
+sqtx4202 squareroot 0.0667 -> 0.258  Inexact Rounded
+sqtx4203 squareroot 0.668 -> 0.817  Inexact Rounded
+sqtx4204 squareroot 0.0668 -> 0.258  Inexact Rounded
+sqtx4205 squareroot 0.669 -> 0.818  Inexact Rounded
+sqtx4206 squareroot 0.0669 -> 0.259  Inexact Rounded
+sqtx4207 squareroot 0.671 -> 0.819  Inexact Rounded
+sqtx4208 squareroot 0.0671 -> 0.259  Inexact Rounded
+sqtx4209 squareroot 0.672 -> 0.820  Inexact Rounded
+sqtx4210 squareroot 0.0672 -> 0.259  Inexact Rounded
+sqtx4211 squareroot 0.673 -> 0.820  Inexact Rounded
+sqtx4212 squareroot 0.0673 -> 0.259  Inexact Rounded
+sqtx4213 squareroot 0.674 -> 0.821  Inexact Rounded
+sqtx4214 squareroot 0.0674 -> 0.260  Inexact Rounded
+sqtx4215 squareroot 0.675 -> 0.822  Inexact Rounded
+sqtx4216 squareroot 0.0675 -> 0.260  Inexact Rounded
+sqtx4217 squareroot 0.676 -> 0.822  Inexact Rounded
+sqtx4218 squareroot 0.0676 -> 0.26
+sqtx4219 squareroot 0.677 -> 0.823  Inexact Rounded
+sqtx4220 squareroot 0.0677 -> 0.260  Inexact Rounded
+sqtx4221 squareroot 0.678 -> 0.823  Inexact Rounded
+sqtx4222 squareroot 0.0678 -> 0.260  Inexact Rounded
+sqtx4223 squareroot 0.679 -> 0.824  Inexact Rounded
+sqtx4224 squareroot 0.0679 -> 0.261  Inexact Rounded
+sqtx4225 squareroot 0.681 -> 0.825  Inexact Rounded
+sqtx4226 squareroot 0.0681 -> 0.261  Inexact Rounded
+sqtx4227 squareroot 0.682 -> 0.826  Inexact Rounded
+sqtx4228 squareroot 0.0682 -> 0.261  Inexact Rounded
+sqtx4229 squareroot 0.683 -> 0.826  Inexact Rounded
+sqtx4230 squareroot 0.0683 -> 0.261  Inexact Rounded
+sqtx4231 squareroot 0.684 -> 0.827  Inexact Rounded
+sqtx4232 squareroot 0.0684 -> 0.262  Inexact Rounded
+sqtx4233 squareroot 0.685 -> 0.828  Inexact Rounded
+sqtx4234 squareroot 0.0685 -> 0.262  Inexact Rounded
+sqtx4235 squareroot 0.686 -> 0.828  Inexact Rounded
+sqtx4236 squareroot 0.0686 -> 0.262  Inexact Rounded
+sqtx4237 squareroot 0.687 -> 0.829  Inexact Rounded
+sqtx4238 squareroot 0.0687 -> 0.262  Inexact Rounded
+sqtx4239 squareroot 0.688 -> 0.829  Inexact Rounded
+sqtx4240 squareroot 0.0688 -> 0.262  Inexact Rounded
+sqtx4241 squareroot 0.689 -> 0.830  Inexact Rounded
+sqtx4242 squareroot 0.0689 -> 0.262  Inexact Rounded
+sqtx4243 squareroot 0.691 -> 0.831  Inexact Rounded
+sqtx4244 squareroot 0.0691 -> 0.263  Inexact Rounded
+sqtx4245 squareroot 0.692 -> 0.832  Inexact Rounded
+sqtx4246 squareroot 0.0692 -> 0.263  Inexact Rounded
+sqtx4247 squareroot 0.693 -> 0.832  Inexact Rounded
+sqtx4248 squareroot 0.0693 -> 0.263  Inexact Rounded
+sqtx4249 squareroot 0.694 -> 0.833  Inexact Rounded
+sqtx4250 squareroot 0.0694 -> 0.263  Inexact Rounded
+sqtx4251 squareroot 0.695 -> 0.834  Inexact Rounded
+sqtx4252 squareroot 0.0695 -> 0.264  Inexact Rounded
+sqtx4253 squareroot 0.696 -> 0.834  Inexact Rounded
+sqtx4254 squareroot 0.0696 -> 0.264  Inexact Rounded
+sqtx4255 squareroot 0.697 -> 0.835  Inexact Rounded
+sqtx4256 squareroot 0.0697 -> 0.264  Inexact Rounded
+sqtx4257 squareroot 0.698 -> 0.835  Inexact Rounded
+sqtx4258 squareroot 0.0698 -> 0.264  Inexact Rounded
+sqtx4259 squareroot 0.699 -> 0.836  Inexact Rounded
+sqtx4260 squareroot 0.0699 -> 0.264  Inexact Rounded
+sqtx4261 squareroot 0.701 -> 0.837  Inexact Rounded
+sqtx4262 squareroot 0.0701 -> 0.265  Inexact Rounded
+sqtx4263 squareroot 0.702 -> 0.838  Inexact Rounded
+sqtx4264 squareroot 0.0702 -> 0.265  Inexact Rounded
+sqtx4265 squareroot 0.703 -> 0.838  Inexact Rounded
+sqtx4266 squareroot 0.0703 -> 0.265  Inexact Rounded
+sqtx4267 squareroot 0.704 -> 0.839  Inexact Rounded
+sqtx4268 squareroot 0.0704 -> 0.265  Inexact Rounded
+sqtx4269 squareroot 0.705 -> 0.840  Inexact Rounded
+sqtx4270 squareroot 0.0705 -> 0.266  Inexact Rounded
+sqtx4271 squareroot 0.706 -> 0.840  Inexact Rounded
+sqtx4272 squareroot 0.0706 -> 0.266  Inexact Rounded
+sqtx4273 squareroot 0.707 -> 0.841  Inexact Rounded
+sqtx4274 squareroot 0.0707 -> 0.266  Inexact Rounded
+sqtx4275 squareroot 0.708 -> 0.841  Inexact Rounded
+sqtx4276 squareroot 0.0708 -> 0.266  Inexact Rounded
+sqtx4277 squareroot 0.709 -> 0.842  Inexact Rounded
+sqtx4278 squareroot 0.0709 -> 0.266  Inexact Rounded
+sqtx4279 squareroot 0.711 -> 0.843  Inexact Rounded
+sqtx4280 squareroot 0.0711 -> 0.267  Inexact Rounded
+sqtx4281 squareroot 0.712 -> 0.844  Inexact Rounded
+sqtx4282 squareroot 0.0712 -> 0.267  Inexact Rounded
+sqtx4283 squareroot 0.713 -> 0.844  Inexact Rounded
+sqtx4284 squareroot 0.0713 -> 0.267  Inexact Rounded
+sqtx4285 squareroot 0.714 -> 0.845  Inexact Rounded
+sqtx4286 squareroot 0.0714 -> 0.267  Inexact Rounded
+sqtx4287 squareroot 0.715 -> 0.846  Inexact Rounded
+sqtx4288 squareroot 0.0715 -> 0.267  Inexact Rounded
+sqtx4289 squareroot 0.716 -> 0.846  Inexact Rounded
+sqtx4290 squareroot 0.0716 -> 0.268  Inexact Rounded
+sqtx4291 squareroot 0.717 -> 0.847  Inexact Rounded
+sqtx4292 squareroot 0.0717 -> 0.268  Inexact Rounded
+sqtx4293 squareroot 0.718 -> 0.847  Inexact Rounded
+sqtx4294 squareroot 0.0718 -> 0.268  Inexact Rounded
+sqtx4295 squareroot 0.719 -> 0.848  Inexact Rounded
+sqtx4296 squareroot 0.0719 -> 0.268  Inexact Rounded
+sqtx4297 squareroot 0.721 -> 0.849  Inexact Rounded
+sqtx4298 squareroot 0.0721 -> 0.269  Inexact Rounded
+sqtx4299 squareroot 0.722 -> 0.850  Inexact Rounded
+sqtx4300 squareroot 0.0722 -> 0.269  Inexact Rounded
+sqtx4301 squareroot 0.723 -> 0.850  Inexact Rounded
+sqtx4302 squareroot 0.0723 -> 0.269  Inexact Rounded
+sqtx4303 squareroot 0.724 -> 0.851  Inexact Rounded
+sqtx4304 squareroot 0.0724 -> 0.269  Inexact Rounded
+sqtx4305 squareroot 0.725 -> 0.851  Inexact Rounded
+sqtx4306 squareroot 0.0725 -> 0.269  Inexact Rounded
+sqtx4307 squareroot 0.726 -> 0.852  Inexact Rounded
+sqtx4308 squareroot 0.0726 -> 0.269  Inexact Rounded
+sqtx4309 squareroot 0.727 -> 0.853  Inexact Rounded
+sqtx4310 squareroot 0.0727 -> 0.270  Inexact Rounded
+sqtx4311 squareroot 0.728 -> 0.853  Inexact Rounded
+sqtx4312 squareroot 0.0728 -> 0.270  Inexact Rounded
+sqtx4313 squareroot 0.729 -> 0.854  Inexact Rounded
+sqtx4314 squareroot 0.0729 -> 0.27
+sqtx4315 squareroot 0.731 -> 0.855  Inexact Rounded
+sqtx4316 squareroot 0.0731 -> 0.270  Inexact Rounded
+sqtx4317 squareroot 0.732 -> 0.856  Inexact Rounded
+sqtx4318 squareroot 0.0732 -> 0.271  Inexact Rounded
+sqtx4319 squareroot 0.733 -> 0.856  Inexact Rounded
+sqtx4320 squareroot 0.0733 -> 0.271  Inexact Rounded
+sqtx4321 squareroot 0.734 -> 0.857  Inexact Rounded
+sqtx4322 squareroot 0.0734 -> 0.271  Inexact Rounded
+sqtx4323 squareroot 0.735 -> 0.857  Inexact Rounded
+sqtx4324 squareroot 0.0735 -> 0.271  Inexact Rounded
+sqtx4325 squareroot 0.736 -> 0.858  Inexact Rounded
+sqtx4326 squareroot 0.0736 -> 0.271  Inexact Rounded
+sqtx4327 squareroot 0.737 -> 0.858  Inexact Rounded
+sqtx4328 squareroot 0.0737 -> 0.271  Inexact Rounded
+sqtx4329 squareroot 0.738 -> 0.859  Inexact Rounded
+sqtx4330 squareroot 0.0738 -> 0.272  Inexact Rounded
+sqtx4331 squareroot 0.739 -> 0.860  Inexact Rounded
+sqtx4332 squareroot 0.0739 -> 0.272  Inexact Rounded
+sqtx4333 squareroot 0.741 -> 0.861  Inexact Rounded
+sqtx4334 squareroot 0.0741 -> 0.272  Inexact Rounded
+sqtx4335 squareroot 0.742 -> 0.861  Inexact Rounded
+sqtx4336 squareroot 0.0742 -> 0.272  Inexact Rounded
+sqtx4337 squareroot 0.743 -> 0.862  Inexact Rounded
+sqtx4338 squareroot 0.0743 -> 0.273  Inexact Rounded
+sqtx4339 squareroot 0.744 -> 0.863  Inexact Rounded
+sqtx4340 squareroot 0.0744 -> 0.273  Inexact Rounded
+sqtx4341 squareroot 0.745 -> 0.863  Inexact Rounded
+sqtx4342 squareroot 0.0745 -> 0.273  Inexact Rounded
+sqtx4343 squareroot 0.746 -> 0.864  Inexact Rounded
+sqtx4344 squareroot 0.0746 -> 0.273  Inexact Rounded
+sqtx4345 squareroot 0.747 -> 0.864  Inexact Rounded
+sqtx4346 squareroot 0.0747 -> 0.273  Inexact Rounded
+sqtx4347 squareroot 0.748 -> 0.865  Inexact Rounded
+sqtx4348 squareroot 0.0748 -> 0.273  Inexact Rounded
+sqtx4349 squareroot 0.749 -> 0.865  Inexact Rounded
+sqtx4350 squareroot 0.0749 -> 0.274  Inexact Rounded
+sqtx4351 squareroot 0.751 -> 0.867  Inexact Rounded
+sqtx4352 squareroot 0.0751 -> 0.274  Inexact Rounded
+sqtx4353 squareroot 0.752 -> 0.867  Inexact Rounded
+sqtx4354 squareroot 0.0752 -> 0.274  Inexact Rounded
+sqtx4355 squareroot 0.753 -> 0.868  Inexact Rounded
+sqtx4356 squareroot 0.0753 -> 0.274  Inexact Rounded
+sqtx4357 squareroot 0.754 -> 0.868  Inexact Rounded
+sqtx4358 squareroot 0.0754 -> 0.275  Inexact Rounded
+sqtx4359 squareroot 0.755 -> 0.869  Inexact Rounded
+sqtx4360 squareroot 0.0755 -> 0.275  Inexact Rounded
+sqtx4361 squareroot 0.756 -> 0.869  Inexact Rounded
+sqtx4362 squareroot 0.0756 -> 0.275  Inexact Rounded
+sqtx4363 squareroot 0.757 -> 0.870  Inexact Rounded
+sqtx4364 squareroot 0.0757 -> 0.275  Inexact Rounded
+sqtx4365 squareroot 0.758 -> 0.871  Inexact Rounded
+sqtx4366 squareroot 0.0758 -> 0.275  Inexact Rounded
+sqtx4367 squareroot 0.759 -> 0.871  Inexact Rounded
+sqtx4368 squareroot 0.0759 -> 0.275  Inexact Rounded
+sqtx4369 squareroot 0.761 -> 0.872  Inexact Rounded
+sqtx4370 squareroot 0.0761 -> 0.276  Inexact Rounded
+sqtx4371 squareroot 0.762 -> 0.873  Inexact Rounded
+sqtx4372 squareroot 0.0762 -> 0.276  Inexact Rounded
+sqtx4373 squareroot 0.763 -> 0.873  Inexact Rounded
+sqtx4374 squareroot 0.0763 -> 0.276  Inexact Rounded
+sqtx4375 squareroot 0.764 -> 0.874  Inexact Rounded
+sqtx4376 squareroot 0.0764 -> 0.276  Inexact Rounded
+sqtx4377 squareroot 0.765 -> 0.875  Inexact Rounded
+sqtx4378 squareroot 0.0765 -> 0.277  Inexact Rounded
+sqtx4379 squareroot 0.766 -> 0.875  Inexact Rounded
+sqtx4380 squareroot 0.0766 -> 0.277  Inexact Rounded
+sqtx4381 squareroot 0.767 -> 0.876  Inexact Rounded
+sqtx4382 squareroot 0.0767 -> 0.277  Inexact Rounded
+sqtx4383 squareroot 0.768 -> 0.876  Inexact Rounded
+sqtx4384 squareroot 0.0768 -> 0.277  Inexact Rounded
+sqtx4385 squareroot 0.769 -> 0.877  Inexact Rounded
+sqtx4386 squareroot 0.0769 -> 0.277  Inexact Rounded
+sqtx4387 squareroot 0.771 -> 0.878  Inexact Rounded
+sqtx4388 squareroot 0.0771 -> 0.278  Inexact Rounded
+sqtx4389 squareroot 0.772 -> 0.879  Inexact Rounded
+sqtx4390 squareroot 0.0772 -> 0.278  Inexact Rounded
+sqtx4391 squareroot 0.773 -> 0.879  Inexact Rounded
+sqtx4392 squareroot 0.0773 -> 0.278  Inexact Rounded
+sqtx4393 squareroot 0.774 -> 0.880  Inexact Rounded
+sqtx4394 squareroot 0.0774 -> 0.278  Inexact Rounded
+sqtx4395 squareroot 0.775 -> 0.880  Inexact Rounded
+sqtx4396 squareroot 0.0775 -> 0.278  Inexact Rounded
+sqtx4397 squareroot 0.776 -> 0.881  Inexact Rounded
+sqtx4398 squareroot 0.0776 -> 0.279  Inexact Rounded
+sqtx4399 squareroot 0.777 -> 0.881  Inexact Rounded
+sqtx4400 squareroot 0.0777 -> 0.279  Inexact Rounded
+sqtx4401 squareroot 0.778 -> 0.882  Inexact Rounded
+sqtx4402 squareroot 0.0778 -> 0.279  Inexact Rounded
+sqtx4403 squareroot 0.779 -> 0.883  Inexact Rounded
+sqtx4404 squareroot 0.0779 -> 0.279  Inexact Rounded
+sqtx4405 squareroot 0.781 -> 0.884  Inexact Rounded
+sqtx4406 squareroot 0.0781 -> 0.279  Inexact Rounded
+sqtx4407 squareroot 0.782 -> 0.884  Inexact Rounded
+sqtx4408 squareroot 0.0782 -> 0.280  Inexact Rounded
+sqtx4409 squareroot 0.783 -> 0.885  Inexact Rounded
+sqtx4410 squareroot 0.0783 -> 0.280  Inexact Rounded
+sqtx4411 squareroot 0.784 -> 0.885  Inexact Rounded
+sqtx4412 squareroot 0.0784 -> 0.28
+sqtx4413 squareroot 0.785 -> 0.886  Inexact Rounded
+sqtx4414 squareroot 0.0785 -> 0.280  Inexact Rounded
+sqtx4415 squareroot 0.786 -> 0.887  Inexact Rounded
+sqtx4416 squareroot 0.0786 -> 0.280  Inexact Rounded
+sqtx4417 squareroot 0.787 -> 0.887  Inexact Rounded
+sqtx4418 squareroot 0.0787 -> 0.281  Inexact Rounded
+sqtx4419 squareroot 0.788 -> 0.888  Inexact Rounded
+sqtx4420 squareroot 0.0788 -> 0.281  Inexact Rounded
+sqtx4421 squareroot 0.789 -> 0.888  Inexact Rounded
+sqtx4422 squareroot 0.0789 -> 0.281  Inexact Rounded
+sqtx4423 squareroot 0.791 -> 0.889  Inexact Rounded
+sqtx4424 squareroot 0.0791 -> 0.281  Inexact Rounded
+sqtx4425 squareroot 0.792 -> 0.890  Inexact Rounded
+sqtx4426 squareroot 0.0792 -> 0.281  Inexact Rounded
+sqtx4427 squareroot 0.793 -> 0.891  Inexact Rounded
+sqtx4428 squareroot 0.0793 -> 0.282  Inexact Rounded
+sqtx4429 squareroot 0.794 -> 0.891  Inexact Rounded
+sqtx4430 squareroot 0.0794 -> 0.282  Inexact Rounded
+sqtx4431 squareroot 0.795 -> 0.892  Inexact Rounded
+sqtx4432 squareroot 0.0795 -> 0.282  Inexact Rounded
+sqtx4433 squareroot 0.796 -> 0.892  Inexact Rounded
+sqtx4434 squareroot 0.0796 -> 0.282  Inexact Rounded
+sqtx4435 squareroot 0.797 -> 0.893  Inexact Rounded
+sqtx4436 squareroot 0.0797 -> 0.282  Inexact Rounded
+sqtx4437 squareroot 0.798 -> 0.893  Inexact Rounded
+sqtx4438 squareroot 0.0798 -> 0.282  Inexact Rounded
+sqtx4439 squareroot 0.799 -> 0.894  Inexact Rounded
+sqtx4440 squareroot 0.0799 -> 0.283  Inexact Rounded
+sqtx4441 squareroot 0.801 -> 0.895  Inexact Rounded
+sqtx4442 squareroot 0.0801 -> 0.283  Inexact Rounded
+sqtx4443 squareroot 0.802 -> 0.896  Inexact Rounded
+sqtx4444 squareroot 0.0802 -> 0.283  Inexact Rounded
+sqtx4445 squareroot 0.803 -> 0.896  Inexact Rounded
+sqtx4446 squareroot 0.0803 -> 0.283  Inexact Rounded
+sqtx4447 squareroot 0.804 -> 0.897  Inexact Rounded
+sqtx4448 squareroot 0.0804 -> 0.284  Inexact Rounded
+sqtx4449 squareroot 0.805 -> 0.897  Inexact Rounded
+sqtx4450 squareroot 0.0805 -> 0.284  Inexact Rounded
+sqtx4451 squareroot 0.806 -> 0.898  Inexact Rounded
+sqtx4452 squareroot 0.0806 -> 0.284  Inexact Rounded
+sqtx4453 squareroot 0.807 -> 0.898  Inexact Rounded
+sqtx4454 squareroot 0.0807 -> 0.284  Inexact Rounded
+sqtx4455 squareroot 0.808 -> 0.899  Inexact Rounded
+sqtx4456 squareroot 0.0808 -> 0.284  Inexact Rounded
+sqtx4457 squareroot 0.809 -> 0.899  Inexact Rounded
+sqtx4458 squareroot 0.0809 -> 0.284  Inexact Rounded
+sqtx4459 squareroot 0.811 -> 0.901  Inexact Rounded
+sqtx4460 squareroot 0.0811 -> 0.285  Inexact Rounded
+sqtx4461 squareroot 0.812 -> 0.901  Inexact Rounded
+sqtx4462 squareroot 0.0812 -> 0.285  Inexact Rounded
+sqtx4463 squareroot 0.813 -> 0.902  Inexact Rounded
+sqtx4464 squareroot 0.0813 -> 0.285  Inexact Rounded
+sqtx4465 squareroot 0.814 -> 0.902  Inexact Rounded
+sqtx4466 squareroot 0.0814 -> 0.285  Inexact Rounded
+sqtx4467 squareroot 0.815 -> 0.903  Inexact Rounded
+sqtx4468 squareroot 0.0815 -> 0.285  Inexact Rounded
+sqtx4469 squareroot 0.816 -> 0.903  Inexact Rounded
+sqtx4470 squareroot 0.0816 -> 0.286  Inexact Rounded
+sqtx4471 squareroot 0.817 -> 0.904  Inexact Rounded
+sqtx4472 squareroot 0.0817 -> 0.286  Inexact Rounded
+sqtx4473 squareroot 0.818 -> 0.904  Inexact Rounded
+sqtx4474 squareroot 0.0818 -> 0.286  Inexact Rounded
+sqtx4475 squareroot 0.819 -> 0.905  Inexact Rounded
+sqtx4476 squareroot 0.0819 -> 0.286  Inexact Rounded
+sqtx4477 squareroot 0.821 -> 0.906  Inexact Rounded
+sqtx4478 squareroot 0.0821 -> 0.287  Inexact Rounded
+sqtx4479 squareroot 0.822 -> 0.907  Inexact Rounded
+sqtx4480 squareroot 0.0822 -> 0.287  Inexact Rounded
+sqtx4481 squareroot 0.823 -> 0.907  Inexact Rounded
+sqtx4482 squareroot 0.0823 -> 0.287  Inexact Rounded
+sqtx4483 squareroot 0.824 -> 0.908  Inexact Rounded
+sqtx4484 squareroot 0.0824 -> 0.287  Inexact Rounded
+sqtx4485 squareroot 0.825 -> 0.908  Inexact Rounded
+sqtx4486 squareroot 0.0825 -> 0.287  Inexact Rounded
+sqtx4487 squareroot 0.826 -> 0.909  Inexact Rounded
+sqtx4488 squareroot 0.0826 -> 0.287  Inexact Rounded
+sqtx4489 squareroot 0.827 -> 0.909  Inexact Rounded
+sqtx4490 squareroot 0.0827 -> 0.288  Inexact Rounded
+sqtx4491 squareroot 0.828 -> 0.910  Inexact Rounded
+sqtx4492 squareroot 0.0828 -> 0.288  Inexact Rounded
+sqtx4493 squareroot 0.829 -> 0.910  Inexact Rounded
+sqtx4494 squareroot 0.0829 -> 0.288  Inexact Rounded
+sqtx4495 squareroot 0.831 -> 0.912  Inexact Rounded
+sqtx4496 squareroot 0.0831 -> 0.288  Inexact Rounded
+sqtx4497 squareroot 0.832 -> 0.912  Inexact Rounded
+sqtx4498 squareroot 0.0832 -> 0.288  Inexact Rounded
+sqtx4499 squareroot 0.833 -> 0.913  Inexact Rounded
+sqtx4500 squareroot 0.0833 -> 0.289  Inexact Rounded
+sqtx4501 squareroot 0.834 -> 0.913  Inexact Rounded
+sqtx4502 squareroot 0.0834 -> 0.289  Inexact Rounded
+sqtx4503 squareroot 0.835 -> 0.914  Inexact Rounded
+sqtx4504 squareroot 0.0835 -> 0.289  Inexact Rounded
+sqtx4505 squareroot 0.836 -> 0.914  Inexact Rounded
+sqtx4506 squareroot 0.0836 -> 0.289  Inexact Rounded
+sqtx4507 squareroot 0.837 -> 0.915  Inexact Rounded
+sqtx4508 squareroot 0.0837 -> 0.289  Inexact Rounded
+sqtx4509 squareroot 0.838 -> 0.915  Inexact Rounded
+sqtx4510 squareroot 0.0838 -> 0.289  Inexact Rounded
+sqtx4511 squareroot 0.839 -> 0.916  Inexact Rounded
+sqtx4512 squareroot 0.0839 -> 0.290  Inexact Rounded
+sqtx4513 squareroot 0.841 -> 0.917  Inexact Rounded
+sqtx4514 squareroot 0.0841 -> 0.29
+sqtx4515 squareroot 0.842 -> 0.918  Inexact Rounded
+sqtx4516 squareroot 0.0842 -> 0.290  Inexact Rounded
+sqtx4517 squareroot 0.843 -> 0.918  Inexact Rounded
+sqtx4518 squareroot 0.0843 -> 0.290  Inexact Rounded
+sqtx4519 squareroot 0.844 -> 0.919  Inexact Rounded
+sqtx4520 squareroot 0.0844 -> 0.291  Inexact Rounded
+sqtx4521 squareroot 0.845 -> 0.919  Inexact Rounded
+sqtx4522 squareroot 0.0845 -> 0.291  Inexact Rounded
+sqtx4523 squareroot 0.846 -> 0.920  Inexact Rounded
+sqtx4524 squareroot 0.0846 -> 0.291  Inexact Rounded
+sqtx4525 squareroot 0.847 -> 0.920  Inexact Rounded
+sqtx4526 squareroot 0.0847 -> 0.291  Inexact Rounded
+sqtx4527 squareroot 0.848 -> 0.921  Inexact Rounded
+sqtx4528 squareroot 0.0848 -> 0.291  Inexact Rounded
+sqtx4529 squareroot 0.849 -> 0.921  Inexact Rounded
+sqtx4530 squareroot 0.0849 -> 0.291  Inexact Rounded
+sqtx4531 squareroot 0.851 -> 0.922  Inexact Rounded
+sqtx4532 squareroot 0.0851 -> 0.292  Inexact Rounded
+sqtx4533 squareroot 0.852 -> 0.923  Inexact Rounded
+sqtx4534 squareroot 0.0852 -> 0.292  Inexact Rounded
+sqtx4535 squareroot 0.853 -> 0.924  Inexact Rounded
+sqtx4536 squareroot 0.0853 -> 0.292  Inexact Rounded
+sqtx4537 squareroot 0.854 -> 0.924  Inexact Rounded
+sqtx4538 squareroot 0.0854 -> 0.292  Inexact Rounded
+sqtx4539 squareroot 0.855 -> 0.925  Inexact Rounded
+sqtx4540 squareroot 0.0855 -> 0.292  Inexact Rounded
+sqtx4541 squareroot 0.856 -> 0.925  Inexact Rounded
+sqtx4542 squareroot 0.0856 -> 0.293  Inexact Rounded
+sqtx4543 squareroot 0.857 -> 0.926  Inexact Rounded
+sqtx4544 squareroot 0.0857 -> 0.293  Inexact Rounded
+sqtx4545 squareroot 0.858 -> 0.926  Inexact Rounded
+sqtx4546 squareroot 0.0858 -> 0.293  Inexact Rounded
+sqtx4547 squareroot 0.859 -> 0.927  Inexact Rounded
+sqtx4548 squareroot 0.0859 -> 0.293  Inexact Rounded
+sqtx4549 squareroot 0.861 -> 0.928  Inexact Rounded
+sqtx4550 squareroot 0.0861 -> 0.293  Inexact Rounded
+sqtx4551 squareroot 0.862 -> 0.928  Inexact Rounded
+sqtx4552 squareroot 0.0862 -> 0.294  Inexact Rounded
+sqtx4553 squareroot 0.863 -> 0.929  Inexact Rounded
+sqtx4554 squareroot 0.0863 -> 0.294  Inexact Rounded
+sqtx4555 squareroot 0.864 -> 0.930  Inexact Rounded
+sqtx4556 squareroot 0.0864 -> 0.294  Inexact Rounded
+sqtx4557 squareroot 0.865 -> 0.930  Inexact Rounded
+sqtx4558 squareroot 0.0865 -> 0.294  Inexact Rounded
+sqtx4559 squareroot 0.866 -> 0.931  Inexact Rounded
+sqtx4560 squareroot 0.0866 -> 0.294  Inexact Rounded
+sqtx4561 squareroot 0.867 -> 0.931  Inexact Rounded
+sqtx4562 squareroot 0.0867 -> 0.294  Inexact Rounded
+sqtx4563 squareroot 0.868 -> 0.932  Inexact Rounded
+sqtx4564 squareroot 0.0868 -> 0.295  Inexact Rounded
+sqtx4565 squareroot 0.869 -> 0.932  Inexact Rounded
+sqtx4566 squareroot 0.0869 -> 0.295  Inexact Rounded
+sqtx4567 squareroot 0.871 -> 0.933  Inexact Rounded
+sqtx4568 squareroot 0.0871 -> 0.295  Inexact Rounded
+sqtx4569 squareroot 0.872 -> 0.934  Inexact Rounded
+sqtx4570 squareroot 0.0872 -> 0.295  Inexact Rounded
+sqtx4571 squareroot 0.873 -> 0.934  Inexact Rounded
+sqtx4572 squareroot 0.0873 -> 0.295  Inexact Rounded
+sqtx4573 squareroot 0.874 -> 0.935  Inexact Rounded
+sqtx4574 squareroot 0.0874 -> 0.296  Inexact Rounded
+sqtx4575 squareroot 0.875 -> 0.935  Inexact Rounded
+sqtx4576 squareroot 0.0875 -> 0.296  Inexact Rounded
+sqtx4577 squareroot 0.876 -> 0.936  Inexact Rounded
+sqtx4578 squareroot 0.0876 -> 0.296  Inexact Rounded
+sqtx4579 squareroot 0.877 -> 0.936  Inexact Rounded
+sqtx4580 squareroot 0.0877 -> 0.296  Inexact Rounded
+sqtx4581 squareroot 0.878 -> 0.937  Inexact Rounded
+sqtx4582 squareroot 0.0878 -> 0.296  Inexact Rounded
+sqtx4583 squareroot 0.879 -> 0.938  Inexact Rounded
+sqtx4584 squareroot 0.0879 -> 0.296  Inexact Rounded
+sqtx4585 squareroot 0.881 -> 0.939  Inexact Rounded
+sqtx4586 squareroot 0.0881 -> 0.297  Inexact Rounded
+sqtx4587 squareroot 0.882 -> 0.939  Inexact Rounded
+sqtx4588 squareroot 0.0882 -> 0.297  Inexact Rounded
+sqtx4589 squareroot 0.883 -> 0.940  Inexact Rounded
+sqtx4590 squareroot 0.0883 -> 0.297  Inexact Rounded
+sqtx4591 squareroot 0.884 -> 0.940  Inexact Rounded
+sqtx4592 squareroot 0.0884 -> 0.297  Inexact Rounded
+sqtx4593 squareroot 0.885 -> 0.941  Inexact Rounded
+sqtx4594 squareroot 0.0885 -> 0.297  Inexact Rounded
+sqtx4595 squareroot 0.886 -> 0.941  Inexact Rounded
+sqtx4596 squareroot 0.0886 -> 0.298  Inexact Rounded
+sqtx4597 squareroot 0.887 -> 0.942  Inexact Rounded
+sqtx4598 squareroot 0.0887 -> 0.298  Inexact Rounded
+sqtx4599 squareroot 0.888 -> 0.942  Inexact Rounded
+sqtx4600 squareroot 0.0888 -> 0.298  Inexact Rounded
+sqtx4601 squareroot 0.889 -> 0.943  Inexact Rounded
+sqtx4602 squareroot 0.0889 -> 0.298  Inexact Rounded
+sqtx4603 squareroot 0.891 -> 0.944  Inexact Rounded
+sqtx4604 squareroot 0.0891 -> 0.298  Inexact Rounded
+sqtx4605 squareroot 0.892 -> 0.944  Inexact Rounded
+sqtx4606 squareroot 0.0892 -> 0.299  Inexact Rounded
+sqtx4607 squareroot 0.893 -> 0.945  Inexact Rounded
+sqtx4608 squareroot 0.0893 -> 0.299  Inexact Rounded
+sqtx4609 squareroot 0.894 -> 0.946  Inexact Rounded
+sqtx4610 squareroot 0.0894 -> 0.299  Inexact Rounded
+sqtx4611 squareroot 0.895 -> 0.946  Inexact Rounded
+sqtx4612 squareroot 0.0895 -> 0.299  Inexact Rounded
+sqtx4613 squareroot 0.896 -> 0.947  Inexact Rounded
+sqtx4614 squareroot 0.0896 -> 0.299  Inexact Rounded
+sqtx4615 squareroot 0.897 -> 0.947  Inexact Rounded
+sqtx4616 squareroot 0.0897 -> 0.299  Inexact Rounded
+sqtx4617 squareroot 0.898 -> 0.948  Inexact Rounded
+sqtx4618 squareroot 0.0898 -> 0.300  Inexact Rounded
+sqtx4619 squareroot 0.899 -> 0.948  Inexact Rounded
+sqtx4620 squareroot 0.0899 -> 0.300  Inexact Rounded
+sqtx4621 squareroot 0.901 -> 0.949  Inexact Rounded
+sqtx4622 squareroot 0.0901 -> 0.300  Inexact Rounded
+sqtx4623 squareroot 0.902 -> 0.950  Inexact Rounded
+sqtx4624 squareroot 0.0902 -> 0.300  Inexact Rounded
+sqtx4625 squareroot 0.903 -> 0.950  Inexact Rounded
+sqtx4626 squareroot 0.0903 -> 0.300  Inexact Rounded
+sqtx4627 squareroot 0.904 -> 0.951  Inexact Rounded
+sqtx4628 squareroot 0.0904 -> 0.301  Inexact Rounded
+sqtx4629 squareroot 0.905 -> 0.951  Inexact Rounded
+sqtx4630 squareroot 0.0905 -> 0.301  Inexact Rounded
+sqtx4631 squareroot 0.906 -> 0.952  Inexact Rounded
+sqtx4632 squareroot 0.0906 -> 0.301  Inexact Rounded
+sqtx4633 squareroot 0.907 -> 0.952  Inexact Rounded
+sqtx4634 squareroot 0.0907 -> 0.301  Inexact Rounded
+sqtx4635 squareroot 0.908 -> 0.953  Inexact Rounded
+sqtx4636 squareroot 0.0908 -> 0.301  Inexact Rounded
+sqtx4637 squareroot 0.909 -> 0.953  Inexact Rounded
+sqtx4638 squareroot 0.0909 -> 0.301  Inexact Rounded
+sqtx4639 squareroot 0.911 -> 0.954  Inexact Rounded
+sqtx4640 squareroot 0.0911 -> 0.302  Inexact Rounded
+sqtx4641 squareroot 0.912 -> 0.955  Inexact Rounded
+sqtx4642 squareroot 0.0912 -> 0.302  Inexact Rounded
+sqtx4643 squareroot 0.913 -> 0.956  Inexact Rounded
+sqtx4644 squareroot 0.0913 -> 0.302  Inexact Rounded
+sqtx4645 squareroot 0.914 -> 0.956  Inexact Rounded
+sqtx4646 squareroot 0.0914 -> 0.302  Inexact Rounded
+sqtx4647 squareroot 0.915 -> 0.957  Inexact Rounded
+sqtx4648 squareroot 0.0915 -> 0.302  Inexact Rounded
+sqtx4649 squareroot 0.916 -> 0.957  Inexact Rounded
+sqtx4650 squareroot 0.0916 -> 0.303  Inexact Rounded
+sqtx4651 squareroot 0.917 -> 0.958  Inexact Rounded
+sqtx4652 squareroot 0.0917 -> 0.303  Inexact Rounded
+sqtx4653 squareroot 0.918 -> 0.958  Inexact Rounded
+sqtx4654 squareroot 0.0918 -> 0.303  Inexact Rounded
+sqtx4655 squareroot 0.919 -> 0.959  Inexact Rounded
+sqtx4656 squareroot 0.0919 -> 0.303  Inexact Rounded
+sqtx4657 squareroot 0.921 -> 0.960  Inexact Rounded
+sqtx4658 squareroot 0.0921 -> 0.303  Inexact Rounded
+sqtx4659 squareroot 0.922 -> 0.960  Inexact Rounded
+sqtx4660 squareroot 0.0922 -> 0.304  Inexact Rounded
+sqtx4661 squareroot 0.923 -> 0.961  Inexact Rounded
+sqtx4662 squareroot 0.0923 -> 0.304  Inexact Rounded
+sqtx4663 squareroot 0.924 -> 0.961  Inexact Rounded
+sqtx4664 squareroot 0.0924 -> 0.304  Inexact Rounded
+sqtx4665 squareroot 0.925 -> 0.962  Inexact Rounded
+sqtx4666 squareroot 0.0925 -> 0.304  Inexact Rounded
+sqtx4667 squareroot 0.926 -> 0.962  Inexact Rounded
+sqtx4668 squareroot 0.0926 -> 0.304  Inexact Rounded
+sqtx4669 squareroot 0.927 -> 0.963  Inexact Rounded
+sqtx4670 squareroot 0.0927 -> 0.304  Inexact Rounded
+sqtx4671 squareroot 0.928 -> 0.963  Inexact Rounded
+sqtx4672 squareroot 0.0928 -> 0.305  Inexact Rounded
+sqtx4673 squareroot 0.929 -> 0.964  Inexact Rounded
+sqtx4674 squareroot 0.0929 -> 0.305  Inexact Rounded
+sqtx4675 squareroot 0.931 -> 0.965  Inexact Rounded
+sqtx4676 squareroot 0.0931 -> 0.305  Inexact Rounded
+sqtx4677 squareroot 0.932 -> 0.965  Inexact Rounded
+sqtx4678 squareroot 0.0932 -> 0.305  Inexact Rounded
+sqtx4679 squareroot 0.933 -> 0.966  Inexact Rounded
+sqtx4680 squareroot 0.0933 -> 0.305  Inexact Rounded
+sqtx4681 squareroot 0.934 -> 0.966  Inexact Rounded
+sqtx4682 squareroot 0.0934 -> 0.306  Inexact Rounded
+sqtx4683 squareroot 0.935 -> 0.967  Inexact Rounded
+sqtx4684 squareroot 0.0935 -> 0.306  Inexact Rounded
+sqtx4685 squareroot 0.936 -> 0.967  Inexact Rounded
+sqtx4686 squareroot 0.0936 -> 0.306  Inexact Rounded
+sqtx4687 squareroot 0.937 -> 0.968  Inexact Rounded
+sqtx4688 squareroot 0.0937 -> 0.306  Inexact Rounded
+sqtx4689 squareroot 0.938 -> 0.969  Inexact Rounded
+sqtx4690 squareroot 0.0938 -> 0.306  Inexact Rounded
+sqtx4691 squareroot 0.939 -> 0.969  Inexact Rounded
+sqtx4692 squareroot 0.0939 -> 0.306  Inexact Rounded
+sqtx4693 squareroot 0.941 -> 0.970  Inexact Rounded
+sqtx4694 squareroot 0.0941 -> 0.307  Inexact Rounded
+sqtx4695 squareroot 0.942 -> 0.971  Inexact Rounded
+sqtx4696 squareroot 0.0942 -> 0.307  Inexact Rounded
+sqtx4697 squareroot 0.943 -> 0.971  Inexact Rounded
+sqtx4698 squareroot 0.0943 -> 0.307  Inexact Rounded
+sqtx4699 squareroot 0.944 -> 0.972  Inexact Rounded
+sqtx4700 squareroot 0.0944 -> 0.307  Inexact Rounded
+sqtx4701 squareroot 0.945 -> 0.972  Inexact Rounded
+sqtx4702 squareroot 0.0945 -> 0.307  Inexact Rounded
+sqtx4703 squareroot 0.946 -> 0.973  Inexact Rounded
+sqtx4704 squareroot 0.0946 -> 0.308  Inexact Rounded
+sqtx4705 squareroot 0.947 -> 0.973  Inexact Rounded
+sqtx4706 squareroot 0.0947 -> 0.308  Inexact Rounded
+sqtx4707 squareroot 0.948 -> 0.974  Inexact Rounded
+sqtx4708 squareroot 0.0948 -> 0.308  Inexact Rounded
+sqtx4709 squareroot 0.949 -> 0.974  Inexact Rounded
+sqtx4710 squareroot 0.0949 -> 0.308  Inexact Rounded
+sqtx4711 squareroot 0.951 -> 0.975  Inexact Rounded
+sqtx4712 squareroot 0.0951 -> 0.308  Inexact Rounded
+sqtx4713 squareroot 0.952 -> 0.976  Inexact Rounded
+sqtx4714 squareroot 0.0952 -> 0.309  Inexact Rounded
+sqtx4715 squareroot 0.953 -> 0.976  Inexact Rounded
+sqtx4716 squareroot 0.0953 -> 0.309  Inexact Rounded
+sqtx4717 squareroot 0.954 -> 0.977  Inexact Rounded
+sqtx4718 squareroot 0.0954 -> 0.309  Inexact Rounded
+sqtx4719 squareroot 0.955 -> 0.977  Inexact Rounded
+sqtx4720 squareroot 0.0955 -> 0.309  Inexact Rounded
+sqtx4721 squareroot 0.956 -> 0.978  Inexact Rounded
+sqtx4722 squareroot 0.0956 -> 0.309  Inexact Rounded
+sqtx4723 squareroot 0.957 -> 0.978  Inexact Rounded
+sqtx4724 squareroot 0.0957 -> 0.309  Inexact Rounded
+sqtx4725 squareroot 0.958 -> 0.979  Inexact Rounded
+sqtx4726 squareroot 0.0958 -> 0.310  Inexact Rounded
+sqtx4727 squareroot 0.959 -> 0.979  Inexact Rounded
+sqtx4728 squareroot 0.0959 -> 0.310  Inexact Rounded
+sqtx4729 squareroot 0.961 -> 0.980  Inexact Rounded
+sqtx4730 squareroot 0.0961 -> 0.31
+sqtx4731 squareroot 0.962 -> 0.981  Inexact Rounded
+sqtx4732 squareroot 0.0962 -> 0.310  Inexact Rounded
+sqtx4733 squareroot 0.963 -> 0.981  Inexact Rounded
+sqtx4734 squareroot 0.0963 -> 0.310  Inexact Rounded
+sqtx4735 squareroot 0.964 -> 0.982  Inexact Rounded
+sqtx4736 squareroot 0.0964 -> 0.310  Inexact Rounded
+sqtx4737 squareroot 0.965 -> 0.982  Inexact Rounded
+sqtx4738 squareroot 0.0965 -> 0.311  Inexact Rounded
+sqtx4739 squareroot 0.966 -> 0.983  Inexact Rounded
+sqtx4740 squareroot 0.0966 -> 0.311  Inexact Rounded
+sqtx4741 squareroot 0.967 -> 0.983  Inexact Rounded
+sqtx4742 squareroot 0.0967 -> 0.311  Inexact Rounded
+sqtx4743 squareroot 0.968 -> 0.984  Inexact Rounded
+sqtx4744 squareroot 0.0968 -> 0.311  Inexact Rounded
+sqtx4745 squareroot 0.969 -> 0.984  Inexact Rounded
+sqtx4746 squareroot 0.0969 -> 0.311  Inexact Rounded
+sqtx4747 squareroot 0.971 -> 0.985  Inexact Rounded
+sqtx4748 squareroot 0.0971 -> 0.312  Inexact Rounded
+sqtx4749 squareroot 0.972 -> 0.986  Inexact Rounded
+sqtx4750 squareroot 0.0972 -> 0.312  Inexact Rounded
+sqtx4751 squareroot 0.973 -> 0.986  Inexact Rounded
+sqtx4752 squareroot 0.0973 -> 0.312  Inexact Rounded
+sqtx4753 squareroot 0.974 -> 0.987  Inexact Rounded
+sqtx4754 squareroot 0.0974 -> 0.312  Inexact Rounded
+sqtx4755 squareroot 0.975 -> 0.987  Inexact Rounded
+sqtx4756 squareroot 0.0975 -> 0.312  Inexact Rounded
+sqtx4757 squareroot 0.976 -> 0.988  Inexact Rounded
+sqtx4758 squareroot 0.0976 -> 0.312  Inexact Rounded
+sqtx4759 squareroot 0.977 -> 0.988  Inexact Rounded
+sqtx4760 squareroot 0.0977 -> 0.313  Inexact Rounded
+sqtx4761 squareroot 0.978 -> 0.989  Inexact Rounded
+sqtx4762 squareroot 0.0978 -> 0.313  Inexact Rounded
+sqtx4763 squareroot 0.979 -> 0.989  Inexact Rounded
+sqtx4764 squareroot 0.0979 -> 0.313  Inexact Rounded
+sqtx4765 squareroot 0.981 -> 0.990  Inexact Rounded
+sqtx4766 squareroot 0.0981 -> 0.313  Inexact Rounded
+sqtx4767 squareroot 0.982 -> 0.991  Inexact Rounded
+sqtx4768 squareroot 0.0982 -> 0.313  Inexact Rounded
+sqtx4769 squareroot 0.983 -> 0.991  Inexact Rounded
+sqtx4770 squareroot 0.0983 -> 0.314  Inexact Rounded
+sqtx4771 squareroot 0.984 -> 0.992  Inexact Rounded
+sqtx4772 squareroot 0.0984 -> 0.314  Inexact Rounded
+sqtx4773 squareroot 0.985 -> 0.992  Inexact Rounded
+sqtx4774 squareroot 0.0985 -> 0.314  Inexact Rounded
+sqtx4775 squareroot 0.986 -> 0.993  Inexact Rounded
+sqtx4776 squareroot 0.0986 -> 0.314  Inexact Rounded
+sqtx4777 squareroot 0.987 -> 0.993  Inexact Rounded
+sqtx4778 squareroot 0.0987 -> 0.314  Inexact Rounded
+sqtx4779 squareroot 0.988 -> 0.994  Inexact Rounded
+sqtx4780 squareroot 0.0988 -> 0.314  Inexact Rounded
+sqtx4781 squareroot 0.989 -> 0.994  Inexact Rounded
+sqtx4782 squareroot 0.0989 -> 0.314  Inexact Rounded
+sqtx4783 squareroot 0.991 -> 0.995  Inexact Rounded
+sqtx4784 squareroot 0.0991 -> 0.315  Inexact Rounded
+sqtx4785 squareroot 0.992 -> 0.996  Inexact Rounded
+sqtx4786 squareroot 0.0992 -> 0.315  Inexact Rounded
+sqtx4787 squareroot 0.993 -> 0.996  Inexact Rounded
+sqtx4788 squareroot 0.0993 -> 0.315  Inexact Rounded
+sqtx4789 squareroot 0.994 -> 0.997  Inexact Rounded
+sqtx4790 squareroot 0.0994 -> 0.315  Inexact Rounded
+sqtx4791 squareroot 0.995 -> 0.997  Inexact Rounded
+sqtx4792 squareroot 0.0995 -> 0.315  Inexact Rounded
+sqtx4793 squareroot 0.996 -> 0.998  Inexact Rounded
+sqtx4794 squareroot 0.0996 -> 0.316  Inexact Rounded
+sqtx4795 squareroot 0.997 -> 0.998  Inexact Rounded
+sqtx4796 squareroot 0.0997 -> 0.316  Inexact Rounded
+sqtx4797 squareroot 0.998 -> 0.999  Inexact Rounded
+sqtx4798 squareroot 0.0998 -> 0.316  Inexact Rounded
+sqtx4799 squareroot 0.999 -> 0.999  Inexact Rounded
+sqtx4800 squareroot 0.0999 -> 0.316  Inexact Rounded
+
+-- A group of precision 4 tests where Hull & Abrham adjustments are
+-- needed in some cases (both up and down) [see Hull1985b]
+rounding:    half_even
+maxExponent: 999
+minexponent: -999
+precision:   4
+sqtx5001 squareroot 0.0118  -> 0.1086  Inexact Rounded
+sqtx5002 squareroot 0.119   -> 0.3450  Inexact Rounded
+sqtx5003 squareroot 0.0119  -> 0.1091  Inexact Rounded
+sqtx5004 squareroot 0.121   -> 0.3479  Inexact Rounded
+sqtx5005 squareroot 0.0121  -> 0.11
+sqtx5006 squareroot 0.122   -> 0.3493  Inexact Rounded
+sqtx5007 squareroot 0.0122  -> 0.1105  Inexact Rounded
+sqtx5008 squareroot 0.123   -> 0.3507  Inexact Rounded
+sqtx5009 squareroot 0.494   -> 0.7029  Inexact Rounded
+sqtx5010 squareroot 0.0669  -> 0.2587  Inexact Rounded
+sqtx5011 squareroot 0.9558  -> 0.9777  Inexact Rounded
+sqtx5012 squareroot 0.9348  -> 0.9669  Inexact Rounded
+sqtx5013 squareroot 0.9345  -> 0.9667  Inexact Rounded
+sqtx5014 squareroot 0.09345 -> 0.3057  Inexact Rounded
+sqtx5015 squareroot 0.9346  -> 0.9667  Inexact Rounded
+sqtx5016 squareroot 0.09346 -> 0.3057  Inexact Rounded
+sqtx5017 squareroot 0.9347  -> 0.9668  Inexact Rounded
+
+-- examples from decArith
+precision: 9
+sqtx700 squareroot  0       -> '0'
+sqtx701 squareroot  -0      -> '-0'
+sqtx702 squareroot  0.39    -> 0.624499800    Inexact Rounded
+sqtx703 squareroot  100     -> '10'
+sqtx704 squareroot  1.00    -> '1.0'
+sqtx705 squareroot  7       -> '2.64575131'   Inexact Rounded
+sqtx706 squareroot  10      -> 3.16227766     Inexact Rounded
+
+-- some one-offs
+precision: 9
+sqtx711 squareroot  0.1     -> 0.316227766    Inexact Rounded
+sqtx712 squareroot  0.2     -> 0.447213595    Inexact Rounded
+sqtx713 squareroot  0.3     -> 0.547722558    Inexact Rounded
+sqtx714 squareroot  0.4     -> 0.632455532    Inexact Rounded
+sqtx715 squareroot  0.5     -> 0.707106781    Inexact Rounded
+sqtx716 squareroot  0.6     -> 0.774596669    Inexact Rounded
+sqtx717 squareroot  0.7     -> 0.836660027    Inexact Rounded
+sqtx718 squareroot  0.8     -> 0.894427191    Inexact Rounded
+sqtx719 squareroot  0.9     -> 0.948683298    Inexact Rounded
+precision: 10               -- note no normalizatoin here
+sqtx720 squareroot +0.1     -> 0.3162277660   Inexact Rounded
+precision: 11
+sqtx721 squareroot +0.1     -> 0.31622776602  Inexact Rounded
+precision: 12
+sqtx722 squareroot +0.1     -> 0.316227766017 Inexact Rounded
+precision: 9
+sqtx723 squareroot  0.39    -> 0.624499800    Inexact Rounded
+precision: 15
+sqtx724 squareroot  0.39    -> 0.624499799839840 Inexact Rounded
+
+-- discussion cases
+precision: 7
+sqtx731 squareroot     9   ->   3
+sqtx732 squareroot   100   ->  10
+sqtx733 squareroot   123   ->  11.09054  Inexact Rounded
+sqtx734 squareroot   144   ->  12
+sqtx735 squareroot   156   ->  12.49000  Inexact Rounded
+sqtx736 squareroot 10000   -> 100
+
+-- values close to overflow (if there were input rounding)
+maxexponent: 99
+minexponent: -99
+precision: 5
+sqtx760 squareroot  9.9997E+99   -> 9.9998E+49 Inexact Rounded
+sqtx761 squareroot  9.9998E+99   -> 9.9999E+49 Inexact Rounded
+sqtx762 squareroot  9.9999E+99   -> 9.9999E+49 Inexact Rounded
+sqtx763 squareroot  9.99991E+99  -> 1.0000E+50 Inexact Rounded
+sqtx764 squareroot  9.99994E+99  -> 1.0000E+50 Inexact Rounded
+sqtx765 squareroot  9.99995E+99  -> 1.0000E+50 Inexact Rounded
+sqtx766 squareroot  9.99999E+99  -> 1.0000E+50 Inexact Rounded
+precision: 9
+sqtx770 squareroot  9.9997E+99   -> 9.99985000E+49  Inexact Rounded
+sqtx771 squareroot  9.9998E+99   -> 9.99990000E+49  Inexact Rounded
+sqtx772 squareroot  9.9999E+99   -> 9.99995000E+49  Inexact Rounded
+sqtx773 squareroot  9.99991E+99  -> 9.99995500E+49  Inexact Rounded
+sqtx774 squareroot  9.99994E+99  -> 9.99997000E+49  Inexact Rounded
+sqtx775 squareroot  9.99995E+99  -> 9.99997500E+49  Inexact Rounded
+sqtx776 squareroot  9.99999E+99  -> 9.99999500E+49  Inexact Rounded
+precision: 20
+sqtx780 squareroot  9.9997E+99   -> '9.9998499988749831247E+49' Inexact Rounded
+sqtx781 squareroot  9.9998E+99   -> '9.9998999994999949999E+49' Inexact Rounded
+sqtx782 squareroot  9.9999E+99   -> '9.9999499998749993750E+49' Inexact Rounded
+sqtx783 squareroot  9.99991E+99  -> '9.9999549998987495444E+49' Inexact Rounded
+sqtx784 squareroot  9.99994E+99  -> '9.9999699999549998650E+49' Inexact Rounded
+sqtx785 squareroot  9.99995E+99  -> '9.9999749999687499219E+49' Inexact Rounded
+sqtx786 squareroot  9.99999E+99  -> '9.9999949999987499994E+49' Inexact Rounded
+
+-- subnormals and underflows [these can only result when eMax is < digits+1]
+-- Etiny = -(Emax + (precision-1))
+-- start with subnormal operands and normal results
+maxexponent: 9
+minexponent: -9
+precision: 9                -- Etiny=-17
+sqtx800 squareroot  1E-17   -> 3.16227766E-9 Inexact Rounded
+sqtx801 squareroot 10E-17   -> 1.0E-8
+precision: 10               -- Etiny=-18
+sqtx802 squareroot 10E-18   -> 3.162277660E-9 Inexact Rounded
+sqtx803 squareroot  1E-18   -> 1E-9
+
+precision: 11               -- Etiny=-19
+sqtx804 squareroot  1E-19   -> 3.162277660E-10 Underflow Subnormal Inexact Rounded
+sqtx805 squareroot 10E-19   -> 1.0E-9
+precision: 12               -- Etiny=-20
+sqtx806 squareroot 10E-20   -> 3.1622776602E-10 Underflow Subnormal Inexact Rounded
+sqtx807 squareroot  1E-20   -> 1E-10 Subnormal   -- Exact Subnormal case
+
+precision: 13               -- Etiny=-21
+sqtx808 squareroot  1E-21   -> 3.1622776602E-11 Underflow Subnormal Inexact Rounded
+sqtx809 squareroot 10E-21   -> 1.0E-10 Subnormal
+precision: 14               -- Etiny=-22
+sqtx810 squareroot  1E-21   -> 3.16227766017E-11 Underflow Subnormal Inexact Rounded
+sqtx811 squareroot 10E-22   -> 3.16227766017E-11 Underflow Subnormal Inexact Rounded
+sqtx812 squareroot  1E-22   -> 1E-11 Subnormal   -- Exact Subnormal case
+
+
+-- special values
+maxexponent: 999
+minexponent: -999
+sqtx820 squareroot   Inf    -> Infinity
+sqtx821 squareroot  -Inf    -> NaN Invalid_operation
+sqtx822 squareroot   NaN    -> NaN
+sqtx823 squareroot  sNaN    -> NaN Invalid_operation
+-- propagating NaNs
+sqtx824 squareroot  sNaN123 ->  NaN123 Invalid_operation
+sqtx825 squareroot -sNaN321 -> -NaN321 Invalid_operation
+sqtx826 squareroot   NaN456 ->  NaN456
+sqtx827 squareroot  -NaN654 -> -NaN654
+sqtx828 squareroot   NaN1   ->  NaN1
+
+-- Null test
+sqtx900 squareroot  # -> NaN Invalid_operation

Added: sandbox/trunk/decimal-c/decimaltestdata/subtract.decTest
==============================================================================
--- (empty file)
+++ sandbox/trunk/decimal-c/decimaltestdata/subtract.decTest	Tue May 23 13:34:01 2006
@@ -0,0 +1,863 @@
+------------------------------------------------------------------------
+-- subtract.decTest -- decimal subtraction                            --
+-- Copyright (c) IBM Corporation, 1981, 2004.  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 at uk.ibm.com                                                   --
+------------------------------------------------------------------------
+version: 2.39
+
+extended:    1
+precision:   9
+rounding:    half_up
+maxExponent: 384
+minexponent: -383
+
+-- [first group are 'quick confidence check']
+subx001 subtract  0   0  -> '0'
+subx002 subtract  1   1  -> '0'
+subx003 subtract  1   2  -> '-1'
+subx004 subtract  2   1  -> '1'
+subx005 subtract  2   2  -> '0'
+subx006 subtract  3   2  -> '1'
+subx007 subtract  2   3  -> '-1'
+
+subx011 subtract -0   0  -> '-0'
+subx012 subtract -1   1  -> '-2'
+subx013 subtract -1   2  -> '-3'
+subx014 subtract -2   1  -> '-3'
+subx015 subtract -2   2  -> '-4'
+subx016 subtract -3   2  -> '-5'
+subx017 subtract -2   3  -> '-5'
+
+subx021 subtract  0  -0  -> '0'
+subx022 subtract  1  -1  -> '2'
+subx023 subtract  1  -2  -> '3'
+subx024 subtract  2  -1  -> '3'
+subx025 subtract  2  -2  -> '4'
+subx026 subtract  3  -2  -> '5'
+subx027 subtract  2  -3  -> '5'
+
+subx030 subtract  11  1  -> 10
+subx031 subtract  10  1  ->  9
+subx032 subtract  9   1  ->  8
+subx033 subtract  1   1  ->  0
+subx034 subtract  0   1  -> -1
+subx035 subtract -1   1  -> -2
+subx036 subtract -9   1  -> -10
+subx037 subtract -10  1  -> -11
+subx038 subtract -11  1  -> -12
+
+subx040 subtract '5.75' '3.3'  -> '2.45'
+subx041 subtract '5'    '-3'   -> '8'
+subx042 subtract '-5'   '-3'   -> '-2'
+subx043 subtract '-7'   '2.5'  -> '-9.5'
+subx044 subtract '0.7'  '0.3'  -> '0.4'
+subx045 subtract '1.3'  '0.3'  -> '1.0'
+subx046 subtract '1.25' '1.25' -> '0.00'
+
+subx050 subtract '1.23456789'    '1.00000000' -> '0.23456789'
+subx051 subtract '1.23456789'    '1.00000089' -> '0.23456700'
+subx052 subtract '0.5555555559'    '0.0000000001' -> '0.555555556' Inexact Rounded
+subx053 subtract '0.5555555559'    '0.0000000005' -> '0.555555555' Inexact Rounded
+subx054 subtract '0.4444444444'    '0.1111111111' -> '0.333333333' Inexact Rounded
+subx055 subtract '1.0000000000'    '0.00000001' -> '0.999999990' Rounded
+subx056 subtract '0.4444444444999'    '0' -> '0.444444444' Inexact Rounded
+subx057 subtract '0.4444444445000'    '0' -> '0.444444445' Inexact Rounded
+
+subx060 subtract '70'    '10000e+9' -> '-1.00000000E+13' Inexact Rounded
+subx061 subtract '700'    '10000e+9' -> '-1.00000000E+13' Inexact Rounded
+subx062 subtract '7000'    '10000e+9' -> '-9.99999999E+12' Inexact Rounded
+subx063 subtract '70000'    '10000e+9' -> '-9.99999993E+12' Rounded
+subx064 subtract '700000'    '10000e+9' -> '-9.99999930E+12' Rounded
+  -- symmetry:
+subx065 subtract '10000e+9'    '70' -> '1.00000000E+13' Inexact Rounded
+subx066 subtract '10000e+9'    '700' -> '1.00000000E+13' Inexact Rounded
+subx067 subtract '10000e+9'    '7000' -> '9.99999999E+12' Inexact Rounded
+subx068 subtract '10000e+9'    '70000' -> '9.99999993E+12' Rounded
+subx069 subtract '10000e+9'    '700000' -> '9.99999930E+12' Rounded
+
+  -- change precision
+subx080 subtract '10000e+9'    '70000' -> '9.99999993E+12' Rounded
+precision: 6
+subx081 subtract '10000e+9'    '70000' -> '1.00000E+13' Inexact Rounded
+precision: 9
+
+  -- some of the next group are really constructor tests
+subx090 subtract '00.0'    '0.0'  -> '0.0'
+subx091 subtract '00.0'    '0.00' -> '0.00'
+subx092 subtract '0.00'    '00.0' -> '0.00'
+subx093 subtract '00.0'    '0.00' -> '0.00'
+subx094 subtract '0.00'    '00.0' -> '0.00'
+subx095 subtract '3'    '.3'   -> '2.7'
+subx096 subtract '3.'   '.3'   -> '2.7'
+subx097 subtract '3.0'  '.3'   -> '2.7'
+subx098 subtract '3.00' '.3'   -> '2.70'
+subx099 subtract '3'    '3'    -> '0'
+subx100 subtract '3'    '+3'   -> '0'
+subx101 subtract '3'    '-3'   -> '6'
+subx102 subtract '3'    '0.3'  -> '2.7'
+subx103 subtract '3.'   '0.3'  -> '2.7'
+subx104 subtract '3.0'  '0.3'  -> '2.7'
+subx105 subtract '3.00' '0.3'  -> '2.70'
+subx106 subtract '3'    '3.0'  -> '0.0'
+subx107 subtract '3'    '+3.0' -> '0.0'
+subx108 subtract '3'    '-3.0' -> '6.0'
+
+-- the above all from add; massaged and extended.  Now some new ones...
+-- [particularly important for comparisons]
+-- NB: -xE-8 below were non-exponents pre-ANSI X3-274, and -1E-7 or 0E-7
+-- with input rounding.
+subx120 subtract  '10.23456784'    '10.23456789'  -> '-5E-8'
+subx121 subtract  '10.23456785'    '10.23456789'  -> '-4E-8'
+subx122 subtract  '10.23456786'    '10.23456789'  -> '-3E-8'
+subx123 subtract  '10.23456787'    '10.23456789'  -> '-2E-8'
+subx124 subtract  '10.23456788'    '10.23456789'  -> '-1E-8'
+subx125 subtract  '10.23456789'    '10.23456789'  -> '0E-8'
+subx126 subtract  '10.23456790'    '10.23456789'  -> '1E-8'
+subx127 subtract  '10.23456791'    '10.23456789'  -> '2E-8'
+subx128 subtract  '10.23456792'    '10.23456789'  -> '3E-8'
+subx129 subtract  '10.23456793'    '10.23456789'  -> '4E-8'
+subx130 subtract  '10.23456794'    '10.23456789'  -> '5E-8'
+subx131 subtract  '10.23456781'    '10.23456786'  -> '-5E-8'
+subx132 subtract  '10.23456782'    '10.23456786'  -> '-4E-8'
+subx133 subtract  '10.23456783'    '10.23456786'  -> '-3E-8'
+subx134 subtract  '10.23456784'    '10.23456786'  -> '-2E-8'
+subx135 subtract  '10.23456785'    '10.23456786'  -> '-1E-8'
+subx136 subtract  '10.23456786'    '10.23456786'  -> '0E-8'
+subx137 subtract  '10.23456787'    '10.23456786'  -> '1E-8'
+subx138 subtract  '10.23456788'    '10.23456786'  -> '2E-8'
+subx139 subtract  '10.23456789'    '10.23456786'  -> '3E-8'
+subx140 subtract  '10.23456790'    '10.23456786'  -> '4E-8'
+subx141 subtract  '10.23456791'    '10.23456786'  -> '5E-8'
+subx142 subtract  '1'              '0.999999999'  -> '1E-9'
+subx143 subtract  '0.999999999'    '1'            -> '-1E-9'
+subx144 subtract  '-10.23456780'   '-10.23456786' -> '6E-8'
+subx145 subtract  '-10.23456790'   '-10.23456786' -> '-4E-8'
+subx146 subtract  '-10.23456791'   '-10.23456786' -> '-5E-8'
+
+precision: 3
+subx150 subtract '12345678900000' '9999999999999'  -> 2.35E+12 Inexact Rounded
+subx151 subtract '9999999999999'  '12345678900000' -> -2.35E+12 Inexact Rounded
+precision: 6
+subx152 subtract '12345678900000' '9999999999999'  -> 2.34568E+12 Inexact Rounded
+subx153 subtract '9999999999999'  '12345678900000' -> -2.34568E+12 Inexact Rounded
+precision: 9
+subx154 subtract '12345678900000' '9999999999999'  -> 2.34567890E+12 Inexact Rounded
+subx155 subtract '9999999999999'  '12345678900000' -> -2.34567890E+12 Inexact Rounded
+precision: 12
+subx156 subtract '12345678900000' '9999999999999'  -> 2.34567890000E+12 Inexact Rounded
+subx157 subtract '9999999999999'  '12345678900000' -> -2.34567890000E+12 Inexact Rounded
+precision: 15
+subx158 subtract '12345678900000' '9999999999999'  -> 2345678900001
+subx159 subtract '9999999999999'  '12345678900000' -> -2345678900001
+precision: 9
+
+-- additional scaled arithmetic tests [0.97 problem]
+subx160 subtract '0'     '.1'      -> '-0.1'
+subx161 subtract '00'    '.97983'  -> '-0.97983'
+subx162 subtract '0'     '.9'      -> '-0.9'
+subx163 subtract '0'     '0.102'   -> '-0.102'
+subx164 subtract '0'     '.4'      -> '-0.4'
+subx165 subtract '0'     '.307'    -> '-0.307'
+subx166 subtract '0'     '.43822'  -> '-0.43822'
+subx167 subtract '0'     '.911'    -> '-0.911'
+subx168 subtract '.0'    '.02'     -> '-0.02'
+subx169 subtract '00'    '.392'    -> '-0.392'
+subx170 subtract '0'     '.26'     -> '-0.26'
+subx171 subtract '0'     '0.51'    -> '-0.51'
+subx172 subtract '0'     '.2234'   -> '-0.2234'
+subx173 subtract '0'     '.2'      -> '-0.2'
+subx174 subtract '.0'    '.0008'   -> '-0.0008'
+-- 0. on left
+subx180 subtract '0.0'     '-.1'      -> '0.1'
+subx181 subtract '0.00'    '-.97983'  -> '0.97983'
+subx182 subtract '0.0'     '-.9'      -> '0.9'
+subx183 subtract '0.0'     '-0.102'   -> '0.102'
+subx184 subtract '0.0'     '-.4'      -> '0.4'
+subx185 subtract '0.0'     '-.307'    -> '0.307'
+subx186 subtract '0.0'     '-.43822'  -> '0.43822'
+subx187 subtract '0.0'     '-.911'    -> '0.911'
+subx188 subtract '0.0'     '-.02'     -> '0.02'
+subx189 subtract '0.00'    '-.392'    -> '0.392'
+subx190 subtract '0.0'     '-.26'     -> '0.26'
+subx191 subtract '0.0'     '-0.51'    -> '0.51'
+subx192 subtract '0.0'     '-.2234'   -> '0.2234'
+subx193 subtract '0.0'     '-.2'      -> '0.2'
+subx194 subtract '0.0'     '-.0008'   -> '0.0008'
+-- negatives of same
+subx200 subtract '0'     '-.1'      -> '0.1'
+subx201 subtract '00'    '-.97983'  -> '0.97983'
+subx202 subtract '0'     '-.9'      -> '0.9'
+subx203 subtract '0'     '-0.102'   -> '0.102'
+subx204 subtract '0'     '-.4'      -> '0.4'
+subx205 subtract '0'     '-.307'    -> '0.307'
+subx206 subtract '0'     '-.43822'  -> '0.43822'
+subx207 subtract '0'     '-.911'    -> '0.911'
+subx208 subtract '.0'    '-.02'     -> '0.02'
+subx209 subtract '00'    '-.392'    -> '0.392'
+subx210 subtract '0'     '-.26'     -> '0.26'
+subx211 subtract '0'     '-0.51'    -> '0.51'
+subx212 subtract '0'     '-.2234'   -> '0.2234'
+subx213 subtract '0'     '-.2'      -> '0.2'
+subx214 subtract '.0'    '-.0008'   -> '0.0008'
+
+-- more fixed, LHS swaps [really the same as testcases under add]
+subx220 subtract '-56267E-12' 0  -> '-5.6267E-8'
+subx221 subtract '-56267E-11' 0  -> '-5.6267E-7'
+subx222 subtract '-56267E-10' 0  -> '-0.0000056267'
+subx223 subtract '-56267E-9'  0  -> '-0.000056267'
+subx224 subtract '-56267E-8'  0  -> '-0.00056267'
+subx225 subtract '-56267E-7'  0  -> '-0.0056267'
+subx226 subtract '-56267E-6'  0  -> '-0.056267'
+subx227 subtract '-56267E-5'  0  -> '-0.56267'
+subx228 subtract '-56267E-2'  0  -> '-562.67'
+subx229 subtract '-56267E-1'  0  -> '-5626.7'
+subx230 subtract '-56267E-0'  0  -> '-56267'
+-- symmetry ...
+subx240 subtract 0 '-56267E-12'  -> '5.6267E-8'
+subx241 subtract 0 '-56267E-11'  -> '5.6267E-7'
+subx242 subtract 0 '-56267E-10'  -> '0.0000056267'
+subx243 subtract 0 '-56267E-9'   -> '0.000056267'
+subx244 subtract 0 '-56267E-8'   -> '0.00056267'
+subx245 subtract 0 '-56267E-7'   -> '0.0056267'
+subx246 subtract 0 '-56267E-6'   -> '0.056267'
+subx247 subtract 0 '-56267E-5'   -> '0.56267'
+subx248 subtract 0 '-56267E-2'   -> '562.67'
+subx249 subtract 0 '-56267E-1'   -> '5626.7'
+subx250 subtract 0 '-56267E-0'   -> '56267'
+
+-- now some more from the 'new' add
+precision: 9
+subx301 subtract '1.23456789'  '1.00000000' -> '0.23456789'
+subx302 subtract '1.23456789'  '1.00000011' -> '0.23456778'
+
+subx311 subtract '0.4444444444'  '0.5555555555' -> '-0.111111111' Inexact Rounded
+subx312 subtract '0.4444444440'  '0.5555555555' -> '-0.111111112' Inexact Rounded
+subx313 subtract '0.4444444444'  '0.5555555550' -> '-0.111111111' Inexact Rounded
+subx314 subtract '0.44444444449'    '0' -> '0.444444444' Inexact Rounded
+subx315 subtract '0.444444444499'   '0' -> '0.444444444' Inexact Rounded
+subx316 subtract '0.4444444444999'  '0' -> '0.444444444' Inexact Rounded
+subx317 subtract '0.4444444445000'  '0' -> '0.444444445' Inexact Rounded
+subx318 subtract '0.4444444445001'  '0' -> '0.444444445' Inexact Rounded
+subx319 subtract '0.444444444501'   '0' -> '0.444444445' Inexact Rounded
+subx320 subtract '0.44444444451'    '0' -> '0.444444445' Inexact Rounded
+
+-- some carrying effects
+subx321 subtract '0.9998'  '0.0000' -> '0.9998'
+subx322 subtract '0.9998'  '0.0001' -> '0.9997'
+subx323 subtract '0.9998'  '0.0002' -> '0.9996'
+subx324 subtract '0.9998'  '0.0003' -> '0.9995'
+subx325 subtract '0.9998'  '-0.0000' -> '0.9998'
+subx326 subtract '0.9998'  '-0.0001' -> '0.9999'
+subx327 subtract '0.9998'  '-0.0002' -> '1.0000'
+subx328 subtract '0.9998'  '-0.0003' -> '1.0001'
+
+subx330 subtract '70'  '10000e+9' -> '-1.00000000E+13' Inexact Rounded
+subx331 subtract '700'  '10000e+9' -> '-1.00000000E+13' Inexact Rounded
+subx332 subtract '7000'  '10000e+9' -> '-9.99999999E+12' Inexact Rounded
+subx333 subtract '70000'  '10000e+9' -> '-9.99999993E+12' Rounded
+subx334 subtract '700000'  '10000e+9' -> '-9.99999930E+12' Rounded
+subx335 subtract '7000000'  '10000e+9' -> '-9.99999300E+12' Rounded
+-- symmetry:
+subx340 subtract '10000e+9'  '70' -> '1.00000000E+13' Inexact Rounded
+subx341 subtract '10000e+9'  '700' -> '1.00000000E+13' Inexact Rounded
+subx342 subtract '10000e+9'  '7000' -> '9.99999999E+12' Inexact Rounded
+subx343 subtract '10000e+9'  '70000' -> '9.99999993E+12' Rounded
+subx344 subtract '10000e+9'  '700000' -> '9.99999930E+12' Rounded
+subx345 subtract '10000e+9'  '7000000' -> '9.99999300E+12' Rounded
+
+-- same, higher precision
+precision: 15
+subx346 subtract '10000e+9'  '7'   -> '9999999999993'
+subx347 subtract '10000e+9'  '70'   -> '9999999999930'
+subx348 subtract '10000e+9'  '700'   -> '9999999999300'
+subx349 subtract '10000e+9'  '7000'   -> '9999999993000'
+subx350 subtract '10000e+9'  '70000'   -> '9999999930000'
+subx351 subtract '10000e+9'  '700000'   -> '9999999300000'
+subx352 subtract '7' '10000e+9'   -> '-9999999999993'
+subx353 subtract '70' '10000e+9'   -> '-9999999999930'
+subx354 subtract '700' '10000e+9'   -> '-9999999999300'
+subx355 subtract '7000' '10000e+9'   -> '-9999999993000'
+subx356 subtract '70000' '10000e+9'   -> '-9999999930000'
+subx357 subtract '700000' '10000e+9'   -> '-9999999300000'
+
+-- zero preservation
+precision: 6
+subx360 subtract '10000e+9'  '70000' -> '1.00000E+13' Inexact Rounded
+subx361 subtract 1 '0.0001' -> '0.9999'
+subx362 subtract 1 '0.00001' -> '0.99999'
+subx363 subtract 1 '0.000001' -> '0.999999'
+subx364 subtract 1 '0.0000001' -> '1.00000' Inexact Rounded
+subx365 subtract 1 '0.00000001' -> '1.00000' Inexact Rounded
+
+-- some funny zeros [in case of bad signum]
+subx370 subtract 1  0  -> 1
+subx371 subtract 1 0.  -> 1
+subx372 subtract 1  .0 -> 1.0
+subx373 subtract 1 0.0 -> 1.0
+subx374 subtract  0  1 -> -1
+subx375 subtract 0.  1 -> -1
+subx376 subtract  .0 1 -> -1.0
+subx377 subtract 0.0 1 -> -1.0
+
+precision: 9
+
+-- leading 0 digit before round
+subx910 subtract -103519362 -51897955.3 -> -51621406.7
+subx911 subtract 159579.444 89827.5229 -> 69751.9211
+
+subx920 subtract 333.123456 33.1234566 -> 299.999999 Inexact Rounded
+subx921 subtract 333.123456 33.1234565 -> 300.000000 Inexact Rounded
+subx922 subtract 133.123456 33.1234565 ->  99.9999995
+subx923 subtract 133.123456 33.1234564 ->  99.9999996
+subx924 subtract 133.123456 33.1234540 -> 100.000002 Rounded
+subx925 subtract 133.123456 43.1234560 ->  90.0000000
+subx926 subtract 133.123456 43.1234561 ->  89.9999999
+subx927 subtract 133.123456 43.1234566 ->  89.9999994
+subx928 subtract 101.123456 91.1234566 ->   9.9999994
+subx929 subtract 101.123456 99.1234566 ->   1.9999994
+
+-- more of the same; probe for cluster boundary problems
+precision: 1
+subx930 subtract  11 2           -> 9
+precision: 2
+subx932 subtract 101 2           -> 99
+precision: 3
+subx934 subtract 101 2.1         -> 98.9
+subx935 subtract 101 92.01       ->  8.99
+precision: 4
+subx936 subtract 101 2.01        -> 98.99
+subx937 subtract 101 92.01       ->  8.99
+subx938 subtract 101 92.006      ->  8.994
+precision: 5
+subx939 subtract 101 2.001       -> 98.999
+subx940 subtract 101 92.001      ->  8.999
+subx941 subtract 101 92.0006     ->  8.9994
+precision: 6
+subx942 subtract 101 2.0001      -> 98.9999
+subx943 subtract 101 92.0001     ->  8.9999
+subx944 subtract 101 92.00006    ->  8.99994
+precision: 7
+subx945 subtract 101 2.00001     -> 98.99999
+subx946 subtract 101 92.00001    ->  8.99999
+subx947 subtract 101 92.000006   ->  8.999994
+precision: 8
+subx948 subtract 101 2.000001    -> 98.999999
+subx949 subtract 101 92.000001   ->  8.999999
+subx950 subtract 101 92.0000006  ->  8.9999994
+precision: 9
+subx951 subtract 101 2.0000001   -> 98.9999999
+subx952 subtract 101 92.0000001  ->  8.9999999
+subx953 subtract 101 92.00000006 ->  8.99999994
+
+precision: 9
+
+-- more LHS swaps [were fixed]
+subx390 subtract '-56267E-10'   0 ->  '-0.0000056267'
+subx391 subtract '-56267E-6'    0 ->  '-0.056267'
+subx392 subtract '-56267E-5'    0 ->  '-0.56267'
+subx393 subtract '-56267E-4'    0 ->  '-5.6267'
+subx394 subtract '-56267E-3'    0 ->  '-56.267'
+subx395 subtract '-56267E-2'    0 ->  '-562.67'
+subx396 subtract '-56267E-1'    0 ->  '-5626.7'
+subx397 subtract '-56267E-0'    0 ->  '-56267'
+subx398 subtract '-5E-10'       0 ->  '-5E-10'
+subx399 subtract '-5E-7'        0 ->  '-5E-7'
+subx400 subtract '-5E-6'        0 ->  '-0.000005'
+subx401 subtract '-5E-5'        0 ->  '-0.00005'
+subx402 subtract '-5E-4'        0 ->  '-0.0005'
+subx403 subtract '-5E-1'        0 ->  '-0.5'
+subx404 subtract '-5E0'         0 ->  '-5'
+subx405 subtract '-5E1'         0 ->  '-50'
+subx406 subtract '-5E5'         0 ->  '-500000'
+subx407 subtract '-5E8'         0 ->  '-500000000'
+subx408 subtract '-5E9'         0 ->  '-5.00000000E+9'   Rounded
+subx409 subtract '-5E10'        0 ->  '-5.00000000E+10'  Rounded
+subx410 subtract '-5E11'        0 ->  '-5.00000000E+11'  Rounded
+subx411 subtract '-5E100'       0 ->  '-5.00000000E+100' Rounded
+
+-- more RHS swaps [were fixed]
+subx420 subtract 0  '-56267E-10' ->  '0.0000056267'
+subx421 subtract 0  '-56267E-6'  ->  '0.056267'
+subx422 subtract 0  '-56267E-5'  ->  '0.56267'
+subx423 subtract 0  '-56267E-4'  ->  '5.6267'
+subx424 subtract 0  '-56267E-3'  ->  '56.267'
+subx425 subtract 0  '-56267E-2'  ->  '562.67'
+subx426 subtract 0  '-56267E-1'  ->  '5626.7'
+subx427 subtract 0  '-56267E-0'  ->  '56267'
+subx428 subtract 0  '-5E-10'     ->  '5E-10'
+subx429 subtract 0  '-5E-7'      ->  '5E-7'
+subx430 subtract 0  '-5E-6'      ->  '0.000005'
+subx431 subtract 0  '-5E-5'      ->  '0.00005'
+subx432 subtract 0  '-5E-4'      ->  '0.0005'
+subx433 subtract 0  '-5E-1'      ->  '0.5'
+subx434 subtract 0  '-5E0'       ->  '5'
+subx435 subtract 0  '-5E1'       ->  '50'
+subx436 subtract 0  '-5E5'       ->  '500000'
+subx437 subtract 0  '-5E8'       ->  '500000000'
+subx438 subtract 0  '-5E9'       ->  '5.00000000E+9'    Rounded
+subx439 subtract 0  '-5E10'      ->  '5.00000000E+10'   Rounded
+subx440 subtract 0  '-5E11'      ->  '5.00000000E+11'   Rounded
+subx441 subtract 0  '-5E100'     ->  '5.00000000E+100'  Rounded
+
+
+-- try borderline precision, with carries, etc.
+precision: 15
+subx461 subtract '1E+12' '1'       -> '999999999999'
+subx462 subtract '1E+12' '-1.11'   -> '1000000000001.11'
+subx463 subtract '1.11'  '-1E+12'  -> '1000000000001.11'
+subx464 subtract '-1'    '-1E+12'  -> '999999999999'
+subx465 subtract '7E+12' '1'       -> '6999999999999'
+subx466 subtract '7E+12' '-1.11'   -> '7000000000001.11'
+subx467 subtract '1.11'  '-7E+12'  -> '7000000000001.11'
+subx468 subtract '-1'    '-7E+12'  -> '6999999999999'
+
+--                 123456789012345       123456789012345      1 23456789012345
+subx470 subtract '0.444444444444444'  '-0.555555555555563' -> '1.00000000000001' Inexact Rounded
+subx471 subtract '0.444444444444444'  '-0.555555555555562' -> '1.00000000000001' Inexact Rounded
+subx472 subtract '0.444444444444444'  '-0.555555555555561' -> '1.00000000000001' Inexact Rounded
+subx473 subtract '0.444444444444444'  '-0.555555555555560' -> '1.00000000000000' Inexact Rounded
+subx474 subtract '0.444444444444444'  '-0.555555555555559' -> '1.00000000000000' Inexact Rounded
+subx475 subtract '0.444444444444444'  '-0.555555555555558' -> '1.00000000000000' Inexact Rounded
+subx476 subtract '0.444444444444444'  '-0.555555555555557' -> '1.00000000000000' Inexact Rounded
+subx477 subtract '0.444444444444444'  '-0.555555555555556' -> '1.00000000000000' Rounded
+subx478 subtract '0.444444444444444'  '-0.555555555555555' -> '0.999999999999999'
+subx479 subtract '0.444444444444444'  '-0.555555555555554' -> '0.999999999999998'
+subx480 subtract '0.444444444444444'  '-0.555555555555553' -> '0.999999999999997'
+subx481 subtract '0.444444444444444'  '-0.555555555555552' -> '0.999999999999996'
+subx482 subtract '0.444444444444444'  '-0.555555555555551' -> '0.999999999999995'
+subx483 subtract '0.444444444444444'  '-0.555555555555550' -> '0.999999999999994'
+
+-- and some more, including residue effects and different roundings
+precision: 9
+rounding: half_up
+subx500 subtract '123456789' 0             -> '123456789'
+subx501 subtract '123456789' 0.000000001   -> '123456789' Inexact Rounded
+subx502 subtract '123456789' 0.000001      -> '123456789' Inexact Rounded
+subx503 subtract '123456789' 0.1           -> '123456789' Inexact Rounded
+subx504 subtract '123456789' 0.4           -> '123456789' Inexact Rounded
+subx505 subtract '123456789' 0.49          -> '123456789' Inexact Rounded
+subx506 subtract '123456789' 0.499999      -> '123456789' Inexact Rounded
+subx507 subtract '123456789' 0.499999999   -> '123456789' Inexact Rounded
+subx508 subtract '123456789' 0.5           -> '123456789' Inexact Rounded
+subx509 subtract '123456789' 0.500000001   -> '123456788' Inexact Rounded
+subx510 subtract '123456789' 0.500001      -> '123456788' Inexact Rounded
+subx511 subtract '123456789' 0.51          -> '123456788' Inexact Rounded
+subx512 subtract '123456789' 0.6           -> '123456788' Inexact Rounded
+subx513 subtract '123456789' 0.9           -> '123456788' Inexact Rounded
+subx514 subtract '123456789' 0.99999       -> '123456788' Inexact Rounded
+subx515 subtract '123456789' 0.999999999   -> '123456788' Inexact Rounded
+subx516 subtract '123456789' 1             -> '123456788'
+subx517 subtract '123456789' 1.000000001   -> '123456788' Inexact Rounded
+subx518 subtract '123456789' 1.00001       -> '123456788' Inexact Rounded
+subx519 subtract '123456789' 1.1           -> '123456788' Inexact Rounded
+
+rounding: half_even
+subx520 subtract '123456789' 0             -> '123456789'
+subx521 subtract '123456789' 0.000000001   -> '123456789' Inexact Rounded
+subx522 subtract '123456789' 0.000001      -> '123456789' Inexact Rounded
+subx523 subtract '123456789' 0.1           -> '123456789' Inexact Rounded
+subx524 subtract '123456789' 0.4           -> '123456789' Inexact Rounded
+subx525 subtract '123456789' 0.49          -> '123456789' Inexact Rounded
+subx526 subtract '123456789' 0.499999      -> '123456789' Inexact Rounded
+subx527 subtract '123456789' 0.499999999   -> '123456789' Inexact Rounded
+subx528 subtract '123456789' 0.5           -> '123456788' Inexact Rounded
+subx529 subtract '123456789' 0.500000001   -> '123456788' Inexact Rounded
+subx530 subtract '123456789' 0.500001      -> '123456788' Inexact Rounded
+subx531 subtract '123456789' 0.51          -> '123456788' Inexact Rounded
+subx532 subtract '123456789' 0.6           -> '123456788' Inexact Rounded
+subx533 subtract '123456789' 0.9           -> '123456788' Inexact Rounded
+subx534 subtract '123456789' 0.99999       -> '123456788' Inexact Rounded
+subx535 subtract '123456789' 0.999999999   -> '123456788' Inexact Rounded
+subx536 subtract '123456789' 1             -> '123456788'
+subx537 subtract '123456789' 1.00000001    -> '123456788' Inexact Rounded
+subx538 subtract '123456789' 1.00001       -> '123456788' Inexact Rounded
+subx539 subtract '123456789' 1.1           -> '123456788' Inexact Rounded
+-- critical few with even bottom digit...
+subx540 subtract '123456788' 0.499999999   -> '123456788' Inexact Rounded
+subx541 subtract '123456788' 0.5           -> '123456788' Inexact Rounded
+subx542 subtract '123456788' 0.500000001   -> '123456787' Inexact Rounded
+
+rounding: down
+subx550 subtract '123456789' 0             -> '123456789'
+subx551 subtract '123456789' 0.000000001   -> '123456788' Inexact Rounded
+subx552 subtract '123456789' 0.000001      -> '123456788' Inexact Rounded
+subx553 subtract '123456789' 0.1           -> '123456788' Inexact Rounded
+subx554 subtract '123456789' 0.4           -> '123456788' Inexact Rounded
+subx555 subtract '123456789' 0.49          -> '123456788' Inexact Rounded
+subx556 subtract '123456789' 0.499999      -> '123456788' Inexact Rounded
+subx557 subtract '123456789' 0.499999999   -> '123456788' Inexact Rounded
+subx558 subtract '123456789' 0.5           -> '123456788' Inexact Rounded
+subx559 subtract '123456789' 0.500000001   -> '123456788' Inexact Rounded
+subx560 subtract '123456789' 0.500001      -> '123456788' Inexact Rounded
+subx561 subtract '123456789' 0.51          -> '123456788' Inexact Rounded
+subx562 subtract '123456789' 0.6           -> '123456788' Inexact Rounded
+subx563 subtract '123456789' 0.9           -> '123456788' Inexact Rounded
+subx564 subtract '123456789' 0.99999       -> '123456788' Inexact Rounded
+subx565 subtract '123456789' 0.999999999   -> '123456788' Inexact Rounded
+subx566 subtract '123456789' 1             -> '123456788'
+subx567 subtract '123456789' 1.00000001    -> '123456787' Inexact Rounded
+subx568 subtract '123456789' 1.00001       -> '123456787' Inexact Rounded
+subx569 subtract '123456789' 1.1           -> '123456787' Inexact Rounded
+
+-- symmetry...
+rounding: half_up
+subx600 subtract 0             '123456789' -> '-123456789'
+subx601 subtract 0.000000001   '123456789' -> '-123456789' Inexact Rounded
+subx602 subtract 0.000001      '123456789' -> '-123456789' Inexact Rounded
+subx603 subtract 0.1           '123456789' -> '-123456789' Inexact Rounded
+subx604 subtract 0.4           '123456789' -> '-123456789' Inexact Rounded
+subx605 subtract 0.49          '123456789' -> '-123456789' Inexact Rounded
+subx606 subtract 0.499999      '123456789' -> '-123456789' Inexact Rounded
+subx607 subtract 0.499999999   '123456789' -> '-123456789' Inexact Rounded
+subx608 subtract 0.5           '123456789' -> '-123456789' Inexact Rounded
+subx609 subtract 0.500000001   '123456789' -> '-123456788' Inexact Rounded
+subx610 subtract 0.500001      '123456789' -> '-123456788' Inexact Rounded
+subx611 subtract 0.51          '123456789' -> '-123456788' Inexact Rounded
+subx612 subtract 0.6           '123456789' -> '-123456788' Inexact Rounded
+subx613 subtract 0.9           '123456789' -> '-123456788' Inexact Rounded
+subx614 subtract 0.99999       '123456789' -> '-123456788' Inexact Rounded
+subx615 subtract 0.999999999   '123456789' -> '-123456788' Inexact Rounded
+subx616 subtract 1             '123456789' -> '-123456788'
+subx617 subtract 1.000000001   '123456789' -> '-123456788' Inexact Rounded
+subx618 subtract 1.00001       '123456789' -> '-123456788' Inexact Rounded
+subx619 subtract 1.1           '123456789' -> '-123456788' Inexact Rounded
+
+rounding: half_even
+subx620 subtract 0             '123456789' -> '-123456789'
+subx621 subtract 0.000000001   '123456789' -> '-123456789' Inexact Rounded
+subx622 subtract 0.000001      '123456789' -> '-123456789' Inexact Rounded
+subx623 subtract 0.1           '123456789' -> '-123456789' Inexact Rounded
+subx624 subtract 0.4           '123456789' -> '-123456789' Inexact Rounded
+subx625 subtract 0.49          '123456789' -> '-123456789' Inexact Rounded
+subx626 subtract 0.499999      '123456789' -> '-123456789' Inexact Rounded
+subx627 subtract 0.499999999   '123456789' -> '-123456789' Inexact Rounded
+subx628 subtract 0.5           '123456789' -> '-123456788' Inexact Rounded
+subx629 subtract 0.500000001   '123456789' -> '-123456788' Inexact Rounded
+subx630 subtract 0.500001      '123456789' -> '-123456788' Inexact Rounded
+subx631 subtract 0.51          '123456789' -> '-123456788' Inexact Rounded
+subx632 subtract 0.6           '123456789' -> '-123456788' Inexact Rounded
+subx633 subtract 0.9           '123456789' -> '-123456788' Inexact Rounded
+subx634 subtract 0.99999       '123456789' -> '-123456788' Inexact Rounded
+subx635 subtract 0.999999999   '123456789' -> '-123456788' Inexact Rounded
+subx636 subtract 1             '123456789' -> '-123456788'
+subx637 subtract 1.00000001    '123456789' -> '-123456788' Inexact Rounded
+subx638 subtract 1.00001       '123456789' -> '-123456788' Inexact Rounded
+subx639 subtract 1.1           '123456789' -> '-123456788' Inexact Rounded
+-- critical few with even bottom digit...
+subx640 subtract 0.499999999   '123456788' -> '-123456788' Inexact Rounded
+subx641 subtract 0.5           '123456788' -> '-123456788' Inexact Rounded
+subx642 subtract 0.500000001   '123456788' -> '-123456787' Inexact Rounded
+
+rounding: down
+subx650 subtract 0             '123456789' -> '-123456789'
+subx651 subtract 0.000000001   '123456789' -> '-123456788' Inexact Rounded
+subx652 subtract 0.000001      '123456789' -> '-123456788' Inexact Rounded
+subx653 subtract 0.1           '123456789' -> '-123456788' Inexact Rounded
+subx654 subtract 0.4           '123456789' -> '-123456788' Inexact Rounded
+subx655 subtract 0.49          '123456789' -> '-123456788' Inexact Rounded
+subx656 subtract 0.499999      '123456789' -> '-123456788' Inexact Rounded
+subx657 subtract 0.499999999   '123456789' -> '-123456788' Inexact Rounded
+subx658 subtract 0.5           '123456789' -> '-123456788' Inexact Rounded
+subx659 subtract 0.500000001   '123456789' -> '-123456788' Inexact Rounded
+subx660 subtract 0.500001      '123456789' -> '-123456788' Inexact Rounded
+subx661 subtract 0.51          '123456789' -> '-123456788' Inexact Rounded
+subx662 subtract 0.6           '123456789' -> '-123456788' Inexact Rounded
+subx663 subtract 0.9           '123456789' -> '-123456788' Inexact Rounded
+subx664 subtract 0.99999       '123456789' -> '-123456788' Inexact Rounded
+subx665 subtract 0.999999999   '123456789' -> '-123456788' Inexact Rounded
+subx666 subtract 1             '123456789' -> '-123456788'
+subx667 subtract 1.00000001    '123456789' -> '-123456787' Inexact Rounded
+subx668 subtract 1.00001       '123456789' -> '-123456787' Inexact Rounded
+subx669 subtract 1.1           '123456789' -> '-123456787' Inexact Rounded
+
+
+-- lots of leading zeros in intermediate result, and showing effects of
+-- input rounding would have affected the following
+precision: 9
+rounding: half_up
+subx670 subtract '123456789' '123456788.1' -> 0.9
+subx671 subtract '123456789' '123456788.9' -> 0.1
+subx672 subtract '123456789' '123456789.1' -> -0.1
+subx673 subtract '123456789' '123456789.5' -> -0.5
+subx674 subtract '123456789' '123456789.9' -> -0.9
+
+rounding: half_even
+subx680 subtract '123456789' '123456788.1' -> 0.9
+subx681 subtract '123456789' '123456788.9' -> 0.1
+subx682 subtract '123456789' '123456789.1' -> -0.1
+subx683 subtract '123456789' '123456789.5' -> -0.5
+subx684 subtract '123456789' '123456789.9' -> -0.9
+
+subx685 subtract '123456788' '123456787.1' -> 0.9
+subx686 subtract '123456788' '123456787.9' -> 0.1
+subx687 subtract '123456788' '123456788.1' -> -0.1
+subx688 subtract '123456788' '123456788.5' -> -0.5
+subx689 subtract '123456788' '123456788.9' -> -0.9
+
+rounding: down
+subx690 subtract '123456789' '123456788.1' -> 0.9
+subx691 subtract '123456789' '123456788.9' -> 0.1
+subx692 subtract '123456789' '123456789.1' -> -0.1
+subx693 subtract '123456789' '123456789.5' -> -0.5
+subx694 subtract '123456789' '123456789.9' -> -0.9
+
+-- input preparation tests
+rounding: half_up
+precision: 3
+
+subx700 subtract '12345678900000'  -9999999999999 ->  '2.23E+13' Inexact Rounded
+subx701 subtract  '9999999999999' -12345678900000 ->  '2.23E+13' Inexact Rounded
+subx702 subtract '12E+3'  '-3456' ->  '1.55E+4' Inexact Rounded
+subx703 subtract '12E+3'  '-3446' ->  '1.54E+4' Inexact Rounded
+subx704 subtract '12E+3'  '-3454' ->  '1.55E+4' Inexact Rounded
+subx705 subtract '12E+3'  '-3444' ->  '1.54E+4' Inexact Rounded
+
+subx706 subtract '3456'  '-12E+3' ->  '1.55E+4' Inexact Rounded
+subx707 subtract '3446'  '-12E+3' ->  '1.54E+4' Inexact Rounded
+subx708 subtract '3454'  '-12E+3' ->  '1.55E+4' Inexact Rounded
+subx709 subtract '3444'  '-12E+3' ->  '1.54E+4' Inexact Rounded
+
+-- overflow and underflow tests [subnormals now possible]
+maxexponent: 999999999
+minexponent: -999999999
+precision: 9
+rounding: down
+subx710 subtract 1E+999999999    -9E+999999999   -> 9.99999999E+999999999 Overflow Inexact Rounded
+subx711 subtract 9E+999999999    -1E+999999999   -> 9.99999999E+999999999 Overflow Inexact Rounded
+rounding: half_up
+subx712 subtract 1E+999999999    -9E+999999999   -> Infinity Overflow Inexact Rounded
+subx713 subtract 9E+999999999    -1E+999999999   -> Infinity Overflow Inexact Rounded
+subx714 subtract -1.1E-999999999 -1E-999999999   -> -1E-1000000000 Subnormal
+subx715 subtract 1E-999999999    +1.1e-999999999 -> -1E-1000000000 Subnormal
+subx716 subtract -1E+999999999   +9E+999999999   -> -Infinity Overflow Inexact Rounded
+subx717 subtract -9E+999999999   +1E+999999999   -> -Infinity Overflow Inexact Rounded
+subx718 subtract +1.1E-999999999 +1E-999999999   -> 1E-1000000000 Subnormal
+subx719 subtract -1E-999999999   -1.1e-999999999 -> 1E-1000000000 Subnormal
+
+precision: 3
+subx720 subtract 1  9.999E+999999999   -> -Infinity Inexact Overflow Rounded
+subx721 subtract 1 -9.999E+999999999   ->  Infinity Inexact Overflow Rounded
+subx722 subtract    9.999E+999999999 1 ->  Infinity Inexact Overflow Rounded
+subx723 subtract   -9.999E+999999999 1 -> -Infinity Inexact Overflow Rounded
+subx724 subtract 1  9.999E+999999999   -> -Infinity Inexact Overflow Rounded
+subx725 subtract 1 -9.999E+999999999   ->  Infinity Inexact Overflow Rounded
+subx726 subtract    9.999E+999999999 1 ->  Infinity Inexact Overflow Rounded
+subx727 subtract   -9.999E+999999999 1 -> -Infinity Inexact Overflow Rounded
+
+-- [more below]
+
+-- long operand checks
+maxexponent: 999
+minexponent: -999
+precision: 9
+sub731 subtract 12345678000 0 ->  1.23456780E+10 Rounded
+sub732 subtract 0 12345678000 -> -1.23456780E+10 Rounded
+sub733 subtract 1234567800  0 ->  1.23456780E+9 Rounded
+sub734 subtract 0 1234567800  -> -1.23456780E+9 Rounded
+sub735 subtract 1234567890  0 ->  1.23456789E+9 Rounded
+sub736 subtract 0 1234567890  -> -1.23456789E+9 Rounded
+sub737 subtract 1234567891  0 ->  1.23456789E+9 Inexact Rounded
+sub738 subtract 0 1234567891  -> -1.23456789E+9 Inexact Rounded
+sub739 subtract 12345678901 0 ->  1.23456789E+10 Inexact Rounded
+sub740 subtract 0 12345678901 -> -1.23456789E+10 Inexact Rounded
+sub741 subtract 1234567896  0 ->  1.23456790E+9 Inexact Rounded
+sub742 subtract 0 1234567896  -> -1.23456790E+9 Inexact Rounded
+
+precision: 15
+sub751 subtract 12345678000 0 ->  12345678000
+sub752 subtract 0 12345678000 -> -12345678000
+sub753 subtract 1234567800  0 ->  1234567800
+sub754 subtract 0 1234567800  -> -1234567800
+sub755 subtract 1234567890  0 ->  1234567890
+sub756 subtract 0 1234567890  -> -1234567890
+sub757 subtract 1234567891  0 ->  1234567891
+sub758 subtract 0 1234567891  -> -1234567891
+sub759 subtract 12345678901 0 ->  12345678901
+sub760 subtract 0 12345678901 -> -12345678901
+sub761 subtract 1234567896  0 ->  1234567896
+sub762 subtract 0 1234567896  -> -1234567896
+
+-- Specials
+subx780 subtract -Inf   Inf   -> -Infinity
+subx781 subtract -Inf   1000  -> -Infinity
+subx782 subtract -Inf   1     -> -Infinity
+subx783 subtract -Inf  -0     -> -Infinity
+subx784 subtract -Inf  -1     -> -Infinity
+subx785 subtract -Inf  -1000  -> -Infinity
+subx787 subtract -1000  Inf   -> -Infinity
+subx788 subtract -Inf   Inf   -> -Infinity
+subx789 subtract -1     Inf   -> -Infinity
+subx790 subtract  0     Inf   -> -Infinity
+subx791 subtract  1     Inf   -> -Infinity
+subx792 subtract  1000  Inf   -> -Infinity
+
+subx800 subtract  Inf   Inf   ->  NaN  Invalid_operation
+subx801 subtract  Inf   1000  ->  Infinity
+subx802 subtract  Inf   1     ->  Infinity
+subx803 subtract  Inf   0     ->  Infinity
+subx804 subtract  Inf  -0     ->  Infinity
+subx805 subtract  Inf  -1     ->  Infinity
+subx806 subtract  Inf  -1000  ->  Infinity
+subx807 subtract  Inf  -Inf   ->  Infinity
+subx808 subtract -1000 -Inf   ->  Infinity
+subx809 subtract -Inf  -Inf   ->  NaN  Invalid_operation
+subx810 subtract -1    -Inf   ->  Infinity
+subx811 subtract -0    -Inf   ->  Infinity
+subx812 subtract  0    -Inf   ->  Infinity
+subx813 subtract  1    -Inf   ->  Infinity
+subx814 subtract  1000 -Inf   ->  Infinity
+subx815 subtract  Inf  -Inf   ->  Infinity
+
+subx821 subtract  NaN   Inf   ->  NaN
+subx822 subtract -NaN   1000  -> -NaN
+subx823 subtract  NaN   1     ->  NaN
+subx824 subtract  NaN   0     ->  NaN
+subx825 subtract  NaN  -0     ->  NaN
+subx826 subtract  NaN  -1     ->  NaN
+subx827 subtract  NaN  -1000  ->  NaN
+subx828 subtract  NaN  -Inf   ->  NaN
+subx829 subtract -NaN   NaN   -> -NaN
+subx830 subtract -Inf   NaN   ->  NaN
+subx831 subtract -1000  NaN   ->  NaN
+subx832 subtract -1     NaN   ->  NaN
+subx833 subtract -0     NaN   ->  NaN
+subx834 subtract  0     NaN   ->  NaN
+subx835 subtract  1     NaN   ->  NaN
+subx836 subtract  1000 -NaN   -> -NaN
+subx837 subtract  Inf   NaN   ->  NaN
+
+subx841 subtract  sNaN  Inf   ->  NaN  Invalid_operation
+subx842 subtract -sNaN  1000  -> -NaN  Invalid_operation
+subx843 subtract  sNaN  1     ->  NaN  Invalid_operation
+subx844 subtract  sNaN  0     ->  NaN  Invalid_operation
+subx845 subtract  sNaN -0     ->  NaN  Invalid_operation
+subx846 subtract  sNaN -1     ->  NaN  Invalid_operation
+subx847 subtract  sNaN -1000  ->  NaN  Invalid_operation
+subx848 subtract  sNaN  NaN   ->  NaN  Invalid_operation
+subx849 subtract  sNaN sNaN   ->  NaN  Invalid_operation
+subx850 subtract  NaN  sNaN   ->  NaN  Invalid_operation
+subx851 subtract -Inf -sNaN   -> -NaN  Invalid_operation
+subx852 subtract -1000 sNaN   ->  NaN  Invalid_operation
+subx853 subtract -1    sNaN   ->  NaN  Invalid_operation
+subx854 subtract -0    sNaN   ->  NaN  Invalid_operation
+subx855 subtract  0    sNaN   ->  NaN  Invalid_operation
+subx856 subtract  1    sNaN   ->  NaN  Invalid_operation
+subx857 subtract  1000 sNaN   ->  NaN  Invalid_operation
+subx858 subtract  Inf  sNaN   ->  NaN  Invalid_operation
+subx859 subtract  NaN  sNaN   ->  NaN  Invalid_operation
+
+-- propagating NaNs
+subx861 subtract  NaN01   -Inf     ->  NaN1
+subx862 subtract -NaN02   -1000    -> -NaN2
+subx863 subtract  NaN03    1000    ->  NaN3
+subx864 subtract  NaN04    Inf     ->  NaN4
+subx865 subtract  NaN05    NaN61   ->  NaN5
+subx866 subtract -Inf     -NaN71   -> -NaN71
+subx867 subtract -1000     NaN81   ->  NaN81
+subx868 subtract  1000     NaN91   ->  NaN91
+subx869 subtract  Inf      NaN101  ->  NaN101
+subx871 subtract  sNaN011  -Inf    ->  NaN11  Invalid_operation
+subx872 subtract  sNaN012  -1000   ->  NaN12  Invalid_operation
+subx873 subtract -sNaN013   1000   -> -NaN13  Invalid_operation
+subx874 subtract  sNaN014   NaN171 ->  NaN14  Invalid_operation
+subx875 subtract  sNaN015  sNaN181 ->  NaN15  Invalid_operation
+subx876 subtract  NaN016   sNaN191 ->  NaN191 Invalid_operation
+subx877 subtract -Inf      sNaN201 ->  NaN201 Invalid_operation
+subx878 subtract -1000     sNaN211 ->  NaN211 Invalid_operation
+subx879 subtract  1000    -sNaN221 -> -NaN221 Invalid_operation
+subx880 subtract  Inf      sNaN231 ->  NaN231 Invalid_operation
+subx881 subtract  NaN025   sNaN241 ->  NaN241 Invalid_operation
+
+-- edge case spills
+subx901 subtract  2.E-3  1.002  -> -1.000
+subx902 subtract  2.0E-3  1.002  -> -1.0000
+subx903 subtract  2.00E-3  1.0020  -> -1.00000
+subx904 subtract  2.000E-3  1.00200  -> -1.000000
+subx905 subtract  2.0000E-3  1.002000  -> -1.0000000
+subx906 subtract  2.00000E-3  1.0020000  -> -1.00000000
+subx907 subtract  2.000000E-3  1.00200000  -> -1.000000000
+subx908 subtract  2.0000000E-3  1.002000000  -> -1.0000000000
+
+-- subnormals and underflows
+precision: 3
+maxexponent: 999
+minexponent: -999
+subx1010 subtract  0  1.00E-999       ->  -1.00E-999
+subx1011 subtract  0  0.1E-999        ->  -1E-1000   Subnormal
+subx1012 subtract  0  0.10E-999       ->  -1.0E-1000 Subnormal
+subx1013 subtract  0  0.100E-999      ->  -1.0E-1000 Subnormal Rounded
+subx1014 subtract  0  0.01E-999       ->  -1E-1001   Subnormal
+-- next is rounded to Emin
+subx1015 subtract  0  0.999E-999      ->  -1.00E-999 Inexact Rounded Subnormal Underflow
+subx1016 subtract  0  0.099E-999      ->  -1.0E-1000 Inexact Rounded Subnormal Underflow
+subx1017 subtract  0  0.009E-999      ->  -1E-1001   Inexact Rounded Subnormal Underflow
+subx1018 subtract  0  0.001E-999      ->  -0E-1001   Inexact Rounded Subnormal Underflow
+subx1019 subtract  0  0.0009E-999     ->  -0E-1001   Inexact Rounded Subnormal Underflow
+subx1020 subtract  0  0.0001E-999     ->  -0E-1001   Inexact Rounded Subnormal Underflow
+
+subx1030 subtract  0 -1.00E-999       ->   1.00E-999
+subx1031 subtract  0 -0.1E-999        ->   1E-1000   Subnormal
+subx1032 subtract  0 -0.10E-999       ->   1.0E-1000 Subnormal
+subx1033 subtract  0 -0.100E-999      ->   1.0E-1000 Subnormal Rounded
+subx1034 subtract  0 -0.01E-999       ->   1E-1001   Subnormal
+-- next is rounded to Emin
+subx1035 subtract  0 -0.999E-999      ->   1.00E-999 Inexact Rounded Subnormal Underflow
+subx1036 subtract  0 -0.099E-999      ->   1.0E-1000 Inexact Rounded Subnormal Underflow
+subx1037 subtract  0 -0.009E-999      ->   1E-1001   Inexact Rounded Subnormal Underflow
+subx1038 subtract  0 -0.001E-999      ->   0E-1001   Inexact Rounded Subnormal Underflow
+subx1039 subtract  0 -0.0009E-999     ->   0E-1001   Inexact Rounded Subnormal Underflow
+subx1040 subtract  0 -0.0001E-999     ->   0E-1001   Inexact Rounded Subnormal Underflow
+
+-- some non-zero subnormal subtracts
+-- subx1056 is a tricky case
+rounding: half_up
+subx1050 subtract  1.00E-999   0.1E-999  ->   9.0E-1000  Subnormal
+subx1051 subtract  0.1E-999    0.1E-999  ->   0E-1000
+subx1052 subtract  0.10E-999   0.1E-999  ->   0E-1001
+subx1053 subtract  0.100E-999  0.1E-999  ->   0E-1001    Clamped
+subx1054 subtract  0.01E-999   0.1E-999  ->   -9E-1001   Subnormal
+subx1055 subtract  0.999E-999  0.1E-999  ->   9.0E-1000  Inexact Rounded Subnormal Underflow
+subx1056 subtract  0.099E-999  0.1E-999  ->   -0E-1001   Inexact Rounded Subnormal Underflow
+subx1057 subtract  0.009E-999  0.1E-999  ->   -9E-1001   Inexact Rounded Subnormal Underflow
+subx1058 subtract  0.001E-999  0.1E-999  ->   -1.0E-1000 Inexact Rounded Subnormal Underflow
+subx1059 subtract  0.0009E-999 0.1E-999  ->   -1.0E-1000 Inexact Rounded Subnormal Underflow
+subx1060 subtract  0.0001E-999 0.1E-999  ->   -1.0E-1000 Inexact Rounded Subnormal Underflow
+
+
+-- check for double-rounded subnormals
+precision:   5
+maxexponent: 79
+minexponent: -79
+subx1101 subtract  0 1.52444E-80 -> -1.524E-80 Inexact Rounded Subnormal Underflow
+subx1102 subtract  0 1.52445E-80 -> -1.524E-80 Inexact Rounded Subnormal Underflow
+subx1103 subtract  0 1.52446E-80 -> -1.524E-80 Inexact Rounded Subnormal Underflow
+subx1104 subtract  1.52444E-80 0 ->  1.524E-80 Inexact Rounded Subnormal Underflow
+subx1105 subtract  1.52445E-80 0 ->  1.524E-80 Inexact Rounded Subnormal Underflow
+subx1106 subtract  1.52446E-80 0 ->  1.524E-80 Inexact Rounded Subnormal Underflow
+
+subx1111 subtract  1.2345678E-80  1.2345671E-80 ->  0E-83 Inexact Rounded Subnormal Underflow
+subx1112 subtract  1.2345678E-80  1.2345618E-80 ->  0E-83 Inexact Rounded Subnormal Underflow
+subx1113 subtract  1.2345678E-80  1.2345178E-80 ->  0E-83 Inexact Rounded Subnormal Underflow
+subx1114 subtract  1.2345678E-80  1.2341678E-80 ->  0E-83 Inexact Rounded Subnormal Underflow
+subx1115 subtract  1.2345678E-80  1.2315678E-80 ->  3E-83         Rounded Subnormal
+subx1116 subtract  1.2345678E-80  1.2145678E-80 ->  2.0E-82       Rounded Subnormal
+subx1117 subtract  1.2345678E-80  1.1345678E-80 ->  1.00E-81      Rounded Subnormal
+subx1118 subtract  1.2345678E-80  0.2345678E-80 ->  1.000E-80     Rounded Subnormal
+
+-- Null tests
+subx9990 subtract 10  # -> NaN Invalid_operation
+subx9991 subtract  # 10 -> NaN Invalid_operation

Added: sandbox/trunk/decimal-c/decimaltestdata/testall.decTest
==============================================================================
--- (empty file)
+++ sandbox/trunk/decimal-c/decimaltestdata/testall.decTest	Tue May 23 13:34:01 2006
@@ -0,0 +1,58 @@
+------------------------------------------------------------------------
+-- testall.decTest -- run all general decimal arithmetic testcases    --
+-- Copyright (c) IBM Corporation, 1981, 2004.  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 at uk.ibm.com                                                   --
+------------------------------------------------------------------------
+version: 2.39
+
+-- core tests (using Extended: 1) --------------------------------------
+dectest: base
+dectest: abs
+dectest: add
+dectest: clamp
+dectest: compare
+dectest: divide
+dectest: divideint
+dectest: inexact
+dectest: max
+dectest: min
+dectest: minus
+dectest: multiply
+dectest: normalize
+dectest: plus
+dectest: power
+dectest: quantize
+dectest: randoms
+dectest: remainder
+dectest: remaindernear
+dectest: rescale              -- [obsolete]
+dectest: rounding
+dectest: samequantum
+dectest: squareroot
+dectest: subtract
+dectest: tointegral
+dectest: trim
+
+-- The next are for the Strawman 4d concrete representations
+dectest: decimal32
+dectest: decimal64
+dectest: decimal128
+
+
+-- General 31->33-digit boundary tests
+dectest: randombound32
+

Added: sandbox/trunk/decimal-c/decimaltestdata/tointegral.decTest
==============================================================================
--- (empty file)
+++ sandbox/trunk/decimal-c/decimaltestdata/tointegral.decTest	Tue May 23 13:34:01 2006
@@ -0,0 +1,176 @@
+------------------------------------------------------------------------
+-- tointegral.decTest -- round decimal to integral value              --
+-- Copyright (c) IBM Corporation, 2001, 2003.  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 at uk.ibm.com                                                   --
+------------------------------------------------------------------------
+version: 2.39
+
+-- This set of tests tests the extended specification 'round-to-integral
+-- value' operation (from IEEE 854, later modified in 754r).
+-- All non-zero results are defined as being those from either copy or
+-- quantize, so those are assumed to have been tested.
+-- Note that 754r requires that Inexact not be set, and we similarly
+-- assume Rounded is not set.
+
+extended:    1
+precision:   9
+rounding:    half_up
+maxExponent: 999
+minExponent: -999
+
+intx001 tointegral      0     ->  0
+intx002 tointegral      0.0   ->  0
+intx003 tointegral      0.1   ->  0
+intx004 tointegral      0.2   ->  0
+intx005 tointegral      0.3   ->  0
+intx006 tointegral      0.4   ->  0
+intx007 tointegral      0.5   ->  1
+intx008 tointegral      0.6   ->  1
+intx009 tointegral      0.7   ->  1
+intx010 tointegral      0.8   ->  1
+intx011 tointegral      0.9   ->  1
+intx012 tointegral      1     ->  1
+intx013 tointegral      1.0   ->  1
+intx014 tointegral      1.1   ->  1
+intx015 tointegral      1.2   ->  1
+intx016 tointegral      1.3   ->  1
+intx017 tointegral      1.4   ->  1
+intx018 tointegral      1.5   ->  2
+intx019 tointegral      1.6   ->  2
+intx020 tointegral      1.7   ->  2
+intx021 tointegral      1.8   ->  2
+intx022 tointegral      1.9   ->  2
+-- negatives
+intx031 tointegral     -0     -> -0
+intx032 tointegral     -0.0   -> -0
+intx033 tointegral     -0.1   -> -0
+intx034 tointegral     -0.2   -> -0
+intx035 tointegral     -0.3   -> -0
+intx036 tointegral     -0.4   -> -0
+intx037 tointegral     -0.5   -> -1
+intx038 tointegral     -0.6   -> -1
+intx039 tointegral     -0.7   -> -1
+intx040 tointegral     -0.8   -> -1
+intx041 tointegral     -0.9   -> -1
+intx042 tointegral     -1     -> -1
+intx043 tointegral     -1.0   -> -1
+intx044 tointegral     -1.1   -> -1
+intx045 tointegral     -1.2   -> -1
+intx046 tointegral     -1.3   -> -1
+intx047 tointegral     -1.4   -> -1
+intx048 tointegral     -1.5   -> -2
+intx049 tointegral     -1.6   -> -2
+intx050 tointegral     -1.7   -> -2
+intx051 tointegral     -1.8   -> -2
+intx052 tointegral     -1.9   -> -2
+-- next two would be NaN using quantize(x, 0)
+intx053 tointegral    10E+30  -> 1.0E+31
+intx054 tointegral   -10E+30  -> -1.0E+31
+
+-- numbers around precision
+precision: 9
+intx060 tointegral '56267E-10'   -> '0'
+intx061 tointegral '56267E-5'    -> '1'
+intx062 tointegral '56267E-2'    -> '563'
+intx063 tointegral '56267E-1'    -> '5627'
+intx065 tointegral '56267E-0'    -> '56267'
+intx066 tointegral '56267E+0'    -> '56267'
+intx067 tointegral '56267E+1'    -> '5.6267E+5'
+intx068 tointegral '56267E+2'    -> '5.6267E+6'
+intx069 tointegral '56267E+3'    -> '5.6267E+7'
+intx070 tointegral '56267E+4'    -> '5.6267E+8'
+intx071 tointegral '56267E+5'    -> '5.6267E+9'
+intx072 tointegral '56267E+6'    -> '5.6267E+10'
+intx073 tointegral '1.23E+96'    -> '1.23E+96'
+intx074 tointegral '1.23E+384'   -> '1.23E+384'
+intx075 tointegral '1.23E+999'   -> '1.23E+999'
+
+intx080 tointegral '-56267E-10'  -> '-0'
+intx081 tointegral '-56267E-5'   -> '-1'
+intx082 tointegral '-56267E-2'   -> '-563'
+intx083 tointegral '-56267E-1'   -> '-5627'
+intx085 tointegral '-56267E-0'   -> '-56267'
+intx086 tointegral '-56267E+0'   -> '-56267'
+intx087 tointegral '-56267E+1'   -> '-5.6267E+5'
+intx088 tointegral '-56267E+2'   -> '-5.6267E+6'
+intx089 tointegral '-56267E+3'   -> '-5.6267E+7'
+intx090 tointegral '-56267E+4'   -> '-5.6267E+8'
+intx091 tointegral '-56267E+5'   -> '-5.6267E+9'
+intx092 tointegral '-56267E+6'   -> '-5.6267E+10'
+intx093 tointegral '-1.23E+96'   -> '-1.23E+96'
+intx094 tointegral '-1.23E+384'  -> '-1.23E+384'
+intx095 tointegral '-1.23E+999'  -> '-1.23E+999'
+
+-- subnormal inputs
+intx100 tointegral        1E-999 -> 0
+intx101 tointegral      0.1E-999 -> 0
+intx102 tointegral     0.01E-999 -> 0
+intx103 tointegral        0E-999 -> 0
+
+-- specials and zeros
+intx120 tointegral 'Inf'       ->  Infinity
+intx121 tointegral '-Inf'      -> -Infinity
+intx122 tointegral   NaN       ->  NaN
+intx123 tointegral  sNaN       ->  NaN  Invalid_operation
+intx124 tointegral     0       ->  0
+intx125 tointegral    -0       -> -0
+intx126 tointegral     0.000   ->  0
+intx127 tointegral     0.00    ->  0
+intx128 tointegral     0.0     ->  0
+intx129 tointegral     0       ->  0
+intx130 tointegral     0E-3    ->  0
+intx131 tointegral     0E-2    ->  0
+intx132 tointegral     0E-1    ->  0
+intx133 tointegral     0E-0    ->  0
+intx134 tointegral     0E+1    ->  0E+1
+intx135 tointegral     0E+2    ->  0E+2
+intx136 tointegral     0E+3    ->  0E+3
+intx137 tointegral     0E+4    ->  0E+4
+intx138 tointegral     0E+5    ->  0E+5
+intx139 tointegral    -0.000   -> -0
+intx140 tointegral    -0.00    -> -0
+intx141 tointegral    -0.0     -> -0
+intx142 tointegral    -0       -> -0
+intx143 tointegral    -0E-3    -> -0
+intx144 tointegral    -0E-2    -> -0
+intx145 tointegral    -0E-1    -> -0
+intx146 tointegral    -0E-0    -> -0
+intx147 tointegral    -0E+1    -> -0E+1
+intx148 tointegral    -0E+2    -> -0E+2
+intx149 tointegral    -0E+3    -> -0E+3
+intx150 tointegral    -0E+4    -> -0E+4
+intx151 tointegral    -0E+5    -> -0E+5
+-- propagating NaNs
+intx152 tointegral   NaN808    ->  NaN808
+intx153 tointegral  sNaN080    ->  NaN80  Invalid_operation
+intx154 tointegral  -NaN808    -> -NaN808
+intx155 tointegral -sNaN080    -> -NaN80  Invalid_operation
+intx156 tointegral  -NaN       -> -NaN
+intx157 tointegral -sNaN       -> -NaN    Invalid_operation
+
+-- examples
+rounding:    half_up
+precision:   9
+intx200 tointegral     2.1    -> 2
+intx201 tointegral   100      -> 100
+intx202 tointegral   100.0    -> 100
+intx203 tointegral   101.5    -> 102
+intx204 tointegral  -101.5    -> -102
+intx205 tointegral   10E+5    -> 1.0E+6
+intx206 tointegral  7.89E+77  -> 7.89E+77
+intx207 tointegral   -Inf     -> -Infinity
+

Added: sandbox/trunk/decimal-c/setup.py
==============================================================================
--- (empty file)
+++ sandbox/trunk/decimal-c/setup.py	Tue May 23 13:34:01 2006
@@ -0,0 +1,13 @@
+from distutils.core import setup, Extension
+
+files = ['_decimal.c']
+
+libraries = []
+includes = []
+setup(name = "_decimal", version = "0.1",
+      ext_modules = [Extension("_decimal", files,
+                               libraries = libraries,
+                               include_dirs =  includes,
+                              )
+                    ],
+     )

Added: sandbox/trunk/decimal-c/test_decimal.py
==============================================================================
--- (empty file)
+++ sandbox/trunk/decimal-c/test_decimal.py	Tue May 23 13:34:01 2006
@@ -0,0 +1,1105 @@
+# Copyright (c) 2004 Python Software Foundation.
+# All rights reserved.
+
+# Written by Eric Price <eprice at tjhsst.edu>
+#    and Facundo Batista <facundo at taniquetil.com.ar>
+#    and Raymond Hettinger <python at rcn.com>
+#    and Aahz (aahz at pobox.com)
+#    and Tim Peters
+
+"""
+These are the test cases for the Decimal module.
+
+There are two groups of tests, Arithmetic and Behaviour. The former test
+the Decimal arithmetic using the tests provided by Mike Cowlishaw. The latter
+test the pythonic behaviour according to PEP 327.
+
+Cowlishaw's tests can be downloaded from:
+
+   www2.hursley.ibm.com/decimal/dectest.zip
+
+This test module can be called from command line with one parameter (Arithmetic
+or Behaviour) to test each part, or without parameter to test both parts. If
+you're working through IDLE, you can import this test module and call test_main()
+with the corresponding argument.
+"""
+
+import unittest
+import glob
+import os, sys
+import pickle, copy
+from decimal import *
+from test.test_support import (TestSkipped, run_unittest, run_doctest,
+                               is_resource_enabled)
+import random
+try:
+    import threading
+except ImportError:
+    threading = None
+
+# Useful Test Constant
+Signals = getcontext().flags.keys()
+
+# Tests are built around these assumed context defaults.
+# test_main() restores the original context.
+def init():
+    global ORIGINAL_CONTEXT
+    ORIGINAL_CONTEXT = getcontext().copy()
+    DefaultContext.prec = 9
+    DefaultContext.rounding = ROUND_HALF_EVEN
+    DefaultContext.traps = dict.fromkeys(Signals, 0)
+    setcontext(DefaultContext)
+
+TESTDATADIR = 'decimaltestdata'
+if __name__ == '__main__':
+    file = sys.argv[0]
+else:
+    file = __file__
+testdir = os.path.dirname(file) or os.curdir
+directory = testdir + os.sep + TESTDATADIR + os.sep
+
+skip_expected = not os.path.isdir(directory)
+
+# Make sure it actually raises errors when not expected and caught in flags
+# Slower, since it runs some things several times.
+EXTENDEDERRORTEST = False
+
+
+#Map the test cases' error names to the actual errors
+
+ErrorNames = {'clamped' : Clamped,
+              'conversion_syntax' : InvalidOperation,
+              'division_by_zero' : DivisionByZero,
+              'division_impossible' : InvalidOperation,
+              'division_undefined' : InvalidOperation,
+              'inexact' : Inexact,
+              'invalid_context' : InvalidOperation,
+              'invalid_operation' : InvalidOperation,
+              'overflow' : Overflow,
+              'rounded' : Rounded,
+              'subnormal' : Subnormal,
+              'underflow' : Underflow}
+
+
+def Nonfunction(*args):
+    """Doesn't do anything."""
+    return None
+
+RoundingDict = {'ceiling' : ROUND_CEILING, #Maps test-case names to roundings.
+                'down' : ROUND_DOWN,
+                'floor' : ROUND_FLOOR,
+                'half_down' : ROUND_HALF_DOWN,
+                'half_even' : ROUND_HALF_EVEN,
+                'half_up' : ROUND_HALF_UP,
+                'up' : ROUND_UP}
+
+# Name adapter to be able to change the Decimal and Context
+# interface without changing the test files from Cowlishaw
+nameAdapter = {'toeng':'to_eng_string',
+               'tosci':'to_sci_string',
+               'samequantum':'same_quantum',
+               'tointegral':'to_integral',
+               'remaindernear':'remainder_near',
+               'divideint':'divide_int',
+               'squareroot':'sqrt',
+               'apply':'_apply',
+              }
+
+class DecimalTest(unittest.TestCase):
+    """Class which tests the Decimal class against the test cases.
+
+    Changed for unittest.
+    """
+    def setUp(self):
+        self.context = Context()
+        for key in DefaultContext.traps.keys():
+            DefaultContext.traps[key] = 1
+        self.ignore_list = ['#']
+        # Basically, a # means return NaN InvalidOperation.
+        # Different from a sNaN in trim
+
+        self.ChangeDict = {'precision' : self.change_precision,
+                      'rounding' : self.change_rounding_method,
+                      'maxexponent' : self.change_max_exponent,
+                      'minexponent' : self.change_min_exponent,
+                      'clamp' : self.change_clamp}
+
+    def tearDown(self):
+        """Cleaning up enviroment."""
+        # leaving context in original state
+        for key in DefaultContext.traps.keys():
+            DefaultContext.traps[key] = 0
+        return
+
+    def eval_file(self, file):
+        global skip_expected
+        if skip_expected:
+            raise TestSkipped
+            return
+        for line in open(file).xreadlines():
+            line = line.replace('\r\n', '').replace('\n', '')
+            #print line
+            try:
+                t = self.eval_line(line)
+            except InvalidOperation:
+                print 'Error in test cases:'
+                print line
+                continue
+            except DecimalException, exception:
+                #Exception raised where there shoudn't have been one.
+                self.fail('Exception "'+exception.__class__.__name__ + '" raised on line '+line)
+
+        return
+
+    def eval_line(self, s):
+        if s.find(' -> ') >= 0 and s[:2] != '--' and not s.startswith('  --'):
+            s = (s.split('->')[0] + '->' +
+                 s.split('->')[1].split('--')[0]).strip()
+        else:
+            s = s.split('--')[0].strip()
+
+        for ignore in self.ignore_list:
+            if s.find(ignore) >= 0:
+                #print s.split()[0], 'NotImplemented--', ignore
+                return
+        if not s:
+            return
+        elif ':' in s:
+            return self.eval_directive(s)
+        else:
+            return self.eval_equation(s)
+
+    def eval_directive(self, s):
+        funct, value = map(lambda x: x.strip().lower(), s.split(':'))
+        if funct == 'rounding':
+            value = RoundingDict[value]
+        else:
+            try:
+                value = int(value)
+            except ValueError:
+                pass
+
+        funct = self.ChangeDict.get(funct, Nonfunction)
+        funct(value)
+
+    def eval_equation(self, s):
+        #global DEFAULT_PRECISION
+        #print DEFAULT_PRECISION
+
+        if not TEST_ALL and random.random() < 0.90:
+            return
+
+        try:
+            Sides = s.split('->')
+            L = Sides[0].strip().split()
+            id = L[0]
+#            print id,
+            funct = L[1].lower()
+            valstemp = L[2:]
+            L = Sides[1].strip().split()
+            ans = L[0]
+            exceptions = L[1:]
+        except (TypeError, AttributeError, IndexError):
+            raise InvalidOperation
+        def FixQuotes(val):
+            val = val.replace("''", 'SingleQuote').replace('""', 'DoubleQuote')
+            val = val.replace("'", '').replace('"', '')
+            val = val.replace('SingleQuote', "'").replace('DoubleQuote', '"')
+            return val
+        fname = nameAdapter.get(funct, funct)
+        if fname == 'rescale':
+            return
+        funct = getattr(self.context, fname)
+        vals = []
+        conglomerate = ''
+        quote = 0
+        theirexceptions = [ErrorNames[x.lower()] for x in exceptions]
+
+        for exception in Signals:
+            self.context.traps[exception] = 1 #Catch these bugs...
+        for exception in theirexceptions:
+            self.context.traps[exception] = 0
+        for i, val in enumerate(valstemp):
+            if val.count("'") % 2 == 1:
+                quote = 1 - quote
+            if quote:
+                conglomerate = conglomerate + ' ' + val
+                continue
+            else:
+                val = conglomerate + val
+                conglomerate = ''
+            v = FixQuotes(val)
+            if fname in ('to_sci_string', 'to_eng_string'):
+                if EXTENDEDERRORTEST:
+                    for error in theirexceptions:
+                        self.context.traps[error] = 1
+                        try:
+                            funct(self.context.create_decimal(v))
+                        except error:
+                            pass
+                        except Signals, e:
+                            self.fail("Raised %s in %s when %s disabled" % \
+                                      (e, s, error))
+                        else:
+                            self.fail("Did not raise %s in %s" % (error, s))
+                        self.context.traps[error] = 0
+                v = self.context.create_decimal(v)
+            else:
+                v = Decimal(v)
+            vals.append(v)
+
+        ans = FixQuotes(ans)
+
+        if EXTENDEDERRORTEST and fname not in ('to_sci_string', 'to_eng_string'):
+            for error in theirexceptions:
+                self.context.traps[error] = 1
+                try:
+                    funct(*vals)
+                except error:
+                    pass
+                except Signals, e:
+                    self.fail("Raised %s in %s when %s disabled" % \
+                              (e, s, error))
+                else:
+                    self.fail("Did not raise %s in %s" % (error, s))
+                self.context.traps[error] = 0
+        try:
+            result = str(funct(*vals))
+            if fname == 'same_quantum':
+                result = str(int(eval(result))) # 'True', 'False' -> '1', '0'
+        except Signals, error:
+            self.fail("Raised %s in %s" % (error, s))
+        except: #Catch any error long enough to state the test case.
+            print "ERROR:", s
+            raise
+
+        myexceptions = self.getexceptions()
+        self.context.clear_flags()
+
+        myexceptions.sort()
+        theirexceptions.sort()
+
+        self.assertEqual(result, ans,
+                         'Incorrect answer for ' + s + ' -- got ' + result)
+        self.assertEqual(myexceptions, theirexceptions,
+                         'Incorrect flags set in ' + s + ' -- got ' \
+                         + str(myexceptions))
+        return
+
+    def getexceptions(self):
+        return [e for e in Signals if self.context.flags[e]]
+
+    def change_precision(self, prec):
+        self.context.prec = prec
+    def change_rounding_method(self, rounding):
+        self.context.rounding = rounding
+    def change_min_exponent(self, exp):
+        self.context.Emin = exp
+    def change_max_exponent(self, exp):
+        self.context.Emax = exp
+    def change_clamp(self, clamp):
+        self.context._clamp = clamp
+
+# Dynamically build custom test definition for each file in the test
+# directory and add the definitions to the DecimalTest class.  This
+# procedure insures that new files do not get skipped.
+for filename in os.listdir(directory):
+    if '.decTest' not in filename:
+        continue
+    head, tail = filename.split('.')
+    tester = lambda self, f=filename: self.eval_file(directory + f)
+    setattr(DecimalTest, 'test_' + head, tester)
+    del filename, head, tail, tester
+
+
+
+# The following classes test the behaviour of Decimal according to PEP 327
+
+class DecimalExplicitConstructionTest(unittest.TestCase):
+    '''Unit tests for Explicit Construction cases of Decimal.'''
+
+    def test_explicit_empty(self):
+        self.assertEqual(Decimal(), Decimal("0"))
+
+    def test_explicit_from_None(self):
+        self.assertRaises(TypeError, Decimal, None)
+
+    def test_explicit_from_int(self):
+
+        #positive
+        d = Decimal(45)
+        self.assertEqual(str(d), '45')
+
+        #very large positive
+        d = Decimal(500000123)
+        self.assertEqual(str(d), '500000123')
+
+        #negative
+        d = Decimal(-45)
+        self.assertEqual(str(d), '-45')
+
+        #zero
+        d = Decimal(0)
+        self.assertEqual(str(d), '0')
+
+    def test_explicit_from_string(self):
+
+        #empty
+        self.assertEqual(str(Decimal('')), 'NaN')
+
+        #int
+        self.assertEqual(str(Decimal('45')), '45')
+
+        #float
+        self.assertEqual(str(Decimal('45.34')), '45.34')
+
+        #engineer notation
+        self.assertEqual(str(Decimal('45e2')), '4.5E+3')
+
+        #just not a number
+        self.assertEqual(str(Decimal('ugly')), 'NaN')
+
+    def test_explicit_from_tuples(self):
+
+        #zero
+        d = Decimal( (0, (0,), 0) )
+        self.assertEqual(str(d), '0')
+
+        #int
+        d = Decimal( (1, (4, 5), 0) )
+        self.assertEqual(str(d), '-45')
+
+        #float
+        d = Decimal( (0, (4, 5, 3, 4), -2) )
+        self.assertEqual(str(d), '45.34')
+
+        #weird
+        d = Decimal( (1, (4, 3, 4, 9, 1, 3, 5, 3, 4), -25) )
+        self.assertEqual(str(d), '-4.34913534E-17')
+
+        #wrong number of items
+        self.assertRaises(ValueError, Decimal, (1, (4, 3, 4, 9, 1)) )
+
+        #bad sign
+        self.assertRaises(ValueError, Decimal, (8, (4, 3, 4, 9, 1), 2) )
+
+        #bad exp
+        self.assertRaises(ValueError, Decimal, (1, (4, 3, 4, 9, 1), 'wrong!') )
+
+        #bad coefficients
+        self.assertRaises(ValueError, Decimal, (1, (4, 3, 4, None, 1), 2) )
+        self.assertRaises(ValueError, Decimal, (1, (4, -3, 4, 9, 1), 2) )
+
+    def test_explicit_from_Decimal(self):
+
+        #positive
+        d = Decimal(45)
+        e = Decimal(d)
+        self.assertEqual(str(e), '45')
+        self.assertNotEqual(id(d), id(e))
+
+        #very large positive
+        d = Decimal(500000123)
+        e = Decimal(d)
+        self.assertEqual(str(e), '500000123')
+        self.assertNotEqual(id(d), id(e))
+
+        #negative
+        d = Decimal(-45)
+        e = Decimal(d)
+        self.assertEqual(str(e), '-45')
+        self.assertNotEqual(id(d), id(e))
+
+        #zero
+        d = Decimal(0)
+        e = Decimal(d)
+        self.assertEqual(str(e), '0')
+        self.assertNotEqual(id(d), id(e))
+
+    def test_explicit_context_create_decimal(self):
+
+        nc = copy.copy(getcontext())
+        nc.prec = 3
+
+        # empty
+        d = Decimal()
+        self.assertEqual(str(d), '0')
+        d = nc.create_decimal()
+        self.assertEqual(str(d), '0')
+
+        # from None
+        self.assertRaises(TypeError, nc.create_decimal, None)
+
+        # from int
+        d = nc.create_decimal(456)
+        self.failUnless(isinstance(d, Decimal))
+        self.assertEqual(nc.create_decimal(45678),
+                         nc.create_decimal('457E+2'))
+
+        # from string
+        d = Decimal('456789')
+        self.assertEqual(str(d), '456789')
+        d = nc.create_decimal('456789')
+        self.assertEqual(str(d), '4.57E+5')
+
+        # from tuples
+        d = Decimal( (1, (4, 3, 4, 9, 1, 3, 5, 3, 4), -25) )
+        self.assertEqual(str(d), '-4.34913534E-17')
+        d = nc.create_decimal( (1, (4, 3, 4, 9, 1, 3, 5, 3, 4), -25) )
+        self.assertEqual(str(d), '-4.35E-17')
+
+        # from Decimal
+        prevdec = Decimal(500000123)
+        d = Decimal(prevdec)
+        self.assertEqual(str(d), '500000123')
+        d = nc.create_decimal(prevdec)
+        self.assertEqual(str(d), '5.00E+8')
+
+
+class DecimalImplicitConstructionTest(unittest.TestCase):
+    '''Unit tests for Implicit Construction cases of Decimal.'''
+
+    def test_implicit_from_None(self):
+        self.assertRaises(TypeError, eval, 'Decimal(5) + None', globals())
+
+    def test_implicit_from_int(self):
+        #normal
+        self.assertEqual(str(Decimal(5) + 45), '50')
+        #exceeding precision
+        self.assertEqual(Decimal(5) + 123456789000, Decimal(123456789000))
+
+    def test_implicit_from_string(self):
+        self.assertRaises(TypeError, eval, 'Decimal(5) + "3"', globals())
+
+    def test_implicit_from_float(self):
+        self.assertRaises(TypeError, eval, 'Decimal(5) + 2.2', globals())
+
+    def test_implicit_from_Decimal(self):
+        self.assertEqual(Decimal(5) + Decimal(45), Decimal(50))
+
+    def test_rop(self):
+        # Allow other classes to be trained to interact with Decimals
+        class E:
+            def __divmod__(self, other):
+                return 'divmod ' + str(other)
+            def __rdivmod__(self, other):
+                return str(other) + ' rdivmod'
+            def __lt__(self, other):
+                return 'lt ' + str(other)
+            def __gt__(self, other):
+                return 'gt ' + str(other)
+            def __le__(self, other):
+                return 'le ' + str(other)
+            def __ge__(self, other):
+                return 'ge ' + str(other)
+            def __eq__(self, other):
+                return 'eq ' + str(other)
+            def __ne__(self, other):
+                return 'ne ' + str(other)
+
+        self.assertEqual(divmod(E(), Decimal(10)), 'divmod 10')
+        self.assertEqual(divmod(Decimal(10), E()), '10 rdivmod')
+        self.assertEqual(eval('Decimal(10) < E()'), 'gt 10')
+        self.assertEqual(eval('Decimal(10) > E()'), 'lt 10')
+        self.assertEqual(eval('Decimal(10) <= E()'), 'ge 10')
+        self.assertEqual(eval('Decimal(10) >= E()'), 'le 10')
+        self.assertEqual(eval('Decimal(10) == E()'), 'eq 10')
+        self.assertEqual(eval('Decimal(10) != E()'), 'ne 10')
+
+        # insert operator methods and then exercise them
+        oplist = [
+            ('+', '__add__', '__radd__'),
+            ('-', '__sub__', '__rsub__'),
+            ('*', '__mul__', '__rmul__'),
+            ('%', '__mod__', '__rmod__'),
+            ('//', '__floordiv__', '__rfloordiv__'),
+            ('**', '__pow__', '__rpow__')
+        ]
+        if 1/2 == 0:
+            # testing with classic division, so add __div__
+            oplist.append(('/', '__div__', '__rdiv__'))
+        else:
+            # testing with -Qnew, so add __truediv__
+            oplist.append(('/', '__truediv__', '__rtruediv__'))
+
+        for sym, lop, rop in oplist:
+            setattr(E, lop, lambda self, other: 'str' + lop + str(other))
+            setattr(E, rop, lambda self, other: str(other) + rop + 'str')
+            self.assertEqual(eval('E()' + sym + 'Decimal(10)'),
+                             'str' + lop + '10')
+            self.assertEqual(eval('Decimal(10)' + sym + 'E()'),
+                             '10' + rop + 'str')
+
+class DecimalArithmeticOperatorsTest(unittest.TestCase):
+    '''Unit tests for all arithmetic operators, binary and unary.'''
+
+    def test_addition(self):
+
+        d1 = Decimal('-11.1')
+        d2 = Decimal('22.2')
+
+        #two Decimals
+        self.assertEqual(d1+d2, Decimal('11.1'))
+        self.assertEqual(d2+d1, Decimal('11.1'))
+
+        #with other type, left
+        c = d1 + 5
+        self.assertEqual(c, Decimal('-6.1'))
+        self.assertEqual(type(c), type(d1))
+
+        #with other type, right
+        c = 5 + d1
+        self.assertEqual(c, Decimal('-6.1'))
+        self.assertEqual(type(c), type(d1))
+
+        #inline with decimal
+        d1 += d2
+        self.assertEqual(d1, Decimal('11.1'))
+
+        #inline with other type
+        d1 += 5
+        self.assertEqual(d1, Decimal('16.1'))
+
+    def test_subtraction(self):
+
+        d1 = Decimal('-11.1')
+        d2 = Decimal('22.2')
+
+        #two Decimals
+        self.assertEqual(d1-d2, Decimal('-33.3'))
+        self.assertEqual(d2-d1, Decimal('33.3'))
+
+        #with other type, left
+        c = d1 - 5
+        self.assertEqual(c, Decimal('-16.1'))
+        self.assertEqual(type(c), type(d1))
+
+        #with other type, right
+        c = 5 - d1
+        self.assertEqual(c, Decimal('16.1'))
+        self.assertEqual(type(c), type(d1))
+
+        #inline with decimal
+        d1 -= d2
+        self.assertEqual(d1, Decimal('-33.3'))
+
+        #inline with other type
+        d1 -= 5
+        self.assertEqual(d1, Decimal('-38.3'))
+
+    def test_multiplication(self):
+
+        d1 = Decimal('-5')
+        d2 = Decimal('3')
+
+        #two Decimals
+        self.assertEqual(d1*d2, Decimal('-15'))
+        self.assertEqual(d2*d1, Decimal('-15'))
+
+        #with other type, left
+        c = d1 * 5
+        self.assertEqual(c, Decimal('-25'))
+        self.assertEqual(type(c), type(d1))
+
+        #with other type, right
+        c = 5 * d1
+        self.assertEqual(c, Decimal('-25'))
+        self.assertEqual(type(c), type(d1))
+
+        #inline with decimal
+        d1 *= d2
+        self.assertEqual(d1, Decimal('-15'))
+
+        #inline with other type
+        d1 *= 5
+        self.assertEqual(d1, Decimal('-75'))
+
+    def test_division(self):
+
+        d1 = Decimal('-5')
+        d2 = Decimal('2')
+
+        #two Decimals
+        self.assertEqual(d1/d2, Decimal('-2.5'))
+        self.assertEqual(d2/d1, Decimal('-0.4'))
+
+        #with other type, left
+        c = d1 / 4
+        self.assertEqual(c, Decimal('-1.25'))
+        self.assertEqual(type(c), type(d1))
+
+        #with other type, right
+        c = 4 / d1
+        self.assertEqual(c, Decimal('-0.8'))
+        self.assertEqual(type(c), type(d1))
+
+        #inline with decimal
+        d1 /= d2
+        self.assertEqual(d1, Decimal('-2.5'))
+
+        #inline with other type
+        d1 /= 4
+        self.assertEqual(d1, Decimal('-0.625'))
+
+    def test_floor_division(self):
+
+        d1 = Decimal('5')
+        d2 = Decimal('2')
+
+        #two Decimals
+        self.assertEqual(d1//d2, Decimal('2'))
+        self.assertEqual(d2//d1, Decimal('0'))
+
+        #with other type, left
+        c = d1 // 4
+        self.assertEqual(c, Decimal('1'))
+        self.assertEqual(type(c), type(d1))
+
+        #with other type, right
+        c = 7 // d1
+        self.assertEqual(c, Decimal('1'))
+        self.assertEqual(type(c), type(d1))
+
+        #inline with decimal
+        d1 //= d2
+        self.assertEqual(d1, Decimal('2'))
+
+        #inline with other type
+        d1 //= 2
+        self.assertEqual(d1, Decimal('1'))
+
+    def test_powering(self):
+
+        d1 = Decimal('5')
+        d2 = Decimal('2')
+
+        #two Decimals
+        self.assertEqual(d1**d2, Decimal('25'))
+        self.assertEqual(d2**d1, Decimal('32'))
+
+        #with other type, left
+        c = d1 ** 4
+        self.assertEqual(c, Decimal('625'))
+        self.assertEqual(type(c), type(d1))
+
+        #with other type, right
+        c = 7 ** d1
+        self.assertEqual(c, Decimal('16807'))
+        self.assertEqual(type(c), type(d1))
+
+        #inline with decimal
+        d1 **= d2
+        self.assertEqual(d1, Decimal('25'))
+
+        #inline with other type
+        d1 **= 4
+        self.assertEqual(d1, Decimal('390625'))
+
+    def test_module(self):
+
+        d1 = Decimal('5')
+        d2 = Decimal('2')
+
+        #two Decimals
+        self.assertEqual(d1%d2, Decimal('1'))
+        self.assertEqual(d2%d1, Decimal('2'))
+
+        #with other type, left
+        c = d1 % 4
+        self.assertEqual(c, Decimal('1'))
+        self.assertEqual(type(c), type(d1))
+
+        #with other type, right
+        c = 7 % d1
+        self.assertEqual(c, Decimal('2'))
+        self.assertEqual(type(c), type(d1))
+
+        #inline with decimal
+        d1 %= d2
+        self.assertEqual(d1, Decimal('1'))
+
+        #inline with other type
+        d1 %= 4
+        self.assertEqual(d1, Decimal('1'))
+
+    def test_floor_div_module(self):
+
+        d1 = Decimal('5')
+        d2 = Decimal('2')
+
+        #two Decimals
+        (p, q) = divmod(d1, d2)
+        self.assertEqual(p, Decimal('2'))
+        self.assertEqual(q, Decimal('1'))
+        self.assertEqual(type(p), type(d1))
+        self.assertEqual(type(q), type(d1))
+
+        #with other type, left
+        (p, q) = divmod(d1, 4)
+        self.assertEqual(p, Decimal('1'))
+        self.assertEqual(q, Decimal('1'))
+        self.assertEqual(type(p), type(d1))
+        self.assertEqual(type(q), type(d1))
+
+        #with other type, right
+        (p, q) = divmod(7, d1)
+        self.assertEqual(p, Decimal('1'))
+        self.assertEqual(q, Decimal('2'))
+        self.assertEqual(type(p), type(d1))
+        self.assertEqual(type(q), type(d1))
+
+    def test_unary_operators(self):
+        self.assertEqual(+Decimal(45), Decimal(+45))           #  +
+        self.assertEqual(-Decimal(45), Decimal(-45))           #  -
+        self.assertEqual(abs(Decimal(45)), abs(Decimal(-45)))  # abs
+
+
+# The following are two functions used to test threading in the next class
+
+def thfunc1(cls):
+    d1 = Decimal(1)
+    d3 = Decimal(3)
+    cls.assertEqual(d1/d3, Decimal('0.333333333'))
+    cls.synchro.wait()
+    cls.assertEqual(d1/d3, Decimal('0.333333333'))
+    cls.finish1.set()
+    return
+
+def thfunc2(cls):
+    d1 = Decimal(1)
+    d3 = Decimal(3)
+    cls.assertEqual(d1/d3, Decimal('0.333333333'))
+    thiscontext = getcontext()
+    thiscontext.prec = 18
+    cls.assertEqual(d1/d3, Decimal('0.333333333333333333'))
+    cls.synchro.set()
+    cls.finish2.set()
+    return
+
+
+class DecimalUseOfContextTest(unittest.TestCase):
+    '''Unit tests for Use of Context cases in Decimal.'''
+
+    try:
+        import threading
+    except ImportError:
+        threading = None
+
+    # Take care executing this test from IDLE, there's an issue in threading
+    # that hangs IDLE and I couldn't find it
+
+    def test_threading(self):
+        #Test the "threading isolation" of a Context.
+
+        self.synchro = threading.Event()
+        self.finish1 = threading.Event()
+        self.finish2 = threading.Event()
+
+        th1 = threading.Thread(target=thfunc1, args=(self,))
+        th2 = threading.Thread(target=thfunc2, args=(self,))
+
+        th1.start()
+        th2.start()
+
+        self.finish1.wait()
+        self.finish1.wait()
+        return
+
+    if threading is None:
+        del test_threading
+
+
+class DecimalUsabilityTest(unittest.TestCase):
+    '''Unit tests for Usability cases of Decimal.'''
+
+    def test_comparison_operators(self):
+
+        da = Decimal('23.42')
+        db = Decimal('23.42')
+        dc = Decimal('45')
+
+        #two Decimals
+        self.failUnless(dc > da)
+        self.failUnless(dc >= da)
+        self.failUnless(da < dc)
+        self.failUnless(da <= dc)
+        self.failUnless(da == db)
+        self.failUnless(da != dc)
+        self.failUnless(da <= db)
+        self.failUnless(da >= db)
+        self.assertEqual(cmp(dc,da), 1)
+        self.assertEqual(cmp(da,dc), -1)
+        self.assertEqual(cmp(da,db), 0)
+
+        #a Decimal and an int
+        self.failUnless(dc > 23)
+        self.failUnless(23 < dc)
+        self.failUnless(dc == 45)
+        self.assertEqual(cmp(dc,23), 1)
+        self.assertEqual(cmp(23,dc), -1)
+        self.assertEqual(cmp(dc,45), 0)
+
+        #a Decimal and uncomparable
+        self.assertNotEqual(da, 'ugly')
+        self.assertNotEqual(da, 32.7)
+        self.assertNotEqual(da, object())
+        self.assertNotEqual(da, object)
+
+        # sortable
+        a = map(Decimal, xrange(100))
+        b =  a[:]
+        random.shuffle(a)
+        a.sort()
+        self.assertEqual(a, b)
+
+    def test_copy_and_deepcopy_methods(self):
+        d = Decimal('43.24')
+        c = copy.copy(d)
+        self.assertEqual(id(c), id(d))
+        dc = copy.deepcopy(d)
+        self.assertEqual(id(dc), id(d))
+
+    def test_hash_method(self):
+        #just that it's hashable
+        hash(Decimal(23))
+        #the same hash that to an int
+        self.assertEqual(hash(Decimal(23)), hash(23))
+        self.assertRaises(TypeError, hash, Decimal('NaN'))
+        self.assert_(hash(Decimal('Inf')))
+        self.assert_(hash(Decimal('-Inf')))
+
+    def test_min_and_max_methods(self):
+
+        d1 = Decimal('15.32')
+        d2 = Decimal('28.5')
+        l1 = 15
+        l2 = 28
+
+        #between Decimals
+        self.failUnless(min(d1,d2) is d1)
+        self.failUnless(min(d2,d1) is d1)
+        self.failUnless(max(d1,d2) is d2)
+        self.failUnless(max(d2,d1) is d2)
+
+        #between Decimal and long
+        self.failUnless(min(d1,l2) is d1)
+        self.failUnless(min(l2,d1) is d1)
+        self.failUnless(max(l1,d2) is d2)
+        self.failUnless(max(d2,l1) is d2)
+
+    def test_as_nonzero(self):
+        #as false
+        self.failIf(Decimal(0))
+        #as true
+        self.failUnless(Decimal('0.372'))
+
+    def test_tostring_methods(self):
+        #Test str and repr methods.
+
+        d = Decimal('15.32')
+        self.assertEqual(str(d), '15.32')               # str
+        self.assertEqual(repr(d), 'Decimal("15.32")')   # repr
+
+    def test_tonum_methods(self):
+        #Test float, int and long methods.
+
+        d1 = Decimal('66')
+        d2 = Decimal('15.32')
+
+        #int
+        self.assertEqual(int(d1), 66)
+        self.assertEqual(int(d2), 15)
+
+        #long
+        self.assertEqual(long(d1), 66)
+        self.assertEqual(long(d2), 15)
+
+        #float
+        self.assertEqual(float(d1), 66)
+        self.assertEqual(float(d2), 15.32)
+
+    def test_eval_round_trip(self):
+
+        #with zero
+        d = Decimal( (0, (0,), 0) )
+        self.assertEqual(d, eval(repr(d)))
+
+        #int
+        d = Decimal( (1, (4, 5), 0) )
+        self.assertEqual(d, eval(repr(d)))
+
+        #float
+        d = Decimal( (0, (4, 5, 3, 4), -2) )
+        self.assertEqual(d, eval(repr(d)))
+
+        #weird
+        d = Decimal( (1, (4, 3, 4, 9, 1, 3, 5, 3, 4), -25) )
+        self.assertEqual(d, eval(repr(d)))
+
+    def test_as_tuple(self):
+
+        #with zero
+        d = Decimal(0)
+        self.assertEqual(d.as_tuple(), (0, (0,), 0) )
+
+        #int
+        d = Decimal(-45)
+        self.assertEqual(d.as_tuple(), (1, (4, 5), 0) )
+
+        #complicated string
+        d = Decimal("-4.34913534E-17")
+        self.assertEqual(d.as_tuple(), (1, (4, 3, 4, 9, 1, 3, 5, 3, 4), -25) )
+
+        #inf
+        d = Decimal("Infinity")
+        self.assertEqual(d.as_tuple(), (0, (0,), 'F') )
+
+    def test_immutability_operations(self):
+        # Do operations and check that it didn't change change internal objects.
+
+        d1 = Decimal('-25e55')
+        b1 = Decimal('-25e55')
+        d2 = Decimal('33e-33')
+        b2 = Decimal('33e-33')
+
+        def checkSameDec(operation, useOther=False):
+            if useOther:
+                eval("d1." + operation + "(d2)")
+                self.assertEqual(d1._sign, b1._sign)
+                self.assertEqual(d1._int, b1._int)
+                self.assertEqual(d1._exp, b1._exp)
+                self.assertEqual(d2._sign, b2._sign)
+                self.assertEqual(d2._int, b2._int)
+                self.assertEqual(d2._exp, b2._exp)
+            else:
+                eval("d1." + operation + "()")
+                self.assertEqual(d1._sign, b1._sign)
+                self.assertEqual(d1._int, b1._int)
+                self.assertEqual(d1._exp, b1._exp)
+            return
+
+        Decimal(d1)
+        self.assertEqual(d1._sign, b1._sign)
+        self.assertEqual(d1._int, b1._int)
+        self.assertEqual(d1._exp, b1._exp)
+
+        checkSameDec("__abs__")
+        checkSameDec("__add__", True)
+        checkSameDec("__div__", True)
+        checkSameDec("__divmod__", True)
+        checkSameDec("__cmp__", True)
+        checkSameDec("__float__")
+        checkSameDec("__floordiv__", True)
+        checkSameDec("__hash__")
+        checkSameDec("__int__")
+        checkSameDec("__long__")
+        checkSameDec("__mod__", True)
+        checkSameDec("__mul__", True)
+        checkSameDec("__neg__")
+        checkSameDec("__nonzero__")
+        checkSameDec("__pos__")
+        checkSameDec("__pow__", True)
+        checkSameDec("__radd__", True)
+        checkSameDec("__rdiv__", True)
+        checkSameDec("__rdivmod__", True)
+        checkSameDec("__repr__")
+        checkSameDec("__rfloordiv__", True)
+        checkSameDec("__rmod__", True)
+        checkSameDec("__rmul__", True)
+        checkSameDec("__rpow__", True)
+        checkSameDec("__rsub__", True)
+        checkSameDec("__str__")
+        checkSameDec("__sub__", True)
+        checkSameDec("__truediv__", True)
+        checkSameDec("adjusted")
+        checkSameDec("as_tuple")
+        checkSameDec("compare", True)
+        checkSameDec("max", True)
+        checkSameDec("min", True)
+        checkSameDec("normalize")
+        checkSameDec("quantize", True)
+        checkSameDec("remainder_near", True)
+        checkSameDec("same_quantum", True)
+        checkSameDec("sqrt")
+        checkSameDec("to_eng_string")
+        checkSameDec("to_integral")
+
+class DecimalPythonAPItests(unittest.TestCase):
+
+    def test_pickle(self):
+        d = Decimal('-3.141590000')
+        p = pickle.dumps(d)
+        e = pickle.loads(p)
+        self.assertEqual(d, e)
+
+    def test_int(self):
+        for x in range(-250, 250):
+            s = '%0.2f' % (x / 100.0)
+            # should work the same as for floats
+            self.assertEqual(int(Decimal(s)), int(float(s)))
+            # should work the same as to_integral in the ROUND_DOWN mode
+            d = Decimal(s)
+            r = d.to_integral(ROUND_DOWN)
+            self.assertEqual(Decimal(int(d)), r)
+
+class ContextAPItests(unittest.TestCase):
+
+    def test_pickle(self):
+        c = Context()
+        e = pickle.loads(pickle.dumps(c))
+        for k in vars(c):
+            v1 = vars(c)[k]
+            v2 = vars(e)[k]
+            self.assertEqual(v1, v2)
+
+    def test_equality_with_other_types(self):
+        self.assert_(Decimal(10) in ['a', 1.0, Decimal(10), (1,2), {}])
+        self.assert_(Decimal(10) not in ['a', 1.0, (1,2), {}])
+
+    def test_copy(self):
+        # All copies should be deep
+        c = Context()
+        d = c.copy()
+        self.assertNotEqual(id(c), id(d))
+        self.assertNotEqual(id(c.flags), id(d.flags))
+        self.assertNotEqual(id(c.traps), id(d.traps))
+
+def test_main(arith=False, verbose=None):
+    """ Execute the tests.
+
+    Runs all arithmetic tests if arith is True or if the "decimal" resource
+    is enabled in regrtest.py
+    """
+
+    init()
+    global TEST_ALL
+    TEST_ALL = arith or is_resource_enabled('decimal')
+
+    test_classes = [
+        DecimalExplicitConstructionTest,
+        DecimalImplicitConstructionTest,
+        DecimalArithmeticOperatorsTest,
+        DecimalUseOfContextTest,
+        DecimalUsabilityTest,
+        DecimalPythonAPItests,
+        ContextAPItests,
+        DecimalTest,
+    ]
+
+    try:
+        run_unittest(*test_classes)
+        import decimal as DecimalModule
+        run_doctest(DecimalModule, verbose)
+    finally:
+        setcontext(ORIGINAL_CONTEXT)
+
+if __name__ == '__main__':
+    # Calling with no arguments runs all tests.
+    # Calling with "Skip" will skip over 90% of the arithmetic tests.
+    if len(sys.argv) == 1:
+        test_main(arith=True, verbose=True)
+    elif len(sys.argv) == 2:
+        arith = sys.argv[1].lower() != 'skip'
+        test_main(arith=arith, verbose=True)
+    else:
+        raise ValueError("test called with wrong arguments, use test_Decimal [Skip]")


More information about the Python-checkins mailing list