Distance on a great circle

Time bar (total: 18.9s)

analyze2.2s (11.4%)

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 47 computations (33.8% saved)

sample14.8s (78.3%)

Results
9.7s4335×body1024valid
2.5s1941×body512valid
1.6s425×body2048valid
938.0ms1553×body256valid
3.0msbody1024infinite
Bogosity

preprocess1.9s (10.2%)

Algorithm
egg-herbie
Rules
1724×distribute-lft-neg-in
1398×distribute-rgt-neg-in
1326×sub-neg
954×fma-neg
612×associate-*r*
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
02384316
15454180
213684176
334544128
461154100
Stop Event
node limit
Calls
Call 1
Inputs
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))))) (sqrt.f64 (-.f64 1 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))))))))
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))))) (sqrt.f64 (-.f64 1 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))))))))
(*.f64 (neg.f64 R) (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))))) (sqrt.f64 (-.f64 1 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))))))))
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) 2))) (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) 2))))) (sqrt.f64 (-.f64 1 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) 2))) (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) 2)))))))))
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 (neg.f64 lambda2)) 2))) (sin.f64 (/.f64 (-.f64 lambda1 (neg.f64 lambda2)) 2))))) (sqrt.f64 (-.f64 1 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 (neg.f64 lambda2)) 2))) (sin.f64 (/.f64 (-.f64 lambda1 (neg.f64 lambda2)) 2)))))))))
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 phi1) phi2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 (neg.f64 phi1)) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))))) (sqrt.f64 (-.f64 1 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 phi1) phi2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 (neg.f64 phi1)) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))))))))
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 (neg.f64 phi2)) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 (neg.f64 phi2))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))))) (sqrt.f64 (-.f64 1 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 (neg.f64 phi2)) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 (neg.f64 phi2))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))))))))
(*.f64 lambda1 (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 R lambda2) 2))) (sin.f64 (/.f64 (-.f64 R lambda2) 2))))) (sqrt.f64 (-.f64 1 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 R lambda2) 2))) (sin.f64 (/.f64 (-.f64 R lambda2) 2)))))))))
(*.f64 lambda2 (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 R) 2))) (sin.f64 (/.f64 (-.f64 lambda1 R) 2))))) (sqrt.f64 (-.f64 1 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 R) 2))) (sin.f64 (/.f64 (-.f64 lambda1 R) 2)))))))))
(*.f64 phi1 (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 R phi2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 R) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))))) (sqrt.f64 (-.f64 1 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 R phi2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 R) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))))))))
(*.f64 phi2 (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 R) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 R)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))))) (sqrt.f64 (-.f64 1 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 R) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 R)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))))))))
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2))) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2))))) (sqrt.f64 (-.f64 1 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2))) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))))))))
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 lambda1 phi2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 phi1 lambda2) 2))) (sin.f64 (/.f64 (-.f64 phi1 lambda2) 2))))) (sqrt.f64 (-.f64 1 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 lambda1 phi2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 phi1 lambda2) 2))) (sin.f64 (/.f64 (-.f64 phi1 lambda2) 2)))))))))
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda1) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 lambda1)) (sin.f64 (/.f64 (-.f64 phi2 lambda2) 2))) (sin.f64 (/.f64 (-.f64 phi2 lambda2) 2))))) (sqrt.f64 (-.f64 1 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda1) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 lambda1)) (sin.f64 (/.f64 (-.f64 phi2 lambda2) 2))) (sin.f64 (/.f64 (-.f64 phi2 lambda2) 2)))))))))
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 lambda2 phi2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 lambda2) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 phi1) 2))) (sin.f64 (/.f64 (-.f64 lambda1 phi1) 2))))) (sqrt.f64 (-.f64 1 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 lambda2 phi2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 lambda2) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 phi1) 2))) (sin.f64 (/.f64 (-.f64 lambda1 phi1) 2)))))))))
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 lambda2)) (sin.f64 (/.f64 (-.f64 lambda1 phi2) 2))) (sin.f64 (/.f64 (-.f64 lambda1 phi2) 2))))) (sqrt.f64 (-.f64 1 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 lambda2)) (sin.f64 (/.f64 (-.f64 lambda1 phi2) 2))) (sin.f64 (/.f64 (-.f64 lambda1 phi2) 2)))))))))
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi2 phi1) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 phi1)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))))) (sqrt.f64 (-.f64 1 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi2 phi1) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 phi1)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))))))))
Outputs
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))))) (sqrt.f64 (-.f64 1 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))))))))
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))))))) (sqrt.f64 (-.f64 1 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))))))))))
(*.f64 2 (*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))))) R))
(*.f64 2 (*.f64 R (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (cos.f64 phi2) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (cos.f64 phi2) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi2 phi1) 2)) 2)))))))
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))))) (sqrt.f64 (-.f64 1 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))))))))
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))))))) (sqrt.f64 (-.f64 1 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))))))))))
(*.f64 2 (*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))))) R))
(*.f64 2 (*.f64 R (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (cos.f64 phi2) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (cos.f64 phi2) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi2 phi1) 2)) 2)))))))
(*.f64 (neg.f64 R) (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))))) (sqrt.f64 (-.f64 1 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))))))))
(*.f64 (*.f64 (neg.f64 R) 2) (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))))))) (sqrt.f64 (-.f64 1 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))))))))))
(*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))))) (*.f64 2 (neg.f64 R)))
(*.f64 R (*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (cos.f64 phi2) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (cos.f64 phi2) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))))) -2))
(*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))))) (*.f64 R -2))
(*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi2 phi1) 2)) 2))))) (*.f64 R -2))
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) 2))) (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) 2))))) (sqrt.f64 (-.f64 1 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) 2))) (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) 2)))))))))
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) 2)) (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) 2)))))) (sqrt.f64 (-.f64 1 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) 2)) (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) 2))))))))))
(*.f64 2 (*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) 2)) (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) 2)) (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))))) R))
(*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) 2)) (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) 2)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) 2)) (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) 2)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))))) (*.f64 R 2))
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (*.f64 -1/2 (+.f64 lambda1 lambda2))) (sin.f64 (*.f64 -1/2 (+.f64 lambda1 lambda2))))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (*.f64 -1/2 (+.f64 lambda1 lambda2))) (sin.f64 (*.f64 -1/2 (+.f64 lambda1 lambda2))))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 (neg.f64 lambda2)) 2))) (sin.f64 (/.f64 (-.f64 lambda1 (neg.f64 lambda2)) 2))))) (sqrt.f64 (-.f64 1 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 (neg.f64 lambda2)) 2))) (sin.f64 (/.f64 (-.f64 lambda1 (neg.f64 lambda2)) 2)))))))))
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) 2)) (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) 2)))))) (sqrt.f64 (-.f64 1 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) 2)) (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) 2))))))))))
(*.f64 2 (*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) 2)) (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) 2)) (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))))) R))
(*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) 2)) (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) 2)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) 2)) (sin.f64 (/.f64 (-.f64 (neg.f64 lambda1) lambda2) 2)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))))) (*.f64 R 2))
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (*.f64 -1/2 (+.f64 lambda1 lambda2))) (sin.f64 (*.f64 -1/2 (+.f64 lambda1 lambda2))))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (*.f64 -1/2 (+.f64 lambda1 lambda2))) (sin.f64 (*.f64 -1/2 (+.f64 lambda1 lambda2))))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 phi1) phi2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 (neg.f64 phi1)) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))))) (sqrt.f64 (-.f64 1 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 phi1) phi2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 (neg.f64 phi1)) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))))))))
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))))) (pow.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 phi1) phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (+.f64 (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))))) (pow.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 phi1) phi2) 2)) 2)))))))
(*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 phi1) phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 phi1) phi2) 2)) 2))))) (*.f64 R 2))
(*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (cos.f64 phi2) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))) (pow.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 phi1) phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (cos.f64 phi2) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))) (pow.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 phi1) phi2) 2)) 2))))) (*.f64 R 2))
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (+.f64 phi1 phi2))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (+.f64 phi1 phi2) 2)) 2)))))))
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (+.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (+.f64 phi1 phi2) 2)) 2)))))))
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 (neg.f64 phi2)) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 (neg.f64 phi2))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))))) (sqrt.f64 (-.f64 1 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 (neg.f64 phi2)) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 (neg.f64 phi2))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))))))))
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))))) (pow.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 phi1) phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (+.f64 (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))))) (pow.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 phi1) phi2) 2)) 2)))))))
(*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 phi1) phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 phi1) phi2) 2)) 2))))) (*.f64 R 2))
(*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (cos.f64 phi2) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))) (pow.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 phi1) phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (cos.f64 phi2) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))) (pow.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 phi1) phi2) 2)) 2))))) (*.f64 R 2))
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))) (pow.f64 (sin.f64 (*.f64 -1/2 (+.f64 phi1 phi2))) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (+.f64 phi1 phi2) 2)) 2)))))))
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (+.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (+.f64 phi1 phi2) 2)) 2)))))))
(*.f64 lambda1 (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 R lambda2) 2))) (sin.f64 (/.f64 (-.f64 R lambda2) 2))))) (sqrt.f64 (-.f64 1 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 R lambda2) 2))) (sin.f64 (/.f64 (-.f64 R lambda2) 2)))))))))
(*.f64 lambda1 (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 R lambda2) 2)) (sin.f64 (/.f64 (-.f64 R lambda2) 2)))))) (sqrt.f64 (-.f64 1 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 R lambda2) 2)) (sin.f64 (/.f64 (-.f64 R lambda2) 2))))))))))
(*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 R lambda2) 2)) (sin.f64 (/.f64 (-.f64 R lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 R lambda2) 2)) (sin.f64 (/.f64 (-.f64 R lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))))) (*.f64 2 lambda1))
(*.f64 lambda1 (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 R lambda2) 2)) (sin.f64 (/.f64 (-.f64 R lambda2) 2)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 R lambda2) 2)) (sin.f64 (/.f64 (-.f64 R lambda2) 2)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
(*.f64 lambda2 (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 R) 2))) (sin.f64 (/.f64 (-.f64 lambda1 R) 2))))) (sqrt.f64 (-.f64 1 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 R) 2))) (sin.f64 (/.f64 (-.f64 lambda1 R) 2)))))))))
(*.f64 lambda2 (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 R) 2)) (sin.f64 (/.f64 (-.f64 lambda1 R) 2)))))) (sqrt.f64 (-.f64 1 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 R) 2)) (sin.f64 (/.f64 (-.f64 lambda1 R) 2))))))))))
(*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 R) 2)) (sin.f64 (/.f64 (-.f64 lambda1 R) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 R) 2)) (sin.f64 (/.f64 (-.f64 lambda1 R) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))))) (*.f64 2 lambda2))
(*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 (/.f64 (-.f64 lambda1 R) 2))) (sin.f64 (/.f64 (-.f64 lambda1 R) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 (/.f64 (-.f64 lambda1 R) 2))) (sin.f64 (/.f64 (-.f64 lambda1 R) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))))) (*.f64 2 lambda2))
(*.f64 lambda2 (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 R) 2)) (sin.f64 (/.f64 (-.f64 lambda1 R) 2)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 R) 2)) (sin.f64 (/.f64 (-.f64 lambda1 R) 2)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
(*.f64 phi1 (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 R phi2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 R) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))))) (sqrt.f64 (-.f64 1 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 R phi2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 R) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))))))))
(*.f64 phi1 (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 R phi2) 2)) 2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (cos.f64 phi2) (cos.f64 R)))))) (sqrt.f64 (-.f64 1 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 R phi2) 2)) 2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (cos.f64 phi2) (cos.f64 R))))))))))
(*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (cos.f64 phi2) (cos.f64 R))) (pow.f64 (sin.f64 (/.f64 (-.f64 R phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (cos.f64 phi2) (cos.f64 R))) (pow.f64 (sin.f64 (/.f64 (-.f64 R phi2) 2)) 2))))) (*.f64 2 phi1))
(*.f64 2 (*.f64 phi1 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 R) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))) (pow.f64 (sin.f64 (/.f64 (-.f64 R phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 R) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))) (pow.f64 (sin.f64 (/.f64 (-.f64 R phi2) 2)) 2)))))))
(*.f64 phi2 (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 R) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 R)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))))) (sqrt.f64 (-.f64 1 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 R) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 R)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))))))))
(*.f64 phi2 (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 R) 2)) 2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (cos.f64 phi1) (cos.f64 R)))))) (sqrt.f64 (-.f64 1 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 R) 2)) 2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (cos.f64 phi1) (cos.f64 R))))))))))
(*.f64 2 (*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (cos.f64 phi1) (cos.f64 R))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 R) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (cos.f64 phi1) (cos.f64 R))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 R) 2)) 2))))) phi2))
(*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (cos.f64 phi1) (cos.f64 R))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 R) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (cos.f64 phi1) (cos.f64 R))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 R) 2)) 2))))) (*.f64 2 phi2))
(*.f64 2 (*.f64 phi2 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (cos.f64 phi1) (cos.f64 R))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 R) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (cos.f64 phi1) (cos.f64 R))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 R) 2)) 2)))))))
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2))) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2))))) (sqrt.f64 (-.f64 1 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2))) (sin.f64 (/.f64 (-.f64 lambda2 lambda1) 2)))))))))
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))))))) (sqrt.f64 (-.f64 1 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))))))))))
(*.f64 2 (*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))))) R))
(*.f64 2 (*.f64 R (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (cos.f64 phi2) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (cos.f64 phi2) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2)))))))
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi2 phi1) 2)) 2)))))))
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 lambda1 phi2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 phi1 lambda2) 2))) (sin.f64 (/.f64 (-.f64 phi1 lambda2) 2))))) (sqrt.f64 (-.f64 1 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 lambda1 phi2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 phi1 lambda2) 2))) (sin.f64 (/.f64 (-.f64 phi1 lambda2) 2)))))))))
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 lambda1 phi2) 2)) 2) (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda2) 2)) 2)))) (sqrt.f64 (-.f64 1 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 lambda1 phi2) 2)) 2) (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda2) 2)) 2))))))))
(*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda2) 2)) 2) (pow.f64 (sin.f64 (/.f64 (-.f64 lambda1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda2) 2)) 2) (pow.f64 (sin.f64 (/.f64 (-.f64 lambda1 phi2) 2)) 2))))) (*.f64 R 2))
(*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda1) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda2) 2)) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 lambda1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda1) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda2) 2)) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 lambda1 phi2) 2)) 2))))) (*.f64 R 2))
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda1) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda2) 2)) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 lambda1 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda1) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda2) 2)) 2)) (pow.f64 (sin.f64 (/.f64 (-.f64 lambda1 phi2) 2)) 2)))))))
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda1) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 lambda1)) (sin.f64 (/.f64 (-.f64 phi2 lambda2) 2))) (sin.f64 (/.f64 (-.f64 phi2 lambda2) 2))))) (sqrt.f64 (-.f64 1 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda1) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 lambda1)) (sin.f64 (/.f64 (-.f64 phi2 lambda2) 2))) (sin.f64 (/.f64 (-.f64 phi2 lambda2) 2)))))))))
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda1) 2)) 2) (*.f64 (sin.f64 (/.f64 (-.f64 phi2 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 lambda1)) (sin.f64 (/.f64 (-.f64 phi2 lambda2) 2)))))) (sqrt.f64 (-.f64 1 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda1) 2)) 2) (*.f64 (sin.f64 (/.f64 (-.f64 phi2 lambda2) 2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 lambda1)) (sin.f64 (/.f64 (-.f64 phi2 lambda2) 2))))))))))
(*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 lambda1)) (*.f64 (sin.f64 (/.f64 (-.f64 phi2 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi2 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda1) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 lambda1)) (*.f64 (sin.f64 (/.f64 (-.f64 phi2 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi2 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda1) 2)) 2))))) (*.f64 R 2))
(*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 (/.f64 (-.f64 phi2 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi2 lambda2) 2)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda1) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 (/.f64 (-.f64 phi2 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi2 lambda2) 2)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda1) 2)) 2))))) (*.f64 R 2))
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 (/.f64 (-.f64 phi2 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi2 lambda2) 2)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda1) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 (/.f64 (-.f64 phi2 lambda2) 2)) (sin.f64 (/.f64 (-.f64 phi2 lambda2) 2)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda1) 2)) 2)))))))
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (-.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda1) 2)) 2) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 lambda1) (neg.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 lambda2 phi2) 2)) 2)))))) (sqrt.f64 (+.f64 1 (-.f64 (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 lambda1) (neg.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 lambda2 phi2) 2)) 2)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda1) 2)) 2)))))))
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 lambda2 phi2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 lambda2) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 phi1) 2))) (sin.f64 (/.f64 (-.f64 lambda1 phi1) 2))))) (sqrt.f64 (-.f64 1 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 lambda2 phi2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 lambda2) (cos.f64 phi2)) (sin.f64 (/.f64 (-.f64 lambda1 phi1) 2))) (sin.f64 (/.f64 (-.f64 lambda1 phi1) 2)))))))))
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 lambda2 phi2) 2)) 2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 phi1) 2)) (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (sin.f64 (/.f64 (-.f64 lambda1 phi1) 2)))))) (sqrt.f64 (-.f64 1 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 lambda2 phi2) 2)) 2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 phi1) 2)) (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (sin.f64 (/.f64 (-.f64 lambda1 phi1) 2))))))))))
(*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 phi1) 2)) (sin.f64 (/.f64 (-.f64 lambda1 phi1) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 lambda2 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 phi1) 2)) (sin.f64 (/.f64 (-.f64 lambda1 phi1) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 lambda2 phi2) 2)) 2))))) (*.f64 R 2))
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 phi1) 2)) (sin.f64 (/.f64 (-.f64 lambda1 phi1) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 lambda2 phi2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 phi1) 2)) (sin.f64 (/.f64 (-.f64 lambda1 phi1) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 lambda2 phi2) 2)) 2)))))))
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 lambda2)) (sin.f64 (/.f64 (-.f64 lambda1 phi2) 2))) (sin.f64 (/.f64 (-.f64 lambda1 phi2) 2))))) (sqrt.f64 (-.f64 1 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda2) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 lambda2)) (sin.f64 (/.f64 (-.f64 lambda1 phi2) 2))) (sin.f64 (/.f64 (-.f64 lambda1 phi2) 2)))))))))
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda2) 2)) 2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 lambda2)) (pow.f64 (sin.f64 (/.f64 (-.f64 lambda1 phi2) 2)) 2)))) (sqrt.f64 (-.f64 1 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda2) 2)) 2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 lambda2)) (pow.f64 (sin.f64 (/.f64 (-.f64 lambda1 phi2) 2)) 2))))))))
(*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 lambda2)) (pow.f64 (sin.f64 (/.f64 (-.f64 lambda1 phi2) 2)) 2) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 lambda2)) (pow.f64 (sin.f64 (/.f64 (-.f64 lambda1 phi2) 2)) 2) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda2) 2)) 2))))) (*.f64 R 2))
(*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 lambda1 phi2) 2)) 2) (cos.f64 lambda2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 lambda1 phi2) 2)) 2) (cos.f64 lambda2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda2) 2)) 2))))) (*.f64 R 2))
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 lambda1 phi2) 2)) 2) (cos.f64 lambda2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda2) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 lambda1 phi2) 2)) 2) (cos.f64 lambda2)) (pow.f64 (sin.f64 (/.f64 (-.f64 phi1 lambda2) 2)) 2)))))))
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi2 phi1) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 phi1)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))))) (sqrt.f64 (-.f64 1 (+.f64 (pow.f64 (sin.f64 (/.f64 (-.f64 phi2 phi1) 2)) 2) (*.f64 (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 phi1)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))))))))
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (+.f64 (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi2 phi1) 2)) 2))) (sqrt.f64 (-.f64 1 (+.f64 (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi2 phi1) 2)) 2)))))))
(*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi2 phi1) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi2 phi1) 2)) 2))))) (*.f64 R 2))
(*.f64 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (cos.f64 phi2) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi2 phi1) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (*.f64 (cos.f64 phi2) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi2 phi1) 2)) 2))))) (*.f64 R 2))
(*.f64 R (*.f64 2 (atan2.f64 (sqrt.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi2 phi1) 2)) 2))) (sqrt.f64 (-.f64 1 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)) (sin.f64 (/.f64 (-.f64 lambda1 lambda2) 2)))) (pow.f64 (sin.f64 (/.f64 (-.f64 phi2 phi1) 2)) 2)))))))
Symmetry

(sort lambda1 lambda2)

Compiler

Compiled 792 to 412 computations (48% saved)

end0.0ms (0%)

Profiling

Loading profile data...