Post Reply 
Arctangent function program [HP-42S, Free42]
09-16-2024, 05:10 PM
Post: #19
RE: Arctangent function program [HP-42S, Free42]
(09-15-2024 09:18 PM)Thomas Klemm Wrote:  This makes the program a bit shorter at the cost of an additional register:
Code:
01 {    44 01 } STO 1
02 {       09 } 9
03 {    44 00 } STO O
04 {       35 } CLx
05 {       36 } ENTER
06 {    45 00 } RCL 0
07 {    43 35 } x=0
08 { 43 33 20 } GTO 20
09 {       02 } 2
10 {       20 } *
11 {       01 } 1
12 { 44 30 00 } STO - 0
13 {       30 } -
14 {    45 01 } RCL 1
15 {       10 } /
16 {       34 } X<=>Y
17 {       30 } -
18 {       22 } 1/x
19 { 43 33 06 } GTO 06
20 {       33 } Rv


No problem! Stack-only is not important for the HP-12C. Size is. Thanks for the improvement!
Except for the borrowed code, the following is not size-optimized. But that’s just a test.

HP-12C:

Code:

   001 {    43 35 } g x==0
   002 { 43 33 25 } GTO 2
   003 {    45  6 } RCL 6
   004 {       20 } *
   005 {    44  1 } STO 1
   006 {        9 } 9
   007 {    44  0 } STO 0
   008 {       35 } CLx
   009 {       36 } ENTER
   010 {    45  0 } RCL 0
   011 {    43 35 } g x==0
   012 { 43 33 24 } g GTO 24
   013 {        2 } 2
   014 {       20 } *
   015 {        1 } 1
   016 { 44 30  0 } STO - 0
   017 {       30 } -
   018 {    45  1 } RCL 1
   019 {       10 } /
   020 {       34 } X<=>Y
   021 {       30 } -
   022 {       22 } 1/x
   023 { 43 33 10 } g GTO 10
   024 {       33 } Rv
   025 {       36 } ENTER
   026 {       36 } ENTER
   027 {       36 } ENTER
   028 {       20 } *
   029 {    43 21 } g sqrt(x)
   030 {    43 35 } g x==0
   031 {    43  3 } g n!
   032 {       10 } /
   033 {    43 35 } g x==0
   034 {    43  3 } g n!
   035 {       34 } X<=>Y
   036 {       36 } ENTER
   037 {       20 } *
   038 {        1 } 1
   039 {       40 } +
   040 {    43 21 } g sqrt(x)
   041 {       22 } 1/x
   042 {       20 } *
   043 {       20 } *
   044 {    43 36 } g LSTx
   045 {       34 } X<=>Y
   046 { 43 33 00 } g GTO 00
   047 {    45  5 } RCL 5
   048 {       34 } X<=>Y
   049 {    43 35 } g x==0
   050 {       40 } +
   051 {    44  6 } STO 6
   052 { 43 33 00 } g GTO 00


Initialization:

3.141592654 ENTER 180 / STO 5

0 (DEG) or 1 (RAD) g GTO 47 R/S


Usage:

x R/S ->

T: TAN(x)
Z: TAN(x)
Y: COS(x)
X: SIN(x)


First and second quadrants only. 90 degrees case not handled.

——

HP-15C listing the JRPN 15C Simulator:

Code:

   000 {          } 
   001 { 42 21 11 } f LBL A
   002 {    43 20 } g x==0
   003 {    22  2 } GTO 2
   004 {    45  6 } RCL 6
   005 {       20 } *
   006 {    44  1 } STO 1
   007 {        9 } 9
   008 {    44  0 } STO 0
   009 {    43 35 } g CLx
   010 {       36 } ENTER
   011 { 42 21  0 } f LBL 0
   012 {    45  0 } RCL 0
   013 {    43 20 } g x==0
   014 {    22  1 } GTO 1
   015 {        2 } 2
   016 {       20 } *
   017 {        1 } 1
   018 { 44 30  0 } STO - 0
   019 {       30 } -
   020 {    45  1 } RCL 1
   021 {       10 } /
   022 {       34 } X<=>Y
   023 {       30 } -
   024 {       15 } 1/x
   025 {    22  0 } GTO 0
   026 { 42 21  1 } f LBL 1
   027 {       33 } Rv
   028 { 42 21  2 } f LBL 2
   029 {       36 } ENTER
   030 {       36 } ENTER
   031 {       36 } ENTER
   032 {       20 } *
   033 {       11 } sqrt(x)
   034 {    43 20 } g x==0
   035 {    42  0 } f x!
   036 {       10 } /
   037 {    43 20 } g x==0
   038 {    42  0 } f x!
   039 {       34 } X<=>Y
   040 {       36 } ENTER
   041 {       20 } *
   042 {        1 } 1
   043 {       40 } +
   044 {       11 } sqrt(x)
   045 {       15 } 1/x
   046 {       20 } *
   047 {       20 } *
   048 {    43 36 } g LSTx
   049 {       34 } X<=>Y
   050 {    43 32 } g RTN
   051 { 42 21  3 } f LBL 3
   052 {    45  5 } RCL 5
   053 {       34 } X<=>Y
   054 {    43 20 } g x==0
   055 {       40 } +
   056 {    44  6 } STO 6
   057 {    43 32 } g RTN
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
RE: Arctangent function program [HP-42S, Free42] - Gerson W. Barbosa - 09-16-2024 05:10 PM



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