Distance on a great circle

Time bar (total: 10.9s)

analyze1.2s (11%)

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 71 to 27 computations (62% saved)

Precisions
Click to see histograms. Total time spent on operations: 814.0ms
ival-mult: 276.0ms (33.9% of total)
ival-cos: 136.0ms (16.7% of total)
ival-sin: 95.0ms (11.7% of total)
ival-sub: 70.0ms (8.6% of total)
ival-sqrt: 68.0ms (8.3% of total)
ival-div: 63.0ms (7.7% of total)
ival-pow: 50.0ms (6.1% of total)
ival-atan2: 31.0ms (3.8% of total)
ival-add: 20.0ms (2.5% of total)
const: 6.0ms (0.7% of total)

sample8.7s (79.6%)

Results
4.9s4345×1024valid
1.2s1860×512valid
952.0ms452×2048valid
756.0ms1599×256valid
Precisions
Click to see histograms. Total time spent on operations: 6.8s
ival-sin: 1.4s (20.8% of total)
ival-cos: 1.3s (19.6% of total)
ival-atan2: 1.3s (19.1% of total)
ival-mult: 911.0ms (13.4% of total)
ival-pow: 530.0ms (7.8% of total)
ival-sub: 454.0ms (6.7% of total)
ival-sqrt: 344.0ms (5.1% of total)
ival-div: 340.0ms (5% of total)
ival-add: 135.0ms (2% of total)
const: 35.0ms (0.5% of total)
Bogosity

preprocess174.0ms (1.6%)

