Distance on a great circle

Time bar (total: 14.1s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze1.1s (7.6%)

Memory
7.8MiB live, 1 202.0MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.8%0.2%0%0%0%0
0%0%99.8%0.2%0%0%0%1
0%0%99.8%0.2%0%0%0%2
0%0%99.8%0.2%0%0%0%3
0%0%99.8%0.2%0%0%0%4
0%0%99.8%0.2%0%0%0%5
0%0%99.8%0.2%0%0%0%6
0%0%99.8%0.2%0%0%0%7
0%0%99.8%0.2%0%0%0%8
0%0%99.8%0.2%0%0%0%9
0%0%99.8%0.2%0%0%0%10
0%0%99.8%0.2%0%0%0%11
0%0%99.8%0.2%0%0%0%12
Compiler

Compiled 67 to 28 computations (58.2% saved)

sample8.5s (60.2%)

Memory
109.1MiB live, 7 558.8MiB allocated
Samples
7.2s7 434×1valid
189.0ms822×0valid
Precisions
Click to see histograms. Total time spent on operations: 6.9s
ival-cos: 2.2s (32.3% of total)
ival-sin: 2.1s (30.2% of total)
ival-mult: 745.0ms (10.8% of total)
adjust: 395.0ms (5.7% of total)
ival-sub: 332.0ms (4.8% of total)
ival-sqrt: 291.0ms (4.2% of total)
ival-div: 253.0ms (3.7% of total)
ival-atan2: 230.0ms (3.3% of total)
ival-pow2: 220.0ms (3.2% of total)
ival-add: 90.0ms (1.3% of total)
exact: 11.0ms (0.2% of total)
ival-true: 8.0ms (0.1% of total)
ival-assert: 4.0ms (0.1% of total)
Bogosity

explain906.0ms (6.4%)

Memory
14.1MiB live, 920.1MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
77119(6.0550850403926805e-176 -1.4939889751683473e+97 -1.3807598059293487e-52 -1.4527316492924733e-264 3.7116100654544336e+277)0-(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
70112(-8.012153416424876e+140 8.077103984547489e+97 1.207592219734766e+124 8.332295323904954e-118 -4405683802292.635)0-(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
32(3.849040707998115e+120 -2.210419947581762e+283 5.200508747379574e+21 1.6958287768675413e-254 1.9178307271024213e-53)0-(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
10-0-(sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
00-0-(*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
00-0-lambda2
00-0-#s(literal 1 binary64)
00-0-phi2
00-0-(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
00-0-(pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))
00-0-(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
00-0-(*.f64 (cos.f64 phi1) (cos.f64 phi2))
00-0-(-.f64 lambda1 lambda2)
00-0-R
00-0-(cos.f64 phi2)
00-0-lambda1
00-0-(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))
00-0-phi1
00-0-(/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))
00-0-(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
00-0-(sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))
00-0-#s(literal 2 binary64)
00-0-(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
00-0-(/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))
00-0-(-.f64 phi1 phi2)
00-0-(cos.f64 phi1)
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
sin.f64(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))sensitivity1960
sin.f64(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))sensitivity1820
-.f64(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))cancellation56
sqrt.f64(sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))uflow-rescue10
(pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))underflow19
(*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))underflow13
(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))underflow1
Confusion
Predicted +Predicted -
+1330
-10617
Precision
0.5564853556485355
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+13300
-106017
Precision?
0.5564853556485355
Recall?
1.0
Freqs
test
numberfreq
017
196
2141
32
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
559.0ms464×1valid
10.0ms48×0valid
Compiler

Compiled 1 239 to 108 computations (91.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 493.0ms
ival-cos: 187.0ms (37.9% of total)
ival-sin: 134.0ms (27.2% of total)
ival-mult: 34.0ms (6.9% of total)
ival-sqrt: 29.0ms (5.9% of total)
ival-pow2: 26.0ms (5.3% of total)
adjust: 23.0ms (4.7% of total)
ival-atan2: 23.0ms (4.7% of total)
ival-sub: 16.0ms (3.2% of total)
ival-div: 13.0ms (2.6% of total)
ival-add: 5.0ms (1% of total)
ival-true: 1.0ms (0.2% of total)
exact: 1.0ms (0.2% of total)
ival-assert: 0.0ms (0% of total)

preprocess17.0ms (0.1%)

Memory
-27.0MiB live, 10.0MiB allocated
Algorithm
egg-herbie
Calls
Call 1
Inputs
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
Outputs
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
Compiler

Compiled 65 to 26 computations (60% saved)

eval0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated
Compiler

Compiled 0 to 5 computations (-∞% saved)

prune1.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
60.3%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
Compiler

Compiled 65 to 26 computations (60% saved)

simplify2.0ms (0%)

Memory
2.3MiB live, 2.3MiB allocated
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
cost-diff0
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
cost-diff0
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
cost-diff0
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
Calls
Call 1
Inputs
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
R
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
#s(literal 2 binary64)
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))
(pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
(/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))
(-.f64 phi1 phi2)
phi1
phi2
(*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(*.f64 (cos.f64 phi1) (cos.f64 phi2))
(cos.f64 phi1)
(cos.f64 phi2)
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
(/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))
(-.f64 lambda1 lambda2)
lambda1
lambda2
(sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
#s(literal 1 binary64)
Outputs
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
R
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
#s(literal 2 binary64)
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))
(pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
(/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))
(-.f64 phi1 phi2)
phi1
phi2
(*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(*.f64 (cos.f64 phi1) (cos.f64 phi2))
(cos.f64 phi1)
(cos.f64 phi2)
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
(/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))
(-.f64 lambda1 lambda2)
lambda1
lambda2
(sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
#s(literal 1 binary64)

localize272.0ms (1.9%)

Memory
-5.6MiB live, 313.5MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.35060502930532605
(pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))
accuracy0.6223222669152428
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
accuracy13.633900129161674
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
accuracy16.484487849653146
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
Samples
230.0ms232×1valid
9.0ms24×0valid
Compiler

Compiled 782 to 54 computations (93.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 215.0ms
ival-cos: 67.0ms (31.1% of total)
ival-sin: 55.0ms (25.6% of total)
ival-sub: 29.0ms (13.5% of total)
ival-mult: 19.0ms (8.8% of total)
adjust: 11.0ms (5.1% of total)
ival-atan2: 11.0ms (5.1% of total)
ival-sqrt: 7.0ms (3.3% of total)
ival-div: 7.0ms (3.3% of total)
ival-pow2: 6.0ms (2.8% of total)
ival-add: 2.0ms (0.9% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series68.0ms (0.5%)

Memory
27.4MiB live, 102.8MiB allocated
Counts
8 → 90
Calls
Call 1
Inputs
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
(pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))
Outputs
(* 2 (* R (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))
(* 2 (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))
(atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* 1/2 (* (* lambda1 (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* lambda1 (+ (* 1/2 (* (* lambda1 (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* -1/2 lambda2)) 2) (pow (sin (* -1/2 lambda2)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (* 1/2 (* (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* lambda1 (+ (* 1/2 (* (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (* lambda1 (+ (* 1/2 (* (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))) (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* -1/2 lambda2)) 2) (pow (sin (* -1/2 lambda2)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))) (* 1/2 (* (* lambda1 (- (* (cos phi1) (* (cos phi2) (+ (* -1/8 (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))) (* -1/24 (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2))))))) (* 1/2 (/ (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (* (sin (* -1/2 lambda2)) (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* -1/2 lambda2)) 2) (pow (sin (* -1/2 lambda2)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))))))
(sin (* -1/2 lambda2))
(+ (sin (* -1/2 lambda2)) (* 1/2 (* lambda1 (cos (* -1/2 lambda2)))))
(+ (sin (* -1/2 lambda2)) (* lambda1 (+ (* -1/8 (* lambda1 (sin (* -1/2 lambda2)))) (* 1/2 (cos (* -1/2 lambda2))))))
(+ (sin (* -1/2 lambda2)) (* lambda1 (+ (* 1/2 (cos (* -1/2 lambda2))) (* lambda1 (+ (* -1/8 (sin (* -1/2 lambda2))) (* -1/48 (* lambda1 (cos (* -1/2 lambda2)))))))))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(- (+ 1 (* -1 (* lambda1 (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(- (+ 1 (* lambda1 (- (* -1 (* lambda1 (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))))) (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(- (+ 1 (* lambda1 (- (* lambda1 (- (* -1 (* lambda1 (* (cos phi1) (* (cos phi2) (+ (* -1/8 (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))) (* -1/24 (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2))))))))) (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))))) (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(sin (* 1/2 (- lambda1 lambda2)))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(* 2 (* R (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))
(* 2 (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))
(atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(sin (* -1/2 (+ lambda2 (* -1 lambda1))))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* -1/2 (* (* lambda2 (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* lambda2 (+ (* -1/2 (* (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (* 1/2 (* (* lambda2 (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* 1/2 lambda1)) 2)) (* 1/4 (pow (cos (* 1/2 lambda1)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* 1/2 lambda1)) 2) (pow (sin (* 1/2 lambda1)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* lambda2 (+ (* -1/2 (* (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (* lambda2 (+ (* 1/2 (* (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))) (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* 1/2 lambda1)) 2)) (* 1/4 (pow (cos (* 1/2 lambda1)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* 1/2 lambda1)) 2) (pow (sin (* 1/2 lambda1)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))) (* 1/2 (* (* lambda2 (- (* (cos phi1) (* (cos phi2) (+ (* 1/24 (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1)))) (* 1/8 (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))))) (* -1/2 (/ (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (* (sin (* 1/2 lambda1)) (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* 1/2 lambda1)) 2)) (* 1/4 (pow (cos (* 1/2 lambda1)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* 1/2 lambda1)) 2) (pow (sin (* 1/2 lambda1)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))))))
(sin (* 1/2 lambda1))
(+ (sin (* 1/2 lambda1)) (* -1/2 (* lambda2 (cos (* 1/2 lambda1)))))
(+ (sin (* 1/2 lambda1)) (* lambda2 (+ (* -1/2 (cos (* 1/2 lambda1))) (* -1/8 (* lambda2 (sin (* 1/2 lambda1)))))))
(+ (sin (* 1/2 lambda1)) (* lambda2 (+ (* -1/2 (cos (* 1/2 lambda1))) (* lambda2 (+ (* -1/8 (sin (* 1/2 lambda1))) (* 1/48 (* lambda2 (cos (* 1/2 lambda1)))))))))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(- (+ 1 (* lambda2 (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(- (+ 1 (* lambda2 (- (* -1 (* lambda2 (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* 1/2 lambda1)) 2)) (* 1/4 (pow (cos (* 1/2 lambda1)) 2))))))) (* -1 (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(- (+ 1 (* lambda2 (- (* lambda2 (- (* -1 (* lambda2 (* (cos phi1) (* (cos phi2) (+ (* 1/24 (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1)))) (* 1/8 (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))))))) (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* 1/2 lambda1)) 2)) (* 1/4 (pow (cos (* 1/2 lambda1)) 2))))))) (* -1 (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(* 2 (* R (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))
(* 2 (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))
(atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(sin (* 1/2 (+ lambda1 (* -1 lambda2))))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(sqrt (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))
(+ (sqrt (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2))) (* 1/2 (* (* phi1 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2)))) (sqrt (/ 1 (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))))))
(+ (sqrt (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2))) (* phi1 (+ (* 1/2 (* (* phi1 (- (+ (* -1/2 (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* -1/2 phi2)) 2)) (* 1/4 (pow (cos (* -1/2 phi2)) 2)))) (* 1/4 (/ (* (pow (cos (* -1/2 phi2)) 2) (pow (sin (* -1/2 phi2)) 2)) (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))))) (sqrt (/ 1 (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))))) (* 1/2 (* (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2))) (sqrt (/ 1 (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))))))))
(+ (sqrt (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2))) (* phi1 (+ (* 1/2 (* (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2))) (sqrt (/ 1 (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))))) (* phi1 (+ (* 1/2 (* (sqrt (/ 1 (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))) (- (+ (* -1/2 (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* -1/2 phi2)) 2)) (* 1/4 (pow (cos (* -1/2 phi2)) 2)))) (* 1/4 (/ (* (pow (cos (* -1/2 phi2)) 2) (pow (sin (* -1/2 phi2)) 2)) (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2))))))) (* 1/2 (* (* phi1 (- (+ (* -1/8 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2)))) (* -1/24 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2))))) (* 1/2 (/ (* (cos (* -1/2 phi2)) (* (sin (* -1/2 phi2)) (- (+ (* -1/2 (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* -1/2 phi2)) 2)) (* 1/4 (pow (cos (* -1/2 phi2)) 2)))) (* 1/4 (/ (* (pow (cos (* -1/2 phi2)) 2) (pow (sin (* -1/2 phi2)) 2)) (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2))))))) (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))))) (sqrt (/ 1 (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))))))))))
(sin (* -1/2 phi2))
(+ (sin (* -1/2 phi2)) (* 1/2 (* phi1 (cos (* -1/2 phi2)))))
(+ (sin (* -1/2 phi2)) (* phi1 (+ (* -1/8 (* phi1 (sin (* -1/2 phi2)))) (* 1/2 (cos (* -1/2 phi2))))))
(+ (sin (* -1/2 phi2)) (* phi1 (+ (* 1/2 (cos (* -1/2 phi2))) (* phi1 (+ (* -1/8 (sin (* -1/2 phi2))) (* -1/48 (* phi1 (cos (* -1/2 phi2)))))))))
(- 1 (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))
(- (+ 1 (* -1 (* phi1 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2)))))) (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))
(- (+ 1 (* phi1 (- (* -1 (* phi1 (+ (* -1/2 (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* -1/2 phi2)) 2)) (* 1/4 (pow (cos (* -1/2 phi2)) 2)))))) (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2)))))) (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))
(- (+ 1 (* phi1 (- (* phi1 (- (* -1 (* phi1 (+ (* -1/8 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2)))) (* -1/24 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2))))))) (+ (* -1/2 (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* -1/2 phi2)) 2)) (* 1/4 (pow (cos (* -1/2 phi2)) 2)))))) (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2)))))) (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))
(pow (sin (* -1/2 phi2)) 2)
(+ (* phi1 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2)))) (pow (sin (* -1/2 phi2)) 2))
(+ (* phi1 (+ (* phi1 (+ (* -1/4 (pow (sin (* -1/2 phi2)) 2)) (* 1/4 (pow (cos (* -1/2 phi2)) 2)))) (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2))))) (pow (sin (* -1/2 phi2)) 2))
(+ (* phi1 (+ (* phi1 (+ (* -1/4 (pow (sin (* -1/2 phi2)) 2)) (+ (* 1/4 (pow (cos (* -1/2 phi2)) 2)) (* phi1 (+ (* -1/8 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2)))) (* -1/24 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2))))))))) (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2))))) (pow (sin (* -1/2 phi2)) 2))
(sin (* 1/2 (- phi1 phi2)))
(pow (sin (* 1/2 (- phi1 phi2))) 2)
(* 2 (* R (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2)))))))
(* 2 (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2))))))
(atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2)))))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2)))
(sin (* -1/2 (+ phi2 (* -1 phi1))))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2)))
(pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2)
(sqrt (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))
(+ (sqrt (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2))) (* -1/2 (* (* phi2 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1)))) (sqrt (/ 1 (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))))))
(+ (sqrt (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2))) (* phi2 (+ (* -1/2 (* (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))) (sqrt (/ 1 (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))))) (* 1/2 (* (* phi2 (- (+ (* -1/2 (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* 1/2 phi1)) 2)) (* 1/4 (pow (cos (* 1/2 phi1)) 2)))) (* 1/4 (/ (* (pow (cos (* 1/2 phi1)) 2) (pow (sin (* 1/2 phi1)) 2)) (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))))))))
(+ (sqrt (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2))) (* phi2 (+ (* -1/2 (* (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))) (sqrt (/ 1 (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))))) (* phi2 (+ (* 1/2 (* (sqrt (/ 1 (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))) (- (+ (* -1/2 (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* 1/2 phi1)) 2)) (* 1/4 (pow (cos (* 1/2 phi1)) 2)))) (* 1/4 (/ (* (pow (cos (* 1/2 phi1)) 2) (pow (sin (* 1/2 phi1)) 2)) (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2))))))) (* 1/2 (* (* phi2 (- (+ (* 1/24 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1)))) (* 1/8 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))))) (* -1/2 (/ (* (cos (* 1/2 phi1)) (* (sin (* 1/2 phi1)) (- (+ (* -1/2 (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* 1/2 phi1)) 2)) (* 1/4 (pow (cos (* 1/2 phi1)) 2)))) (* 1/4 (/ (* (pow (cos (* 1/2 phi1)) 2) (pow (sin (* 1/2 phi1)) 2)) (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2))))))) (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))))))))))
(sin (* 1/2 phi1))
(+ (sin (* 1/2 phi1)) (* -1/2 (* phi2 (cos (* 1/2 phi1)))))
(+ (sin (* 1/2 phi1)) (* phi2 (+ (* -1/2 (cos (* 1/2 phi1))) (* -1/8 (* phi2 (sin (* 1/2 phi1)))))))
(+ (sin (* 1/2 phi1)) (* phi2 (+ (* -1/2 (cos (* 1/2 phi1))) (* phi2 (+ (* -1/8 (sin (* 1/2 phi1))) (* 1/48 (* phi2 (cos (* 1/2 phi1)))))))))
(- 1 (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))
(- (+ 1 (* phi2 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))))) (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))
(- (+ 1 (* phi2 (- (* -1 (* phi2 (+ (* -1/2 (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* 1/2 phi1)) 2)) (* 1/4 (pow (cos (* 1/2 phi1)) 2)))))) (* -1 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))))))) (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))
(- (+ 1 (* phi2 (- (* phi2 (- (* -1 (* phi2 (+ (* 1/24 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1)))) (* 1/8 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))))))) (+ (* -1/2 (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* 1/2 phi1)) 2)) (* 1/4 (pow (cos (* 1/2 phi1)) 2)))))) (* -1 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))))))) (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))
(pow (sin (* 1/2 phi1)) 2)
(+ (* -1 (* phi2 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))))) (pow (sin (* 1/2 phi1)) 2))
(+ (* phi2 (+ (* -1 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1)))) (* phi2 (+ (* -1/4 (pow (sin (* 1/2 phi1)) 2)) (* 1/4 (pow (cos (* 1/2 phi1)) 2)))))) (pow (sin (* 1/2 phi1)) 2))
(+ (* phi2 (+ (* -1 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1)))) (* phi2 (+ (* -1/4 (pow (sin (* 1/2 phi1)) 2)) (+ (* 1/4 (pow (cos (* 1/2 phi1)) 2)) (* phi2 (+ (* 1/24 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1)))) (* 1/8 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))))))))))) (pow (sin (* 1/2 phi1)) 2))
(* 2 (* R (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2)))))))
(* 2 (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2))))))
(atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2)))))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2)))
(sin (* 1/2 (+ phi1 (* -1 phi2))))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2)))
(pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2)
Calls

15 calls:

