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

Re: Motion 4: P1788 on non-754?



On 2009-04-13 06:45:23 -0700, Dan Zuras Intervals wrote:
> 	He uses double-double as an example.
> 
> 	Here is where we part company.
> 
> 	While double-double can be used as a starting point for a
> 	larger & more general arithmetic, as a basis for an arithmetic
> 	about which we wish to prove theorems it leaves much to be
> 	desired.  Let me point out just one problem: the density of
> 	double-double numbers varies with the value of the number in
> 	an inconsistent way.  So while 1/3 may be approached from
> 	either side by numbers near 1/3 +/- eps^2 (where eps ~ 2^-53),
> 	we have that 1/2 is surrounded by a dense group of numbers
> 	down to the limit of the exponent range (1/2 +/- 2^-1074).

I don't see this as a problem: one can have a guaranteed accuracy
of 106 bits. The rest is for free.

> 	Thus double-double is, in fact, an excellent example of an
> 	arithmetic we do NOT want to consider as a basis for our
> 	interval standard.  Not because its bad.  Its not.  Not
> 	because its inaccurate.  It isn't.  But because it has very
> 	unusual properties.  Properties that we would have to take
> 	into account every time we made a decision about: containment,

Double-double arithmetic can handle that if directed rounding is
supported.

> 	acceptable roundoff error,

As I've said, it can provide a 106-bit accuracy. One can regard it as
acceptable. At least it is more acceptable than the roundoff error of
double precision (if quad precision isn't implemented has a software
implementation slower than double-double, one may prefer double-double
if a 106-bit precision is sufficient for the considered application).

>       exceptions (one part NaN & the other not or one part
> 	over/underflowed & the other not), & on & on.

If you mean one double is NaN and the other isn't, then this is just
a matter of *internal* encoding of double-double. IA does *not* have
to deal with that, just like the encoding of non-interchange IEEE-754
formats would not matter for IA. The only thing that could matter is
that the arithmetic must have some kind of NaN and infinities (and
this isn't even obvious), but this is possible with double-double.

> 	As Vincent is no doubt aware, this will cause difficulties
> 	for MPFR as a basis for intervals.  It is not because it is
> 	a variable precision arithmetic.  We made sure to account for
> 	such things in 754-2008.  It is because it is an arithmetic
> 	that has made decisions to back off on things like correct
> 	rounding for very good & practical reasons.

I don't understand what you mean here. MPFR provides correct rounding.
The main thing it doesn't provide is subnormals. They can easily be
emulated, though (MPFR provides a function for that, and this is used
to emulate the IEEE 754 arithmetic), but of course, this is slower.
And I doubt that subnormals are really always useful for IA.

> 	And things can happen between now & then.  We could decide
> 	that very few requirements of 754 are necessary for 1788.

IMHO it would be better to focus on properties that we want than on
properties that can be dropped from an existing set of properties.

-- 
Vincent Lefèvre <vincent@xxxxxxxxxx> - Web: <http://www.vinc17.org/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/>
Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon)