DATAMATH  CALCULATOR  MUSEUM

Twelve or Thirteen Digits on the SR-52

By Palmer Hanson

Page 2 of the SR-52 Owner's Manual states "12-Digit Precision -- All registers, internal and addressable, provide 12-digit numbers with power-of-ten exponent." I could not find any mention of a 13 digit capability in the Owner's Manual; however, pages 91 and 92 of the SR-52 Programming Workbook state that data memories have thirteen digits "... when used as an arithmetic operand or result ..." but that "When an operand is pushed from the display to the AU stack, its format ... " changes to a 12 digit characteristic "...Where the thirteenth digit of the characteristic is dropped, the EE and S-fields are shifted left and a 4-bit 0 is placed in the sixteenth digit to indicate which operation (+. -, x, /, yx or x root of y) was associated with the pushed operand." (NOTE: I copied the text exactly where the phrase "a 4-bit 0" doesn't make any sense to me. I suspect that it is a misprint and should have read "4-bit number".) So, there IS a thirteen digit capability running around inside the SR-52. But, the "Hints and Tricks for Obtaining Guard Digits" section of the Mike Sebastian's Calculator Forensics site states "The SR-52 steadfastly continues to refuse to reveal that thirteenth digit". So, how does a user obtain access to that thirteenth digit?

The answer to the access question appears on page V1N1P2 of Richard Vanderburgh's 52 Notes which states: "13-Place Arithmetic: While limmited to 12 places for 'display' arithmetic, the machine preserves 13 places in register arithmetic." Let's try the product 1,111,111 x 1,111,111 which we know is equal to the thirteen digit number 1,234,567,654,321 . See 1.234567654 12 in the display. Press STO 01 to store the result in memory register 01 for later use. Try to see the 11th through 13th digits of the result by subtracting 123567654 x 1000 and see not 321 but 320 in the display. That would seem to confirm that the SR-52 is a 12 digit machine. Use INV SUM 01 to subtract 1234567654 x 1000 from the result which was stored in register 01. Press RCL 01 and see 321 in the display. That result is consistent with thirteen digit arithmetic.

Do the problem another way, say by entering 1234567654 x 1000 [+/-] + 1,111,111 x 1,111,111 = and see the answer as 321.
I arrived at this method after reading about a similar effect in V1N7P6 of 52 Notes where Peter Stark noted that the sequence 2 yx 3 - 8 yields zero, but the sequence 8 - 2 yx 3 yields 1E-12. Is that wild, or what? It almost makes the non-commutative multiply problem with the TI-59 seem benign.

With two methods for finding a thirteenth digit in our bag of tricks let's look at what Mike Sebastian describes as refusing to reveal the thirteenth digit. The forensics test calculates arcsin(arccos(arctan(tan(cos(sin(9)))))) in degree mode. The difference between the result and 9 is taken as a measure of the performance of a given machine. For the SR-52 the process yields the 10 digit number 9.000004661 in the display. Using the standard viewing methods subtract 9 and see 0.0000046613 in the display. Multiply by 100,000 and see 0.466131 in the display indicating a the twelve digit result of 9.00000466131. But start the problem by placing minus 9 in the display and add the forensics problem followed by an = sign and see .0000046613 in the display. Multiply by 100,000 and see 0.4661314 in the display indicating a the thirteen digit result of 9.000004661414 .

As noted above we can avoid the "display arithmetic" problem for the forensics test by using register arithmetic. Do the forensics problem and see 9.000004661 in the display. Then perform the sequence STO 01 9 INV SUM 01 100000 2nd PRD 01 RCL 01 and see 0.4661314 in the display. An interesting exercise is to use this method to store the intermediate results as one goes through the forensics problem. Then use the register arithmetic methodology on each register as needed. You will find that the SR-52 gives EXACTLY the same results as the TI-59 at each step.

There are more esoteric methods for viewing all thirteen digits; for example, the section "More on + STO 60" at the top of V2N2P2 of 52 Notes describes the following method devised by Chuck Sanford. Do the forensics problem and see 9.000004661 in the display. Then from the keyboard press + STO 6 0 = and see the fractured display '- - 1 14 Press EE and see 4661314, the last seven digits of the answer to the forensics problem.

V1N6P3 of 52 Notes also offers a program by Graham Kendall which will display the last ten digits but without leading zeroes and without a decimal point. Enter the program LBL E STO 99 0 + STO 60 RCL 99 HLT and leave LRN mode. Do the forensics problem and see 9.000004661 in the display. Press E and then press = and see 4661314 in the display.

So, although there are thirteen digit results available from the SR-52, typical algebraic operations will reduce a thirteen digit result to a twelve digit result. If a user wants to maintain the thirteen digit capability it seems that the best recourse would be to do everything in register arithmetic.

The availability of thirteen digits is just one example of capability in the SR-52 beyond that described in the Owner's Manual. Individuals who are interested in more should go to the "
Undocumented Features" area, to the Appendix of the SR-52 Programming Workbook and to the SR-52 Notes which are available at Viktor Toth's site

 

horizontal rule

If you have additions to the above article please email: toaph@body-of-work.com or joerg@datamath.org.

Palmer Hanson and Joerg Woerner, November 30, 2009. No reprints without written permission.