Table of Contents

See the remarks on savage benchmark. For that reason we “partially” dismiss the importance of the accuracy in the savage test.

Accuracy section

Physical calculators

  1. HP 50g, 2.15, HPGCC
    • ? digits
    • Time: around 0.52 secs @12mhz
    • Result: 2500 1)
    • Absolute error: 0
    • Code: ?
  2. Hp 9g
    • 22 digits (confirmed?)
    • Time: ?
    • Result: 2500 2)
    • Absolute error: 0
    • Code:
      INPUT N;
      A=1;
      FOR(I=1;I<N;++I){
      A=tan(tan-1(e^(ln(|/(A*A)))))+1;
      }
      PRINT A;
      END; 
  3. HP 34s, 3.2r3371
  4. sharp PC-E500S
    • ? digits
    • Time: ?
    • Result:
      • single precision 2500.000056
      • double precision 2499.9999999999999999
    • Absolute error:
      • single precision 5.6 e-5
      • double precision 1 e-16
    • Code: ?
  5. sharp PC-1475
    • ? digits
    • Time: ?
    • Result:
      • single precision 2499.987313
      • double precision 2499.9999999999999925
    • Absolute error:
      • single precision 1.2687 e-2
      • double precision 7.5 e-15
    • Code: ?
  6. HP 200 LX
    • ? digits
    • Time: around 210 secs
    • Result: 2499.999999998308
    • Absolute error: 1.692 e-9
    • Code:
      0*L(A,1)+SIGMA(I,1,N,1,
      0*L(A,1+TAN(ATAN(EXP(LN(SQRT(g(A)*g(A))))))))
      +L(B,g(A))-B
      
      2499 N and solving for B
  7. TI 83+ SE
    • ? digits
    • Time: ?
    • Result: 2499.999992
    • Absolute error: 8 e-6
    • Code:
      1->A
      For(I,1,2499)
      tan(tan-1(e^(ln(\|(A^2)))))+1->A
      End
      Disp A
  8. HP 50g, 2.15, userRPL
  9. HP 49g
    • ? digits
    • Time: around 111 secs
    • Result: 2499.99948647
    • Absolute error: 5.1353 e-4
    • Code: See 50g
  10. HP 49gx
    • ? digits
    • Time: around 118 secs
    • Result: 2499.99948647
    • Absolute error: 5.1353 e-4
    • Code: See 50g
  11. HP 49gx
    • ? digits
    • Time: around 193 secs
    • Result: 2499.99948647
    • Absolute error: 5.1353 e-4
    • Code: See 50g
  12. HP 28s
  13. HP71 Basic
    • 12 digits
    • Result: 2499.99948647
    • Absolute error: 5.1353 e-4
    • Note: All the other Saturn based machines, such as the HP48, should get this result also (but maybe they have more digits!)
    • >RADIANS
      >1 T=TIME @ A=0 @ FOR I=1 TO 2500 @ B=SQR(A+1) @ A=TAN(ATAN(EXP(LN(B*B)))) @ NEXT I
      >2 DISP A;TIME-T
  14. HP 28s
    • ? digits
    • Time: around 398 secs
    • Result: 2499.99948647
    • Absolute error: 5.1353 e-4
    • Code: see 28s
  15. HP 19BII
    • ? digits
    • Time: around 360 secs
    • Result: 2500.00005173
    • Absolute error: 5.173 e-5
    • Code:
      0*L(A,1)+SIGMA(I,1,N,1,
      0*L(A,1+TAN(ATAN(EXP(LN(SQRT(g(A)*g(A))))))))
      +L(B,g(A))-B
      
      2499 N and solving for B
  16. HP 39gII
    • ? digits
    • Time: 3.6 s
    • Result: 2499.99946106
    • Absolute error: 5.3894 e-4
    • Code:
      EXPORT SAVAGE()
      BEGIN
      A:=0
        FOR I FROM 1 TO 2500 DO
         A:=TAN(ATAN(EXP(LN(sqrt(A+1)²)))); 
        END:
      END; 
  17. HP 30b
    • ? digits
    • Time: around 6 secs
    • Result: 2499.99946106
    • Absolute error: 5.3894 e-4
    • Code: ?
  18. HP 32S
    • ? digits
    • Time: around 355 s
    • Result: 2499.99946106
    • Absolute error: 5.3894 e-4
    • Code: ?
  19. HP 32SII
    • ? digits
    • Time: around 390
    • Result: 2499.99946106
    • Absolute error: 5.3894 e-4
    • Code: ?
  20. HP 42s
  21. HP 86b
    • ? digits
    • Time: around 82 secs
    • Result: 2499.99942403
    • Absolute error: 5.7597 e-4
    • Code:
      5 RAD
      7 t=TIME 
      10 A=1
      20 FOR I=1 TO 2499
      30 A=TAN (ATN (EXP (LOG (SQR (A*A)))))+1
      40 NEXT I
      50 PRINT A
      55 PRINT HMS$ (TIME -t)
      60 END
  22. HP 33s
  23. HP 35s
    • Source: HP 32SII
    • ? digits
    • Time: around 630 secs
    • Result: 2499.99939863
    • Absolute error: 6.0137 e-4
    • Code: ?
  24. sharp PC-1262
  25. sharp PC-1403
  26. HP 67
  27. HP 19c
  28. HP 11C
  29. HP 41C
  30. HP 15c LE
  31. HP 41cx
  32. HP 15c
    • ? digits
    • Time: around 5'840 secs
    • Result: 2499.969898
    • Absolute error: 3.0102 e-2
    • Code: see 15c le
  33. HP 34c
  34. HP 25

