# HP Forums

Full Version: HP71B RES bug?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I had assumed RES = result of last expression (or last DISP expression)

However, RES may be affected by user defined function.

>10 DEF FNK(K,X) = K*X
>20 DEF FNR(X) = FNROOT(1,2,FVAR*FVAR-X)
>RUN

>1 + 0
﻿ ﻿ ﻿1
>FNK(2,RES) + FNK(3,RES) + FNK(4,RES) ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ; expected 2*1 + 3*1 + 4*1 = 9
﻿ ﻿ ﻿32 ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿; got 2*1 + 3*2*1 + 4*3*2*1 = 32
>FNR(RES*2) + FNR(RES/2) ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿; expected √64+ √16 = 12
﻿ ﻿ ﻿10 ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿; got √64 + √4 = 10

Is this a bug ?
The reference manual says:
Code:
```The HP-71 stores the result of each numeric assignment and calculator statement in a register re- served for use by RES. This occurs prior to any rounding that may take place due to a SHORT or  INTEGER destination variable. RES recalls the value currently stored in this register. RES can be  particularly useful in iterative computations because it is much faster than variable references.```

So I would assume that the equal of the user defined function fit the above description and it matches you're "got" values.

Step 1 : 1 + 0
Code:
`1 + 0          // RES is set to 1`

Step 2 : FNK(2,RES) + FNK(3,RES) + FNK(4,RES)
Code:
```               // RES has 1 FNK(2,1)       // RES is set to 2 +              // push 2 to stack FNK(3,2)       // RES is set to 6 +              // push 6 to stack FNK(4,6)       // RES is set to 24 2 + 6 + 24     // do calculation on latest value and on pushed values 32             // value displayed, RES is set to 32```

Step 3 : FNR(RES*2) + FNR(RES/2)
Code:
```               // RES has 32 FNR(32*2)      // RES is set to 8 +              // push result to stack FNR(8/2)       // RES is set to 2 8 + 2          // do calculation on latest value and on pushed values 10             // value displayed, RES is set to 10```
Reference URL's
• HP Forums: https://www.hpmuseum.org/forum/index.php
• :