Algorithm
egg-herbie
Rules
700×sub-neg
542×distribute-lft-neg-in
497×fma-neg
484×distribute-rgt-neg-in
432×unsub-neg
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
02435660
15585464
214345464
338425368
470105340
Stop Event
node limit
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 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 (neg.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) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 (neg.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 (neg.f64 lambda2)) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 (neg.f64 lambda2)) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 (neg.f64 lambda2)) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 (neg.f64 lambda2)) #s(literal 2 binary64))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 phi1) phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 (neg.f64 phi1)) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 phi1) phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 (neg.f64 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 (neg.f64 phi2)) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 (neg.f64 phi2))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 (neg.f64 phi2)) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 (neg.f64 phi2))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(neg.f64 (*.f64 (neg.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)))))))))))
(neg.f64 (*.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 (neg.f64 lambda1) lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) #s(literal 2 binary64)))))))))))
(neg.f64 (*.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 (neg.f64 lambda2)) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 (neg.f64 lambda2)) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 (neg.f64 lambda2)) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 (neg.f64 lambda2)) #s(literal 2 binary64)))))))))))
(neg.f64 (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 phi1) phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 (neg.f64 phi1)) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 phi1) phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 (neg.f64 phi1)) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))
(neg.f64 (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 (neg.f64 phi2)) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 (neg.f64 phi2))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 (neg.f64 phi2)) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 (neg.f64 phi2))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))
(*.f64 lambda1 (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 R lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 R lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 R lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 R lambda2) #s(literal 2 binary64))))))))))
(*.f64 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 R) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 R) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 R) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 R) #s(literal 2 binary64))))))))))
(*.f64 phi1 (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 R phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 R) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 R phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 R) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 phi2 (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 R) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 R)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 R) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 R)) (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 lambda2 lambda1) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) #s(literal 2 binary64))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 lambda1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 phi1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 phi1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 lambda1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 phi1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 phi1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda1) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 lambda1)) (sin.f64 (/.f64 (-.f64 phi2 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 phi2 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda1) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 lambda1)) (sin.f64 (/.f64 (-.f64 phi2 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 phi2 lambda2) #s(literal 2 binary64))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 lambda2 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 lambda2) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 phi1) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 phi1) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 lambda2 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 lambda2) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 phi1) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 phi1) #s(literal 2 binary64))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 lambda2)) (sin.f64 (/.f64 (-.f64 lambda1 phi2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 phi2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 lambda2)) (sin.f64 (/.f64 (-.f64 lambda1 phi2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 phi2) #s(literal 2 binary64))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi2 phi1) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 phi1)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi2 phi1) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 phi1)) (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))))))))))
(*.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 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (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)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (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 R #s(literal 2 binary64)))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (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)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (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 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (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)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (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 phi2 phi1) #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 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 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 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (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)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (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 R #s(literal 2 binary64)))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (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)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (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 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (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)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (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 phi2 phi1) #s(literal 2 binary64))) #s(literal 2 binary64))))))))
(*.f64 (neg.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 (*.f64 (neg.f64 R) #s(literal 2 binary64)) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))
(*.f64 R (*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (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)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (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)))))) #s(literal -2 binary64)))
(*.f64 R (*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (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)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (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)))))) #s(literal -2 binary64)))
(*.f64 R (*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (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)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (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 phi2 phi1) #s(literal 2 binary64))) #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 (neg.f64 lambda1) lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 (neg.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 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) #s(literal 2 binary64))) (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) #s(literal 2 binary64))) (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) #s(literal 2 binary64)))))))))))
(*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) #s(literal 2 binary64))) (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) #s(literal 2 binary64)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) #s(literal 2 binary64))) (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) #s(literal 2 binary64)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) (*.f64 R #s(literal 2 binary64)))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 lambda2) lambda1) #s(literal 2 binary64))) (sin.f64 (/.f64 (-.f64 (neg.f64 lambda2) lambda1) #s(literal 2 binary64))))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 lambda2) lambda1) #s(literal 2 binary64))) (sin.f64 (/.f64 (-.f64 (neg.f64 lambda2) lambda1) #s(literal 2 binary64))))) (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 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (*.f64 (+.f64 lambda1 lambda2) #s(literal -1/2 binary64))) (sin.f64 (*.f64 (+.f64 lambda1 lambda2) #s(literal -1/2 binary64))))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (*.f64 (+.f64 lambda1 lambda2) #s(literal -1/2 binary64))) (sin.f64 (*.f64 (+.f64 lambda1 lambda2) #s(literal -1/2 binary64))))) (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 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (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)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (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 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 (neg.f64 lambda2)) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 (neg.f64 lambda2)) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 (neg.f64 lambda2)) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 (neg.f64 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 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) #s(literal 2 binary64))) (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) #s(literal 2 binary64))) (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) #s(literal 2 binary64)))))))))))
(*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) #s(literal 2 binary64))) (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) #s(literal 2 binary64)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) #s(literal 2 binary64))) (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) #s(literal 2 binary64)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) (*.f64 R #s(literal 2 binary64)))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 lambda2) lambda1) #s(literal 2 binary64))) (sin.f64 (/.f64 (-.f64 (neg.f64 lambda2) lambda1) #s(literal 2 binary64))))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 lambda2) lambda1) #s(literal 2 binary64))) (sin.f64 (/.f64 (-.f64 (neg.f64 lambda2) lambda1) #s(literal 2 binary64))))) (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 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (*.f64 (+.f64 lambda1 lambda2) #s(literal -1/2 binary64))) (sin.f64 (*.f64 (+.f64 lambda1 lambda2) #s(literal -1/2 binary64))))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (*.f64 (+.f64 lambda1 lambda2) #s(literal -1/2 binary64))) (sin.f64 (*.f64 (+.f64 lambda1 lambda2) #s(literal -1/2 binary64))))) (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 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (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)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (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 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 phi1) phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 (neg.f64 phi1)) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 phi1) phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 (neg.f64 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 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (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 (neg.f64 phi1) phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (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 (neg.f64 phi1) phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))
(*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (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 (neg.f64 phi1) phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (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 (neg.f64 phi1) phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) (*.f64 R #s(literal 2 binary64)))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (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 (neg.f64 phi2) phi1) #s(literal 2 binary64))) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (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 (neg.f64 phi2) phi1) #s(literal 2 binary64))) #s(literal 2 binary64))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (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 -1/2 binary64))) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (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 -1/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 (neg.f64 phi2)) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 (neg.f64 phi2))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 (neg.f64 phi2)) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 (neg.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 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (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 (neg.f64 phi1) phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (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 (neg.f64 phi1) phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))
(*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (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 (neg.f64 phi1) phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (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 (neg.f64 phi1) phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) (*.f64 R #s(literal 2 binary64)))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (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 (neg.f64 phi2) phi1) #s(literal 2 binary64))) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (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 (neg.f64 phi2) phi1) #s(literal 2 binary64))) #s(literal 2 binary64))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (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 -1/2 binary64))) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (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 -1/2 binary64))) #s(literal 2 binary64))))))))
(neg.f64 (*.f64 (neg.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) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (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)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (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 R #s(literal 2 binary64)))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (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)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (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 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (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)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (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 phi2 phi1) #s(literal 2 binary64))) #s(literal 2 binary64))))))))
(neg.f64 (*.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 (neg.f64 lambda1) lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) #s(literal 2 binary64)))))))))))
(*.f64 R (neg.f64 (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) #s(literal 2 binary64))) (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) #s(literal 2 binary64))) (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) #s(literal 2 binary64))))))))))))
(*.f64 R (*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) #s(literal 2 binary64))) (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) #s(literal 2 binary64)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) #s(literal 2 binary64))) (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) #s(literal 2 binary64)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) #s(literal -2 binary64)))
(*.f64 R (*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 lambda2) lambda1) #s(literal 2 binary64))) (sin.f64 (/.f64 (-.f64 (neg.f64 lambda2) lambda1) #s(literal 2 binary64))))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 lambda2) lambda1) #s(literal 2 binary64))) (sin.f64 (/.f64 (-.f64 (neg.f64 lambda2) lambda1) #s(literal 2 binary64))))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) #s(literal -2 binary64)))
(*.f64 R (*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (*.f64 (+.f64 lambda1 lambda2) #s(literal -1/2 binary64))) (sin.f64 (*.f64 (+.f64 lambda1 lambda2) #s(literal -1/2 binary64))))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (*.f64 (+.f64 lambda1 lambda2) #s(literal -1/2 binary64))) (sin.f64 (*.f64 (+.f64 lambda1 lambda2) #s(literal -1/2 binary64))))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) #s(literal -2 binary64)))
(*.f64 R (*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (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)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (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)))))) #s(literal -2 binary64)))
(neg.f64 (*.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 (neg.f64 lambda2)) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 (neg.f64 lambda2)) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 (neg.f64 lambda2)) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 (neg.f64 lambda2)) #s(literal 2 binary64)))))))))))
(*.f64 R (neg.f64 (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) #s(literal 2 binary64))) (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) #s(literal 2 binary64))) (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) #s(literal 2 binary64))))))))))))
(*.f64 R (*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) #s(literal 2 binary64))) (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) #s(literal 2 binary64)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) #s(literal 2 binary64))) (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) #s(literal 2 binary64)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) #s(literal -2 binary64)))
(*.f64 R (*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 lambda2) lambda1) #s(literal 2 binary64))) (sin.f64 (/.f64 (-.f64 (neg.f64 lambda2) lambda1) #s(literal 2 binary64))))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 lambda2) lambda1) #s(literal 2 binary64))) (sin.f64 (/.f64 (-.f64 (neg.f64 lambda2) lambda1) #s(literal 2 binary64))))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) #s(literal -2 binary64)))
(*.f64 R (*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (*.f64 (+.f64 lambda1 lambda2) #s(literal -1/2 binary64))) (sin.f64 (*.f64 (+.f64 lambda1 lambda2) #s(literal -1/2 binary64))))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (*.f64 (+.f64 lambda1 lambda2) #s(literal -1/2 binary64))) (sin.f64 (*.f64 (+.f64 lambda1 lambda2) #s(literal -1/2 binary64))))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) #s(literal -2 binary64)))
(*.f64 R (*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (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)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (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)))))) #s(literal -2 binary64)))
(neg.f64 (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 phi1) phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 (neg.f64 phi1)) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 phi1) phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 (neg.f64 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 (neg.f64 R) (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (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 (neg.f64 phi1) phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (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 (neg.f64 phi1) phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))
(*.f64 R (*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (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 (neg.f64 phi1) phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (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 (neg.f64 phi1) phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) #s(literal -2 binary64)))
(*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (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 (neg.f64 phi2) phi1) #s(literal 2 binary64))) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (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 (neg.f64 phi2) phi1) #s(literal 2 binary64))) #s(literal 2 binary64)))))) (*.f64 R #s(literal -2 binary64)))
(*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (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 -1/2 binary64))) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (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 -1/2 binary64))) #s(literal 2 binary64)))))) (*.f64 R #s(literal -2 binary64)))
(neg.f64 (*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 (neg.f64 phi2)) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 (neg.f64 phi2))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 (neg.f64 phi2)) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 (neg.f64 phi2))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))))))
(*.f64 (neg.f64 R) (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (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 (neg.f64 phi1) phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (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 (neg.f64 phi1) phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))
(*.f64 R (*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (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 (neg.f64 phi1) phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (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 (neg.f64 phi1) phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) #s(literal -2 binary64)))
(*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (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 (neg.f64 phi2) phi1) #s(literal 2 binary64))) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (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 (neg.f64 phi2) phi1) #s(literal 2 binary64))) #s(literal 2 binary64)))))) (*.f64 R #s(literal -2 binary64)))
(*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (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 -1/2 binary64))) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (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 -1/2 binary64))) #s(literal 2 binary64)))))) (*.f64 R #s(literal -2 binary64)))
(*.f64 lambda1 (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 R lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 R lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 R lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 R lambda2) #s(literal 2 binary64))))))))))
(*.f64 lambda1 (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (sin.f64 (/.f64 (-.f64 R lambda2) #s(literal 2 binary64))) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 R lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (sin.f64 (/.f64 (-.f64 R lambda2) #s(literal 2 binary64))) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 R lambda2) #s(literal 2 binary64)))))))))))
(*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 R lambda2) #s(literal 2 binary64))) (sin.f64 (/.f64 (-.f64 R lambda2) #s(literal 2 binary64)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 R lambda2) #s(literal 2 binary64))) (sin.f64 (/.f64 (-.f64 R lambda2) #s(literal 2 binary64)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) (*.f64 #s(literal 2 binary64) lambda1))
(*.f64 #s(literal 2 binary64) (*.f64 lambda1 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (sin.f64 (/.f64 (-.f64 R lambda2) #s(literal 2 binary64))) (*.f64 (cos.f64 phi2) (sin.f64 (/.f64 (-.f64 R lambda2) #s(literal 2 binary64))))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 phi1) (*.f64 (sin.f64 (/.f64 (-.f64 R lambda2) #s(literal 2 binary64))) (*.f64 (cos.f64 phi2) (sin.f64 (/.f64 (-.f64 R lambda2) #s(literal 2 binary64))))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))
(*.f64 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 R) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 R) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 R) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 R) #s(literal 2 binary64))))))))))
(*.f64 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 (sin.f64 (/.f64 (-.f64 lambda1 R) #s(literal 2 binary64))) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (sin.f64 (/.f64 (-.f64 lambda1 R) #s(literal 2 binary64)))))))) (sqrt.f64 (-.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 R) #s(literal 2 binary64))) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (sin.f64 (/.f64 (-.f64 lambda1 R) #s(literal 2 binary64)))))))))))
(*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 R) #s(literal 2 binary64))) (sin.f64 (/.f64 (-.f64 lambda1 R) #s(literal 2 binary64)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 R) #s(literal 2 binary64))) (sin.f64 (/.f64 (-.f64 lambda1 R) #s(literal 2 binary64)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) (*.f64 #s(literal 2 binary64) lambda2))
(*.f64 lambda2 (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 R) #s(literal 2 binary64))) (*.f64 (cos.f64 phi2) (sin.f64 (/.f64 (-.f64 lambda1 R) #s(literal 2 binary64))))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 phi1) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 R) #s(literal 2 binary64))) (*.f64 (cos.f64 phi2) (sin.f64 (/.f64 (-.f64 lambda1 R) #s(literal 2 binary64))))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))
(*.f64 phi1 (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 R phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 R) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 R phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 R) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 phi1 (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 R phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))) (*.f64 (cos.f64 phi2) (cos.f64 R)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 R phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))) (*.f64 (cos.f64 phi2) (cos.f64 R))))))))))
(*.f64 #s(literal 2 binary64) (*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))) (*.f64 (cos.f64 phi2) (cos.f64 R))) (pow.f64 (sin.f64 (/.f64 (-.f64 R phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))) (*.f64 (cos.f64 phi2) (cos.f64 R))) (pow.f64 (sin.f64 (/.f64 (-.f64 R phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) phi1))
(*.f64 phi1 (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))) (*.f64 (cos.f64 phi2) (cos.f64 R))) (pow.f64 (sin.f64 (/.f64 (-.f64 R phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))) (*.f64 (cos.f64 phi2) (cos.f64 R))) (pow.f64 (sin.f64 (/.f64 (-.f64 R phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))))
(*.f64 phi2 (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 R) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 R)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 R) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 R)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 phi2 (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 R) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 R) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 R) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 R) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))))))))))
(*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))) (*.f64 (cos.f64 phi1) (cos.f64 R))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 R) #s(literal 2 binary64))) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))) (*.f64 (cos.f64 phi1) (cos.f64 R))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 R) #s(literal 2 binary64))) #s(literal 2 binary64)))))) (*.f64 #s(literal 2 binary64) phi2))
(*.f64 #s(literal 2 binary64) (*.f64 phi2 (atan2.f64 (sqrt.f64 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 R)) (*.f64 (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 R) #s(literal 2 binary64))) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 R)) (*.f64 (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 R) #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 lambda2 lambda1) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) #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 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) #s(literal 2 binary64))) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) #s(literal 2 binary64))) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) #s(literal 2 binary64)))))))))))
(*.f64 #s(literal 2 binary64) (*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) #s(literal 2 binary64))) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) #s(literal 2 binary64)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) #s(literal 2 binary64))) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) #s(literal 2 binary64)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) R))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) #s(literal 2 binary64))) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) #s(literal 2 binary64))))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda2 lambda1) #s(literal 2 binary64))) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) #s(literal 2 binary64))))) (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 lambda1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 phi1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 phi1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 lambda1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 phi1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 phi1 lambda2) #s(literal 2 binary64))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 lambda1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 lambda1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda2) #s(literal 2 binary64))) #s(literal 2 binary64)))))))))
(*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda2) #s(literal 2 binary64))) #s(literal 2 binary64)) (pow.f64 (sin.f64 (/.f64 (-.f64 lambda1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda2) #s(literal 2 binary64))) #s(literal 2 binary64)) (pow.f64 (sin.f64 (/.f64 (-.f64 lambda1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) (*.f64 R #s(literal 2 binary64)))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda1) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda2) #s(literal 2 binary64))) #s(literal 2 binary64))) (pow.f64 (sin.f64 (/.f64 (-.f64 lambda1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda1) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda2) #s(literal 2 binary64))) #s(literal 2 binary64))) (pow.f64 (sin.f64 (/.f64 (-.f64 lambda1 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 lambda1) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 lambda1)) (sin.f64 (/.f64 (-.f64 phi2 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 phi2 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda1) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 lambda1)) (sin.f64 (/.f64 (-.f64 phi2 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 phi2 lambda2) #s(literal 2 binary64))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda1) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (sin.f64 (/.f64 (-.f64 phi2 lambda2) #s(literal 2 binary64))) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 lambda1)) (sin.f64 (/.f64 (-.f64 phi2 lambda2) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda1) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (sin.f64 (/.f64 (-.f64 phi2 lambda2) #s(literal 2 binary64))) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 lambda1)) (sin.f64 (/.f64 (-.f64 phi2 lambda2) #s(literal 2 binary64)))))))))))
(*.f64 #s(literal 2 binary64) (*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 phi2 lambda2) #s(literal 2 binary64))) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 lambda1) (sin.f64 (/.f64 (-.f64 phi2 lambda2) #s(literal 2 binary64))))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda1) #s(literal 2 binary64))) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (sin.f64 (/.f64 (-.f64 phi2 lambda2) #s(literal 2 binary64))) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 lambda1) (sin.f64 (/.f64 (-.f64 phi2 lambda2) #s(literal 2 binary64))))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda1) #s(literal 2 binary64))) #s(literal 2 binary64)))))) R))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 phi2 lambda2) #s(literal 2 binary64))) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 lambda1)) (sin.f64 (/.f64 (-.f64 phi2 lambda2) #s(literal 2 binary64)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda1) #s(literal 2 binary64))) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (sin.f64 (/.f64 (-.f64 phi2 lambda2) #s(literal 2 binary64))) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 lambda1)) (sin.f64 (/.f64 (-.f64 phi2 lambda2) #s(literal 2 binary64)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda1) #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 lambda1) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (cos.f64 lambda1) (*.f64 (cos.f64 phi1) (neg.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 lambda2 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))))) (sqrt.f64 (+.f64 #s(literal 1 binary64) (-.f64 (*.f64 (cos.f64 lambda1) (*.f64 (cos.f64 phi1) (neg.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 lambda2 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda1) #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 lambda2 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 lambda2) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 phi1) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 phi1) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 lambda2 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 lambda2) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 phi1) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 phi1) #s(literal 2 binary64))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 lambda2 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 phi1) #s(literal 2 binary64))) (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (sin.f64 (/.f64 (-.f64 lambda1 phi1) #s(literal 2 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 lambda2 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 phi1) #s(literal 2 binary64))) (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (sin.f64 (/.f64 (-.f64 lambda1 phi1) #s(literal 2 binary64)))))))))))
(*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 phi1) #s(literal 2 binary64))) (sin.f64 (/.f64 (-.f64 lambda1 phi1) #s(literal 2 binary64)))) (pow.f64 (sin.f64 (/.f64 (-.f64 lambda2 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 phi1) #s(literal 2 binary64))) (sin.f64 (/.f64 (-.f64 lambda1 phi1) #s(literal 2 binary64)))) (pow.f64 (sin.f64 (/.f64 (-.f64 lambda2 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) (*.f64 R #s(literal 2 binary64)))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 phi1) #s(literal 2 binary64))) (sin.f64 (/.f64 (-.f64 lambda1 phi1) #s(literal 2 binary64))))) (pow.f64 (sin.f64 (/.f64 (-.f64 lambda2 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 phi1) #s(literal 2 binary64))) (sin.f64 (/.f64 (-.f64 lambda1 phi1) #s(literal 2 binary64))))) (pow.f64 (sin.f64 (/.f64 (-.f64 lambda2 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 lambda2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 lambda2)) (sin.f64 (/.f64 (-.f64 lambda1 phi2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 phi2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 lambda2)) (sin.f64 (/.f64 (-.f64 lambda1 phi2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 phi2) #s(literal 2 binary64))))))))))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 lambda2)) (pow.f64 (sin.f64 (/.f64 (-.f64 lambda1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 lambda2)) (pow.f64 (sin.f64 (/.f64 (-.f64 lambda1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)))))))))
(*.f64 #s(literal 2 binary64) (*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 lambda2)) (pow.f64 (sin.f64 (/.f64 (-.f64 lambda1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda2) #s(literal 2 binary64))) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 lambda2)) (pow.f64 (sin.f64 (/.f64 (-.f64 lambda1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda2) #s(literal 2 binary64))) #s(literal 2 binary64)))))) R))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 lambda1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (cos.f64 lambda2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda2) #s(literal 2 binary64))) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 phi1) (*.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 lambda1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (cos.f64 lambda2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda2) #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 phi2 phi1) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 phi1)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi2 phi1) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 phi1)) (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 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (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 phi2 phi1) #s(literal 2 binary64))) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (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 phi2 phi1) #s(literal 2 binary64))) #s(literal 2 binary64))))))))
(*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (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 phi2 phi1) #s(literal 2 binary64))) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (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 phi2 phi1) #s(literal 2 binary64))) #s(literal 2 binary64)))))) (*.f64 R #s(literal 2 binary64)))
(*.f64 R (*.f64 #s(literal 2 binary64) (atan2.f64 (sqrt.f64 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (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 phi2 phi1) #s(literal 2 binary64))) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (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 phi2 phi1) #s(literal 2 binary64))) #s(literal 2 binary64))))))))
Symmetry

(negabs R)

explain798.0ms (7.3%)

FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
87116(7.577288272200259e+65 -1.64169190090012e+290 0.0031709942811427487 -5.1274914129995765e+181 -3.768808884603901e-282)0-(sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))
72123(1.5428304275968285e-150 1.0665784701214692e-131 -2.9796589521564964e+222 5.6222447694349216e+196 -1.3251190805136685e+28)0-(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))
40-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))))))
20-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-(cos.f64 phi1)
00-0-(-.f64 phi1 phi2)
00-0-(/.f64 (-.f64 phi1 phi2) #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-#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-(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))))
00-0-(/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64))
00-0-phi1
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-(cos.f64 phi2)
00-0-lambda1
00-0-R
00-0-(-.f64 lambda1 lambda2)
00-0-(*.f64 (cos.f64 phi1) (cos.f64 phi2))
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)))))))))
017(5.268972027342871e+304 4.2784820072303547e+254 -1.2848479764710905e-284 4.081891950578025e-61 -6.65164523504703e-309)0-(pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64))
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-phi2
00-0-#s(literal 1 binary64)
00-0-lambda2
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))))
Results
416.0ms270×1024valid
105.0ms108×512valid
80.0ms30×2048valid
48.0ms104×256valid
Compiler

