Thread Links Date Links
Thread Prev Thread Next Thread Index Date Prev Date Next Date Index

Re: YES P1788/M0029.02:Level3-InterfaceOnly, *BUT*



On Thu, Dec 29, 2011 at 6:00 PM, Michel Hack <hack@xxxxxxxxxxxxxx> wrote:
> Lee Winter wrote:

>> Exemplar:  Given M = F.max for some 754 format F, then given lo=0.8*M
>> and hi=0.9*M the interval I_one=[lo hi] is a valid value.  But the
>> interval I_two = 2 * I_one is not a valid interchange value.
>
> No problem:
>  I_two would simply be [F.max, +Inf] -- overflow has to observe containment.

That happens to be the IEEE-754 result of outward rounding.  But it is
not the tightest expressible containing interval.  The tightest
expressible containing interval is {+ovr +ovr].

Note that overflow is not a point on the number line.  For inputs that
are all normal numeric values an overflow result represents "the rest"
of the number line from above the maximum representable numeric value
toward, but not to, infinity; tus values of arbitrarily large, but not
infinite, magnitude.  N.B., the term "infinity" in the IEEE-754
standard is in no way related to mathematical infinity.  As I
understand it the term was selected to make overflow a feature rather
than an error so that the standard would be accepted by (thus be
salable to) uninformed people to whom errors are anathema.

A similar consideration applied to the renaming of underflow to
"signed zero".  In fact the full arithmetic proposal of which IEEE-754
is a subset distinguished between mathematical zero, which can only be
generated by an addition operation involving bit patterns with the
same exponent and magnitude but opposing signs, or a subtraction
operation of like signs, versus signed underflow which is generated by
all forms of excessively small magnitude.  In the adopted IEEE-754
arithmetic underflows are mandated to be flushed to zero, which
restriction produces the notorious "signed zeros" (a seriously ugly
compromise in that the underflow values are distinct for the purpose
of sign preservation, but compare as equal) and true mathematical zero
is arbitrarily converted to a positive underflow. However that full
proposal was named the "three zeros" arithmetic and failed to win
acceptance.  I queried Prof. Kahan about the objections to the full
arithmetic and why the proposal was not accepted, but the only
response I could elicit was that the committee voted it down.

For inputs that include overflow, overflow represents a value whose
computational trajectory visited "the rest" of the number line at
least once.

Thus an interval with a lower bound of positive overflow is a
perfectly sensible value.  Representing that interval with a lower
bound of the maximum representable numeric value is just as
unnecessary, in the sense of excess width, as using an interval with
the lower bound of one or zero.  Many implementations might choose to
go with the result of IEEE-754 outward rounding, but the standard
should not prohibit an implementation from using tighter bounds should
it so choose.

Lee Winter
NP Engineering
Nashua, New Hampshire
United States of America