Emulators on mobile/handheld devices smaller than 7'' (7'' included)

  1. Free 42 (other info?)
1) , 2)
is it just a lucky rounding or there is an error but we don't check entirely the result? One should do 2500-result
3)
LBL A
TICKS
2
4
9
9
# 001
LBL 00
	x[^2]
	[sqrt]
	LN
	e[^x]
	ATAN
	TAN
	INC X
	DSE Y
		GTO 00
TICKS
RCL- T
SDR 001
x[<->] Y
END 
4)
@ "Savage benchmark" for 48 and 49 series.
@ 48 series checksum: # ECAh
@ 48 series size:        159
@ 49 series checksum: # B0C9h
@ 49 series size:        159.
\<<             @
  STD           @ Force standard display mode.
  RCLF          @ Get original flags.
  -55. SF       @ Force last arguments disabled.
  64. STWS      @ Force wordsize.
  RAD           @ Force radians mode.
  MEM DROP      @ Force a GC.
  TICKS         @ Initial system time.
  1.            @ Initial value.
  1. 2499.      @ Loop start/stop values.
  START         @
    DUP *       @ Square.
    \v/         @ Square root command.
    LN          @
    EXP         @
    ATAN        @
    TAN         @
    1. +        @
  NEXT          @
  TICKS         @ Ending system time.
  ROT           @ Move initial time to level 1.
  -             @ Elapsed time.
  B\->R         @ Convert binary to real.
  "Ticks"       @
  \->TAG        @
  DUP           @
  8192. /       @ Convert ticks to seconds.
  3. RND        @ Round to 3 decimal places.
  "Seconds"     @
  \->TAG        @
  4. ROLL STOF  @ Restore original flags.
\>>
5)
<<
RAD TICKS
0.
1. 2500. START
1. + sqrt SQ LN EXP ATAN TAN
NEXT
SWAP TICKS SWAP - B->R 8192. /
DEG
800. 2. BEEP
>> 
6)
@ "Savage benchmark" for 28 series.
@ A 28C must be in HEX mode when this program is entered to ensure
@ that the correct address is supplied to SYSEVAL!
\<<             @
  STD           @
  RCLF          @ Get original flags.
  31 CF         @ Force last arguments disabled.
  64 STWS       @ Force wordsize.
  RAD           @ Force radians mode.
  MEM DROP      @ Force a GC.

@ Uncomment the binary integer in one of the following 3 lines.
  @ #123E @     @ For 28C ROM version 1BB.
  @ #1266 @     @ For 28C ROM version 1CC.
  @ #11CAh @    @ For 28S ROM version 2BB.


  SYSEVAL       @ Initial system time.
  1             @ Initial value.
  1 2499        @ Loop start/stop values.
  START         @
    DUP *       @ Square.
    \v/         @ Square root command.
    LN          @
    EXP         @
    ATAN        @
    TAN         @
    1  +        @
  NEXT          @


@ Uncomment the binary integer in one of the following 3 lines.
  @ #123E @     @ For 28C ROM version 1BB.
  @ #1266 @     @ For 28C ROM version 1CC.
  @ #11CAh @    @ For 28S ROM version 2BB.


  SYSEVAL       @ Ending system time.
  ROT           @ Move initial time to level 1.
  -             @ Elapsed time.
  B\->R         @ Convert binary to real.
  DUP           @
  \->STR        @ Convert real to character string.
  "Ticks="      @
  SWAP +        @
  SWAP          @
  8192 /        @ Convert ticks to seconds.
  3 FIX RND     @ Round to 3 decimal places.
  \->STR        @ Convert real to character string.
  "Seconds="    @
  SWAP +        @
  4 ROLL STOF   @ Restore original flags.
\>>
7)
01 LBL "SB"
02 RAD
03 0
04 LBL 01
05 1
06 +
07 SQRT
08 X^2
09 LN
10 E^X
11 ATAN
12 TAN
13 DSE ST Y
14 GTO 01
15 BEEP
16 DEG
17 END
8)
LBL A
1
STO A
STO I
LBL B
RCL A
x^2
\|x (Square root of x)
LN
e^x
ATAN
TAN
1
+
STO A
1
STO+ I
RCL I
2,499
x>=y?
GTO B
RCL A
RTN
9)
01 LBL B
02 RAD
03 ST I
04 0
05 LBL 1
06 1
07 +
08 SQRT
09 X^2
10 LN
11 e^X
12 ATAN
13 TAN
14 DSZ I
15 GTO 1
16 DEG
17 RTN
10)
001 LBL B
002 STO 0
003 RAD
004 FIX 9
005 0
006 LBL 0
007 1
008 +
009 SQRT
010 X^2
011 LN
012 e^X
013 ARCTAN
014 TAN
015 DSE 0
016 GTO 0
017 DEG
018 RTN
11) , 12)
01 LBL B
02 RAD
03 STO I
04 0
05 LBL 1
06 1
07 +
08 SQRT
09 X^2
10 LN
11 e^X
12 ATAN
13 TAN
14 DSE I
15 GTO 1
16 DEG
17 RTN
13)
01 RAD
02 STO 0
03 0
04 STO 1
05 RCL 1
06 1
07 +
08 SQRT
09 X^2
10 LN
11 e^X
12 ATAN
13 TAN
14 STO 1
15 RCL 0
16 1
17 -
18 STO 0
19 X=0?
20 GTO 22
21 GTO 05
22 RCL 1
23 DEG
24 GTO 00