Equirectangular approximation to distance on a great circle

Time bar (total: 3.3s)

analyze554.0ms (16.6%)

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
3.1%3.1%96.6%0.2%0%0%0%10
15.6%15.6%84.2%0.2%0%0%0%11
15.6%15.6%84.2%0.2%0%0%0%12
Compiler

Compiled 38 to 22 computations (42.1% saved)

sample2.3s (69.3%)

Results
1.1s4782×body256valid
439.0ms2010×body256infinite
275.0ms442×body1024valid
214.0ms516×body512valid
143.0ms237×body1024infinite
140.0ms264×body512infinite
5.0msbody2048valid
Bogosity

preprocess472.0ms (14.1%)

Algorithm
egg-herbie
Rules
613×distribute-lft-neg-out
548×distribute-rgt-neg-out
500×+-commutative
441×associate--l+
369×distribute-lft-in
Problems
161×(sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)))) (*.f64 (-.f64 phi1 phi2) (-.f64 phi1 phi2))))
63×No Errors
32×(cos.f64 (/.f64 (+.f64 phi1 phi2) 2))
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01591548
14021540
210421524
338311516
472201516
Stop Event
node limit
Calls
Call 1
Inputs
(*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)))) (*.f64 (-.f64 phi1 phi2) (-.f64 phi1 phi2)))))
(*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)))) (*.f64 (-.f64 phi1 phi2) (-.f64 phi1 phi2)))))
(*.f64 (neg.f64 R) (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)))) (*.f64 (-.f64 phi1 phi2) (-.f64 phi1 phi2)))))
(*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 (neg.f64 lambda1) lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (*.f64 (-.f64 (neg.f64 lambda1) lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)))) (*.f64 (-.f64 phi1 phi2) (-.f64 phi1 phi2)))))
(*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 (neg.f64 lambda2)) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (*.f64 (-.f64 lambda1 (neg.f64 lambda2)) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)))) (*.f64 (-.f64 phi1 phi2) (-.f64 phi1 phi2)))))
(*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 (neg.f64 phi1) phi2) 2))) (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 (neg.f64 phi1) phi2) 2)))) (*.f64 (-.f64 (neg.f64 phi1) phi2) (-.f64 (neg.f64 phi1) phi2)))))
(*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 (neg.f64 phi2)) 2))) (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 (neg.f64 phi2)) 2)))) (*.f64 (-.f64 phi1 (neg.f64 phi2)) (-.f64 phi1 (neg.f64 phi2))))))
(neg.f64 (*.f64 (neg.f64 R) (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)))) (*.f64 (-.f64 phi1 phi2) (-.f64 phi1 phi2))))))
(neg.f64 (*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 (neg.f64 lambda1) lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (*.f64 (-.f64 (neg.f64 lambda1) lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)))) (*.f64 (-.f64 phi1 phi2) (-.f64 phi1 phi2))))))
(neg.f64 (*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 (neg.f64 lambda2)) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (*.f64 (-.f64 lambda1 (neg.f64 lambda2)) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)))) (*.f64 (-.f64 phi1 phi2) (-.f64 phi1 phi2))))))
(neg.f64 (*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 (neg.f64 phi1) phi2) 2))) (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 (neg.f64 phi1) phi2) 2)))) (*.f64 (-.f64 (neg.f64 phi1) phi2) (-.f64 (neg.f64 phi1) phi2))))))
(neg.f64 (*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 (neg.f64 phi2)) 2))) (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 (neg.f64 phi2)) 2)))) (*.f64 (-.f64 phi1 (neg.f64 phi2)) (-.f64 phi1 (neg.f64 phi2)))))))
(*.f64 lambda1 (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 R lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (*.f64 (-.f64 R lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)))) (*.f64 (-.f64 phi1 phi2) (-.f64 phi1 phi2)))))
(*.f64 lambda2 (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 R) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (*.f64 (-.f64 lambda1 R) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)))) (*.f64 (-.f64 phi1 phi2) (-.f64 phi1 phi2)))))
(*.f64 phi1 (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 R phi2) 2))) (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 R phi2) 2)))) (*.f64 (-.f64 R phi2) (-.f64 R phi2)))))
(*.f64 phi2 (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 R) 2))) (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 R) 2)))) (*.f64 (-.f64 phi1 R) (-.f64 phi1 R)))))
(*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda2 lambda1) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (*.f64 (-.f64 lambda2 lambda1) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)))) (*.f64 (-.f64 phi1 phi2) (-.f64 phi1 phi2)))))
(*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 phi1 lambda2) (cos.f64 (/.f64 (+.f64 lambda1 phi2) 2))) (*.f64 (-.f64 phi1 lambda2) (cos.f64 (/.f64 (+.f64 lambda1 phi2) 2)))) (*.f64 (-.f64 lambda1 phi2) (-.f64 lambda1 phi2)))))
(*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 phi2 lambda2) (cos.f64 (/.f64 (+.f64 phi1 lambda1) 2))) (*.f64 (-.f64 phi2 lambda2) (cos.f64 (/.f64 (+.f64 phi1 lambda1) 2)))) (*.f64 (-.f64 phi1 lambda1) (-.f64 phi1 lambda1)))))
(*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 phi1) (cos.f64 (/.f64 (+.f64 lambda2 phi2) 2))) (*.f64 (-.f64 lambda1 phi1) (cos.f64 (/.f64 (+.f64 lambda2 phi2) 2)))) (*.f64 (-.f64 lambda2 phi2) (-.f64 lambda2 phi2)))))
(*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 phi2) (cos.f64 (/.f64 (+.f64 phi1 lambda2) 2))) (*.f64 (-.f64 lambda1 phi2) (cos.f64 (/.f64 (+.f64 phi1 lambda2) 2)))) (*.f64 (-.f64 phi1 lambda2) (-.f64 phi1 lambda2)))))
(*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi2 phi1) 2))) (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi2 phi1) 2)))) (*.f64 (-.f64 phi2 phi1) (-.f64 phi2 phi1)))))
Outputs
(*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)))) (*.f64 (-.f64 phi1 phi2) (-.f64 phi1 phi2)))))
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))
(*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)))) (*.f64 (-.f64 phi1 phi2) (-.f64 phi1 phi2)))))
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))
(*.f64 (neg.f64 R) (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)))) (*.f64 (-.f64 phi1 phi2) (-.f64 phi1 phi2)))))
(*.f64 (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)) (neg.f64 R))
(*.f64 R (neg.f64 (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2))))
(*.f64 (neg.f64 R) (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))
(*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 (neg.f64 lambda1) lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (*.f64 (-.f64 (neg.f64 lambda1) lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)))) (*.f64 (-.f64 phi1 phi2) (-.f64 phi1 phi2)))))
(*.f64 R (hypot.f64 (*.f64 (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)) (-.f64 (neg.f64 lambda1) lambda2)) (-.f64 phi1 phi2)))
(*.f64 R (hypot.f64 (-.f64 phi1 phi2) (*.f64 (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)) (-.f64 (neg.f64 lambda1) lambda2))))
(*.f64 R (hypot.f64 (-.f64 phi1 phi2) (*.f64 (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)) (+.f64 lambda1 lambda2))))
(*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 (neg.f64 lambda2)) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (*.f64 (-.f64 lambda1 (neg.f64 lambda2)) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)))) (*.f64 (-.f64 phi1 phi2) (-.f64 phi1 phi2)))))
(*.f64 R (hypot.f64 (*.f64 (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)) (-.f64 (neg.f64 lambda1) lambda2)) (-.f64 phi1 phi2)))
(*.f64 R (hypot.f64 (-.f64 phi1 phi2) (*.f64 (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)) (-.f64 (neg.f64 lambda1) lambda2))))
(*.f64 R (hypot.f64 (-.f64 phi1 phi2) (*.f64 (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)) (+.f64 lambda1 lambda2))))
(*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 (neg.f64 phi1) phi2) 2))) (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 (neg.f64 phi1) phi2) 2)))) (*.f64 (-.f64 (neg.f64 phi1) phi2) (-.f64 (neg.f64 phi1) phi2)))))
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (-.f64 phi2 phi1) 2))) (-.f64 (neg.f64 phi1) phi2)))
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (-.f64 phi2 phi1) 2))) (+.f64 phi1 phi2)))
(*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 (neg.f64 phi2)) 2))) (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 (neg.f64 phi2)) 2)))) (*.f64 (-.f64 phi1 (neg.f64 phi2)) (-.f64 phi1 (neg.f64 phi2))))))
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (-.f64 phi1 phi2) 2))) (-.f64 phi1 (neg.f64 phi2))))
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (-.f64 phi1 phi2) 2))) (+.f64 phi1 phi2)))
(neg.f64 (*.f64 (neg.f64 R) (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)))) (*.f64 (-.f64 phi1 phi2) (-.f64 phi1 phi2))))))
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))
(neg.f64 (*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 (neg.f64 lambda1) lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (*.f64 (-.f64 (neg.f64 lambda1) lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)))) (*.f64 (-.f64 phi1 phi2) (-.f64 phi1 phi2))))))
(*.f64 (neg.f64 R) (hypot.f64 (*.f64 (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)) (-.f64 (neg.f64 lambda1) lambda2)) (-.f64 phi1 phi2)))
(*.f64 (neg.f64 R) (hypot.f64 (-.f64 phi1 phi2) (*.f64 (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)) (-.f64 (neg.f64 lambda1) lambda2))))
(*.f64 (neg.f64 R) (hypot.f64 (-.f64 phi1 phi2) (*.f64 (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)) (+.f64 lambda1 lambda2))))
(neg.f64 (*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 (neg.f64 lambda2)) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (*.f64 (-.f64 lambda1 (neg.f64 lambda2)) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)))) (*.f64 (-.f64 phi1 phi2) (-.f64 phi1 phi2))))))
(*.f64 (neg.f64 R) (hypot.f64 (*.f64 (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)) (-.f64 (neg.f64 lambda1) lambda2)) (-.f64 phi1 phi2)))
(*.f64 (neg.f64 R) (hypot.f64 (-.f64 phi1 phi2) (*.f64 (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)) (-.f64 (neg.f64 lambda1) lambda2))))
(*.f64 (neg.f64 R) (hypot.f64 (-.f64 phi1 phi2) (*.f64 (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)) (+.f64 lambda1 lambda2))))
(neg.f64 (*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 (neg.f64 phi1) phi2) 2))) (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 (neg.f64 phi1) phi2) 2)))) (*.f64 (-.f64 (neg.f64 phi1) phi2) (-.f64 (neg.f64 phi1) phi2))))))
(*.f64 (neg.f64 R) (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (-.f64 phi2 phi1) 2))) (-.f64 (neg.f64 phi1) phi2)))
(*.f64 R (neg.f64 (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (-.f64 phi2 phi1) 2))) (+.f64 phi1 phi2))))
(neg.f64 (*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 (neg.f64 phi2)) 2))) (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 (neg.f64 phi2)) 2)))) (*.f64 (-.f64 phi1 (neg.f64 phi2)) (-.f64 phi1 (neg.f64 phi2)))))))
(*.f64 R (neg.f64 (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (-.f64 phi1 phi2) 2))) (-.f64 phi1 (neg.f64 phi2)))))
(*.f64 R (neg.f64 (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (-.f64 phi1 phi2) 2))) (+.f64 phi1 phi2))))
(*.f64 lambda1 (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 R lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (*.f64 (-.f64 R lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)))) (*.f64 (-.f64 phi1 phi2) (-.f64 phi1 phi2)))))
(*.f64 lambda1 (hypot.f64 (*.f64 (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)) (-.f64 R lambda2)) (-.f64 phi1 phi2)))
(*.f64 lambda1 (hypot.f64 (-.f64 phi1 phi2) (*.f64 (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)) (-.f64 R lambda2))))
(*.f64 lambda2 (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 R) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (*.f64 (-.f64 lambda1 R) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)))) (*.f64 (-.f64 phi1 phi2) (-.f64 phi1 phi2)))))
(*.f64 lambda2 (hypot.f64 (*.f64 (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)) (-.f64 lambda1 R)) (-.f64 phi1 phi2)))
(*.f64 lambda2 (hypot.f64 (-.f64 phi1 phi2) (*.f64 (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)) (-.f64 lambda1 R))))
(*.f64 phi1 (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 R phi2) 2))) (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 R phi2) 2)))) (*.f64 (-.f64 R phi2) (-.f64 R phi2)))))
(*.f64 phi1 (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 R phi2) 2))) (-.f64 R phi2)))
(*.f64 phi2 (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 R) 2))) (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 R) 2)))) (*.f64 (-.f64 phi1 R) (-.f64 phi1 R)))))
(*.f64 phi2 (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 R phi1) 2))) (-.f64 phi1 R)))
(*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda2 lambda1) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (*.f64 (-.f64 lambda2 lambda1) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)))) (*.f64 (-.f64 phi1 phi2) (-.f64 phi1 phi2)))))
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))
(*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 phi1 lambda2) (cos.f64 (/.f64 (+.f64 lambda1 phi2) 2))) (*.f64 (-.f64 phi1 lambda2) (cos.f64 (/.f64 (+.f64 lambda1 phi2) 2)))) (*.f64 (-.f64 lambda1 phi2) (-.f64 lambda1 phi2)))))
(*.f64 R (hypot.f64 (*.f64 (-.f64 phi1 lambda2) (cos.f64 (/.f64 (+.f64 lambda1 phi2) 2))) (-.f64 lambda1 phi2)))
(*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 phi2 lambda2) (cos.f64 (/.f64 (+.f64 phi1 lambda1) 2))) (*.f64 (-.f64 phi2 lambda2) (cos.f64 (/.f64 (+.f64 phi1 lambda1) 2)))) (*.f64 (-.f64 phi1 lambda1) (-.f64 phi1 lambda1)))))
(*.f64 R (hypot.f64 (*.f64 (-.f64 phi2 lambda2) (cos.f64 (/.f64 (+.f64 lambda1 phi1) 2))) (-.f64 phi1 lambda1)))
(*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 phi1) (cos.f64 (/.f64 (+.f64 lambda2 phi2) 2))) (*.f64 (-.f64 lambda1 phi1) (cos.f64 (/.f64 (+.f64 lambda2 phi2) 2)))) (*.f64 (-.f64 lambda2 phi2) (-.f64 lambda2 phi2)))))
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 phi1) (cos.f64 (/.f64 (+.f64 lambda2 phi2) 2))) (-.f64 lambda2 phi2)))
(*.f64 R (hypot.f64 (-.f64 phi2 lambda2) (*.f64 (-.f64 lambda1 phi1) (cos.f64 (/.f64 (+.f64 lambda2 phi2) 2)))))
(*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 phi2) (cos.f64 (/.f64 (+.f64 phi1 lambda2) 2))) (*.f64 (-.f64 lambda1 phi2) (cos.f64 (/.f64 (+.f64 phi1 lambda2) 2)))) (*.f64 (-.f64 phi1 lambda2) (-.f64 phi1 lambda2)))))
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 phi2) (cos.f64 (/.f64 (+.f64 lambda2 phi1) 2))) (-.f64 phi1 lambda2)))
(*.f64 R (hypot.f64 (-.f64 phi1 lambda2) (*.f64 (-.f64 lambda1 phi2) (cos.f64 (/.f64 (+.f64 lambda2 phi1) 2)))))
(*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi2 phi1) 2))) (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi2 phi1) 2)))) (*.f64 (-.f64 phi2 phi1) (-.f64 phi2 phi1)))))
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))
Symmetry

(negabs R)

(sort lambda1 lambda2)

(sort phi1 phi2)

Compiler

Compiled 161 to 62 computations (61.5% saved)

end0.0ms (0%)

Profiling

Loading profile data...