TimeVariablePointExpression
8.0ms
lambda2
@-inf
((* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin (/ (- lambda1 lambda2) 2)) (sin (/ (- phi1 phi2) 2)) (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (pow (sin (/ (- phi1 phi2) 2)) 2))
6.0ms
phi2
@0
((* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin (/ (- lambda1 lambda2) 2)) (sin (/ (- phi1 phi2) 2)) (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (pow (sin (/ (- phi1 phi2) 2)) 2))
6.0ms
lambda1
@inf
((* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin (/ (- lambda1 lambda2) 2)) (sin (/ (- phi1 phi2) 2)) (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (pow (sin (/ (- phi1 phi2) 2)) 2))
6.0ms
lambda2
@inf
((* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin (/ (- lambda1 lambda2) 2)) (sin (/ (- phi1 phi2) 2)) (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (pow (sin (/ (- phi1 phi2) 2)) 2))
5.0ms
lambda1
@0
((* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin (/ (- lambda1 lambda2) 2)) (sin (/ (- phi1 phi2) 2)) (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (pow (sin (/ (- phi1 phi2) 2)) 2))

simplify3.0ms (0%)

Memory
8.2MiB live, 8.2MiB allocated
Algorithm
egg-herbie
Counts
90 → 8
Calls
Call 1
Inputs
(* 2 (* R (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))
(* 2 (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))
(atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* 1/2 (* (* lambda1 (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* lambda1 (+ (* 1/2 (* (* lambda1 (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* -1/2 lambda2)) 2) (pow (sin (* -1/2 lambda2)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (* 1/2 (* (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* lambda1 (+ (* 1/2 (* (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (* lambda1 (+ (* 1/2 (* (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))) (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* -1/2 lambda2)) 2) (pow (sin (* -1/2 lambda2)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))) (* 1/2 (* (* lambda1 (- (* (cos phi1) (* (cos phi2) (+ (* -1/8 (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))) (* -1/24 (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2))))))) (* 1/2 (/ (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (* (sin (* -1/2 lambda2)) (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* -1/2 lambda2)) 2) (pow (sin (* -1/2 lambda2)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))))))
(sin (* -1/2 lambda2))
(+ (sin (* -1/2 lambda2)) (* 1/2 (* lambda1 (cos (* -1/2 lambda2)))))
(+ (sin (* -1/2 lambda2)) (* lambda1 (+ (* -1/8 (* lambda1 (sin (* -1/2 lambda2)))) (* 1/2 (cos (* -1/2 lambda2))))))
(+ (sin (* -1/2 lambda2)) (* lambda1 (+ (* 1/2 (cos (* -1/2 lambda2))) (* lambda1 (+ (* -1/8 (sin (* -1/2 lambda2))) (* -1/48 (* lambda1 (cos (* -1/2 lambda2)))))))))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(- (+ 1 (* -1 (* lambda1 (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(- (+ 1 (* lambda1 (- (* -1 (* lambda1 (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))))) (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(- (+ 1 (* lambda1 (- (* lambda1 (- (* -1 (* lambda1 (* (cos phi1) (* (cos phi2) (+ (* -1/8 (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))) (* -1/24 (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2))))))))) (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))))) (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(sin (* 1/2 (- lambda1 lambda2)))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(* 2 (* R (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))
(* 2 (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))
(atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(sin (* -1/2 (+ lambda2 (* -1 lambda1))))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* -1/2 (* (* lambda2 (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* lambda2 (+ (* -1/2 (* (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (* 1/2 (* (* lambda2 (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* 1/2 lambda1)) 2)) (* 1/4 (pow (cos (* 1/2 lambda1)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* 1/2 lambda1)) 2) (pow (sin (* 1/2 lambda1)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* lambda2 (+ (* -1/2 (* (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (* lambda2 (+ (* 1/2 (* (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))) (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* 1/2 lambda1)) 2)) (* 1/4 (pow (cos (* 1/2 lambda1)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* 1/2 lambda1)) 2) (pow (sin (* 1/2 lambda1)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))) (* 1/2 (* (* lambda2 (- (* (cos phi1) (* (cos phi2) (+ (* 1/24 (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1)))) (* 1/8 (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))))) (* -1/2 (/ (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (* (sin (* 1/2 lambda1)) (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* 1/2 lambda1)) 2)) (* 1/4 (pow (cos (* 1/2 lambda1)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* 1/2 lambda1)) 2) (pow (sin (* 1/2 lambda1)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))))))
(sin (* 1/2 lambda1))
(+ (sin (* 1/2 lambda1)) (* -1/2 (* lambda2 (cos (* 1/2 lambda1)))))
(+ (sin (* 1/2 lambda1)) (* lambda2 (+ (* -1/2 (cos (* 1/2 lambda1))) (* -1/8 (* lambda2 (sin (* 1/2 lambda1)))))))
(+ (sin (* 1/2 lambda1)) (* lambda2 (+ (* -1/2 (cos (* 1/2 lambda1))) (* lambda2 (+ (* -1/8 (sin (* 1/2 lambda1))) (* 1/48 (* lambda2 (cos (* 1/2 lambda1)))))))))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(- (+ 1 (* lambda2 (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(- (+ 1 (* lambda2 (- (* -1 (* lambda2 (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* 1/2 lambda1)) 2)) (* 1/4 (pow (cos (* 1/2 lambda1)) 2))))))) (* -1 (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(- (+ 1 (* lambda2 (- (* lambda2 (- (* -1 (* lambda2 (* (cos phi1) (* (cos phi2) (+ (* 1/24 (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1)))) (* 1/8 (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))))))) (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* 1/2 lambda1)) 2)) (* 1/4 (pow (cos (* 1/2 lambda1)) 2))))))) (* -1 (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(* 2 (* R (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))
(* 2 (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))
(atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(sin (* 1/2 (+ lambda1 (* -1 lambda2))))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(sqrt (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))
(+ (sqrt (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2))) (* 1/2 (* (* phi1 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2)))) (sqrt (/ 1 (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))))))
(+ (sqrt (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2))) (* phi1 (+ (* 1/2 (* (* phi1 (- (+ (* -1/2 (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* -1/2 phi2)) 2)) (* 1/4 (pow (cos (* -1/2 phi2)) 2)))) (* 1/4 (/ (* (pow (cos (* -1/2 phi2)) 2) (pow (sin (* -1/2 phi2)) 2)) (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))))) (sqrt (/ 1 (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))))) (* 1/2 (* (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2))) (sqrt (/ 1 (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))))))))
(+ (sqrt (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2))) (* phi1 (+ (* 1/2 (* (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2))) (sqrt (/ 1 (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))))) (* phi1 (+ (* 1/2 (* (sqrt (/ 1 (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))) (- (+ (* -1/2 (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* -1/2 phi2)) 2)) (* 1/4 (pow (cos (* -1/2 phi2)) 2)))) (* 1/4 (/ (* (pow (cos (* -1/2 phi2)) 2) (pow (sin (* -1/2 phi2)) 2)) (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2))))))) (* 1/2 (* (* phi1 (- (+ (* -1/8 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2)))) (* -1/24 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2))))) (* 1/2 (/ (* (cos (* -1/2 phi2)) (* (sin (* -1/2 phi2)) (- (+ (* -1/2 (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* -1/2 phi2)) 2)) (* 1/4 (pow (cos (* -1/2 phi2)) 2)))) (* 1/4 (/ (* (pow (cos (* -1/2 phi2)) 2) (pow (sin (* -1/2 phi2)) 2)) (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2))))))) (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))))) (sqrt (/ 1 (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))))))))))
(sin (* -1/2 phi2))
(+ (sin (* -1/2 phi2)) (* 1/2 (* phi1 (cos (* -1/2 phi2)))))
(+ (sin (* -1/2 phi2)) (* phi1 (+ (* -1/8 (* phi1 (sin (* -1/2 phi2)))) (* 1/2 (cos (* -1/2 phi2))))))
(+ (sin (* -1/2 phi2)) (* phi1 (+ (* 1/2 (cos (* -1/2 phi2))) (* phi1 (+ (* -1/8 (sin (* -1/2 phi2))) (* -1/48 (* phi1 (cos (* -1/2 phi2)))))))))
(- 1 (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))
(- (+ 1 (* -1 (* phi1 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2)))))) (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))
(- (+ 1 (* phi1 (- (* -1 (* phi1 (+ (* -1/2 (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* -1/2 phi2)) 2)) (* 1/4 (pow (cos (* -1/2 phi2)) 2)))))) (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2)))))) (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))
(- (+ 1 (* phi1 (- (* phi1 (- (* -1 (* phi1 (+ (* -1/8 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2)))) (* -1/24 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2))))))) (+ (* -1/2 (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* -1/2 phi2)) 2)) (* 1/4 (pow (cos (* -1/2 phi2)) 2)))))) (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2)))))) (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))
(pow (sin (* -1/2 phi2)) 2)
(+ (* phi1 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2)))) (pow (sin (* -1/2 phi2)) 2))
(+ (* phi1 (+ (* phi1 (+ (* -1/4 (pow (sin (* -1/2 phi2)) 2)) (* 1/4 (pow (cos (* -1/2 phi2)) 2)))) (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2))))) (pow (sin (* -1/2 phi2)) 2))
(+ (* phi1 (+ (* phi1 (+ (* -1/4 (pow (sin (* -1/2 phi2)) 2)) (+ (* 1/4 (pow (cos (* -1/2 phi2)) 2)) (* phi1 (+ (* -1/8 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2)))) (* -1/24 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2))))))))) (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2))))) (pow (sin (* -1/2 phi2)) 2))
(sin (* 1/2 (- phi1 phi2)))
(pow (sin (* 1/2 (- phi1 phi2))) 2)
(* 2 (* R (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2)))))))
(* 2 (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2))))))
(atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2)))))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2)))
(sin (* -1/2 (+ phi2 (* -1 phi1))))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2)))
(pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2)
(sqrt (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))
(+ (sqrt (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2))) (* -1/2 (* (* phi2 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1)))) (sqrt (/ 1 (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))))))
(+ (sqrt (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2))) (* phi2 (+ (* -1/2 (* (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))) (sqrt (/ 1 (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))))) (* 1/2 (* (* phi2 (- (+ (* -1/2 (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* 1/2 phi1)) 2)) (* 1/4 (pow (cos (* 1/2 phi1)) 2)))) (* 1/4 (/ (* (pow (cos (* 1/2 phi1)) 2) (pow (sin (* 1/2 phi1)) 2)) (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))))))))
(+ (sqrt (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2))) (* phi2 (+ (* -1/2 (* (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))) (sqrt (/ 1 (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))))) (* phi2 (+ (* 1/2 (* (sqrt (/ 1 (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))) (- (+ (* -1/2 (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* 1/2 phi1)) 2)) (* 1/4 (pow (cos (* 1/2 phi1)) 2)))) (* 1/4 (/ (* (pow (cos (* 1/2 phi1)) 2) (pow (sin (* 1/2 phi1)) 2)) (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2))))))) (* 1/2 (* (* phi2 (- (+ (* 1/24 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1)))) (* 1/8 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))))) (* -1/2 (/ (* (cos (* 1/2 phi1)) (* (sin (* 1/2 phi1)) (- (+ (* -1/2 (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* 1/2 phi1)) 2)) (* 1/4 (pow (cos (* 1/2 phi1)) 2)))) (* 1/4 (/ (* (pow (cos (* 1/2 phi1)) 2) (pow (sin (* 1/2 phi1)) 2)) (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2))))))) (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))))))))))
(sin (* 1/2 phi1))
(+ (sin (* 1/2 phi1)) (* -1/2 (* phi2 (cos (* 1/2 phi1)))))
(+ (sin (* 1/2 phi1)) (* phi2 (+ (* -1/2 (cos (* 1/2 phi1))) (* -1/8 (* phi2 (sin (* 1/2 phi1)))))))
(+ (sin (* 1/2 phi1)) (* phi2 (+ (* -1/2 (cos (* 1/2 phi1))) (* phi2 (+ (* -1/8 (sin (* 1/2 phi1))) (* 1/48 (* phi2 (cos (* 1/2 phi1)))))))))
(- 1 (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))
(- (+ 1 (* phi2 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))))) (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))
(- (+ 1 (* phi2 (- (* -1 (* phi2 (+ (* -1/2 (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* 1/2 phi1)) 2)) (* 1/4 (pow (cos (* 1/2 phi1)) 2)))))) (* -1 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))))))) (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))
(- (+ 1 (* phi2 (- (* phi2 (- (* -1 (* phi2 (+ (* 1/24 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1)))) (* 1/8 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))))))) (+ (* -1/2 (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* 1/2 phi1)) 2)) (* 1/4 (pow (cos (* 1/2 phi1)) 2)))))) (* -1 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))))))) (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))
(pow (sin (* 1/2 phi1)) 2)
(+ (* -1 (* phi2 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))))) (pow (sin (* 1/2 phi1)) 2))
(+ (* phi2 (+ (* -1 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1)))) (* phi2 (+ (* -1/4 (pow (sin (* 1/2 phi1)) 2)) (* 1/4 (pow (cos (* 1/2 phi1)) 2)))))) (pow (sin (* 1/2 phi1)) 2))
(+ (* phi2 (+ (* -1 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1)))) (* phi2 (+ (* -1/4 (pow (sin (* 1/2 phi1)) 2)) (+ (* 1/4 (pow (cos (* 1/2 phi1)) 2)) (* phi2 (+ (* 1/24 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1)))) (* 1/8 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))))))))))) (pow (sin (* 1/2 phi1)) 2))
(* 2 (* R (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2)))))))
(* 2 (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2))))))
(atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2)))))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2)))
(sin (* 1/2 (+ phi1 (* -1 phi2))))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2)))
(pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2)
Outputs
(* 2 (* R (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(* 2 (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
(atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* 1/2 (* (* lambda1 (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* lambda1 (+ (* 1/2 (* (* lambda1 (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* -1/2 lambda2)) 2) (pow (sin (* -1/2 lambda2)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (* 1/2 (* (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))))
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* lambda1 (+ (* 1/2 (* (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (* lambda1 (+ (* 1/2 (* (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))) (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* -1/2 lambda2)) 2) (pow (sin (* -1/2 lambda2)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))) (* 1/2 (* (* lambda1 (- (* (cos phi1) (* (cos phi2) (+ (* -1/8 (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))) (* -1/24 (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2))))))) (* 1/2 (/ (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (* (sin (* -1/2 lambda2)) (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* -1/2 lambda2)) 2) (pow (sin (* -1/2 lambda2)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))))))
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
(sin (* -1/2 lambda2))
(pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))

rewrite1.0ms (0%)

Memory
1.8MiB live, 1.8MiB allocated
Counts
8 → 8
Calls
Call 1
Inputs
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
(pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))
Outputs
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
(pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))

eval13.0ms (0.1%)

Memory
-41.7MiB live, 7.1MiB allocated
Compiler

Compiled 1 863 to 93 computations (95% saved)

prune11.0ms (0.1%)

Memory
25.2MiB live, 25.2MiB allocated
Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New19524
Fresh000
Picked011
Done000
Total19625
Accuracy
62.3%
Counts
25 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
60.3%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
32.1%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))))
26.3%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
18.7%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
15.1%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
14.2%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
Compiler

Compiled 841 to 404 computations (52% saved)

simplify16.0ms (0.1%)

Memory
-18.3MiB live, 19.5MiB allocated
Algorithm
egg-herbie
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
cost-diff0
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))
cost-diff0
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
cost-diff0
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
cost-diff0
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
cost-diff0
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))
cost-diff0
(atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
cost-diff0
(*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
cost-diff0
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
cost-diff0
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))
cost-diff0
(atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
cost-diff0
(*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
cost-diff0
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
cost-diff0
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
cost-diff0
(atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
cost-diff0
(*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
cost-diff0
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
cost-diff0
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
cost-diff0
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))
cost-diff0
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))))))
cost-diff0
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))))
Calls
Call 1
Inputs
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))))
R
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))))))
#s(literal 2 binary64)
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))
(pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
(/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))
(-.f64 phi1 phi2)
phi1
phi2
(*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(*.f64 (cos.f64 phi1) (cos.f64 phi2))
(cos.f64 phi1)
(cos.f64 phi2)
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
(/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))
(-.f64 lambda1 lambda2)
lambda1
lambda2
(sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))))
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))
#s(literal 1 binary64)
(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))
(*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))
#s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
R
(*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
#s(literal 2 binary64)
(atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
(/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))
(-.f64 lambda1 lambda2)
lambda1
lambda2
(sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
#s(literal 1 binary64)
(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))
(pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
(/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))
(-.f64 phi1 phi2)
phi1
phi2
(*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(*.f64 (cos.f64 phi1) (cos.f64 phi2))
(cos.f64 phi1)
(cos.f64 phi2)
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
R
(*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
#s(literal 2 binary64)
(atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
(/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))
(-.f64 phi1 phi2)
phi1
phi2
(sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
#s(literal 1 binary64)
(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))
(pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))
(*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(*.f64 (cos.f64 phi1) (cos.f64 phi2))
(cos.f64 phi1)
(cos.f64 phi2)
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
(/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))
(-.f64 lambda1 lambda2)
lambda1
lambda2
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
R
(*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
#s(literal 2 binary64)
(atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
#s(literal 1 binary64)
(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))
(pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
(/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))
(-.f64 phi1 phi2)
phi1
phi2
(*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(*.f64 (cos.f64 phi1) (cos.f64 phi2))
(cos.f64 phi1)
(cos.f64 phi2)
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
(/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))
(-.f64 lambda1 lambda2)
lambda1
lambda2
(sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
R
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
#s(literal 2 binary64)
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))
(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))
(pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
(/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))
(-.f64 phi1 phi2)
phi1
phi2
(*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(*.f64 (cos.f64 phi1) (cos.f64 phi2))
(cos.f64 phi1)
(cos.f64 phi2)
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
(/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))
(-.f64 lambda1 lambda2)
lambda1
lambda2
#s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))
(sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
#s(literal 1 binary64)
(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))
(*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
Outputs
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))))
R
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))))))
#s(literal 2 binary64)
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))
(pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
(/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))
(-.f64 phi1 phi2)
phi1
phi2
(*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(*.f64 (cos.f64 phi1) (cos.f64 phi2))
(cos.f64 phi1)
(cos.f64 phi2)
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
(/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))
(-.f64 lambda1 lambda2)
lambda1
lambda2
(sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))))
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))
#s(literal 1 binary64)
(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))
(*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))
#s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
R
(*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
#s(literal 2 binary64)
(atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
(/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))
(-.f64 lambda1 lambda2)
lambda1
lambda2
(sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
#s(literal 1 binary64)
(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))
(pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
(/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))
(-.f64 phi1 phi2)
phi1
phi2
(*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(*.f64 (cos.f64 phi1) (cos.f64 phi2))
(cos.f64 phi1)
(cos.f64 phi2)
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
R
(*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
#s(literal 2 binary64)
(atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
(/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))
(-.f64 phi1 phi2)
phi1
phi2
(sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
#s(literal 1 binary64)
(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))
(pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))
(*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(*.f64 (cos.f64 phi1) (cos.f64 phi2))
(cos.f64 phi1)
(cos.f64 phi2)
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
(/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))
(-.f64 lambda1 lambda2)
lambda1
lambda2
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
R
(*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
#s(literal 2 binary64)
(atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
#s(literal 1 binary64)
(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))
(pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
(/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))
(-.f64 phi1 phi2)
phi1
phi2
(*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(*.f64 (cos.f64 phi1) (cos.f64 phi2))
(cos.f64 phi1)
(cos.f64 phi2)
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
(/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))
(-.f64 lambda1 lambda2)
lambda1
lambda2
(sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
R
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
#s(literal 2 binary64)
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))
(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))
(pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
(/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))
(-.f64 phi1 phi2)
phi1
phi2
(*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(*.f64 (cos.f64 phi1) (cos.f64 phi2))
(cos.f64 phi1)
(cos.f64 phi2)
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
(/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))
(-.f64 lambda1 lambda2)
lambda1
lambda2
#s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))
(sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
#s(literal 1 binary64)
(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))
(*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))

localize456.0ms (3.2%)

Memory
21.4MiB live, 532.8MiB allocated
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy0.6223222669152428
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
accuracy13.633900129161674
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
accuracy16.484487849653146
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
accuracy59.05567390849865
#s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))
accuracy0.6223222669152428
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
accuracy13.633900129161674
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
accuracy16.484487849653146
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
accuracy52.41787590203112
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))
accuracy0.6223222669152428
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
accuracy13.633900129161674
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
accuracy16.484487849653146
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
accuracy52.14030744920643
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))
accuracy0.6223222669152428
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
accuracy13.633900129161674
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
accuracy16.484487849653146
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
accuracy53.57314282335508
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
accuracy0.6223222669152428
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))
accuracy13.633900129161674
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
accuracy16.484487849653146
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
accuracy59.05567390849865
#s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))
Samples
356.0ms232×1valid
7.0ms24×0valid
Compiler

