[E-Lang] Operators #6: Multiplicative operators
shap@cs.jhu.edu
shap@cs.jhu.edu
Tue, 01 May 2001 08:00:55 -0400
Years ago, I discussed this with Robert Montoye at one point, who
designed the floating point unit on the RS6000. That unit used hex
arithmetic, and this rounding rule created a real mess because the
machine had additional internal precision that it actually used in the
multiply-add unit. The round to even rule created yet more cases where
the MADD unit would produce a different answer than a multiply followed
by an add (which was a dumb thing for them to do, and fixed in later
machines).
In any case, Hal's memory is consistent with my memory of that
discussion -- given a choice between two rounding modes, the one that
requires less precision is better. Remember that floating point space is
not real numbers -- it's a weird sort of tumbler space, so precision
matters.
hal@finney.org wrote:
>
> Alan Karp, <alan_karp@hp.com>, writes:
> > I am trying to find someone who remembers why rounding is done the way it is
> > in the IEEE standard.
>
> I thought the idea was that rounding in either direction had an equal
> effect as far as loss of precision, since it is a tie. And rounding to
> even gives you numbers which can be represented accurately in one less
> bit of precision, thereby making you lose less precision on subsequent
> operations.