DATAMATH CALCULATOR MUSEUM |

While we credit Hewlett-Packard introducing in January 1972
with the legendary HP-35 the
World's first pocket sized electronic calculator performing both logarithmic and
trigonometric functions, was it Texas Instruments defining in January 1974 with
the "**S**lide **R**ule" **SR**-50
the gold standard of algorithm accuracy used with Scientific calculators.
Hewlett-Packard had to juggle the tradeoffs between accuracy and speed of the
algorithm used to implement the transcendental functions of the HP-35 with its
bit-serial architecture and TI's team optimized their design accordingly.
Utilizing both a digit-serial architecture and dedicated memory space for
constants used in these algorithm with a precision of 13 digits and accessible
within one instruction cycle of the Arithmetic Chip, scored the SR-50 in the
precision of the internal algorithm very well and outperformed competitors for
years to come.

A handy tool to demonstrate the accuracy of the implemented algorithm of transcendental functions is Mike Sebastian's "Calculator Forensics" test and comparing the result of the expression arcsin(arccos(arctan(tan(cos(sin (9)))))) with the expected result of 9 (with the calculator in degrees mode):

• Hewlett-Packard HP-35 (w/ ROM bug): 9.002983113 • Hewlett-Packard HP-35 (final version): 9.004076901 • Texas Instruments SR-50 (first design): 9.000005272880 • Texas Instruments SR-50 (final version): 9.000004661314 |

It is obvious that the HP-35 is accurate to two digits behind the decimal point while the SR-50 gives much better 4 or 5 digits. Another difference is the number of digits itself, the HP-35 uses 11 digits with an internal roundoff in the 11th place for its 10-digit display of the mantissa of floating point numbers while the SR-50, depending on its ROM Version, uses 13 digits for its 10-digit display for the mantissa. These extra digits used in the computing algorithm are called "Guarding Digits" and are rounded accordingly for the display purposes but can make a big difference in their accuracy.

A transcendental function is an analytic function that does not satisfy a polynomial equation, meaning a function not expressible as a finite combination of the algebraic operations of addition, subtraction, multiplication, division, raising to a power, and extracting a root. Examples include the functions log x, sin x, cos x, e^{x} and any functions containing them.
There are various algorithm known for transcendental functions but most of them
tended to be too slow for an implementation on the HP-35 and the design team
finally decided for an iterative pseudo-division and pseudo-multiplication
method first described in 1624 by Henry Briggs and all ready used in their
HP-9100 Desktop calculator.

The number "9" might look rather innocent but in Mike's test it separates the wheat from the chaff:

• The first expression,
sin(9) returns an answer of about 0.156434465040231 - obviously pretty
close to "0" • Next expression is cos(previous result) or cosine of an angle almost 0 which gives a number close to 1 • Assuming now an algorithm rounding to only 5 digits, cos(0.15643) returns an answer of about 0.999996272955653, rounding to 1 • Next expression is tan(1) = 0.017455064928218, rounded to 0.017455 • Next expression arctan(0.01745) = 0.999996281020253, rounded to 1. And the algorithm just failed Mike's test! • With the next expression arccos(1) = 0, rounded to 0 • And the final expression arcsin(0) = 0 returns a result that is a far cry from the expected "9" but actually observed by Mike with various calculators |

Interested how other electronic calculators score in Mike's test? He maintains a complete list of test results here.

If you have additions to the above article please email: joerg@datamath.org.

© Joerg Woerner, August 25, 2023. No reprints
without written permission.