Compiled 4 429 to 90 computations (98% saved)

Precisions
Click to see histograms. Total time spent on operations: 242.0ms
ival-cos: 118.0ms (48.7% of total)
ival-sin: 55.0ms (22.7% of total)
ival-mult: 18.0ms (7.4% of total)
adjust: 15.0ms (6.2% of total)
ival-sub: 8.0ms (3.3% of total)
ival-sqrt: 7.0ms (2.9% of total)
ival-div: 7.0ms (2.9% of total)
ival-pow2: 6.0ms (2.5% of total)
ival-atan2: 6.0ms (2.5% of total)
ival-add: 2.0ms (0.8% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series84.0ms (0.6%)

Memory
-21.3MiB live, 102.5MiB allocated
Counts
25 → 79
Calls
Call 1
Inputs
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))))))
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
(atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
(atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
(atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))
#s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
Outputs
(* 2 (* R (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))
(* 2 (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))
(atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* 1/2 (* (* lambda1 (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* lambda1 (+ (* 1/2 (* (* lambda1 (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* -1/2 lambda2)) 2) (pow (sin (* -1/2 lambda2)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (* 1/2 (* (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* lambda1 (+ (* 1/2 (* (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (* lambda1 (+ (* 1/2 (* (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))) (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* -1/2 lambda2)) 2) (pow (sin (* -1/2 lambda2)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))) (* 1/2 (* (* lambda1 (- (* (cos phi1) (* (cos phi2) (+ (* -1/8 (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))) (* -1/24 (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2))))))) (* 1/2 (/ (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (* (sin (* -1/2 lambda2)) (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* -1/2 lambda2)) 2) (pow (sin (* -1/2 lambda2)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))))))
(sin (* -1/2 lambda2))
(+ (sin (* -1/2 lambda2)) (* 1/2 (* lambda1 (cos (* -1/2 lambda2)))))
(+ (sin (* -1/2 lambda2)) (* lambda1 (+ (* -1/8 (* lambda1 (sin (* -1/2 lambda2)))) (* 1/2 (cos (* -1/2 lambda2))))))
(+ (sin (* -1/2 lambda2)) (* lambda1 (+ (* 1/2 (cos (* -1/2 lambda2))) (* lambda1 (+ (* -1/8 (sin (* -1/2 lambda2))) (* -1/48 (* lambda1 (cos (* -1/2 lambda2)))))))))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(- (+ 1 (* -1 (* lambda1 (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(- (+ 1 (* lambda1 (- (* -1 (* lambda1 (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))))) (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(- (+ 1 (* lambda1 (- (* lambda1 (- (* -1 (* lambda1 (* (cos phi1) (* (cos phi2) (+ (* -1/8 (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))) (* -1/24 (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2))))))))) (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))))) (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(sin (* 1/2 (- lambda1 lambda2)))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(* 2 (* R (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))
(* 2 (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))
(atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(sin (* -1/2 (+ lambda2 (* -1 lambda1))))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* -1/2 (* (* lambda2 (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* lambda2 (+ (* -1/2 (* (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (* 1/2 (* (* lambda2 (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* 1/2 lambda1)) 2)) (* 1/4 (pow (cos (* 1/2 lambda1)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* 1/2 lambda1)) 2) (pow (sin (* 1/2 lambda1)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* lambda2 (+ (* -1/2 (* (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (* lambda2 (+ (* 1/2 (* (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))) (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* 1/2 lambda1)) 2)) (* 1/4 (pow (cos (* 1/2 lambda1)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* 1/2 lambda1)) 2) (pow (sin (* 1/2 lambda1)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))) (* 1/2 (* (* lambda2 (- (* (cos phi1) (* (cos phi2) (+ (* 1/24 (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1)))) (* 1/8 (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))))) (* -1/2 (/ (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (* (sin (* 1/2 lambda1)) (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* 1/2 lambda1)) 2)) (* 1/4 (pow (cos (* 1/2 lambda1)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* 1/2 lambda1)) 2) (pow (sin (* 1/2 lambda1)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))))))
(sin (* 1/2 lambda1))
(+ (sin (* 1/2 lambda1)) (* -1/2 (* lambda2 (cos (* 1/2 lambda1)))))
(+ (sin (* 1/2 lambda1)) (* lambda2 (+ (* -1/2 (cos (* 1/2 lambda1))) (* -1/8 (* lambda2 (sin (* 1/2 lambda1)))))))
(+ (sin (* 1/2 lambda1)) (* lambda2 (+ (* -1/2 (cos (* 1/2 lambda1))) (* lambda2 (+ (* -1/8 (sin (* 1/2 lambda1))) (* 1/48 (* lambda2 (cos (* 1/2 lambda1)))))))))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(- (+ 1 (* lambda2 (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(- (+ 1 (* lambda2 (- (* -1 (* lambda2 (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* 1/2 lambda1)) 2)) (* 1/4 (pow (cos (* 1/2 lambda1)) 2))))))) (* -1 (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(- (+ 1 (* lambda2 (- (* lambda2 (- (* -1 (* lambda2 (* (cos phi1) (* (cos phi2) (+ (* 1/24 (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1)))) (* 1/8 (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))))))) (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* 1/2 lambda1)) 2)) (* 1/4 (pow (cos (* 1/2 lambda1)) 2))))))) (* -1 (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(* 2 (* R (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))
(* 2 (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))
(atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(sin (* 1/2 (+ lambda1 (* -1 lambda2))))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(sqrt (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))
(+ (sqrt (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2))) (* 1/2 (* (* phi1 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2)))) (sqrt (/ 1 (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))))))
(+ (sqrt (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2))) (* phi1 (+ (* 1/2 (* (* phi1 (- (+ (* -1/2 (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* -1/2 phi2)) 2)) (* 1/4 (pow (cos (* -1/2 phi2)) 2)))) (* 1/4 (/ (* (pow (cos (* -1/2 phi2)) 2) (pow (sin (* -1/2 phi2)) 2)) (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))))) (sqrt (/ 1 (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))))) (* 1/2 (* (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2))) (sqrt (/ 1 (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))))))))
(+ (sqrt (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2))) (* phi1 (+ (* 1/2 (* (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2))) (sqrt (/ 1 (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))))) (* phi1 (+ (* 1/2 (* (sqrt (/ 1 (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))) (- (+ (* -1/2 (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* -1/2 phi2)) 2)) (* 1/4 (pow (cos (* -1/2 phi2)) 2)))) (* 1/4 (/ (* (pow (cos (* -1/2 phi2)) 2) (pow (sin (* -1/2 phi2)) 2)) (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2))))))) (* 1/2 (* (* phi1 (- (+ (* -1/8 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2)))) (* -1/24 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2))))) (* 1/2 (/ (* (cos (* -1/2 phi2)) (* (sin (* -1/2 phi2)) (- (+ (* -1/2 (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* -1/2 phi2)) 2)) (* 1/4 (pow (cos (* -1/2 phi2)) 2)))) (* 1/4 (/ (* (pow (cos (* -1/2 phi2)) 2) (pow (sin (* -1/2 phi2)) 2)) (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2))))))) (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))))) (sqrt (/ 1 (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))))))))))
(sin (* -1/2 phi2))
(+ (sin (* -1/2 phi2)) (* 1/2 (* phi1 (cos (* -1/2 phi2)))))
(+ (sin (* -1/2 phi2)) (* phi1 (+ (* -1/8 (* phi1 (sin (* -1/2 phi2)))) (* 1/2 (cos (* -1/2 phi2))))))
(+ (sin (* -1/2 phi2)) (* phi1 (+ (* 1/2 (cos (* -1/2 phi2))) (* phi1 (+ (* -1/8 (sin (* -1/2 phi2))) (* -1/48 (* phi1 (cos (* -1/2 phi2)))))))))
(- 1 (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))
(- (+ 1 (* -1 (* phi1 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2)))))) (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))
(- (+ 1 (* phi1 (- (* -1 (* phi1 (+ (* -1/2 (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* -1/2 phi2)) 2)) (* 1/4 (pow (cos (* -1/2 phi2)) 2)))))) (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2)))))) (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))
(- (+ 1 (* phi1 (- (* phi1 (- (* -1 (* phi1 (+ (* -1/8 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2)))) (* -1/24 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2))))))) (+ (* -1/2 (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* -1/2 phi2)) 2)) (* 1/4 (pow (cos (* -1/2 phi2)) 2)))))) (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2)))))) (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))
(sin (* 1/2 (- phi1 phi2)))
(* 2 (* R (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2)))))))
(* 2 (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2))))))
(atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2)))))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2)))
(sin (* -1/2 (+ phi2 (* -1 phi1))))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2)))
(sqrt (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))
(+ (sqrt (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2))) (* -1/2 (* (* phi2 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1)))) (sqrt (/ 1 (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))))))
(+ (sqrt (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2))) (* phi2 (+ (* -1/2 (* (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))) (sqrt (/ 1 (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))))) (* 1/2 (* (* phi2 (- (+ (* -1/2 (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* 1/2 phi1)) 2)) (* 1/4 (pow (cos (* 1/2 phi1)) 2)))) (* 1/4 (/ (* (pow (cos (* 1/2 phi1)) 2) (pow (sin (* 1/2 phi1)) 2)) (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))))))))
(+ (sqrt (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2))) (* phi2 (+ (* -1/2 (* (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))) (sqrt (/ 1 (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))))) (* phi2 (+ (* 1/2 (* (sqrt (/ 1 (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))) (- (+ (* -1/2 (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* 1/2 phi1)) 2)) (* 1/4 (pow (cos (* 1/2 phi1)) 2)))) (* 1/4 (/ (* (pow (cos (* 1/2 phi1)) 2) (pow (sin (* 1/2 phi1)) 2)) (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2))))))) (* 1/2 (* (* phi2 (- (+ (* 1/24 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1)))) (* 1/8 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))))) (* -1/2 (/ (* (cos (* 1/2 phi1)) (* (sin (* 1/2 phi1)) (- (+ (* -1/2 (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* 1/2 phi1)) 2)) (* 1/4 (pow (cos (* 1/2 phi1)) 2)))) (* 1/4 (/ (* (pow (cos (* 1/2 phi1)) 2) (pow (sin (* 1/2 phi1)) 2)) (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2))))))) (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))))))))))
(sin (* 1/2 phi1))
(+ (sin (* 1/2 phi1)) (* -1/2 (* phi2 (cos (* 1/2 phi1)))))
(+ (sin (* 1/2 phi1)) (* phi2 (+ (* -1/2 (cos (* 1/2 phi1))) (* -1/8 (* phi2 (sin (* 1/2 phi1)))))))
(+ (sin (* 1/2 phi1)) (* phi2 (+ (* -1/2 (cos (* 1/2 phi1))) (* phi2 (+ (* -1/8 (sin (* 1/2 phi1))) (* 1/48 (* phi2 (cos (* 1/2 phi1)))))))))
(- 1 (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))
(- (+ 1 (* phi2 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))))) (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))
(- (+ 1 (* phi2 (- (* -1 (* phi2 (+ (* -1/2 (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* 1/2 phi1)) 2)) (* 1/4 (pow (cos (* 1/2 phi1)) 2)))))) (* -1 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))))))) (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))
(- (+ 1 (* phi2 (- (* phi2 (- (* -1 (* phi2 (+ (* 1/24 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1)))) (* 1/8 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))))))) (+ (* -1/2 (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* 1/2 phi1)) 2)) (* 1/4 (pow (cos (* 1/2 phi1)) 2)))))) (* -1 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))))))) (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))
(* 2 (* R (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2)))))))
(* 2 (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2))))))
(atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2)))))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2)))
(sin (* 1/2 (+ phi1 (* -1 phi2))))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2)))
Calls

15 calls:

TimeVariablePointExpression
25.0ms
lambda1
@inf
((* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin (/ (- lambda1 lambda2) 2)) (sin (/ (- lambda1 lambda2) 2)) (sin (/ (- phi1 phi2) 2)) (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))
10.0ms
phi1
@inf
((* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin (/ (- lambda1 lambda2) 2)) (sin (/ (- lambda1 lambda2) 2)) (sin (/ (- phi1 phi2) 2)) (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))
4.0ms
lambda1
@-inf
((* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin (/ (- lambda1 lambda2) 2)) (sin (/ (- lambda1 lambda2) 2)) (sin (/ (- phi1 phi2) 2)) (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))
4.0ms
lambda2
@inf
((* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin (/ (- lambda1 lambda2) 2)) (sin (/ (- lambda1 lambda2) 2)) (sin (/ (- phi1 phi2) 2)) (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))
4.0ms
lambda2
@-inf
((* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin (/ (- lambda1 lambda2) 2)) (sin (/ (- lambda1 lambda2) 2)) (sin (/ (- phi1 phi2) 2)) (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))

simplify5.0ms (0%)

