NOTABUG.DOC, by Joseph K. Horn
Cliff@evax9.eng.fsu.edu (Cliff Browning) writes:
> If you want the 3rd. root of 125 you have to raise 125 to the 1/3rd.
> power, and you get 4.9999999999... not 5. The way it was explained
> to me by tech support is at HP was that the calculator solves the
> fractional part of the power first and then raises the base number
> to that power.
>
> To me I'd say that that is a bug.
It is IMPOSSIBLE to raise 125 to the 1/3 power, because it is not
possible to put 1/3 into the stack. You CAN put 0.333333333333000...
(twelve 3's) into the stack, but that's not exactly 1/3, and that tiny
difference is the cause of the "error". Using muMATH, I verified:
125 ^ 0.333333333333000 = 4.99 999 999 999 195 ...
125 ^ 0.333333333334000 = 5.00 000 000 001 609 ...
Notice that a twelve-digit calculator cannot represent 1/3 any better
than either of the above, and therefore 125^(1/3) cannot be calculated
with any more accuracy than either option above. Of the two, the
first is closer to 125^(1/3). It's what all 12-digit HP calcs yield.
> Fortunately the 48sx has the XROOT() function which does give the
> right answer.
Exactly. Objecting that 1/X Y^X does not yield the accuracy of XROOT
is as absurd as objecting that 1/X * does not yield the accuracy of /
(try 153/17). So what? If you want a power, use Y^X; if you want a
root, use XROOT. That's what it's for. Obtaining poor results
through the misapplication of inappropriate functions is not a "bug".
-Joseph K. Horn- -Peripheral Vision, Ltd.-
New address: 19292 El Toro Rd / Silverado, CA 92676-9801 U.S.A.