Compiled 862 to 80 computations (90.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 384.0ms
ival-cos: 89.0ms (23.2% of total)
ival-sin: 75.0ms (19.5% of total)
ival-atan2: 65.0ms (16.9% of total)
ival-mult: 52.0ms (13.5% of total)
ival-sub: 38.0ms (9.9% of total)
ival-div: 22.0ms (5.7% of total)
ival-sqrt: 19.0ms (4.9% of total)
ival-pow: 16.0ms (4.2% of total)
ival-add: 6.0ms (1.6% of total)
const: 2.0ms (0.5% of total)

eval0.0ms (0%)

Compiler

Compiled 5 to 5 computations (0% saved)

prune1.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
57.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))))))))))
Compiler

Compiled 140 to 52 computations (62.9% saved)

simplify8.0ms (0.1%)

Algorithm
egg-herbie
Rules
15×*-commutative
14×+-commutative
13×sub-neg
10×neg-sub0
10×neg-mul-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
035256
152256
266256
384256
4100256
5114256
6122256
7127256
8129256
Stop Event
saturated
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))))))))))
(*.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 (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))))))) (sqrt.f64 (-.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (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)))))))))))

soundness1.0ms (0%)

Stop Event
fuel
Compiler

Compiled 70 to 26 computations (62.9% saved)

preprocess40.0ms (0.4%)

Remove

(negabs R)

Compiler

Compiled 560 to 208 computations (62.9% saved)

end0.0ms (0%)

Profiling

Loading profile data...