Memory
10.2MiB live, 10.2MiB allocated
Algorithm
egg-herbie
Counts
79 → 25
Calls
Call 1
Inputs
(* 2 (* R (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))
(* 2 (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))
(atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* 1/2 (* (* lambda1 (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* lambda1 (+ (* 1/2 (* (* lambda1 (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* -1/2 lambda2)) 2) (pow (sin (* -1/2 lambda2)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (* 1/2 (* (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* lambda1 (+ (* 1/2 (* (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (* lambda1 (+ (* 1/2 (* (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))) (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* -1/2 lambda2)) 2) (pow (sin (* -1/2 lambda2)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))) (* 1/2 (* (* lambda1 (- (* (cos phi1) (* (cos phi2) (+ (* -1/8 (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))) (* -1/24 (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2))))))) (* 1/2 (/ (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (* (sin (* -1/2 lambda2)) (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* -1/2 lambda2)) 2) (pow (sin (* -1/2 lambda2)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))))))
(sin (* -1/2 lambda2))
(+ (sin (* -1/2 lambda2)) (* 1/2 (* lambda1 (cos (* -1/2 lambda2)))))
(+ (sin (* -1/2 lambda2)) (* lambda1 (+ (* -1/8 (* lambda1 (sin (* -1/2 lambda2)))) (* 1/2 (cos (* -1/2 lambda2))))))
(+ (sin (* -1/2 lambda2)) (* lambda1 (+ (* 1/2 (cos (* -1/2 lambda2))) (* lambda1 (+ (* -1/8 (sin (* -1/2 lambda2))) (* -1/48 (* lambda1 (cos (* -1/2 lambda2)))))))))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(- (+ 1 (* -1 (* lambda1 (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(- (+ 1 (* lambda1 (- (* -1 (* lambda1 (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))))) (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(- (+ 1 (* lambda1 (- (* lambda1 (- (* -1 (* lambda1 (* (cos phi1) (* (cos phi2) (+ (* -1/8 (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))) (* -1/24 (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2))))))))) (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))))) (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(sin (* 1/2 (- lambda1 lambda2)))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(* 2 (* R (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))
(* 2 (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))
(atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(sin (* -1/2 (+ lambda2 (* -1 lambda1))))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* -1/2 (* (* lambda2 (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* lambda2 (+ (* -1/2 (* (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (* 1/2 (* (* lambda2 (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* 1/2 lambda1)) 2)) (* 1/4 (pow (cos (* 1/2 lambda1)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* 1/2 lambda1)) 2) (pow (sin (* 1/2 lambda1)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* lambda2 (+ (* -1/2 (* (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (* lambda2 (+ (* 1/2 (* (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))) (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* 1/2 lambda1)) 2)) (* 1/4 (pow (cos (* 1/2 lambda1)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* 1/2 lambda1)) 2) (pow (sin (* 1/2 lambda1)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))) (* 1/2 (* (* lambda2 (- (* (cos phi1) (* (cos phi2) (+ (* 1/24 (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1)))) (* 1/8 (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))))) (* -1/2 (/ (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (* (sin (* 1/2 lambda1)) (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* 1/2 lambda1)) 2)) (* 1/4 (pow (cos (* 1/2 lambda1)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* 1/2 lambda1)) 2) (pow (sin (* 1/2 lambda1)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))))))
(sin (* 1/2 lambda1))
(+ (sin (* 1/2 lambda1)) (* -1/2 (* lambda2 (cos (* 1/2 lambda1)))))
(+ (sin (* 1/2 lambda1)) (* lambda2 (+ (* -1/2 (cos (* 1/2 lambda1))) (* -1/8 (* lambda2 (sin (* 1/2 lambda1)))))))
(+ (sin (* 1/2 lambda1)) (* lambda2 (+ (* -1/2 (cos (* 1/2 lambda1))) (* lambda2 (+ (* -1/8 (sin (* 1/2 lambda1))) (* 1/48 (* lambda2 (cos (* 1/2 lambda1)))))))))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(- (+ 1 (* lambda2 (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(- (+ 1 (* lambda2 (- (* -1 (* lambda2 (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* 1/2 lambda1)) 2)) (* 1/4 (pow (cos (* 1/2 lambda1)) 2))))))) (* -1 (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(- (+ 1 (* lambda2 (- (* lambda2 (- (* -1 (* lambda2 (* (cos phi1) (* (cos phi2) (+ (* 1/24 (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1)))) (* 1/8 (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))))))) (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* 1/2 lambda1)) 2)) (* 1/4 (pow (cos (* 1/2 lambda1)) 2))))))) (* -1 (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(* 2 (* R (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))
(* 2 (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))
(atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(sin (* 1/2 (+ lambda1 (* -1 lambda2))))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(sqrt (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))
(+ (sqrt (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2))) (* 1/2 (* (* phi1 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2)))) (sqrt (/ 1 (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))))))
(+ (sqrt (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2))) (* phi1 (+ (* 1/2 (* (* phi1 (- (+ (* -1/2 (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* -1/2 phi2)) 2)) (* 1/4 (pow (cos (* -1/2 phi2)) 2)))) (* 1/4 (/ (* (pow (cos (* -1/2 phi2)) 2) (pow (sin (* -1/2 phi2)) 2)) (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))))) (sqrt (/ 1 (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))))) (* 1/2 (* (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2))) (sqrt (/ 1 (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))))))))
(+ (sqrt (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2))) (* phi1 (+ (* 1/2 (* (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2))) (sqrt (/ 1 (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))))) (* phi1 (+ (* 1/2 (* (sqrt (/ 1 (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))) (- (+ (* -1/2 (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* -1/2 phi2)) 2)) (* 1/4 (pow (cos (* -1/2 phi2)) 2)))) (* 1/4 (/ (* (pow (cos (* -1/2 phi2)) 2) (pow (sin (* -1/2 phi2)) 2)) (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2))))))) (* 1/2 (* (* phi1 (- (+ (* -1/8 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2)))) (* -1/24 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2))))) (* 1/2 (/ (* (cos (* -1/2 phi2)) (* (sin (* -1/2 phi2)) (- (+ (* -1/2 (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* -1/2 phi2)) 2)) (* 1/4 (pow (cos (* -1/2 phi2)) 2)))) (* 1/4 (/ (* (pow (cos (* -1/2 phi2)) 2) (pow (sin (* -1/2 phi2)) 2)) (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2))))))) (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))))) (sqrt (/ 1 (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))))))))))
(sin (* -1/2 phi2))
(+ (sin (* -1/2 phi2)) (* 1/2 (* phi1 (cos (* -1/2 phi2)))))
(+ (sin (* -1/2 phi2)) (* phi1 (+ (* -1/8 (* phi1 (sin (* -1/2 phi2)))) (* 1/2 (cos (* -1/2 phi2))))))
(+ (sin (* -1/2 phi2)) (* phi1 (+ (* 1/2 (cos (* -1/2 phi2))) (* phi1 (+ (* -1/8 (sin (* -1/2 phi2))) (* -1/48 (* phi1 (cos (* -1/2 phi2)))))))))
(- 1 (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))
(- (+ 1 (* -1 (* phi1 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2)))))) (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))
(- (+ 1 (* phi1 (- (* -1 (* phi1 (+ (* -1/2 (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* -1/2 phi2)) 2)) (* 1/4 (pow (cos (* -1/2 phi2)) 2)))))) (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2)))))) (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))
(- (+ 1 (* phi1 (- (* phi1 (- (* -1 (* phi1 (+ (* -1/8 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2)))) (* -1/24 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2))))))) (+ (* -1/2 (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* -1/2 phi2)) 2)) (* 1/4 (pow (cos (* -1/2 phi2)) 2)))))) (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2)))))) (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))
(sin (* 1/2 (- phi1 phi2)))
(* 2 (* R (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2)))))))
(* 2 (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2))))))
(atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2)))))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2)))
(sin (* -1/2 (+ phi2 (* -1 phi1))))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2)))
(sqrt (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))
(+ (sqrt (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2))) (* -1/2 (* (* phi2 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1)))) (sqrt (/ 1 (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))))))
(+ (sqrt (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2))) (* phi2 (+ (* -1/2 (* (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))) (sqrt (/ 1 (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))))) (* 1/2 (* (* phi2 (- (+ (* -1/2 (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* 1/2 phi1)) 2)) (* 1/4 (pow (cos (* 1/2 phi1)) 2)))) (* 1/4 (/ (* (pow (cos (* 1/2 phi1)) 2) (pow (sin (* 1/2 phi1)) 2)) (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))))))))
(+ (sqrt (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2))) (* phi2 (+ (* -1/2 (* (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))) (sqrt (/ 1 (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))))) (* phi2 (+ (* 1/2 (* (sqrt (/ 1 (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))) (- (+ (* -1/2 (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* 1/2 phi1)) 2)) (* 1/4 (pow (cos (* 1/2 phi1)) 2)))) (* 1/4 (/ (* (pow (cos (* 1/2 phi1)) 2) (pow (sin (* 1/2 phi1)) 2)) (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2))))))) (* 1/2 (* (* phi2 (- (+ (* 1/24 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1)))) (* 1/8 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))))) (* -1/2 (/ (* (cos (* 1/2 phi1)) (* (sin (* 1/2 phi1)) (- (+ (* -1/2 (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* 1/2 phi1)) 2)) (* 1/4 (pow (cos (* 1/2 phi1)) 2)))) (* 1/4 (/ (* (pow (cos (* 1/2 phi1)) 2) (pow (sin (* 1/2 phi1)) 2)) (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2))))))) (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))))))))))
(sin (* 1/2 phi1))
(+ (sin (* 1/2 phi1)) (* -1/2 (* phi2 (cos (* 1/2 phi1)))))
(+ (sin (* 1/2 phi1)) (* phi2 (+ (* -1/2 (cos (* 1/2 phi1))) (* -1/8 (* phi2 (sin (* 1/2 phi1)))))))
(+ (sin (* 1/2 phi1)) (* phi2 (+ (* -1/2 (cos (* 1/2 phi1))) (* phi2 (+ (* -1/8 (sin (* 1/2 phi1))) (* 1/48 (* phi2 (cos (* 1/2 phi1)))))))))
(- 1 (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))
(- (+ 1 (* phi2 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))))) (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))
(- (+ 1 (* phi2 (- (* -1 (* phi2 (+ (* -1/2 (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* 1/2 phi1)) 2)) (* 1/4 (pow (cos (* 1/2 phi1)) 2)))))) (* -1 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))))))) (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))
(- (+ 1 (* phi2 (- (* phi2 (- (* -1 (* phi2 (+ (* 1/24 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1)))) (* 1/8 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))))))) (+ (* -1/2 (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* 1/2 phi1)) 2)) (* 1/4 (pow (cos (* 1/2 phi1)) 2)))))) (* -1 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))))))) (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))
(* 2 (* R (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2)))))))
(* 2 (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2))))))
(atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2)))))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2)))
(sin (* 1/2 (+ phi1 (* -1 phi2))))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2)))
Outputs
(* 2 (* R (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))))
(* 2 (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))))))
(atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* 1/2 (* (* lambda1 (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* lambda1 (+ (* 1/2 (* (* lambda1 (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* -1/2 lambda2)) 2) (pow (sin (* -1/2 lambda2)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (* 1/2 (* (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* lambda1 (+ (* 1/2 (* (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (* lambda1 (+ (* 1/2 (* (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))) (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* -1/2 lambda2)) 2) (pow (sin (* -1/2 lambda2)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))) (* 1/2 (* (* lambda1 (- (* (cos phi1) (* (cos phi2) (+ (* -1/8 (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))) (* -1/24 (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2))))))) (* 1/2 (/ (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (* (sin (* -1/2 lambda2)) (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* -1/2 lambda2)) 2) (pow (sin (* -1/2 lambda2)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))))))
(atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
(sin (* -1/2 lambda2))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(+ (sin (* -1/2 lambda2)) (* 1/2 (* lambda1 (cos (* -1/2 lambda2)))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(+ (sin (* -1/2 lambda2)) (* lambda1 (+ (* -1/8 (* lambda1 (sin (* -1/2 lambda2)))) (* 1/2 (cos (* -1/2 lambda2))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
(+ (sin (* -1/2 lambda2)) (* lambda1 (+ (* 1/2 (cos (* -1/2 lambda2))) (* lambda1 (+ (* -1/8 (sin (* -1/2 lambda2))) (* -1/48 (* lambda1 (cos (* -1/2 lambda2)))))))))
(atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))
(- (+ 1 (* -1 (* lambda1 (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(- (+ 1 (* lambda1 (- (* -1 (* lambda1 (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))))) (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
(- (+ 1 (* lambda1 (- (* lambda1 (- (* -1 (* lambda1 (* (cos phi1) (* (cos phi2) (+ (* -1/8 (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))) (* -1/24 (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2))))))))) (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))))) (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))
(sin (* 1/2 (- lambda1 lambda2)))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
(* 2 (* R (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
(* 2 (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))
(atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))
#s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
(sin (* -1/2 (+ lambda2 (* -1 lambda1))))
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))

rewrite3.0ms (0%)

Memory
7.6MiB live, 7.6MiB allocated
Counts
25 → 25
Calls
Call 1
Inputs
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))))))
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
(atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
(atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
(atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))
#s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
Outputs
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))))))
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
(atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
(atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
(atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))
#s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))

eval32.0ms (0.2%)

Memory
-15.1MiB live, 23.5MiB allocated
Compiler

Compiled 7 920 to 208 computations (97.4% saved)

prune39.0ms (0.3%)

Memory
14.8MiB live, 97.0MiB allocated
Pruning

25 alts after pruning (19 fresh and 6 done)

PrunedKeptTotal
New641983
Fresh000
Picked055
Done011
Total642589
Accuracy
63.3%
Counts
89 → 25
Alt Table
Click to see full alt table
StatusAccuracyProgram
60.3%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
32.1%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))))
23.6%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))))))))
32.0%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
21.2%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))))
5.9%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))))))
18.1%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))))
19.3%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))))
9.6%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))
26.3%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
24.8%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
19.4%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
20.3%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
22.8%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
25.1%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
10.8%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))))
18.7%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
17.0%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))))
7.2%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))))
9.4%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))))
15.1%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
14.2%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
10.6%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))))
15.3%
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))
15.1%
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))
Compiler

Compiled 5 165 to 1 903 computations (63.2% saved)

simplify11.0ms (0.1%)

Memory
20.0MiB live, 20.0MiB allocated
Algorithm
egg-herbie
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
cost-diff0
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
cost-diff0
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))
cost-diff0
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))))
cost-diff0
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))))
cost-diff0
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))
cost-diff0
(atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))
cost-diff0
(*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))))))
cost-diff0
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))))
cost-diff0
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))
cost-diff0
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
cost-diff0
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
cost-diff0
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
cost-diff0
#s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))
cost-diff0
#s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))
cost-diff0
(*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))
cost-diff0
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))
cost-diff0
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
cost-diff0
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))
cost-diff0
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))
cost-diff0
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
Calls
Call 1
Inputs
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
R
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))
#s(literal 2 binary64)
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))
(pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
(/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))
(-.f64 phi1 phi2)
phi1
phi2
(*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(*.f64 (cos.f64 phi1) (cos.f64 phi2))
(cos.f64 phi1)
(cos.f64 phi2)
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
(/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))
(-.f64 lambda1 lambda2)
lambda1
lambda2
(sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))
#s(literal 1 binary64)
(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))
(*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))
#s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))
R
(*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))
#s(literal 2 binary64)
#s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))
#s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))
(pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
(/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))
(-.f64 phi1 phi2)
phi1
phi2
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
R
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
#s(literal 2 binary64)
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))
(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))
(pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
(/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))
(-.f64 phi1 phi2)
phi1
phi2
(*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(*.f64 (cos.f64 phi1) (cos.f64 phi2))
(cos.f64 phi1)
(cos.f64 phi2)
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
(/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))
(-.f64 lambda1 lambda2)
lambda1
lambda2
#s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))
(sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
#s(literal 1 binary64)
(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))
(*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))))
R
(*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))))))
#s(literal 2 binary64)
(atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
(atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
(/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))
(-.f64 lambda1 lambda2)
lambda1
lambda2
(sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
#s(literal 1 binary64)
(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))
(pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
(/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))
(-.f64 phi1 phi2)
phi1
phi2
(*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(*.f64 (cos.f64 phi1) (cos.f64 phi2))
(cos.f64 phi1)
(cos.f64 phi2)
(sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))))
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))
(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))
(*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))
#s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))))
R
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))))
#s(literal 2 binary64)
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))
(pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
(/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))
(-.f64 phi1 phi2)
phi1
phi2
(*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(*.f64 (cos.f64 phi1) (cos.f64 phi2))
(cos.f64 phi1)
(cos.f64 phi2)
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
(/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))
(-.f64 lambda1 lambda2)
lambda1
lambda2
(sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))
#s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
(atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
#s(literal 1 binary64)
(sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))
Outputs
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
R
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))
#s(literal 2 binary64)
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))
(pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
(/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))
(-.f64 phi1 phi2)
phi1
phi2
(*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(*.f64 (cos.f64 phi1) (cos.f64 phi2))
(cos.f64 phi1)
(cos.f64 phi2)
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
(/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))
(-.f64 lambda1 lambda2)
lambda1
lambda2
(sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))
#s(literal 1 binary64)
(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))
(*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))
#s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))
R
(*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))
#s(literal 2 binary64)
#s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))
#s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))
(pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
(/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))
(-.f64 phi1 phi2)
phi1
phi2
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
R
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
#s(literal 2 binary64)
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))
(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))
(pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
(/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))
(-.f64 phi1 phi2)
phi1
phi2
(*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(*.f64 (cos.f64 phi1) (cos.f64 phi2))
(cos.f64 phi1)
(cos.f64 phi2)
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
(/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))
(-.f64 lambda1 lambda2)
lambda1
lambda2
#s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))
(sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
#s(literal 1 binary64)
(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))
(*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))))
R
(*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))))))
#s(literal 2 binary64)
(atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
(atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
(/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))
(-.f64 lambda1 lambda2)
lambda1
lambda2
(sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
#s(literal 1 binary64)
(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))
(pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
(/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))
(-.f64 phi1 phi2)
phi1
phi2
(*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(*.f64 (cos.f64 phi1) (cos.f64 phi2))
(cos.f64 phi1)
(cos.f64 phi2)
(sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))))
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))
(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))
(*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))
#s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))))
R
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))))
#s(literal 2 binary64)
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))
(pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
(/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))
(-.f64 phi1 phi2)
phi1
phi2
(*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(*.f64 (cos.f64 phi1) (cos.f64 phi2))
(cos.f64 phi1)
(cos.f64 phi2)
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
(/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))
(-.f64 lambda1 lambda2)
lambda1
lambda2
(sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))
#s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
(atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
#s(literal 1 binary64)
(sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))

localize394.0ms (2.8%)

Memory
-19.2MiB live, 408.4MiB allocated
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy13.633900129161674
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
accuracy16.484487849653146
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
accuracy52.41787590203112
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))
accuracy53.09077891342563
#s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
accuracy16.484487849653146
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
accuracy53.57314282335508
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
accuracy59.05567390849865
#s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))
accuracy61.84370291111036
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))
accuracy0.6223222669152428
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
accuracy13.633900129161674
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
accuracy16.484487849653146
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
accuracy58.81913808932668
#s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))
accuracy0.35060502930532605
(pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))
accuracy13.633900129161674
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
accuracy57.04861466750087
#s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))
accuracy59.05567390849865
#s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))
accuracy0.6223222669152428
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))
accuracy13.633900129161674
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
accuracy16.484487849653146
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
accuracy58.81913808932668
#s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))
Samples
258.0ms232×1valid
7.0ms24×0valid
Compiler

Compiled 5 990 to 106 computations (98.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 194.0ms
ival-cos: 65.0ms (33.5% of total)
ival-sin: 61.0ms (31.4% of total)
ival-mult: 18.0ms (9.3% of total)
adjust: 12.0ms (6.2% of total)
ival-sub: 8.0ms (4.1% of total)
ival-pow2: 8.0ms (4.1% of total)
ival-sqrt: 7.0ms (3.6% of total)
ival-div: 7.0ms (3.6% of total)
ival-atan2: 6.0ms (3.1% of total)
ival-add: 2.0ms (1% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series71.0ms (0.5%)

Memory
22.6MiB live, 71.0MiB allocated
Counts
28 → 90
Calls
Call 1
Inputs
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))
(*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))
#s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))
#s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))))))
(atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))))
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))
#s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))
(pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
#s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))
Outputs
(* 2 (* R (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))
(* 2 (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))
(atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* 1/2 (* (* lambda1 (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* lambda1 (+ (* 1/2 (* (* lambda1 (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* -1/2 lambda2)) 2) (pow (sin (* -1/2 lambda2)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (* 1/2 (* (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* lambda1 (+ (* 1/2 (* (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (* lambda1 (+ (* 1/2 (* (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))) (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* -1/2 lambda2)) 2) (pow (sin (* -1/2 lambda2)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))) (* 1/2 (* (* lambda1 (- (* (cos phi1) (* (cos phi2) (+ (* -1/8 (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))) (* -1/24 (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2))))))) (* 1/2 (/ (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (* (sin (* -1/2 lambda2)) (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* -1/2 lambda2)) 2) (pow (sin (* -1/2 lambda2)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))))))
(sin (* -1/2 lambda2))
(+ (sin (* -1/2 lambda2)) (* 1/2 (* lambda1 (cos (* -1/2 lambda2)))))
(+ (sin (* -1/2 lambda2)) (* lambda1 (+ (* -1/8 (* lambda1 (sin (* -1/2 lambda2)))) (* 1/2 (cos (* -1/2 lambda2))))))
(+ (sin (* -1/2 lambda2)) (* lambda1 (+ (* 1/2 (cos (* -1/2 lambda2))) (* lambda1 (+ (* -1/8 (sin (* -1/2 lambda2))) (* -1/48 (* lambda1 (cos (* -1/2 lambda2)))))))))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(- (+ 1 (* -1 (* lambda1 (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(- (+ 1 (* lambda1 (- (* -1 (* lambda1 (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))))) (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(- (+ 1 (* lambda1 (- (* lambda1 (- (* -1 (* lambda1 (* (cos phi1) (* (cos phi2) (+ (* -1/8 (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))) (* -1/24 (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2))))))))) (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))))) (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(sin (* 1/2 (- lambda1 lambda2)))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(* 2 (* R (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))
(* 2 (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))
(atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(sin (* -1/2 (+ lambda2 (* -1 lambda1))))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* -1/2 (* (* lambda2 (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* lambda2 (+ (* -1/2 (* (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (* 1/2 (* (* lambda2 (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* 1/2 lambda1)) 2)) (* 1/4 (pow (cos (* 1/2 lambda1)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* 1/2 lambda1)) 2) (pow (sin (* 1/2 lambda1)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* lambda2 (+ (* -1/2 (* (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (* lambda2 (+ (* 1/2 (* (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))) (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* 1/2 lambda1)) 2)) (* 1/4 (pow (cos (* 1/2 lambda1)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* 1/2 lambda1)) 2) (pow (sin (* 1/2 lambda1)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))) (* 1/2 (* (* lambda2 (- (* (cos phi1) (* (cos phi2) (+ (* 1/24 (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1)))) (* 1/8 (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))))) (* -1/2 (/ (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (* (sin (* 1/2 lambda1)) (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* 1/2 lambda1)) 2)) (* 1/4 (pow (cos (* 1/2 lambda1)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* 1/2 lambda1)) 2) (pow (sin (* 1/2 lambda1)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))))))
(sin (* 1/2 lambda1))
(+ (sin (* 1/2 lambda1)) (* -1/2 (* lambda2 (cos (* 1/2 lambda1)))))
(+ (sin (* 1/2 lambda1)) (* lambda2 (+ (* -1/2 (cos (* 1/2 lambda1))) (* -1/8 (* lambda2 (sin (* 1/2 lambda1)))))))
(+ (sin (* 1/2 lambda1)) (* lambda2 (+ (* -1/2 (cos (* 1/2 lambda1))) (* lambda2 (+ (* -1/8 (sin (* 1/2 lambda1))) (* 1/48 (* lambda2 (cos (* 1/2 lambda1)))))))))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(- (+ 1 (* lambda2 (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(- (+ 1 (* lambda2 (- (* -1 (* lambda2 (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* 1/2 lambda1)) 2)) (* 1/4 (pow (cos (* 1/2 lambda1)) 2))))))) (* -1 (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(- (+ 1 (* lambda2 (- (* lambda2 (- (* -1 (* lambda2 (* (cos phi1) (* (cos phi2) (+ (* 1/24 (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1)))) (* 1/8 (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))))))) (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* 1/2 lambda1)) 2)) (* 1/4 (pow (cos (* 1/2 lambda1)) 2))))))) (* -1 (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(* 2 (* R (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))
(* 2 (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))
(atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(sin (* 1/2 (+ lambda1 (* -1 lambda2))))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(sqrt (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))
(+ (sqrt (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2))) (* 1/2 (* (* phi1 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2)))) (sqrt (/ 1 (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))))))
(+ (sqrt (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2))) (* phi1 (+ (* 1/2 (* (* phi1 (- (+ (* -1/2 (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* -1/2 phi2)) 2)) (* 1/4 (pow (cos (* -1/2 phi2)) 2)))) (* 1/4 (/ (* (pow (cos (* -1/2 phi2)) 2) (pow (sin (* -1/2 phi2)) 2)) (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))))) (sqrt (/ 1 (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))))) (* 1/2 (* (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2))) (sqrt (/ 1 (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))))))))
(+ (sqrt (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2))) (* phi1 (+ (* 1/2 (* (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2))) (sqrt (/ 1 (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))))) (* phi1 (+ (* 1/2 (* (sqrt (/ 1 (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))) (- (+ (* -1/2 (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* -1/2 phi2)) 2)) (* 1/4 (pow (cos (* -1/2 phi2)) 2)))) (* 1/4 (/ (* (pow (cos (* -1/2 phi2)) 2) (pow (sin (* -1/2 phi2)) 2)) (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2))))))) (* 1/2 (* (* phi1 (- (+ (* -1/8 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2)))) (* -1/24 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2))))) (* 1/2 (/ (* (cos (* -1/2 phi2)) (* (sin (* -1/2 phi2)) (- (+ (* -1/2 (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* -1/2 phi2)) 2)) (* 1/4 (pow (cos (* -1/2 phi2)) 2)))) (* 1/4 (/ (* (pow (cos (* -1/2 phi2)) 2) (pow (sin (* -1/2 phi2)) 2)) (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2))))))) (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))))) (sqrt (/ 1 (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))))))))))
(sin (* -1/2 phi2))
(+ (sin (* -1/2 phi2)) (* 1/2 (* phi1 (cos (* -1/2 phi2)))))
(+ (sin (* -1/2 phi2)) (* phi1 (+ (* -1/8 (* phi1 (sin (* -1/2 phi2)))) (* 1/2 (cos (* -1/2 phi2))))))
(+ (sin (* -1/2 phi2)) (* phi1 (+ (* 1/2 (cos (* -1/2 phi2))) (* phi1 (+ (* -1/8 (sin (* -1/2 phi2))) (* -1/48 (* phi1 (cos (* -1/2 phi2)))))))))
(- 1 (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))
(- (+ 1 (* -1 (* phi1 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2)))))) (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))
(- (+ 1 (* phi1 (- (* -1 (* phi1 (+ (* -1/2 (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* -1/2 phi2)) 2)) (* 1/4 (pow (cos (* -1/2 phi2)) 2)))))) (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2)))))) (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))
(- (+ 1 (* phi1 (- (* phi1 (- (* -1 (* phi1 (+ (* -1/8 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2)))) (* -1/24 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2))))))) (+ (* -1/2 (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* -1/2 phi2)) 2)) (* 1/4 (pow (cos (* -1/2 phi2)) 2)))))) (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2)))))) (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))
(pow (sin (* -1/2 phi2)) 2)
(+ (* phi1 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2)))) (pow (sin (* -1/2 phi2)) 2))
(+ (* phi1 (+ (* phi1 (+ (* -1/4 (pow (sin (* -1/2 phi2)) 2)) (* 1/4 (pow (cos (* -1/2 phi2)) 2)))) (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2))))) (pow (sin (* -1/2 phi2)) 2))
(+ (* phi1 (+ (* phi1 (+ (* -1/4 (pow (sin (* -1/2 phi2)) 2)) (+ (* 1/4 (pow (cos (* -1/2 phi2)) 2)) (* phi1 (+ (* -1/8 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2)))) (* -1/24 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2))))))))) (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2))))) (pow (sin (* -1/2 phi2)) 2))
(sin (* 1/2 (- phi1 phi2)))
(pow (sin (* 1/2 (- phi1 phi2))) 2)
(* 2 (* R (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2)))))))
(* 2 (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2))))))
(atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2)))))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2)))
(sin (* -1/2 (+ phi2 (* -1 phi1))))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2)))
(pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2)
(sqrt (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))
(+ (sqrt (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2))) (* -1/2 (* (* phi2 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1)))) (sqrt (/ 1 (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))))))
(+ (sqrt (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2))) (* phi2 (+ (* -1/2 (* (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))) (sqrt (/ 1 (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))))) (* 1/2 (* (* phi2 (- (+ (* -1/2 (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* 1/2 phi1)) 2)) (* 1/4 (pow (cos (* 1/2 phi1)) 2)))) (* 1/4 (/ (* (pow (cos (* 1/2 phi1)) 2) (pow (sin (* 1/2 phi1)) 2)) (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))))))))
(+ (sqrt (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2))) (* phi2 (+ (* -1/2 (* (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))) (sqrt (/ 1 (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))))) (* phi2 (+ (* 1/2 (* (sqrt (/ 1 (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))) (- (+ (* -1/2 (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* 1/2 phi1)) 2)) (* 1/4 (pow (cos (* 1/2 phi1)) 2)))) (* 1/4 (/ (* (pow (cos (* 1/2 phi1)) 2) (pow (sin (* 1/2 phi1)) 2)) (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2))))))) (* 1/2 (* (* phi2 (- (+ (* 1/24 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1)))) (* 1/8 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))))) (* -1/2 (/ (* (cos (* 1/2 phi1)) (* (sin (* 1/2 phi1)) (- (+ (* -1/2 (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* 1/2 phi1)) 2)) (* 1/4 (pow (cos (* 1/2 phi1)) 2)))) (* 1/4 (/ (* (pow (cos (* 1/2 phi1)) 2) (pow (sin (* 1/2 phi1)) 2)) (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2))))))) (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))))))))))
(sin (* 1/2 phi1))
(+ (sin (* 1/2 phi1)) (* -1/2 (* phi2 (cos (* 1/2 phi1)))))
(+ (sin (* 1/2 phi1)) (* phi2 (+ (* -1/2 (cos (* 1/2 phi1))) (* -1/8 (* phi2 (sin (* 1/2 phi1)))))))
(+ (sin (* 1/2 phi1)) (* phi2 (+ (* -1/2 (cos (* 1/2 phi1))) (* phi2 (+ (* -1/8 (sin (* 1/2 phi1))) (* 1/48 (* phi2 (cos (* 1/2 phi1)))))))))
(- 1 (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))
(- (+ 1 (* phi2 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))))) (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))
(- (+ 1 (* phi2 (- (* -1 (* phi2 (+ (* -1/2 (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* 1/2 phi1)) 2)) (* 1/4 (pow (cos (* 1/2 phi1)) 2)))))) (* -1 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))))))) (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))
(- (+ 1 (* phi2 (- (* phi2 (- (* -1 (* phi2 (+ (* 1/24 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1)))) (* 1/8 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))))))) (+ (* -1/2 (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* 1/2 phi1)) 2)) (* 1/4 (pow (cos (* 1/2 phi1)) 2)))))) (* -1 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))))))) (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))
(pow (sin (* 1/2 phi1)) 2)
(+ (* -1 (* phi2 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))))) (pow (sin (* 1/2 phi1)) 2))
(+ (* phi2 (+ (* -1 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1)))) (* phi2 (+ (* -1/4 (pow (sin (* 1/2 phi1)) 2)) (* 1/4 (pow (cos (* 1/2 phi1)) 2)))))) (pow (sin (* 1/2 phi1)) 2))
(+ (* phi2 (+ (* -1 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1)))) (* phi2 (+ (* -1/4 (pow (sin (* 1/2 phi1)) 2)) (+ (* 1/4 (pow (cos (* 1/2 phi1)) 2)) (* phi2 (+ (* 1/24 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1)))) (* 1/8 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))))))))))) (pow (sin (* 1/2 phi1)) 2))
(* 2 (* R (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2)))))))
(* 2 (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2))))))
(atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2)))))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2)))
(sin (* 1/2 (+ phi1 (* -1 phi2))))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2)))
(pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2)
Calls

