This looks like an
XY problem to me.
Here is a program to calculate the great circle distance between two points
A and
B on a sphere.
Since no registers are used, the initial question
X is not relevant.
All you ever wanted is a solution for
Y.
Program
This program works for most HP calculators:
HP-25
Code:
01: 21 : x<->y
02: 22 : Rv
03: 41 : -
04: 14 05 : f COS
05: 21 : x<->y
06: 01 : 1
07: 14 09 : f ->R
08: 21 : x<->y
09: 22 : Rv
10: 61 : *
11: 21 : x<->y
12: 01 : 1
13: 14 09 : f ->R
14: 21 : x<->y
15: 22 : Rv
16: 61 : *
17: 22 : Rv
18: 61 : *
19: 21 : x<->y
20: 22 : Rv
21: 51 : +
22: 15 05 : g COS-1
HP-15C
Code:
001 { 34 } x↔y
002 { 33 } R⬇
003 { 30 } −
004 { 24 } COS
005 { 34 } x↔y
006 { 1 } 1
007 { 42 1 } f → R
008 { 34 } x↔y
009 { 33 } R⬇
010 { 20 } ×
011 { 34 } x↔y
012 { 1 } 1
013 { 42 1 } f → R
014 { 34 } x↔y
015 { 33 } R⬇
016 { 20 } ×
017 { 33 } R⬇
018 { 20 } ×
019 { 34 } x↔y
020 { 33 } R⬇
021 { 40 } +
022 { 43 24 } g COS⁻¹
HP-42S
Code:
00 { 24-Byte Prgm }
01 X<>Y
02 R↓
03 -
04 COS
05 X<>Y
06 1
07 →REC
08 X<>Y
09 R↓
10 ×
11 X<>Y
12 1
13 →REC
14 X<>Y
15 R↓
16 ×
17 R↓
18 ×
19 X<>Y
20 R↓
21 +
22 ACOS
23 END
Example
This is the example provided for the
SR-56:
Point
A: \(33^\circ 54.5'\) N, \(94^\circ 56.2'\) W
Point
B: \(33^\circ 59.6'\) S, \(151^\circ 25.6'\) E
DEG
33.5430 →HR
33.908333
94.5612 →HR
94.936667
-33.5936 →HR
-33.993333
-151.2536 →HR
-151.426667
R/S
125.999888
If we want to get the result in nautical miles we can multiply the result by 60:
60
×
7559.993276
Or then we could convert degrees to radians and multiply the result by earth's radius.
Formula
(06-15-2017 10:29 AM)Paul Dale Wrote: [ -> ]It ought to be possible to calculate the distance using the modified Vincenty formula on the 25:
These programs use the same formula as the original program for the
SR-56:
\(
\Delta \sigma =\arccos \left ( \sin \phi _{1}\sin \phi _{2}+\cos \phi _{1}\cos \phi _{2}\cos(\Delta \lambda ) \right )
\)
Conversion
(06-15-2017 09:01 AM)Dieter Wrote: [ -> ]This will for instance show that the complete routine in the first steps (which is called several times as SBR 00) is obsolete since it does a simple d.ms to decimal degrees conversion (e.g. it turns 42°50' into 42,8333°). The 25 and 33 have a dedicated function for this.
Well, not exactly.
Therefore we have to convert e.g. \(94^\circ {56.2}'\) to \(94^\circ {56}' {12}''\) in our heads.
References
The original link to this document appears to be broken.
(06-15-2017 09:01 AM)Dieter Wrote: [ -> ]But I am sure that HP25 great circle programs already exist. ;-)
Cf.
Programs/Library1/HP25-AP24.25:
Code:
01: 24 00 : RCL 0
02: 14 04 : f SIN
03: 24 01 : RCL 1
04: 14 04 : f SIN
05: 61 : *
06: 24 00 : RCL 0
07: 14 05 : f COS
08: 24 01 : RCL 1
09: 14 05 : f COS
10: 61 : *
11: 24 02 : RCL 2
12: 14 05 : f COS
13: 61 : *
14: 51 : +
15: 23 03 : STO 3
16: 15 05 : g COS-1
17: 23 04 : STO 4
18: 06 : 6
19: 00 : 0
20: 61 : *
21: 74 : R/S
22: 24 01 : RCL 1
23: 14 04 : f SIN
24: 24 00 : RCL 0
25: 14 04 : f SIN
26: 24 03 : RCL 3
27: 61 : *
28: 41 : -
29: 24 00 : RCL 0
30: 14 05 : f COS
31: 71 : /
32: 24 04 : RCL 4
33: 14 04 : f SIN
34: 71 : /
35: 15 05 : g COS-1
36: 24 02 : RCL 2
37: 14 04 : f SIN
38: 15 41 : g x<0
39: 13 47 : GTO 47
40: 22 : Rv
41: 03 : 3
42: 06 : 6
43: 00 : 0
44: 21 : x<->y
45: 41 : -
46: 13 00 : GTO 00
47: 22 : Rv
48: 13 00 : GTO 00
49: 13 00 : GTO 00