The relative accuracy of $(x+y)*(x-y)$
Abstract
We consider the relative accuracy of evaluating $(x+y)(x-y)$ in IEEE floating-point arithmetic,
when $x,y$ are two floating-point numbers and rounding is to nearest.
This expression can be used, for example, as an efficient cancellation-free alternative to $x^2-y^2$
and
(at least in the absence of underflow and overflow)
is well known to have low relative error, namely, at most about $3u$
with $u$ denoting the unit roundoff.
In this paper we propose to complement this traditional analysis
with a finer-grained one, aimed at improving and assessing the quality of that bound.
Specifically,
we show that if the tie-breaking rule is to away then the bound $3u$
is asymptotically optimal
(as the precision tends to $\infty$).
In contrast, if the tie-breaking rule is to even,
we show that asymptotically optimal bounds are now $2.25u$ for base two
and $2u$ for larger bases, such as base ten.
In each case, asymptotic optimality is obtained by
the explicit construction of a certificate, that is, some floating-point input $(x,y)$
parametrized by $u$
and such that
the error of the associated result
is equivalent to the error bound
as $u$ tends to zero.
We conclude with comments on
how $(x+y)(x-y)$ compares with $x^2$
in the presence of floating-point arithmetic,
in particular showing cases where the computed value of $(x+y)(x-y)$ exceeds
that of $x^2$.
Origin : Files produced by the author(s)