15 calls:

TimeVariablePointExpression
19.0ms
lambda2
@inf
((* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sin (/ (- lambda1 lambda2) 2)) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sin (/ (- lambda1 lambda2) 2)) (sin (/ (- lambda1 lambda2) 2)) (sin (/ (- phi1 phi2) 2)) (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (pow (sin (/ (- phi1 phi2) 2)) 2) (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))
4.0ms
lambda1
@inf
((* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sin (/ (- lambda1 lambda2) 2)) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sin (/ (- lambda1 lambda2) 2)) (sin (/ (- lambda1 lambda2) 2)) (sin (/ (- phi1 phi2) 2)) (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (pow (sin (/ (- phi1 phi2) 2)) 2) (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))
4.0ms
lambda2
@-inf
((* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sin (/ (- lambda1 lambda2) 2)) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sin (/ (- lambda1 lambda2) 2)) (sin (/ (- lambda1 lambda2) 2)) (sin (/ (- phi1 phi2) 2)) (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (pow (sin (/ (- phi1 phi2) 2)) 2) (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))
4.0ms
lambda1
@-inf
((* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sin (/ (- lambda1 lambda2) 2)) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sin (/ (- lambda1 lambda2) 2)) (sin (/ (- lambda1 lambda2) 2)) (sin (/ (- phi1 phi2) 2)) (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (pow (sin (/ (- phi1 phi2) 2)) 2) (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))
3.0ms
phi1
@inf
((* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sin (/ (- lambda1 lambda2) 2)) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sin (/ (- lambda1 lambda2) 2)) (sin (/ (- lambda1 lambda2) 2)) (sin (/ (- phi1 phi2) 2)) (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (pow (sin (/ (- phi1 phi2) 2)) 2) (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))

simplify12.0ms (0.1%)

Memory
-31.0MiB live, 7.7MiB allocated
Algorithm
egg-herbie
Counts
90 → 28
Calls
Call 1
Inputs
(* 2 (* R (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))
(* 2 (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))
(atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* 1/2 (* (* lambda1 (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* lambda1 (+ (* 1/2 (* (* lambda1 (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* -1/2 lambda2)) 2) (pow (sin (* -1/2 lambda2)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (* 1/2 (* (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* lambda1 (+ (* 1/2 (* (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (* lambda1 (+ (* 1/2 (* (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))) (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* -1/2 lambda2)) 2) (pow (sin (* -1/2 lambda2)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))) (* 1/2 (* (* lambda1 (- (* (cos phi1) (* (cos phi2) (+ (* -1/8 (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))) (* -1/24 (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2))))))) (* 1/2 (/ (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (* (sin (* -1/2 lambda2)) (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* -1/2 lambda2)) 2) (pow (sin (* -1/2 lambda2)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))))))
(sin (* -1/2 lambda2))
(+ (sin (* -1/2 lambda2)) (* 1/2 (* lambda1 (cos (* -1/2 lambda2)))))
(+ (sin (* -1/2 lambda2)) (* lambda1 (+ (* -1/8 (* lambda1 (sin (* -1/2 lambda2)))) (* 1/2 (cos (* -1/2 lambda2))))))
(+ (sin (* -1/2 lambda2)) (* lambda1 (+ (* 1/2 (cos (* -1/2 lambda2))) (* lambda1 (+ (* -1/8 (sin (* -1/2 lambda2))) (* -1/48 (* lambda1 (cos (* -1/2 lambda2)))))))))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(- (+ 1 (* -1 (* lambda1 (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(- (+ 1 (* lambda1 (- (* -1 (* lambda1 (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))))) (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(- (+ 1 (* lambda1 (- (* lambda1 (- (* -1 (* lambda1 (* (cos phi1) (* (cos phi2) (+ (* -1/8 (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))) (* -1/24 (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2))))))))) (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))))) (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(sin (* 1/2 (- lambda1 lambda2)))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(* 2 (* R (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))
(* 2 (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))
(atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(sin (* -1/2 (+ lambda2 (* -1 lambda1))))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* -1/2 (* (* lambda2 (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* lambda2 (+ (* -1/2 (* (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (* 1/2 (* (* lambda2 (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* 1/2 lambda1)) 2)) (* 1/4 (pow (cos (* 1/2 lambda1)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* 1/2 lambda1)) 2) (pow (sin (* 1/2 lambda1)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* lambda2 (+ (* -1/2 (* (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (* lambda2 (+ (* 1/2 (* (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))) (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* 1/2 lambda1)) 2)) (* 1/4 (pow (cos (* 1/2 lambda1)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* 1/2 lambda1)) 2) (pow (sin (* 1/2 lambda1)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))) (* 1/2 (* (* lambda2 (- (* (cos phi1) (* (cos phi2) (+ (* 1/24 (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1)))) (* 1/8 (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))))) (* -1/2 (/ (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (* (sin (* 1/2 lambda1)) (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* 1/2 lambda1)) 2)) (* 1/4 (pow (cos (* 1/2 lambda1)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* 1/2 lambda1)) 2) (pow (sin (* 1/2 lambda1)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))))))
(sin (* 1/2 lambda1))
(+ (sin (* 1/2 lambda1)) (* -1/2 (* lambda2 (cos (* 1/2 lambda1)))))
(+ (sin (* 1/2 lambda1)) (* lambda2 (+ (* -1/2 (cos (* 1/2 lambda1))) (* -1/8 (* lambda2 (sin (* 1/2 lambda1)))))))
(+ (sin (* 1/2 lambda1)) (* lambda2 (+ (* -1/2 (cos (* 1/2 lambda1))) (* lambda2 (+ (* -1/8 (sin (* 1/2 lambda1))) (* 1/48 (* lambda2 (cos (* 1/2 lambda1)))))))))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(- (+ 1 (* lambda2 (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(- (+ 1 (* lambda2 (- (* -1 (* lambda2 (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* 1/2 lambda1)) 2)) (* 1/4 (pow (cos (* 1/2 lambda1)) 2))))))) (* -1 (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(- (+ 1 (* lambda2 (- (* lambda2 (- (* -1 (* lambda2 (* (cos phi1) (* (cos phi2) (+ (* 1/24 (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1)))) (* 1/8 (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))))))) (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* 1/2 lambda1)) 2)) (* 1/4 (pow (cos (* 1/2 lambda1)) 2))))))) (* -1 (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(* 2 (* R (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))
(* 2 (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))
(atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(sin (* 1/2 (+ lambda1 (* -1 lambda2))))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(sqrt (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))
(+ (sqrt (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2))) (* 1/2 (* (* phi1 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2)))) (sqrt (/ 1 (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))))))
(+ (sqrt (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2))) (* phi1 (+ (* 1/2 (* (* phi1 (- (+ (* -1/2 (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* -1/2 phi2)) 2)) (* 1/4 (pow (cos (* -1/2 phi2)) 2)))) (* 1/4 (/ (* (pow (cos (* -1/2 phi2)) 2) (pow (sin (* -1/2 phi2)) 2)) (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))))) (sqrt (/ 1 (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))))) (* 1/2 (* (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2))) (sqrt (/ 1 (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))))))))
(+ (sqrt (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2))) (* phi1 (+ (* 1/2 (* (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2))) (sqrt (/ 1 (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))))) (* phi1 (+ (* 1/2 (* (sqrt (/ 1 (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))) (- (+ (* -1/2 (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* -1/2 phi2)) 2)) (* 1/4 (pow (cos (* -1/2 phi2)) 2)))) (* 1/4 (/ (* (pow (cos (* -1/2 phi2)) 2) (pow (sin (* -1/2 phi2)) 2)) (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2))))))) (* 1/2 (* (* phi1 (- (+ (* -1/8 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2)))) (* -1/24 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2))))) (* 1/2 (/ (* (cos (* -1/2 phi2)) (* (sin (* -1/2 phi2)) (- (+ (* -1/2 (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* -1/2 phi2)) 2)) (* 1/4 (pow (cos (* -1/2 phi2)) 2)))) (* 1/4 (/ (* (pow (cos (* -1/2 phi2)) 2) (pow (sin (* -1/2 phi2)) 2)) (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2))))))) (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))))) (sqrt (/ 1 (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))))))))))
(sin (* -1/2 phi2))
(+ (sin (* -1/2 phi2)) (* 1/2 (* phi1 (cos (* -1/2 phi2)))))
(+ (sin (* -1/2 phi2)) (* phi1 (+ (* -1/8 (* phi1 (sin (* -1/2 phi2)))) (* 1/2 (cos (* -1/2 phi2))))))
(+ (sin (* -1/2 phi2)) (* phi1 (+ (* 1/2 (cos (* -1/2 phi2))) (* phi1 (+ (* -1/8 (sin (* -1/2 phi2))) (* -1/48 (* phi1 (cos (* -1/2 phi2)))))))))
(- 1 (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))
(- (+ 1 (* -1 (* phi1 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2)))))) (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))
(- (+ 1 (* phi1 (- (* -1 (* phi1 (+ (* -1/2 (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* -1/2 phi2)) 2)) (* 1/4 (pow (cos (* -1/2 phi2)) 2)))))) (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2)))))) (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))
(- (+ 1 (* phi1 (- (* phi1 (- (* -1 (* phi1 (+ (* -1/8 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2)))) (* -1/24 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2))))))) (+ (* -1/2 (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* -1/2 phi2)) 2)) (* 1/4 (pow (cos (* -1/2 phi2)) 2)))))) (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2)))))) (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))
(pow (sin (* -1/2 phi2)) 2)
(+ (* phi1 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2)))) (pow (sin (* -1/2 phi2)) 2))
(+ (* phi1 (+ (* phi1 (+ (* -1/4 (pow (sin (* -1/2 phi2)) 2)) (* 1/4 (pow (cos (* -1/2 phi2)) 2)))) (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2))))) (pow (sin (* -1/2 phi2)) 2))
(+ (* phi1 (+ (* phi1 (+ (* -1/4 (pow (sin (* -1/2 phi2)) 2)) (+ (* 1/4 (pow (cos (* -1/2 phi2)) 2)) (* phi1 (+ (* -1/8 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2)))) (* -1/24 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2))))))))) (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2))))) (pow (sin (* -1/2 phi2)) 2))
(sin (* 1/2 (- phi1 phi2)))
(pow (sin (* 1/2 (- phi1 phi2))) 2)
(* 2 (* R (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2)))))))
(* 2 (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2))))))
(atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2)))))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2)))
(sin (* -1/2 (+ phi2 (* -1 phi1))))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2)))
(pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2)
(sqrt (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))
(+ (sqrt (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2))) (* -1/2 (* (* phi2 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1)))) (sqrt (/ 1 (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))))))
(+ (sqrt (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2))) (* phi2 (+ (* -1/2 (* (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))) (sqrt (/ 1 (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))))) (* 1/2 (* (* phi2 (- (+ (* -1/2 (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* 1/2 phi1)) 2)) (* 1/4 (pow (cos (* 1/2 phi1)) 2)))) (* 1/4 (/ (* (pow (cos (* 1/2 phi1)) 2) (pow (sin (* 1/2 phi1)) 2)) (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))))))))
(+ (sqrt (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2))) (* phi2 (+ (* -1/2 (* (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))) (sqrt (/ 1 (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))))) (* phi2 (+ (* 1/2 (* (sqrt (/ 1 (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))) (- (+ (* -1/2 (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* 1/2 phi1)) 2)) (* 1/4 (pow (cos (* 1/2 phi1)) 2)))) (* 1/4 (/ (* (pow (cos (* 1/2 phi1)) 2) (pow (sin (* 1/2 phi1)) 2)) (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2))))))) (* 1/2 (* (* phi2 (- (+ (* 1/24 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1)))) (* 1/8 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))))) (* -1/2 (/ (* (cos (* 1/2 phi1)) (* (sin (* 1/2 phi1)) (- (+ (* -1/2 (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* 1/2 phi1)) 2)) (* 1/4 (pow (cos (* 1/2 phi1)) 2)))) (* 1/4 (/ (* (pow (cos (* 1/2 phi1)) 2) (pow (sin (* 1/2 phi1)) 2)) (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2))))))) (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))))))))))
(sin (* 1/2 phi1))
(+ (sin (* 1/2 phi1)) (* -1/2 (* phi2 (cos (* 1/2 phi1)))))
(+ (sin (* 1/2 phi1)) (* phi2 (+ (* -1/2 (cos (* 1/2 phi1))) (* -1/8 (* phi2 (sin (* 1/2 phi1)))))))
(+ (sin (* 1/2 phi1)) (* phi2 (+ (* -1/2 (cos (* 1/2 phi1))) (* phi2 (+ (* -1/8 (sin (* 1/2 phi1))) (* 1/48 (* phi2 (cos (* 1/2 phi1)))))))))
(- 1 (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))
(- (+ 1 (* phi2 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))))) (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))
(- (+ 1 (* phi2 (- (* -1 (* phi2 (+ (* -1/2 (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* 1/2 phi1)) 2)) (* 1/4 (pow (cos (* 1/2 phi1)) 2)))))) (* -1 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))))))) (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))
(- (+ 1 (* phi2 (- (* phi2 (- (* -1 (* phi2 (+ (* 1/24 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1)))) (* 1/8 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))))))) (+ (* -1/2 (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* 1/2 phi1)) 2)) (* 1/4 (pow (cos (* 1/2 phi1)) 2)))))) (* -1 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))))))) (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))
(pow (sin (* 1/2 phi1)) 2)
(+ (* -1 (* phi2 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))))) (pow (sin (* 1/2 phi1)) 2))
(+ (* phi2 (+ (* -1 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1)))) (* phi2 (+ (* -1/4 (pow (sin (* 1/2 phi1)) 2)) (* 1/4 (pow (cos (* 1/2 phi1)) 2)))))) (pow (sin (* 1/2 phi1)) 2))
(+ (* phi2 (+ (* -1 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1)))) (* phi2 (+ (* -1/4 (pow (sin (* 1/2 phi1)) 2)) (+ (* 1/4 (pow (cos (* 1/2 phi1)) 2)) (* phi2 (+ (* 1/24 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1)))) (* 1/8 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))))))))))) (pow (sin (* 1/2 phi1)) 2))
(* 2 (* R (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2)))))))
(* 2 (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2))))))
(atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2)))))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2)))
(sin (* 1/2 (+ phi1 (* -1 phi2))))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2)))
(pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2)
Outputs
(* 2 (* R (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(* 2 (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))
(atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* 1/2 (* (* lambda1 (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* lambda1 (+ (* 1/2 (* (* lambda1 (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* -1/2 lambda2)) 2) (pow (sin (* -1/2 lambda2)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (* 1/2 (* (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))))
(*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* lambda1 (+ (* 1/2 (* (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (* lambda1 (+ (* 1/2 (* (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))) (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* -1/2 lambda2)) 2) (pow (sin (* -1/2 lambda2)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))) (* 1/2 (* (* lambda1 (- (* (cos phi1) (* (cos phi2) (+ (* -1/8 (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))) (* -1/24 (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2))))))) (* 1/2 (/ (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (* (sin (* -1/2 lambda2)) (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* -1/2 lambda2)) 2) (pow (sin (* -1/2 lambda2)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))))))
#s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))
(sin (* -1/2 lambda2))
#s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))
(+ (sin (* -1/2 lambda2)) (* 1/2 (* lambda1 (cos (* -1/2 lambda2)))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(+ (sin (* -1/2 lambda2)) (* lambda1 (+ (* -1/8 (* lambda1 (sin (* -1/2 lambda2)))) (* 1/2 (cos (* -1/2 lambda2))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
(+ (sin (* -1/2 lambda2)) (* lambda1 (+ (* 1/2 (cos (* -1/2 lambda2))) (* lambda1 (+ (* -1/8 (sin (* -1/2 lambda2))) (* -1/48 (* lambda1 (cos (* -1/2 lambda2)))))))))
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))
(- (+ 1 (* -1 (* lambda1 (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))))
(- (+ 1 (* lambda1 (- (* -1 (* lambda1 (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))))) (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))))))
(- (+ 1 (* lambda1 (- (* lambda1 (- (* -1 (* lambda1 (* (cos phi1) (* (cos phi2) (+ (* -1/8 (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))) (* -1/24 (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2))))))))) (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))))) (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))
(sin (* 1/2 (- lambda1 lambda2)))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))))
(* 2 (* R (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))
(* 2 (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))
#s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))
(atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
(sin (* -1/2 (+ lambda2 (* -1 lambda1))))
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* -1/2 (* (* lambda2 (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* lambda2 (+ (* -1/2 (* (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (* 1/2 (* (* lambda2 (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* 1/2 lambda1)) 2)) (* 1/4 (pow (cos (* 1/2 lambda1)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* 1/2 lambda1)) 2) (pow (sin (* 1/2 lambda1)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))))
#s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* lambda2 (+ (* -1/2 (* (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (* lambda2 (+ (* 1/2 (* (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))) (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* 1/2 lambda1)) 2)) (* 1/4 (pow (cos (* 1/2 lambda1)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* 1/2 lambda1)) 2) (pow (sin (* 1/2 lambda1)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))) (* 1/2 (* (* lambda2 (- (* (cos phi1) (* (cos phi2) (+ (* 1/24 (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1)))) (* 1/8 (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))))) (* -1/2 (/ (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (* (sin (* 1/2 lambda1)) (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* 1/2 lambda1)) 2)) (* 1/4 (pow (cos (* 1/2 lambda1)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* 1/2 lambda1)) 2) (pow (sin (* 1/2 lambda1)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))))))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))

rewrite5.0ms (0%)

Memory
7.4MiB live, 7.4MiB allocated
Counts
28 → 28
Calls
Call 1
Inputs
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))
(*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))
#s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))
#s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))))))
(atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))))
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))
#s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))
(pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
#s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))
Outputs
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))
(*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))
#s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))
#s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))))))
(atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))))
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))
#s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))
(pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
#s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))

eval15.0ms (0.1%)

Memory
23.3MiB live, 23.3MiB allocated
Compiler

Compiled 15 561 to 257 computations (98.3% saved)

prune93.0ms (0.7%)

Memory
-32.7MiB live, 85.0MiB allocated
Pruning

41 alts after pruning (31 fresh and 10 done)

PrunedKeptTotal
New9321114
Fresh41014
Picked145
Done066
Total9841139
Accuracy
64.0%
Counts
139 → 41
Alt Table
Click to see full alt table
StatusAccuracyProgram
60.3%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
32.1%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))))
32.0%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
19.5%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))))
21.2%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))))
8.7%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))))))))))
5.9%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))))))
18.6%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))))))))
18.1%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))))
19.3%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))))
8.5%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))))))))
16.8%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))))
9.6%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))
26.3%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
22.8%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
25.1%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
10.8%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))))
18.7%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
17.0%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))))
16.9%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
17.9%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))))
6.3%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
9.4%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))))
14.4%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
15.7%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))))
15.1%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
14.0%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
14.2%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
10.6%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))))
14.1%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
14.7%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))))
17.7%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
19.3%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))))
9.9%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
9.3%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))))
11.0%
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
15.3%
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))
17.4%
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
14.0%
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))))
15.1%
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))
9.2%
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))
Compiler

