Appendix:
Accuracy
of
Numerical
Calculations
211
This program's accuracy
is
phenomenal: better
than
nine
significant
digits
even
for the
imaginary
parts
of
nearly
indistinguishable complex roots
(as
when
c =
4,877,163,849
and
b
=
4,877,262,613
and a =
4,877,361,379);
if the
roots
are
integers,
real
or
complex,
and if a =
I,
then
the
roots
are
calculated exactly
(as
when
c =
1,219,332,937
X
101,
b =
111,111.5,
and a = 1). But the
program
is
costly;
it
uses more
than
twice
as
much memory
for
both program
and
data
as
does subroutine "A",
and
much more
time,
to
achieve nine significant digits
of
accuracy
instead
of
five
in a few
cases
that
can
hardly ever
matter—simply
because
the
quadratic's
coefficients
can
hardly ever
be
calculated exactly.
If
any
coefficient
c,
b,
or a is
uncertain
by as
much
as one
unit
in its
10th significant digit, then subroutine
"B" is
overkill. Subroutine
"B" is
like Grandmother's expensive chinaware, reserved
for
special occasions, leaving subroutine
"A" for
everyday use.