HP Forums

Full Version: HP-65 accuracy error
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Everyone who uses the HP-65 needs to be aware of the known accuracy error in the y^x function for larger values.

10 ENTER 6 Y^X yields 1000000 as expected
10 ENTER 7 Y^X yields 9999999.99
10 ENTER 8 Y^X yields 99999999.60

the error gets greater the larger you go.

Just be aware.
(12-16-2019 04:51 PM)Don Shepherd Wrote: [ -> ]Everyone who uses the HP-65 needs to be aware of the known accuracy error in the y^x function for larger values.

10 ENTER 6 Y^X yields 1000000 as expected
10 ENTER 7 Y^X yields 9999999.99
10 ENTER 8 Y^X yields 99999999.60

the error gets greater the larger you go.

Just be aware.

I think that 45 years after its introduction, most people know by now! Big Grin
(12-16-2019 05:26 PM)toml_12953 Wrote: [ -> ]I think that 45 years after its introduction, most people know by now! Big Grin

Yeah, those who have collected and used and programmed the 65 probably do, but I've seen some people here on the forum who are restoring and newly acquiring the 65, and they may not know this.

I mention it because last night I entered a new 65 program and it didn't give the expected results, and I traced it down to this y^x accuracy error.
If I recall correctly, the early marketing literature of the HP21/25 mentioned the improvement of exponentiation functions. (or later?)

TomC

(12-16-2019 05:44 PM)Don Shepherd Wrote: [ -> ]
(12-16-2019 05:26 PM)toml_12953 Wrote: [ -> ]I think that 45 years after its introduction, most people know by now! Big Grin

Yeah, those who have collected and used and programmed the 65 probably do, but I've seen some people here on the forum who are restoring and newly acquiring the 65, and they may not know this.

I mention it because last night I entered a new 65 program and it didn't give the expected results, and I traced it down to this y^x accuracy error.
(12-16-2019 04:51 PM)Don Shepherd Wrote: [ -> ]Everyone who uses the HP-65 needs to be aware of the known accuracy error in the y^x function for larger values.

10 ENTER 6 Y^X yields 1000000 as expected
10 ENTER 7 Y^X yields 9999999.99
10 ENTER 8 Y^X yields 99999999.60

the error gets greater the larger you go.

Just be aware.

Common with all the classics and HP21.

cheers

Tony
Article was titled something like "The new accuracy - making 2^3 = 8"
(12-16-2019 07:10 PM)Gene Wrote: [ -> ]Article was titled something like "The new accuracy - making 2^3 = 8"

That article, "The New Accuracy: Making 2^3 = 8", written by Dennis Harms, appeared on page 16 of the Hewlett-Packard Journal from November 1976, with the cover story being the HP-67/97. At the end, Dennis acknowledges Dave Cochran, Professor William Kahn and Bill Egbert. For those keeping score at home, Dave Cochran spoke at the HHC2018 conference in San Jose, William Kahn spoke at the original HP conference in 1979 in Santa Clara and Bill Egbert spoke at the 1981 conference in Corvallis, Oregon, where he presented the Saturn CPU to the public for the first time.

Jake
(12-16-2019 05:44 PM)Don Shepherd Wrote: [ -> ]I entered a new 65 program and it didn't give the expected results, and I traced it down to this y^x accuracy error.
Don
Any hints as to the identity of the the 65 program (my curiosity)?
SlideRule
(12-16-2019 09:48 PM)SlideRule Wrote: [ -> ]Any hints as to the identity of the the 65 program (my curiosity)?
SlideRule
Yes, it's a little encryption/decryption program I adapted for the 65 from a version I wrote for the 12c. For the 65, you press A to display no decimals, then press E to encrypt five 2-digit numbers representing letters of your message. The encryption results in a big base 10 number from the 5 2-digit numbers in base 40, and entering E decrypts the big base 10 number back into the original 2-digit base 40 numbers. Except it doesn't give you the same 2-digit numbers you started with because of the Y^X error. The 12c version of this program works fine.

updated on Dec. 17, 2019 --
I modified the program below to remove the two Y^X operations and just used regular multiplication to adjust the multipliers in each loop instead of the Y^X operations, and now the program works fine. If anyone is interested, I'll post the new code. It's good to know that there is a relatively easy workaround for this problem.

Here is the 65 version that does not work correctly (lowercase for ease of entry):

lbl a
dsp
.
0
rtn

lbl d (decode)
sto 1
0
sto 2
sto 3
lbl 2
rcl 1
40
/
sto 4
lst x
x<-->y
frac
x
10
rcl 3
y^x generates the wrong number
x
sto + 2
rcl 4
int
sto 1
0
x=y
goto 3
2
sto + 3
goto 2
lbl 3
rcl 2
rtn

lbl e (encode)
sto 1
0
sto 2
sto 3
lbl 1
rcl 1
100
/
int
sto 1
lst x
frac
100
x
40
rcl 2
y^x
x
sto + 3
1
sto + 2
4
rcl 2
x<=y
goto 1
rcl 3
rtn
Reference URL's