Compiled 10 028 to 3 264 computations (67.5% saved)

simplify12.0ms (0.1%)

Memory
14.3MiB live, 14.3MiB allocated
Algorithm
egg-herbie
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
cost-diff0
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))
cost-diff0
(atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))
cost-diff0
(*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))
cost-diff0
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
cost-diff0
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
cost-diff0
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))
cost-diff0
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
cost-diff0
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))))
cost-diff0
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))
cost-diff0
(atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))
cost-diff0
(*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))
cost-diff0
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
cost-diff0
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
cost-diff0
#s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))
cost-diff0
#s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))
cost-diff0
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))
cost-diff0
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))))
cost-diff0
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
cost-diff0
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
cost-diff0
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
Calls
Call 1
Inputs
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
R
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
#s(literal 2 binary64)
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))))
(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))
(pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
(/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))
(-.f64 phi1 phi2)
phi1
phi2
(*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(*.f64 (cos.f64 phi1) (cos.f64 phi2))
(cos.f64 phi1)
(cos.f64 phi2)
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
(/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))
(-.f64 lambda1 lambda2)
lambda1
lambda2
#s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
(atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))
(sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
#s(literal 1 binary64)
(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))
(*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))
R
#s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))
#s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
(/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))
(-.f64 phi1 phi2)
phi1
phi2
#s(literal 2 binary64)
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
R
(*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))
#s(literal 2 binary64)
(atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))
#s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))
#s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))
(pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
(/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))
(-.f64 phi1 phi2)
phi1
phi2
(sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))
#s(literal 1 binary64)
(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))
(*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(*.f64 (cos.f64 phi1) (cos.f64 phi2))
(cos.f64 phi1)
(cos.f64 phi2)
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
(/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))
(-.f64 lambda1 lambda2)
lambda1
lambda2
#s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))))
R
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
#s(literal 2 binary64)
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))
(pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
(/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))
(-.f64 phi1 phi2)
phi1
phi2
(*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(*.f64 (cos.f64 phi1) (cos.f64 phi2))
(cos.f64 phi1)
(cos.f64 phi2)
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
(/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))
(-.f64 lambda1 lambda2)
lambda1
lambda2
(sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))
#s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))
(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))
(*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))
#s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
R
(*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))
#s(literal 2 binary64)
(atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))
#s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
(atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
#s(literal 1 binary64)
(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))
(pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
(/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))
(-.f64 phi1 phi2)
phi1
phi2
(*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(*.f64 (cos.f64 phi1) (cos.f64 phi2))
(cos.f64 phi1)
(cos.f64 phi2)
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
(/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))
(-.f64 lambda1 lambda2)
lambda1
lambda2
(sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))
(sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))
(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))
(*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))
#s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))
Outputs
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
R
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
#s(literal 2 binary64)
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))))
(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))
(pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
(/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))
(-.f64 phi1 phi2)
phi1
phi2
(*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(*.f64 (cos.f64 phi1) (cos.f64 phi2))
(cos.f64 phi1)
(cos.f64 phi2)
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
(/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))
(-.f64 lambda1 lambda2)
lambda1
lambda2
#s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
(atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))
(sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
#s(literal 1 binary64)
(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))
(*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))
R
#s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))
#s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
(/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))
(-.f64 phi1 phi2)
phi1
phi2
#s(literal 2 binary64)
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
R
(*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))
#s(literal 2 binary64)
(atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))
#s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))
#s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))
(pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
(/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))
(-.f64 phi1 phi2)
phi1
phi2
(sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))
#s(literal 1 binary64)
(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))
(*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(*.f64 (cos.f64 phi1) (cos.f64 phi2))
(cos.f64 phi1)
(cos.f64 phi2)
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
(/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))
(-.f64 lambda1 lambda2)
lambda1
lambda2
#s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))))
R
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
#s(literal 2 binary64)
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))
(pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
(/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))
(-.f64 phi1 phi2)
phi1
phi2
(*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(*.f64 (cos.f64 phi1) (cos.f64 phi2))
(cos.f64 phi1)
(cos.f64 phi2)
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
(/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))
(-.f64 lambda1 lambda2)
lambda1
lambda2
(sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))
#s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))
(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))
(*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))
#s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
R
(*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))
#s(literal 2 binary64)
(atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))
#s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
(atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
#s(literal 1 binary64)
(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))
(pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
(/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))
(-.f64 phi1 phi2)
phi1
phi2
(*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
(*.f64 (cos.f64 phi1) (cos.f64 phi2))
(cos.f64 phi1)
(cos.f64 phi2)
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
(/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))
(-.f64 lambda1 lambda2)
lambda1
lambda2
(sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))
(sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))
(-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))
(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))
(*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))
#s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))

localize353.0ms (2.5%)

Memory
21.3MiB live, 329.0MiB allocated
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy52.41787590203112
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))
accuracy52.41787590203112
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))
accuracy53.09077891342563
#s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
accuracy58.81913808932668
#s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))
accuracy13.633900129161674
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
accuracy16.484487849653146
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
accuracy52.41787590203112
#s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))
accuracy58.81913808932668
#s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))
accuracy45.582084899763935
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))
accuracy57.04861466750087
#s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))
accuracy58.81913808932668
#s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))
accuracy59.05567390849865
#s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))
accuracy0.19921875
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))
accuracy13.633900129161674
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
accuracy58.46062003736093
#s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))
accuracy58.81913808932668
#s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))
accuracy13.633900129161674
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
accuracy16.484487849653146
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
accuracy52.14030744920643
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))
accuracy58.46062003736093
#s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
Samples
270.0ms232×1valid
7.0ms24×0valid
Compiler

Compiled 6 647 to 108 computations (98.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 197.0ms
ival-cos: 65.0ms (33% of total)
ival-sin: 56.0ms (28.4% of total)
ival-mult: 27.0ms (13.7% of total)
adjust: 12.0ms (6.1% of total)
ival-sub: 8.0ms (4.1% of total)
ival-sqrt: 7.0ms (3.6% of total)
ival-div: 7.0ms (3.6% of total)
ival-pow2: 6.0ms (3% of total)
ival-atan2: 6.0ms (3% of total)
ival-add: 2.0ms (1% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series63.0ms (0.4%)

Memory
-8.4MiB live, 68.5MiB allocated
Counts
28 → 79
Calls
Call 1
Inputs
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))))
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))
#s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))
#s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))
(atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))
(atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))
#s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
#s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))
#s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))
#s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))
#s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))
Outputs
(* 2 (* R (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))
(* 2 (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))
(atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* 1/2 (* (* lambda1 (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* lambda1 (+ (* 1/2 (* (* lambda1 (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* -1/2 lambda2)) 2) (pow (sin (* -1/2 lambda2)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (* 1/2 (* (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* lambda1 (+ (* 1/2 (* (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (* lambda1 (+ (* 1/2 (* (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))) (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* -1/2 lambda2)) 2) (pow (sin (* -1/2 lambda2)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))) (* 1/2 (* (* lambda1 (- (* (cos phi1) (* (cos phi2) (+ (* -1/8 (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))) (* -1/24 (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2))))))) (* 1/2 (/ (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (* (sin (* -1/2 lambda2)) (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* -1/2 lambda2)) 2) (pow (sin (* -1/2 lambda2)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))))))
(sin (* -1/2 lambda2))
(+ (sin (* -1/2 lambda2)) (* 1/2 (* lambda1 (cos (* -1/2 lambda2)))))
(+ (sin (* -1/2 lambda2)) (* lambda1 (+ (* -1/8 (* lambda1 (sin (* -1/2 lambda2)))) (* 1/2 (cos (* -1/2 lambda2))))))
(+ (sin (* -1/2 lambda2)) (* lambda1 (+ (* 1/2 (cos (* -1/2 lambda2))) (* lambda1 (+ (* -1/8 (sin (* -1/2 lambda2))) (* -1/48 (* lambda1 (cos (* -1/2 lambda2)))))))))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(- (+ 1 (* -1 (* lambda1 (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(- (+ 1 (* lambda1 (- (* -1 (* lambda1 (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))))) (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(- (+ 1 (* lambda1 (- (* lambda1 (- (* -1 (* lambda1 (* (cos phi1) (* (cos phi2) (+ (* -1/8 (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))) (* -1/24 (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2))))))))) (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))))) (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(sin (* 1/2 (- lambda1 lambda2)))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(* 2 (* R (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))
(* 2 (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))
(atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(sin (* -1/2 (+ lambda2 (* -1 lambda1))))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* -1/2 (* (* lambda2 (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* lambda2 (+ (* -1/2 (* (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (* 1/2 (* (* lambda2 (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* 1/2 lambda1)) 2)) (* 1/4 (pow (cos (* 1/2 lambda1)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* 1/2 lambda1)) 2) (pow (sin (* 1/2 lambda1)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* lambda2 (+ (* -1/2 (* (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (* lambda2 (+ (* 1/2 (* (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))) (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* 1/2 lambda1)) 2)) (* 1/4 (pow (cos (* 1/2 lambda1)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* 1/2 lambda1)) 2) (pow (sin (* 1/2 lambda1)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))) (* 1/2 (* (* lambda2 (- (* (cos phi1) (* (cos phi2) (+ (* 1/24 (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1)))) (* 1/8 (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))))) (* -1/2 (/ (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (* (sin (* 1/2 lambda1)) (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* 1/2 lambda1)) 2)) (* 1/4 (pow (cos (* 1/2 lambda1)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* 1/2 lambda1)) 2) (pow (sin (* 1/2 lambda1)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))))))
(sin (* 1/2 lambda1))
(+ (sin (* 1/2 lambda1)) (* -1/2 (* lambda2 (cos (* 1/2 lambda1)))))
(+ (sin (* 1/2 lambda1)) (* lambda2 (+ (* -1/2 (cos (* 1/2 lambda1))) (* -1/8 (* lambda2 (sin (* 1/2 lambda1)))))))
(+ (sin (* 1/2 lambda1)) (* lambda2 (+ (* -1/2 (cos (* 1/2 lambda1))) (* lambda2 (+ (* -1/8 (sin (* 1/2 lambda1))) (* 1/48 (* lambda2 (cos (* 1/2 lambda1)))))))))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(- (+ 1 (* lambda2 (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(- (+ 1 (* lambda2 (- (* -1 (* lambda2 (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* 1/2 lambda1)) 2)) (* 1/4 (pow (cos (* 1/2 lambda1)) 2))))))) (* -1 (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(- (+ 1 (* lambda2 (- (* lambda2 (- (* -1 (* lambda2 (* (cos phi1) (* (cos phi2) (+ (* 1/24 (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1)))) (* 1/8 (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))))))) (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* 1/2 lambda1)) 2)) (* 1/4 (pow (cos (* 1/2 lambda1)) 2))))))) (* -1 (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(* 2 (* R (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))
(* 2 (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))
(atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(sin (* 1/2 (+ lambda1 (* -1 lambda2))))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(sqrt (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))
(+ (sqrt (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2))) (* 1/2 (* (* phi1 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2)))) (sqrt (/ 1 (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))))))
(+ (sqrt (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2))) (* phi1 (+ (* 1/2 (* (* phi1 (- (+ (* -1/2 (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* -1/2 phi2)) 2)) (* 1/4 (pow (cos (* -1/2 phi2)) 2)))) (* 1/4 (/ (* (pow (cos (* -1/2 phi2)) 2) (pow (sin (* -1/2 phi2)) 2)) (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))))) (sqrt (/ 1 (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))))) (* 1/2 (* (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2))) (sqrt (/ 1 (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))))))))
(+ (sqrt (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2))) (* phi1 (+ (* 1/2 (* (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2))) (sqrt (/ 1 (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))))) (* phi1 (+ (* 1/2 (* (sqrt (/ 1 (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))) (- (+ (* -1/2 (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* -1/2 phi2)) 2)) (* 1/4 (pow (cos (* -1/2 phi2)) 2)))) (* 1/4 (/ (* (pow (cos (* -1/2 phi2)) 2) (pow (sin (* -1/2 phi2)) 2)) (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2))))))) (* 1/2 (* (* phi1 (- (+ (* -1/8 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2)))) (* -1/24 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2))))) (* 1/2 (/ (* (cos (* -1/2 phi2)) (* (sin (* -1/2 phi2)) (- (+ (* -1/2 (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* -1/2 phi2)) 2)) (* 1/4 (pow (cos (* -1/2 phi2)) 2)))) (* 1/4 (/ (* (pow (cos (* -1/2 phi2)) 2) (pow (sin (* -1/2 phi2)) 2)) (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2))))))) (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))))) (sqrt (/ 1 (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))))))))))
(sin (* -1/2 phi2))
(+ (sin (* -1/2 phi2)) (* 1/2 (* phi1 (cos (* -1/2 phi2)))))
(+ (sin (* -1/2 phi2)) (* phi1 (+ (* -1/8 (* phi1 (sin (* -1/2 phi2)))) (* 1/2 (cos (* -1/2 phi2))))))
(+ (sin (* -1/2 phi2)) (* phi1 (+ (* 1/2 (cos (* -1/2 phi2))) (* phi1 (+ (* -1/8 (sin (* -1/2 phi2))) (* -1/48 (* phi1 (cos (* -1/2 phi2)))))))))
(- 1 (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))
(- (+ 1 (* -1 (* phi1 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2)))))) (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))
(- (+ 1 (* phi1 (- (* -1 (* phi1 (+ (* -1/2 (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* -1/2 phi2)) 2)) (* 1/4 (pow (cos (* -1/2 phi2)) 2)))))) (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2)))))) (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))
(- (+ 1 (* phi1 (- (* phi1 (- (* -1 (* phi1 (+ (* -1/8 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2)))) (* -1/24 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2))))))) (+ (* -1/2 (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* -1/2 phi2)) 2)) (* 1/4 (pow (cos (* -1/2 phi2)) 2)))))) (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2)))))) (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))
(sin (* 1/2 (- phi1 phi2)))
(* 2 (* R (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2)))))))
(* 2 (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2))))))
(atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2)))))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2)))
(sin (* -1/2 (+ phi2 (* -1 phi1))))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2)))
(sqrt (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))
(+ (sqrt (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2))) (* -1/2 (* (* phi2 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1)))) (sqrt (/ 1 (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))))))
(+ (sqrt (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2))) (* phi2 (+ (* -1/2 (* (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))) (sqrt (/ 1 (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))))) (* 1/2 (* (* phi2 (- (+ (* -1/2 (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* 1/2 phi1)) 2)) (* 1/4 (pow (cos (* 1/2 phi1)) 2)))) (* 1/4 (/ (* (pow (cos (* 1/2 phi1)) 2) (pow (sin (* 1/2 phi1)) 2)) (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))))))))
(+ (sqrt (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2))) (* phi2 (+ (* -1/2 (* (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))) (sqrt (/ 1 (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))))) (* phi2 (+ (* 1/2 (* (sqrt (/ 1 (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))) (- (+ (* -1/2 (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* 1/2 phi1)) 2)) (* 1/4 (pow (cos (* 1/2 phi1)) 2)))) (* 1/4 (/ (* (pow (cos (* 1/2 phi1)) 2) (pow (sin (* 1/2 phi1)) 2)) (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2))))))) (* 1/2 (* (* phi2 (- (+ (* 1/24 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1)))) (* 1/8 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))))) (* -1/2 (/ (* (cos (* 1/2 phi1)) (* (sin (* 1/2 phi1)) (- (+ (* -1/2 (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* 1/2 phi1)) 2)) (* 1/4 (pow (cos (* 1/2 phi1)) 2)))) (* 1/4 (/ (* (pow (cos (* 1/2 phi1)) 2) (pow (sin (* 1/2 phi1)) 2)) (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2))))))) (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))))))))))
(sin (* 1/2 phi1))
(+ (sin (* 1/2 phi1)) (* -1/2 (* phi2 (cos (* 1/2 phi1)))))
(+ (sin (* 1/2 phi1)) (* phi2 (+ (* -1/2 (cos (* 1/2 phi1))) (* -1/8 (* phi2 (sin (* 1/2 phi1)))))))
(+ (sin (* 1/2 phi1)) (* phi2 (+ (* -1/2 (cos (* 1/2 phi1))) (* phi2 (+ (* -1/8 (sin (* 1/2 phi1))) (* 1/48 (* phi2 (cos (* 1/2 phi1)))))))))
(- 1 (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))
(- (+ 1 (* phi2 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))))) (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))
(- (+ 1 (* phi2 (- (* -1 (* phi2 (+ (* -1/2 (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* 1/2 phi1)) 2)) (* 1/4 (pow (cos (* 1/2 phi1)) 2)))))) (* -1 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))))))) (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))
(- (+ 1 (* phi2 (- (* phi2 (- (* -1 (* phi2 (+ (* 1/24 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1)))) (* 1/8 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))))))) (+ (* -1/2 (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* 1/2 phi1)) 2)) (* 1/4 (pow (cos (* 1/2 phi1)) 2)))))) (* -1 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))))))) (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))
(* 2 (* R (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2)))))))
(* 2 (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2))))))
(atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2)))))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2)))
(sin (* 1/2 (+ phi1 (* -1 phi2))))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2)))
Calls

