Calculator benchmark
08-12-2021, 11:37 PM (This post was last modified: 08-22-2021 09:11 PM by robve.)
Post: #21
 robve Member Posts: 288 Joined: Sep 2020
RE: Calculator benchmark
SHARP PC-G850(V)(S): 107 keystrokes

Same number of keystrokes as the PC-E500(S) but one more for R. instead of F1 to run. The SHARP PC-G850(V)(S) has the same or similar keys (but no function keys) and similar BASIC.

SHARP PC-1403 to PC-1475: 118 keystrokes

An older series with the same or similar keys as the PC-E500(S), but with simpler BASIC, which has no impact on keying-in this simple program. However, [ENTER] is required after each pair of X,Y results are displayed (because all PC-14xx have a one-line LCD, except PC-1475 which has two lines. Thus adding 11 more keystrokes compared to the PC-E500(S).

Edit note: by comparison, the AREAD-based program for the PC-14xx series takes 111 keystrokes, here in full detail:

Code:
[MODE]                                  1    PRO mode 1"A"A.A[ENTER]                          8    1:"A"AREAD A 2"B"A.B[ENTER]                          8    2:"B"AREAD B 3P.[x^2]A+A-[ln]B,[ln][x^2]B[ENTER]    15    3:PRINT SQU A+A-LN B,LN SQU B [MODE]                                  1    RUN mode
Setup: 33
Code:
3.12[DEF]A[CL]2.56[DEF]B               13 B/2[DEF]B                               5 B/2[DEF]B                               5 2*A[DEF]A                               5 2*A[DEF]A                               5 2*A[DEF]AB/2[DEF]B                     10 B/2[DEF]B                               5 1.32[DEF]B                              6 18.59[DEF]A                             7 17.63[DEF]A                             7 2*B[DEF]B                               5 2*B[DEF]B                               5
Execution: 78

Total score: 111

Total score is 110 when entering B first before A for the first entry pair. This avoids having to clear the error [CL] when B is zero.

- Rob

"I count on old friends" -- HP 71B,Prime|Ti VOY200,Nspire CXII CAS|Casio fx-CG50...|Sharp PC-G850,E500,2500,1500,14xx,13xx,12xx...
08-13-2021, 02:16 PM
Post: #22
 robve Member Posts: 288 Joined: Sep 2020
RE: Calculator benchmark
(08-08-2021 05:42 AM)jhallen Wrote:  I've written a silly benchmark for my growing calculator collection- it measures the number of keystrokes necessary to transform a table of numbers through some equations. The results are here:
Calculator Benchmark

Just my 2c: the keystrokes for the Casio fx-cg50 aren't the same as Casio fx-9750GIII (I own the former, not the latter). There is no Shift Setup F2 to switch to line I/O mode (it selects COORD instead) and EXE works differently. Use Shift Prgm and keep the FN menu to enter Prgm symbols. AEXE inserts a newline/carriage return [NL] symbol for the next statement:

Code:
Shift Prgm                      Activate Prgm FN keys F4 -> Alpha A EXE               Enter: ?->A[NL] (input A) F4 -> Alpha B EXE               Enter: ?->B[NL] (input B) Alpha A x^2 + Alpha A - ln Alpha B F5                   Enter: A^2+A-ln B Triangle   (display first answer) ln Alpha B x^2                  Enter: ln B^2   (display second answer)

Program: 27 keystrokes. Then EXIT EXIT EXE to run the program.

Execution: all 24 values must be entered (99) each with EXE (24), then another 12 EXE to display the second value, and 12 EXE + 11 EXE to rerun = 158 keystrokes, plus the 3 to exit the editor and run the program. Because there is no loop in the program, execution requires one more EXE after the second display to rerun the program.

Code:
Shift Prgm                      Activate Prgm FN keys F3 F1 1 EXE EXIT                Enter: Lbl 1[NL] F4 -> Alpha A EXE               Enter: ?->A[NL] (input A) F4 -> Alpha B EXE               Enter: ?->B[NL] (input B) Alpha A x^2 + Alpha A - ln Alpha B F5                   Enter: A^2+A-ln B Triangle   (display first answer) ln Alpha B x^2                  Enter: ln B^2   (display second answer) F5                              Enter: Triangle F3 F2 1                         Enter: Goto 1

Program: 36 keystrokes.

Execution: 147 keystrokes (99+24+24) plus the 3 (EXIT EXIT EXE) to exit the editor and run the program.

Casio fx-CG50: 186 keystrokes.

- Rob

"I count on old friends" -- HP 71B,Prime|Ti VOY200,Nspire CXII CAS|Casio fx-CG50...|Sharp PC-G850,E500,2500,1500,14xx,13xx,12xx...
08-13-2021, 09:10 PM
Post: #23
 robve Member Posts: 288 Joined: Sep 2020
RE: Calculator benchmark
(08-08-2021 05:42 AM)jhallen Wrote:  Calculator Benchmark

Another improvement. The Ti-89 Titanium and Voyage 200 are very similar. So I tried the Ti-89 program on the Voyage 200 starting from the usual Calc/Home screen.

Program:
Code:
Apps Left Down Enter 3       New program Down Down Q Enter Enter      Name it q()                :q() Down Down                                               :Prgm F2 6                                                    :Loop  F3 5 x , y Enter                                        :Prompt x,y F3 2 x ^ 2 + x - Ln( y ) , Ln( y ^ 2 ) Enter            :Disp x^2+x-ln(y),ln(y^2)                                                         :EndLoop                                                         :EndPrgm 2nd Apps                     Switch back to Calc/Home q ( ) Enter

The Voyage 200 has a Qwerty keyboard and a [ln] key that enters ln(. The setup takes 44 keystrokes.

Execution:
Code:
3.12 Enter 2.56 Enter                displays both answers x Enter                   input x unchanged y/2 Enter                 inout half of y, i.e. 1.28
and so on.

Note that you don't have to always enter the values. Also 2x, y/2, and 2y work.

Execution takes 77 keystrokes

Voyage 200: 121 keystrokes

It's a very nice CAS/graphing calculator and easy to program with the Qwerty keyboard. But graphing is a bit slow.

The same x, y, 2x and y/2 input tricks can be used on the Ti-89, I assume.

- Rob

"I count on old friends" -- HP 71B,Prime|Ti VOY200,Nspire CXII CAS|Casio fx-CG50...|Sharp PC-G850,E500,2500,1500,14xx,13xx,12xx...
08-15-2021, 01:13 PM (This post was last modified: 08-18-2021 04:04 PM by C.Ret.)
Post: #24
 C.Ret Member Posts: 155 Joined: Dec 2013
RE: Calculator benchmark
HP Prime

[] and ( ) stand respectively for keystrokes and screentouches.

SETUP:
Code:
[Apps](Spreadsheet)                                        2      Start a new Spreadsheet application 3.12 [ENTER]                                               5      ENTER table first value A in first cell (A1) 2.56 [ENTER]                                               5      ENTER table first value B in next cell (A2) [Shift][ = ] (A1) [x²] [ + ] (A1) [ - ] [LN] (A2) [ENTER] 10      ENTER X=A²+A-LN B expression in next cell (A3) [Shift][ = ] [LN] (A2) [x²] [ENTER]                        6      ENTER Y=LN B² in last call (A4)

Total 28 keystrokes and screentouches for setup.

DATA entries and results display:
Code:
" 3.12  2.56"   Already displayed                                        0 " 3.12  1.28"   (A2)[EDIT][ / ][ 2 ][ENTER]                              5 " 3.12   .64"   (A2)[EDIT][ / ][ 2 ][ENTER]                              5 " 6.24   .64"   (A1)[EDIT][ * ][ 2 ][ENTER]                              5 "12.48   .64"   (A1)[EDIT][ * ][ 2 ][ENTER]                              5 "24.96   .32"   (A1)[EDIT][ * ][ 2 ][ENTER](A2)[EDIT][ / ][ 2 ][ENTER]  10 "24.96   .16"   (A2)[EDIT][ / ][ 2 ][ENTER]                              5 "24.96  1.32"   (A2)  1.32 [ENTER]                                       6 "18.59  1.32"   (A1) 18.59 [ENTER]                                       7 "17.63  1.32"   (A1) 17.63 [ENTER]                                       7 "17.63  2.64"   (A2)[EDIT][ * ][ 2 ][ENTER]                              5 "17.63  5.28"   (A2)[EDIT][ * ][ 2 ][ENTER]                              5

Total 65 keystrokes and screentouches for data entry and results display.

Score 93 keystrokes and screen touches.
08-15-2021, 02:31 PM
Post: #25
 robve Member Posts: 288 Joined: Sep 2020
RE: Calculator benchmark
(08-15-2021 01:13 PM)C.Ret Wrote:  Score 93 keystrokes and screentouches.

Very nice!! The HP Prime is well designed and engineered.

I had considered and briefly tried the spreadsheet app on Voyage 200, but quickly realized it didn't reduce the keystroke effort at all. Navigation takes longer with the cursor keys. Entering a value takes 7 or 8 keystrokes (Up/Down Enter 1.28 Enter). Editing a value in a cell takes more effort too, e.g. to change it to half its value takes 5 keystrokes (Enter Right / 2 Enter), same to double its value. And it's worse with the Casio fx-CG50 spreadsheet.

Sadly, the Excel Android app isn't as good as the HP Prime Spreadsheet for this exercise. My Android device (Gemini) isn't a calculator, so it wouldn't count anyway.

- Rob

"I count on old friends" -- HP 71B,Prime|Ti VOY200,Nspire CXII CAS|Casio fx-CG50...|Sharp PC-G850,E500,2500,1500,14xx,13xx,12xx...
08-15-2021, 03:47 PM
Post: #26
 Valentin Albillo Senior Member Posts: 811 Joined: Feb 2015
RE: Calculator benchmark
.
Hi, all

What's the best solution (less keystrokes) so far for the HP-15C ? Please post exact code and keystroke count.

And what's the least number of keystrokes among all models ? Please post model and keystroke count,

V.

All My Articles & other Materials here:  Valentin Albillo's HP Collection

08-15-2021, 04:43 PM
Post: #27
 robve Member Posts: 288 Joined: Sep 2020
RE: Calculator benchmark
(08-15-2021 03:47 PM)Valentin Albillo Wrote:  .
Hi, all

What's the best solution (less keystrokes) so far for the HP-15C ? Please post exact code and keystroke count.

And what's the least number of keystrokes among all models ? Please post model and keystroke count,

V.

I suspect that jhallen will update the table on GitHub eventually, that would be nice.

If we want the absolute minimum keystrokes, then it may be premature to list the full table in this thread, because the totals are still changing by leaps (HP PRIME) or by small improvements.

For example, on the PC-E500(S) we can use PF1 instead of R. for RUN. This saves one keystroke. I've updated my earlier post accordingly with an Edit 3.

- Rob

"I count on old friends" -- HP 71B,Prime|Ti VOY200,Nspire CXII CAS|Casio fx-CG50...|Sharp PC-G850,E500,2500,1500,14xx,13xx,12xx...
08-15-2021, 05:16 PM (This post was last modified: 08-15-2021 05:16 PM by Maximilian Hohmann.)
Post: #28
 Maximilian Hohmann Senior Member Posts: 961 Joined: Dec 2013
RE: Calculator benchmark
Hello!

(08-15-2021 04:43 PM)robve Wrote:  I suspect that jhallen will update the table on GitHub eventually, that would be nice.

If we want the absolute minimum keystrokes, ...

Let me remind you of one crucial sentence in jhallen's GitHub site: "This calculator benchmark measures how fast it makes you, not how fast the calculator works internally" (my emphasis).

So optimizing for the absolute minimum number of keystrokes is, in my understanding, counterproductive. Optimising can take an entire sunday afternoon whereas just typing ahead, as jhallen obviously did when he compiled his table, is done in a matter of seconds even if some keystrokes are wasted in the process.

Regards
Max
08-15-2021, 06:30 PM
Post: #29
 robve Member Posts: 288 Joined: Sep 2020
RE: Calculator benchmark
(08-15-2021 05:16 PM)Maximilian Hohmann Wrote:  Let me remind you of one crucial sentence in jhallen's GitHub site: "This calculator benchmark measures how fast it makes you, not how fast the calculator works internally" (my emphasis).

Right! I respectfully agree and would think this is true for pretty much all of the cases contributed by folks to this thread so far, no?

The solution methods to key-in should be as straightforward as possible, perhaps earning points for simplicity rather than craftiness that requires a certain amount of mental agility that slows you down.

However, besides keystrokes that take a fixed amount of time, what alternatives do you suggest to quantify "how fast it makes you"?

- Rob

"I count on old friends" -- HP 71B,Prime|Ti VOY200,Nspire CXII CAS|Casio fx-CG50...|Sharp PC-G850,E500,2500,1500,14xx,13xx,12xx...
08-15-2021, 11:19 PM
Post: #30
 Maximilian Hohmann Senior Member Posts: 961 Joined: Dec 2013
RE: Calculator benchmark
Hello!

(08-15-2021 06:30 PM)robve Wrote:  However, besides keystrokes that take a fixed amount of time, what alternatives do you suggest to quantify "how fast it makes you"?

I would do it with a stopwatch. Count the seconds from turning on the calculator to getting the last result.

Regards
Max
08-16-2021, 01:01 AM
Post: #31
 robve Member Posts: 288 Joined: Sep 2020
RE: Calculator benchmark
(08-15-2021 11:19 PM)Maximilian Hohmann Wrote:  I would do it with a stopwatch. Count the seconds from turning on the calculator to getting the last result.

I'm afraid this is going nowhere. There are serious problems with this. When properly prepared and experienced with the calculator at hand, each keystroke should take a just about a fixed amount of time by a human to operate and register for this simple benchmark. If keystrokes are not quick or easy to make, because of the way the calculator works, then you are back to the problem you stated: "not how fast the calculator works internally", but that is exactly what you could end up timing. You can't have it both ways. The other problem is that time, as a quantitive measure of performance of a calculator operated by a human, is statistically and subjectively noisy. You will first need to establish a fair measure of timing to begin with. You can either take the fastest time among many users of the calculator, but then you're back at my first point, or you can determine the mean and deviation of the time to operate the calculator using a little army of human testers. The latter follows the traditional scientific method to ensure reproducibility of the experiment.

It seems to me that all of this is totally out of scope for a simple fun benchmark experiment. Therefore, stick to the number of keystrokes as unbiased and reproducible.

For what counts as a straightforward method, I will only speak for my examples and improvements, which are very basic and easy programs with executions that do not use any specialized or uncommon features of a calculator. For example, the PC-E500 program and execution are typical for using this BASIC calculator, requiring nothing special.

Furthermore, unnecessary keystrokes should not count. For example, it is incorrect to rank Voyage 200 at 175 keystrokes when a normal straightforward method to solve this problem requires 121 keystrokes, simply by avoiding unnecessary keystrokes.

- Rob

"I count on old friends" -- HP 71B,Prime|Ti VOY200,Nspire CXII CAS|Casio fx-CG50...|Sharp PC-G850,E500,2500,1500,14xx,13xx,12xx...
08-16-2021, 06:22 AM
Post: #32
 EdS2 Senior Member Posts: 369 Joined: Apr 2014
RE: Calculator benchmark
.

Good questions Valentin...

(08-15-2021 03:47 PM)Valentin Albillo Wrote:  What's the best solution (less keystrokes) so far for the HP-15C ? Please post exact code and keystroke count.

That seems to be 104, as seen in post #3 upthread:

(08-08-2021 07:26 PM)C.Ret Wrote:  I found a way to spare keystrokes on HP-15C:

HP-15C

SETUP:
Code:
g P/R  f CLEAR PRGRM                              Enter new program                      4                                       f LBL A  STO 0  GTO 1                               Code to input A and goto display     7  f LBL B  STO 1                                      Code to input B                      5 f LBL 1  RCL 0  g x²  RCL+0  RCL 1  LN  -  f PSE    Code to display X=A²+A- LN B        16 g LSTx  ENTER  +                                    Code to display Y= LN B² = 2.LN B    4      g P/R  f USER                                     Return to RUN mode and                 4                                                   USER mode easiest start of A & B codes
Total of setup is 36 keystrokes.

TABLE ENTRY and RESULTS Display: X and Y displayed after each press of A or B key.
Code:
3.12  A  [←]  2.56  B                   Eventual press [←] to clear ERROR 0 when non initialized register R1 (B value) is zero   10                1.28  B                                                                    5                .64  B                                                                    4 6.24  A                                                                                  5 2  RCL*0  A                             (12.48=2* 6.24)                                  5 2  RCL*0  A    .32  B                   (24.96=2*12.48)                                  8                .16  B                                                                    4               1.32  B                                                                    5 18.59  A                                                                                 6 17.63  A                                                                                 6               2.64  B                                                                    5               5.28  B                                                                    5
Total 68 keystrokes for table entry and individual X and Y result display. if the user is not concentrate enough to read the X value during the pause, one additional press on the [X<>Y] key may exchange X and Y on display.

Score : 104
In case of a full functional and awake user !
That 30.2% less that the OP's suggested solution !

Quote:And what's the least number of keystrokes among all models ? Please post model and keystroke count,
That I don't know. As noted, one can hope that the results table here will be updated as progress is made. (Presently it shows the 48G at the top, with a score of 107, and if the result above is right, that can be beat by the 15C. The table shows the 15C at 109. But it might be that the fine detail of what should be counted makes 109 more correct than the 104 above.)
08-17-2021, 01:31 AM
Post: #33
 Valentin Albillo Senior Member Posts: 811 Joined: Feb 2015
RE: Calculator benchmark
.
Hi, EdS2:

Thanks a lot for posting the information I requested, much appreciated. Having a look at it, I have some comments, read on (my highlighting) ...

(08-16-2021 06:22 AM)EdS2 Wrote:
(08-15-2021 03:47 PM)Valentin Albillo Wrote:  What's the best solution (less keystrokes) so far for the HP-15C ?

That seems to be 104, as seen in post #3 upthread:

(08-08-2021 07:26 PM)C.Ret Wrote:  HP-15C

SETUP:
Code:
g P/R  f CLEAR PRGRM                              Enter new program                      4                                       f LBL A  STO 0  GTO 1                               Code to input A and goto display     7  f LBL B  STO 1                                      Code to input B                      5 f LBL 1  RCL 0  g x²  RCL+0  RCL 1  LN  -  f PSE    Code to display X=A²+A- LN B        16 g LSTx  ENTER  +                                    Code to display Y= LN B² = 2.LN B    4      g P/R  f USER                                     Return to RUN mode and                 4                                                   USER mode easiest start of A & B codes
Total of setup is 36 keystrokes.

C.Ret says Total of setup = 36 keystrokes but I count 40, which coincides with the sum of the column at the far right.

The TABLE ENTRY and RESULTS' keystroke count is probably wrong as well, as he says, for instance that the sequence
• 2 RCL*0 A .32 B (24.96=2*12.48) 8

is 8 keystrokes long while it's actually 9, so the total count for this part might be wrong too.

EdS2 Wrote:The table shows the 15C at 109. But it might be that the fine detail of what should be counted makes 109 more correct than the 104 above.)

There's no "fine detail of what should be counted", it must be keystrokes for the HP-15C, and a keystroke has no ambiguity, either you press a key or you don't. Anyway, the point is moot because the 104 count is highly suspect as there are errors in both the Setup and the Computation/Results posted counts.

Also, apart from the wrong count, the Setup part is less than optimal, you can significantly reduce the keystroke count as well, so it's still not clear what the minimum count for the HP-15C would be and if it that would make it the "top" model for this particular benchmark.

Thanks again and best regards.
V.

All My Articles & other Materials here:  Valentin Albillo's HP Collection

08-17-2021, 03:56 AM
Post: #34
 jhallen Junior Member Posts: 20 Joined: Aug 2021
RE: Calculator benchmark
Yes, I will update when I have free time.

I did update the HP-48 page- I was curious about programming the HP-48, so I've implemented the HP-15c style method on the HP-48:

(should be a lot better on the HP-28..)

Code:
 Lshift { Lshift { ' Alpha A Right ' Alpha A Right Right Lshift { ' Alpha B Right ' Alpha B Enter                                                                      { { A A } { B B } } ' Alpha Alpha C S T Alpha STO                                        'CST' STO Lshift << ' Alpha C Right STO Alpha E Spc Alpha C Enter              << 'C' STO E C >> ' Alpha A STO                                                        'A' STO Lshift << ' Alpha D Right STO Alpha E Spc Alpha D Enter              << 'D' STO E D >> ' Alpha B STO                                                        'B' STO Lshift << Alpha C Lshift Stack Nxt Dup Dup * + Alpha D Rshift Ln -   << C DUP DUP * + D LN -           Alpha D Lshift X^2 Rshift Ln Enter                            D X^2 LN >> ' Alpha E STO                                                        'E' STO CST                                                                  CST

93 keystrokes for setup.

Code:
 2 . 5 6 B 3 . 1 2 A    Shows:       11.914       1.88       2.56 1 . 2 8 B 2 / B               (.64 -> B) 6 . 2 4 A 2 * A               (12.48 -> A) etc.

61 keystrokes for execution.
08-18-2021, 08:20 PM (This post was last modified: 08-19-2021 04:28 AM by C.Ret.)
Post: #35
 C.Ret Member Posts: 155 Joined: Dec 2013
RE: Calculator benchmark
HP-41C

SETUP: using Alpha register to display X & Y from A & B in registers 01 & 02 respectively.
Code:
PACK                        4        [shift][GTO][ . ][ . ]                                                                        PRGM                        1        [prgm]                                                                                                 001  RCL 01                 2        [RCL][∑+ ]                                                                                         002  ENTER^                 1        [enter]                                                                                                 003  X^2                    2        [shift][√x ]                                                                                         004  +                      1        [ + ]                                                                                                 005  RCL 02                 2        [RCL]][1/x]                                                                                         006  LN                     1        [LN]                                                                                                 007  -                      1        [ - ]                                                                                                 008  LASTX                  2        [shift][ . ]                                                                                         009  2                      1        [ 2 ]                                                                                                 010  *                      1        [ * ]                                                                                                 011  CLA                    3        [alpha][shift][ ← ]                                                                                 012  ARCL Y                 4        [shift][RCL][ . ][ * ]                                                                         013  "~,                    3        [shift][XEQ][ . ]                                                                                 014  ARCL X                 4        [shift][RCL][ . ][ 6 ]                                                                         015  AVIEW                  2        [shift][R/S]                                                                                         016  2                      2        [alpha][ 2 ]                                                                                         PRGM                        1        [prgm]

EXECUSION: each press on R/S key display X and Y in the display.
Code:
3,12  STO 01                6        [ 3 ][ . ][ 1 ][ 2 ][STO][∑+ ]                                                         2,56  STO 02  R/S           7        [ 2 ][ . ][ 5 ][ 6 ][STO][1/x][R/S]                                                 ST/ 02  R/S                 4        [STO][ / ][1/x][R/S]                                                                         ST/ 02  R/S                 4        [STO][ / ][1/x][R/S]                                                                         ST* 01  R/S                 4        [STO][ * ][∑+ ][R/S]                                                                         ST* 01  R/S                 4        [STO][ * ][∑+ ][R/S]                                                                         ST* 01  ST/ 02  R/S         7        [STO][ * ][∑+ ][STO][ / ][1/x][R/S]                                                 ST/ 02  R/S                 4        [STO][ / ][1/x][R/S]                                                                          ST/ 02  R/S                 4        [STO][ / ][1/x][R/S]                                                                          1,32  STO 02  R/S           7        [ 1 ][ . ][ 3 ][ 2 ][STO][1/x][R/S]                                                 18,59  STO 01  R/S          8        [ 1 ][ 8 ][ . ][ 5 ][ 9 ][STO][∑+ ][R/S]                                         17,63  STO 01  R/S          8        [ 1 ][ 7 ][ . ][ 6 ][ 3 ][STO][∑+ ][R/S]                                         ST* 02  R/S                 4        [STO][ * ][1/x][R/S]                                                                          ST* 02  R/S                 4        [STO][ * ][1/x][R/S]

SCORE: 113 keystrokes
08-19-2021, 12:23 AM
Post: #36
 jhallen Junior Member Posts: 20 Joined: Aug 2021
RE: Calculator benchmark
Sweet! I knew HP-41 could get a better score, had no idea there was enough space to show two results at once on the display.

(08-18-2021 08:20 PM)C.Ret Wrote:  HP-41C

SETUP: using Alpha register to display X & Y from A & B in registers 01 & 02 respectively.
Code:
PACK                        4        [shift][GTO][ . ][ . ]                                                                        PRGM                        1        [prgm]                                                                                                 001  RCL 01                 2        [RCL][∑+ ]                                                                                         002  ENTER^                 1        [enter]                                                                                                 003  X^2                    2        [shift][√x ]                                                                                         004  +                      1        [ + ]                                                                                                 005  RCL 02                 2        [RCL]][1/x]                                                                                         006  LN                     1        [LN]                                                                                                 007  -                      1        [ - ]                                                                                                 008  LASTX                  2        [shift][ . ]                                                                                         009  2                      1        [ 2 ]                                                                                                 010  *                      1        [ x ]                                                                                                 011  CLA                    3        [alpha][shift][ ← ]                                                                                 012  ARCL Y                 4        [shift][RCL][ . ][ * ]                                                                         013  "~,                    3        [shift][XEQ][ . ]                                                                                 014  ARCL X                 4        [shift][RCL][ . ][ 6 ]                                                                         015  AVIEW                  2        [shift][R/S]                                                                                         016  2                      2        [alpha][ 2 ]                                                                                         PRGM                        1        [prgm]

EXECUSION: each press on R/S key display X and Y in the display.
Code:
3,12  STO 01                6        [ 3 ][ . ][ 1 ][ 2 ][STO][∑+ ]                                                         2,56  STO 02  R/S           7        [ 2 ][ . ][ 5 ][ 6 ][STO][1/x][R/S]                                                 ST/ 02  R/S                 4        [STO][ / ][1/x][R/S]                                                                         ST/ 02  R/S                 4        [STO][ / ][1/x][R/S]                                                                         ST* 01  R/S                 4        [STO][ * ][∑+ ][R/S]                                                                         ST* 01  R/S                 4        [STO][ * ][∑+ ][R/S]                                                                         ST* 01  ST/ 02  R/S         7        [STO][ * ][∑+ ][STO][ / ][1/x][R/S]                                                 ST/ 02  R/S                 4        [STO][ / ][1/x][R/S]                                                                          ST/ 02  R/S                 4        [STO][ / ][1/x][R/S]                                                                          1,32  STO 02  R/S           7        [ 1 ][ . ][ 3 ][ 2 ][STO][1/x][R/S]                                                 18,59  STO 01  R/S          8        [ 1 ][ 8 ][ . ][ 5 ][ 9 ][STO][∑+ ][R/S]                                         17,63  STO 01  R/S          8        [ 1 ][ 7 ][ . ][ 6 ][ 3 ][STO][∑+ ][R/S]                                         ST* 02  R/S                 4        [STO][ * ][1/x][R/S]                                                                          ST* 02  R/S                 4        [STO][ * ][1/x][R/S]

SCORE: 113 keystrokes
08-19-2021, 04:37 AM (This post was last modified: 08-19-2021 04:39 AM by C.Ret.)
Post: #37
 C.Ret Member Posts: 155 Joined: Dec 2013
RE: Calculator benchmark
(08-17-2021 01:31 AM)Valentin Albillo Wrote:  C.Ret says Total of setup = 36 keystrokes but I count 40, which coincides with the sum of the column at the far right.

The TABLE ENTRY and RESULTS' keystroke count is probably wrong as well, as he says, for instance that the sequence
• 2 RCL*0 A .32 B (24.96=2*12.48) 8

is 8 keystrokes long while it's actually 9, so the total count for this part might be wrong too.

Thanks a lot Valentin for pointing out all these erroneous indications. This happened too many times since I post too fast and don't take the time to carefully read back my tippings.

It's because I am so excited to have found a solution and I am distracted by translation into english (not my native language) and also by immediately looking for any alternate solution...

I hope my last and further posts will contain less erroneous counts and sums since I am using an Excel Spreadsheet instead of my traditional paper and pencil scratch-pad.

08-19-2021, 04:55 AM
Post: #38
 Valentin Albillo Senior Member Posts: 811 Joined: Feb 2015
RE: Calculator benchmark
.
Hi, C.Ret,

(08-19-2021 04:37 AM)C.Ret Wrote:
(08-17-2021 01:31 AM)Valentin Albillo Wrote:  C.Ret says Total of setup = 36 keystrokes but I count 40, which coincides with the sum of the column at the far right.
The TABLE ENTRY and RESULTS' keystroke count is probably wrong as well, as he says, for instance that the sequence
• 2 RCL*0 A .32 B (24.96=2*12.48) 8
is 8 keystrokes long while it's actually 9, so the total count for this part might be wrong too.

Thanks a lot Valentin for pointing out all these erroneous indications. [...] Thanks a lot for your attentive readings and corrections.

You're welcome.

Also, did you find the fairly simple optimization of your HP-15C's Setup section which I mentioned ? You'll save a sizable number of keystrokes if you do ...

Regards.
V.

All My Articles & other Materials here:  Valentin Albillo's HP Collection

08-19-2021, 05:21 PM (This post was last modified: 08-19-2021 05:36 PM by C.Ret.)
Post: #39
 C.Ret Member Posts: 155 Joined: Dec 2013
RE: Calculator benchmark
(08-19-2021 04:55 AM)Valentin Albillo Wrote:  Also, did you find the fairly simple optimization of your HP-15C's Setup section which I mentioned ?

Late yesterday night, I made a few progress in this research and finally found two optimizations of my previous HP-15C code. There is a way to spare unnecessary GTO 01 and LBL 01 :

First optimization:
f LBL A STO 1 RCL 2
f LBL B STO 2
... No more need of the LBL 01 label and the extra RCL 2 is no longer than the GTO 1 statement from previous version. From here, one may start the computation of X and Y.

Second optimization: since the X-register always contain the value of B after the LBL B STO 2 statements, why not directly start the computation with evaluating LN(B) ? This spare a few more steps in the process ;

... g LN RCL 1 ENTER g x² + x↔y - f PSE ... to display X=A+A²-LN(B)
... g LSTx ENTER + .... to display Y=LN(B²)

This two tricks reduce the original 40 keystrokes to only 36 keystrokes.

But why may I stop this economy of labels so soon, is there any way to avoid any labels and the USER's mode ?
Yes, like for the HP-41C, no more GTO , A or B keys, the R/S key only run all the table.

This lead me to this last proposition for the HP-15C

SETUP 26 keystrokes
Code:
g P/R  f Clear PRGM                                   4        [ g ][P/R][ f ][Clear PRGM]                                           Start new program RCL 1  ENTER  g x²  +  RCL 2  g LN  -  f PSE        13        [RCL][ 1 ][ENTER][ g ][x² ][ + ][RCL][ 2 ][ g ][LN ][ - ][ f ][PSE]   Display X = A+A²-LN(B) g LSTx  ENTER  +  f PSE                              6        [ g ][LSTx][ENTER][ + ][ f ][PSE]                                     Display Y = LN(B²) 2  g P/R                                             3        [ 2 ][ g ][P/R]                                                        Put 2 in stack and switch back to run mode

EXECUSION 75 keystrokes
Code:
3,12  STO 1                                          6        [ 3 ][ . ][ 1 ][ 2 ][STO][ 1 ]         2,56  STO 2  R/S                                     7        [ 2 ][ . ][ 5 ][ 6 ][STO][ 2 ][R/S]                                                         STO/2  R/S                                           4        [STO][ / ][ 2 ][R/S]                                                                                 STO/2  R/S                                           4        [STO][ / ][ 2 ][R/S]                                                                                 STO*1  R/S                                           4        [STO][ * ][ 1 ][R/S]                                                                                 STO*1  R/S                                           4        [STO][ * ][ 1 ][R/S]                                                                                 STO*1  STO/2  R/S                                    7        [STO][ * ][ 1 ][STO][ / ][ 2 ][R/S]         STO/2  R/S                                           4        [STO][ / ][ 2 ][R/S]                                                                                  STO/2  R/S                                           4        [STO][ / ][ 2 ][R/S]                                                                                  1,32  STO 2  R/S                                     7        [ 1 ][ . ][ 3 ][ 2 ][STO][ 1 ][R/S]                                                         18,59  STO 1  R/S                                    8        [ 1 ][ 8 ][ . ][ 5 ][ 9 ][STO][ 1 ][R/S]                                                 17,63  STO 1  R/S                                    8        [ 1 ][ 7 ][ . ][ 6 ][ 3 ][STO][ 1 ][R/S]                                                 STO*2  R/S                                           4        [STO][ * ][ 2 ][R/S]                                                                                  STO*2  R/S                                           4        [STO][ * ][ 2 ][R/S]

SCORE 101

PS.1: Please note that there is two f PSE instructions in this setup and the owners of the HP-15c Limited Edition (LE) will be in big troubles. The calculator display the two results X and Y successively in this order. If the user is not concentrate or fast enough to note the two results on the fly at each run, he only have to press the R/S again to repeat the displays.

PS.2: The EXECUSION part is exactly the same as the one for the HP-41C. Why couldn’t the score of the venerable pocket computer be reduced to 101 ?
08-19-2021, 11:31 PM
Post: #40
 Valentin Albillo Senior Member Posts: 811 Joined: Feb 2015
RE: Calculator benchmark
.
Hi again, C.Ret,

C.Ret Wrote:
Valentin Albillo Wrote:Also, did you find the fairly simple [i]optimization of your HP-15C's Setup section which I mentioned ?[/i]

Late yesterday night, I made a few progress in this research and finally found two optimizations of my previous HP-15C code. [...]

Congratulations, this was the optimization I told you I had seen, which saves a significant number of keystrokes, namely 4, leaving the Setup section reduced from 40 keystrokes to just 36. But there's more ...

C.Ret Wrote:This lead me to this last proposition for the HP-15C

SETUP 26 keystrokes [...]
EXECUSION 75 keystrokes [...]

SCORE 101

Once more, a teaser for you: there's again a simple optimization that will reduce your 101 score by no less than 4 keystrokes, leaving the new score as 97 ! ...
See if you can find it (I'm sure you will).

The HP-15C rules ! ...

Regards.
V.

All My Articles & other Materials here:  Valentin Albillo's HP Collection

 « Next Oldest | Next Newest »

User(s) browsing this thread: 1 Guest(s)