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 10
1
, 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.