Destination given bearing on a great circle

Time bar (total: 1.4min)

analyze3.3s (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
1.6%1.6%98.2%0.2%0%0%0%11
1.6%1.6%98.2%0.2%0%0%0%12
Compiler

Compiled 39 to 24 computations (38.5% saved)

sample1.3min (95.3%)

Results
7.1s8256×0valid-rival
3.3s8208×0valid-sollya
240.0ms48×0exit-sollya
Bogosity

preprocess525.0ms (0.6%)

Algorithm
egg-herbie
Rules
785×fma-define
709×fma-neg
513×sub-neg
432×distribute-lft-neg-in
393×*-commutative
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01883104
14263084
27823076
314763076
432213076
552063076
662663076
769963076
873813076
975463076
1076503076
1177823076
Stop Event
node limit
Calls
Call 1
Inputs
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))))
(+.f64 (neg.f64 lambda1) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 (neg.f64 phi1))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 (neg.f64 phi1)) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 (neg.f64 phi1)) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 (neg.f64 phi1)) (sin.f64 delta)) (cos.f64 theta)))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 (neg.f64 delta))) (cos.f64 phi1)) (-.f64 (cos.f64 (neg.f64 delta)) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 (neg.f64 delta))) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 (neg.f64 delta))) (cos.f64 theta)))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 (neg.f64 theta)) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 (neg.f64 theta))))))))))
(neg.f64 (+.f64 (neg.f64 lambda1) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))))
(neg.f64 (+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 (neg.f64 phi1))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 (neg.f64 phi1)) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 (neg.f64 phi1)) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 (neg.f64 phi1)) (sin.f64 delta)) (cos.f64 theta))))))))))
(neg.f64 (+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))))
(neg.f64 (+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 (neg.f64 delta))) (cos.f64 phi1)) (-.f64 (cos.f64 (neg.f64 delta)) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 (neg.f64 delta))) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 (neg.f64 delta))) (cos.f64 theta))))))))))
(neg.f64 (+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 (neg.f64 theta)) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 (neg.f64 theta)))))))))))
(+.f64 phi1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 lambda1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 lambda1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 lambda1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 lambda1) (sin.f64 delta)) (cos.f64 theta)))))))))
(+.f64 phi2 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))))
(+.f64 delta (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 lambda1)) (cos.f64 phi1)) (-.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 lambda1)) (cos.f64 theta)))))))))
(+.f64 theta (atan2.f64 (*.f64 (*.f64 (sin.f64 lambda1) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 lambda1)))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi2)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi2) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi2) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 delta)) (cos.f64 theta)))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 phi1)) (cos.f64 delta)) (-.f64 (cos.f64 phi1) (*.f64 (sin.f64 delta) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (*.f64 (*.f64 (cos.f64 delta) (sin.f64 phi1)) (cos.f64 theta)))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 phi1) (sin.f64 delta)) (cos.f64 theta)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 theta) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 theta) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 theta) (sin.f64 delta)) (cos.f64 phi1)))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 phi2)) (cos.f64 phi1)) (-.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (cos.f64 theta)))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 phi2) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 phi2)))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 delta) (sin.f64 theta)) (cos.f64 phi1)) (-.f64 (cos.f64 theta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 theta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 theta)) (cos.f64 delta)))))))))
Outputs
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (cos.f64 phi1) (*.f64 (sin.f64 delta) (cos.f64 theta))))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 phi1) (*.f64 (sin.f64 delta) (cos.f64 theta)) (*.f64 (cos.f64 delta) (sin.f64 phi1)))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1))) (fma.f64 (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (cos.f64 delta) (sin.f64 phi1))))) (neg.f64 (sin.f64 phi1)) (cos.f64 delta))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1))) (fma.f64 (neg.f64 (sin.f64 phi1)) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (cos.f64 delta) (sin.f64 phi1))))) (cos.f64 delta))))
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (cos.f64 phi1) (*.f64 (sin.f64 delta) (cos.f64 theta))))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 phi1) (*.f64 (sin.f64 delta) (cos.f64 theta)) (*.f64 (cos.f64 delta) (sin.f64 phi1)))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1))) (fma.f64 (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (cos.f64 delta) (sin.f64 phi1))))) (neg.f64 (sin.f64 phi1)) (cos.f64 delta))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1))) (fma.f64 (neg.f64 (sin.f64 phi1)) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (cos.f64 delta) (sin.f64 phi1))))) (cos.f64 delta))))
(+.f64 (neg.f64 lambda1) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))))
(+.f64 (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (cos.f64 phi1) (*.f64 (sin.f64 delta) (cos.f64 theta))))))))) (neg.f64 lambda1))
(-.f64 (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 phi1) (*.f64 (sin.f64 delta) (cos.f64 theta)) (*.f64 (cos.f64 delta) (sin.f64 phi1)))))))) lambda1)
(-.f64 (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1))) (fma.f64 (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (cos.f64 delta) (sin.f64 phi1))))) (neg.f64 (sin.f64 phi1)) (cos.f64 delta))) lambda1)
(-.f64 (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1))) (fma.f64 (neg.f64 (sin.f64 phi1)) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (cos.f64 delta) (sin.f64 phi1))))) (cos.f64 delta))) lambda1)
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 (neg.f64 phi1))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 (neg.f64 phi1)) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 (neg.f64 phi1)) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 (neg.f64 phi1)) (sin.f64 delta)) (cos.f64 theta)))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1))) (-.f64 (cos.f64 delta) (*.f64 (neg.f64 (sin.f64 phi1)) (sin.f64 (asin.f64 (fma.f64 (neg.f64 (sin.f64 phi1)) (cos.f64 delta) (*.f64 (cos.f64 phi1) (*.f64 (sin.f64 delta) (cos.f64 theta))))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1))) (+.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 phi1) (*.f64 (sin.f64 delta) (cos.f64 theta)) (*.f64 (cos.f64 delta) (neg.f64 (sin.f64 phi1))))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1))) (fma.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (-.f64 (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta))) (*.f64 (cos.f64 delta) (sin.f64 phi1))))) (cos.f64 delta))))
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (cos.f64 phi1) (*.f64 (sin.f64 delta) (cos.f64 theta))))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 phi1) (*.f64 (sin.f64 delta) (cos.f64 theta)) (*.f64 (cos.f64 delta) (sin.f64 phi1)))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1))) (fma.f64 (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (cos.f64 delta) (sin.f64 phi1))))) (neg.f64 (sin.f64 phi1)) (cos.f64 delta))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1))) (fma.f64 (neg.f64 (sin.f64 phi1)) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (cos.f64 delta) (sin.f64 phi1))))) (cos.f64 delta))))
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 (neg.f64 delta))) (cos.f64 phi1)) (-.f64 (cos.f64 (neg.f64 delta)) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 (neg.f64 delta))) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 (neg.f64 delta))) (cos.f64 theta)))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (cos.f64 phi1) (neg.f64 (sin.f64 delta)))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (cos.f64 phi1) (*.f64 (neg.f64 (sin.f64 delta)) (cos.f64 theta))))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (cos.f64 phi1) (neg.f64 (sin.f64 delta)))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 theta) (neg.f64 (sin.f64 delta))) (*.f64 (cos.f64 delta) (sin.f64 phi1)))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (sin.f64 delta) (neg.f64 (cos.f64 phi1)))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 phi1) (*.f64 (sin.f64 delta) (neg.f64 (cos.f64 theta))) (*.f64 (cos.f64 delta) (sin.f64 phi1)))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (sin.f64 delta) (neg.f64 (cos.f64 phi1)))) (fma.f64 (neg.f64 (sin.f64 phi1)) (sin.f64 (asin.f64 (-.f64 (*.f64 (cos.f64 delta) (sin.f64 phi1)) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))) (cos.f64 delta))))
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 (neg.f64 theta)) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 (neg.f64 theta))))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi1) (*.f64 (sin.f64 delta) (neg.f64 (sin.f64 theta)))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (cos.f64 phi1) (*.f64 (sin.f64 delta) (cos.f64 theta))))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (cos.f64 phi1) (neg.f64 (sin.f64 delta)))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 phi1) (*.f64 (sin.f64 delta) (cos.f64 theta)) (*.f64 (cos.f64 delta) (sin.f64 phi1)))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (sin.f64 delta) (neg.f64 (cos.f64 phi1)))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 phi1) (*.f64 (sin.f64 delta) (cos.f64 theta)) (*.f64 (cos.f64 delta) (sin.f64 phi1)))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (sin.f64 delta) (neg.f64 (cos.f64 phi1)))) (fma.f64 (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (cos.f64 delta) (sin.f64 phi1))))) (neg.f64 (sin.f64 phi1)) (cos.f64 delta))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (sin.f64 delta) (neg.f64 (cos.f64 phi1)))) (fma.f64 (neg.f64 (sin.f64 phi1)) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (cos.f64 delta) (sin.f64 phi1))))) (cos.f64 delta))))
(neg.f64 (+.f64 (neg.f64 lambda1) (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))))
(neg.f64 (+.f64 (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (cos.f64 phi1) (*.f64 (sin.f64 delta) (cos.f64 theta))))))))) (neg.f64 lambda1)))
(-.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 phi1) (*.f64 (sin.f64 delta) (cos.f64 theta)) (*.f64 (cos.f64 delta) (sin.f64 phi1)))))))))
(-.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1))) (fma.f64 (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (cos.f64 delta) (sin.f64 phi1))))) (neg.f64 (sin.f64 phi1)) (cos.f64 delta))))
(-.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1))) (fma.f64 (neg.f64 (sin.f64 phi1)) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (cos.f64 delta) (sin.f64 phi1))))) (cos.f64 delta))))
(neg.f64 (+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 (neg.f64 phi1))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 (neg.f64 phi1)) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 (neg.f64 phi1)) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 (neg.f64 phi1)) (sin.f64 delta)) (cos.f64 theta))))))))))
(neg.f64 (+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1))) (-.f64 (cos.f64 delta) (*.f64 (neg.f64 (sin.f64 phi1)) (sin.f64 (asin.f64 (fma.f64 (neg.f64 (sin.f64 phi1)) (cos.f64 delta) (*.f64 (cos.f64 phi1) (*.f64 (sin.f64 delta) (cos.f64 theta)))))))))))
(-.f64 (neg.f64 lambda1) (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1))) (+.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 phi1) (*.f64 (sin.f64 delta) (cos.f64 theta)) (*.f64 (cos.f64 delta) (neg.f64 (sin.f64 phi1))))))))))
(-.f64 (neg.f64 lambda1) (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1))) (fma.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (-.f64 (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta))) (*.f64 (cos.f64 delta) (sin.f64 phi1))))) (cos.f64 delta))))
(neg.f64 (+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))))
(neg.f64 (+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (cos.f64 phi1) (*.f64 (sin.f64 delta) (cos.f64 theta)))))))))))
(-.f64 (neg.f64 lambda1) (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 phi1) (*.f64 (sin.f64 delta) (cos.f64 theta)) (*.f64 (cos.f64 delta) (sin.f64 phi1)))))))))
(-.f64 (neg.f64 lambda1) (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1))) (fma.f64 (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (cos.f64 delta) (sin.f64 phi1))))) (neg.f64 (sin.f64 phi1)) (cos.f64 delta))))
(-.f64 (neg.f64 lambda1) (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1))) (fma.f64 (neg.f64 (sin.f64 phi1)) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (cos.f64 delta) (sin.f64 phi1))))) (cos.f64 delta))))
(neg.f64 (+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 (neg.f64 delta))) (cos.f64 phi1)) (-.f64 (cos.f64 (neg.f64 delta)) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 (neg.f64 delta))) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 (neg.f64 delta))) (cos.f64 theta))))))))))
(neg.f64 (+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (cos.f64 phi1) (neg.f64 (sin.f64 delta)))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (cos.f64 phi1) (*.f64 (neg.f64 (sin.f64 delta)) (cos.f64 theta)))))))))))
(-.f64 (neg.f64 lambda1) (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (cos.f64 phi1) (neg.f64 (sin.f64 delta)))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 theta) (neg.f64 (sin.f64 delta))) (*.f64 (cos.f64 delta) (sin.f64 phi1)))))))))
(-.f64 (neg.f64 lambda1) (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (sin.f64 delta) (neg.f64 (cos.f64 phi1)))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 phi1) (*.f64 (sin.f64 delta) (neg.f64 (cos.f64 theta))) (*.f64 (cos.f64 delta) (sin.f64 phi1)))))))))
(-.f64 (neg.f64 lambda1) (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (sin.f64 delta) (neg.f64 (cos.f64 phi1)))) (fma.f64 (neg.f64 (sin.f64 phi1)) (sin.f64 (asin.f64 (-.f64 (*.f64 (cos.f64 delta) (sin.f64 phi1)) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))) (cos.f64 delta))))
(neg.f64 (+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 (neg.f64 theta)) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 (neg.f64 theta)))))))))))
(neg.f64 (+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi1) (*.f64 (sin.f64 delta) (neg.f64 (sin.f64 theta)))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (cos.f64 phi1) (*.f64 (sin.f64 delta) (cos.f64 theta)))))))))))
(-.f64 (neg.f64 lambda1) (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (cos.f64 phi1) (neg.f64 (sin.f64 delta)))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 phi1) (*.f64 (sin.f64 delta) (cos.f64 theta)) (*.f64 (cos.f64 delta) (sin.f64 phi1)))))))))
(-.f64 (neg.f64 lambda1) (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (sin.f64 delta) (neg.f64 (cos.f64 phi1)))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 phi1) (*.f64 (sin.f64 delta) (cos.f64 theta)) (*.f64 (cos.f64 delta) (sin.f64 phi1)))))))))
(-.f64 (neg.f64 lambda1) (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (sin.f64 delta) (neg.f64 (cos.f64 phi1)))) (fma.f64 (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (cos.f64 delta) (sin.f64 phi1))))) (neg.f64 (sin.f64 phi1)) (cos.f64 delta))))
(-.f64 (neg.f64 lambda1) (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (sin.f64 delta) (neg.f64 (cos.f64 phi1)))) (fma.f64 (neg.f64 (sin.f64 phi1)) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (cos.f64 delta) (sin.f64 phi1))))) (cos.f64 delta))))
(+.f64 phi1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 lambda1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 lambda1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 lambda1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 lambda1) (sin.f64 delta)) (cos.f64 theta)))))))))
(+.f64 phi1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 lambda1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 lambda1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 lambda1) (cos.f64 delta) (*.f64 (cos.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 lambda1))))))))))
(+.f64 phi1 (atan2.f64 (*.f64 (sin.f64 delta) (*.f64 (sin.f64 theta) (cos.f64 lambda1))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 lambda1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 lambda1) (*.f64 (cos.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 lambda1))))))))))
(+.f64 phi1 (atan2.f64 (*.f64 (sin.f64 delta) (*.f64 (sin.f64 theta) (cos.f64 lambda1))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 lambda1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 theta) (cos.f64 lambda1)) (*.f64 (cos.f64 delta) (sin.f64 lambda1)))))))))
(+.f64 phi1 (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 lambda1))) (fma.f64 (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 theta) (cos.f64 lambda1)) (*.f64 (cos.f64 delta) (sin.f64 lambda1))))) (neg.f64 (sin.f64 lambda1)) (cos.f64 delta))))
(+.f64 phi2 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))))
(+.f64 (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (cos.f64 phi1) (*.f64 (sin.f64 delta) (cos.f64 theta))))))))) phi2)
(+.f64 (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 phi1) (*.f64 (sin.f64 delta) (cos.f64 theta)) (*.f64 (cos.f64 delta) (sin.f64 phi1)))))))) phi2)
(+.f64 (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1))) (fma.f64 (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (cos.f64 delta) (sin.f64 phi1))))) (neg.f64 (sin.f64 phi1)) (cos.f64 delta))) phi2)
(+.f64 (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1))) (fma.f64 (neg.f64 (sin.f64 phi1)) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (cos.f64 delta) (sin.f64 phi1))))) (cos.f64 delta))) phi2)
(+.f64 delta (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 lambda1)) (cos.f64 phi1)) (-.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 lambda1)) (cos.f64 theta)))))))))
(+.f64 delta (atan2.f64 (*.f64 (cos.f64 phi1) (*.f64 (sin.f64 theta) (sin.f64 lambda1))) (-.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 lambda1) (*.f64 (cos.f64 phi1) (*.f64 (sin.f64 lambda1) (cos.f64 theta))))))))))
(+.f64 delta (atan2.f64 (*.f64 (cos.f64 phi1) (*.f64 (sin.f64 theta) (sin.f64 lambda1))) (-.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 lambda1) (*.f64 (*.f64 (cos.f64 theta) (cos.f64 phi1)) (sin.f64 lambda1)))))))))
(+.f64 delta (atan2.f64 (*.f64 (cos.f64 phi1) (*.f64 (sin.f64 theta) (sin.f64 lambda1))) (-.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (*.f64 (cos.f64 phi1) (cos.f64 theta))))))))))
(+.f64 delta (atan2.f64 (*.f64 (cos.f64 phi1) (*.f64 (sin.f64 theta) (sin.f64 lambda1))) (fma.f64 (neg.f64 (sin.f64 phi1)) (sin.f64 (asin.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 theta) (sin.f64 lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))))) (cos.f64 lambda1))))
(+.f64 delta (atan2.f64 (*.f64 (cos.f64 phi1) (*.f64 (sin.f64 theta) (sin.f64 lambda1))) (-.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 theta) (sin.f64 lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))))))
(+.f64 theta (atan2.f64 (*.f64 (*.f64 (sin.f64 lambda1) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 lambda1)))))))))
(+.f64 theta (atan2.f64 (*.f64 (cos.f64 phi1) (*.f64 (sin.f64 delta) (sin.f64 lambda1))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (cos.f64 phi1) (*.f64 (sin.f64 delta) (cos.f64 lambda1))))))))))
(+.f64 theta (atan2.f64 (*.f64 (cos.f64 phi1) (*.f64 (sin.f64 delta) (sin.f64 lambda1))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 lambda1) (*.f64 (sin.f64 delta) (cos.f64 phi1)) (*.f64 (cos.f64 delta) (sin.f64 phi1)))))))))
(+.f64 theta (atan2.f64 (*.f64 (sin.f64 lambda1) (*.f64 (sin.f64 delta) (cos.f64 phi1))) (fma.f64 (neg.f64 (sin.f64 phi1)) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 lambda1)) (*.f64 (cos.f64 delta) (sin.f64 phi1))))) (cos.f64 delta))))
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi2)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi2) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi2) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 delta)) (cos.f64 theta)))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi2))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi2) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi2) (cos.f64 delta) (*.f64 (cos.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi2))))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi2))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi2) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi2) (*.f64 (cos.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi2))))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi2))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi2) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 theta) (cos.f64 phi2)) (*.f64 (cos.f64 delta) (sin.f64 phi2)))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi2))) (fma.f64 (sin.f64 phi2) (neg.f64 (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 theta) (cos.f64 phi2)) (*.f64 (cos.f64 delta) (sin.f64 phi2)))))) (cos.f64 delta))))
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 phi1)) (cos.f64 delta)) (-.f64 (cos.f64 phi1) (*.f64 (sin.f64 delta) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (*.f64 (*.f64 (cos.f64 delta) (sin.f64 phi1)) (cos.f64 theta)))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (cos.f64 delta) (sin.f64 phi1))) (-.f64 (cos.f64 phi1) (*.f64 (sin.f64 delta) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (cos.f64 phi1) (*.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (cos.f64 theta))))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (cos.f64 delta) (sin.f64 phi1))) (fma.f64 (neg.f64 (sin.f64 delta)) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (cos.f64 phi1) (*.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (cos.f64 theta)))))) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 phi1) (sin.f64 delta)) (cos.f64 theta)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 theta) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 theta) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 theta) (sin.f64 delta)) (cos.f64 phi1)))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 theta) (*.f64 (sin.f64 delta) (sin.f64 phi1))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 theta) (sin.f64 (asin.f64 (fma.f64 (sin.f64 theta) (cos.f64 delta) (*.f64 (cos.f64 phi1) (*.f64 (sin.f64 delta) (cos.f64 theta))))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 theta) (*.f64 (sin.f64 delta) (sin.f64 phi1))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 theta) (sin.f64 (asin.f64 (fma.f64 (sin.f64 theta) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 theta) (cos.f64 phi1))))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 theta) (*.f64 (sin.f64 delta) (sin.f64 phi1))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 theta) (sin.f64 (asin.f64 (fma.f64 (sin.f64 theta) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta))))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 delta) (*.f64 (sin.f64 phi1) (cos.f64 theta))) (fma.f64 (sin.f64 theta) (neg.f64 (sin.f64 (asin.f64 (fma.f64 (sin.f64 theta) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta))))))) (cos.f64 delta))))
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 phi2)) (cos.f64 phi1)) (-.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (cos.f64 theta)))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (cos.f64 phi1) (sin.f64 phi2))) (-.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 phi2) (*.f64 (cos.f64 theta) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (cos.f64 phi1) (sin.f64 phi2))) (fma.f64 (neg.f64 (sin.f64 phi1)) (sin.f64 (asin.f64 (fma.f64 (cos.f64 phi1) (*.f64 (cos.f64 theta) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))) (cos.f64 phi2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 phi2) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 phi2)))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi1) (*.f64 (sin.f64 delta) (sin.f64 phi2))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (cos.f64 phi1) (*.f64 (sin.f64 delta) (cos.f64 phi2))))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (sin.f64 phi2))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 phi2) (*.f64 (sin.f64 delta) (cos.f64 phi1)) (*.f64 (cos.f64 delta) (sin.f64 phi1)))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (sin.f64 phi2))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (cos.f64 delta) (sin.f64 phi1)))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (sin.f64 phi2))) (fma.f64 (sin.f64 phi1) (neg.f64 (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (cos.f64 delta) (sin.f64 phi1)))))) (cos.f64 delta))))
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 delta) (sin.f64 theta)) (cos.f64 phi1)) (-.f64 (cos.f64 theta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 theta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 theta)) (cos.f64 delta)))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1))) (-.f64 (cos.f64 theta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 theta) (*.f64 (cos.f64 phi1) (*.f64 (sin.f64 theta) (cos.f64 delta))))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1))) (-.f64 (cos.f64 theta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 phi1) (*.f64 (sin.f64 theta) (cos.f64 delta)) (*.f64 (sin.f64 phi1) (cos.f64 theta)))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1))) (-.f64 (cos.f64 theta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 theta) (*.f64 (cos.f64 phi1) (cos.f64 delta)) (*.f64 (sin.f64 phi1) (cos.f64 theta)))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 theta) (*.f64 (sin.f64 delta) (cos.f64 phi1))) (fma.f64 (sin.f64 phi1) (neg.f64 (sin.f64 (asin.f64 (fma.f64 (sin.f64 theta) (*.f64 (cos.f64 phi1) (cos.f64 delta)) (*.f64 (sin.f64 phi1) (cos.f64 theta)))))) (cos.f64 theta))))
Symmetry

(abs phi2)

Compiler

Compiled 38 to 23 computations (39.5% saved)

eval0.0ms (0%)

Compiler

Compiled 5 to 5 computations (0% saved)

prune1.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
99.9%
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))))
Compiler

Compiled 76 to 46 computations (39.5% saved)

simplify17.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative
+-commutative
sub-neg
neg-sub0
neg-mul-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
030142
143142
255142
361142
465142
566142
Stop Event
saturated
Calls
Call 1
Inputs
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))))
Outputs
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (cos.f64 delta) (sin.f64 phi1)) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))))))

soundness1.0ms (0%)

Stop Event
fuel
Compiler

Compiled 38 to 23 computations (39.5% saved)

preprocess92.0ms (0.1%)

Remove

(abs phi2)

Compiler

Compiled 304 to 184 computations (39.5% saved)

end0.0ms (0%)

Profiling

Loading profile data...