diff options
Diffstat (limited to 'Lib')
33 files changed, 27038 insertions, 1 deletions
diff --git a/Lib/decimal.py b/Lib/decimal.py new file mode 100644 index 0000000..d1145a5 --- /dev/null +++ b/Lib/decimal.py @@ -0,0 +1,3085 @@ +# 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 + + +# Todo: +# Add deepcopy and pickle support for contexts +# Consider having a SimpleDecimal subclass implementing X3.274 semantics +# Improve the Context API +# Especially with respect to setting flags and traps +# Consider adding a clear_flags() method to Context +# Provide a clean way of attaching monetary format representations +# Review all exposed constants for utility vs. namespace clutter + + +""" +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 + +IEEE standard 854-1987: + + www.cs.berkeley.edu/~ejr/projects/754/private/drafts/854-1987/dir.html + +and ANSI standard X3.274-1996: + + www.rexxla.org/Standards/ansi.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 * +>>> 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().trap_enablers[DivisionByZero] = 1 +>>> print dig / 0 +Traceback (most recent call last): + ... + ... + ... +DivisionByZero: x / 0 +>>> c = Context() +>>> c.trap_enablers[DivisionUndefined] = 0 +>>> print c.flags[DivisionUndefined] +0 +>>> c.divide(Decimal(0), Decimal(0)) +Decimal("NaN") +>>> c.trap_enablers[DivisionUndefined] = 1 +>>> print c.flags[DivisionUndefined] +1 +>>> c.flags[DivisionUndefined] = 0 +>>> print c.flags[DivisionUndefined] +0 +>>> print c.divide(Decimal(0), Decimal(0)) +Traceback (most recent call last): + ... + ... + ... +DivisionUndefined: 0 / 0 +>>> print c.flags[DivisionUndefined] +1 +>>> c.flags[DivisionUndefined] = 0 +>>> c.trap_enablers[DivisionUndefined] = False +>>> print c.divide(Decimal(0), Decimal(0)) +NaN +>>> print c.flags[DivisionUndefined] +1 +>>> +""" + +__all__ = [ + # Two major classes + 'Decimal', 'Context', + + # Contexts + 'DefaultContext', 'BasicDefaultContext', 'ExtendedDefaultContext', + + # Exceptions + 'DecimalException', 'Clamped', 'InvalidOperation', 'ConversionSyntax', + 'DivisionByZero', 'DivisionImpossible', 'DivisionUndefined', + 'Inexact', 'InvalidContext', 'Rounded', 'Subnormal', 'Overflow', + 'Underflow', + + # Module parameters + 'SINGLE_PRECISION', 'DEFAULT_MAX_EXPONENT', 'DEFAULT_MIN_EXPONENT', + + # Constants for use in setting up contexts + 'ROUND_DOWN', 'ROUND_HALF_UP', 'ROUND_HALF_EVEN', 'ROUND_CEILING', + 'ROUND_FLOOR', 'ROUND_UP', 'ROUND_HALF_DOWN', + 'NEVER_ROUND', 'ALWAYS_ROUND', + 'ExceptionList', # <-- Used for building trap/flag dictionaries + + # Functions for manipulating contexts + 'setcontext', 'getcontext', + + # Functions for working with decimals + 'isinfinity', 'isnan', +] + +import threading +import copy +import math +import operator +xor = operator.xor + +#Precision +SINGLE_PRECISION = 9 + +#Exponent Range +DEFAULT_MAX_EXPONENT = 999999999 +DEFAULT_MIN_EXPONENT = -999999999 + +#Rounding +ROUND_DOWN = 'down' +ROUND_HALF_UP = 'half_up' +ROUND_HALF_EVEN = 'half_even' +ROUND_CEILING = 'ceiling' +ROUND_FLOOR = 'floor' +ROUND_UP = 'up' +ROUND_HALF_DOWN = 'half_down' + +#Rounding decision +NEVER_ROUND = 'never' # Round in division (non-divmod), sqrt ONLY +ALWAYS_ROUND = 'always' # Every operation rounds at end. + +#Errors + +class DecimalException(ArithmeticError): + """Base exception class, defines default things. + + 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. + + Attributes: + + default -- If the context is basic, the trap_enablers are set to + this by default. Extended contexts start out with them set + to 0, regardless. + + 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. + """ + default = 1 + 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. + """ + default = 0 + +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. + """ + default = 0 + +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. + """ + + +def _filterfunc(obj): + """Returns true if a subclass of DecimalException""" + try: + return issubclass(obj, DecimalException) + except TypeError: + return False + +#ExceptionList holds the exceptions +ExceptionList = filter(_filterfunc, globals().values()) + +del _filterfunc + + +##### Context Functions ####################################### + +#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.""" + 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 + + +##### Decimal class ########################################### + +class Decimal(object): + """Floating point class for decimal arithmetic.""" + + __slots__ = ('_exp','_int','_sign') + + def __init__(self, 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") + """ + if context is None: + context = getcontext() + + if isinstance(value, (int,long)): + value = str(value) + + # String? + # REs insist on real strings, so we can too. + if isinstance(value, basestring): + if isinfinity(value): + self._exp = 'F' + self._int = (0,) + sign = isinfinity(value) + if sign == 1: + self._sign = 0 + else: + self._sign = 1 + return + if isnan(value): + sig, sign, diag = isnan(value) + if len(diag) > context.prec: #Diagnostic info too long + self._sign, self._int, self._exp = \ + context._raise_error(ConversionSyntax) + return + 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._convertString(value, context) + return + + # 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] + else: + self._exp = int(value[2]) + return + + # Turn an intermediate value back to Decimal() + if isinstance(value, _WorkRep): + if value.sign == 1: + self._sign = 0 + else: + self._sign = 1 + self._int = tuple(value.int) + self._exp = int(value.exp) + return + + if isinstance(value, Decimal): + self._exp = value._exp + self._sign = value._sign + self._int = value._int + return + + raise TypeError("Can't convert %r" % value) + + def _convert_other(self, 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)): + other = Decimal(other) + return other + + raise TypeError, "You can interact Decimal only with int, long or Decimal data types." + + def _isnan(self): + """Returns whether the number is not actually one. + + 0 if a number + 1 if NaN + 2 if sNaN + """ + if self._exp == 'n': + return 1 + elif self._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. + """ + if context is None: + context = getcontext() + + if self._isnan() == 2: + return context._raise_error(InvalidOperation, 'sNaN', + 1, self) + if other is not None and other._isnan() == 2: + return context._raise_error(InvalidOperation, 'sNaN', + 1, other) + if self._isnan(): + return self + if other is not None and other._isnan(): + return other + return 0 + + def _convertString(self, value, context=None): + """Changes self's value to that in a string. + + A bad string causes a ConversionSyntax error. + """ + if context is None: + context = getcontext() + try: + self._sign, self._int, self._exp = _string2exact(value) + except ValueError: + self._sign, self._int, self._exp = context._raise_error(ConversionSyntax) + return + + def __nonzero__(self): + """Is the number non-zero? + + 0 if self == 0 + 1 if self != 0 + """ + if isinstance(self._exp, str): + return 1 + return self._int != (0,)*len(self._int) + + def __cmp__(self, other, context=None): + if context is None: + context = getcontext() + other = self._convert_other(other) + + ans = self._check_nans(other, context) + if ans: + return 1 + + 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 + + # INF = INF + if self._isinfinity() and other._isinfinity(): + return 0 + if self._isinfinity(): + return (-1)**self._sign + if other._isinfinity(): + return -((-1)**other._sign) + + 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) + + context = context.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 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. + """ + if context is None: + context = getcontext() + other = self._convert_other(other) + + #compare(NaN, NaN) = NaN + 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 hast(100E-1) == hash(10) + 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._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__. + """ + if context is None: + context = getcontext() + 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 context is None: + context = getcontext() + 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._rounding_decision == ALWAYS_ROUND: + return Decimal((sign, self._int, self._exp))._fix(context=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 context is None: + context = getcontext() + ans = self._check_nans(context=context) + if ans: + return ans + + sign = self._sign + if not self: + # + (-0) = 0 + sign = 0 + + if context._rounding_decision == ALWAYS_ROUND: + ans = self._fix(context=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 context is None: + context = getcontext() + ans = self._check_nans(context=context) + if ans: + return ans + + if not round: + context = context.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. + """ + if context is None: + context = getcontext() + other = self._convert_other(other) + + 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: + if exp < other._exp - context.prec-1: + exp = other._exp - context.prec-1 + ans = other._rescale(exp, watchexp=0, context=context) + if shouldround: + ans = ans._fix(context=context) + return ans + if not other: + if exp < self._exp - context.prec-1: + exp = self._exp - context.prec-1 + ans = self._rescale(exp, watchexp=0, context=context) + if shouldround: + ans = ans._fix(context=context) + return ans + + op1 = _WorkRep(self) + op2 = _WorkRep(other) + op1, op2 = _normalize(op1, op2, shouldround, context.prec) + + result = _WorkRep() + + if op1.sign != op2.sign: + diff = cmp(abs(op1), abs(op2)) + # Equal and opposite + if diff == 0: + if exp < context.Etiny(): + exp = context.Etiny() + context._raise_error(Clamped) + return Decimal((negativezero, (0,), exp)) + if diff < 0: + 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 = 1 + #So we know the sign, and op1 > 0. + elif op1.sign == -1: + result.sign = -1 + op1.sign, op2.sign = (1, 1) + else: + result.sign = 1 + #Now, op1 > abs(op2) > 0 + + op1.int.reverse() + op2.int.reverse() + + if op2.sign == 1: + result.int = resultint = map(operator.add, op1.int, op2.int) + carry = 0 + for i in xrange(len(op1.int)): + tmp = resultint[i] + carry + carry = 0 + if tmp > 9: + carry = 1 + tmp -= 10 + resultint[i] = tmp + if carry: + resultint.append(1) + else: + result.int = resultint = map(operator.sub, op1.int, op2.int) + loan = 0 + for i in xrange(len(op1.int)): + tmp = resultint[i] - loan + loan = 0 + if tmp < 0: + loan = 1 + tmp += 10 + resultint[i] = tmp + assert not loan + + while resultint[-1] == 0: + resultint.pop() + resultint.reverse() + + result.exp = op1.exp + ans = Decimal(result) + if shouldround: + ans = ans._fix(context=context) + return ans + + __radd__ = __add__ + + def __sub__(self, other, context=None): + """Return self + (-other)""" + if context is None: + context = getcontext() + other = self._convert_other(other) + + 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)""" + if context is None: + context = getcontext() + other = self._convert_other(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 context is None: + context = getcontext() + ans = self._check_nans(context=context) + if ans: + return ans + + 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 round and context._rounding_decision == ALWAYS_ROUND: + ans = ans._fix(context=context) + return ans + + def __mul__(self, other, context=None): + """Return self * other. + + (+-) INF * 0 (or its reverse) raise InvalidOperation. + """ + if context is None: + context = getcontext() + other = self._convert_other(other) + + ans = self._check_nans(other, context) + if ans: + return ans + + resultsign = xor(self._sign, other._sign) + 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=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=context) + return ans + if other._int == (1,): + ans = Decimal((resultsign, self._int, resultexp)) + if shouldround: + ans = ans._fix(context=context) + return ans + + op1 = list(self._int) + op2 = list(other._int) + op1.reverse() + op2.reverse() + # Minimize Decimal additions + if len(op2) > len(op1): + op1, op2 = op2, op1 + + _divmod = divmod + accumulator = [0]*(len(self._int) + len(other._int)) + for i in xrange(len(op2)): + if op2[i] == 0: + continue + mult = op2[i] + carry = 0 + for j in xrange(len(op1)): + carry, accumulator[i+j] = _divmod( mult * op1[j] + carry + + accumulator[i+j], 10) + + if carry: + accumulator[i + j + 1] += carry + while not accumulator[-1]: + accumulator.pop() + accumulator.reverse() + + ans = Decimal( (resultsign, accumulator, resultexp)) + if shouldround: + ans = ans._fix(context=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. + """ + if context is None: + context = getcontext() + other = self._convert_other(other) + + ans = self._check_nans(other, context) + if ans: + if divmod: + return (ans, ans) + else: + return ans + + sign = xor(self._sign, other._sign) + if not self and not other: + if divmod: + return context._raise_error(DivisionUndefined, '0 / 0', 1) + return context._raise_error(DivisionUndefined, '0 / 0') + if self._isinfinity() and other._isinfinity(): + if not divmod: + return context._raise_error(InvalidOperation, '(+-)INF/(+-)INF') + else: + return (context._raise_error(InvalidOperation, + '(+-)INF // (+-)INF'), + context._raise_error(InvalidOperation, + '(+-)INF % (+-)INF')) + + if not divmod: + if other._isinfinity(): + context._raise_error(Clamped, 'Division by infinity') + return Decimal((sign, (0,), context.Etiny())) + if self._isinfinity(): + return Infsign[sign] + #These two have different precision. + if not self: + 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: + return context._raise_error(DivisionByZero, 'x / 0', sign) + if divmod: + if other._isinfinity(): + return (Decimal((sign, (0,), 0)), Decimal(self)) + 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')) + if not self: + otherside = Decimal(self) + otherside._exp = min(self._exp, other._exp) + return (Decimal((sign, (0,), 0)), otherside) + + if not other: + return context._raise_error(DivisionByZero, 'divmod(x,0)', + sign, 1) + + #OK, so neither = 0, INF + + 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=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)) + + if sign: + sign = -1 + else: + sign = 1 + adjust = 0 + 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) + + ans = None + while 1: + while( (len(op2.int) < len(op1.int) and op1.int[0]) or + (len(op2.int) == len(op1.int) and op2.int <= op1.int)): + #Meaning, while op2.int < op1.int, when normalized. + res._increment() + op1.subtract(op2.int) + if res.exp == 0 and divmod: + if len(res.int) > context.prec 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=context) + return (Decimal(res), otherside) + + if op1.int == [0]*len(op1.int) and adjust >= 0 and not divmod: + break + if (len(res.int) > context.prec) 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]*len(op1.int): + res.int.append(1) + res.exp -= 1 + + break + res.exp -= 1 + adjust += 1 + res.int.append(0) + op1.int.append(0) + op1.exp -= 1 + + if res.exp == 0 and divmod and (len(op2.int) > len(op1.int) or + (len(op2.int) == len(op1.int) and + op2.int > op1.int)): + #Solves an error in precision. Same as a previous block. + + if len(res.int) > context.prec 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=context) + return ans + + def __rdiv__(self, other, context=None): + """Swaps self/other and returns __div__.""" + other = self._convert_other(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 = self._convert_other(other) + return other.__divmod__(self, context=context) + + def __mod__(self, other, context=None): + """ + self % other + """ + if context is None: + context = getcontext() + other = self._convert_other(other) + + 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 = self._convert_other(other) + return other.__mod__(self, context=context) + + def remainder_near(self, other, context=None): + """ + Remainder nearest to 0- abs(remainder-near) <= other/2 + """ + if context is None: + context = getcontext() + other = self._convert_other(other) + + ans = self._check_nans(other, context) + if ans: + return ans + if self and not other: + return context._raise_error(InvalidOperation, 'x % 0') + + # If DivisionImpossible causes an error, do not leave Rounded/Inexact + # ignored in the calling function. + context = context.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.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=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=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 = self._convert_other(other) + return other.__floordiv__(self, context=context) + + def __float__(self): + """Float representation.""" + return float(str(self)) + + def __int__(self): + """Converts self to a int, truncating if necessary.""" + # XXX This should be implemented in terms of tested + # functions in the standard + if self._isnan(): + context = getcontext() + return context._raise_error(InvalidContext) + elif self._isinfinity(): + raise OverflowError, "Cannot convert infinity to long" + if not self: + return 0 + sign = '-'*self._sign + if self._exp >= 0: + s = sign + ''.join(map(str, self._int)) + '0'*self._exp + return int(s) + s = sign + ''.join(map(str, self._int))[:self._exp] + return int(s) + tmp = list(self._int) + tmp.reverse() + val = 0 + while tmp: + val *= 10 + val += tmp.pop() + return int(((-1) ** self._sign) * val * 10.**int(self._exp)) + + def __long__(self): + """Converts to a long. + + Equivalent to long(int(self)) + """ + return long(self.__int__()) + + def _fix(self, prec=None, rounding=None, folddown=None, context=None): + """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 + prec - precision to which to round. By default, the context decides. + rounding - Rounding method. By default, the context decides. + folddown - Fold down high elements, by default context._clamp + context - context used. + """ + if self._isinfinity() or self._isnan(): + return self + if context is None: + context = getcontext() + if prec is None: + prec = context.prec + ans = Decimal(self) + ans = ans._fixexponents(prec, rounding, folddown=folddown, + context=context) + if len(ans._int) > prec: + ans = ans._round(prec, rounding, context=context) + ans = ans._fixexponents(prec, rounding, folddown=folddown, + context=context) + return ans + + def _fixexponents(self, prec=None, rounding=None, folddown=None, + context=None): + """Fix the exponents and return a copy with the exponent in bounds.""" + if self._isinfinity(): + return self + if context is None: + context = getcontext() + if prec is None: + prec = context.prec + if folddown is None: + folddown = context._clamp + Emin, Emax = context.Emin, context.Emax + Etop = context.Etop() + ans = Decimal(self) + if ans.adjusted() < Emin: + Etiny = context.Etiny() + if ans._exp < Etiny: + if not ans: + 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) + elif folddown and ans._exp > Etop: + context._raise_error(Clamped) + ans = ans._rescale(Etop, context=context) + elif ans.adjusted() > Emax: + if not ans: + 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 context is None: + context = getcontext() + ans = self._check_nans(context=context) + if ans: + return ans + + if self._isinfinity(): + return Decimal(self) + + 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.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] %2 == 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. + """ + if context is None: + context = getcontext() + n = self._convert_other(n) + + #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._isinfinity() and 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 > DEFAULT_MAX_EXPONENT: + return context._raise_error(Overflow, 'Too much precision.', sign) + + mul = Decimal(self) + val = Decimal(1) + context = context.copy() + context.prec = firstprec + elength + 1 + rounding = context.rounding + if n < 0: + #n is a long now, not Decimal instance + n = -n + mul = Decimal(1).__div__(mul, context=context) + + shouldround = context._rounding_decision == ALWAYS_ROUND + + 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 shouldround: + return val._fix(context=context) + return val + + def __rpow__(self, other, context=None): + """Swaps self/other and returns __pow__.""" + other = self._convert_other(other) + return other.__pow__(self, context=context) + + def normalize(self, context=None): + """Normalize- strip trailing 0s, change anything equal to 0 to 0e0""" + if context is None: + context = getcontext() + + ans = self._check_nans(context=context) + if ans: + return ans + + dup = self._fix(context=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 context is None: + context = getcontext() + + 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 + 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._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._isinfinity(): + return context._raise_error(InvalidOperation, 'rescale with an INF') + + ans = self._check_nans(context=context) + if ans: + return ans + + out = 0 + + 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 + + prevexact = context.flags[Inexact] + 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 + + 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 context is None: + context = getcontext() + ans = self._check_nans(context=context) + if ans: + return ans + if self._exp >= 0: + return self + 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 context is None: + context = getcontext() + + ans = self._check_nans(context=context) + if ans: + return ans + + 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 self._sign == 1: + return context._raise_error(InvalidOperation, 'sqrt(-x), x > 0') + + if self._isinfinity(): + return Decimal(self) + + tmp = Decimal(self) + + expadd = tmp._exp / 2 + if tmp._exp % 2 == 1: + tmp._int += (0,) + tmp._exp = 0 + else: + tmp._exp = 0 + + context = context.copy() + flags = context._ignore_all_flags() + firstprec = context.prec + context.prec = 3 + if tmp.adjusted() % 2 == 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 = DEFAULT_MAX_EXPONENT, DEFAULT_MIN_EXPONENT + + + half = Decimal('0.5') + + count = 1 + 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=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=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. + """ + if context is None: + context = getcontext() + other = self._convert_other(other) + + ans = self._check_nans(other, context) + if ans: + return ans + + ans = self + if self < other: + ans = other + shouldround = context._rounding_decision == ALWAYS_ROUND + if shouldround: + ans = ans._fix(context=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. + """ + if context is None: + context = getcontext() + other = self._convert_other(other) + + ans = self._check_nans(other, context) + if ans: + return ans + + ans = self + + if self > other: + ans = other + + if context._rounding_decision == ALWAYS_ROUND: + ans = ans._fix(context=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] % 2 == 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 + + #properties to immutability-near feature + def _get_sign(self): + return self._sign + def _get_int(self): + return self._int + def _get_exp(self): + return self._exp + sign = property(_get_sign) + int = property(_get_int) + exp = property(_get_exp) + + # 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)) + + +# 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 + +DefaultLock = threading.Lock() + +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? + trap_enablers - If trap_enablers[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 (defaults to -999999999) + Emax - Maximum exponent (defaults to 999999999) + capitals - If 1, 1*10^1 is printed as 1E+1. + If 0, printed as 1e1 + (Defaults to 1) + clamp - If 1, change exponents if too high (Default 0) + """ + def __init__(self, prec=None, rounding=None, + trap_enablers=None, flags=None, + _rounding_decision=None, + Emin=DEFAULT_MIN_EXPONENT, Emax=DEFAULT_MAX_EXPONENT, + capitals=1, _clamp=0, + _ignored_flags=[]): + DefaultLock.acquire() + for name, val in locals().items(): + if val is None: + setattr(self, name, copy.copy(getattr(DefaultContext, name))) + else: + setattr(self, name, val) + DefaultLock.release() + del self.self + + def copy(self): + """Returns a copy from self.""" + nc = Context(self.prec, self.rounding, self.trap_enablers, self.flags, + self._rounding_decision, self.Emin, self.Emax, + self.capitals, self._clamp, self._ignored_flags) + return nc + __copy__ = copy + + def _raise_error(self, error, 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. + """ + if error in self._ignored_flags: + #Don't touch the flag + return error().handle(self, *args) + + self.flags[error] += 1 + if not self.trap_enablers[error]: + #The errors define how to handle themselves. + return error().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(*ExceptionList) + + 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 Etiny(self): + """Returns Etiny (= Emin - prec + 1)""" + return int(self.Emin - self.prec + 1) + + def Etop(self): + """Returns maximum exponent (= Emin - 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.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): + """Creates a new Decimal instance but using self as context.""" + d = Decimal(num, context=self) + return d._fix(context=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. + + >>> DefaultContext.abs(Decimal('2.1')) + Decimal("2.1") + >>> DefaultContext.abs(Decimal('-100')) + Decimal("100") + >>> DefaultContext.abs(Decimal('101.5')) + Decimal("101.5") + >>> DefaultContext.abs(Decimal('-101.5')) + Decimal("101.5") + """ + return a.__abs__(context=self) + + def add(self, a, b): + """Return the sum of the two operands. + + >>> DefaultContext.add(Decimal('12'), Decimal('7.00')) + Decimal("19.00") + >>> DefaultContext.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(context=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. + + >>> DefaultContext.compare(Decimal('2.1'), Decimal('3')) + Decimal("-1") + >>> DefaultContext.compare(Decimal('2.1'), Decimal('2.1')) + Decimal("0") + >>> DefaultContext.compare(Decimal('2.1'), Decimal('2.10')) + Decimal("0") + >>> DefaultContext.compare(Decimal('3'), Decimal('2.1')) + Decimal("1") + >>> DefaultContext.compare(Decimal('2.1'), Decimal('-3')) + Decimal("1") + >>> DefaultContext.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. + + >>> DefaultContext.divide(Decimal('1'), Decimal('3')) + Decimal("0.333333333") + >>> DefaultContext.divide(Decimal('2'), Decimal('3')) + Decimal("0.666666667") + >>> DefaultContext.divide(Decimal('5'), Decimal('2')) + Decimal("2.5") + >>> DefaultContext.divide(Decimal('1'), Decimal('10')) + Decimal("0.1") + >>> DefaultContext.divide(Decimal('12'), Decimal('12')) + Decimal("1") + >>> DefaultContext.divide(Decimal('8.00'), Decimal('2')) + Decimal("4.00") + >>> DefaultContext.divide(Decimal('2.400'), Decimal('2.0')) + Decimal("1.20") + >>> DefaultContext.divide(Decimal('1000'), Decimal('100')) + Decimal("10") + >>> DefaultContext.divide(Decimal('1000'), Decimal('1')) + Decimal("1000") + >>> DefaultContext.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. + + >>> DefaultContext.divide_int(Decimal('2'), Decimal('3')) + Decimal("0") + >>> DefaultContext.divide_int(Decimal('10'), Decimal('3')) + Decimal("3") + >>> DefaultContext.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. + + >>> DefaultContext.max(Decimal('3'), Decimal('2')) + Decimal("3") + >>> DefaultContext.max(Decimal('-10'), Decimal('3')) + Decimal("3") + >>> DefaultContext.max(Decimal('1.0'), Decimal('1')) + Decimal("1.0") + """ + 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. + + >>> DefaultContext.min(Decimal('3'), Decimal('2')) + Decimal("2") + >>> DefaultContext.min(Decimal('-10'), Decimal('3')) + Decimal("-10") + >>> DefaultContext.min(Decimal('1.0'), Decimal('1')) + Decimal("1.0") + """ + 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. + + >>> DefaultContext.minus(Decimal('1.3')) + Decimal("-1.3") + >>> DefaultContext.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. + + >>> DefaultContext.multiply(Decimal('1.20'), Decimal('3')) + Decimal("3.60") + >>> DefaultContext.multiply(Decimal('7'), Decimal('3')) + Decimal("21") + >>> DefaultContext.multiply(Decimal('0.9'), Decimal('0.8')) + Decimal("0.72") + >>> DefaultContext.multiply(Decimal('0.9'), Decimal('-0')) + Decimal("-0.0") + >>> DefaultContext.multiply(Decimal('654321'), Decimal('654321')) + Decimal("4.28135971E+11") + """ + return a.__mul__(b, context=self) + + def normalize(self, a): + """normalize reduces its operand to its simplest form. + + Essentially a plus operation with all trailing zeros removed from the + result. + + >>> DefaultContext.normalize(Decimal('2.1')) + Decimal("2.1") + >>> DefaultContext.normalize(Decimal('-2.0')) + Decimal("-2") + >>> DefaultContext.normalize(Decimal('1.200')) + Decimal("1.2") + >>> DefaultContext.normalize(Decimal('-120')) + Decimal("-1.2E+2") + >>> DefaultContext.normalize(Decimal('120.00')) + Decimal("1.2E+2") + >>> DefaultContext.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. + + >>> DefaultContext.plus(Decimal('1.3')) + Decimal("1.3") + >>> DefaultContext.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. + + >>> DefaultContext.power(Decimal('2'), Decimal('3')) + Decimal("8") + >>> DefaultContext.power(Decimal('2'), Decimal('-3')) + Decimal("0.125") + >>> DefaultContext.power(Decimal('1.7'), Decimal('8')) + Decimal("69.7575744") + >>> DefaultContext.power(Decimal('Infinity'), Decimal('-2')) + Decimal("0") + >>> DefaultContext.power(Decimal('Infinity'), Decimal('-1')) + Decimal("0") + >>> DefaultContext.power(Decimal('Infinity'), Decimal('0')) + Decimal("1") + >>> DefaultContext.power(Decimal('Infinity'), Decimal('1')) + Decimal("Infinity") + >>> DefaultContext.power(Decimal('Infinity'), Decimal('2')) + Decimal("Infinity") + >>> DefaultContext.power(Decimal('-Infinity'), Decimal('-2')) + Decimal("0") + >>> DefaultContext.power(Decimal('-Infinity'), Decimal('-1')) + Decimal("-0") + >>> DefaultContext.power(Decimal('-Infinity'), Decimal('0')) + Decimal("1") + >>> DefaultContext.power(Decimal('-Infinity'), Decimal('1')) + Decimal("-Infinity") + >>> DefaultContext.power(Decimal('-Infinity'), Decimal('2')) + Decimal("Infinity") + >>> DefaultContext.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. + + >>> DefaultContext.quantize(Decimal('2.17'), Decimal('0.001')) + Decimal("2.170") + >>> DefaultContext.quantize(Decimal('2.17'), Decimal('0.01')) + Decimal("2.17") + >>> DefaultContext.quantize(Decimal('2.17'), Decimal('0.1')) + Decimal("2.2") + >>> DefaultContext.quantize(Decimal('2.17'), Decimal('1e+0')) + Decimal("2") + >>> DefaultContext.quantize(Decimal('2.17'), Decimal('1e+1')) + Decimal("0E+1") + >>> DefaultContext.quantize(Decimal('-Inf'), Decimal('Infinity')) + Decimal("-Infinity") + >>> DefaultContext.quantize(Decimal('2'), Decimal('Infinity')) + Decimal("NaN") + >>> DefaultContext.quantize(Decimal('-0.1'), Decimal('1')) + Decimal("-0") + >>> DefaultContext.quantize(Decimal('-0'), Decimal('1e+5')) + Decimal("-0E+5") + >>> DefaultContext.quantize(Decimal('+35236450.6'), Decimal('1e-2')) + Decimal("NaN") + >>> DefaultContext.quantize(Decimal('-35236450.6'), Decimal('1e-2')) + Decimal("NaN") + >>> DefaultContext.quantize(Decimal('217'), Decimal('1e-1')) + Decimal("217.0") + >>> DefaultContext.quantize(Decimal('217'), Decimal('1e-0')) + Decimal("217") + >>> DefaultContext.quantize(Decimal('217'), Decimal('1e+1')) + Decimal("2.2E+2") + >>> DefaultContext.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). + + >>> DefaultContext.remainder(Decimal('2.1'), Decimal('3')) + Decimal("2.1") + >>> DefaultContext.remainder(Decimal('10'), Decimal('3')) + Decimal("1") + >>> DefaultContext.remainder(Decimal('-10'), Decimal('3')) + Decimal("-1") + >>> DefaultContext.remainder(Decimal('10.2'), Decimal('1')) + Decimal("0.2") + >>> DefaultContext.remainder(Decimal('10'), Decimal('0.3')) + Decimal("0.1") + >>> DefaultContext.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). + + >>> DefaultContext.remainder_near(Decimal('2.1'), Decimal('3')) + Decimal("-0.9") + >>> DefaultContext.remainder_near(Decimal('10'), Decimal('6')) + Decimal("-2") + >>> DefaultContext.remainder_near(Decimal('10'), Decimal('3')) + Decimal("1") + >>> DefaultContext.remainder_near(Decimal('-10'), Decimal('3')) + Decimal("-1") + >>> DefaultContext.remainder_near(Decimal('10.2'), Decimal('1')) + Decimal("0.2") + >>> DefaultContext.remainder_near(Decimal('10'), Decimal('0.3')) + Decimal("0.1") + >>> DefaultContext.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. + + >>> DefaultContext.same_quantum(Decimal('2.17'), Decimal('0.001')) + False + >>> DefaultContext.same_quantum(Decimal('2.17'), Decimal('0.01')) + True + >>> DefaultContext.same_quantum(Decimal('2.17'), Decimal('1')) + False + >>> DefaultContext.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. + + >>> DefaultContext.sqrt(Decimal('0')) + Decimal("0") + >>> DefaultContext.sqrt(Decimal('-0')) + Decimal("-0") + >>> DefaultContext.sqrt(Decimal('0.39')) + Decimal("0.624499800") + >>> DefaultContext.sqrt(Decimal('100')) + Decimal("10") + >>> DefaultContext.sqrt(Decimal('1')) + Decimal("1") + >>> DefaultContext.sqrt(Decimal('1.0')) + Decimal("1.0") + >>> DefaultContext.sqrt(Decimal('1.00')) + Decimal("1.0") + >>> DefaultContext.sqrt(Decimal('7')) + Decimal("2.64575131") + >>> DefaultContext.sqrt(Decimal('10')) + Decimal("3.16227766") + """ + return a.sqrt(context=self) + + def subtract(self, a, b): + """Return the sum of the two operands. + + >>> DefaultContext.subtract(Decimal('1.3'), Decimal('1.07')) + Decimal("0.23") + >>> DefaultContext.subtract(Decimal('1.3'), Decimal('1.30')) + Decimal("0.00") + >>> DefaultContext.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. + + >>> DefaultContext.to_integral(Decimal('2.1')) + Decimal("2") + >>> DefaultContext.to_integral(Decimal('100')) + Decimal("100") + >>> DefaultContext.to_integral(Decimal('100.0')) + Decimal("100") + >>> DefaultContext.to_integral(Decimal('101.5')) + Decimal("102") + >>> DefaultContext.to_integral(Decimal('-101.5')) + Decimal("-102") + >>> DefaultContext.to_integral(Decimal('10E+5')) + Decimal("1.0E+6") + >>> DefaultContext.to_integral(Decimal('7.89E+77')) + Decimal("7.89E+77") + >>> DefaultContext.to_integral(Decimal('-Inf')) + Decimal("-Infinity") + """ + return a.to_integral(context=self) + +class _WorkRep(object): + __slots__ = ('sign','int','exp') + # sign: -1 None 1 + # int: list + # exp: None, int, or string + + def __init__(self, value=None): + if value is None: + self.sign = None + self.int = [] + self.exp = None + if isinstance(value, Decimal): + if value._sign: + self.sign = -1 + else: + self.sign = 1 + self.int = list(value._int) + self.exp = value._exp + if 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 __neg__(self): + if self.sign == 1: + return _WorkRep( (-1, self.int, self.exp) ) + else: + return _WorkRep( (1, self.int, self.exp) ) + + def __abs__(self): + if self.sign == -1: + return -self + else: + return self + + def __cmp__(self, other): + if self.exp != other.exp: + raise ValueError("Operands not normalized: %r, %r" % (self, other)) + if self.sign != other.sign: + if self.sign == -1: + return -1 + else: + return 1 + if self.sign == -1: + direction = -1 + else: + direction = 1 + int1 = self.int + int2 = other.int + if len(int1) > len(int2): + return direction * 1 + if len(int1) < len(int2): + return direction * -1 + for i in xrange(len(int1)): + if int1[i] > int2[i]: + return direction * 1 + if int1[i] < int2[i]: + return direction * -1 + return 0 + + def _increment(self): + curspot = len(self.int) - 1 + self.int[curspot]+= 1 + while (self.int[curspot] >= 10): + self.int[curspot] -= 10 + if curspot == 0: + self.int[0:0] = [1] + break + self.int[curspot-1] += 1 + curspot -= 1 + + def subtract(self, alist): + """Subtract a list from the current int (in place). + + It is assured that (len(list) = len(self.int) and list < self.int) or + len(list) = len(self.int)-1 + (i.e. that int(join(list)) < int(join(self.int))) + """ + + selfint = self.int + selfint.reverse() + alist.reverse() + + carry = 0 + for x in xrange(len(alist)): + selfint[x] -= alist[x] + carry + if selfint[x] < 0: + carry = 1 + selfint[x] += 10 + else: + carry = 0 + if carry: + selfint[x+1] -= 1 + last = len(selfint)-1 + while len(selfint) > 1 and selfint[last] == 0: + last -= 1 + if last == 0: + break + selfint[last+1:]=[] + selfint.reverse() + alist.reverse() + return + + +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 > len(other.int) + prec + 1 -len(tmp.int): + # 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 MemoryErrors. + + extend = prec + 2 -len(tmp.int) + if extend <= 0: + extend = 1 + tmp.int.extend([0]*extend) + tmp.exp -= extend + other.int[:] = [0]*(len(tmp.int)-1)+[1] + other.exp = tmp.exp + return op1, op2 + + tmp.int.extend([0] * numdigits) + tmp.exp = tmp.exp - numdigits + numdigits = len(op1.int) - len(op2.int) + # numdigits != 0 => They have the same exponent, but not the same length + # of the coefficient. + if numdigits < 0: + numdigits = -numdigits + tmp = op1 + else: + tmp = op2 + tmp.int[0:0] = [0] * numdigits + return op1, op2 + +def _adjust_coefficients(op1, op2): + """Adjust op1, op2 so that op2.int+[0] > 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, get it to same size + if len(op2.int) > len(op1.int): + diff = len(op2.int) - len(op1.int) + op1.int.extend([0]*diff) + op1.exp -= diff + adjust = diff + + #Same length, wrong order + if len(op1.int) == len(op2.int) and op1.int < op2.int: + op1.int.append(0) + op1.exp -= 1 + adjust+= 1 + return op1, op2, adjust + + if len(op1.int) > len(op2.int) + 1: + diff = len(op1.int) - len(op2.int) - 1 + op2.int.extend([0]*diff) + op2.exp -= diff + adjust -= diff + + if len(op1.int) == len(op2.int)+1 and op1.int > op2.int: + + op2.int.append(0) + op2.exp -= 1 + adjust -= 1 + return op1, op2, adjust + +##### Helper Functions ######################################## + +_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 positive 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 ################################ + +def _zero_exceptions(): + "Helper function mapping all exceptions to zero." + d = {} + for exception in ExceptionList: + d[exception] = 0 + return d + +# The default context prototype used by Context() +# Is mutable, so than new contexts can have different default values + +DefaultContext = Context( + prec=SINGLE_PRECISION, rounding=ROUND_HALF_EVEN, + trap_enablers=_zero_exceptions(), + flags=_zero_exceptions(), + _rounding_decision=ALWAYS_ROUND, +) + +# 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. + +_basic_traps = _zero_exceptions() +_basic_traps.update({Inexact:1, Rounded:1, Subnormal:1}) + +BasicDefaultContext = Context( + prec=9, rounding=ROUND_HALF_UP, + trap_enablers=_basic_traps, + flags=_zero_exceptions(), + _rounding_decision=ALWAYS_ROUND, +) + +ExtendedDefaultContext = Context( + prec=SINGLE_PRECISION, rounding=ROUND_HALF_EVEN, + trap_enablers=_zero_exceptions(), + flags=_zero_exceptions(), + _rounding_decision=ALWAYS_ROUND, +) + + +##### 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__]) diff --git a/Lib/test/decimaltestdata/abs.decTest b/Lib/test/decimaltestdata/abs.decTest new file mode 100644 index 0000000..033aac1 --- /dev/null +++ b/Lib/test/decimaltestdata/abs.decTest @@ -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@uk.ibm.com -- +------------------------------------------------------------------------ +version: 2.38 + +-- 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 + diff --git a/Lib/test/decimaltestdata/add.decTest b/Lib/test/decimaltestdata/add.decTest new file mode 100644 index 0000000..a4478a8 --- /dev/null +++ b/Lib/test/decimaltestdata/add.decTest @@ -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@uk.ibm.com -- +------------------------------------------------------------------------ +version: 2.38 + +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 diff --git a/Lib/test/decimaltestdata/base.decTest b/Lib/test/decimaltestdata/base.decTest new file mode 100644 index 0000000..334c225 --- /dev/null +++ b/Lib/test/decimaltestdata/base.decTest @@ -0,0 +1,1266 @@ +------------------------------------------------------------------------ +-- 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@uk.ibm.com -- +------------------------------------------------------------------------ +version: 2.38 + +-- 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 +basx101 toSci "12" -> '12' +basx102 toSci "-76" -> '-76' +basx103 toSci "12.76" -> '12.76' +basx104 toSci "+12.76" -> '12.76' +basx105 toSci "012.76" -> '12.76' +basx106 toSci "+0.003" -> '0.003' +basx107 toSci "17." -> '17' +basx108 toSci ".5" -> '0.5' +basx109 toSci "044" -> '44' +basx110 toSci "0044" -> '44' +basx111 toSci "0.0005" -> '0.0005' +basx112 toSci "00.00005" -> '0.00005' +basx113 toSci "0.000005" -> '0.000005' +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' + +-- [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 + diff --git a/Lib/test/decimaltestdata/clamp.decTest b/Lib/test/decimaltestdata/clamp.decTest new file mode 100644 index 0000000..fafe708 --- /dev/null +++ b/Lib/test/decimaltestdata/clamp.decTest @@ -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@uk.ibm.com -- +------------------------------------------------------------------------ +version: 2.38 + +-- 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 diff --git a/Lib/test/decimaltestdata/compare.decTest b/Lib/test/decimaltestdata/compare.decTest new file mode 100644 index 0000000..40631da --- /dev/null +++ b/Lib/test/decimaltestdata/compare.decTest @@ -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@uk.ibm.com -- +------------------------------------------------------------------------ +version: 2.38 + +-- 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 diff --git a/Lib/test/decimaltestdata/decimal64.decTest b/Lib/test/decimaltestdata/decimal64.decTest new file mode 100644 index 0000000..74599be --- /dev/null +++ b/Lib/test/decimaltestdata/decimal64.decTest @@ -0,0 +1,421 @@ +------------------------------------------------------------------------ +-- 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@uk.ibm.com -- +------------------------------------------------------------------------ +version: 2.28 + +-- 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 +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 #7c7c7c7c7c7c7c7c -> #7dffffffffffffff +dece510 apply #7c00000000000000 -> NaN +dece511 apply #7d7d7d7d7d7d7d7d -> #7dffffffffffffff +dece512 apply #7d00000000000000 -> NaN +dece513 apply #7e7e7e7e7e7e7e7e -> #7fffffffffffffff +dece514 apply #7e00000000000000 -> sNaN +dece515 apply #7f7f7f7f7f7f7f7f -> #7fffffffffffffff +dece516 apply #7f00000000000000 -> sNaN + +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 #fc7c7c7c7c7c7c7c -> #7dffffffffffffff +dece530 apply #fc00000000000000 -> NaN +dece531 apply #fd7d7d7d7d7d7d7d -> #7dffffffffffffff +dece532 apply #fd00000000000000 -> NaN +dece533 apply #fe7e7e7e7e7e7e7e -> #7fffffffffffffff +dece534 apply #fe00000000000000 -> sNaN +dece535 apply #ff7f7f7f7f7f7f7f -> #7fffffffffffffff +dece536 apply #ff00000000000000 -> sNaN + +-- 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 + diff --git a/Lib/test/decimaltestdata/divide.decTest b/Lib/test/decimaltestdata/divide.decTest new file mode 100644 index 0000000..3141b4d --- /dev/null +++ b/Lib/test/decimaltestdata/divide.decTest @@ -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@uk.ibm.com -- +------------------------------------------------------------------------ +version: 2.38 + +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 + diff --git a/Lib/test/decimaltestdata/divideint.decTest b/Lib/test/decimaltestdata/divideint.decTest new file mode 100644 index 0000000..ae52647 --- /dev/null +++ b/Lib/test/decimaltestdata/divideint.decTest @@ -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@uk.ibm.com -- +------------------------------------------------------------------------ +version: 2.38 + +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 diff --git a/Lib/test/decimaltestdata/inexact.decTest b/Lib/test/decimaltestdata/inexact.decTest new file mode 100644 index 0000000..031891c --- /dev/null +++ b/Lib/test/decimaltestdata/inexact.decTest @@ -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@uk.ibm.com -- +------------------------------------------------------------------------ +version: 2.38 + +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 + diff --git a/Lib/test/decimaltestdata/integer.decTest b/Lib/test/decimaltestdata/integer.decTest new file mode 100644 index 0000000..b661d0e --- /dev/null +++ b/Lib/test/decimaltestdata/integer.decTest @@ -0,0 +1,151 @@ +------------------------------------------------------------------------ +-- integer.decTest -- round decimal to integer -- +-- 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@uk.ibm.com -- +------------------------------------------------------------------------ +version: 2.26 + +-- This set of tests tests the extended specification 'round-to-integer' +-- operation (from IEEE 854). All non-zero results are defined as +-- being those from either plus or rescale, so those are assumed to have +-- been tested. + +extended: 1 +precision: 9 +rounding: half_up +maxExponent: 999 +minExponent: -999 + +intx001 integer 0 -> 0 +intx002 integer 0.0 -> 0 +intx003 integer 0.1 -> 0 Rounded Inexact +intx004 integer 0.2 -> 0 Rounded Inexact +intx005 integer 0.3 -> 0 Rounded Inexact +intx006 integer 0.4 -> 0 Rounded Inexact +intx007 integer 0.5 -> 1 Rounded Inexact +intx008 integer 0.6 -> 1 Rounded Inexact +intx009 integer 0.7 -> 1 Rounded Inexact +intx010 integer 0.8 -> 1 Rounded Inexact +intx011 integer 0.9 -> 1 Rounded Inexact +intx012 integer 1 -> 1 +intx013 integer 1.0 -> 1 Rounded +intx014 integer 1.1 -> 1 Rounded Inexact +intx015 integer 1.2 -> 1 Rounded Inexact +intx016 integer 1.3 -> 1 Rounded Inexact +intx017 integer 1.4 -> 1 Rounded Inexact +intx018 integer 1.5 -> 2 Rounded Inexact +intx019 integer 1.6 -> 2 Rounded Inexact +intx020 integer 1.7 -> 2 Rounded Inexact +intx021 integer 1.8 -> 2 Rounded Inexact +intx022 integer 1.9 -> 2 Rounded Inexact +-- negatives +intx031 integer -0 -> -0 +intx032 integer -0.0 -> -0 +intx033 integer -0.1 -> -0 Rounded Inexact +intx034 integer -0.2 -> -0 Rounded Inexact +intx035 integer -0.3 -> -0 Rounded Inexact +intx036 integer -0.4 -> -0 Rounded Inexact +intx037 integer -0.5 -> -1 Rounded Inexact +intx038 integer -0.6 -> -1 Rounded Inexact +intx039 integer -0.7 -> -1 Rounded Inexact +intx040 integer -0.8 -> -1 Rounded Inexact +intx041 integer -0.9 -> -1 Rounded Inexact +intx042 integer -1 -> -1 +intx043 integer -1.0 -> -1 Rounded +intx044 integer -1.1 -> -1 Rounded Inexact +intx045 integer -1.2 -> -1 Rounded Inexact +intx046 integer -1.3 -> -1 Rounded Inexact +intx047 integer -1.4 -> -1 Rounded Inexact +intx048 integer -1.5 -> -2 Rounded Inexact +intx049 integer -1.6 -> -2 Rounded Inexact +intx050 integer -1.7 -> -2 Rounded Inexact +intx051 integer -1.8 -> -2 Rounded Inexact +intx052 integer -1.9 -> -2 Rounded Inexact +intx053 integer 10E+30 -> NaN Invalid_operation +intx054 integer -10E+30 -> NaN Invalid_operation + +-- numbers around precision +precision: 9 +intx060 integer '56267E-10' -> '0' Inexact Rounded +intx061 integer '56267E-5' -> '1' Inexact Rounded +intx062 integer '56267E-2' -> '563' Inexact Rounded +intx063 integer '56267E-1' -> '5627' Inexact Rounded +intx065 integer '56267E-0' -> '56267' +intx066 integer '56267E+0' -> '56267' +intx067 integer '56267E+1' -> '562670' +intx068 integer '56267E+2' -> '5626700' +intx069 integer '56267E+3' -> '56267000' +intx070 integer '56267E+4' -> '562670000' +intx071 integer '56267E+5' -> NaN Invalid_operation +intx072 integer '56267E+6' -> NaN Invalid_operation +intx080 integer '-56267E-10' -> '-0' Inexact Rounded +intx081 integer '-56267E-5' -> '-1' Inexact Rounded +intx082 integer '-56267E-2' -> '-563' Inexact Rounded +intx083 integer '-56267E-1' -> '-5627' Inexact Rounded +intx085 integer '-56267E-0' -> '-56267' +intx086 integer '-56267E+0' -> '-56267' +intx087 integer '-56267E+1' -> '-562670' +intx088 integer '-56267E+2' -> '-5626700' +intx089 integer '-56267E+3' -> '-56267000' +intx090 integer '-56267E+4' -> '-562670000' +intx091 integer '-56267E+5' -> NaN Invalid_operation +intx092 integer '-56267E+6' -> NaN Invalid_operation + +-- specials and zeros +intx120 integer 'Inf' -> NaN Invalid_operation +intx121 integer '-Inf' -> NaN Invalid_operation +intx122 integer NaN -> NaN +intx123 integer sNaN -> NaN Invalid_operation +intx124 integer 0 -> 0 +intx125 integer -0 -> -0 +intx126 integer 0.000 -> 0 +intx127 integer 0.00 -> 0 +intx128 integer 0.0 -> 0 +intx129 integer 0 -> 0 +intx130 integer 0E-3 -> 0 +intx131 integer 0E-2 -> 0 +intx132 integer 0E-1 -> 0 +intx133 integer 0E-0 -> 0 +intx134 integer 0E+1 -> 0 +intx135 integer 0E+2 -> 0 +intx136 integer 0E+3 -> 0 +intx137 integer 0E+4 -> 0 +intx138 integer 0E+5 -> 0 +intx139 integer -0.000 -> -0 +intx140 integer -0.00 -> -0 +intx141 integer -0.0 -> -0 +intx142 integer -0 -> -0 +intx143 integer -0E-3 -> -0 +intx144 integer -0E-2 -> -0 +intx145 integer -0E-1 -> -0 +intx146 integer -0E-0 -> -0 +intx147 integer -0E+1 -> -0 +intx148 integer -0E+2 -> -0 +intx149 integer -0E+3 -> -0 +intx150 integer -0E+4 -> -0 +intx151 integer -0E+5 -> -0 + +-- examples +rounding: half_up +precision: 9 +intx200 integer 2.1 -> 2 Rounded Inexact +intx201 integer 100 -> 100 +intx202 integer 100.0 -> 100 Rounded +intx203 integer 101.5 -> 102 Rounded Inexact +intx204 integer -101.5 -> -102 Rounded Inexact +intx205 integer 10E+5 -> 1000000 + diff --git a/Lib/test/decimaltestdata/max.decTest b/Lib/test/decimaltestdata/max.decTest new file mode 100644 index 0000000..cb4e5cf --- /dev/null +++ b/Lib/test/decimaltestdata/max.decTest @@ -0,0 +1,300 @@ +------------------------------------------------------------------------ +-- 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@uk.ibm.com -- +------------------------------------------------------------------------ +version: 2.38 + +-- 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 +maxx035 max -0 -0 -> -0 +maxx036 max -0 -0.0 -> -0 +maxx037 max -0 0.0 -> -0 +maxx038 max 0.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.0 +maxx043 max -0.0 -0 -> -0.0 +maxx044 max -0.0 -0.0 -> -0.0 +maxx045 max -0.0 0.0 -> -0.0 + +maxx046 max -0E1 0E2 -> -0E+1 +maxx047 max 0E2 0E1 -> 0E+2 +maxx048 max 0E1 0E2 -> 0E+1 +maxx049 max -0E3 -0E2 -> -0E+3 + + +-- 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 + +maxx141 max NaN -Inf -> NaN +maxx142 max NaN -1000 -> NaN +maxx143 max NaN -1 -> NaN +maxx144 max NaN -0 -> NaN +maxx145 max NaN 0 -> NaN +maxx146 max NaN 1 -> NaN +maxx147 max NaN 1000 -> NaN +maxx148 max NaN Inf -> NaN +maxx149 max NaN NaN -> NaN +maxx150 max -Inf NaN -> NaN +maxx151 max -1000 NaN -> NaN +maxx152 max -1 NaN -> NaN +maxx153 max -0 NaN -> NaN +maxx154 max 0 NaN -> NaN +maxx155 max 1 NaN -> NaN +maxx156 max 1000 NaN -> NaN +maxx157 max Inf NaN -> NaN + +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 -> NaN9 +maxx182 max NaN8 9 -> NaN8 +maxx183 max -NaN7 Inf -> -NaN7 +maxx184 max NaN6 NaN5 -> NaN6 +maxx185 max -Inf NaN4 -> NaN4 +maxx186 max -9 -NaN3 -> -NaN3 +maxx187 max Inf NaN2 -> NaN2 + +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.0' +maxx283 max '1' '1.0' -> '1' + +-- 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 + + +-- overflow tests +maxexponent: 999999999 +minexponent: -999999999 +precision: 3 +maxx400 max 9.999E+999999999 0 -> Infinity Inexact Overflow Rounded +maxx401 max -9.999E+999999999 0 -> 0 + +-- subnormals and underflow +precision: 3 +maxexponent: 999 +minexponent: -999 +maxx410 max 1.00E-999 0 -> 1.00E-999 +maxx411 max 0.1E-999 0 -> 1E-1000 Subnormal +maxx412 max 0.10E-999 0 -> 1.0E-1000 Subnormal +maxx413 max 0.100E-999 0 -> 1.0E-1000 Subnormal Rounded +maxx414 max 0.01E-999 0 -> 1E-1001 Subnormal +-- next is rounded to Emin +maxx415 max 0.999E-999 0 -> 1.00E-999 Inexact Rounded Subnormal Underflow +maxx416 max 0.099E-999 0 -> 1.0E-1000 Inexact Rounded Subnormal Underflow +maxx417 max 0.009E-999 0 -> 1E-1001 Inexact Rounded Subnormal Underflow +maxx418 max 0.001E-999 0 -> 0E-1001 Inexact Rounded Subnormal Underflow +maxx419 max 0.0009E-999 0 -> 0E-1001 Inexact Rounded Subnormal Underflow +maxx420 max 0.0001E-999 0 -> 0E-1001 Inexact Rounded Subnormal Underflow + +maxx430 max -1.00E-999 0 -> 0 +maxx431 max -0.1E-999 0 -> 0 +maxx432 max -0.10E-999 0 -> 0 +maxx433 max -0.100E-999 0 -> 0 +maxx434 max -0.01E-999 0 -> 0 +maxx435 max -0.999E-999 0 -> 0 +maxx436 max -0.099E-999 0 -> 0 +maxx437 max -0.009E-999 0 -> 0 +maxx438 max -0.001E-999 0 -> 0 +maxx439 max -0.0009E-999 0 -> 0 +maxx440 max -0.0001E-999 0 -> 0 + +-- Null tests +maxx900 max 10 # -> NaN Invalid_operation +maxx901 max # 10 -> NaN Invalid_operation + + + diff --git a/Lib/test/decimaltestdata/min.decTest b/Lib/test/decimaltestdata/min.decTest new file mode 100644 index 0000000..8ee0907 --- /dev/null +++ b/Lib/test/decimaltestdata/min.decTest @@ -0,0 +1,297 @@ +------------------------------------------------------------------------ +-- 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@uk.ibm.com -- +------------------------------------------------------------------------ +version: 2.38 + +-- 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 +mnmx033 min 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.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.0 +mnmx044 min -0.0 -0.0 -> -0.0 +mnmx045 min -0.0 0.0 -> -0.0 + +mnmx046 min -0E1 0E2 -> -0E+1 +mnmx047 min 0E2 0E1 -> 0E+2 +mnmx048 min 0E1 0E2 -> 0E+1 +mnmx049 min -0E3 -0E2 -> -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 + +mnmx141 min NaN -Inf -> NaN +mnmx142 min NaN -1000 -> NaN +mnmx143 min NaN -1 -> NaN +mnmx144 min NaN -0 -> NaN +mnmx145 min NaN 0 -> NaN +mnmx146 min NaN 1 -> NaN +mnmx147 min NaN 1000 -> NaN +mnmx148 min NaN Inf -> NaN +mnmx149 min NaN NaN -> NaN +mnmx150 min -Inf NaN -> NaN +mnmx151 min -1000 NaN -> NaN +mnmx152 min -1 -NaN -> -NaN +mnmx153 min -0 NaN -> NaN +mnmx154 min 0 -NaN -> -NaN +mnmx155 min 1 NaN -> NaN +mnmx156 min 1000 NaN -> NaN +mnmx157 min Inf NaN -> NaN + +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 -> NaN9 +mnmx182 min -NaN8 9990 -> -NaN8 +mnmx183 min NaN71 Inf -> NaN71 +mnmx184 min NaN6 NaN51 -> NaN6 +mnmx185 min -Inf NaN41 -> NaN41 +mnmx186 min -9999 -NaN33 -> -NaN33 +mnmx187 min Inf NaN2 -> NaN2 + +mnmx191 min sNaN99 -Inf -> NaN99 Invalid_operation +mnmx192 min sNaN98 -11 -> NaN98 Invalid_operation +mnmx193 min -sNaN97 NaN -> -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' + +-- 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 + + +-- overflow tests +maxexponent: 999999999 +minexponent: -999999999 +precision: 3 +mnmx400 min 9.999E+999999999 0 -> 0 +mnmx401 min -9.999E+999999999 0 -> -Infinity Inexact Overflow Rounded + +-- subnormals and underflow +precision: 3 +maxexponent: 999 +minexponent: -999 +mnmx410 min 1.00E-999 0 -> 0 +mnmx411 min 0.1E-999 0 -> 0 +mnmx412 min 0.10E-999 0 -> 0 +mnmx413 min 0.100E-999 0 -> 0 +mnmx414 min 0.01E-999 0 -> 0 +mnmx415 min 0.999E-999 0 -> 0 +mnmx416 min 0.099E-999 0 -> 0 +mnmx417 min 0.009E-999 0 -> 0 +mnmx418 min 0.001E-999 0 -> 0 +mnmx419 min 0.0009E-999 0 -> 0 +mnmx420 min 0.0001E-999 0 -> 0 + +mnmx430 min -1.00E-999 0 -> -1.00E-999 +mnmx431 min -0.1E-999 0 -> -1E-1000 Subnormal +mnmx432 min -0.10E-999 0 -> -1.0E-1000 Subnormal +mnmx433 min -0.100E-999 0 -> -1.0E-1000 Subnormal Rounded +mnmx434 min -0.01E-999 0 -> -1E-1001 Subnormal +-- next is rounded to Emin +mnmx435 min -0.999E-999 0 -> -1.00E-999 Inexact Rounded Subnormal Underflow +mnmx436 min -0.099E-999 0 -> -1.0E-1000 Inexact Rounded Subnormal Underflow +mnmx437 min -0.009E-999 0 -> -1E-1001 Inexact Rounded Subnormal Underflow +mnmx438 min -0.001E-999 0 -> -0E-1001 Inexact Rounded Subnormal Underflow +mnmx439 min -0.0009E-999 0 -> -0E-1001 Inexact Rounded Subnormal Underflow +mnmx440 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 diff --git a/Lib/test/decimaltestdata/minus.decTest b/Lib/test/decimaltestdata/minus.decTest new file mode 100644 index 0000000..a8a9231 --- /dev/null +++ b/Lib/test/decimaltestdata/minus.decTest @@ -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@uk.ibm.com -- +------------------------------------------------------------------------ +version: 2.38 + +-- 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 + diff --git a/Lib/test/decimaltestdata/multiply.decTest b/Lib/test/decimaltestdata/multiply.decTest new file mode 100644 index 0000000..a3ac81e --- /dev/null +++ b/Lib/test/decimaltestdata/multiply.decTest @@ -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@uk.ibm.com -- +------------------------------------------------------------------------ +version: 2.38 + +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 + diff --git a/Lib/test/decimaltestdata/normalize.decTest b/Lib/test/decimaltestdata/normalize.decTest new file mode 100644 index 0000000..6276ab7 --- /dev/null +++ b/Lib/test/decimaltestdata/normalize.decTest @@ -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@uk.ibm.com -- +------------------------------------------------------------------------ +version: 2.38 + +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 diff --git a/Lib/test/decimaltestdata/plus.decTest b/Lib/test/decimaltestdata/plus.decTest new file mode 100644 index 0000000..f331901 --- /dev/null +++ b/Lib/test/decimaltestdata/plus.decTest @@ -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@uk.ibm.com -- +------------------------------------------------------------------------ +version: 2.38 + +-- 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 + diff --git a/Lib/test/decimaltestdata/power.decTest b/Lib/test/decimaltestdata/power.decTest new file mode 100644 index 0000000..d7357e8 --- /dev/null +++ b/Lib/test/decimaltestdata/power.decTest @@ -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@uk.ibm.com -- +------------------------------------------------------------------------ +version: 2.38 + +-- 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 + diff --git a/Lib/test/decimaltestdata/quantize.decTest b/Lib/test/decimaltestdata/quantize.decTest new file mode 100644 index 0000000..6dd5be4 --- /dev/null +++ b/Lib/test/decimaltestdata/quantize.decTest @@ -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@uk.ibm.com -- +------------------------------------------------------------------------ +version: 2.38 + +-- 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 diff --git a/Lib/test/decimaltestdata/randomBound32.decTest b/Lib/test/decimaltestdata/randomBound32.decTest new file mode 100644 index 0000000..94d203e --- /dev/null +++ b/Lib/test/decimaltestdata/randomBound32.decTest @@ -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@uk.ibm.com -- +------------------------------------------------------------------------ +version: 2.38 + +-- 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 diff --git a/Lib/test/decimaltestdata/randoms.decTest b/Lib/test/decimaltestdata/randoms.decTest new file mode 100644 index 0000000..bcc7b45 --- /dev/null +++ b/Lib/test/decimaltestdata/randoms.decTest @@ -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@uk.ibm.com -- +------------------------------------------------------------------------ +version: 2.38 + +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 diff --git a/Lib/test/decimaltestdata/remainder.decTest b/Lib/test/decimaltestdata/remainder.decTest new file mode 100644 index 0000000..0975e6e --- /dev/null +++ b/Lib/test/decimaltestdata/remainder.decTest @@ -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@uk.ibm.com -- +------------------------------------------------------------------------ +version: 2.38 + +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 + diff --git a/Lib/test/decimaltestdata/remainderNear.decTest b/Lib/test/decimaltestdata/remainderNear.decTest new file mode 100644 index 0000000..d7c0a7d --- /dev/null +++ b/Lib/test/decimaltestdata/remainderNear.decTest @@ -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@uk.ibm.com -- +------------------------------------------------------------------------ +version: 2.38 + +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 diff --git a/Lib/test/decimaltestdata/rescale.decTest b/Lib/test/decimaltestdata/rescale.decTest new file mode 100644 index 0000000..41830a7 --- /dev/null +++ b/Lib/test/decimaltestdata/rescale.decTest @@ -0,0 +1,756 @@ +------------------------------------------------------------------------ +-- rescale.decTest -- decimal rescale operation -- +-- 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@uk.ibm.com -- +------------------------------------------------------------------------ +version: 2.35 + +-- [obsolete] Quantize.decTest has the improved version + +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 Underflow Subnormal Inexact Rounded +resx557 rescale 1.666666E-1001 -1005 -> 1.6667E-1001 Underflow Subnormal Inexact Rounded +resx558 rescale 1.666666E-1002 -1005 -> 1.667E-1002 Underflow Subnormal Inexact Rounded +resx559 rescale 1.666666E-1003 -1005 -> 1.67E-1003 Underflow Subnormal Inexact Rounded +resx560 rescale 1.666666E-1004 -1005 -> 1.7E-1004 Underflow Subnormal Inexact Rounded +resx561 rescale 1.666666E-1005 -1005 -> 2E-1005 Underflow 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 Underflow + +resx717 rescale 0.009E-999 -1001 -> 1E-1001 Inexact Rounded Subnormal Underflow +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 Underflow +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 Underflow +resx757 rescale -0.009E-999 -1001 -> -1E-1001 Inexact Rounded Subnormal Underflow +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 diff --git a/Lib/test/decimaltestdata/rounding.decTest b/Lib/test/decimaltestdata/rounding.decTest new file mode 100644 index 0000000..3e279c7 --- /dev/null +++ b/Lib/test/decimaltestdata/rounding.decTest @@ -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@uk.ibm.com -- +------------------------------------------------------------------------ +version: 2.38 + +-- 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 + diff --git a/Lib/test/decimaltestdata/samequantum.decTest b/Lib/test/decimaltestdata/samequantum.decTest new file mode 100644 index 0000000..885c8bc --- /dev/null +++ b/Lib/test/decimaltestdata/samequantum.decTest @@ -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@uk.ibm.com -- +------------------------------------------------------------------------ +version: 2.38 + +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 + + + diff --git a/Lib/test/decimaltestdata/squareroot.decTest b/Lib/test/decimaltestdata/squareroot.decTest new file mode 100644 index 0000000..c83bd2b --- /dev/null +++ b/Lib/test/decimaltestdata/squareroot.decTest @@ -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@uk.ibm.com -- +------------------------------------------------------------------------ +version: 2.38 + +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 diff --git a/Lib/test/decimaltestdata/subtract.decTest b/Lib/test/decimaltestdata/subtract.decTest new file mode 100644 index 0000000..a156bb8 --- /dev/null +++ b/Lib/test/decimaltestdata/subtract.decTest @@ -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@uk.ibm.com -- +------------------------------------------------------------------------ +version: 2.38 + +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 diff --git a/Lib/test/decimaltestdata/testall.decTest b/Lib/test/decimaltestdata/testall.decTest new file mode 100644 index 0000000..74248f4 --- /dev/null +++ b/Lib/test/decimaltestdata/testall.decTest @@ -0,0 +1,58 @@ +------------------------------------------------------------------------ +-- testall.decTest -- run all general decimal arithmetic 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@uk.ibm.com -- +------------------------------------------------------------------------ +version: 2.35 + +-- 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 + diff --git a/Lib/test/decimaltestdata/tointegral.decTest b/Lib/test/decimaltestdata/tointegral.decTest new file mode 100644 index 0000000..8ba1e7c --- /dev/null +++ b/Lib/test/decimaltestdata/tointegral.decTest @@ -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@uk.ibm.com -- +------------------------------------------------------------------------ +version: 2.38 + +-- 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 + diff --git a/Lib/test/decimaltestdata/trim.decTest b/Lib/test/decimaltestdata/trim.decTest new file mode 100644 index 0000000..35cbd61 --- /dev/null +++ b/Lib/test/decimaltestdata/trim.decTest @@ -0,0 +1,152 @@ +------------------------------------------------------------------------ +-- trim.decTest -- remove insignificant 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@uk.ibm.com -- +------------------------------------------------------------------------ +version: 2.35 + +extended: 1 +precision: 9 +rounding: half_up +maxExponent: 999 +minexponent: -999 + +trmx001 trim '1' -> '1' +trmx002 trim '-1' -> '-1' +trmx003 trim '1.00' -> '1' +trmx004 trim '-1.00' -> '-1' +trmx005 trim '0' -> '0' +trmx006 trim '0.00' -> '0' +trmx007 trim '00.0' -> '0' +trmx008 trim '00.00' -> '0' +trmx009 trim '00' -> '0' + +trmx010 trim '-2' -> '-2' +trmx011 trim '2' -> '2' +trmx012 trim '-2.00' -> '-2' +trmx013 trim '2.00' -> '2' +trmx014 trim '-0' -> '-0' +trmx015 trim '-0.00' -> '-0' +trmx016 trim '-00.0' -> '-0' +trmx017 trim '-00.00' -> '-0' +trmx018 trim '-00' -> '-0' +trmx019 trim '0E+5' -> '0' +trmx020 trim '-0E+1' -> '-0' + +trmx030 trim '+0.1' -> '0.1' +trmx031 trim '-0.1' -> '-0.1' +trmx032 trim '+0.01' -> '0.01' +trmx033 trim '-0.01' -> '-0.01' +trmx034 trim '+0.001' -> '0.001' +trmx035 trim '-0.001' -> '-0.001' +trmx036 trim '+0.000001' -> '0.000001' +trmx037 trim '-0.000001' -> '-0.000001' +trmx038 trim '+0.000000000001' -> '1E-12' +trmx039 trim '-0.000000000001' -> '-1E-12' + +trmx041 trim 1.1 -> 1.1 +trmx042 trim 1.10 -> 1.1 +trmx043 trim 1.100 -> 1.1 +trmx044 trim 1.110 -> 1.11 +trmx045 trim -1.1 -> -1.1 +trmx046 trim -1.10 -> -1.1 +trmx047 trim -1.100 -> -1.1 +trmx048 trim -1.110 -> -1.11 +trmx049 trim 9.9 -> 9.9 +trmx050 trim 9.90 -> 9.9 +trmx051 trim 9.900 -> 9.9 +trmx052 trim 9.990 -> 9.99 +trmx053 trim -9.9 -> -9.9 +trmx054 trim -9.90 -> -9.9 +trmx055 trim -9.900 -> -9.9 +trmx056 trim -9.990 -> -9.99 + +-- some insignificant trailing fractional zeros +trmx060 trim 10.0 -> 10 +trmx061 trim 10.00 -> 10 +trmx062 trim 100.0 -> 100 +trmx063 trim 100.00 -> 100 +trmx064 trim 1.1000E+3 -> 1100 +trmx065 trim 1.10000E+3 -> 1100 +trmx066 trim -10.0 -> -10 +trmx067 trim -10.00 -> -10 +trmx068 trim -100.0 -> -100 +trmx069 trim -100.00 -> -100 +trmx070 trim -1.1000E+3 -> -1100 +trmx071 trim -1.10000E+3 -> -1100 + +-- some insignificant trailing zeros with positive exponent +trmx080 trim 10E+1 -> 1E+2 +trmx081 trim 100E+1 -> 1E+3 +trmx082 trim 1.0E+2 -> 1E+2 +trmx083 trim 1.0E+3 -> 1E+3 +trmx084 trim 1.1E+3 -> 1.1E+3 +trmx085 trim 1.00E+3 -> 1E+3 +trmx086 trim 1.10E+3 -> 1.1E+3 +trmx087 trim -10E+1 -> -1E+2 +trmx088 trim -100E+1 -> -1E+3 +trmx089 trim -1.0E+2 -> -1E+2 +trmx090 trim -1.0E+3 -> -1E+3 +trmx091 trim -1.1E+3 -> -1.1E+3 +trmx092 trim -1.00E+3 -> -1E+3 +trmx093 trim -1.10E+3 -> -1.1E+3 + +-- some significant trailing zeros +trmx100 trim 11 -> 11 +trmx101 trim 10 -> 10 +trmx102 trim 10. -> 10 +trmx103 trim 1.1E+1 -> 11 +trmx104 trim 1.0E+1 -> 10 +trmx105 trim 1.10E+2 -> 110 +trmx106 trim 1.00E+2 -> 100 +trmx107 trim 1.100E+3 -> 1100 +trmx108 trim 1.000E+3 -> 1000 +trmx109 trim 1.000000E+6 -> 1000000 +trmx110 trim -11 -> -11 +trmx111 trim -10 -> -10 +trmx112 trim -10. -> -10 +trmx113 trim -1.1E+1 -> -11 +trmx114 trim -1.0E+1 -> -10 +trmx115 trim -1.10E+2 -> -110 +trmx116 trim -1.00E+2 -> -100 +trmx117 trim -1.100E+3 -> -1100 +trmx118 trim -1.000E+3 -> -1000 +trmx119 trim -1.00000E+5 -> -100000 +trmx120 trim -1.000000E+6 -> -1000000 + +-- examples from decArith +trmx140 trim '2.1' -> '2.1' +trmx141 trim '-2.0' -> '-2' +trmx142 trim '1.200' -> '1.2' +trmx143 trim '-120' -> '-120' +trmx144 trim '120.00' -> '120' +trmx145 trim '0.00' -> '0' + +-- utilities pass through specials without raising exceptions +trmx320 trim 'Inf' -> 'Infinity' +trmx321 trim '-Inf' -> '-Infinity' +trmx322 trim NaN -> NaN +trmx323 trim sNaN -> sNaN +trmx324 trim NaN999 -> NaN999 +trmx325 trim sNaN777 -> sNaN777 +trmx326 trim -NaN -> -NaN +trmx327 trim -sNaN -> -sNaN +trmx328 trim -NaN999 -> -NaN999 +trmx329 trim -sNaN777 -> -sNaN777 + +-- Null test +trmx900 trim # -> NaN Invalid_operation diff --git a/Lib/test/regrtest.py b/Lib/test/regrtest.py index d16de6b..d461589 100755 --- a/Lib/test/regrtest.py +++ b/Lib/test/regrtest.py @@ -71,6 +71,9 @@ resources to test. Currently only the following are defined: bsddb - It is okay to run the bsddb testsuite, which takes a long time to complete. + decimal - Test the decimal module against a large suite that + verifies compliance with standards. + To enable all resources except one, use '-uall,-<resource>'. For example, to run all the tests except for the bsddb tests, give the option '-uall,-bsddb'. @@ -112,7 +115,8 @@ if sys.platform == 'darwin': from test import test_support -RESOURCE_NAMES = ('audio', 'curses', 'largefile', 'network', 'bsddb') +RESOURCE_NAMES = ('audio', 'curses', 'largefile', 'network', 'bsddb', + 'decimal') def usage(code, msg=''): diff --git a/Lib/test/test_decimal.py b/Lib/test/test_decimal.py new file mode 100644 index 0000000..b3fb0ad --- /dev/null +++ b/Lib/test/test_decimal.py @@ -0,0 +1,1082 @@ +# 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. +""" + +from __future__ import division + +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 threading + +TESTDATADIR = 'decimaltestdata' +dir = os.curdir + os.sep + TESTDATADIR + os.sep + +skip_expected = not os.path.isdir(dir) + +# 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' : ConversionSyntax, + 'division_by_zero' : DivisionByZero, + 'division_impossible' : DivisionImpossible, + 'division_undefined' : DivisionUndefined, + 'inexact' : Inexact, + 'invalid_context' : InvalidContext, + '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): + global dir + self.context = Context() + for key in DefaultContext.trap_enablers.keys(): + DefaultContext.trap_enablers[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.trap_enablers.keys(): + DefaultContext.trap_enablers[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', '') + try: + t = self.eval_line(line) + except ConversionSyntax: + 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 + 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 ConversionSyntax + 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 ExceptionList: + self.context.trap_enablers[exception] = 1 #Catch these bugs... + for exception in theirexceptions: + self.context.trap_enablers[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.trap_enablers[error] = 1 + try: + funct(self.context.create_decimal(v)) + except error: + pass + except ExceptionList, 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.trap_enablers[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.trap_enablers[error] = 1 + try: + funct(*vals) + except error: + pass + except ExceptionList, 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.trap_enablers[error] = 0 + try: + result = str(funct(*vals)) + if fname == 'same_quantum': + result = str(int(eval(result))) # 'True', 'False' -> '1', '0' + except ExceptionList, 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.resetflags() + + 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): + L = [] + for exception in ExceptionList: + if self.context.flags[exception]: + L.append(exception) + return L + + def resetflags(self): + for exception in ExceptionList: + self.context.flags[exception] = 0 + + 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 + + def test_abs(self): + self.eval_file(dir + 'abs' + '.decTest') + + def test_add(self): + self.eval_file(dir + 'add' + '.decTest') + + def test_base(self): + self.eval_file(dir + 'base' + '.decTest') + + def test_clamp(self): + self.eval_file(dir + 'clamp' + '.decTest') + + def test_compare(self): + self.eval_file(dir + 'compare' + '.decTest') + + def test_divide(self): + self.eval_file(dir + 'divide' + '.decTest') + + def test_divideint(self): + self.eval_file(dir + 'divideint' + '.decTest') + + def test_inexact(self): + self.eval_file(dir + 'inexact' + '.decTest') + + def test_max(self): + self.eval_file(dir + 'max' + '.decTest') + + def test_min(self): + self.eval_file(dir + 'min' + '.decTest') + + def test_minus(self): + self.eval_file(dir + 'minus' + '.decTest') + + def test_multiply(self): + self.eval_file(dir+'multiply'+'.decTest') + + def test_normalize(self): + self.eval_file(dir + 'normalize' + '.decTest') + + def test_plus(self): + self.eval_file(dir + 'plus' + '.decTest') + + def test_power(self): + self.eval_file(dir + 'power' + '.decTest') + + def test_quantize(self): + self.eval_file(dir + 'quantize' + '.decTest') + + def test_randomBound32(self): + self.eval_file(dir + 'randomBound32' + '.decTest') + + def test_randoms(self): + self.eval_file(dir + 'randoms' + '.decTest') + + def test_remainder(self): + self.eval_file(dir + 'remainder' + '.decTest') + + def test_remainderNear(self): + self.eval_file(dir + 'remainderNear' + '.decTest') + + def test_rounding(self): + self.eval_file(dir + 'rounding' + '.decTest') + + def test_samequantum(self): + self.eval_file(dir + 'samequantum' + '.decTest') + + def test_squareroot(self): + self.eval_file(dir + 'squareroot' + '.decTest') + + def test_subtract(self): + self.eval_file(dir + 'subtract' + '.decTest') + + def test_tointegral(self): + self.eval_file(dir + 'tointegral' + '.decTest') + + +# 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): + '''Explicit construction with string.''' + + #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 + self.assertRaises(TypeError, nc.create_decimal) + + # 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)) + + +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): + '''Test floor division in all its ways.''' + + 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): + '''Test powering in all its ways.''' + + 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.''' + + import threading + # 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 + + +class DecimalUsabilityTest(unittest.TestCase): + '''Unit tests for Usability cases of Decimal.''' + + def test_comparison_operators(self): + '''Testing ==, !=, <, >, <=, >=, cmp.''' + + 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 + try: da == 'ugly' + except TypeError: pass + else: self.fail('Did not raised an error!') + + try: da == '32.7' + except TypeError: pass + else: self.fail('Did not raised an error!') + + try: da == object + except TypeError: pass + else: self.fail('Did not raised an error!') + + 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)) + + 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_onpurpose(self): + #Try to change internal objects and see if immutable. + + d = Decimal(42) + + #you can get the attributes... + d.exp + d.int + d.sign + + #...but not change them! + try: + d.exp = 20 + d.int = 3 + d.sign = 1 + except AttributeError: + pass + else: + self.fail('Did not raised an error!') + + #some new attribute + try: + d.newone = None + except AttributeError: + pass + else: + self.fail('Did not raised an error!') + + 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_main(arith=False, verbose=None): + """ Execute the tests. + + Runs arithmetic tests if arith is True or if the "decimal" resource + is enables in regrtest.py + """ + test_classes = [ + DecimalExplicitConstructionTest, + DecimalImplicitConstructionTest, + DecimalArithmeticOperatorsTest, + DecimalUseOfContextTest, + DecimalUsabilityTest, + DecimalPythonAPItests, + ] + + if arith or is_resource_enabled('decimal'): + test_classes.extend([DecimalTest]) + + run_unittest(*test_classes) + import decimal as DecimalModule + run_doctest(DecimalModule, verbose) + return + + +if __name__ == '__main__': + # Calling with no arguments runs all tests. + # Calling with "Skip" will skipover 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]") |