So I'm now the proud owner of a Ver 2 HP-35 in excellent condition. My first HP-35.

Bought on that well know site, but "untested" by seller so a big risk.

Guess what? Not only does it work, but it's got the 2.02 bug firmware!

But I've found another bug: 2 ENTER 3 XY (3^2) gives me the result 9.000000006 and 2^3 gives 8.000000003.

10^2 is correct (100), but 2^10 gives 1023.999999. 2^9 is correct (512) but 9^2 gives 80.99999995.

Any ideas?

Here's a pic next to its younger brother:

*Edited: 11 Nov 2013, 4:15 p.m. *

My buggy HP 35 V2 does the same thing. My HP 35 V4 w/o the bug does the same for 3^2 but is slightly different for 2^3 which results in 8.000000002. I wouldn't call this a bug so much as roundoff error.

OK, so it's not cosmic radiation!

It's such a small error that 2^2 (3.999999999) then sqrt rounds back again to 2. I guess moving up from a slide rule in 1972, these tiny errors could be forgiven. (Whereas the 2.02 ln ex bug was a fairly large error of 1%).

Thanks!

Just tried my HP-80, and guess what...2^2 is 3.999999999 if you view beyond 6 significant places (i.e.: shift 7). Must be a rounding feature in the Classic series?

That was considered to be limited accuracy, not a bug. See the article "The new accuracy: making 2^3=8" by Dennis Harms in the November 1976 issue of HP Journal. The early HP models didn't have enough ROM space for better algorithms. Things were improved considerably in the late Woodstock/67/9x era.

Thanks Eric - I'll dig out that article.

Reproduced from November 1976 issue of HP Journal.

Quote:

But I've found another bug: 2 ENTER 3 XY (3^2) gives me the result 9.000000006 and 2^3 gives 8.000000003.

10^2 is correct (100), but 2^10 gives 1023.999999. 2^9 is correct (512) but 9^2 gives 80.99999995.

This is not a bug but simply the consequence of limited accuracy. Unlike later devices, the 35 did not use additional digits for internal calculations. It displayed 10 digits, and that's what it used internally. Since powers are evaluated as e^(exponent * ln base), this is what you get with 10 digits:

3^2 = e^(2 * ln 3) = e^2,197224578 = 9,0000 00005 974...

which is then rounded to 10 digits = 9,0000 00006

2^9 = e^(9 * ln 2) = e^6,238324625 = 511,99 99999 797...

which is then rounded to 10 digits = 512,00 00000

That's why HP later added three more digits to overcome this limitation (well, at least in most cases). The respective HP Journal article has been mentioned already.

Dieter