15 calls:

TimeVariablePointExpression
8.0ms
phi2
@inf
((* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (sin (/ (- lambda1 lambda2) 2)) (sin (/ (- phi1 phi2) 2)) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin (/ (- lambda1 lambda2) 2)) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin (/ (- lambda1 lambda2) 2)) (sin (/ (- lambda1 lambda2) 2)) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))
6.0ms
lambda1
@inf
((* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (sin (/ (- lambda1 lambda2) 2)) (sin (/ (- phi1 phi2) 2)) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin (/ (- lambda1 lambda2) 2)) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin (/ (- lambda1 lambda2) 2)) (sin (/ (- lambda1 lambda2) 2)) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))
4.0ms
lambda1
@-inf
((* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (sin (/ (- lambda1 lambda2) 2)) (sin (/ (- phi1 phi2) 2)) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin (/ (- lambda1 lambda2) 2)) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin (/ (- lambda1 lambda2) 2)) (sin (/ (- lambda1 lambda2) 2)) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))
4.0ms
lambda2
@inf
((* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (sin (/ (- lambda1 lambda2) 2)) (sin (/ (- phi1 phi2) 2)) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin (/ (- lambda1 lambda2) 2)) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin (/ (- lambda1 lambda2) 2)) (sin (/ (- lambda1 lambda2) 2)) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))
4.0ms
lambda2
@-inf
((* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (sin (/ (- lambda1 lambda2) 2)) (sin (/ (- phi1 phi2) 2)) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (* R (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))))) (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin (/ (- lambda1 lambda2) 2)) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin (/ (- lambda1 lambda2) 2)) (sin (/ (- lambda1 lambda2) 2)) (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))

simplify6.0ms (0%)

Memory
6.4MiB live, 6.4MiB allocated
Algorithm
egg-herbie
Counts
79 → 28
Calls
Call 1
Inputs
(* 2 (* R (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))
(* 2 (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))
(atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* 1/2 (* (* lambda1 (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* lambda1 (+ (* 1/2 (* (* lambda1 (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* -1/2 lambda2)) 2) (pow (sin (* -1/2 lambda2)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (* 1/2 (* (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* lambda1 (+ (* 1/2 (* (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (* lambda1 (+ (* 1/2 (* (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))) (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* -1/2 lambda2)) 2) (pow (sin (* -1/2 lambda2)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))) (* 1/2 (* (* lambda1 (- (* (cos phi1) (* (cos phi2) (+ (* -1/8 (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))) (* -1/24 (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2))))))) (* 1/2 (/ (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (* (sin (* -1/2 lambda2)) (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* -1/2 lambda2)) 2) (pow (sin (* -1/2 lambda2)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))))))
(sin (* -1/2 lambda2))
(+ (sin (* -1/2 lambda2)) (* 1/2 (* lambda1 (cos (* -1/2 lambda2)))))
(+ (sin (* -1/2 lambda2)) (* lambda1 (+ (* -1/8 (* lambda1 (sin (* -1/2 lambda2)))) (* 1/2 (cos (* -1/2 lambda2))))))
(+ (sin (* -1/2 lambda2)) (* lambda1 (+ (* 1/2 (cos (* -1/2 lambda2))) (* lambda1 (+ (* -1/8 (sin (* -1/2 lambda2))) (* -1/48 (* lambda1 (cos (* -1/2 lambda2)))))))))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(- (+ 1 (* -1 (* lambda1 (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(- (+ 1 (* lambda1 (- (* -1 (* lambda1 (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))))) (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(- (+ 1 (* lambda1 (- (* lambda1 (- (* -1 (* lambda1 (* (cos phi1) (* (cos phi2) (+ (* -1/8 (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))) (* -1/24 (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2))))))))) (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))))) (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(sin (* 1/2 (- lambda1 lambda2)))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(* 2 (* R (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))
(* 2 (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))
(atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(sin (* -1/2 (+ lambda2 (* -1 lambda1))))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* -1/2 (* (* lambda2 (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* lambda2 (+ (* -1/2 (* (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (* 1/2 (* (* lambda2 (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* 1/2 lambda1)) 2)) (* 1/4 (pow (cos (* 1/2 lambda1)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* 1/2 lambda1)) 2) (pow (sin (* 1/2 lambda1)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* lambda2 (+ (* -1/2 (* (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (* lambda2 (+ (* 1/2 (* (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))) (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* 1/2 lambda1)) 2)) (* 1/4 (pow (cos (* 1/2 lambda1)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* 1/2 lambda1)) 2) (pow (sin (* 1/2 lambda1)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))) (* 1/2 (* (* lambda2 (- (* (cos phi1) (* (cos phi2) (+ (* 1/24 (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1)))) (* 1/8 (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))))) (* -1/2 (/ (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (* (sin (* 1/2 lambda1)) (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* 1/2 lambda1)) 2)) (* 1/4 (pow (cos (* 1/2 lambda1)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* 1/2 lambda1)) 2) (pow (sin (* 1/2 lambda1)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))))))
(sin (* 1/2 lambda1))
(+ (sin (* 1/2 lambda1)) (* -1/2 (* lambda2 (cos (* 1/2 lambda1)))))
(+ (sin (* 1/2 lambda1)) (* lambda2 (+ (* -1/2 (cos (* 1/2 lambda1))) (* -1/8 (* lambda2 (sin (* 1/2 lambda1)))))))
(+ (sin (* 1/2 lambda1)) (* lambda2 (+ (* -1/2 (cos (* 1/2 lambda1))) (* lambda2 (+ (* -1/8 (sin (* 1/2 lambda1))) (* 1/48 (* lambda2 (cos (* 1/2 lambda1)))))))))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(- (+ 1 (* lambda2 (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(- (+ 1 (* lambda2 (- (* -1 (* lambda2 (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* 1/2 lambda1)) 2)) (* 1/4 (pow (cos (* 1/2 lambda1)) 2))))))) (* -1 (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(- (+ 1 (* lambda2 (- (* lambda2 (- (* -1 (* lambda2 (* (cos phi1) (* (cos phi2) (+ (* 1/24 (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1)))) (* 1/8 (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))))))) (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* 1/2 lambda1)) 2)) (* 1/4 (pow (cos (* 1/2 lambda1)) 2))))))) (* -1 (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(* 2 (* R (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))
(* 2 (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))
(atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(sin (* 1/2 (+ lambda1 (* -1 lambda2))))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (+ lambda1 (* -1 lambda2)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(sqrt (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))
(+ (sqrt (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2))) (* 1/2 (* (* phi1 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2)))) (sqrt (/ 1 (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))))))
(+ (sqrt (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2))) (* phi1 (+ (* 1/2 (* (* phi1 (- (+ (* -1/2 (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* -1/2 phi2)) 2)) (* 1/4 (pow (cos (* -1/2 phi2)) 2)))) (* 1/4 (/ (* (pow (cos (* -1/2 phi2)) 2) (pow (sin (* -1/2 phi2)) 2)) (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))))) (sqrt (/ 1 (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))))) (* 1/2 (* (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2))) (sqrt (/ 1 (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))))))))
(+ (sqrt (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2))) (* phi1 (+ (* 1/2 (* (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2))) (sqrt (/ 1 (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))))) (* phi1 (+ (* 1/2 (* (sqrt (/ 1 (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))) (- (+ (* -1/2 (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* -1/2 phi2)) 2)) (* 1/4 (pow (cos (* -1/2 phi2)) 2)))) (* 1/4 (/ (* (pow (cos (* -1/2 phi2)) 2) (pow (sin (* -1/2 phi2)) 2)) (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2))))))) (* 1/2 (* (* phi1 (- (+ (* -1/8 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2)))) (* -1/24 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2))))) (* 1/2 (/ (* (cos (* -1/2 phi2)) (* (sin (* -1/2 phi2)) (- (+ (* -1/2 (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* -1/2 phi2)) 2)) (* 1/4 (pow (cos (* -1/2 phi2)) 2)))) (* 1/4 (/ (* (pow (cos (* -1/2 phi2)) 2) (pow (sin (* -1/2 phi2)) 2)) (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2))))))) (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))))) (sqrt (/ 1 (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))))))))))
(sin (* -1/2 phi2))
(+ (sin (* -1/2 phi2)) (* 1/2 (* phi1 (cos (* -1/2 phi2)))))
(+ (sin (* -1/2 phi2)) (* phi1 (+ (* -1/8 (* phi1 (sin (* -1/2 phi2)))) (* 1/2 (cos (* -1/2 phi2))))))
(+ (sin (* -1/2 phi2)) (* phi1 (+ (* 1/2 (cos (* -1/2 phi2))) (* phi1 (+ (* -1/8 (sin (* -1/2 phi2))) (* -1/48 (* phi1 (cos (* -1/2 phi2)))))))))
(- 1 (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))
(- (+ 1 (* -1 (* phi1 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2)))))) (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))
(- (+ 1 (* phi1 (- (* -1 (* phi1 (+ (* -1/2 (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* -1/2 phi2)) 2)) (* 1/4 (pow (cos (* -1/2 phi2)) 2)))))) (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2)))))) (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))
(- (+ 1 (* phi1 (- (* phi1 (- (* -1 (* phi1 (+ (* -1/8 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2)))) (* -1/24 (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2))))))) (+ (* -1/2 (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* -1/2 phi2)) 2)) (* 1/4 (pow (cos (* -1/2 phi2)) 2)))))) (* (cos (* -1/2 phi2)) (sin (* -1/2 phi2)))))) (+ (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* -1/2 phi2)) 2)))
(sin (* 1/2 (- phi1 phi2)))
(* 2 (* R (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2)))))))
(* 2 (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2))))))
(atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2)))))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2)))
(sin (* -1/2 (+ phi2 (* -1 phi1))))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* -1/2 (+ phi2 (* -1 phi1)))) 2)))
(sqrt (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))
(+ (sqrt (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2))) (* -1/2 (* (* phi2 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1)))) (sqrt (/ 1 (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))))))
(+ (sqrt (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2))) (* phi2 (+ (* -1/2 (* (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))) (sqrt (/ 1 (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))))) (* 1/2 (* (* phi2 (- (+ (* -1/2 (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* 1/2 phi1)) 2)) (* 1/4 (pow (cos (* 1/2 phi1)) 2)))) (* 1/4 (/ (* (pow (cos (* 1/2 phi1)) 2) (pow (sin (* 1/2 phi1)) 2)) (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))))))))
(+ (sqrt (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2))) (* phi2 (+ (* -1/2 (* (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))) (sqrt (/ 1 (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))))) (* phi2 (+ (* 1/2 (* (sqrt (/ 1 (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))) (- (+ (* -1/2 (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* 1/2 phi1)) 2)) (* 1/4 (pow (cos (* 1/2 phi1)) 2)))) (* 1/4 (/ (* (pow (cos (* 1/2 phi1)) 2) (pow (sin (* 1/2 phi1)) 2)) (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2))))))) (* 1/2 (* (* phi2 (- (+ (* 1/24 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1)))) (* 1/8 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))))) (* -1/2 (/ (* (cos (* 1/2 phi1)) (* (sin (* 1/2 phi1)) (- (+ (* -1/2 (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* 1/2 phi1)) 2)) (* 1/4 (pow (cos (* 1/2 phi1)) 2)))) (* 1/4 (/ (* (pow (cos (* 1/2 phi1)) 2) (pow (sin (* 1/2 phi1)) 2)) (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2))))))) (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))))))))))
(sin (* 1/2 phi1))
(+ (sin (* 1/2 phi1)) (* -1/2 (* phi2 (cos (* 1/2 phi1)))))
(+ (sin (* 1/2 phi1)) (* phi2 (+ (* -1/2 (cos (* 1/2 phi1))) (* -1/8 (* phi2 (sin (* 1/2 phi1)))))))
(+ (sin (* 1/2 phi1)) (* phi2 (+ (* -1/2 (cos (* 1/2 phi1))) (* phi2 (+ (* -1/8 (sin (* 1/2 phi1))) (* 1/48 (* phi2 (cos (* 1/2 phi1)))))))))
(- 1 (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))
(- (+ 1 (* phi2 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))))) (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))
(- (+ 1 (* phi2 (- (* -1 (* phi2 (+ (* -1/2 (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* 1/2 phi1)) 2)) (* 1/4 (pow (cos (* 1/2 phi1)) 2)))))) (* -1 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))))))) (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))
(- (+ 1 (* phi2 (- (* phi2 (- (* -1 (* phi2 (+ (* 1/24 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1)))) (* 1/8 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))))))) (+ (* -1/2 (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (+ (* -1/4 (pow (sin (* 1/2 phi1)) 2)) (* 1/4 (pow (cos (* 1/2 phi1)) 2)))))) (* -1 (* (cos (* 1/2 phi1)) (sin (* 1/2 phi1))))))) (+ (* (cos phi1) (pow (sin (* 1/2 (- lambda1 lambda2))) 2)) (pow (sin (* 1/2 phi1)) 2)))
(* 2 (* R (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2)))))))
(* 2 (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2))))))
(atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2)))))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2)))
(sin (* 1/2 (+ phi1 (* -1 phi2))))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (+ phi1 (* -1 phi2)))) 2)))
Outputs
(* 2 (* R (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(* 2 (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
(atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* 1/2 (* (* lambda1 (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* lambda1 (+ (* 1/2 (* (* lambda1 (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* -1/2 lambda2)) 2) (pow (sin (* -1/2 lambda2)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (* 1/2 (* (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))))
#s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* lambda1 (+ (* 1/2 (* (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (* lambda1 (+ (* 1/2 (* (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))) (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* -1/2 lambda2)) 2) (pow (sin (* -1/2 lambda2)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))) (* 1/2 (* (* lambda1 (- (* (cos phi1) (* (cos phi2) (+ (* -1/8 (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))) (* -1/24 (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2))))))) (* 1/2 (/ (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (* (sin (* -1/2 lambda2)) (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* -1/2 lambda2)) 2) (pow (sin (* -1/2 lambda2)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))))))
#s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))
(sin (* -1/2 lambda2))
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
(+ (sin (* -1/2 lambda2)) (* 1/2 (* lambda1 (cos (* -1/2 lambda2)))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(+ (sin (* -1/2 lambda2)) (* lambda1 (+ (* -1/8 (* lambda1 (sin (* -1/2 lambda2)))) (* 1/2 (cos (* -1/2 lambda2))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))
(+ (sin (* -1/2 lambda2)) (* lambda1 (+ (* 1/2 (cos (* -1/2 lambda2))) (* lambda1 (+ (* -1/8 (sin (* -1/2 lambda2))) (* -1/48 (* lambda1 (cos (* -1/2 lambda2)))))))))
(atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))
(- (+ 1 (* -1 (* lambda1 (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))))
(- (+ 1 (* lambda1 (- (* -1 (* lambda1 (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))))) (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(- (+ 1 (* lambda1 (- (* lambda1 (- (* -1 (* lambda1 (* (cos phi1) (* (cos phi2) (+ (* -1/8 (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))) (* -1/24 (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2))))))))) (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* -1/2 lambda2)) 2)) (* 1/4 (pow (cos (* -1/2 lambda2)) 2))))))) (* (cos phi1) (* (cos phi2) (* (cos (* -1/2 lambda2)) (sin (* -1/2 lambda2)))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 lambda2)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
(sin (* 1/2 (- lambda1 lambda2)))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 (- lambda1 lambda2))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
(*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))
(* 2 (* R (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))
(atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))
(* 2 (atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))
(atan2 (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (sqrt (- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))
#s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))
(sin (* -1/2 (+ lambda2 (* -1 lambda1))))
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
(- 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* -1/2 (+ lambda2 (* -1 lambda1)))) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
#s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))
(sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))
#s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* -1/2 (* (* lambda2 (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))
#s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* lambda2 (+ (* -1/2 (* (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (* 1/2 (* (* lambda2 (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* 1/2 lambda1)) 2)) (* 1/4 (pow (cos (* 1/2 lambda1)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* 1/2 lambda1)) 2) (pow (sin (* 1/2 lambda1)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))))
#s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(+ (sqrt (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))) (* lambda2 (+ (* -1/2 (* (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (* lambda2 (+ (* 1/2 (* (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))) (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* 1/2 lambda1)) 2)) (* 1/4 (pow (cos (* 1/2 lambda1)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* 1/2 lambda1)) 2) (pow (sin (* 1/2 lambda1)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))) (* 1/2 (* (* lambda2 (- (* (cos phi1) (* (cos phi2) (+ (* 1/24 (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1)))) (* 1/8 (* (cos (* 1/2 lambda1)) (sin (* 1/2 lambda1))))))) (* -1/2 (/ (* (cos phi1) (* (cos phi2) (* (cos (* 1/2 lambda1)) (* (sin (* 1/2 lambda1)) (- (* (cos phi1) (* (cos phi2) (+ (* -1/4 (pow (sin (* 1/2 lambda1)) 2)) (* 1/4 (pow (cos (* 1/2 lambda1)) 2))))) (* 1/4 (/ (* (pow (cos phi1) 2) (* (pow (cos phi2) 2) (* (pow (cos (* 1/2 lambda1)) 2) (pow (sin (* 1/2 lambda1)) 2)))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2))))))))) (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))) (sqrt (/ 1 (+ (* (cos phi1) (* (cos phi2) (pow (sin (* 1/2 lambda1)) 2))) (pow (sin (* 1/2 (- phi1 phi2))) 2)))))))))))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))

rewrite5.0ms (0%)

Memory
5.9MiB live, 5.9MiB allocated
Counts
28 → 28
Calls
Call 1
Inputs
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))))
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))
#s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))
#s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))
(atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))
(atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))
#s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
#s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))
#s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))
#s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))
#s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))
Outputs
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))))
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))
#s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))
#s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))
(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))
(atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))
(atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))
#s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
#s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))
#s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))
#s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))
#s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
#s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))

eval25.0ms (0.2%)

Memory
-17.2MiB live, 20.5MiB allocated
Compiler

Compiled 16 728 to 256 computations (98.5% saved)

prune140.0ms (1%)

Memory
5.7MiB live, 141.7MiB allocated
Pruning

54 alts after pruning (39 fresh and 15 done)

PrunedKeptTotal
New841498
Fresh12526
Picked055
Done01010
Total8554139
Accuracy
64.3%
Counts
139 → 54
Alt Table
Click to see full alt table
StatusAccuracyProgram
60.3%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
32.1%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))))
32.0%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
19.5%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))))
17.2%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))))))
21.2%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))))
8.7%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))))))))))
5.9%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))))))
18.6%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))))))))
16.3%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))))))))
18.1%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))))
19.3%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))))
8.5%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))))))))
17.1%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))))))
16.8%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))))
19.5%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))
9.6%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))
26.3%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
22.8%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
25.1%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
18.7%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
17.0%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))))
16.9%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
17.9%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))))
6.3%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
7.1%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
9.4%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))))
14.4%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
15.7%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))))
15.1%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
14.0%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
14.2%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
10.6%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))))
15.9%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
13.1%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))))))))
12.8%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))))))))))
14.1%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
14.7%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))))
19.4%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
16.9%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))))))))
16.7%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))))))))))
17.7%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
19.3%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))))
9.9%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
9.3%
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))))
11.0%
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
15.3%
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))
17.4%
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
14.0%
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))))
9.2%
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))))
15.1%
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))
12.6%
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))))
9.2%
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))
9.0%
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
Compiler

Compiled 17 168 to 2 778 computations (83.8% saved)

regimes256.0ms (1.8%)

Memory
-8.0MiB live, 223.8MiB allocated
Counts
60 → 1
Calls
Call 1
Inputs
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))))))))))
Outputs
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
Calls

12 calls:

39.0ms
lambda2
33.0ms
phi2
29.0ms
(-.f64 lambda1 lambda2)
20.0ms
R
17.0ms
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
Results
AccuracySegmentsBranch
60.3%1R
60.3%1lambda1
60.3%1lambda2
60.3%1phi1
60.3%1phi2
60.3%1(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
60.3%1(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
60.3%1(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
60.3%1(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))
60.3%1(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
60.3%1(/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))
60.3%1(-.f64 lambda1 lambda2)
Compiler

Compiled 236 to 142 computations (39.8% saved)

regimes139.0ms (1%)

Memory
14.3MiB live, 127.6MiB allocated
Counts
24 → 2
Calls
Call 1
Inputs
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
Outputs
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
Calls

12 calls:

30.0ms
(/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))
29.0ms
lambda1
11.0ms
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
7.0ms
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
7.0ms
(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))
Results
AccuracySegmentsBranch
32.0%1phi2
32.0%1lambda1
32.0%1lambda2
32.0%1phi1
32.0%1(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
32.0%1(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
32.0%1(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))
35.8%2(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
32.0%1(/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))
32.0%1(-.f64 lambda1 lambda2)
32.0%1(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
32.0%1R
Compiler

Compiled 236 to 142 computations (39.8% saved)

regimes94.0ms (0.7%)

Memory
-2.4MiB live, 122.8MiB allocated
Counts
23 → 3
Calls
Call 1
Inputs
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
Outputs
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
Calls

12 calls:

14.0ms
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
8.0ms
phi2
7.0ms
(-.f64 lambda1 lambda2)
7.0ms
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
7.0ms
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
Results
AccuracySegmentsBranch
25.1%1(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
25.1%1(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
25.1%1(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))
25.1%1R
25.1%1(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
29.1%3(/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))
29.1%3(-.f64 lambda1 lambda2)
28.2%3lambda1
25.1%1lambda2
25.1%1phi1
25.1%1phi2
32.5%3(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
Compiler

Compiled 236 to 142 computations (39.8% saved)

regimes106.0ms (0.8%)

Memory
-20.1MiB live, 105.7MiB allocated
Counts
22 → 3
Calls
Call 1
Inputs
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
Outputs
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
Calls

12 calls:

19.0ms
(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))
17.0ms
phi1
8.0ms
(-.f64 lambda1 lambda2)
7.0ms
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
7.0ms
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
Results
AccuracySegmentsBranch
19.5%1phi1
19.5%1phi2
19.5%1lambda2
21.1%2(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
21.1%2(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
21.3%2(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))
19.5%1R
19.5%1(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
19.5%1lambda1
23.4%3(/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))
23.4%3(-.f64 lambda1 lambda2)
26.8%3(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
Compiler

Compiled 236 to 142 computations (39.8% saved)

regimes8.0ms (0.1%)

Memory
11.7MiB live, 11.7MiB allocated
Counts
18 → 3
Calls
Call 1
Inputs
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
Outputs
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
Calls

1 calls:

5.0ms
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
Results
AccuracySegmentsBranch
26.1%3(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
Compiler

Compiled 6 to 9 computations (-50% saved)

regimes5.0ms (0%)

Memory
7.2MiB live, 7.2MiB allocated
Counts
9 → 3
Calls
Call 1
Inputs
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
Outputs
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
Calls

1 calls:

3.0ms
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
Results
AccuracySegmentsBranch
26.0%3(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
Compiler

Compiled 6 to 9 computations (-50% saved)

regimes4.0ms (0%)

Memory
6.5MiB live, 6.5MiB allocated
Counts
8 → 2
Calls
Call 1
Inputs
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
Outputs
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
Calls

1 calls:

3.0ms
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
Results
AccuracySegmentsBranch
22.5%2(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
Compiler

Compiled 6 to 9 computations (-50% saved)

regimes42.0ms (0.3%)

Memory
-21.8MiB live, 56.1MiB allocated
Counts
7 → 2
Calls
Call 1
Inputs
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
Outputs
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
Calls

12 calls:

5.0ms
(-.f64 lambda1 lambda2)
3.0ms
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
3.0ms
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
3.0ms
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
3.0ms
(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))
Results
AccuracySegmentsBranch
17.4%1(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
17.4%1R
17.4%1lambda1
17.4%1phi1
17.4%1phi2
17.4%1lambda2
17.4%1(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
17.4%1(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
17.4%1(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))
17.4%1(/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))
17.4%1(-.f64 lambda1 lambda2)
19.3%2(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
Compiler

Compiled 236 to 142 computations (39.8% saved)

regimes29.0ms (0.2%)

Memory
15.0MiB live, 56.6MiB allocated
Counts
4 → 2
Calls
Call 1
Inputs
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))
Outputs
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
Calls

12 calls:

3.0ms
phi2
3.0ms
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
2.0ms
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
2.0ms
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
2.0ms
(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))
Results
AccuracySegmentsBranch
15.3%1R
15.3%1(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
15.3%1phi1
15.3%1(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))
15.3%1lambda2
15.3%1phi2
15.3%1(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
15.3%1(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
15.3%1lambda1
15.3%1(/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))
15.3%1(-.f64 lambda1 lambda2)
17.7%2(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
Compiler

Compiled 236 to 142 computations (39.8% saved)

regimes43.0ms (0.3%)

Memory
11.5MiB live, 50.1MiB allocated
Counts
3 → 2
Calls
Call 1
Inputs
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
Outputs
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))
(*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
Calls

12 calls:

21.0ms
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
2.0ms
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
2.0ms
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
2.0ms
(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))
2.0ms
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
Results
AccuracySegmentsBranch
11.0%1phi2
11.0%1lambda1
11.0%1(/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))
11.0%1(-.f64 lambda1 lambda2)
11.0%1lambda2
11.0%1phi1
11.0%1(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
11.0%1R
11.0%1(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
11.0%1(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
11.0%1(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))
14.4%2(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
Compiler

Compiled 236 to 142 computations (39.8% saved)

regimes21.0ms (0.1%)

Memory
5.1MiB live, 44.6MiB allocated
Counts
2 → 2
Calls
Call 1
Inputs
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))
Outputs
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
Calls

12 calls:

3.0ms
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
2.0ms
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
2.0ms
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
2.0ms
(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))
1.0ms
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
Results
AccuracySegmentsBranch
9.2%1(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))
9.2%1(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
9.2%1(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
9.2%1(/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))
9.2%1(-.f64 lambda1 lambda2)
9.2%1lambda1
9.2%1phi1
9.2%1R
9.2%1lambda2
9.2%1phi2
9.2%1(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
12.4%2(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
Compiler

Compiled 236 to 142 computations (39.8% saved)

regimes23.0ms (0.2%)

Memory
-4.6MiB live, 34.7MiB allocated
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
Outputs
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
Calls

12 calls:

8.0ms
(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
2.0ms
(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
2.0ms
(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
2.0ms
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
1.0ms
(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))
Results
AccuracySegmentsBranch
9.0%1R
9.0%1(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
9.0%1(+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))
9.0%1(*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
9.0%1(atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))
9.0%1(/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))
9.0%1(-.f64 lambda1 lambda2)
9.0%1lambda1
9.0%1phi1
9.0%1phi2
9.0%1lambda2
9.0%1(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
Compiler

Compiled 236 to 142 computations (39.8% saved)

bsearch49.0ms (0.4%)

Memory
-28.5MiB live, 51.4MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
46.0ms
0.021353081634332322
0.04826768546063935
Samples
24.0ms52×1valid
8.0ms28×0valid
Compiler

Compiled 623 to 385 computations (38.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 29.0ms
ival-cos: 7.0ms (24.5% of total)
ival-atan2: 5.0ms (17.5% of total)
ival-mult: 4.0ms (14% of total)
ival-sin: 4.0ms (14% of total)
ival-sub: 2.0ms (7% of total)
adjust: 2.0ms (7% of total)
ival-sqrt: 2.0ms (7% of total)
ival-div: 1.0ms (3.5% of total)
ival-pow2: 1.0ms (3.5% of total)
ival-add: 1.0ms (3.5% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

bsearch81.0ms (0.6%)

Memory
25.0MiB live, 63.6MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
76.0ms
2.0576967182238663e-15
7.973776878076709e-6
0.0ms
-0.08364903766211342
-0.08182313279243529
Samples
61.0ms95×1valid
7.0ms49×0valid
Compiler

Compiled 1 079 to 665 computations (38.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 62.0ms
ival-mult: 23.0ms (37.2% of total)
ival-cos: 14.0ms (22.6% of total)
ival-sin: 7.0ms (11.3% of total)
adjust: 4.0ms (6.5% of total)
ival-sub: 3.0ms (4.8% of total)
ival-sqrt: 3.0ms (4.8% of total)
ival-pow2: 3.0ms (4.8% of total)
ival-atan2: 3.0ms (4.8% of total)
ival-div: 2.0ms (3.2% of total)
ival-add: 1.0ms (1.6% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

bsearch141.0ms (1%)

Memory
-11.0MiB live, 144.4MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
48.0ms
2.0576967182238663e-15
7.973776878076709e-6
85.0ms
-2.0465146033114261e-78
-1.724700521243596e-85
Samples
105.0ms162×1valid
15.0ms78×0valid
Compiler

Compiled 2 258 to 1 439 computations (36.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 109.0ms
ival-cos: 33.0ms (30.3% of total)
ival-sin: 17.0ms (15.6% of total)
ival-sub: 15.0ms (13.8% of total)
ival-mult: 12.0ms (11% of total)
ival-atan2: 10.0ms (9.2% of total)
adjust: 7.0ms (6.4% of total)
ival-sqrt: 6.0ms (5.5% of total)
ival-pow2: 5.0ms (4.6% of total)
ival-div: 3.0ms (2.8% of total)
ival-add: 2.0ms (1.8% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

bsearch5.0ms (0%)

Memory
5.0MiB live, 5.0MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
2.0ms
2.0576967182238663e-15
7.973776878076709e-6
2.0ms
-2.0465146033114261e-78
-1.724700521243596e-85
Compiler

Compiled 2 627 to 1 475 computations (43.9% saved)

bsearch4.0ms (0%)

Memory
4.9MiB live, 4.9MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
2.0ms
2.0576967182238663e-15
7.973776878076709e-6
2.0ms
-2.0465146033114261e-78
-1.724700521243596e-85
Compiler

Compiled 2 843 to 1 493 computations (47.5% saved)

bsearch85.0ms (0.6%)

Memory
-2.1MiB live, 79.1MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
80.0ms
1.9921770999849984e-94
3.256941819712189e-86
Samples
62.0ms92×1valid
8.0ms52×0valid
Compiler

Compiled 1 511 to 773 computations (48.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 61.0ms
ival-cos: 22.0ms (36% of total)
ival-sin: 13.0ms (21.3% of total)
ival-mult: 7.0ms (11.5% of total)
adjust: 4.0ms (6.5% of total)
ival-sub: 3.0ms (4.9% of total)
ival-sqrt: 3.0ms (4.9% of total)
ival-pow2: 3.0ms (4.9% of total)
ival-atan2: 3.0ms (4.9% of total)
ival-div: 2.0ms (3.3% of total)
ival-add: 1.0ms (1.6% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

bsearch2.0ms (0%)

Memory
2.3MiB live, 2.3MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
2.0ms
1.9921770999849984e-94
3.256941819712189e-86
Compiler

Compiled 1 601 to 683 computations (57.3% saved)

bsearch2.0ms (0%)

Memory
2.0MiB live, 2.0MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
1.0ms
1.9921770999849984e-94
3.256941819712189e-86
Compiler

Compiled 1 385 to 602 computations (56.5% saved)

bsearch73.0ms (0.5%)

Memory
-8.9MiB live, 67.4MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
69.0ms
1.9921770999849984e-94
3.256941819712189e-86
Samples
53.0ms83×1valid
9.0ms45×0valid
Compiler

Compiled 1 367 to 593 computations (56.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 56.0ms
ival-cos: 20.0ms (35.7% of total)
ival-sin: 12.0ms (21.4% of total)
ival-mult: 8.0ms (14.3% of total)
adjust: 3.0ms (5.4% of total)
ival-sqrt: 3.0ms (5.4% of total)
ival-pow2: 3.0ms (5.4% of total)
ival-sub: 2.0ms (3.6% of total)
ival-div: 2.0ms (3.6% of total)
ival-atan2: 2.0ms (3.6% of total)
ival-add: 1.0ms (1.8% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

bsearch77.0ms (0.5%)

Memory
22.0MiB live, 60.0MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
73.0ms
5.771166658504533e-58
1.7556962588772045e-49
Samples
59.0ms92×1valid
8.0ms52×0valid
Compiler

Compiled 1 430 to 593 computations (58.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 60.0ms
ival-cos: 21.0ms (35.2% of total)
ival-sin: 11.0ms (18.5% of total)
ival-mult: 7.0ms (11.7% of total)
ival-sub: 6.0ms (10.1% of total)
adjust: 4.0ms (6.7% of total)
ival-sqrt: 3.0ms (5% of total)
ival-pow2: 3.0ms (5% of total)
ival-atan2: 3.0ms (5% of total)
ival-div: 2.0ms (3.4% of total)
ival-add: 1.0ms (1.7% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

simplify31.0ms (0.2%)

Memory
-28.6MiB live, 11.8MiB allocated
Algorithm
egg-herbie
Calls
Call 1
Inputs
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(if (<=.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))) #s(literal 3458764513820541/144115188075855872 binary64)) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))
(if (<=.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))) #s(literal -5908722711110091/72057594037927936 binary64)) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))) (if (<=.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))) #s(literal 7724745845140773/19807040628566084398385987584 binary64)) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))
(if (<=.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))) #s(literal -8343699359066055/4171849679533027504677776769862406473833407270227837441302815640277772901915313574263597826048 binary64)) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))) (if (<=.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))) #s(literal 5324132520958563/2535301200456458802993406410752 binary64)) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))
(if (<=.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))) #s(literal -8343699359066055/4171849679533027504677776769862406473833407270227837441302815640277772901915313574263597826048 binary64)) (*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))) (if (<=.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))) #s(literal 5324132520958563/2535301200456458802993406410752 binary64)) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))
(if (<=.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))) #s(literal -8343699359066055/4171849679533027504677776769862406473833407270227837441302815640277772901915313574263597826048 binary64)) (*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))) (if (<=.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))) #s(literal 5324132520958563/2535301200456458802993406410752 binary64)) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))
(if (<=.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))) #s(literal 6651145986371207/573374653997517877902705223825521735199141247292070280934397209846730719022121202017504638277531421638656 binary64)) (*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))
(if (<=.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))) #s(literal 6651145986371207/573374653997517877902705223825521735199141247292070280934397209846730719022121202017504638277531421638656 binary64)) (*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))) (*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))
(if (<=.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))) #s(literal 6651145986371207/573374653997517877902705223825521735199141247292070280934397209846730719022121202017504638277531421638656 binary64)) (*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) (*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))
(if (<=.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))) #s(literal 493193942382505/2348542582773833227889480596789337027375682548908319870707290971532209025114608443463698998384768703031934976 binary64)) (*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))) (*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))
(if (<=.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))) #s(literal 336999333339383/842498333348457493583344221469363458551160763204392890034487820288 binary64)) (*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))) (*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))
Outputs
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(if (<=.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))) #s(literal 3458764513820541/144115188075855872 binary64)) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))
(if (<=.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))) #s(literal -5908722711110091/72057594037927936 binary64)) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))) (if (<=.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))) #s(literal 7724745845140773/19807040628566084398385987584 binary64)) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))
(if (<=.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))) #s(literal -8343699359066055/4171849679533027504677776769862406473833407270227837441302815640277772901915313574263597826048 binary64)) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 #s(approx (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))) (if (<=.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))) #s(literal 5324132520958563/2535301200456458802993406410752 binary64)) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))
(if (<=.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))) #s(literal -8343699359066055/4171849679533027504677776769862406473833407270227837441302815640277772901915313574263597826048 binary64)) (*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))) (if (<=.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))) #s(literal 5324132520958563/2535301200456458802993406410752 binary64)) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))
(if (<=.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))) #s(literal -8343699359066055/4171849679533027504677776769862406473833407270227837441302815640277772901915313574263597826048 binary64)) (*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))) (if (<=.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))) #s(literal 5324132520958563/2535301200456458802993406410752 binary64)) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))
(if (<=.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))) #s(literal 6651145986371207/573374653997517877902705223825521735199141247292070280934397209846730719022121202017504638277531421638656 binary64)) (*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))) (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 #s(approx (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))
(if (<=.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))) #s(literal 6651145986371207/573374653997517877902705223825521735199141247292070280934397209846730719022121202017504638277531421638656 binary64)) (*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))))))))))) (*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))
(if (<=.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))) #s(literal 6651145986371207/573374653997517877902705223825521735199141247292070280934397209846730719022121202017504638277531421638656 binary64)) (*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) (*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))
(if (<=.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))) #s(literal 493193942382505/2348542582773833227889480596789337027375682548908319870707290971532209025114608443463698998384768703031934976 binary64)) (*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))) (*.f64 R (*.f64 #s(literal 2 binary64) #s(approx (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))
(if (<=.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))) #s(literal 336999333339383/842498333348457493583344221469363458551160763204392890034487820288 binary64)) (*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))))) (*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))
(*.f64 R #s(approx (* 2 (atan2 (sqrt (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2))))) (sqrt (- 1 (+ (pow (sin (/ (- phi1 phi2) 2)) 2) (* (* (* (cos phi1) (cos phi2)) (sin (/ (- lambda1 lambda2) 2))) (sin (/ (- lambda1 lambda2) 2)))))))) #s(approx (sin (/ (- lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))

soundness4.0ms (0%)

Memory
6.6MiB live, 6.6MiB allocated
Stop Event
fuel
Compiler

Compiled 2 191 to 119 computations (94.6% saved)

preprocess74.0ms (0.5%)

Memory
12.5MiB live, 88.5MiB allocated
Compiler

Compiled 4 512 to 290 computations (93.6% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...