Details

Time bar (total: 1.1min)

analyze1.1s (1.6%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.8%0.2%0
0%99.8%0.2%1
0%99.8%0.2%2
0%99.8%0.2%3
0%99.8%0.2%4
0%99.8%0.2%5
0%99.8%0.2%6
0%99.8%0.2%7
0%99.8%0.2%8
7.8%92%0.2%9
7.8%92%0.2%10
10.1%89.7%0.2%11
10.1%89.7%0.2%12
Compiler

Compiled 29 to 18 computations (37.9% saved)

sample9.8s (14.5%)

Results
7.8s5542×body1024valid
986.0ms1339×body512valid
523.0ms185×body2048valid
492.0ms1190×body256valid

preprocess141.0ms (0.2%)

Algorithm
egg-herbie
Rules
1113×fma-def_binary64
848×fma-neg_binary64
360×cancel-sign-sub-inv_binary64
284×unsub-neg_binary64
282×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
071273
1163273
2376273
3798273
41264273
51906273
62810273
73765273
84582273
95068273
105190273
115195273
125195273
135797273
145917273
155917273
165917273
044
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
1
2
3
Outputs
0
1
2
3
Call 2
Inputs
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 phi1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 lambda1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (cos.f64 (-.f64 phi1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 phi2 lambda2)) (cos.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 lambda1)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) (cos.f64 (-.f64 phi2 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 phi1)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 lambda2) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 phi1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 phi2)) (cos.f64 lambda2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 lambda2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda2)) (cos.f64 (-.f64 lambda1 phi2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi1)) (-.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (cos.f64 (-.f64 lambda1 lambda2)))))
Outputs
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda2 lambda1))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda2 lambda1))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 phi1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 lambda1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (cos.f64 (-.f64 phi1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 phi1 lambda2))) (-.f64 (*.f64 (sin.f64 phi2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 phi1 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 phi1 lambda2))) (-.f64 (*.f64 (sin.f64 phi2) (cos.f64 lambda1)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda1) (cos.f64 (-.f64 phi1 lambda2))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 phi2 lambda2)) (cos.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 lambda1)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) (cos.f64 (-.f64 phi2 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 lambda1) (sin.f64 (-.f64 phi2 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 lambda1)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) (cos.f64 (-.f64 phi2 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 lambda1) (sin.f64 (-.f64 phi2 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 lambda1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 (-.f64 phi2 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 lambda1) (sin.f64 (-.f64 phi2 lambda2))) (fma.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (neg.f64 (cos.f64 (-.f64 lambda2 phi2)))) (*.f64 (cos.f64 phi1) (sin.f64 lambda1))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 phi1)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 lambda2) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 phi1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 phi1))) (-.f64 (*.f64 (sin.f64 phi2) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 phi1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 phi1))) (fma.f64 (sin.f64 phi2) (cos.f64 lambda2) (*.f64 (sin.f64 lambda2) (neg.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 phi1)))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 phi1))) (fma.f64 (sin.f64 phi2) (cos.f64 lambda2) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 (-.f64 lambda1 phi1)))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 phi1))) (fma.f64 (sin.f64 lambda2) (*.f64 (cos.f64 phi2) (neg.f64 (cos.f64 (-.f64 lambda1 phi1)))) (*.f64 (sin.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 phi2)) (cos.f64 lambda2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 lambda2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda2)) (cos.f64 (-.f64 lambda1 phi2)))))
(atan2.f64 (*.f64 (cos.f64 lambda2) (sin.f64 (-.f64 lambda1 phi2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 lambda2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda2) (cos.f64 (-.f64 lambda1 phi2))))))
(atan2.f64 (*.f64 (cos.f64 lambda2) (sin.f64 (-.f64 lambda1 phi2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 lambda2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda2)) (cos.f64 (-.f64 lambda1 phi2)))))
(atan2.f64 (*.f64 (cos.f64 lambda2) (sin.f64 (-.f64 lambda1 phi2))) (fma.f64 (cos.f64 (-.f64 lambda1 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 lambda2))) (*.f64 (cos.f64 phi1) (sin.f64 lambda2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi1)) (-.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi1)) (-.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (sin.f64 phi2) (*.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi1)) (-.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (*.f64 (sin.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi1)) (fma.f64 (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))) (*.f64 (cos.f64 phi2) (sin.f64 phi1))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi1)) (fma.f64 (cos.f64 phi2) (sin.f64 phi1) (*.f64 (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (neg.f64 (cos.f64 phi1))))))
Compiler

Compiled 32 to 21 computations (34.4% saved)

simplify29.0ms (0%)

Algorithm
egg-herbie
Rules
543×fma-def_binary64
194×fma-neg_binary64
85×cancel-sign-sub-inv_binary64
59×distribute-rgt-neg-in_binary64
47×distribute-rgt-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01839
13239
26739
313239
420939
532239
650139
766639
890339
9136139
10152239
11154839
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
Outputs
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))

eval1.0ms (0%)

Compiler

Compiled 52 to 21 computations (59.6% saved)

prune2.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
11.2b
Counts
3 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
11.2b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
11.2b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
Compiler

Compiled 56 to 34 computations (39.3% saved)

localize52.0ms (0.1%)

Local error

Found 8 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (cos.f64 phi1) (sin.f64 phi2))
0.1b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
0.0b
(sin.f64 phi1)
0.0b
(cos.f64 phi2)
0.1b
(*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))
0.1b
(fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
1.6b
(sin.f64 (-.f64 lambda1 lambda2))
1.6b
(cos.f64 (-.f64 lambda1 lambda2))

series33.0ms (0%)

Counts
4 → 116
Calls

33 calls:

TimeVariablePointExpression
5.0ms
phi2
@inf
(fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
3.0ms
lambda1
@inf
(fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
2.0ms
phi1
@inf
(fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
2.0ms
lambda2
@inf
(fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
2.0ms
lambda2
@0
(sin.f64 (-.f64 lambda1 lambda2))

rewrite123.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
892×log-prod_binary64
449×fma-def_binary64
337×expm1-udef_binary64
337×log1p-udef_binary64
277×log-pow_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01749
136547
2495747
Stop Event
node limit
Counts
4 → 150
Calls
Call 1
Inputs
(cos.f64 (-.f64 lambda1 lambda2))
(sin.f64 (-.f64 lambda1 lambda2))
(fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cos.f64 (-.f64 lambda1 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) 1) (*.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 (exp.f64 (log1p.f64 (-.f64 lambda1 lambda2)))) (cos.f64 1)) (*.f64 (sin.f64 (exp.f64 (log1p.f64 (-.f64 lambda1 lambda2)))) (sin.f64 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 (/.f64 (pow.f64 lambda1 3) (fma.f64 lambda2 (+.f64 lambda1 lambda2) (*.f64 lambda1 lambda1)))) (cos.f64 (/.f64 (pow.f64 lambda2 3) (fma.f64 lambda2 (+.f64 lambda1 lambda2) (*.f64 lambda1 lambda1))))) (*.f64 (sin.f64 (/.f64 (pow.f64 lambda1 3) (fma.f64 lambda2 (+.f64 lambda1 lambda2) (*.f64 lambda1 lambda1)))) (sin.f64 (/.f64 (pow.f64 lambda2 3) (fma.f64 lambda2 (+.f64 lambda1 lambda2) (*.f64 lambda1 lambda1))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 (/.f64 (*.f64 lambda1 lambda1) (+.f64 lambda1 lambda2))) (cos.f64 (/.f64 (*.f64 lambda2 lambda2) (+.f64 lambda1 lambda2)))) (*.f64 (sin.f64 (/.f64 (*.f64 lambda1 lambda1) (+.f64 lambda1 lambda2))) (sin.f64 (/.f64 (*.f64 lambda2 lambda2) (+.f64 lambda1 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (cos.f64 (-.f64 lambda1 lambda2)))) (cbrt.f64 (exp.f64 (cos.f64 (-.f64 lambda1 lambda2)))))) (log.f64 (cbrt.f64 (exp.f64 (cos.f64 (-.f64 lambda1 lambda2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 (-.f64 lambda1 lambda2))))) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 (-.f64 lambda1 lambda2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (neg.f64 (sin.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (neg.f64 (sin.f64 lambda2)) (sin.f64 lambda1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cos.f64 (-.f64 lambda1 lambda2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 lambda1) (cos.f64 (*.f64 (neg.f64 lambda2) 1))) (*.f64 (sin.f64 lambda1) (sin.f64 (*.f64 (neg.f64 lambda2) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 (fma.f64 (neg.f64 lambda2) 1 lambda2))) (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 (fma.f64 (neg.f64 lambda2) 1 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 (fma.f64 (neg.f64 (cbrt.f64 lambda2)) (pow.f64 (cbrt.f64 lambda2) 2) lambda2))) (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 (fma.f64 (neg.f64 (cbrt.f64 lambda2)) (pow.f64 (cbrt.f64 lambda2) 2) lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 (+.f64 (neg.f64 lambda2) lambda2))) (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 (+.f64 (neg.f64 lambda2) lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 (-.f64 lambda1 lambda2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cos.f64 (-.f64 lambda1 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cos.f64 (-.f64 lambda1 lambda2))) (pow.f64 (cbrt.f64 (cos.f64 (-.f64 lambda1 lambda2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 (-.f64 lambda1 lambda2))) 2) (cbrt.f64 (cos.f64 (-.f64 lambda1 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 (-.f64 lambda1 lambda2))) (sqrt.f64 (cos.f64 (-.f64 lambda1 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) 3) (pow.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) 3)) (fma.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (-.f64 (*.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2))) (*.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) (cos.f64 (+.f64 lambda1 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cos.f64 (-.f64 lambda1 lambda2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 (-.f64 lambda1 lambda2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cos.f64 (-.f64 lambda1 lambda2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (cos.f64 (-.f64 lambda1 lambda2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cos.f64 (-.f64 lambda1 lambda2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cos.f64 (-.f64 lambda1 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cos.f64 (-.f64 lambda1 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (exp.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (cos.f64 (-.f64 lambda1 lambda2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 lambda1) (cos.f64 lambda2) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 lambda1) (cos.f64 lambda2) (neg.f64 (*.f64 (sin.f64 lambda1) (neg.f64 (sin.f64 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) 1 (*.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2))) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) (cbrt.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2))) (sqrt.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2))) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (sqrt.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cos.f64 (-.f64 lambda1 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cos.f64 (-.f64 lambda1 lambda2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cos.f64 (-.f64 lambda1 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cos.f64 (-.f64 lambda1 lambda2))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sin.f64 (-.f64 lambda1 lambda2)) (fma.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 lambda1) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (neg.f64 (cos.f64 lambda1)) (sin.f64 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sin.f64 (-.f64 lambda1 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 lambda1) (cos.f64 (*.f64 (neg.f64 lambda2) 1))) (*.f64 (cos.f64 lambda1) (sin.f64 (*.f64 (neg.f64 lambda2) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 (fma.f64 (neg.f64 lambda2) 1 lambda2))) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 (fma.f64 (neg.f64 lambda2) 1 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 (fma.f64 (neg.f64 (cbrt.f64 lambda2)) (pow.f64 (cbrt.f64 lambda2) 2) lambda2))) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 (fma.f64 (neg.f64 (cbrt.f64 lambda2)) (pow.f64 (cbrt.f64 lambda2) 2) lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 (+.f64 (neg.f64 lambda2) lambda2))) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 (+.f64 (neg.f64 lambda2) lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 lambda1)) (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cbrt.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))))) (log.f64 (cbrt.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2))))) (log.f64 (sqrt.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sin.f64 (-.f64 lambda1 lambda2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 (exp.f64 (log1p.f64 (-.f64 lambda1 lambda2)))) (cos.f64 1)) (*.f64 (cos.f64 (exp.f64 (log1p.f64 (-.f64 lambda1 lambda2)))) (sin.f64 1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 (/.f64 (pow.f64 lambda1 3) (fma.f64 lambda2 (+.f64 lambda1 lambda2) (*.f64 lambda1 lambda1)))) (cos.f64 (/.f64 (pow.f64 lambda2 3) (fma.f64 lambda2 (+.f64 lambda1 lambda2) (*.f64 lambda1 lambda1))))) (*.f64 (cos.f64 (/.f64 (pow.f64 lambda1 3) (fma.f64 lambda2 (+.f64 lambda1 lambda2) (*.f64 lambda1 lambda1)))) (sin.f64 (/.f64 (pow.f64 lambda2 3) (fma.f64 lambda2 (+.f64 lambda1 lambda2) (*.f64 lambda1 lambda1))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 (/.f64 (*.f64 lambda1 lambda1) (+.f64 lambda1 lambda2))) (cos.f64 (/.f64 (*.f64 lambda2 lambda2) (+.f64 lambda1 lambda2)))) (*.f64 (cos.f64 (/.f64 (*.f64 lambda1 lambda1) (+.f64 lambda1 lambda2))) (sin.f64 (/.f64 (*.f64 lambda2 lambda2) (+.f64 lambda1 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 (-.f64 lambda1 lambda2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sin.f64 (-.f64 lambda1 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sin.f64 (-.f64 lambda1 lambda2))) (pow.f64 (cbrt.f64 (sin.f64 (-.f64 lambda1 lambda2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sin.f64 (-.f64 lambda1 lambda2))) 2) (cbrt.f64 (sin.f64 (-.f64 lambda1 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 (-.f64 lambda1 lambda2))) (sqrt.f64 (sin.f64 (-.f64 lambda1 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) 3) (pow.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)) 3)) (fma.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (fma.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)) (*.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (neg.f64 (*.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))) (sin.f64 (+.f64 lambda1 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sin.f64 (-.f64 lambda1 lambda2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (sin.f64 (-.f64 lambda1 lambda2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sin.f64 (-.f64 lambda1 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 (-.f64 lambda1 lambda2)) 1 (fma.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 lambda1) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (sin.f64 (-.f64 lambda1 lambda2)) (fma.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 lambda1) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (neg.f64 (cos.f64 lambda1)) (sin.f64 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (sin.f64 (-.f64 lambda1 lambda2))) (pow.f64 (cbrt.f64 (sin.f64 (-.f64 lambda1 lambda2))) 2) (fma.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 lambda1) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (sin.f64 (-.f64 lambda1 lambda2))) 2) (cbrt.f64 (sin.f64 (-.f64 lambda1 lambda2))) (fma.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 lambda1) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 (-.f64 lambda1 lambda2))) (sqrt.f64 (sin.f64 (-.f64 lambda1 lambda2))) (fma.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 lambda1) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (*.f64 (neg.f64 (cos.f64 lambda1)) (sin.f64 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (*.f64 (neg.f64 (cos.f64 lambda1)) (sin.f64 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (cbrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)))) (cbrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (cbrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)))) (cbrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (*.f64 (neg.f64 (cos.f64 lambda1)) (sin.f64 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (sqrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (sqrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (*.f64 (neg.f64 (cos.f64 lambda1)) (sin.f64 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sin.f64 (-.f64 lambda1 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sin.f64 (-.f64 lambda1 lambda2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sin.f64 (-.f64 lambda1 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sin.f64 (-.f64 lambda1 lambda2))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) 1) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))) (cbrt.f64 (exp.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))) (pow.f64 (cbrt.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))) 2) (cbrt.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))) (sqrt.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) 3) (pow.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) 3)) (fma.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (-.f64 (pow.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) 2) (*.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))) (pow.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) 2)) (-.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 (sin.f64 phi2)) (cos.f64 phi1)) (exp.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)))) (exp.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))) (+.f64 1 (expm1.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2))) (cos.f64 phi2))) (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2))) (cos.f64 phi2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2))) (cos.f64 phi2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2))) (cos.f64 phi2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2))) (cos.f64 phi2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 2 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2)))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2))) (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 3) (pow.f64 (cos.f64 phi2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (cos.f64 phi2) 3) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))))))

simplify189.0ms (0.3%)

Algorithm
egg-herbie
Rules
591×unsub-neg_binary64
538×*-commutative_binary64
433×distribute-rgt-neg-out_binary64
383×distribute-lft-neg-out_binary64
323×distribute-neg-out_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01992580
16172444
219892321
343462250
Stop Event
node limit
Counts
266 → 248
Calls
Call 1
Inputs
(cos.f64 (neg.f64 lambda2))
(+.f64 (cos.f64 (neg.f64 lambda2)) (*.f64 -1 (*.f64 (sin.f64 (neg.f64 lambda2)) lambda1)))
(+.f64 (cos.f64 (neg.f64 lambda2)) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2))) (*.f64 -1 (*.f64 (sin.f64 (neg.f64 lambda2)) lambda1))))
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 (neg.f64 lambda2)) (pow.f64 lambda1 3))) (+.f64 (cos.f64 (neg.f64 lambda2)) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2))) (*.f64 -1 (*.f64 (sin.f64 (neg.f64 lambda2)) lambda1)))))
(cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))
(cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))
(cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))
(cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))
(cos.f64 lambda1)
(+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (cos.f64 lambda1))
(+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 lambda1))) (cos.f64 lambda1)))
(+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 lambda2 3) (sin.f64 lambda1))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 lambda1))) (cos.f64 lambda1))))
(cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1))
(cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1))
(cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1))
(cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1))
(sin.f64 (neg.f64 lambda2))
(+.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1))
(+.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2))) (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 3))) (+.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2))) (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1))))
(sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))
(sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))
(sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))
(sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))
(sin.f64 lambda1)
(+.f64 (*.f64 -1 (*.f64 lambda2 (cos.f64 lambda1))) (sin.f64 lambda1))
(+.f64 (*.f64 -1 (*.f64 lambda2 (cos.f64 lambda1))) (+.f64 (sin.f64 lambda1) (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (sin.f64 lambda1)))))
(+.f64 (*.f64 -1 (*.f64 lambda2 (cos.f64 lambda1))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 lambda2 3) (cos.f64 lambda1))) (+.f64 (sin.f64 lambda1) (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (sin.f64 lambda1))))))
(sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))
(sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))
(sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))
(sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 lambda2))))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (+.f64 (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 lambda2))))) (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) lambda1)))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (+.f64 (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 lambda2))))) (+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) lambda1))) (*.f64 1/2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2))))))))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (pow.f64 lambda1 3))))) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (+.f64 (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 lambda2))))) (+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) lambda1))) (*.f64 1/2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2)))))))))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))))) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1))))))
(+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))))) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (+.f64 (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (*.f64 1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1))))))))
(+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 lambda2 3) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))))) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (+.f64 (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (*.f64 1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))))))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1)))
(+.f64 (*.f64 (cos.f64 phi1) phi2) (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))))
(+.f64 (*.f64 (cos.f64 phi1) phi2) (+.f64 (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))) (*.f64 1/2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 phi2 2))))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 phi1) (pow.f64 phi2 3))) (+.f64 (*.f64 (cos.f64 phi1) phi2) (+.f64 (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))) (*.f64 1/2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 phi2 2)))))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(sin.f64 phi2)
(+.f64 (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) phi1))) (sin.f64 phi2))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) phi1))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 phi1 2) (sin.f64 phi2))) (sin.f64 phi2)))
(+.f64 (*.f64 1/6 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 phi1 3)))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) phi1))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 phi1 2) (sin.f64 phi2))) (sin.f64 phi2))))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2))
(+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1)))
(+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1)) (*.f64 -1/2 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 lambda1 2))))))
(+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1)) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 lambda1 2)))) (*.f64 -1/6 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 3)))))))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))))
(*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))))
(*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))))
(*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))))
(*.f64 (cos.f64 phi2) (sin.f64 lambda1))
(+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))
(+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 lambda2 3) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))
(*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))
(*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))
(*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))
(sin.f64 (-.f64 lambda1 lambda2))
(+.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 -1/2 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 2))))
(+.f64 (*.f64 1/24 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 4))) (+.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 -1/2 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 2)))))
(+.f64 (*.f64 -1/720 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 6))) (+.f64 (*.f64 1/24 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 4))) (+.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 -1/2 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 2))))))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
Outputs
(cos.f64 (neg.f64 lambda2))
(cos.f64 lambda2)
(+.f64 (cos.f64 (neg.f64 lambda2)) (*.f64 -1 (*.f64 (sin.f64 (neg.f64 lambda2)) lambda1)))
(+.f64 (cos.f64 lambda2) (neg.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) lambda1)))
(-.f64 (cos.f64 lambda2) (*.f64 (neg.f64 (sin.f64 lambda2)) lambda1))
(fma.f64 (sin.f64 lambda2) lambda1 (cos.f64 lambda2))
(+.f64 (cos.f64 (neg.f64 lambda2)) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2))) (*.f64 -1 (*.f64 (sin.f64 (neg.f64 lambda2)) lambda1))))
(+.f64 (cos.f64 lambda2) (fma.f64 -1/2 (*.f64 (cos.f64 lambda2) (*.f64 lambda1 lambda1)) (neg.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) lambda1))))
(+.f64 (cos.f64 lambda2) (-.f64 (*.f64 (cos.f64 lambda2) (*.f64 (*.f64 lambda1 lambda1) -1/2)) (*.f64 (neg.f64 (sin.f64 lambda2)) lambda1)))
(+.f64 (cos.f64 lambda2) (*.f64 lambda1 (+.f64 (sin.f64 lambda2) (*.f64 lambda1 (*.f64 (cos.f64 lambda2) -1/2)))))
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 (neg.f64 lambda2)) (pow.f64 lambda1 3))) (+.f64 (cos.f64 (neg.f64 lambda2)) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2))) (*.f64 -1 (*.f64 (sin.f64 (neg.f64 lambda2)) lambda1)))))
(fma.f64 1/6 (*.f64 (neg.f64 (sin.f64 lambda2)) (pow.f64 lambda1 3)) (+.f64 (cos.f64 lambda2) (fma.f64 -1/2 (*.f64 (cos.f64 lambda2) (*.f64 lambda1 lambda1)) (neg.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) lambda1)))))
(+.f64 (-.f64 (*.f64 (cos.f64 lambda2) (*.f64 (*.f64 lambda1 lambda1) -1/2)) (*.f64 (neg.f64 (sin.f64 lambda2)) lambda1)) (fma.f64 1/6 (*.f64 (neg.f64 (sin.f64 lambda2)) (pow.f64 lambda1 3)) (cos.f64 lambda2)))
(+.f64 (*.f64 lambda1 (+.f64 (sin.f64 lambda2) (*.f64 lambda1 (*.f64 (cos.f64 lambda2) -1/2)))) (fma.f64 (*.f64 -1/6 (sin.f64 lambda2)) (pow.f64 lambda1 3) (cos.f64 lambda2)))
(cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))
(cos.f64 (fma.f64 -1 lambda1 lambda2))
(cos.f64 (-.f64 lambda2 lambda1))
(cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))
(cos.f64 (fma.f64 -1 lambda1 lambda2))
(cos.f64 (-.f64 lambda2 lambda1))
(cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))
(cos.f64 (fma.f64 -1 lambda1 lambda2))
(cos.f64 (-.f64 lambda2 lambda1))
(cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))
(cos.f64 (fma.f64 -1 lambda1 lambda2))
(cos.f64 (-.f64 lambda2 lambda1))
(cos.f64 lambda1)
(+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (cos.f64 lambda1))
(fma.f64 lambda2 (sin.f64 lambda1) (cos.f64 lambda1))
(+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 lambda1))) (cos.f64 lambda1)))
(fma.f64 lambda2 (sin.f64 lambda1) (fma.f64 -1/2 (*.f64 (cos.f64 lambda1) (*.f64 lambda2 lambda2)) (cos.f64 lambda1)))
(fma.f64 lambda2 (sin.f64 lambda1) (fma.f64 -1/2 (*.f64 lambda2 (*.f64 lambda2 (cos.f64 lambda1))) (cos.f64 lambda1)))
(fma.f64 lambda2 (sin.f64 lambda1) (fma.f64 (*.f64 lambda2 (*.f64 lambda2 -1/2)) (cos.f64 lambda1) (cos.f64 lambda1)))
(fma.f64 lambda2 (sin.f64 lambda1) (*.f64 (cos.f64 lambda1) (+.f64 1 (*.f64 lambda2 (*.f64 lambda2 -1/2)))))
(+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 lambda2 3) (sin.f64 lambda1))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 lambda1))) (cos.f64 lambda1))))
(fma.f64 lambda2 (sin.f64 lambda1) (fma.f64 -1/6 (*.f64 (sin.f64 lambda1) (pow.f64 lambda2 3)) (fma.f64 -1/2 (*.f64 (cos.f64 lambda1) (*.f64 lambda2 lambda2)) (cos.f64 lambda1))))
(+.f64 (fma.f64 -1/2 (*.f64 lambda2 (*.f64 lambda2 (cos.f64 lambda1))) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (+.f64 lambda2 (*.f64 -1/6 (pow.f64 lambda2 3)))))
(+.f64 (fma.f64 (*.f64 lambda2 (*.f64 lambda2 -1/2)) (cos.f64 lambda1) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (+.f64 lambda2 (*.f64 -1/6 (pow.f64 lambda2 3)))))
(+.f64 (*.f64 (cos.f64 lambda1) (+.f64 1 (*.f64 lambda2 (*.f64 lambda2 -1/2)))) (*.f64 (sin.f64 lambda1) (+.f64 lambda2 (*.f64 -1/6 (pow.f64 lambda2 3)))))
(cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1))
(cos.f64 (fma.f64 -1 lambda1 lambda2))
(cos.f64 (-.f64 lambda2 lambda1))
(cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1))
(cos.f64 (fma.f64 -1 lambda1 lambda2))
(cos.f64 (-.f64 lambda2 lambda1))
(cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1))
(cos.f64 (fma.f64 -1 lambda1 lambda2))
(cos.f64 (-.f64 lambda2 lambda1))
(cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1))
(cos.f64 (fma.f64 -1 lambda1 lambda2))
(cos.f64 (-.f64 lambda2 lambda1))
(sin.f64 (neg.f64 lambda2))
(neg.f64 (sin.f64 lambda2))
(+.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1))
(+.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) lambda1))
(-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))
(+.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2))) (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1)))
(+.f64 (neg.f64 (sin.f64 lambda2)) (fma.f64 -1/2 (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 lambda1 lambda1)) (*.f64 (cos.f64 lambda2) lambda1)))
(-.f64 (fma.f64 (cos.f64 lambda2) lambda1 (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (*.f64 lambda1 lambda1) -1/2))) (sin.f64 lambda2))
(-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 3))) (+.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2))) (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1))))
(fma.f64 -1/6 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 3)) (+.f64 (neg.f64 (sin.f64 lambda2)) (fma.f64 -1/2 (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 lambda1 lambda1)) (*.f64 (cos.f64 lambda2) lambda1))))
(fma.f64 -1/6 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 3)) (-.f64 (fma.f64 (cos.f64 lambda2) lambda1 (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (*.f64 lambda1 lambda1) -1/2))) (sin.f64 lambda2)))
(+.f64 (-.f64 (*.f64 lambda1 (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2)))) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (+.f64 lambda1 (*.f64 (pow.f64 lambda1 3) -1/6))))
(sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))
(neg.f64 (sin.f64 (fma.f64 -1 lambda1 lambda2)))
(sin.f64 (-.f64 lambda1 lambda2))
(sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))
(neg.f64 (sin.f64 (fma.f64 -1 lambda1 lambda2)))
(sin.f64 (-.f64 lambda1 lambda2))
(sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))
(neg.f64 (sin.f64 (fma.f64 -1 lambda1 lambda2)))
(sin.f64 (-.f64 lambda1 lambda2))
(sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))
(neg.f64 (sin.f64 (fma.f64 -1 lambda1 lambda2)))
(sin.f64 (-.f64 lambda1 lambda2))
(sin.f64 lambda1)
(+.f64 (*.f64 -1 (*.f64 lambda2 (cos.f64 lambda1))) (sin.f64 lambda1))
(fma.f64 -1 (*.f64 lambda2 (cos.f64 lambda1)) (sin.f64 lambda1))
(-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))
(+.f64 (*.f64 -1 (*.f64 lambda2 (cos.f64 lambda1))) (+.f64 (sin.f64 lambda1) (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (sin.f64 lambda1)))))
(+.f64 (fma.f64 -1 (*.f64 lambda2 (cos.f64 lambda1)) (sin.f64 lambda1)) (*.f64 -1/2 (*.f64 (sin.f64 lambda1) (*.f64 lambda2 lambda2))))
(-.f64 (fma.f64 -1/2 (*.f64 (sin.f64 lambda1) (*.f64 lambda2 lambda2)) (sin.f64 lambda1)) (*.f64 lambda2 (cos.f64 lambda1)))
(-.f64 (fma.f64 (*.f64 lambda2 (*.f64 lambda2 -1/2)) (sin.f64 lambda1) (sin.f64 lambda1)) (*.f64 lambda2 (cos.f64 lambda1)))
(+.f64 (*.f64 -1 (*.f64 lambda2 (cos.f64 lambda1))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 lambda2 3) (cos.f64 lambda1))) (+.f64 (sin.f64 lambda1) (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (sin.f64 lambda1))))))
(fma.f64 -1 (*.f64 lambda2 (cos.f64 lambda1)) (fma.f64 1/6 (*.f64 (cos.f64 lambda1) (pow.f64 lambda2 3)) (+.f64 (sin.f64 lambda1) (*.f64 -1/2 (*.f64 (sin.f64 lambda1) (*.f64 lambda2 lambda2))))))
(+.f64 (fma.f64 -1/2 (*.f64 (sin.f64 lambda1) (*.f64 lambda2 lambda2)) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (+.f64 (neg.f64 lambda2) (*.f64 1/6 (pow.f64 lambda2 3)))))
(+.f64 (fma.f64 (*.f64 lambda2 (*.f64 lambda2 -1/2)) (sin.f64 lambda1) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (-.f64 (*.f64 1/6 (pow.f64 lambda2 3)) lambda2)))
(sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))
(neg.f64 (sin.f64 (fma.f64 -1 lambda1 lambda2)))
(sin.f64 (-.f64 lambda1 lambda2))
(sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))
(neg.f64 (sin.f64 (fma.f64 -1 lambda1 lambda2)))
(sin.f64 (-.f64 lambda1 lambda2))
(sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))
(neg.f64 (sin.f64 (fma.f64 -1 lambda1 lambda2)))
(sin.f64 (-.f64 lambda1 lambda2))
(sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))
(neg.f64 (sin.f64 (fma.f64 -1 lambda1 lambda2)))
(sin.f64 (-.f64 lambda1 lambda2))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 lambda2))))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda2) (cos.f64 phi2)))))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda2) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 lambda2) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2)))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (+.f64 (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 lambda2))))) (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) lambda1)))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (fma.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda2) (cos.f64 phi2))) (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 phi2) (*.f64 lambda1 (sin.f64 phi1))))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (fma.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 lambda1 (*.f64 (sin.f64 phi1) (cos.f64 phi2))) (*.f64 (sin.f64 phi1) (neg.f64 (*.f64 (cos.f64 lambda2) (cos.f64 phi2))))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (-.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) lambda1) (cos.f64 lambda2))))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (fma.f64 (sin.f64 lambda2) lambda1 (cos.f64 lambda2))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (+.f64 (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 lambda2))))) (+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) lambda1))) (*.f64 1/2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2))))))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (fma.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda2) (cos.f64 phi2))) (fma.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 phi2) (*.f64 lambda1 (sin.f64 phi1))) (*.f64 1/2 (*.f64 (cos.f64 phi2) (*.f64 (*.f64 (cos.f64 lambda2) (*.f64 lambda1 lambda1)) (sin.f64 phi1)))))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (-.f64 (fma.f64 1/2 (*.f64 (*.f64 lambda1 (*.f64 (cos.f64 lambda2) lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))) (*.f64 (cos.f64 phi2) (*.f64 (*.f64 lambda1 (sin.f64 phi1)) (neg.f64 (sin.f64 lambda2))))) (*.f64 (cos.f64 lambda2) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(+.f64 (*.f64 (*.f64 lambda1 lambda1) (*.f64 (*.f64 (cos.f64 phi2) 1/2) (*.f64 (cos.f64 lambda2) (sin.f64 phi1)))) (fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (-.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) lambda1) (cos.f64 lambda2)))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (neg.f64 (fma.f64 (sin.f64 lambda2) lambda1 (cos.f64 lambda2))) (*.f64 (*.f64 (cos.f64 lambda2) (*.f64 lambda1 lambda1)) 1/2))))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (pow.f64 lambda1 3))))) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (+.f64 (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 lambda2))))) (+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) lambda1))) (*.f64 1/2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2)))))))))
(fma.f64 -1/6 (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 phi2) (*.f64 (pow.f64 lambda1 3) (sin.f64 phi1)))) (fma.f64 (cos.f64 phi1) (sin.f64 phi2) (fma.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda2) (cos.f64 phi2))) (fma.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 phi2) (*.f64 lambda1 (sin.f64 phi1))) (*.f64 1/2 (*.f64 (cos.f64 phi2) (*.f64 (*.f64 (cos.f64 lambda2) (*.f64 lambda1 lambda1)) (sin.f64 phi1))))))))
(fma.f64 -1/6 (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (pow.f64 lambda1 3) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))) (fma.f64 (cos.f64 phi1) (sin.f64 phi2) (-.f64 (fma.f64 1/2 (*.f64 (*.f64 lambda1 (*.f64 (cos.f64 lambda2) lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))) (*.f64 (cos.f64 phi2) (*.f64 (*.f64 lambda1 (sin.f64 phi1)) (neg.f64 (sin.f64 lambda2))))) (*.f64 (cos.f64 lambda2) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))))
(fma.f64 (*.f64 1/6 (sin.f64 lambda2)) (*.f64 (pow.f64 lambda1 3) (*.f64 (sin.f64 phi1) (cos.f64 phi2))) (+.f64 (*.f64 (*.f64 lambda1 lambda1) (*.f64 (*.f64 (cos.f64 phi2) 1/2) (*.f64 (cos.f64 lambda2) (sin.f64 phi1)))) (fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (-.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) lambda1) (cos.f64 lambda2))))))
(fma.f64 (*.f64 1/6 (sin.f64 lambda2)) (*.f64 (pow.f64 lambda1 3) (*.f64 (sin.f64 phi1) (cos.f64 phi2))) (fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (neg.f64 (fma.f64 (sin.f64 lambda2) lambda1 (cos.f64 lambda2))) (*.f64 (*.f64 (cos.f64 lambda2) (*.f64 lambda1 lambda1)) 1/2)))))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (neg.f64 (sin.f64 phi1))) (cos.f64 phi2)))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (neg.f64 (sin.f64 phi1))) (cos.f64 phi2)))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (neg.f64 (sin.f64 phi1))) (cos.f64 phi2)))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (neg.f64 (sin.f64 phi1))) (cos.f64 phi2)))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (neg.f64 (sin.f64 phi1))) (cos.f64 phi2)))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (neg.f64 (sin.f64 phi1))) (cos.f64 phi2)))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (neg.f64 (sin.f64 phi1))) (cos.f64 phi2)))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (neg.f64 (sin.f64 phi1))) (cos.f64 phi2)))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))))) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1))))))
(fma.f64 -1 (*.f64 lambda2 (*.f64 (sin.f64 phi1) (*.f64 (sin.f64 lambda1) (cos.f64 phi2)))) (fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2))))))
(-.f64 (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))) (*.f64 lambda2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda1) (sin.f64 phi1)))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (neg.f64 lambda2) (*.f64 (sin.f64 lambda1) (cos.f64 phi2))) (*.f64 (cos.f64 lambda1) (neg.f64 (cos.f64 phi2))))))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (fma.f64 lambda2 (sin.f64 lambda1) (cos.f64 lambda1))))
(+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))))) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (+.f64 (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (*.f64 1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1))))))))
(fma.f64 -1 (*.f64 lambda2 (*.f64 (sin.f64 phi1) (*.f64 (sin.f64 lambda1) (cos.f64 phi2)))) (fma.f64 (cos.f64 phi1) (sin.f64 phi2) (fma.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2))) (*.f64 1/2 (*.f64 (*.f64 lambda2 lambda2) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2))))))))
(-.f64 (fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (cos.f64 phi2))) (+.f64 -1 (*.f64 (*.f64 lambda2 lambda2) 1/2)))) (*.f64 lambda2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda1) (sin.f64 phi1)))))
(-.f64 (fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (cos.f64 phi2))) (+.f64 -1 (*.f64 (*.f64 lambda2 lambda2) 1/2)))) (*.f64 (*.f64 lambda2 (sin.f64 lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (-.f64 (*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 phi2)) (+.f64 -1 (*.f64 (*.f64 lambda2 lambda2) 1/2))) (*.f64 lambda2 (*.f64 (sin.f64 lambda1) (cos.f64 phi2))))))
(+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 lambda2 3) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))))) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (+.f64 (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (*.f64 1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))))))
(fma.f64 -1 (*.f64 lambda2 (*.f64 (sin.f64 phi1) (*.f64 (sin.f64 lambda1) (cos.f64 phi2)))) (fma.f64 1/6 (*.f64 (pow.f64 lambda2 3) (*.f64 (sin.f64 phi1) (*.f64 (sin.f64 lambda1) (cos.f64 phi2)))) (fma.f64 (cos.f64 phi1) (sin.f64 phi2) (fma.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2))) (*.f64 1/2 (*.f64 (*.f64 lambda2 lambda2) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))))))))
(+.f64 (fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (cos.f64 phi2))) (+.f64 -1 (*.f64 (*.f64 lambda2 lambda2) 1/2)))) (*.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda1) (sin.f64 phi1))) (+.f64 (neg.f64 lambda2) (*.f64 1/6 (pow.f64 lambda2 3)))))
(+.f64 (fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (cos.f64 phi2))) (+.f64 -1 (*.f64 (*.f64 lambda2 lambda2) 1/2)))) (*.f64 (*.f64 (sin.f64 lambda1) (*.f64 (sin.f64 phi1) (cos.f64 phi2))) (-.f64 (*.f64 1/6 (pow.f64 lambda2 3)) lambda2)))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 1/6 (pow.f64 lambda2 3)) lambda2)) (*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 phi2)) (+.f64 -1 (*.f64 (*.f64 lambda2 lambda2) 1/2))))))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (neg.f64 (sin.f64 phi1))) (cos.f64 phi2)))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (neg.f64 (sin.f64 phi1))) (cos.f64 phi2)))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (neg.f64 (sin.f64 phi1))) (cos.f64 phi2)))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (neg.f64 (sin.f64 phi1))) (cos.f64 phi2)))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (neg.f64 (sin.f64 phi1))) (cos.f64 phi2)))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (neg.f64 (sin.f64 phi1))) (cos.f64 phi2)))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (neg.f64 (sin.f64 phi1))) (cos.f64 phi2)))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (neg.f64 (sin.f64 phi1))) (cos.f64 phi2)))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1)))
(neg.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))
(*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (neg.f64 (sin.f64 phi1)))
(*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1))))
(+.f64 (*.f64 (cos.f64 phi1) phi2) (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))))
(fma.f64 (cos.f64 phi1) phi2 (neg.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))))
(fma.f64 (cos.f64 phi1) phi2 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (neg.f64 (sin.f64 phi1))))
(-.f64 (*.f64 (cos.f64 phi1) phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(+.f64 (*.f64 (cos.f64 phi1) phi2) (+.f64 (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))) (*.f64 1/2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 phi2 2))))))
(fma.f64 (cos.f64 phi1) phi2 (fma.f64 -1 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))) (*.f64 1/2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (*.f64 phi2 phi2))))))
(fma.f64 (cos.f64 phi1) phi2 (fma.f64 1/2 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 phi2 (*.f64 phi2 (sin.f64 phi1)))) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (neg.f64 (sin.f64 phi1)))))
(fma.f64 (cos.f64 phi1) phi2 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (+.f64 -1 (*.f64 1/2 (*.f64 phi2 phi2)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 phi1) (pow.f64 phi2 3))) (+.f64 (*.f64 (cos.f64 phi1) phi2) (+.f64 (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))) (*.f64 1/2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 phi2 2)))))))
(fma.f64 -1/6 (*.f64 (cos.f64 phi1) (pow.f64 phi2 3)) (fma.f64 (cos.f64 phi1) phi2 (fma.f64 -1 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))) (*.f64 1/2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (*.f64 phi2 phi2)))))))
(fma.f64 -1/6 (*.f64 (cos.f64 phi1) (pow.f64 phi2 3)) (fma.f64 (cos.f64 phi1) phi2 (fma.f64 1/2 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 phi2 (*.f64 phi2 (sin.f64 phi1)))) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (neg.f64 (sin.f64 phi1))))))
(+.f64 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (+.f64 -1 (*.f64 1/2 (*.f64 phi2 phi2)))) (*.f64 (cos.f64 phi1) (+.f64 phi2 (*.f64 -1/6 (pow.f64 phi2 3)))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (neg.f64 (sin.f64 phi1))) (cos.f64 phi2)))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (neg.f64 (sin.f64 phi1))) (cos.f64 phi2)))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (neg.f64 (sin.f64 phi1))) (cos.f64 phi2)))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (neg.f64 (sin.f64 phi1))) (cos.f64 phi2)))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (neg.f64 (sin.f64 phi1))) (cos.f64 phi2)))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (neg.f64 (sin.f64 phi1))) (cos.f64 phi2)))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (neg.f64 (sin.f64 phi1))) (cos.f64 phi2)))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (neg.f64 (sin.f64 phi1))) (cos.f64 phi2)))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(sin.f64 phi2)
(+.f64 (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) phi1))) (sin.f64 phi2))
(fma.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 phi1 (cos.f64 phi2))) (sin.f64 phi2))
(-.f64 (sin.f64 phi2) (*.f64 phi1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1)))))
(-.f64 (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 phi1 (cos.f64 phi2))))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) phi1))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 phi1 2) (sin.f64 phi2))) (sin.f64 phi2)))
(fma.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 phi1 (cos.f64 phi2))) (fma.f64 -1/2 (*.f64 (sin.f64 phi2) (*.f64 phi1 phi1)) (sin.f64 phi2)))
(-.f64 (*.f64 (+.f64 (*.f64 (*.f64 -1/2 phi1) phi1) 1) (sin.f64 phi2)) (*.f64 phi1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1)))))
(-.f64 (fma.f64 -1/2 (*.f64 phi1 (*.f64 phi1 (sin.f64 phi2))) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 phi1 (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (+.f64 1 (*.f64 -1/2 (*.f64 phi1 phi1)))) (*.f64 phi1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1)))))
(+.f64 (*.f64 1/6 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 phi1 3)))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) phi1))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 phi1 2) (sin.f64 phi2))) (sin.f64 phi2))))
(fma.f64 1/6 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 phi1 3))) (fma.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 phi1 (cos.f64 phi2))) (fma.f64 -1/2 (*.f64 (sin.f64 phi2) (*.f64 phi1 phi1)) (sin.f64 phi2))))
(fma.f64 1/6 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi2) (pow.f64 phi1 3))) (-.f64 (*.f64 (+.f64 (*.f64 (*.f64 -1/2 phi1) phi1) 1) (sin.f64 phi2)) (*.f64 phi1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
(+.f64 (fma.f64 -1/2 (*.f64 phi1 (*.f64 phi1 (sin.f64 phi2))) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (-.f64 (*.f64 1/6 (pow.f64 phi1 3)) phi1)))
(+.f64 (*.f64 (sin.f64 phi2) (+.f64 1 (*.f64 -1/2 (*.f64 phi1 phi1)))) (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (-.f64 (*.f64 1/6 (pow.f64 phi1 3)) phi1)))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (neg.f64 (sin.f64 phi1))) (cos.f64 phi2)))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (neg.f64 (sin.f64 phi1))) (cos.f64 phi2)))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (neg.f64 (sin.f64 phi1))) (cos.f64 phi2)))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (neg.f64 (sin.f64 phi1))) (cos.f64 phi2)))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (neg.f64 (sin.f64 phi1))) (cos.f64 phi2)))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (neg.f64 (sin.f64 phi1))) (cos.f64 phi2)))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (neg.f64 (sin.f64 phi1))) (cos.f64 phi2)))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (neg.f64 (sin.f64 phi1))) (cos.f64 phi2)))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2))
(*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2))
(+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1)))
(fma.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2) (*.f64 (*.f64 (cos.f64 lambda2) lambda1) (cos.f64 phi2)))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)))
(+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1)) (*.f64 -1/2 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 lambda1 2))))))
(fma.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2) (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) lambda1) (*.f64 -1/2 (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (*.f64 lambda1 lambda1) (cos.f64 phi2))))))
(+.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (*.f64 lambda1 (*.f64 lambda1 (cos.f64 phi2))) -1/2)) (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))))
(-.f64 (*.f64 (cos.f64 phi2) (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2)))))) (*.f64 (cos.f64 phi2) (sin.f64 lambda2)))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2)))
(+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1)) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 lambda1 2)))) (*.f64 -1/6 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 3)))))))
(fma.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2) (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) lambda1) (fma.f64 -1/2 (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (*.f64 lambda1 lambda1) (cos.f64 phi2))) (*.f64 -1/6 (*.f64 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 3)) (cos.f64 phi2))))))
(+.f64 (fma.f64 -1/2 (*.f64 (*.f64 lambda1 lambda1) (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2))) (*.f64 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 3)) (*.f64 -1/6 (cos.f64 phi2)))) (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))))
(+.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2)))) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) (+.f64 lambda1 (*.f64 (pow.f64 lambda1 3) -1/6)))))
(*.f64 (cos.f64 phi2) (+.f64 (-.f64 (*.f64 lambda1 (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2)))) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (+.f64 lambda1 (*.f64 (pow.f64 lambda1 3) -1/6)))))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 lambda1))
(*.f64 (sin.f64 lambda1) (cos.f64 phi2))
(+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))
(fma.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 lambda1) (cos.f64 phi2))) (*.f64 (sin.f64 lambda1) (cos.f64 phi2)))
(-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 lambda2 (cos.f64 phi2))))
(*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1))))
(+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))))
(fma.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 lambda1) (cos.f64 phi2))) (fma.f64 -1/2 (*.f64 (*.f64 lambda2 lambda2) (*.f64 (sin.f64 lambda1) (cos.f64 phi2))) (*.f64 (sin.f64 lambda1) (cos.f64 phi2))))
(-.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 lambda2 lambda2)) 1) (*.f64 (sin.f64 lambda1) (cos.f64 phi2))) (*.f64 (cos.f64 lambda1) (*.f64 lambda2 (cos.f64 phi2))))
(-.f64 (*.f64 (cos.f64 phi2) (fma.f64 (*.f64 lambda2 (*.f64 lambda2 -1/2)) (sin.f64 lambda1) (sin.f64 lambda1))) (*.f64 (cos.f64 lambda1) (*.f64 lambda2 (cos.f64 phi2))))
(*.f64 (cos.f64 phi2) (-.f64 (fma.f64 (*.f64 lambda2 (*.f64 lambda2 -1/2)) (sin.f64 lambda1) (sin.f64 lambda1)) (*.f64 lambda2 (cos.f64 lambda1))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 lambda2 3) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))))
(fma.f64 1/6 (*.f64 (pow.f64 lambda2 3) (*.f64 (cos.f64 lambda1) (cos.f64 phi2))) (fma.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 lambda1) (cos.f64 phi2))) (fma.f64 -1/2 (*.f64 (*.f64 lambda2 lambda2) (*.f64 (sin.f64 lambda1) (cos.f64 phi2))) (*.f64 (sin.f64 lambda1) (cos.f64 phi2)))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 lambda2 lambda2)) 1) (*.f64 (sin.f64 lambda1) (cos.f64 phi2))) (*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 phi2)) (+.f64 (*.f64 1/6 (pow.f64 lambda2 3)) (neg.f64 lambda2))))
(+.f64 (*.f64 (cos.f64 phi2) (fma.f64 (*.f64 lambda2 (*.f64 lambda2 -1/2)) (sin.f64 lambda1) (sin.f64 lambda1))) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda1) (-.f64 (*.f64 1/6 (pow.f64 lambda2 3)) lambda2))))
(*.f64 (cos.f64 phi2) (+.f64 (fma.f64 (*.f64 lambda2 (*.f64 lambda2 -1/2)) (sin.f64 lambda1) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (-.f64 (*.f64 1/6 (pow.f64 lambda2 3)) lambda2))))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(sin.f64 (-.f64 lambda1 lambda2))
(neg.f64 (sin.f64 (fma.f64 -1 lambda1 lambda2)))
(+.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 -1/2 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 2))))
(+.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 -1/2 (*.f64 (*.f64 phi2 phi2) (sin.f64 (-.f64 lambda1 lambda2)))))
(fma.f64 -1/2 (*.f64 (*.f64 phi2 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 (-.f64 lambda1 lambda2)))
(+.f64 (*.f64 1/24 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 4))) (+.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 -1/2 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 2)))))
(fma.f64 1/24 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 4)) (+.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 -1/2 (*.f64 (*.f64 phi2 phi2) (sin.f64 (-.f64 lambda1 lambda2))))))
(fma.f64 1/24 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 4)) (fma.f64 -1/2 (*.f64 (*.f64 phi2 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 (-.f64 lambda1 lambda2))))
(+.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) (*.f64 1/24 (pow.f64 phi2 4)))))
(*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) 1)))
(+.f64 (*.f64 -1/720 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 6))) (+.f64 (*.f64 1/24 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 4))) (+.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 -1/2 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 2))))))
(fma.f64 -1/720 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 6)) (fma.f64 1/24 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 4)) (+.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 -1/2 (*.f64 (*.f64 phi2 phi2) (sin.f64 (-.f64 lambda1 lambda2)))))))
(fma.f64 -1/720 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 6)) (fma.f64 1/24 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 4)) (fma.f64 -1/2 (*.f64 (*.f64 phi2 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 (-.f64 lambda1 lambda2)))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 (-.f64 lambda1 lambda2))) (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) (*.f64 -1/720 (pow.f64 phi2 6)))))
(+.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) (*.f64 -1/720 (pow.f64 phi2 6))))))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))

localize22.0ms (0%)

Local error

Found 8 expressions with local error:

NewErrorProgram
0.1b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
0.1b
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2))))
0.0b
(sin.f64 phi1)
0.0b
(cos.f64 phi2)
0.1b
(*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))
0.2b
(*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))
1.6b
(sin.f64 (-.f64 lambda1 lambda2))
1.6b
(cos.f64 (-.f64 lambda1 lambda2))

series17.0ms (0%)

Counts
1 → 48
Calls

12 calls:

TimeVariablePointExpression
6.0ms
lambda1
@inf
(*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))
4.0ms
phi1
@inf
(*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))
1.0ms
phi1
@0
(*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))
1.0ms
lambda1
@-inf
(*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))
1.0ms
lambda2
@inf
(*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))

rewrite70.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
737×prod-diff_binary64
633×log-prod_binary64
337×fma-def_binary64
239×expm1-udef_binary64
239×log1p-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01116
124116
2336516
Stop Event
node limit
Counts
1 → 24
Calls
Call 1
Inputs
(*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))) (*.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2))) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 phi1)) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 phi1)) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 phi1)) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 phi1)) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2))))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 phi1)) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (sin.f64 (-.f64 phi1 phi2)) (sin.f64 (+.f64 phi1 phi2))) (cos.f64 (-.f64 lambda1 lambda2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 (sin.f64 (-.f64 phi1 phi2)) (sin.f64 (+.f64 phi1 phi2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 phi1)) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) 3) (pow.f64 (cos.f64 (-.f64 lambda1 lambda2)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (cos.f64 (-.f64 lambda1 lambda2)) 3) (pow.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (*.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))))))))

simplify58.0ms (0.1%)

Algorithm
egg-herbie
Rules
774×associate-*r*_binary64
771×fma-def_binary64
515×distribute-lft-out_binary64
505×distribute-rgt-out_binary64
439×fma-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01151200
13381174
210401037
33802965
Stop Event
node limit
Counts
72 → 59
Calls
Call 1
Inputs
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 phi1 (cos.f64 phi2)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 phi1 3)))) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 phi1 (cos.f64 phi2))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 phi1 3)))) (+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 phi1 (cos.f64 phi2))) (*.f64 1/120 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 phi1 5))))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 phi1 3)))) (+.f64 (*.f64 -1/5040 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 phi1 7)))) (+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 phi1 (cos.f64 phi2))) (*.f64 1/120 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 phi1 5)))))))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))
(+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1)) (*.f64 -1/2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 phi2 2)))))
(+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1)) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 phi2 2)))) (*.f64 1/24 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 phi2 4))))))
(+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1)) (+.f64 (*.f64 -1/720 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 phi2 6)))) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 phi2 2)))) (*.f64 1/24 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 phi2 4)))))))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (neg.f64 lambda2))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (neg.f64 lambda2)))) (*.f64 -1 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) lambda1)))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (neg.f64 lambda2)))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) lambda1)))) (*.f64 -1/2 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2)))))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (neg.f64 lambda2)))) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (pow.f64 lambda1 3))))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) lambda1)))) (*.f64 -1/2 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2))))))))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 lambda2 (sin.f64 lambda1)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 lambda2 (sin.f64 lambda1))))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 lambda2 3) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (sin.f64 lambda1))))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 lambda2 (sin.f64 lambda1)))))))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
Outputs
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 phi1 (cos.f64 phi2)))
(*.f64 phi1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 phi1 3)))) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 phi1 (cos.f64 phi2))))
(fma.f64 -1/6 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 phi1 3))) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 phi1 (cos.f64 phi2))))
(fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 phi1 (cos.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (*.f64 (cos.f64 phi2) (pow.f64 phi1 3)) -1/6)))
(*.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 phi1 (*.f64 -1/6 (pow.f64 phi1 3))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 phi1 3)))) (+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 phi1 (cos.f64 phi2))) (*.f64 1/120 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 phi1 5))))))
(fma.f64 -1/6 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 phi1 3))) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 phi1 (cos.f64 phi2)) (*.f64 1/120 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 phi1 5))))))
(fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (*.f64 -1/6 (pow.f64 phi1 3)) (cos.f64 phi2)) (*.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 phi1 (*.f64 1/120 (pow.f64 phi1 5)))))
(*.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 1/120 (pow.f64 phi1 5)) (+.f64 (*.f64 -1/6 (pow.f64 phi1 3)) phi1)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 phi1 3)))) (+.f64 (*.f64 -1/5040 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 phi1 7)))) (+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 phi1 (cos.f64 phi2))) (*.f64 1/120 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 phi1 5)))))))
(fma.f64 -1/6 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 phi1 3))) (fma.f64 -1/5040 (*.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (pow.f64 phi1 7)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 phi1 (cos.f64 phi2)) (*.f64 1/120 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 phi1 5)))))))
(fma.f64 -1/6 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 phi1 3))) (fma.f64 -1/5040 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 phi1 7))) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 phi1 (cos.f64 phi2)) (*.f64 1/120 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 phi1 5)))))))
(+.f64 (*.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 phi1 (*.f64 1/120 (pow.f64 phi1 5)))) (*.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 -1/6 (pow.f64 phi1 3)) (*.f64 -1/5040 (pow.f64 phi1 7)))))
(*.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (+.f64 (*.f64 -1/5040 (pow.f64 phi1 7)) (*.f64 1/120 (pow.f64 phi1 5))) (+.f64 phi1 (*.f64 -1/6 (pow.f64 phi1 3)))))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))
(+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1)) (*.f64 -1/2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 phi2 2)))))
(fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1) (*.f64 -1/2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (*.f64 phi2 phi2)))))
(fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1) (*.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1)) (*.f64 (*.f64 phi2 phi2) -1/2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 (sin.f64 phi1) (*.f64 -1/2 (*.f64 phi2 (*.f64 phi2 (sin.f64 phi1))))))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 phi1)))
(+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1)) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 phi2 2)))) (*.f64 1/24 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 phi2 4))))))
(fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1) (fma.f64 -1/2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (*.f64 phi2 phi2))) (*.f64 1/24 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 phi2 4))))))
(fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1) (fma.f64 -1/2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (*.f64 phi2 phi2))) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (*.f64 (sin.f64 phi1) (pow.f64 phi2 4)) 1/24))))
(fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1) (*.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1)) (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) (*.f64 1/24 (pow.f64 phi2 4)))))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 (sin.f64 phi1) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) (*.f64 1/24 (pow.f64 phi2 4))))))
(+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1)) (+.f64 (*.f64 -1/720 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 phi2 6)))) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 phi2 2)))) (*.f64 1/24 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 phi2 4)))))))
(fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1) (fma.f64 -1/720 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 phi2 6))) (fma.f64 -1/2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (*.f64 phi2 phi2))) (*.f64 1/24 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 phi2 4)))))))
(fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1) (fma.f64 -1/720 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 phi2 6))) (fma.f64 -1/2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (*.f64 phi2 phi2))) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (*.f64 (sin.f64 phi1) (pow.f64 phi2 4)) 1/24)))))
(+.f64 (*.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1)) (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) (*.f64 1/24 (pow.f64 phi2 4)))) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 (sin.f64 phi1) (*.f64 -1/720 (*.f64 (sin.f64 phi1) (pow.f64 phi2 6))))))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 phi1)) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) (*.f64 -1/720 (pow.f64 phi2 6))))))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (neg.f64 lambda2))))
(*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda2)))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (neg.f64 lambda2)))) (*.f64 -1 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) lambda1)))))
(fma.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda2)) (neg.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (*.f64 lambda1 (sin.f64 phi1)))))
(fma.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda2)) (*.f64 (neg.f64 (sin.f64 lambda2)) (neg.f64 (*.f64 (cos.f64 phi2) (*.f64 lambda1 (sin.f64 phi1))))))
(*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (-.f64 (cos.f64 lambda2) (*.f64 (neg.f64 lambda1) (sin.f64 lambda2))))
(*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (sin.f64 lambda2))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (neg.f64 lambda2)))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) lambda1)))) (*.f64 -1/2 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2)))))))
(fma.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda2)) (fma.f64 -1 (*.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (*.f64 lambda1 (sin.f64 phi1))) (*.f64 (*.f64 -1/2 (sin.f64 phi1)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) (*.f64 lambda1 lambda1))))))
(fma.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda2)) (-.f64 (*.f64 -1/2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda2) (*.f64 lambda1 lambda1))))) (neg.f64 (*.f64 (sin.f64 lambda2) (*.f64 (cos.f64 phi2) (*.f64 lambda1 (sin.f64 phi1)))))))
(fma.f64 (*.f64 (cos.f64 phi2) (*.f64 lambda1 (sin.f64 phi1))) (sin.f64 lambda2) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (+.f64 (cos.f64 lambda2) (*.f64 -1/2 (*.f64 lambda1 (*.f64 lambda1 (cos.f64 lambda2)))))))
(*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (+.f64 (cos.f64 lambda2) (fma.f64 -1/2 (*.f64 (cos.f64 lambda2) (*.f64 lambda1 lambda1)) (*.f64 lambda1 (sin.f64 lambda2)))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (neg.f64 lambda2)))) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (pow.f64 lambda1 3))))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) lambda1)))) (*.f64 -1/2 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2))))))))
(fma.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda2)) (fma.f64 1/6 (*.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (pow.f64 lambda1 3))) (fma.f64 -1 (*.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (*.f64 lambda1 (sin.f64 phi1))) (*.f64 (*.f64 -1/2 (sin.f64 phi1)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) (*.f64 lambda1 lambda1)))))))
(fma.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda2)) (fma.f64 1/6 (*.f64 (cos.f64 phi2) (*.f64 (*.f64 (sin.f64 phi1) (pow.f64 lambda1 3)) (neg.f64 (sin.f64 lambda2)))) (-.f64 (*.f64 -1/2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda2) (*.f64 lambda1 lambda1))))) (neg.f64 (*.f64 (sin.f64 lambda2) (*.f64 (cos.f64 phi2) (*.f64 lambda1 (sin.f64 phi1))))))))
(+.f64 (*.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (-.f64 (*.f64 1/6 (*.f64 (sin.f64 phi1) (pow.f64 lambda1 3))) (*.f64 lambda1 (sin.f64 phi1)))) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (+.f64 (cos.f64 lambda2) (*.f64 -1/2 (*.f64 lambda1 (*.f64 lambda1 (cos.f64 lambda2)))))))
(+.f64 (*.f64 (sin.f64 phi1) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 lambda1 lambda1)) 1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (-.f64 (*.f64 1/6 (pow.f64 lambda1 3)) lambda1))))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))
(*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (cos.f64 lambda1))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 lambda2 (sin.f64 lambda1)))))
(fma.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 lambda2 (sin.f64 lambda1)))))
(*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (+.f64 (cos.f64 lambda1) (*.f64 lambda2 (sin.f64 lambda1))))
(*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (fma.f64 lambda2 (sin.f64 lambda1) (cos.f64 lambda1)))
(*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (fma.f64 lambda2 (sin.f64 lambda1) (cos.f64 lambda1))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 lambda2 (sin.f64 lambda1))))))
(fma.f64 -1/2 (*.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))) (*.f64 lambda2 lambda2)) (fma.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 lambda2 (sin.f64 lambda1))))))
(fma.f64 -1/2 (*.f64 (cos.f64 phi2) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) (*.f64 lambda2 lambda2))) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (+.f64 (cos.f64 lambda1) (*.f64 lambda2 (sin.f64 lambda1)))))
(fma.f64 (cos.f64 phi2) (*.f64 (*.f64 (sin.f64 phi1) lambda2) (sin.f64 lambda1)) (*.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))) (fma.f64 -1/2 (*.f64 lambda2 lambda2) 1)))
(*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (*.f64 (fma.f64 -1/2 (*.f64 lambda2 lambda2) 1) (cos.f64 lambda1))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 lambda2 3) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (sin.f64 lambda1))))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 lambda2 (sin.f64 lambda1)))))))
(fma.f64 -1/6 (*.f64 (pow.f64 lambda2 3) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (sin.f64 lambda1)))) (fma.f64 -1/2 (*.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))) (*.f64 lambda2 lambda2)) (fma.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 lambda2 (sin.f64 lambda1)))))))
(fma.f64 -1/6 (*.f64 (cos.f64 phi2) (*.f64 (*.f64 (sin.f64 phi1) (sin.f64 lambda1)) (pow.f64 lambda2 3))) (fma.f64 -1/2 (*.f64 (cos.f64 phi2) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) (*.f64 lambda2 lambda2))) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (+.f64 (cos.f64 lambda1) (*.f64 lambda2 (sin.f64 lambda1))))))
(fma.f64 (fma.f64 -1/2 (*.f64 lambda2 lambda2) 1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))) (*.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (sin.f64 lambda1))) (+.f64 lambda2 (*.f64 -1/6 (pow.f64 lambda2 3)))))
(*.f64 (cos.f64 phi2) (+.f64 (*.f64 (fma.f64 -1/2 (*.f64 lambda2 lambda2) 1) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))) (*.f64 (*.f64 (sin.f64 phi1) (sin.f64 lambda1)) (+.f64 lambda2 (*.f64 -1/6 (pow.f64 lambda2 3))))))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))

eval272.0ms (0.4%)

Compiler

Compiled 16528 to 3011 computations (81.8% saved)

prune285.0ms (0.4%)

Pruning

55 alts after pruning (55 fresh and 0 done)

PrunedKeptTotal
New43555490
Fresh000
Picked101
Done101
Total43755492
Error
4.3b
Counts
492 → 55
Alt Table
Click to see full alt table
StatusErrorProgram
36.2b
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
23.3b
(atan2.f64 (*.f64 (+.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 (fma.f64 (neg.f64 (cbrt.f64 lambda2)) (pow.f64 (cbrt.f64 lambda2) 2) lambda2))) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 (fma.f64 (neg.f64 (cbrt.f64 lambda2)) (pow.f64 (cbrt.f64 lambda2) 2) lambda2)))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
14.0b
(atan2.f64 (*.f64 (/.f64 (fma.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (neg.f64 (*.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))) (sin.f64 (+.f64 lambda1 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
4.6b
(atan2.f64 (*.f64 (fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
30.0b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (log.f64 (exp.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))
24.3b
(atan2.f64 (+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
33.0b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (+.f64 -1 (*.f64 1/2 (*.f64 phi2 phi2)))) (*.f64 (cos.f64 phi1) (+.f64 phi2 (*.f64 -1/6 (pow.f64 phi2 3))))))
24.3b
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
11.2b
(atan2.f64 (log1p.f64 (expm1.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
18.0b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (cos.f64 lambda1)))))
33.3b
(atan2.f64 (/.f64 1 (/.f64 2 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
30.3b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 phi1) phi2 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (+.f64 -1 (*.f64 1/2 (*.f64 phi2 phi2))))))
11.5b
(atan2.f64 (*.f64 (pow.f64 (cbrt.f64 (sin.f64 (-.f64 lambda1 lambda2))) 3) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
33.3b
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
29.8b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
4.6b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
11.2b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (log1p.f64 (expm1.f64 (cos.f64 (-.f64 lambda1 lambda2)))))))
30.5b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))))
37.1b
(atan2.f64 (*.f64 (sqrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
4.7b
(atan2.f64 (*.f64 (fma.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (cbrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)))) (cbrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
27.2b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 phi1)))))
31.9b
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
11.1b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))
23.5b
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
11.2b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (expm1.f64 (log1p.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))))))
31.3b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))))
31.7b
(atan2.f64 (*.f64 (fma.f64 (sqrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (sqrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
15.5b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
18.3b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (/.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 (sin.f64 (-.f64 phi1 phi2)) (sin.f64 (+.f64 phi1 phi2)))) 2)))
19.0b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))))
29.8b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (expm1.f64 (log1p.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))
30.2b
(atan2.f64 (neg.f64 (sin.f64 (fma.f64 -1 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
11.5b
(atan2.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 3) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
41.4b
(atan2.f64 (*.f64 (-.f64 (*.f64 (sin.f64 (/.f64 (pow.f64 lambda1 3) (fma.f64 lambda2 (+.f64 lambda1 lambda2) (*.f64 lambda1 lambda1)))) (cos.f64 (/.f64 (pow.f64 lambda2 3) (fma.f64 lambda2 (+.f64 lambda1 lambda2) (*.f64 lambda1 lambda1))))) (*.f64 (cos.f64 (/.f64 (pow.f64 lambda1 3) (fma.f64 lambda2 (+.f64 lambda1 lambda2) (*.f64 lambda1 lambda1)))) (sin.f64 (/.f64 (pow.f64 lambda2 3) (fma.f64 lambda2 (+.f64 lambda1 lambda2) (*.f64 lambda1 lambda1)))))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
14.6b
(atan2.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 3)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
24.8b
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
32.1b
(atan2.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 (-.f64 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
35.2b
(atan2.f64 (sqrt.f64 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
25.1b
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
29.2b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (sin.f64 phi2) (+.f64 1 (*.f64 -1/2 (*.f64 phi1 phi1)))) (*.f64 phi1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
17.4b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 lambda2) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2))))))
29.8b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cbrt.f64 (pow.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))) 3)))
11.1b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (+.f64 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2))) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))
17.4b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 lambda2)))))))
23.4b
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
15.2b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 (fma.f64 (neg.f64 (cbrt.f64 lambda2)) (pow.f64 (cbrt.f64 lambda2) 2) lambda2))) (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 (fma.f64 (neg.f64 (cbrt.f64 lambda2)) (pow.f64 (cbrt.f64 lambda2) 2) lambda2)))))))
28.3b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 phi1 (cos.f64 phi2)))))
20.0b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (sin.f64 lambda2))))))
17.4b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 lambda2))))
4.7b
(atan2.f64 (*.f64 (fma.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (cbrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)))) (cbrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
29.3b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
11.2b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (cbrt.f64 (pow.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))) 3))))
4.6b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
32.5b
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
30.3b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (sin.f64 phi2) (+.f64 1 (*.f64 -1/2 (*.f64 phi1 phi1)))) (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (-.f64 (*.f64 1/6 (pow.f64 phi1 3)) phi1))))
Compiler

Compiled 3708 to 2318 computations (37.5% saved)

localize29.0ms (0%)

Local error

Found 8 expressions with local error:

NewErrorProgram
0.1b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
0.1b
(-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))
0.0b
(sin.f64 phi1)
0.0b
(cos.f64 phi2)
0.1b
(fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
0.2b
(*.f64 (cos.f64 lambda2) (sin.f64 lambda1))
0.2b
(*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2))
1.6b
(cos.f64 (-.f64 lambda1 lambda2))

series16.0ms (0%)

Counts
2 → 60
Calls

15 calls:

TimeVariablePointExpression
3.0ms
lambda2
@inf
(*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2))
2.0ms
phi2
@inf
(*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2))
2.0ms
lambda1
@inf
(*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2))
2.0ms
lambda1
@inf
(*.f64 (cos.f64 lambda2) (sin.f64 lambda1))
1.0ms
lambda2
@-inf
(*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2))

rewrite76.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
716×log-prod_binary64
461×fma-def_binary64
372×pow2_binary64
258×pow1/3_binary64
256×expm1-udef_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01331
127531
2361419
Stop Event
node limit
Counts
2 → 79
Calls
Call 1
Inputs
(*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2))
(*.f64 (cos.f64 lambda2) (sin.f64 lambda1))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (*.f64 (fma.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (cos.f64 phi2)) (*.f64 (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2))) (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 phi2)) (sin.f64 (-.f64 lambda1 lambda2)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 phi2)) (sin.f64 (-.f64 lambda1 lambda2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 phi2)) (sin.f64 (-.f64 lambda1 lambda2))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 phi2)) (sin.f64 (-.f64 lambda1 lambda2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) 3) (pow.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)) 3)) (cos.f64 phi2)) (fma.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)) (sin.f64 (+.f64 lambda2 lambda1)) (pow.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sin.f64 (+.f64 lambda2 lambda1)) (sin.f64 (-.f64 lambda1 lambda2))) (cos.f64 phi2)) (sin.f64 (+.f64 lambda2 lambda1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 phi2) (-.f64 (pow.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) 3) (pow.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)) 3))) (fma.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)) (sin.f64 (+.f64 lambda2 lambda1)) (pow.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (+.f64 lambda2 lambda1)) (sin.f64 (-.f64 lambda1 lambda2)))) (sin.f64 (+.f64 lambda2 lambda1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 3) (pow.f64 (cos.f64 phi2) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (cos.f64 phi2) 3) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (cos.f64 phi2)) (sin.f64 (-.f64 lambda1 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 3) (pow.f64 (cos.f64 phi2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (cos.f64 phi2) 3) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (cos.f64 phi2) (*.f64 (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2))) (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (*.f64 (fma.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 (fma.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 1 (*.f64 (fma.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 1 (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (*.f64 (fma.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 phi2)) 2) (*.f64 (cbrt.f64 (cos.f64 phi2)) (sin.f64 (-.f64 lambda1 lambda2))) (*.f64 (fma.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 phi2)) 2) (*.f64 (cbrt.f64 (cos.f64 phi2)) (sin.f64 (-.f64 lambda1 lambda2))) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 2) (*.f64 (fma.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 2) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 2) (cbrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) (*.f64 (fma.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 2) (cbrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (sin.f64 (-.f64 lambda1 lambda2))) 2) (*.f64 (cbrt.f64 (sin.f64 (-.f64 lambda1 lambda2))) (cos.f64 phi2)) (*.f64 (fma.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (sin.f64 (-.f64 lambda1 lambda2))) 2) (*.f64 (cbrt.f64 (sin.f64 (-.f64 lambda1 lambda2))) (cos.f64 phi2)) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 phi2)) (*.f64 (sqrt.f64 (cos.f64 phi2)) (sin.f64 (-.f64 lambda1 lambda2))) (*.f64 (fma.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 phi2)) (*.f64 (sqrt.f64 (cos.f64 phi2)) (sin.f64 (-.f64 lambda1 lambda2))) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) (sqrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) (*.f64 (fma.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) (sqrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 (-.f64 lambda1 lambda2))) (*.f64 (sqrt.f64 (sin.f64 (-.f64 lambda1 lambda2))) (cos.f64 phi2)) (*.f64 (fma.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 (-.f64 lambda1 lambda2))) (*.f64 (sqrt.f64 (sin.f64 (-.f64 lambda1 lambda2))) (cos.f64 phi2)) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 (cbrt.f64 (cos.f64 phi2)) 2)) (cbrt.f64 (cos.f64 phi2)) (*.f64 (fma.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 (cbrt.f64 (cos.f64 phi2)) 2)) (cbrt.f64 (cos.f64 phi2)) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sqrt.f64 (cos.f64 phi2))) (sqrt.f64 (cos.f64 phi2)) (*.f64 (fma.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sqrt.f64 (cos.f64 phi2))) (sqrt.f64 (cos.f64 phi2)) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 phi2) (pow.f64 (cbrt.f64 (sin.f64 (-.f64 lambda1 lambda2))) 2)) (cbrt.f64 (sin.f64 (-.f64 lambda1 lambda2))) (*.f64 (fma.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 phi2) (pow.f64 (cbrt.f64 (sin.f64 (-.f64 lambda1 lambda2))) 2)) (cbrt.f64 (sin.f64 (-.f64 lambda1 lambda2))) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 phi2) (sqrt.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (sqrt.f64 (sin.f64 (-.f64 lambda1 lambda2))) (*.f64 (fma.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 phi2) (sqrt.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (sqrt.f64 (sin.f64 (-.f64 lambda1 lambda2))) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 lambda1)) (cos.f64 lambda2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 lambda1)) (cos.f64 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 lambda1)) (cos.f64 lambda2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 lambda1)) (cos.f64 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 (+.f64 lambda2 lambda1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sin.f64 lambda1)) (cos.f64 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))))))))

simplify62.0ms (0.1%)

Algorithm
egg-herbie
Rules
735×fma-def_binary64
572×associate-+l+_binary64
474×associate-*l*_binary64
463×associate-+r+_binary64
420×associate-*r*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01001352
12981322
29441198
337731152
Stop Event
node limit
Counts
139 → 120
Calls
Call 1
Inputs
(*.f64 (cos.f64 phi2) (sin.f64 lambda1))
(+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))
(+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 lambda2 3) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 -1 (*.f64 (cos.f64 phi2) (sin.f64 lambda2)))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 phi2) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) lambda1)))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 phi2) (sin.f64 lambda2))) (+.f64 (*.f64 1/2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda2) (pow.f64 lambda1 2)))) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) lambda1))))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 phi2) (sin.f64 lambda2))) (+.f64 (*.f64 1/2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda2) (pow.f64 lambda1 2)))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) lambda1)) (*.f64 -1/6 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 3)))))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1)))
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))) (pow.f64 phi2 2))) (*.f64 (sin.f64 lambda1) (cos.f64 lambda2))) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1)))
(-.f64 (+.f64 (*.f64 1/24 (*.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))) (pow.f64 phi2 4))) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))) (pow.f64 phi2 2))) (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)))) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1)))
(-.f64 (+.f64 (*.f64 1/24 (*.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))) (pow.f64 phi2 4))) (+.f64 (*.f64 -1/720 (*.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))) (pow.f64 phi2 6))) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))) (pow.f64 phi2 2))) (*.f64 (sin.f64 lambda1) (cos.f64 lambda2))))) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1)))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(sin.f64 lambda1)
(+.f64 (sin.f64 lambda1) (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (sin.f64 lambda1))))
(+.f64 (sin.f64 lambda1) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (sin.f64 lambda1))) (*.f64 1/24 (*.f64 (pow.f64 lambda2 4) (sin.f64 lambda1)))))
(+.f64 (*.f64 -1/720 (*.f64 (pow.f64 lambda2 6) (sin.f64 lambda1))) (+.f64 (sin.f64 lambda1) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (sin.f64 lambda1))) (*.f64 1/24 (*.f64 (pow.f64 lambda2 4) (sin.f64 lambda1))))))
(*.f64 (sin.f64 lambda1) (cos.f64 lambda2))
(*.f64 (sin.f64 lambda1) (cos.f64 lambda2))
(*.f64 (sin.f64 lambda1) (cos.f64 lambda2))
(*.f64 (sin.f64 lambda1) (cos.f64 lambda2))
(*.f64 (sin.f64 lambda1) (cos.f64 lambda2))
(*.f64 (sin.f64 lambda1) (cos.f64 lambda2))
(*.f64 (sin.f64 lambda1) (cos.f64 lambda2))
(*.f64 (sin.f64 lambda1) (cos.f64 lambda2))
(*.f64 (cos.f64 lambda2) lambda1)
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 3))) (*.f64 (cos.f64 lambda2) lambda1))
(+.f64 (*.f64 1/120 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 5))) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 3))) (*.f64 (cos.f64 lambda2) lambda1)))
(+.f64 (*.f64 1/120 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 5))) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 3))) (+.f64 (*.f64 (cos.f64 lambda2) lambda1) (*.f64 -1/5040 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 7))))))
(*.f64 (sin.f64 lambda1) (cos.f64 lambda2))
(*.f64 (sin.f64 lambda1) (cos.f64 lambda2))
(*.f64 (sin.f64 lambda1) (cos.f64 lambda2))
(*.f64 (sin.f64 lambda1) (cos.f64 lambda2))
(*.f64 (sin.f64 lambda1) (cos.f64 lambda2))
(*.f64 (sin.f64 lambda1) (cos.f64 lambda2))
(*.f64 (sin.f64 lambda1) (cos.f64 lambda2))
(*.f64 (sin.f64 lambda1) (cos.f64 lambda2))
Outputs
(*.f64 (cos.f64 phi2) (sin.f64 lambda1))
(+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))
(fma.f64 -1 (*.f64 (*.f64 lambda2 (cos.f64 phi2)) (cos.f64 lambda1)) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))
(-.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda1) lambda2)))
(*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1))))
(+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))))
(fma.f64 -1 (*.f64 (*.f64 lambda2 (cos.f64 phi2)) (cos.f64 lambda1)) (fma.f64 -1/2 (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (*.f64 lambda2 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))))
(-.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 lambda2 lambda2)) 1) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda1) lambda2)))
(fma.f64 lambda2 (*.f64 (cos.f64 lambda1) (neg.f64 (cos.f64 phi2))) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (fma.f64 -1/2 (*.f64 lambda2 lambda2) 1)))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (fma.f64 -1/2 (*.f64 lambda2 lambda2) 1)) (*.f64 lambda2 (cos.f64 lambda1))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 lambda2 3) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))))
(fma.f64 1/6 (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)) (pow.f64 lambda2 3)) (fma.f64 -1 (*.f64 (*.f64 lambda2 (cos.f64 phi2)) (cos.f64 lambda1)) (fma.f64 -1/2 (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (*.f64 lambda2 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 lambda2 lambda2)) 1) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))) (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)) (+.f64 (*.f64 1/6 (pow.f64 lambda2 3)) (neg.f64 lambda2))))
(fma.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)) (-.f64 (*.f64 1/6 (pow.f64 lambda2 3)) lambda2) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (fma.f64 -1/2 (*.f64 lambda2 lambda2) 1)))
(*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 lambda1) (-.f64 (*.f64 1/6 (pow.f64 lambda2 3)) lambda2)) (*.f64 (sin.f64 lambda1) (fma.f64 -1/2 (*.f64 lambda2 lambda2) 1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
(*.f64 -1 (*.f64 (cos.f64 phi2) (sin.f64 lambda2)))
(neg.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda2)))
(*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2)))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 phi2) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) lambda1)))
(fma.f64 -1 (*.f64 (cos.f64 phi2) (sin.f64 lambda2)) (*.f64 (cos.f64 phi2) (*.f64 lambda1 (cos.f64 lambda2))))
(fma.f64 (neg.f64 (cos.f64 phi2)) (sin.f64 lambda2) (*.f64 (cos.f64 phi2) (*.f64 lambda1 (cos.f64 lambda2))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (cos.f64 lambda2)) (sin.f64 lambda2)))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 phi2) (sin.f64 lambda2))) (+.f64 (*.f64 1/2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda2) (pow.f64 lambda1 2)))) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) lambda1))))
(fma.f64 -1 (*.f64 (cos.f64 phi2) (sin.f64 lambda2)) (fma.f64 1/2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda2) (*.f64 lambda1 lambda1))) (*.f64 (cos.f64 phi2) (*.f64 lambda1 (cos.f64 lambda2)))))
(-.f64 (fma.f64 (cos.f64 phi2) (*.f64 lambda1 (cos.f64 lambda2)) (*.f64 1/2 (*.f64 (cos.f64 phi2) (*.f64 (*.f64 (sin.f64 lambda2) lambda1) lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda2)))
(fma.f64 (cos.f64 phi2) (*.f64 lambda1 (cos.f64 lambda2)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda2)) (+.f64 -1 (*.f64 lambda1 (*.f64 lambda1 1/2)))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (*.f64 (*.f64 lambda1 (sin.f64 lambda2)) 1/2) (cos.f64 lambda2))) (sin.f64 lambda2)))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 phi2) (sin.f64 lambda2))) (+.f64 (*.f64 1/2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda2) (pow.f64 lambda1 2)))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) lambda1)) (*.f64 -1/6 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 3)))))))
(fma.f64 -1 (*.f64 (cos.f64 phi2) (sin.f64 lambda2)) (fma.f64 1/2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda2) (*.f64 lambda1 lambda1))) (fma.f64 (cos.f64 phi2) (*.f64 lambda1 (cos.f64 lambda2)) (*.f64 -1/6 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 3)))))))
(-.f64 (fma.f64 1/2 (*.f64 (cos.f64 phi2) (*.f64 (*.f64 (sin.f64 lambda2) lambda1) lambda1)) (fma.f64 (cos.f64 phi2) (*.f64 lambda1 (cos.f64 lambda2)) (*.f64 (cos.f64 phi2) (*.f64 -1/6 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 3)))))) (*.f64 (cos.f64 phi2) (sin.f64 lambda2)))
(+.f64 (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (+.f64 (*.f64 -1/6 (pow.f64 lambda1 3)) lambda1)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda2)) (+.f64 -1 (*.f64 lambda1 (*.f64 lambda1 1/2)))))
(*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 lambda2) (+.f64 lambda1 (*.f64 -1/6 (pow.f64 lambda1 3)))) (*.f64 (sin.f64 lambda2) (+.f64 -1 (*.f64 lambda1 (*.f64 lambda1 1/2))))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
(-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1)))
(-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))) (pow.f64 phi2 2))) (*.f64 (sin.f64 lambda1) (cos.f64 lambda2))) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1)))
(-.f64 (fma.f64 -1/2 (*.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 phi2 phi2)) (*.f64 (sin.f64 lambda1) (cos.f64 lambda2))) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))
(-.f64 (fma.f64 (*.f64 -1/2 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 phi2 phi2) (*.f64 (sin.f64 lambda1) (cos.f64 lambda2))) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))
(*.f64 (+.f64 (*.f64 (*.f64 -1/2 phi2) phi2) 1) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
(-.f64 (+.f64 (*.f64 1/24 (*.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))) (pow.f64 phi2 4))) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))) (pow.f64 phi2 2))) (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)))) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1)))
(-.f64 (fma.f64 1/24 (*.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (pow.f64 phi2 4)) (fma.f64 -1/2 (*.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 phi2 phi2)) (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)))) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))
(-.f64 (fma.f64 (*.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) 1/24) (pow.f64 phi2 4) (fma.f64 (*.f64 -1/2 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 phi2 phi2) (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)))) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))
(-.f64 (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (*.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (+.f64 (*.f64 (*.f64 -1/2 phi2) phi2) (*.f64 1/24 (pow.f64 phi2 4))))) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))
(*.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) (+.f64 (*.f64 (*.f64 -1/2 phi2) phi2) 1)))
(-.f64 (+.f64 (*.f64 1/24 (*.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))) (pow.f64 phi2 4))) (+.f64 (*.f64 -1/720 (*.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))) (pow.f64 phi2 6))) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))) (pow.f64 phi2 2))) (*.f64 (sin.f64 lambda1) (cos.f64 lambda2))))) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1)))
(-.f64 (fma.f64 1/24 (*.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (pow.f64 phi2 4)) (fma.f64 -1/720 (*.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (pow.f64 phi2 6)) (fma.f64 -1/2 (*.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 phi2 phi2)) (*.f64 (sin.f64 lambda1) (cos.f64 lambda2))))) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))
(-.f64 (fma.f64 1/24 (*.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (pow.f64 phi2 4)) (fma.f64 -1/720 (*.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (pow.f64 phi2 6)) (fma.f64 (*.f64 -1/2 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 phi2 phi2) (*.f64 (sin.f64 lambda1) (cos.f64 lambda2))))) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))
(+.f64 (*.f64 (+.f64 (*.f64 (*.f64 -1/2 phi2) phi2) 1) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) (*.f64 -1/720 (pow.f64 phi2 6)))))
(+.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) (+.f64 (*.f64 (*.f64 -1/2 phi2) phi2) (*.f64 -1/720 (pow.f64 phi2 6))))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
(sin.f64 lambda1)
(+.f64 (sin.f64 lambda1) (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (sin.f64 lambda1))))
(+.f64 (sin.f64 lambda1) (*.f64 -1/2 (*.f64 (sin.f64 lambda1) (*.f64 lambda2 lambda2))))
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 lambda2 lambda2)) 1) (sin.f64 lambda1))
(*.f64 (sin.f64 lambda1) (fma.f64 -1/2 (*.f64 lambda2 lambda2) 1))
(+.f64 (sin.f64 lambda1) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (sin.f64 lambda1))) (*.f64 1/24 (*.f64 (pow.f64 lambda2 4) (sin.f64 lambda1)))))
(+.f64 (sin.f64 lambda1) (fma.f64 -1/2 (*.f64 (sin.f64 lambda1) (*.f64 lambda2 lambda2)) (*.f64 1/24 (*.f64 (sin.f64 lambda1) (pow.f64 lambda2 4)))))
(+.f64 (sin.f64 lambda1) (*.f64 (sin.f64 lambda1) (+.f64 (*.f64 -1/2 (*.f64 lambda2 lambda2)) (*.f64 1/24 (pow.f64 lambda2 4)))))
(fma.f64 (sin.f64 lambda1) (fma.f64 1/24 (pow.f64 lambda2 4) (*.f64 lambda2 (*.f64 lambda2 -1/2))) (sin.f64 lambda1))
(+.f64 (*.f64 -1/720 (*.f64 (pow.f64 lambda2 6) (sin.f64 lambda1))) (+.f64 (sin.f64 lambda1) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (sin.f64 lambda1))) (*.f64 1/24 (*.f64 (pow.f64 lambda2 4) (sin.f64 lambda1))))))
(fma.f64 -1/720 (*.f64 (sin.f64 lambda1) (pow.f64 lambda2 6)) (+.f64 (sin.f64 lambda1) (fma.f64 -1/2 (*.f64 (sin.f64 lambda1) (*.f64 lambda2 lambda2)) (*.f64 1/24 (*.f64 (sin.f64 lambda1) (pow.f64 lambda2 4))))))
(+.f64 (*.f64 (sin.f64 lambda1) (+.f64 (*.f64 -1/2 (*.f64 lambda2 lambda2)) (*.f64 1/24 (pow.f64 lambda2 4)))) (fma.f64 -1/720 (*.f64 (sin.f64 lambda1) (pow.f64 lambda2 6)) (sin.f64 lambda1)))
(fma.f64 (fma.f64 -1/720 (pow.f64 lambda2 6) 1) (sin.f64 lambda1) (*.f64 (sin.f64 lambda1) (fma.f64 1/24 (pow.f64 lambda2 4) (*.f64 lambda2 (*.f64 lambda2 -1/2)))))
(*.f64 (sin.f64 lambda1) (+.f64 (fma.f64 1/24 (pow.f64 lambda2 4) (*.f64 lambda2 (*.f64 lambda2 -1/2))) (fma.f64 -1/720 (pow.f64 lambda2 6) 1)))
(*.f64 (sin.f64 lambda1) (cos.f64 lambda2))
(*.f64 (sin.f64 lambda1) (cos.f64 lambda2))
(*.f64 (sin.f64 lambda1) (cos.f64 lambda2))
(*.f64 (sin.f64 lambda1) (cos.f64 lambda2))
(*.f64 (sin.f64 lambda1) (cos.f64 lambda2))
(*.f64 (sin.f64 lambda1) (cos.f64 lambda2))
(*.f64 (sin.f64 lambda1) (cos.f64 lambda2))
(*.f64 (sin.f64 lambda1) (cos.f64 lambda2))
(*.f64 (cos.f64 lambda2) lambda1)
(*.f64 lambda1 (cos.f64 lambda2))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 3))) (*.f64 (cos.f64 lambda2) lambda1))
(fma.f64 -1/6 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 3)) (*.f64 lambda1 (cos.f64 lambda2)))
(fma.f64 lambda1 (cos.f64 lambda2) (*.f64 -1/6 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 3))))
(*.f64 (cos.f64 lambda2) (+.f64 lambda1 (*.f64 -1/6 (pow.f64 lambda1 3))))
(+.f64 (*.f64 1/120 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 5))) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 3))) (*.f64 (cos.f64 lambda2) lambda1)))
(fma.f64 1/120 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 5)) (fma.f64 -1/6 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 3)) (*.f64 lambda1 (cos.f64 lambda2))))
(fma.f64 1/120 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 5)) (fma.f64 lambda1 (cos.f64 lambda2) (*.f64 -1/6 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 3)))))
(fma.f64 lambda1 (cos.f64 lambda2) (*.f64 (cos.f64 lambda2) (+.f64 (*.f64 -1/6 (pow.f64 lambda1 3)) (*.f64 1/120 (pow.f64 lambda1 5)))))
(*.f64 (cos.f64 lambda2) (+.f64 (+.f64 (*.f64 1/120 (pow.f64 lambda1 5)) lambda1) (*.f64 -1/6 (pow.f64 lambda1 3))))
(+.f64 (*.f64 1/120 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 5))) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 3))) (+.f64 (*.f64 (cos.f64 lambda2) lambda1) (*.f64 -1/5040 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 7))))))
(fma.f64 1/120 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 5)) (fma.f64 -1/6 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 3)) (fma.f64 (cos.f64 lambda2) lambda1 (*.f64 (*.f64 -1/5040 (cos.f64 lambda2)) (pow.f64 lambda1 7)))))
(fma.f64 1/120 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 5)) (fma.f64 -1/6 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 3)) (fma.f64 lambda1 (cos.f64 lambda2) (*.f64 (cos.f64 lambda2) (*.f64 (pow.f64 lambda1 7) -1/5040)))))
(+.f64 (*.f64 (cos.f64 lambda2) (+.f64 (*.f64 -1/5040 (pow.f64 lambda1 7)) lambda1)) (*.f64 (cos.f64 lambda2) (+.f64 (*.f64 -1/6 (pow.f64 lambda1 3)) (*.f64 1/120 (pow.f64 lambda1 5)))))
(*.f64 (cos.f64 lambda2) (+.f64 (+.f64 lambda1 (*.f64 -1/5040 (pow.f64 lambda1 7))) (+.f64 (*.f64 -1/6 (pow.f64 lambda1 3)) (*.f64 1/120 (pow.f64 lambda1 5)))))
(*.f64 (sin.f64 lambda1) (cos.f64 lambda2))
(*.f64 (sin.f64 lambda1) (cos.f64 lambda2))
(*.f64 (sin.f64 lambda1) (cos.f64 lambda2))
(*.f64 (sin.f64 lambda1) (cos.f64 lambda2))
(*.f64 (sin.f64 lambda1) (cos.f64 lambda2))
(*.f64 (sin.f64 lambda1) (cos.f64 lambda2))
(*.f64 (sin.f64 lambda1) (cos.f64 lambda2))
(*.f64 (sin.f64 lambda1) (cos.f64 lambda2))

localize13.0ms (0%)

Local error

Found 8 expressions with local error:

NewErrorProgram
1.6b
(sin.f64 (-.f64 lambda1 lambda2))
0.1b
(*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))
0.1b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
0.0b
(cos.f64 phi2)
0.0b
(cos.f64 phi2)
0.1b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
0.1b
(*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))
1.6b
(sin.f64 (-.f64 lambda1 lambda2))

series4.0ms (0%)

Counts
2 → 40
Calls

12 calls:

TimeVariablePointExpression
0.0ms
lambda1
@0
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
0.0ms
lambda1
@inf
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
0.0ms
lambda1
@-inf
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
0.0ms
lambda2
@-inf
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
0.0ms
phi2
@0
(cos.f64 phi2)

rewrite64.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
750×prod-diff_binary64
546×log-prod_binary64
350×fma-def_binary64
319×pow2_binary64
221×pow1/3_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01019
121919
2302119
Stop Event
node limit
Counts
2 → 45
Calls
Call 1
Inputs
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
(cos.f64 phi2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))) (log.f64 (sqrt.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))) (pow.f64 (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))) 2) (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))) (sqrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cos.f64 phi2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 (exp.f64 (log1p.f64 phi2))) (cos.f64 1)) (*.f64 (sin.f64 (exp.f64 (log1p.f64 phi2))) (sin.f64 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 phi2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cos.f64 phi2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 phi2)))) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 phi2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cos.f64 phi2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 phi2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cos.f64 phi2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cos.f64 phi2)) (pow.f64 (cbrt.f64 (cos.f64 phi2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 phi2)) 2) (cbrt.f64 (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 phi2)) (sqrt.f64 (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cos.f64 phi2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 phi2) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 phi2) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cos.f64 phi2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (cos.f64 phi2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cos.f64 phi2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cos.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (cos.f64 phi2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cos.f64 phi2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cos.f64 phi2)))))))

simplify144.0ms (0.2%)

Algorithm
egg-herbie
Rules
1609×fma-def_binary64
748×sqr-pow_binary64
389×*-commutative_binary64
371×pow-sqr_binary64
354×cube-prod_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
040628
185624
2167622
3417622
41224622
53026622
63656622
73948622
84175622
94445622
104764622
116064622
126485622
136981622
147582622
157836622
Stop Event
node limit
Counts
85 → 55
Calls
Call 1
Inputs
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
1
(+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))
(+.f64 (*.f64 1/24 (pow.f64 phi2 4)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))
(+.f64 (*.f64 1/24 (pow.f64 phi2 4)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 phi2 2)) (*.f64 -1/720 (pow.f64 phi2 6)))))
Outputs
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
1
(+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))
(+.f64 1 (*.f64 -1/2 (*.f64 phi2 phi2)))
(fma.f64 -1/2 (*.f64 phi2 phi2) 1)
(fma.f64 phi2 (*.f64 phi2 -1/2) 1)
(+.f64 (*.f64 1/24 (pow.f64 phi2 4)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))
(fma.f64 1/24 (pow.f64 phi2 4) (+.f64 1 (*.f64 -1/2 (*.f64 phi2 phi2))))
(fma.f64 1/24 (pow.f64 phi2 4) (fma.f64 -1/2 (*.f64 phi2 phi2) 1))
(fma.f64 1/24 (pow.f64 phi2 4) (fma.f64 phi2 (*.f64 phi2 -1/2) 1))
(fma.f64 phi2 (*.f64 phi2 -1/2) (fma.f64 1/24 (pow.f64 phi2 4) 1))
(+.f64 (*.f64 1/24 (pow.f64 phi2 4)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 phi2 2)) (*.f64 -1/720 (pow.f64 phi2 6)))))
(fma.f64 1/24 (pow.f64 phi2 4) (+.f64 1 (fma.f64 -1/2 (*.f64 phi2 phi2) (*.f64 -1/720 (pow.f64 phi2 6)))))
(+.f64 (fma.f64 -1/2 (*.f64 phi2 phi2) (*.f64 -1/720 (pow.f64 phi2 6))) (fma.f64 1/24 (pow.f64 phi2 4) 1))
(fma.f64 1/24 (pow.f64 phi2 4) (fma.f64 phi2 (*.f64 phi2 -1/2) (fma.f64 -1/720 (pow.f64 phi2 6) 1)))
(fma.f64 (*.f64 phi2 phi2) (fma.f64 phi2 (*.f64 phi2 1/24) -1/2) (fma.f64 -1/720 (pow.f64 phi2 6) 1))
(fma.f64 phi2 (*.f64 phi2 -1/2) (fma.f64 1/24 (pow.f64 phi2 4) (fma.f64 -1/720 (pow.f64 phi2 6) 1)))
(fma.f64 phi2 (fma.f64 (pow.f64 phi2 3) (fma.f64 (*.f64 phi2 phi2) -1/720 1/24) (*.f64 phi2 -1/2)) 1)
(fma.f64 phi2 (*.f64 phi2 -1/2) (fma.f64 (pow.f64 phi2 4) (fma.f64 phi2 (*.f64 phi2 -1/720) 1/24) 1))

localize22.0ms (0%)

Local error

Found 8 expressions with local error:

NewErrorProgram
0.1b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
0.1b
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))))
0.0b
(sin.f64 phi1)
0.0b
(cos.f64 phi2)
0.1b
(*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))
0.2b
(*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))
0.2b
(*.f64 (sin.f64 phi1) (cos.f64 lambda1))
1.6b
(sin.f64 (-.f64 lambda1 lambda2))

series11.0ms (0%)

Counts
2 → 28
Calls

15 calls:

TimeVariablePointExpression
2.0ms
phi2
@-inf
(*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))
1.0ms
phi2
@0
(*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))
1.0ms
phi1
@inf
(*.f64 (sin.f64 phi1) (cos.f64 lambda1))
1.0ms
phi1
@0
(*.f64 (sin.f64 phi1) (cos.f64 lambda1))
1.0ms
phi2
@inf
(*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))

rewrite64.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
971×pow1_binary64
892×add-log-exp_binary64
892×log1p-expm1-u_binary64
892×expm1-log1p-u_binary64
97×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0921
118321
2235221
Stop Event
node limit
Counts
2 → 33
Calls
Call 1
Inputs
(*.f64 (sin.f64 phi1) (cos.f64 lambda1))
(*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 2 (+.f64 (sin.f64 (-.f64 phi1 lambda1)) (sin.f64 (+.f64 phi1 lambda1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (sin.f64 (-.f64 phi1 lambda1)) (sin.f64 (+.f64 phi1 lambda1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (sin.f64 (-.f64 phi1 lambda1)) (sin.f64 (+.f64 phi1 lambda1)))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (cos.f64 lambda1)) (sin.f64 phi1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (sin.f64 phi1) 3) (pow.f64 (cos.f64 lambda1) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (cos.f64 lambda1) 3) (pow.f64 (sin.f64 phi1) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (sin.f64 (-.f64 phi1 lambda1)) (sin.f64 (+.f64 phi1 lambda1))) (cos.f64 phi2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 phi2) (+.f64 (sin.f64 (-.f64 phi1 lambda1)) (sin.f64 (+.f64 phi1 lambda1)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) 3) (pow.f64 (cos.f64 phi2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (cos.f64 phi2) 3) (pow.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))))))))

simplify130.0ms (0.2%)

Algorithm
egg-herbie
Rules
740×distribute-lft-out_binary64
691×fma-def_binary64
612×distribute-rgt-in_binary64
464×associate-*l*_binary64
386×sqr-pow_binary64
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
093700
1276676
2838590
33125540
44090531
55715529
66856529
77179529
87520529
97927529
Stop Event
node limit
Counts
61 → 73
Calls
Call 1
Inputs
(*.f64 phi1 (cos.f64 lambda1))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 phi1 3) (cos.f64 lambda1))) (*.f64 phi1 (cos.f64 lambda1)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 phi1 3) (cos.f64 lambda1))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 phi1 5) (cos.f64 lambda1))) (*.f64 phi1 (cos.f64 lambda1))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 phi1 3) (cos.f64 lambda1))) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 phi1 7) (cos.f64 lambda1))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 phi1 5) (cos.f64 lambda1))) (*.f64 phi1 (cos.f64 lambda1)))))
(sin.f64 phi1)
(+.f64 (*.f64 -1/2 (*.f64 (sin.f64 phi1) (pow.f64 lambda1 2))) (sin.f64 phi1))
(+.f64 (*.f64 1/24 (*.f64 (sin.f64 phi1) (pow.f64 lambda1 4))) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 phi1) (pow.f64 lambda1 2))) (sin.f64 phi1)))
(+.f64 (*.f64 1/24 (*.f64 (sin.f64 phi1) (pow.f64 lambda1 4))) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 phi1) (pow.f64 lambda1 2))) (+.f64 (sin.f64 phi1) (*.f64 -1/720 (*.f64 (sin.f64 phi1) (pow.f64 lambda1 6))))))
(*.f64 (sin.f64 phi1) (cos.f64 lambda1))
(+.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) (*.f64 -1/2 (*.f64 (sin.f64 phi1) (*.f64 (pow.f64 phi2 2) (cos.f64 lambda1)))))
(+.f64 (*.f64 1/24 (*.f64 (sin.f64 phi1) (*.f64 (pow.f64 phi2 4) (cos.f64 lambda1)))) (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) (*.f64 -1/2 (*.f64 (sin.f64 phi1) (*.f64 (pow.f64 phi2 2) (cos.f64 lambda1))))))
(+.f64 (*.f64 -1/720 (*.f64 (sin.f64 phi1) (*.f64 (pow.f64 phi2 6) (cos.f64 lambda1)))) (+.f64 (*.f64 1/24 (*.f64 (sin.f64 phi1) (*.f64 (pow.f64 phi2 4) (cos.f64 lambda1)))) (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) (*.f64 -1/2 (*.f64 (sin.f64 phi1) (*.f64 (pow.f64 phi2 2) (cos.f64 lambda1)))))))
(*.f64 (cos.f64 phi2) (*.f64 phi1 (cos.f64 lambda1)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 phi1 3) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (*.f64 (cos.f64 phi2) (*.f64 phi1 (cos.f64 lambda1))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 phi1 3) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 phi1 5) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (*.f64 (cos.f64 phi2) (*.f64 phi1 (cos.f64 lambda1)))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 phi1 3) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 phi1 5) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 phi1 (cos.f64 lambda1))) (*.f64 -1/5040 (*.f64 (pow.f64 phi1 7) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))))
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))
(*.f64 (cos.f64 phi2) (sin.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 -1/2 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (pow.f64 lambda1 2)))))
(+.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (+.f64 (*.f64 1/24 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (pow.f64 lambda1 4)))) (*.f64 -1/2 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (pow.f64 lambda1 2))))))
(+.f64 (*.f64 -1/720 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (pow.f64 lambda1 6)))) (+.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (+.f64 (*.f64 1/24 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (pow.f64 lambda1 4)))) (*.f64 -1/2 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (pow.f64 lambda1 2)))))))
Outputs
(*.f64 phi1 (cos.f64 lambda1))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 phi1 3) (cos.f64 lambda1))) (*.f64 phi1 (cos.f64 lambda1)))
(fma.f64 -1/6 (*.f64 (cos.f64 lambda1) (pow.f64 phi1 3)) (*.f64 phi1 (cos.f64 lambda1)))
(*.f64 (cos.f64 lambda1) (+.f64 (*.f64 -1/6 (pow.f64 phi1 3)) phi1))
(*.f64 (cos.f64 lambda1) (fma.f64 -1/6 (pow.f64 phi1 3) phi1))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 phi1 3) (cos.f64 lambda1))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 phi1 5) (cos.f64 lambda1))) (*.f64 phi1 (cos.f64 lambda1))))
(fma.f64 -1/6 (*.f64 (cos.f64 lambda1) (pow.f64 phi1 3)) (fma.f64 1/120 (*.f64 (cos.f64 lambda1) (pow.f64 phi1 5)) (*.f64 phi1 (cos.f64 lambda1))))
(fma.f64 -1/6 (*.f64 (cos.f64 lambda1) (pow.f64 phi1 3)) (*.f64 (cos.f64 lambda1) (+.f64 phi1 (*.f64 1/120 (pow.f64 phi1 5)))))
(*.f64 (cos.f64 lambda1) (+.f64 (fma.f64 -1/6 (pow.f64 phi1 3) (*.f64 1/120 (pow.f64 phi1 5))) phi1))
(*.f64 (cos.f64 lambda1) (+.f64 phi1 (fma.f64 -1/6 (pow.f64 phi1 3) (*.f64 1/120 (pow.f64 phi1 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 phi1 3) (cos.f64 lambda1))) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 phi1 7) (cos.f64 lambda1))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 phi1 5) (cos.f64 lambda1))) (*.f64 phi1 (cos.f64 lambda1)))))
(fma.f64 -1/6 (*.f64 (cos.f64 lambda1) (pow.f64 phi1 3)) (fma.f64 -1/5040 (*.f64 (cos.f64 lambda1) (pow.f64 phi1 7)) (fma.f64 1/120 (*.f64 (cos.f64 lambda1) (pow.f64 phi1 5)) (*.f64 phi1 (cos.f64 lambda1)))))
(+.f64 (*.f64 (cos.f64 lambda1) (+.f64 phi1 (*.f64 1/120 (pow.f64 phi1 5)))) (*.f64 (cos.f64 lambda1) (+.f64 (*.f64 -1/6 (pow.f64 phi1 3)) (*.f64 -1/5040 (pow.f64 phi1 7)))))
(*.f64 (cos.f64 lambda1) (+.f64 (fma.f64 1/120 (pow.f64 phi1 5) phi1) (fma.f64 -1/6 (pow.f64 phi1 3) (*.f64 -1/5040 (pow.f64 phi1 7)))))
(*.f64 (cos.f64 lambda1) (+.f64 (fma.f64 -1/5040 (pow.f64 phi1 7) (*.f64 1/120 (pow.f64 phi1 5))) (fma.f64 -1/6 (pow.f64 phi1 3) phi1)))
(sin.f64 phi1)
(+.f64 (*.f64 -1/2 (*.f64 (sin.f64 phi1) (pow.f64 lambda1 2))) (sin.f64 phi1))
(fma.f64 -1/2 (*.f64 (sin.f64 phi1) (*.f64 lambda1 lambda1)) (sin.f64 phi1))
(fma.f64 (sin.f64 phi1) (*.f64 lambda1 (*.f64 lambda1 -1/2)) (sin.f64 phi1))
(*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 lambda1 (*.f64 lambda1 -1/2))))
(+.f64 (*.f64 1/24 (*.f64 (sin.f64 phi1) (pow.f64 lambda1 4))) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 phi1) (pow.f64 lambda1 2))) (sin.f64 phi1)))
(fma.f64 1/24 (*.f64 (sin.f64 phi1) (pow.f64 lambda1 4)) (fma.f64 -1/2 (*.f64 (sin.f64 phi1) (*.f64 lambda1 lambda1)) (sin.f64 phi1)))
(+.f64 (sin.f64 phi1) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 lambda1 (*.f64 lambda1 -1/2)) (*.f64 1/24 (pow.f64 lambda1 4)))))
(*.f64 (sin.f64 phi1) (+.f64 (+.f64 1 (*.f64 lambda1 (*.f64 lambda1 -1/2))) (*.f64 1/24 (pow.f64 lambda1 4))))
(*.f64 (sin.f64 phi1) (+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 lambda1 4)) (*.f64 lambda1 (*.f64 lambda1 -1/2)))))
(*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 (*.f64 lambda1 lambda1) (+.f64 -1/2 (*.f64 1/24 (*.f64 lambda1 lambda1))))))
(+.f64 (*.f64 1/24 (*.f64 (sin.f64 phi1) (pow.f64 lambda1 4))) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 phi1) (pow.f64 lambda1 2))) (+.f64 (sin.f64 phi1) (*.f64 -1/720 (*.f64 (sin.f64 phi1) (pow.f64 lambda1 6))))))
(fma.f64 1/24 (*.f64 (sin.f64 phi1) (pow.f64 lambda1 4)) (+.f64 (fma.f64 -1/2 (*.f64 (sin.f64 phi1) (*.f64 lambda1 lambda1)) (sin.f64 phi1)) (*.f64 -1/720 (*.f64 (sin.f64 phi1) (pow.f64 lambda1 6)))))
(fma.f64 1/24 (*.f64 (sin.f64 phi1) (pow.f64 lambda1 4)) (fma.f64 -1/2 (*.f64 (sin.f64 phi1) (*.f64 lambda1 lambda1)) (fma.f64 -1/720 (*.f64 (sin.f64 phi1) (pow.f64 lambda1 6)) (sin.f64 phi1))))
(+.f64 (fma.f64 (sin.f64 phi1) (*.f64 lambda1 (*.f64 lambda1 -1/2)) (sin.f64 phi1)) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 -1/720 (pow.f64 lambda1 6)) (*.f64 1/24 (pow.f64 lambda1 4)))))
(+.f64 (sin.f64 phi1) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 1/24 (pow.f64 lambda1 4)) (+.f64 (*.f64 lambda1 (*.f64 lambda1 -1/2)) (*.f64 -1/720 (pow.f64 lambda1 6))))))
(*.f64 (sin.f64 phi1) (+.f64 (*.f64 lambda1 (*.f64 lambda1 -1/2)) (+.f64 (*.f64 1/24 (pow.f64 lambda1 4)) (+.f64 1 (*.f64 -1/720 (pow.f64 lambda1 6))))))
(*.f64 (sin.f64 phi1) (+.f64 (*.f64 -1/720 (pow.f64 lambda1 6)) (+.f64 1 (*.f64 (*.f64 lambda1 lambda1) (+.f64 -1/2 (*.f64 1/24 (*.f64 lambda1 lambda1)))))))
(*.f64 (sin.f64 phi1) (cos.f64 lambda1))
(*.f64 (cos.f64 lambda1) (sin.f64 phi1))
(+.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) (*.f64 -1/2 (*.f64 (sin.f64 phi1) (*.f64 (pow.f64 phi2 2) (cos.f64 lambda1)))))
(fma.f64 (sin.f64 phi1) (cos.f64 lambda1) (*.f64 -1/2 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (*.f64 phi2 phi2)))))
(fma.f64 (cos.f64 lambda1) (sin.f64 phi1) (*.f64 (sin.f64 phi1) (*.f64 (*.f64 (cos.f64 lambda1) (*.f64 phi2 phi2)) -1/2)))
(*.f64 (sin.f64 phi1) (+.f64 (*.f64 (cos.f64 lambda1) (*.f64 (*.f64 phi2 phi2) -1/2)) (cos.f64 lambda1)))
(*.f64 (cos.f64 lambda1) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 phi1)))
(*.f64 (cos.f64 lambda1) (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 phi2 phi2))) (sin.f64 phi1)))
(*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 -1/2 (*.f64 phi2 phi2)))))
(+.f64 (*.f64 1/24 (*.f64 (sin.f64 phi1) (*.f64 (pow.f64 phi2 4) (cos.f64 lambda1)))) (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) (*.f64 -1/2 (*.f64 (sin.f64 phi1) (*.f64 (pow.f64 phi2 2) (cos.f64 lambda1))))))
(fma.f64 1/24 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (pow.f64 phi2 4))) (fma.f64 (sin.f64 phi1) (cos.f64 lambda1) (*.f64 -1/2 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (*.f64 phi2 phi2))))))
(fma.f64 1/24 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (pow.f64 phi2 4))) (fma.f64 (cos.f64 lambda1) (sin.f64 phi1) (*.f64 (sin.f64 phi1) (*.f64 (*.f64 (cos.f64 lambda1) (*.f64 phi2 phi2)) -1/2))))
(fma.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (*.f64 (*.f64 phi2 phi2) -1/2)) (*.f64 (sin.f64 phi1) (+.f64 (cos.f64 lambda1) (*.f64 (pow.f64 phi2 4) (*.f64 (cos.f64 lambda1) 1/24)))))
(*.f64 (cos.f64 lambda1) (+.f64 (*.f64 (sin.f64 phi1) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) (*.f64 -1/2 (*.f64 phi2 phi2)))) (sin.f64 phi1)))
(*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) (+.f64 1 (*.f64 -1/2 (*.f64 phi2 phi2))))))
(+.f64 (*.f64 -1/720 (*.f64 (sin.f64 phi1) (*.f64 (pow.f64 phi2 6) (cos.f64 lambda1)))) (+.f64 (*.f64 1/24 (*.f64 (sin.f64 phi1) (*.f64 (pow.f64 phi2 4) (cos.f64 lambda1)))) (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) (*.f64 -1/2 (*.f64 (sin.f64 phi1) (*.f64 (pow.f64 phi2 2) (cos.f64 lambda1)))))))
(fma.f64 -1/720 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (pow.f64 phi2 6))) (fma.f64 1/24 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (pow.f64 phi2 4))) (fma.f64 (sin.f64 phi1) (cos.f64 lambda1) (*.f64 -1/2 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (*.f64 phi2 phi2)))))))
(fma.f64 -1/720 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (pow.f64 phi2 6))) (fma.f64 1/24 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (pow.f64 phi2 4))) (fma.f64 (cos.f64 lambda1) (sin.f64 phi1) (*.f64 (sin.f64 phi1) (*.f64 (*.f64 (cos.f64 lambda1) (*.f64 phi2 phi2)) -1/2)))))
(+.f64 (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (cos.f64 lambda1) (*.f64 (*.f64 phi2 phi2) -1/2)) (cos.f64 lambda1))) (*.f64 (cos.f64 lambda1) (+.f64 (*.f64 (sin.f64 phi1) (*.f64 -1/720 (pow.f64 phi2 6))) (*.f64 (pow.f64 phi2 4) (*.f64 (sin.f64 phi1) 1/24)))))
(*.f64 (cos.f64 lambda1) (+.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 phi1)) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 -1/720 (pow.f64 phi2 6)) (*.f64 1/24 (pow.f64 phi2 4))))))
(*.f64 (cos.f64 lambda1) (+.f64 (sin.f64 phi1) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) (+.f64 (*.f64 -1/720 (pow.f64 phi2 6)) (*.f64 1/24 (pow.f64 phi2 4)))))))
(*.f64 (*.f64 (cos.f64 lambda1) (sin.f64 phi1)) (+.f64 (*.f64 (pow.f64 phi2 6) -1/720) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) (+.f64 1 (*.f64 -1/2 (*.f64 phi2 phi2))))))
(*.f64 (cos.f64 phi2) (*.f64 phi1 (cos.f64 lambda1)))
(*.f64 (*.f64 (cos.f64 phi2) phi1) (cos.f64 lambda1))
(*.f64 (cos.f64 lambda1) (*.f64 phi1 (cos.f64 phi2)))
(*.f64 phi1 (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 phi1 3) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (*.f64 (cos.f64 phi2) (*.f64 phi1 (cos.f64 lambda1))))
(fma.f64 -1/6 (*.f64 (pow.f64 phi1 3) (*.f64 (cos.f64 lambda1) (cos.f64 phi2))) (*.f64 (*.f64 (cos.f64 phi2) phi1) (cos.f64 lambda1)))
(fma.f64 (*.f64 phi1 (cos.f64 lambda1)) (cos.f64 phi2) (*.f64 (*.f64 (pow.f64 phi1 3) (cos.f64 phi2)) (*.f64 (cos.f64 lambda1) -1/6)))
(*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 phi2)) (fma.f64 -1/6 (pow.f64 phi1 3) phi1))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 phi1 3) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 phi1 5) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (*.f64 (cos.f64 phi2) (*.f64 phi1 (cos.f64 lambda1)))))
(fma.f64 -1/6 (*.f64 (pow.f64 phi1 3) (*.f64 (cos.f64 lambda1) (cos.f64 phi2))) (fma.f64 1/120 (*.f64 (pow.f64 phi1 5) (*.f64 (cos.f64 lambda1) (cos.f64 phi2))) (*.f64 (*.f64 (cos.f64 phi2) phi1) (cos.f64 lambda1))))
(+.f64 (*.f64 (cos.f64 lambda1) (*.f64 phi1 (cos.f64 phi2))) (*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 phi2)) (+.f64 (*.f64 -1/6 (pow.f64 phi1 3)) (*.f64 1/120 (pow.f64 phi1 5)))))
(*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 phi2)) (+.f64 (fma.f64 -1/6 (pow.f64 phi1 3) (*.f64 1/120 (pow.f64 phi1 5))) phi1))
(*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda1) (+.f64 phi1 (fma.f64 -1/6 (pow.f64 phi1 3) (*.f64 1/120 (pow.f64 phi1 5))))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 phi1 3) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 phi1 5) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 phi1 (cos.f64 lambda1))) (*.f64 -1/5040 (*.f64 (pow.f64 phi1 7) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))))
(fma.f64 -1/6 (*.f64 (pow.f64 phi1 3) (*.f64 (cos.f64 lambda1) (cos.f64 phi2))) (fma.f64 1/120 (*.f64 (pow.f64 phi1 5) (*.f64 (cos.f64 lambda1) (cos.f64 phi2))) (fma.f64 (cos.f64 phi2) (*.f64 phi1 (cos.f64 lambda1)) (*.f64 (*.f64 -1/5040 (pow.f64 phi1 7)) (*.f64 (cos.f64 lambda1) (cos.f64 phi2))))))
(+.f64 (fma.f64 (*.f64 phi1 (cos.f64 lambda1)) (cos.f64 phi2) (*.f64 (*.f64 (cos.f64 lambda1) (*.f64 -1/5040 (pow.f64 phi1 7))) (cos.f64 phi2))) (*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 phi2)) (+.f64 (*.f64 -1/6 (pow.f64 phi1 3)) (*.f64 1/120 (pow.f64 phi1 5)))))
(+.f64 (*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 phi2)) (fma.f64 1/120 (pow.f64 phi1 5) phi1)) (*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 phi2)) (fma.f64 -1/6 (pow.f64 phi1 3) (*.f64 -1/5040 (pow.f64 phi1 7)))))
(*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 phi2)) (+.f64 (fma.f64 -1/5040 (pow.f64 phi1 7) (*.f64 1/120 (pow.f64 phi1 5))) (fma.f64 -1/6 (pow.f64 phi1 3) phi1)))
(*.f64 (cos.f64 lambda1) (*.f64 (cos.f64 phi2) (+.f64 (fma.f64 -1/5040 (pow.f64 phi1 7) (*.f64 1/120 (pow.f64 phi1 5))) (fma.f64 -1/6 (pow.f64 phi1 3) phi1))))
(*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda1) (+.f64 (fma.f64 -1/5040 (pow.f64 phi1 7) (*.f64 1/120 (pow.f64 phi1 5))) (fma.f64 -1/6 (pow.f64 phi1 3) phi1))))
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))
(*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))
(*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))
(*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))
(*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))
(*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))
(*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))
(*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))
(*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 phi2) (sin.f64 phi1))
(*.f64 (sin.f64 phi1) (cos.f64 phi2))
(+.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 -1/2 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (pow.f64 lambda1 2)))))
(fma.f64 (cos.f64 phi2) (sin.f64 phi1) (*.f64 -1/2 (*.f64 (sin.f64 phi1) (*.f64 (*.f64 lambda1 lambda1) (cos.f64 phi2)))))
(fma.f64 (sin.f64 phi1) (cos.f64 phi2) (*.f64 -1/2 (*.f64 (*.f64 (sin.f64 phi1) (*.f64 lambda1 lambda1)) (cos.f64 phi2))))
(*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 phi1) (*.f64 lambda1 (*.f64 lambda1 -1/2)) (sin.f64 phi1)))
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 1 (*.f64 lambda1 (*.f64 lambda1 -1/2)))))
(+.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (+.f64 (*.f64 1/24 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (pow.f64 lambda1 4)))) (*.f64 -1/2 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (pow.f64 lambda1 2))))))
(fma.f64 (cos.f64 phi2) (sin.f64 phi1) (fma.f64 1/24 (*.f64 (sin.f64 phi1) (*.f64 (pow.f64 lambda1 4) (cos.f64 phi2))) (*.f64 -1/2 (*.f64 (sin.f64 phi1) (*.f64 (*.f64 lambda1 lambda1) (cos.f64 phi2))))))
(fma.f64 (sin.f64 phi1) (cos.f64 phi2) (fma.f64 -1/2 (*.f64 (*.f64 (sin.f64 phi1) (*.f64 lambda1 lambda1)) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (*.f64 (pow.f64 lambda1 4) (cos.f64 phi2)) 1/24))))
(fma.f64 (sin.f64 phi1) (cos.f64 phi2) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 1/24 (pow.f64 lambda1 4)) (*.f64 lambda1 (*.f64 lambda1 -1/2)))))
(*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 (+.f64 1 (*.f64 lambda1 (*.f64 lambda1 -1/2))) (*.f64 1/24 (pow.f64 lambda1 4)))))
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 lambda1 4)) (*.f64 lambda1 (*.f64 lambda1 -1/2))))))
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 1 (*.f64 (*.f64 lambda1 lambda1) (+.f64 -1/2 (*.f64 1/24 (*.f64 lambda1 lambda1)))))))
(+.f64 (*.f64 -1/720 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (pow.f64 lambda1 6)))) (+.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (+.f64 (*.f64 1/24 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (pow.f64 lambda1 4)))) (*.f64 -1/2 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (pow.f64 lambda1 2)))))))
(fma.f64 -1/720 (*.f64 (sin.f64 phi1) (*.f64 (pow.f64 lambda1 6) (cos.f64 phi2))) (fma.f64 (cos.f64 phi2) (sin.f64 phi1) (fma.f64 1/24 (*.f64 (sin.f64 phi1) (*.f64 (pow.f64 lambda1 4) (cos.f64 phi2))) (*.f64 -1/2 (*.f64 (sin.f64 phi1) (*.f64 (*.f64 lambda1 lambda1) (cos.f64 phi2)))))))
(fma.f64 -1/720 (*.f64 (sin.f64 phi1) (*.f64 (pow.f64 lambda1 6) (cos.f64 phi2))) (fma.f64 (sin.f64 phi1) (cos.f64 phi2) (fma.f64 -1/2 (*.f64 (*.f64 (sin.f64 phi1) (*.f64 lambda1 lambda1)) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (*.f64 (pow.f64 lambda1 4) (cos.f64 phi2)) 1/24)))))
(+.f64 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 1/24 (pow.f64 lambda1 4)) (*.f64 lambda1 (*.f64 lambda1 -1/2)))) (*.f64 (cos.f64 phi2) (*.f64 (+.f64 (*.f64 -1/720 (pow.f64 lambda1 6)) 1) (sin.f64 phi1))))
(*.f64 (cos.f64 phi2) (+.f64 (sin.f64 phi1) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 1/24 (pow.f64 lambda1 4)) (+.f64 (*.f64 lambda1 (*.f64 lambda1 -1/2)) (*.f64 -1/720 (pow.f64 lambda1 6)))))))
(*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 lambda1 (*.f64 lambda1 -1/2)) (+.f64 (*.f64 1/24 (pow.f64 lambda1 4)) (+.f64 1 (*.f64 -1/720 (pow.f64 lambda1 6)))))))
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (+.f64 (*.f64 1/24 (pow.f64 lambda1 4)) (+.f64 1 (*.f64 -1/720 (pow.f64 lambda1 6)))) (*.f64 lambda1 (*.f64 lambda1 -1/2)))))
(*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 -1/720 (pow.f64 lambda1 6)) (+.f64 1 (*.f64 (*.f64 lambda1 lambda1) (+.f64 -1/2 (*.f64 1/24 (*.f64 lambda1 lambda1)))))))

localize30.0ms (0%)

Local error

Found 8 expressions with local error:

NewErrorProgram
0.1b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (expm1.f64 (log1p.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))))))
0.1b
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (expm1.f64 (log1p.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))))))
0.0b
(sin.f64 phi1)
0.0b
(cos.f64 phi2)
0.2b
(*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))
0.2b
(*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))
1.6b
(sin.f64 (-.f64 lambda1 lambda2))
1.6b
(cos.f64 (-.f64 lambda1 lambda2))

series20.0ms (0%)

Counts
2 → 84
Calls

21 calls:

TimeVariablePointExpression
10.0ms
lambda2
@inf
(*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))
1.0ms
phi1
@0
(*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))
1.0ms
lambda2
@-inf
(*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))
1.0ms
lambda1
@0
(*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))
1.0ms
phi1
@inf
(*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))

rewrite70.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
737×prod-diff_binary64
634×log-prod_binary64
337×fma-def_binary64
239×expm1-udef_binary64
239×log1p-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01127
124127
2336727
Stop Event
node limit
Counts
2 → 50
Calls
Call 1
Inputs
(*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (sin.f64 phi1)) (*.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (sin.f64 phi1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2))) (*.f64 (sin.f64 phi1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 phi1)) (cos.f64 (-.f64 lambda1 lambda2)))) (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 phi1)) (cos.f64 (-.f64 lambda1 lambda2)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 phi1)) (cos.f64 (-.f64 lambda1 lambda2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 phi1)) (cos.f64 (-.f64 lambda1 lambda2))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 phi1)) (cos.f64 (-.f64 lambda1 lambda2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 2 (+.f64 (sin.f64 (-.f64 phi1 (-.f64 lambda1 lambda2))) (sin.f64 (+.f64 phi1 (-.f64 lambda1 lambda2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (sin.f64 (-.f64 phi1 (-.f64 lambda1 lambda2))) (sin.f64 (+.f64 phi1 (-.f64 lambda1 lambda2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (sin.f64 (-.f64 phi1 (-.f64 lambda1 lambda2))) (sin.f64 (+.f64 phi1 (-.f64 lambda1 lambda2))))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 2 (+.f64 (sin.f64 (-.f64 phi1 (-.f64 lambda1 lambda2))) (sin.f64 (+.f64 phi1 (-.f64 lambda1 lambda2))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sin.f64 phi1)) (cos.f64 (-.f64 lambda1 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (sin.f64 phi1) 3) (pow.f64 (cos.f64 (-.f64 lambda1 lambda2)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (cos.f64 (-.f64 lambda1 lambda2)) 3) (pow.f64 (sin.f64 phi1) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 phi1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (sin.f64 phi1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))) (*.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2))) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))) (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (sin.f64 (-.f64 phi1 (-.f64 lambda1 lambda2))) (sin.f64 (+.f64 phi1 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 phi2) (+.f64 (sin.f64 (-.f64 phi1 (-.f64 lambda1 lambda2))) (sin.f64 (+.f64 phi1 (-.f64 lambda1 lambda2))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))) 3) (pow.f64 (cos.f64 phi2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (cos.f64 phi2) 3) (pow.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (*.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))))))))

simplify83.0ms (0.1%)

Algorithm
egg-herbie
Rules
595×distribute-lft-out_binary64
450×*-commutative_binary64
435×distribute-rgt-neg-in_binary64
383×neg-mul-1_binary64
379×neg-sub0_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01491836
14551789
214471603
328381500
463651500
Stop Event
node limit
Counts
134 → 108
Calls
Call 1
Inputs
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) phi1)
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi1 3))) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) phi1))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi1 3))) (+.f64 (*.f64 1/120 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi1 5))) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) phi1)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi1 3))) (+.f64 (*.f64 -1/5040 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi1 7))) (+.f64 (*.f64 1/120 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi1 5))) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) phi1))))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))
(*.f64 (sin.f64 phi1) (cos.f64 (neg.f64 lambda2)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (sin.f64 phi1) lambda1))) (*.f64 (sin.f64 phi1) (cos.f64 (neg.f64 lambda2))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (sin.f64 phi1) lambda1))) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2)))) (*.f64 (sin.f64 phi1) (cos.f64 (neg.f64 lambda2)))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (sin.f64 phi1) lambda1))) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 lambda1 3)))) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2)))) (*.f64 (sin.f64 phi1) (cos.f64 (neg.f64 lambda2))))))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))
(*.f64 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (sin.f64 phi1))
(*.f64 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (sin.f64 phi1))
(*.f64 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (sin.f64 phi1))
(*.f64 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (sin.f64 phi1))
(*.f64 (sin.f64 phi1) (cos.f64 lambda1))
(+.f64 (*.f64 (sin.f64 phi1) (*.f64 lambda2 (sin.f64 lambda1))) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))
(+.f64 (*.f64 (sin.f64 phi1) (*.f64 lambda2 (sin.f64 lambda1))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 lambda2 3) (*.f64 (sin.f64 phi1) (sin.f64 lambda1)))) (+.f64 (*.f64 (sin.f64 phi1) (*.f64 lambda2 (sin.f64 lambda1))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))
(*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (sin.f64 phi1))
(*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (sin.f64 phi1))
(*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (sin.f64 phi1))
(*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (sin.f64 phi1))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))
(+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1)) (*.f64 -1/2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 phi2 2)))))
(+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1)) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 phi2 2)))) (*.f64 1/24 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 phi2 4))))))
(+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1)) (+.f64 (*.f64 -1/720 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 phi2 6)))) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 phi2 2)))) (*.f64 1/24 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 phi2 4)))))))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 phi1 (cos.f64 phi2)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 phi1 3)))) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 phi1 (cos.f64 phi2))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 phi1 3)))) (+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 phi1 (cos.f64 phi2))) (*.f64 1/120 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 phi1 5))))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 phi1 3)))) (+.f64 (*.f64 -1/5040 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 phi1 7)))) (+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 phi1 (cos.f64 phi2))) (*.f64 1/120 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 phi1 5)))))))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (neg.f64 lambda2))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (neg.f64 lambda2)))) (*.f64 -1 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) lambda1)))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (neg.f64 lambda2)))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) lambda1)))) (*.f64 -1/2 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2)))))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (neg.f64 lambda2)))) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (pow.f64 lambda1 3))))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) lambda1)))) (*.f64 -1/2 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2))))))))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 lambda2 (sin.f64 lambda1)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 lambda2 (sin.f64 lambda1))))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 lambda2 3) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (sin.f64 lambda1))))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 lambda2 (sin.f64 lambda1)))))))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
Outputs
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) phi1)
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi1 3))) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) phi1))
(fma.f64 -1/6 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi1 3)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) phi1))
(fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) phi1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (pow.f64 phi1 3) -1/6)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 phi1 (*.f64 -1/6 (pow.f64 phi1 3))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi1 3))) (+.f64 (*.f64 1/120 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi1 5))) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) phi1)))
(fma.f64 -1/6 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi1 3)) (fma.f64 1/120 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi1 5)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) phi1)))
(fma.f64 -1/6 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi1 3)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) phi1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (pow.f64 phi1 5) 1/120))))
(fma.f64 -1/6 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi1 3)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 phi1 (*.f64 1/120 (pow.f64 phi1 5)))))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 (*.f64 1/120 (pow.f64 phi1 5)) (+.f64 phi1 (*.f64 -1/6 (pow.f64 phi1 3)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi1 3))) (+.f64 (*.f64 -1/5040 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi1 7))) (+.f64 (*.f64 1/120 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi1 5))) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) phi1))))
(fma.f64 -1/6 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi1 3)) (fma.f64 -1/5040 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi1 7)) (fma.f64 1/120 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi1 5)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) phi1))))
(fma.f64 -1/6 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi1 3)) (fma.f64 -1/5040 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi1 7)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) phi1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (pow.f64 phi1 5) 1/120)))))
(+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 phi1 (*.f64 -1/5040 (pow.f64 phi1 7)))) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 (*.f64 -1/6 (pow.f64 phi1 3)) (*.f64 1/120 (pow.f64 phi1 5)))))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 (+.f64 phi1 (*.f64 1/120 (pow.f64 phi1 5))) (+.f64 (*.f64 -1/5040 (pow.f64 phi1 7)) (*.f64 -1/6 (pow.f64 phi1 3)))))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))
(*.f64 (sin.f64 phi1) (cos.f64 (neg.f64 lambda2)))
(*.f64 (sin.f64 phi1) (cos.f64 lambda2))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (sin.f64 phi1) lambda1))) (*.f64 (sin.f64 phi1) (cos.f64 (neg.f64 lambda2))))
(fma.f64 -1 (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 lambda1 (sin.f64 phi1))) (*.f64 (sin.f64 phi1) (cos.f64 lambda2)))
(-.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda2)) (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 lambda1 (sin.f64 phi1))))
(*.f64 (sin.f64 phi1) (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (sin.f64 lambda2))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (sin.f64 phi1) lambda1))) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2)))) (*.f64 (sin.f64 phi1) (cos.f64 (neg.f64 lambda2)))))
(fma.f64 -1 (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 lambda1 (sin.f64 phi1))) (fma.f64 -1/2 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda2)) (*.f64 lambda1 lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 lambda2))))
(fma.f64 (neg.f64 (neg.f64 (sin.f64 lambda2))) (*.f64 lambda1 (sin.f64 phi1)) (fma.f64 -1/2 (*.f64 (cos.f64 lambda2) (*.f64 (*.f64 lambda1 lambda1) (sin.f64 phi1))) (*.f64 (sin.f64 phi1) (cos.f64 lambda2))))
(fma.f64 (sin.f64 lambda2) (*.f64 lambda1 (sin.f64 phi1)) (*.f64 (cos.f64 lambda2) (+.f64 (sin.f64 phi1) (*.f64 (*.f64 lambda1 lambda1) (*.f64 (sin.f64 phi1) -1/2)))))
(*.f64 (sin.f64 phi1) (+.f64 (cos.f64 lambda2) (fma.f64 -1/2 (*.f64 (cos.f64 lambda2) (*.f64 lambda1 lambda1)) (*.f64 lambda1 (sin.f64 lambda2)))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (sin.f64 phi1) lambda1))) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 lambda1 3)))) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2)))) (*.f64 (sin.f64 phi1) (cos.f64 (neg.f64 lambda2))))))
(fma.f64 -1 (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 lambda1 (sin.f64 phi1))) (fma.f64 1/6 (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 lambda1 3))) (fma.f64 -1/2 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda2)) (*.f64 lambda1 lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 lambda2)))))
(-.f64 (fma.f64 1/6 (*.f64 (sin.f64 phi1) (*.f64 (pow.f64 lambda1 3) (neg.f64 (sin.f64 lambda2)))) (fma.f64 -1/2 (*.f64 (cos.f64 lambda2) (*.f64 (*.f64 lambda1 lambda1) (sin.f64 phi1))) (*.f64 (sin.f64 phi1) (cos.f64 lambda2)))) (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 lambda1 (sin.f64 phi1))))
(+.f64 (*.f64 (cos.f64 lambda2) (+.f64 (sin.f64 phi1) (*.f64 (*.f64 lambda1 lambda1) (*.f64 (sin.f64 phi1) -1/2)))) (*.f64 (*.f64 (sin.f64 phi1) (neg.f64 (sin.f64 lambda2))) (+.f64 (neg.f64 lambda1) (*.f64 1/6 (pow.f64 lambda1 3)))))
(*.f64 (sin.f64 phi1) (+.f64 (+.f64 (cos.f64 lambda2) (*.f64 (pow.f64 lambda1 3) (*.f64 -1/6 (sin.f64 lambda2)))) (fma.f64 -1/2 (*.f64 (cos.f64 lambda2) (*.f64 lambda1 lambda1)) (*.f64 lambda1 (sin.f64 lambda2)))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 lambda1 lambda1)) 1) (*.f64 (sin.f64 phi1) (cos.f64 lambda2))) (*.f64 (*.f64 (sin.f64 phi1) (sin.f64 lambda2)) (-.f64 lambda1 (*.f64 1/6 (pow.f64 lambda1 3)))))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))
(*.f64 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (sin.f64 phi1))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))
(*.f64 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (sin.f64 phi1))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))
(*.f64 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (sin.f64 phi1))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))
(*.f64 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (sin.f64 phi1))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))
(*.f64 (sin.f64 phi1) (cos.f64 lambda1))
(+.f64 (*.f64 (sin.f64 phi1) (*.f64 lambda2 (sin.f64 lambda1))) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))
(*.f64 (sin.f64 phi1) (+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (cos.f64 lambda1)))
(*.f64 (sin.f64 phi1) (fma.f64 lambda2 (sin.f64 lambda1) (cos.f64 lambda1)))
(+.f64 (*.f64 (sin.f64 phi1) (*.f64 lambda2 (sin.f64 lambda1))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))))
(fma.f64 (sin.f64 phi1) (*.f64 lambda2 (sin.f64 lambda1)) (fma.f64 -1/2 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) (*.f64 lambda2 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))))
(fma.f64 (sin.f64 phi1) (*.f64 lambda2 (sin.f64 lambda1)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 lambda2 lambda2)) 1) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))))
(*.f64 (sin.f64 phi1) (+.f64 (*.f64 (cos.f64 lambda1) (*.f64 lambda2 (*.f64 lambda2 -1/2))) (fma.f64 lambda2 (sin.f64 lambda1) (cos.f64 lambda1))))
(*.f64 (sin.f64 phi1) (+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 lambda2 lambda2))) (cos.f64 lambda1))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 lambda2 3) (*.f64 (sin.f64 phi1) (sin.f64 lambda1)))) (+.f64 (*.f64 (sin.f64 phi1) (*.f64 lambda2 (sin.f64 lambda1))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(fma.f64 -1/6 (*.f64 (pow.f64 lambda2 3) (*.f64 (sin.f64 phi1) (sin.f64 lambda1))) (fma.f64 (sin.f64 phi1) (*.f64 lambda2 (sin.f64 lambda1)) (fma.f64 -1/2 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) (*.f64 lambda2 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(fma.f64 -1/6 (*.f64 (sin.f64 phi1) (*.f64 (sin.f64 lambda1) (pow.f64 lambda2 3))) (fma.f64 (sin.f64 phi1) (*.f64 lambda2 (sin.f64 lambda1)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 lambda2 lambda2)) 1) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(+.f64 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) (+.f64 1 (*.f64 lambda2 (*.f64 lambda2 -1/2)))) (*.f64 (*.f64 (sin.f64 phi1) (sin.f64 lambda1)) (+.f64 lambda2 (*.f64 -1/6 (pow.f64 lambda2 3)))))
(*.f64 (sin.f64 phi1) (+.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 lambda2 lambda2))) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (+.f64 lambda2 (*.f64 -1/6 (pow.f64 lambda2 3))))))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))
(*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (sin.f64 phi1))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))
(*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (sin.f64 phi1))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))
(*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (sin.f64 phi1))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))
(*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (sin.f64 phi1))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))
(+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1)) (*.f64 -1/2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 phi2 2)))))
(fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1) (*.f64 -1/2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (*.f64 phi2 phi2)))))
(fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1) (*.f64 (*.f64 -1/2 (*.f64 (sin.f64 phi1) (*.f64 phi2 phi2))) (cos.f64 (-.f64 lambda1 lambda2))))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 (sin.f64 phi1) (*.f64 -1/2 (*.f64 (sin.f64 phi1) (*.f64 phi2 phi2)))))
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1)))
(+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1)) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 phi2 2)))) (*.f64 1/24 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 phi2 4))))))
(fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1) (fma.f64 -1/2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (*.f64 phi2 phi2))) (*.f64 1/24 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 phi2 4))))))
(fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1) (fma.f64 -1/2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (*.f64 phi2 phi2))) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (*.f64 (sin.f64 phi1) (pow.f64 phi2 4)) 1/24))))
(fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1) (*.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1)) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) (*.f64 -1/2 (*.f64 phi2 phi2)))))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 (sin.f64 phi1) (+.f64 (*.f64 1/24 (*.f64 (sin.f64 phi1) (pow.f64 phi2 4))) (*.f64 -1/2 (*.f64 (sin.f64 phi1) (*.f64 phi2 phi2))))))
(+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1)) (+.f64 (*.f64 -1/720 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 phi2 6)))) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 phi2 2)))) (*.f64 1/24 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 phi2 4)))))))
(fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1) (fma.f64 -1/720 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 phi2 6))) (fma.f64 -1/2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (*.f64 phi2 phi2))) (*.f64 1/24 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 phi2 4)))))))
(fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1) (fma.f64 -1/720 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 phi2 6))) (fma.f64 -1/2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (*.f64 phi2 phi2))) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (*.f64 (sin.f64 phi1) (pow.f64 phi2 4)) 1/24)))))
(+.f64 (*.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1)) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) (*.f64 -1/2 (*.f64 phi2 phi2)))) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 (*.f64 -1/720 (*.f64 (sin.f64 phi1) (pow.f64 phi2 6))) (sin.f64 phi1))))
(fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1) (*.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1)) (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) (*.f64 -1/720 (pow.f64 phi2 6))))))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 phi1 (cos.f64 phi2)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 phi1 3)))) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 phi1 (cos.f64 phi2))))
(fma.f64 -1/6 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (pow.f64 phi1 3) (cos.f64 phi2))) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 phi1 (cos.f64 phi2))))
(*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 phi1 (*.f64 -1/6 (pow.f64 phi1 3)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 phi1 3)))) (+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 phi1 (cos.f64 phi2))) (*.f64 1/120 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 phi1 5))))))
(fma.f64 -1/6 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (pow.f64 phi1 3) (cos.f64 phi2))) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 phi1 (cos.f64 phi2)) (*.f64 1/120 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (pow.f64 phi1 5) (cos.f64 phi2))))))
(fma.f64 -1/6 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (pow.f64 phi1 3) (cos.f64 phi2))) (fma.f64 1/120 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (pow.f64 phi1 5) (cos.f64 phi2))) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 phi1 (cos.f64 phi2)))))
(fma.f64 -1/6 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (pow.f64 phi1 3) (cos.f64 phi2))) (*.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 1/120 (pow.f64 phi1 5)) phi1)))
(*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 (*.f64 1/120 (pow.f64 phi1 5)) (+.f64 phi1 (*.f64 -1/6 (pow.f64 phi1 3))))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 phi1 3)))) (+.f64 (*.f64 -1/5040 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 phi1 7)))) (+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 phi1 (cos.f64 phi2))) (*.f64 1/120 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 phi1 5)))))))
(fma.f64 -1/6 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (pow.f64 phi1 3) (cos.f64 phi2))) (fma.f64 -1/5040 (*.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (pow.f64 phi1 7)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 phi1 (cos.f64 phi2)) (*.f64 1/120 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (pow.f64 phi1 5) (cos.f64 phi2)))))))
(fma.f64 -1/6 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (pow.f64 phi1 3) (cos.f64 phi2))) (fma.f64 -1/5040 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (pow.f64 phi1 7) (cos.f64 phi2))) (fma.f64 1/120 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (pow.f64 phi1 5) (cos.f64 phi2))) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 phi1 (cos.f64 phi2))))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 phi1 (*.f64 -1/5040 (pow.f64 phi1 7))))) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 (*.f64 -1/6 (pow.f64 phi1 3)) (*.f64 1/120 (pow.f64 phi1 5))))))
(*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 (+.f64 phi1 (*.f64 1/120 (pow.f64 phi1 5))) (+.f64 (*.f64 -1/5040 (pow.f64 phi1 7)) (*.f64 -1/6 (pow.f64 phi1 3))))))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (neg.f64 lambda2))))
(*.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda2)) (cos.f64 phi2))
(*.f64 (cos.f64 lambda2) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda2) (cos.f64 phi2)))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (neg.f64 lambda2)))) (*.f64 -1 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) lambda1)))))
(fma.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda2)) (neg.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (*.f64 lambda1 (sin.f64 phi1)) (cos.f64 phi2)))))
(-.f64 (*.f64 (cos.f64 lambda2) (*.f64 (sin.f64 phi1) (cos.f64 phi2))) (*.f64 (*.f64 lambda1 (sin.f64 phi1)) (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2))))
(*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (sin.f64 lambda2)))))
(*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (sin.f64 lambda2))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (neg.f64 lambda2)))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) lambda1)))) (*.f64 -1/2 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2)))))))
(fma.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda2)) (fma.f64 -1 (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (*.f64 lambda1 (sin.f64 phi1)) (cos.f64 phi2))) (*.f64 -1/2 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (*.f64 (cos.f64 lambda2) (*.f64 lambda1 lambda1))))))
(fma.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda2)) (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 phi1) (*.f64 (*.f64 (cos.f64 lambda2) (*.f64 (*.f64 lambda1 lambda1) (cos.f64 phi2))) -1/2)) (*.f64 (*.f64 lambda1 (sin.f64 phi1)) (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)))))
(fma.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda2)) (cos.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 -1/2 (*.f64 lambda1 (*.f64 lambda1 (cos.f64 lambda2)))) (*.f64 lambda1 (sin.f64 lambda2))))))
(*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (cos.f64 lambda2) (fma.f64 -1/2 (*.f64 (cos.f64 lambda2) (*.f64 lambda1 lambda1)) (*.f64 lambda1 (sin.f64 lambda2)))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (neg.f64 lambda2)))) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (pow.f64 lambda1 3))))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) lambda1)))) (*.f64 -1/2 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2))))))))
(fma.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda2)) (fma.f64 1/6 (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (*.f64 (sin.f64 phi1) (pow.f64 lambda1 3)) (cos.f64 phi2))) (fma.f64 -1 (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (*.f64 lambda1 (sin.f64 phi1)) (cos.f64 phi2))) (*.f64 -1/2 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (*.f64 (cos.f64 lambda2) (*.f64 lambda1 lambda1)))))))
(fma.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda2)) (cos.f64 phi2) (fma.f64 1/6 (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (pow.f64 lambda1 3) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))) (-.f64 (*.f64 (sin.f64 phi1) (*.f64 (*.f64 (cos.f64 lambda2) (*.f64 (*.f64 lambda1 lambda1) (cos.f64 phi2))) -1/2)) (*.f64 (*.f64 lambda1 (sin.f64 phi1)) (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2))))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 (*.f64 (sin.f64 phi1) (neg.f64 (sin.f64 lambda2))) (+.f64 (neg.f64 lambda1) (*.f64 1/6 (pow.f64 lambda1 3))))) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) (+.f64 (sin.f64 phi1) (*.f64 (*.f64 lambda1 lambda1) (*.f64 (sin.f64 phi1) -1/2))))))
(*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 (+.f64 (cos.f64 lambda2) (*.f64 (pow.f64 lambda1 3) (*.f64 -1/6 (sin.f64 lambda2)))) (fma.f64 -1/2 (*.f64 (cos.f64 lambda2) (*.f64 lambda1 lambda1)) (*.f64 lambda1 (sin.f64 lambda2))))))
(*.f64 (cos.f64 phi2) (+.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 lambda1 lambda1)) 1) (*.f64 (sin.f64 phi1) (cos.f64 lambda2))) (*.f64 (*.f64 (sin.f64 phi1) (sin.f64 lambda2)) (-.f64 lambda1 (*.f64 1/6 (pow.f64 lambda1 3))))))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))
(*.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) (cos.f64 phi2))
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 lambda2 (sin.f64 lambda1)))))
(fma.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) (*.f64 (sin.f64 phi1) (*.f64 (*.f64 lambda2 (sin.f64 lambda1)) (cos.f64 phi2))))
(*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (fma.f64 lambda2 (sin.f64 lambda1) (cos.f64 lambda1)))
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 lambda2 (sin.f64 lambda1) (cos.f64 lambda1))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 lambda2 (sin.f64 lambda1))))))
(fma.f64 -1/2 (*.f64 (*.f64 lambda2 lambda2) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) (cos.f64 phi2))) (fma.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) (*.f64 (sin.f64 phi1) (*.f64 (*.f64 lambda2 (sin.f64 lambda1)) (cos.f64 phi2)))))
(fma.f64 -1/2 (*.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (*.f64 lambda2 lambda2))) (cos.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (fma.f64 lambda2 (sin.f64 lambda1) (cos.f64 lambda1))))
(fma.f64 -1/2 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (*.f64 (*.f64 lambda2 lambda2) (cos.f64 phi2)))) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (fma.f64 lambda2 (sin.f64 lambda1) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 lambda2 lambda2))) (cos.f64 lambda1)))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 lambda2 3) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (sin.f64 lambda1))))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 lambda2 (sin.f64 lambda1)))))))
(fma.f64 -1/6 (*.f64 (pow.f64 lambda2 3) (*.f64 (*.f64 (sin.f64 phi1) (sin.f64 lambda1)) (cos.f64 phi2))) (fma.f64 -1/2 (*.f64 (*.f64 lambda2 lambda2) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) (cos.f64 phi2))) (fma.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) (*.f64 (sin.f64 phi1) (*.f64 (*.f64 lambda2 (sin.f64 lambda1)) (cos.f64 phi2))))))
(fma.f64 -1/6 (*.f64 (pow.f64 lambda2 3) (*.f64 (sin.f64 phi1) (*.f64 (sin.f64 lambda1) (cos.f64 phi2)))) (fma.f64 -1/2 (*.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (*.f64 lambda2 lambda2))) (cos.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (fma.f64 lambda2 (sin.f64 lambda1) (cos.f64 lambda1)))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) (+.f64 1 (*.f64 lambda2 (*.f64 lambda2 -1/2))))) (*.f64 (*.f64 (sin.f64 lambda1) (*.f64 (sin.f64 phi1) (cos.f64 phi2))) (+.f64 lambda2 (*.f64 -1/6 (pow.f64 lambda2 3)))))
(*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 lambda2 lambda2))) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (+.f64 lambda2 (*.f64 -1/6 (pow.f64 lambda2 3)))))))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))

localize27.0ms (0%)

Local error

Found 8 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))
0.0b
(-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))
0.0b
(sin.f64 phi1)
0.0b
(cos.f64 phi2)
0.1b
(*.f64 (cos.f64 phi1) (sin.f64 phi2))
0.1b
(*.f64 (sin.f64 phi1) (cos.f64 phi2))
0.2b
(*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))
1.6b
(cos.f64 (-.f64 lambda1 lambda2))

series13.0ms (0%)

Counts
2 → 24
Calls

12 calls:

TimeVariablePointExpression
9.0ms
phi2
@0
(*.f64 (sin.f64 phi1) (cos.f64 phi2))
1.0ms
phi1
@0
(*.f64 (sin.f64 phi1) (cos.f64 phi2))
1.0ms
phi1
@0
(*.f64 (cos.f64 phi1) (sin.f64 phi2))
1.0ms
phi2
@0
(*.f64 (cos.f64 phi1) (sin.f64 phi2))
0.0ms
phi2
@inf
(*.f64 (sin.f64 phi1) (cos.f64 phi2))

rewrite60.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
938×pow1_binary64
860×add-log-exp_binary64
860×log1p-expm1-u_binary64
860×expm1-log1p-u_binary64
842×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0916
118116
2228816
Stop Event
node limit
Counts
2 → 30
Calls
Call 1
Inputs
(*.f64 (sin.f64 phi1) (cos.f64 phi2))
(*.f64 (cos.f64 phi1) (sin.f64 phi2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (sin.f64 phi1) (cos.f64 phi2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 2 (+.f64 (sin.f64 (-.f64 phi1 phi2)) (sin.f64 (+.f64 phi1 phi2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (sin.f64 (-.f64 phi1 phi2)) (sin.f64 (+.f64 phi1 phi2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (sin.f64 (-.f64 phi1 phi2)) (sin.f64 (+.f64 phi1 phi2)))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sin.f64 phi1)) (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (sin.f64 phi1) 3) (pow.f64 (cos.f64 phi2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (cos.f64 phi2) 3) (pow.f64 (sin.f64 phi1) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (cos.f64 phi1) (sin.f64 phi2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (sin.f64 (-.f64 phi2 phi1)) (sin.f64 (+.f64 phi1 phi2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (cos.f64 phi1)) (sin.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (cos.f64 phi1) 3) (pow.f64 (sin.f64 phi2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (sin.f64 phi2) 3) (pow.f64 (cos.f64 phi1) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))))

simplify119.0ms (0.2%)

Algorithm
egg-herbie
Rules
725×distribute-lft-out_binary64
625×distribute-rgt-in_binary64
476×sqr-pow_binary64
470×fma-def_binary64
455×unswap-sqr_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
078430
1222416
2636372
32216356
43215354
55257354
66096354
76813354
87419354
97999354
Stop Event
node limit
Counts
54 → 60
Calls
Call 1
Inputs
(*.f64 (cos.f64 phi2) phi1)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 phi1 3) (cos.f64 phi2))) (*.f64 (cos.f64 phi2) phi1))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 phi1 3) (cos.f64 phi2))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 phi1 5) (cos.f64 phi2))) (*.f64 (cos.f64 phi2) phi1)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 phi1 3) (cos.f64 phi2))) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 phi1 7) (cos.f64 phi2))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 phi1 5) (cos.f64 phi2))) (*.f64 (cos.f64 phi2) phi1))))
(sin.f64 phi1)
(+.f64 (sin.f64 phi1) (*.f64 -1/2 (*.f64 (sin.f64 phi1) (pow.f64 phi2 2))))
(+.f64 (sin.f64 phi1) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 phi1) (pow.f64 phi2 2))) (*.f64 1/24 (*.f64 (sin.f64 phi1) (pow.f64 phi2 4)))))
(+.f64 (sin.f64 phi1) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 phi1) (pow.f64 phi2 2))) (+.f64 (*.f64 -1/720 (*.f64 (sin.f64 phi1) (pow.f64 phi2 6))) (*.f64 1/24 (*.f64 (sin.f64 phi1) (pow.f64 phi2 4))))))
(*.f64 (cos.f64 phi2) (sin.f64 phi1))
(*.f64 (cos.f64 phi2) (sin.f64 phi1))
(*.f64 (cos.f64 phi2) (sin.f64 phi1))
(*.f64 (cos.f64 phi2) (sin.f64 phi1))
(*.f64 (cos.f64 phi2) (sin.f64 phi1))
(*.f64 (cos.f64 phi2) (sin.f64 phi1))
(*.f64 (cos.f64 phi2) (sin.f64 phi1))
(*.f64 (cos.f64 phi2) (sin.f64 phi1))
(sin.f64 phi2)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 phi1 2) (sin.f64 phi2))) (sin.f64 phi2))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 phi1 4) (sin.f64 phi2))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 phi1 2) (sin.f64 phi2))) (sin.f64 phi2)))
(+.f64 (*.f64 -1/720 (*.f64 (pow.f64 phi1 6) (sin.f64 phi2))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 phi1 4) (sin.f64 phi2))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 phi1 2) (sin.f64 phi2))) (sin.f64 phi2))))
(*.f64 (cos.f64 phi1) phi2)
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 phi1) (pow.f64 phi2 3))) (*.f64 (cos.f64 phi1) phi2))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 phi1) (pow.f64 phi2 3))) (+.f64 (*.f64 (cos.f64 phi1) phi2) (*.f64 1/120 (*.f64 (cos.f64 phi1) (pow.f64 phi2 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 phi1) (pow.f64 phi2 3))) (+.f64 (*.f64 (cos.f64 phi1) phi2) (+.f64 (*.f64 -1/5040 (*.f64 (cos.f64 phi1) (pow.f64 phi2 7))) (*.f64 1/120 (*.f64 (cos.f64 phi1) (pow.f64 phi2 5))))))
Outputs
(*.f64 (cos.f64 phi2) phi1)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 phi1 3) (cos.f64 phi2))) (*.f64 (cos.f64 phi2) phi1))
(fma.f64 -1/6 (*.f64 (cos.f64 phi2) (pow.f64 phi1 3)) (*.f64 (cos.f64 phi2) phi1))
(*.f64 (cos.f64 phi2) (+.f64 (*.f64 -1/6 (pow.f64 phi1 3)) phi1))
(*.f64 (cos.f64 phi2) (fma.f64 -1/6 (pow.f64 phi1 3) phi1))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 phi1 3) (cos.f64 phi2))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 phi1 5) (cos.f64 phi2))) (*.f64 (cos.f64 phi2) phi1)))
(fma.f64 -1/6 (*.f64 (cos.f64 phi2) (pow.f64 phi1 3)) (fma.f64 1/120 (*.f64 (cos.f64 phi2) (pow.f64 phi1 5)) (*.f64 (cos.f64 phi2) phi1)))
(fma.f64 -1/6 (*.f64 (cos.f64 phi2) (pow.f64 phi1 3)) (*.f64 (cos.f64 phi2) (+.f64 phi1 (*.f64 1/120 (pow.f64 phi1 5)))))
(*.f64 (cos.f64 phi2) (+.f64 (*.f64 -1/6 (pow.f64 phi1 3)) (fma.f64 1/120 (pow.f64 phi1 5) phi1)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 phi1 3) (cos.f64 phi2))) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 phi1 7) (cos.f64 phi2))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 phi1 5) (cos.f64 phi2))) (*.f64 (cos.f64 phi2) phi1))))
(fma.f64 -1/6 (*.f64 (cos.f64 phi2) (pow.f64 phi1 3)) (fma.f64 -1/5040 (*.f64 (cos.f64 phi2) (pow.f64 phi1 7)) (fma.f64 1/120 (*.f64 (cos.f64 phi2) (pow.f64 phi1 5)) (*.f64 (cos.f64 phi2) phi1))))
(+.f64 (*.f64 (cos.f64 phi2) (+.f64 (*.f64 -1/5040 (pow.f64 phi1 7)) (*.f64 1/120 (pow.f64 phi1 5)))) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 -1/6 (pow.f64 phi1 3)) phi1)))
(*.f64 (cos.f64 phi2) (+.f64 (fma.f64 -1/5040 (pow.f64 phi1 7) (*.f64 1/120 (pow.f64 phi1 5))) (fma.f64 -1/6 (pow.f64 phi1 3) phi1)))
(*.f64 (cos.f64 phi2) (+.f64 (fma.f64 -1/6 (pow.f64 phi1 3) phi1) (fma.f64 -1/5040 (pow.f64 phi1 7) (*.f64 1/120 (pow.f64 phi1 5)))))
(sin.f64 phi1)
(+.f64 (sin.f64 phi1) (*.f64 -1/2 (*.f64 (sin.f64 phi1) (pow.f64 phi2 2))))
(+.f64 (sin.f64 phi1) (*.f64 -1/2 (*.f64 (sin.f64 phi1) (*.f64 phi2 phi2))))
(fma.f64 -1/2 (*.f64 (sin.f64 phi1) (*.f64 phi2 phi2)) (sin.f64 phi1))
(fma.f64 (sin.f64 phi1) (*.f64 phi2 (*.f64 phi2 -1/2)) (sin.f64 phi1))
(*.f64 (+.f64 1 (*.f64 phi2 (*.f64 phi2 -1/2))) (sin.f64 phi1))
(*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 phi2 (*.f64 phi2 -1/2))))
(+.f64 (sin.f64 phi1) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 phi1) (pow.f64 phi2 2))) (*.f64 1/24 (*.f64 (sin.f64 phi1) (pow.f64 phi2 4)))))
(+.f64 (sin.f64 phi1) (fma.f64 -1/2 (*.f64 (sin.f64 phi1) (*.f64 phi2 phi2)) (*.f64 1/24 (*.f64 (sin.f64 phi1) (pow.f64 phi2 4)))))
(+.f64 (sin.f64 phi1) (fma.f64 -1/2 (*.f64 (sin.f64 phi1) (*.f64 phi2 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (pow.f64 phi2 4) 1/24))))
(+.f64 (sin.f64 phi1) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 phi2 (*.f64 phi2 -1/2)) (*.f64 1/24 (pow.f64 phi2 4)))))
(*.f64 (sin.f64 phi1) (+.f64 (*.f64 phi2 (*.f64 phi2 -1/2)) (+.f64 1 (*.f64 1/24 (pow.f64 phi2 4)))))
(*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 (*.f64 phi2 phi2) (+.f64 -1/2 (*.f64 1/24 (*.f64 phi2 phi2))))))
(+.f64 (sin.f64 phi1) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 phi1) (pow.f64 phi2 2))) (+.f64 (*.f64 -1/720 (*.f64 (sin.f64 phi1) (pow.f64 phi2 6))) (*.f64 1/24 (*.f64 (sin.f64 phi1) (pow.f64 phi2 4))))))
(+.f64 (sin.f64 phi1) (fma.f64 -1/2 (*.f64 (sin.f64 phi1) (*.f64 phi2 phi2)) (fma.f64 -1/720 (*.f64 (sin.f64 phi1) (pow.f64 phi2 6)) (*.f64 1/24 (*.f64 (sin.f64 phi1) (pow.f64 phi2 4))))))
(+.f64 (sin.f64 phi1) (fma.f64 -1/2 (*.f64 (sin.f64 phi1) (*.f64 phi2 phi2)) (fma.f64 (*.f64 (sin.f64 phi1) -1/720) (pow.f64 phi2 6) (*.f64 (sin.f64 phi1) (*.f64 (pow.f64 phi2 4) 1/24)))))
(+.f64 (sin.f64 phi1) (fma.f64 (sin.f64 phi1) (*.f64 -1/720 (pow.f64 phi2 6)) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 phi2 (*.f64 phi2 -1/2)) (*.f64 1/24 (pow.f64 phi2 4))))))
(+.f64 (sin.f64 phi1) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 phi2 (*.f64 phi2 -1/2)) (+.f64 (*.f64 -1/720 (pow.f64 phi2 6)) (*.f64 1/24 (pow.f64 phi2 4))))))
(*.f64 (sin.f64 phi1) (+.f64 (*.f64 phi2 (*.f64 phi2 -1/2)) (+.f64 1 (+.f64 (*.f64 -1/720 (pow.f64 phi2 6)) (*.f64 1/24 (pow.f64 phi2 4))))))
(*.f64 (sin.f64 phi1) (+.f64 (+.f64 1 (*.f64 (pow.f64 phi2 4) (+.f64 1/24 (*.f64 (*.f64 phi2 phi2) -1/720)))) (*.f64 phi2 (*.f64 phi2 -1/2))))
(*.f64 (sin.f64 phi1) (+.f64 (+.f64 1 (*.f64 phi2 (*.f64 phi2 -1/2))) (*.f64 (pow.f64 phi2 4) (+.f64 1/24 (*.f64 (*.f64 phi2 phi2) -1/720)))))
(*.f64 (cos.f64 phi2) (sin.f64 phi1))
(*.f64 (cos.f64 phi2) (sin.f64 phi1))
(*.f64 (cos.f64 phi2) (sin.f64 phi1))
(*.f64 (cos.f64 phi2) (sin.f64 phi1))
(*.f64 (cos.f64 phi2) (sin.f64 phi1))
(*.f64 (cos.f64 phi2) (sin.f64 phi1))
(*.f64 (cos.f64 phi2) (sin.f64 phi1))
(*.f64 (cos.f64 phi2) (sin.f64 phi1))
(sin.f64 phi2)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 phi1 2) (sin.f64 phi2))) (sin.f64 phi2))
(fma.f64 -1/2 (*.f64 (sin.f64 phi2) (*.f64 phi1 phi1)) (sin.f64 phi2))
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi1 phi1)) 1) (sin.f64 phi2))
(*.f64 (sin.f64 phi2) (fma.f64 -1/2 (*.f64 phi1 phi1) 1))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 phi1 4) (sin.f64 phi2))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 phi1 2) (sin.f64 phi2))) (sin.f64 phi2)))
(fma.f64 1/24 (*.f64 (sin.f64 phi2) (pow.f64 phi1 4)) (fma.f64 -1/2 (*.f64 (sin.f64 phi2) (*.f64 phi1 phi1)) (sin.f64 phi2)))
(+.f64 (sin.f64 phi2) (*.f64 (sin.f64 phi2) (+.f64 (*.f64 1/24 (pow.f64 phi1 4)) (*.f64 -1/2 (*.f64 phi1 phi1)))))
(*.f64 (sin.f64 phi2) (+.f64 (fma.f64 -1/2 (*.f64 phi1 phi1) 1) (*.f64 1/24 (pow.f64 phi1 4))))
(*.f64 (sin.f64 phi2) (+.f64 (*.f64 1/24 (pow.f64 phi1 4)) (fma.f64 -1/2 (*.f64 phi1 phi1) 1)))
(+.f64 (*.f64 -1/720 (*.f64 (pow.f64 phi1 6) (sin.f64 phi2))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 phi1 4) (sin.f64 phi2))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 phi1 2) (sin.f64 phi2))) (sin.f64 phi2))))
(fma.f64 -1/720 (*.f64 (sin.f64 phi2) (pow.f64 phi1 6)) (fma.f64 1/24 (*.f64 (sin.f64 phi2) (pow.f64 phi1 4)) (fma.f64 -1/2 (*.f64 (sin.f64 phi2) (*.f64 phi1 phi1)) (sin.f64 phi2))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi1 phi1)) 1) (sin.f64 phi2)) (*.f64 (sin.f64 phi2) (+.f64 (*.f64 -1/720 (pow.f64 phi1 6)) (*.f64 1/24 (pow.f64 phi1 4)))))
(fma.f64 (sin.f64 phi2) (fma.f64 -1/720 (pow.f64 phi1 6) (*.f64 1/24 (pow.f64 phi1 4))) (*.f64 (sin.f64 phi2) (fma.f64 -1/2 (*.f64 phi1 phi1) 1)))
(*.f64 (sin.f64 phi2) (+.f64 (fma.f64 -1/2 (*.f64 phi1 phi1) 1) (fma.f64 -1/720 (pow.f64 phi1 6) (*.f64 1/24 (pow.f64 phi1 4)))))
(*.f64 (cos.f64 phi1) phi2)
(*.f64 phi2 (cos.f64 phi1))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 phi1) (pow.f64 phi2 3))) (*.f64 (cos.f64 phi1) phi2))
(fma.f64 -1/6 (*.f64 (cos.f64 phi1) (pow.f64 phi2 3)) (*.f64 phi2 (cos.f64 phi1)))
(fma.f64 phi2 (cos.f64 phi1) (*.f64 (*.f64 -1/6 (pow.f64 phi2 3)) (cos.f64 phi1)))
(*.f64 (cos.f64 phi1) (+.f64 phi2 (*.f64 -1/6 (pow.f64 phi2 3))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 phi1) (pow.f64 phi2 3))) (+.f64 (*.f64 (cos.f64 phi1) phi2) (*.f64 1/120 (*.f64 (cos.f64 phi1) (pow.f64 phi2 5)))))
(fma.f64 -1/6 (*.f64 (cos.f64 phi1) (pow.f64 phi2 3)) (fma.f64 (cos.f64 phi1) phi2 (*.f64 1/120 (*.f64 (cos.f64 phi1) (pow.f64 phi2 5)))))
(fma.f64 -1/6 (*.f64 (cos.f64 phi1) (pow.f64 phi2 3)) (fma.f64 phi2 (cos.f64 phi1) (*.f64 1/120 (*.f64 (cos.f64 phi1) (pow.f64 phi2 5)))))
(fma.f64 phi2 (cos.f64 phi1) (*.f64 (cos.f64 phi1) (+.f64 (*.f64 -1/6 (pow.f64 phi2 3)) (*.f64 1/120 (pow.f64 phi2 5)))))
(*.f64 (cos.f64 phi1) (+.f64 (*.f64 1/120 (pow.f64 phi2 5)) (+.f64 phi2 (*.f64 -1/6 (pow.f64 phi2 3)))))
(*.f64 (cos.f64 phi1) (+.f64 phi2 (+.f64 (*.f64 -1/6 (pow.f64 phi2 3)) (*.f64 1/120 (pow.f64 phi2 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 phi1) (pow.f64 phi2 3))) (+.f64 (*.f64 (cos.f64 phi1) phi2) (+.f64 (*.f64 -1/5040 (*.f64 (cos.f64 phi1) (pow.f64 phi2 7))) (*.f64 1/120 (*.f64 (cos.f64 phi1) (pow.f64 phi2 5))))))
(fma.f64 -1/6 (*.f64 (cos.f64 phi1) (pow.f64 phi2 3)) (fma.f64 (cos.f64 phi1) phi2 (fma.f64 -1/5040 (*.f64 (cos.f64 phi1) (pow.f64 phi2 7)) (*.f64 1/120 (*.f64 (cos.f64 phi1) (pow.f64 phi2 5))))))
(fma.f64 -1/6 (*.f64 (cos.f64 phi1) (pow.f64 phi2 3)) (fma.f64 phi2 (cos.f64 phi1) (fma.f64 1/120 (*.f64 (cos.f64 phi1) (pow.f64 phi2 5)) (*.f64 -1/5040 (*.f64 (cos.f64 phi1) (pow.f64 phi2 7))))))
(+.f64 (*.f64 (cos.f64 phi1) (+.f64 (*.f64 1/120 (pow.f64 phi2 5)) (*.f64 -1/5040 (pow.f64 phi2 7)))) (*.f64 (cos.f64 phi1) (+.f64 phi2 (*.f64 -1/6 (pow.f64 phi2 3)))))
(*.f64 (cos.f64 phi1) (+.f64 (+.f64 (*.f64 1/120 (pow.f64 phi2 5)) (*.f64 -1/5040 (pow.f64 phi2 7))) (+.f64 phi2 (*.f64 -1/6 (pow.f64 phi2 3)))))
(*.f64 (cos.f64 phi1) (+.f64 phi2 (+.f64 (*.f64 1/120 (pow.f64 phi2 5)) (+.f64 (*.f64 -1/6 (pow.f64 phi2 3)) (*.f64 -1/5040 (pow.f64 phi2 7))))))

eval348.0ms (0.5%)

Compiler

Compiled 35679 to 8350 computations (76.6% saved)

prune334.0ms (0.5%)

Pruning

91 alts after pruning (91 fresh and 0 done)

PrunedKeptTotal
New974681042
Fresh272350
Picked101
Done404
Total1006911097
Error
0.0b
Counts
1097 → 91
Alt Table
Click to see full alt table
StatusErrorProgram
0.2b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (fma.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2))) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
34.6b
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))) (sin.f64 phi2))
44.0b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) 1))) (sin.f64 phi2))
4.6b
(atan2.f64 (*.f64 (fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
24.8b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
25.1b
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (sin.f64 lambda2))))))
23.2b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (cbrt.f64 (pow.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))) 3)))
0.2b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (fma.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) (cbrt.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
40.4b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 1) (sin.f64 phi2))
28.9b
(atan2.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
4.7b
(atan2.f64 (*.f64 (-.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) 3) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
18.0b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (cos.f64 lambda1)))))
31.2b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 1 (*.f64 (*.f64 lambda1 lambda1) (+.f64 -1/2 (*.f64 1/24 (*.f64 lambda1 lambda1)))))))))
15.3b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (fma.f64 lambda2 (sin.f64 lambda1) (cos.f64 lambda1)))))
42.7b
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (sin.f64 phi2))
45.6b
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (sin.f64 phi2))
29.4b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
29.8b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
4.6b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (log.f64 (+.f64 1 (expm1.f64 (cos.f64 (-.f64 lambda1 lambda2))))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
4.6b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
11.2b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (log1p.f64 (expm1.f64 (cos.f64 (-.f64 lambda1 lambda2)))))))
30.5b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))))
29.5b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 1 (*.f64 lambda1 (*.f64 lambda1 -1/2)))))))
23.2b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (expm1.f64 (log1p.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))
37.1b
(atan2.f64 (*.f64 (sqrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
32.5b
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
22.5b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (-.f64 (*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 phi2)) (+.f64 -1 (*.f64 (*.f64 lambda2 lambda2) 1/2))) (*.f64 lambda2 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)))))))
15.5b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) 3)))))
11.1b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))
25.3b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (+.f64 1 (*.f64 lambda2 (*.f64 lambda2 -1/2)))) (*.f64 (sin.f64 lambda1) (+.f64 lambda2 (*.f64 -1/6 (pow.f64 lambda2 3))))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
37.9b
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (sin.f64 phi2))
0.2b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (log.f64 (*.f64 (exp.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (exp.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2))))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
23.5b
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
22.8b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))
45.2b
(atan2.f64 (*.f64 (sqrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)) (cos.f64 phi2)) (sin.f64 phi2))
38.5b
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
21.7b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
28.8b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 -1/2 (*.f64 phi2 phi2)))))))
31.3b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))))
18.3b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (/.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 (sin.f64 (-.f64 phi1 phi2)) (sin.f64 (+.f64 phi1 phi2)))) 2)))
19.0b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))))
34.6b
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
29.8b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (expm1.f64 (log1p.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))
43.9b
(-.f64 (exp.f64 (log1p.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 1)
8.9b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
45.5b
(exp.f64 (log.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
0.2b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
42.4b
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (sin.f64 phi2))
24.3b
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
41.1b
(atan2.f64 (*.f64 (fma.f64 (sqrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (sqrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
36.7b
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 phi1)))))
24.8b
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
20.8b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (sin.f64 phi1))))
30.3b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (sin.f64 phi2) (+.f64 1 (*.f64 -1/2 (*.f64 phi1 phi1)))) (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (-.f64 (*.f64 1/6 (pow.f64 phi1 3)) phi1))))
15.5b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (expm1.f64 (log1p.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))))
35.0b
(atan2.f64 (/.f64 1 (/.f64 2 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
30.7b
(cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))
31.6b
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))))
23.2b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))))
15.6b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))) 3)))
29.1b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))))
41.1b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (pow.f64 (sqrt.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))) 2))
35.2b
(atan2.f64 (sqrt.f64 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
39.3b
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
46.7b
(atan2.f64 (*.f64 (exp.f64 (log.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
31.3b
(log.f64 (+.f64 1 (expm1.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))
29.2b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (sin.f64 phi2) (+.f64 1 (*.f64 -1/2 (*.f64 phi1 phi1)))) (*.f64 phi1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
17.4b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 lambda2) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2))))))
36.2b
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
31.2b
(log.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
18.8b
(atan2.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 3)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
11.1b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (+.f64 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2))) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))
17.4b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 lambda2)))))))
23.4b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (log.f64 (exp.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))
36.7b
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))) (sin.f64 phi2))
29.4b
(atan2.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 3) (sin.f64 phi2))
44.0b
(sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2))
28.3b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 phi1 (cos.f64 phi2)))))
29.1b
(atan2.f64 (+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
12.8b
(atan2.f64 (/.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (+.f64 lambda2 lambda1)) (sin.f64 (-.f64 lambda1 lambda2)))) (sin.f64 (+.f64 lambda2 lambda1))) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
37.0b
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (sin.f64 phi2))
41.8b
(atan2.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
17.4b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 lambda2))))
32.0b
(atan2.f64 (neg.f64 (sin.f64 (fma.f64 -1 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
29.3b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (expm1.f64 (log1p.f64 (cos.f64 phi2)))) (sin.f64 phi2))
30.0b
(pow.f64 (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))) 3)
36.9b
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 phi1 (*.f64 -1/6 (pow.f64 phi1 3))))))
46.0b
(pow.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3) 1/3)
20.1b
(atan2.f64 (*.f64 (-.f64 (sqrt.f64 (pow.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) 2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
29.3b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log1p.f64 (expm1.f64 (cos.f64 phi2)))) (sin.f64 phi2))
32.5b
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
Compiler

Compiled 5212 to 3432 computations (34.2% saved)

localize28.0ms (0%)

Local error

Found 8 expressions with local error:

NewErrorProgram
0.1b
(-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))
0.1b
(*.f64 (cos.f64 lambda1) (cos.f64 lambda2))
0.0b
(sin.f64 phi1)
0.0b
(cos.f64 phi2)
0.2b
(fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
0.2b
(*.f64 (cos.f64 lambda2) (sin.f64 lambda1))
0.2b
(*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2))
0.2b
(*.f64 (sin.f64 lambda1) (sin.f64 lambda2))

series16.0ms (0%)

Counts
2 → 72
Calls

18 calls:

TimeVariablePointExpression
4.0ms
phi1
@inf
(fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
1.0ms
phi2
@inf
(fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
1.0ms
lambda1
@inf
(fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
1.0ms
lambda2
@inf
(fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
1.0ms
lambda2
@-inf
(fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))

rewrite77.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
540×fma-def_binary64
371×expm1-udef_binary64
371×log1p-udef_binary64
317×fma-neg_binary64
220×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02044
141532
2554732
Stop Event
node limit
Counts
2 → 40
Calls
Call 1
Inputs
(*.f64 (sin.f64 lambda1) (sin.f64 lambda2))
(fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (cos.f64 (-.f64 lambda2 lambda1)) 2) (/.f64 (cos.f64 (+.f64 lambda1 lambda2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 2 (-.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 (+.f64 lambda1 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 (+.f64 lambda1 lambda2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 (+.f64 lambda1 lambda2)))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sin.f64 lambda1)) (sin.f64 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) 1) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))) (cbrt.f64 (pow.f64 (fma.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))) 2)) (cbrt.f64 (fma.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))) (sqrt.f64 (fma.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) 3) (pow.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) 3)) (fma.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (-.f64 (pow.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) 2) (*.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))) (pow.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) 2)) (-.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))))))))

simplify98.0ms (0.1%)

Algorithm
egg-herbie
Rules
481×associate-+l-_binary64
475×*-commutative_binary64
404×+-commutative_binary64
308×distribute-lft-out_binary64
287×associate--l+_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01382237
14572171
217862068
343832023
479142023
Stop Event
node limit
Counts
112 → 90
Calls
Call 1
Inputs
(*.f64 (sin.f64 lambda2) lambda1)
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 lambda2) (pow.f64 lambda1 3))) (*.f64 (sin.f64 lambda2) lambda1))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 lambda2) (pow.f64 lambda1 3))) (+.f64 (*.f64 1/120 (*.f64 (sin.f64 lambda2) (pow.f64 lambda1 5))) (*.f64 (sin.f64 lambda2) lambda1)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 lambda2) (pow.f64 lambda1 3))) (+.f64 (*.f64 -1/5040 (*.f64 (sin.f64 lambda2) (pow.f64 lambda1 7))) (+.f64 (*.f64 1/120 (*.f64 (sin.f64 lambda2) (pow.f64 lambda1 5))) (*.f64 (sin.f64 lambda2) lambda1))))
(*.f64 (sin.f64 lambda2) (sin.f64 lambda1))
(*.f64 (sin.f64 lambda2) (sin.f64 lambda1))
(*.f64 (sin.f64 lambda2) (sin.f64 lambda1))
(*.f64 (sin.f64 lambda2) (sin.f64 lambda1))
(*.f64 (sin.f64 lambda2) (sin.f64 lambda1))
(*.f64 (sin.f64 lambda2) (sin.f64 lambda1))
(*.f64 (sin.f64 lambda2) (sin.f64 lambda1))
(*.f64 (sin.f64 lambda2) (sin.f64 lambda1))
(*.f64 lambda2 (sin.f64 lambda1))
(+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (*.f64 -1/6 (*.f64 (pow.f64 lambda2 3) (sin.f64 lambda1))))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 lambda2 5) (sin.f64 lambda1))) (+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (*.f64 -1/6 (*.f64 (pow.f64 lambda2 3) (sin.f64 lambda1)))))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 lambda2 5) (sin.f64 lambda1))) (+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 lambda2 3) (sin.f64 lambda1))) (*.f64 -1/5040 (*.f64 (pow.f64 lambda2 7) (sin.f64 lambda1))))))
(*.f64 (sin.f64 lambda2) (sin.f64 lambda1))
(*.f64 (sin.f64 lambda2) (sin.f64 lambda1))
(*.f64 (sin.f64 lambda2) (sin.f64 lambda1))
(*.f64 (sin.f64 lambda2) (sin.f64 lambda1))
(*.f64 (sin.f64 lambda2) (sin.f64 lambda1))
(*.f64 (sin.f64 lambda2) (sin.f64 lambda1))
(*.f64 (sin.f64 lambda2) (sin.f64 lambda1))
(*.f64 (sin.f64 lambda2) (sin.f64 lambda1))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (+.f64 (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) (*.f64 -1 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (*.f64 (sin.f64 lambda2) lambda1))))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 2))))) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (+.f64 (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) (*.f64 -1 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (*.f64 (sin.f64 lambda2) lambda1)))))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 2))))) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (*.f64 (sin.f64 lambda2) (pow.f64 lambda1 3))))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) (*.f64 -1 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (*.f64 (sin.f64 lambda2) lambda1))))))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))))) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1))))))
(+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))))) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (+.f64 (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (*.f64 1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1))))))))
(+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 lambda2 3) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))))) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (+.f64 (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (*.f64 1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))))
(*.f64 -1 (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))
(+.f64 (*.f64 (cos.f64 phi1) phi2) (*.f64 -1 (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))
(+.f64 (*.f64 (cos.f64 phi1) phi2) (+.f64 (*.f64 -1 (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))) (*.f64 1/2 (*.f64 (sin.f64 phi1) (*.f64 (pow.f64 phi2 2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 phi1) (pow.f64 phi2 3))) (+.f64 (*.f64 (cos.f64 phi1) phi2) (+.f64 (*.f64 -1 (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))) (*.f64 1/2 (*.f64 (sin.f64 phi1) (*.f64 (pow.f64 phi2 2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(sin.f64 phi2)
(+.f64 (*.f64 -1 (*.f64 phi1 (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))) (sin.f64 phi2))
(+.f64 (*.f64 -1 (*.f64 phi1 (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 phi1 2) (sin.f64 phi2))) (sin.f64 phi2)))
(+.f64 (*.f64 -1 (*.f64 phi1 (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 phi1 2) (sin.f64 phi2))) (+.f64 (sin.f64 phi2) (*.f64 1/6 (*.f64 (pow.f64 phi1 3) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
Outputs
(*.f64 (sin.f64 lambda2) lambda1)
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 lambda2) (pow.f64 lambda1 3))) (*.f64 (sin.f64 lambda2) lambda1))
(fma.f64 -1/6 (*.f64 (sin.f64 lambda2) (pow.f64 lambda1 3)) (*.f64 (sin.f64 lambda2) lambda1))
(fma.f64 (sin.f64 lambda2) lambda1 (*.f64 (pow.f64 lambda1 3) (*.f64 (sin.f64 lambda2) -1/6)))
(*.f64 (sin.f64 lambda2) (+.f64 (*.f64 -1/6 (pow.f64 lambda1 3)) lambda1))
(*.f64 (sin.f64 lambda2) (+.f64 lambda1 (*.f64 -1/6 (pow.f64 lambda1 3))))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 lambda2) (pow.f64 lambda1 3))) (+.f64 (*.f64 1/120 (*.f64 (sin.f64 lambda2) (pow.f64 lambda1 5))) (*.f64 (sin.f64 lambda2) lambda1)))
(fma.f64 -1/6 (*.f64 (sin.f64 lambda2) (pow.f64 lambda1 3)) (fma.f64 1/120 (*.f64 (sin.f64 lambda2) (pow.f64 lambda1 5)) (*.f64 (sin.f64 lambda2) lambda1)))
(fma.f64 -1/6 (*.f64 (sin.f64 lambda2) (pow.f64 lambda1 3)) (fma.f64 (sin.f64 lambda2) lambda1 (*.f64 (pow.f64 lambda1 5) (*.f64 (sin.f64 lambda2) 1/120))))
(fma.f64 -1/6 (*.f64 (sin.f64 lambda2) (pow.f64 lambda1 3)) (*.f64 (sin.f64 lambda2) (+.f64 lambda1 (*.f64 1/120 (pow.f64 lambda1 5)))))
(*.f64 (sin.f64 lambda2) (+.f64 (+.f64 lambda1 (*.f64 1/120 (pow.f64 lambda1 5))) (*.f64 -1/6 (pow.f64 lambda1 3))))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 lambda2) (pow.f64 lambda1 3))) (+.f64 (*.f64 -1/5040 (*.f64 (sin.f64 lambda2) (pow.f64 lambda1 7))) (+.f64 (*.f64 1/120 (*.f64 (sin.f64 lambda2) (pow.f64 lambda1 5))) (*.f64 (sin.f64 lambda2) lambda1))))
(fma.f64 -1/6 (*.f64 (sin.f64 lambda2) (pow.f64 lambda1 3)) (fma.f64 -1/5040 (*.f64 (sin.f64 lambda2) (pow.f64 lambda1 7)) (fma.f64 1/120 (*.f64 (sin.f64 lambda2) (pow.f64 lambda1 5)) (*.f64 (sin.f64 lambda2) lambda1))))
(fma.f64 -1/6 (*.f64 (sin.f64 lambda2) (pow.f64 lambda1 3)) (fma.f64 -1/5040 (*.f64 (sin.f64 lambda2) (pow.f64 lambda1 7)) (fma.f64 (sin.f64 lambda2) lambda1 (*.f64 (pow.f64 lambda1 5) (*.f64 (sin.f64 lambda2) 1/120)))))
(+.f64 (*.f64 (sin.f64 lambda2) (+.f64 lambda1 (*.f64 1/120 (pow.f64 lambda1 5)))) (*.f64 (sin.f64 lambda2) (+.f64 (*.f64 -1/6 (pow.f64 lambda1 3)) (*.f64 -1/5040 (pow.f64 lambda1 7)))))
(*.f64 (sin.f64 lambda2) (+.f64 (+.f64 (*.f64 1/120 (pow.f64 lambda1 5)) (*.f64 -1/5040 (pow.f64 lambda1 7))) (+.f64 lambda1 (*.f64 -1/6 (pow.f64 lambda1 3)))))
(*.f64 (sin.f64 lambda2) (sin.f64 lambda1))
(*.f64 (sin.f64 lambda2) (sin.f64 lambda1))
(*.f64 (sin.f64 lambda2) (sin.f64 lambda1))
(*.f64 (sin.f64 lambda2) (sin.f64 lambda1))
(*.f64 (sin.f64 lambda2) (sin.f64 lambda1))
(*.f64 (sin.f64 lambda2) (sin.f64 lambda1))
(*.f64 (sin.f64 lambda2) (sin.f64 lambda1))
(*.f64 (sin.f64 lambda2) (sin.f64 lambda1))
(*.f64 lambda2 (sin.f64 lambda1))
(+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (*.f64 -1/6 (*.f64 (pow.f64 lambda2 3) (sin.f64 lambda1))))
(fma.f64 lambda2 (sin.f64 lambda1) (*.f64 -1/6 (*.f64 (sin.f64 lambda1) (pow.f64 lambda2 3))))
(*.f64 (sin.f64 lambda1) (+.f64 lambda2 (*.f64 -1/6 (pow.f64 lambda2 3))))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 lambda2 5) (sin.f64 lambda1))) (+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (*.f64 -1/6 (*.f64 (pow.f64 lambda2 3) (sin.f64 lambda1)))))
(fma.f64 1/120 (*.f64 (sin.f64 lambda1) (pow.f64 lambda2 5)) (fma.f64 lambda2 (sin.f64 lambda1) (*.f64 -1/6 (*.f64 (sin.f64 lambda1) (pow.f64 lambda2 3)))))
(fma.f64 1/120 (*.f64 (sin.f64 lambda1) (pow.f64 lambda2 5)) (*.f64 (sin.f64 lambda1) (+.f64 lambda2 (*.f64 -1/6 (pow.f64 lambda2 3)))))
(*.f64 (sin.f64 lambda1) (+.f64 (+.f64 lambda2 (*.f64 -1/6 (pow.f64 lambda2 3))) (*.f64 1/120 (pow.f64 lambda2 5))))
(*.f64 (sin.f64 lambda1) (+.f64 (*.f64 1/120 (pow.f64 lambda2 5)) (+.f64 lambda2 (*.f64 -1/6 (pow.f64 lambda2 3)))))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 lambda2 5) (sin.f64 lambda1))) (+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 lambda2 3) (sin.f64 lambda1))) (*.f64 -1/5040 (*.f64 (pow.f64 lambda2 7) (sin.f64 lambda1))))))
(fma.f64 1/120 (*.f64 (sin.f64 lambda1) (pow.f64 lambda2 5)) (fma.f64 lambda2 (sin.f64 lambda1) (fma.f64 -1/6 (*.f64 (sin.f64 lambda1) (pow.f64 lambda2 3)) (*.f64 -1/5040 (*.f64 (sin.f64 lambda1) (pow.f64 lambda2 7))))))
(+.f64 (*.f64 (sin.f64 lambda1) (+.f64 (*.f64 -1/6 (pow.f64 lambda2 3)) (*.f64 -1/5040 (pow.f64 lambda2 7)))) (*.f64 (sin.f64 lambda1) (+.f64 (*.f64 1/120 (pow.f64 lambda2 5)) lambda2)))
(*.f64 (sin.f64 lambda1) (+.f64 (+.f64 (*.f64 -1/5040 (pow.f64 lambda2 7)) (*.f64 -1/6 (pow.f64 lambda2 3))) (+.f64 lambda2 (*.f64 1/120 (pow.f64 lambda2 5)))))
(*.f64 (sin.f64 lambda1) (+.f64 (+.f64 lambda2 (*.f64 1/120 (pow.f64 lambda2 5))) (+.f64 (*.f64 -1/5040 (pow.f64 lambda2 7)) (*.f64 -1/6 (pow.f64 lambda2 3)))))
(*.f64 (sin.f64 lambda2) (sin.f64 lambda1))
(*.f64 (sin.f64 lambda2) (sin.f64 lambda1))
(*.f64 (sin.f64 lambda2) (sin.f64 lambda1))
(*.f64 (sin.f64 lambda2) (sin.f64 lambda1))
(*.f64 (sin.f64 lambda2) (sin.f64 lambda1))
(*.f64 (sin.f64 lambda2) (sin.f64 lambda1))
(*.f64 (sin.f64 lambda2) (sin.f64 lambda1))
(*.f64 (sin.f64 lambda2) (sin.f64 lambda1))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda2) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (+.f64 (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) (*.f64 -1 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (*.f64 (sin.f64 lambda2) lambda1))))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 -1 (+.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) (*.f64 (cos.f64 phi2) (*.f64 (*.f64 (sin.f64 lambda2) lambda1) (sin.f64 phi1))))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (fma.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (*.f64 (*.f64 (sin.f64 lambda2) lambda1) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (cos.f64 lambda2) (*.f64 (sin.f64 lambda2) lambda1))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2))) (+.f64 (*.f64 (sin.f64 lambda2) lambda1) (cos.f64 lambda2))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 2))))) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (+.f64 (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) (*.f64 -1 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (*.f64 (sin.f64 lambda2) lambda1)))))))
(fma.f64 1/2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda2) (*.f64 lambda1 lambda1)))) (fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 -1 (+.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) (*.f64 (cos.f64 phi2) (*.f64 (*.f64 (sin.f64 lambda2) lambda1) (sin.f64 phi1)))))))
(fma.f64 1/2 (*.f64 (*.f64 (cos.f64 lambda2) (*.f64 (sin.f64 phi1) (cos.f64 phi2))) (*.f64 lambda1 lambda1)) (fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (fma.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (*.f64 (*.f64 (sin.f64 lambda2) lambda1) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))))
(-.f64 (fma.f64 1/2 (*.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) (*.f64 lambda1 lambda1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (cos.f64 lambda2) (*.f64 (sin.f64 lambda2) lambda1))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (-.f64 (*.f64 1/2 (*.f64 lambda1 (*.f64 lambda1 (cos.f64 lambda2)))) (+.f64 (*.f64 (sin.f64 lambda2) lambda1) (cos.f64 lambda2)))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 2))))) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (*.f64 (sin.f64 lambda2) (pow.f64 lambda1 3))))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) (*.f64 -1 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (*.f64 (sin.f64 lambda2) lambda1))))))))
(fma.f64 1/2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda2) (*.f64 lambda1 lambda1)))) (fma.f64 (cos.f64 phi1) (sin.f64 phi2) (fma.f64 1/6 (*.f64 (cos.f64 phi2) (*.f64 (*.f64 (sin.f64 phi1) (sin.f64 lambda2)) (pow.f64 lambda1 3))) (*.f64 -1 (+.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) (*.f64 (cos.f64 phi2) (*.f64 (*.f64 (sin.f64 lambda2) lambda1) (sin.f64 phi1))))))))
(fma.f64 1/2 (*.f64 (*.f64 (cos.f64 lambda2) (*.f64 (sin.f64 phi1) (cos.f64 phi2))) (*.f64 lambda1 lambda1)) (fma.f64 (cos.f64 phi1) (sin.f64 phi2) (fma.f64 1/6 (*.f64 (*.f64 (sin.f64 lambda2) (pow.f64 lambda1 3)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))) (neg.f64 (fma.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (*.f64 (*.f64 (sin.f64 lambda2) lambda1) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (+.f64 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (-.f64 (*.f64 (*.f64 (sin.f64 lambda2) (pow.f64 lambda1 3)) 1/6) (cos.f64 lambda2))) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (sin.f64 lambda2) (neg.f64 lambda1)) (*.f64 1/2 (*.f64 lambda1 (*.f64 lambda1 (cos.f64 lambda2))))))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (-.f64 (*.f64 (*.f64 (sin.f64 lambda2) (pow.f64 lambda1 3)) 1/6) (cos.f64 lambda2)) (+.f64 (*.f64 (sin.f64 lambda2) (neg.f64 lambda1)) (*.f64 1/2 (*.f64 lambda1 (*.f64 lambda1 (cos.f64 lambda2))))))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2)))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2)))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2)))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2)))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2)))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2)))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2)))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2)))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1))))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))))
(+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))))) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1))))))
(fma.f64 -1 (*.f64 lambda2 (*.f64 (sin.f64 phi1) (*.f64 (sin.f64 lambda1) (cos.f64 phi2)))) (fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1))))))
(-.f64 (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))) (*.f64 (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) lambda2)))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (cos.f64 phi2) (neg.f64 (cos.f64 lambda1))) (*.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (neg.f64 lambda2)))))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (cos.f64 lambda1) (*.f64 lambda2 (sin.f64 lambda1)))))
(+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))))) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (+.f64 (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (*.f64 1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1))))))))
(fma.f64 -1 (*.f64 lambda2 (*.f64 (sin.f64 phi1) (*.f64 (sin.f64 lambda1) (cos.f64 phi2)))) (fma.f64 (cos.f64 phi1) (sin.f64 phi2) (fma.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1))) (*.f64 1/2 (*.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1))) (*.f64 lambda2 lambda2))))))
(-.f64 (fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (cos.f64 phi2))) (+.f64 -1 (*.f64 1/2 (*.f64 lambda2 lambda2))))) (*.f64 (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) lambda2)))
(-.f64 (fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1))) (+.f64 -1 (*.f64 lambda2 (*.f64 lambda2 1/2))))) (*.f64 lambda2 (*.f64 (sin.f64 phi1) (*.f64 (sin.f64 lambda1) (cos.f64 phi2)))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (-.f64 (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)) (+.f64 -1 (*.f64 lambda2 (*.f64 lambda2 1/2)))) (*.f64 lambda2 (*.f64 (sin.f64 lambda1) (cos.f64 phi2))))))
(+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 lambda2 3) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))))) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (+.f64 (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (*.f64 1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))))))
(fma.f64 -1 (*.f64 lambda2 (*.f64 (sin.f64 phi1) (*.f64 (sin.f64 lambda1) (cos.f64 phi2)))) (fma.f64 1/6 (*.f64 (*.f64 (pow.f64 lambda2 3) (sin.f64 phi1)) (*.f64 (sin.f64 lambda1) (cos.f64 phi2))) (fma.f64 (cos.f64 phi1) (sin.f64 phi2) (fma.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1))) (*.f64 1/2 (*.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1))) (*.f64 lambda2 lambda2)))))))
(+.f64 (fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (cos.f64 phi2))) (+.f64 -1 (*.f64 1/2 (*.f64 lambda2 lambda2))))) (*.f64 (*.f64 (sin.f64 lambda1) (*.f64 (sin.f64 phi1) (cos.f64 phi2))) (+.f64 (neg.f64 lambda2) (*.f64 (pow.f64 lambda2 3) 1/6))))
(+.f64 (fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1))) (+.f64 -1 (*.f64 lambda2 (*.f64 lambda2 1/2))))) (*.f64 (*.f64 (sin.f64 phi1) (*.f64 (sin.f64 lambda1) (cos.f64 phi2))) (+.f64 (*.f64 (pow.f64 lambda2 3) 1/6) (neg.f64 lambda2))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)) (+.f64 -1 (*.f64 lambda2 (*.f64 lambda2 1/2)))) (*.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (pow.f64 lambda2 3) 1/6) lambda2)))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2)))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2)))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2)))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2)))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2)))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2)))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2)))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2)))))
(*.f64 -1 (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))
(neg.f64 (*.f64 (sin.f64 phi1) (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))
(*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (neg.f64 (sin.f64 phi1)))
(*.f64 (sin.f64 phi1) (neg.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))
(+.f64 (*.f64 (cos.f64 phi1) phi2) (*.f64 -1 (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))
(fma.f64 (cos.f64 phi1) phi2 (neg.f64 (*.f64 (sin.f64 phi1) (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))
(fma.f64 (cos.f64 phi1) phi2 (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (neg.f64 (sin.f64 phi1))))
(-.f64 (*.f64 (cos.f64 phi1) phi2) (*.f64 (sin.f64 phi1) (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))
(+.f64 (*.f64 (cos.f64 phi1) phi2) (+.f64 (*.f64 -1 (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))) (*.f64 1/2 (*.f64 (sin.f64 phi1) (*.f64 (pow.f64 phi2 2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))))
(fma.f64 (cos.f64 phi1) phi2 (fma.f64 -1 (*.f64 (sin.f64 phi1) (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))) (*.f64 1/2 (*.f64 (*.f64 (sin.f64 phi1) (*.f64 phi2 phi2)) (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(fma.f64 (cos.f64 phi1) phi2 (-.f64 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 phi1) (*.f64 phi2 phi2))) (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))) (*.f64 (sin.f64 phi1) (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))
(fma.f64 (cos.f64 phi1) phi2 (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (-.f64 (*.f64 (*.f64 phi2 phi2) (*.f64 (sin.f64 phi1) 1/2)) (sin.f64 phi1))))
(fma.f64 (cos.f64 phi1) phi2 (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (-.f64 (*.f64 1/2 (*.f64 phi2 (*.f64 phi2 (sin.f64 phi1)))) (sin.f64 phi1))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 phi1) (pow.f64 phi2 3))) (+.f64 (*.f64 (cos.f64 phi1) phi2) (+.f64 (*.f64 -1 (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))) (*.f64 1/2 (*.f64 (sin.f64 phi1) (*.f64 (pow.f64 phi2 2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))))
(fma.f64 -1/6 (*.f64 (cos.f64 phi1) (pow.f64 phi2 3)) (fma.f64 (cos.f64 phi1) phi2 (fma.f64 -1 (*.f64 (sin.f64 phi1) (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))) (*.f64 1/2 (*.f64 (*.f64 (sin.f64 phi1) (*.f64 phi2 phi2)) (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))))
(fma.f64 -1/6 (*.f64 (cos.f64 phi1) (pow.f64 phi2 3)) (fma.f64 (cos.f64 phi1) phi2 (-.f64 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 phi1) (*.f64 phi2 phi2))) (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))) (*.f64 (sin.f64 phi1) (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(+.f64 (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (-.f64 (*.f64 (*.f64 phi2 phi2) (*.f64 (sin.f64 phi1) 1/2)) (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (+.f64 phi2 (*.f64 -1/6 (pow.f64 phi2 3)))))
(+.f64 (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (-.f64 (*.f64 1/2 (*.f64 phi2 (*.f64 phi2 (sin.f64 phi1)))) (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (+.f64 phi2 (*.f64 -1/6 (pow.f64 phi2 3)))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2)))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2)))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2)))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2)))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2)))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2)))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2)))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2)))))
(sin.f64 phi2)
(+.f64 (*.f64 -1 (*.f64 phi1 (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))) (sin.f64 phi2))
(fma.f64 -1 (*.f64 (*.f64 phi1 (cos.f64 phi2)) (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))) (sin.f64 phi2))
(-.f64 (sin.f64 phi2) (*.f64 phi1 (*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))
(-.f64 (sin.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 phi1 (cos.f64 phi2))))
(+.f64 (*.f64 -1 (*.f64 phi1 (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 phi1 2) (sin.f64 phi2))) (sin.f64 phi2)))
(fma.f64 -1 (*.f64 (*.f64 phi1 (cos.f64 phi2)) (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))) (fma.f64 -1/2 (*.f64 (sin.f64 phi2) (*.f64 phi1 phi1)) (sin.f64 phi2)))
(-.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi1 phi1)) 1) (sin.f64 phi2)) (*.f64 phi1 (*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))
(fma.f64 (+.f64 1 (*.f64 phi1 (*.f64 phi1 -1/2))) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (neg.f64 phi1))))
(+.f64 (*.f64 -1 (*.f64 phi1 (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 phi1 2) (sin.f64 phi2))) (+.f64 (sin.f64 phi2) (*.f64 1/6 (*.f64 (pow.f64 phi1 3) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))))
(fma.f64 -1 (*.f64 (*.f64 phi1 (cos.f64 phi2)) (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))) (+.f64 (fma.f64 -1/2 (*.f64 (sin.f64 phi2) (*.f64 phi1 phi1)) (sin.f64 phi2)) (*.f64 1/6 (*.f64 (*.f64 (pow.f64 phi1 3) (cos.f64 phi2)) (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(-.f64 (fma.f64 -1/2 (*.f64 phi1 (*.f64 phi1 (sin.f64 phi2))) (fma.f64 1/6 (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (cos.f64 phi2) (pow.f64 phi1 3))) (sin.f64 phi2))) (*.f64 phi1 (*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))
(+.f64 (fma.f64 -1/2 (*.f64 (sin.f64 phi2) (*.f64 phi1 phi1)) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))) (+.f64 (*.f64 1/6 (pow.f64 phi1 3)) (neg.f64 phi1))))
(+.f64 (fma.f64 -1/2 (*.f64 phi1 (*.f64 phi1 (sin.f64 phi2))) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (-.f64 (*.f64 1/6 (pow.f64 phi1 3)) phi1))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2)))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2)))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2)))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2)))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2)))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2)))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2)))))
(+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (neg.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2)))))

localize10.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.6b
(sin.f64 (-.f64 lambda1 lambda2))
0.1b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 1) (sin.f64 phi2))
0.1b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 1) (sin.f64 phi2))
1.6b
(sin.f64 (-.f64 lambda1 lambda2))

series3.0ms (0%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
0.0ms
lambda1
@0
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 1) (sin.f64 phi2))
0.0ms
lambda2
@-inf
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 1) (sin.f64 phi2))
0.0ms
lambda1
@-inf
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 1) (sin.f64 phi2))
0.0ms
lambda1
@inf
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 1) (sin.f64 phi2))
0.0ms
phi2
@-inf
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 1) (sin.f64 phi2))

rewrite45.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
524×unpow-prod-down_binary64
474×prod-diff_binary64
427×log-prod_binary64
260×pow2_binary64
229×pow-prod-down_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01011
120811
2240411
Stop Event
node limit
Counts
1 → 32
Calls
Call 1
Inputs
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 1) (sin.f64 phi2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))) (log.f64 (sqrt.f64 (exp.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) (cbrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 2)) (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) (sqrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 3)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)))) 2) 1/3) (cbrt.f64 (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 5/2) 1/3) (cbrt.f64 (sqrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)))) 2) 3) (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))))))

simplify25.0ms (0%)

Algorithm
egg-herbie
Rules
40×fma-neg_binary64
24×fma-def_binary64
17×cancel-sign-sub-inv_binary64
17×sub-neg_binary64
11×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
018396
134396
253396
392396
4144396
5180396
6213396
7229396
8231396
Stop Event
saturated
Counts
68 → 35
Calls
Call 1
Inputs
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (sin.f64 phi2))
(atan2.f64 (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (sin.f64 phi2))
(atan2.f64 (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (sin.f64 phi2))
(atan2.f64 (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
Outputs
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))

localize14.0ms (0%)

Local error

Found 8 expressions with local error:

NewErrorProgram
0.8b
(pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3)
0.1b
(*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))
0.1b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
0.0b
(cos.f64 phi2)
0.1b
(*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))
0.8b
(pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3)
1.6b
(sin.f64 (-.f64 lambda1 lambda2))
1.8b
(pow.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3) 1/3)

series32.0ms (0%)

Counts
2 → 72
Calls

18 calls:

TimeVariablePointExpression
9.0ms
lambda1
@inf
(pow.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3) 1/3)
4.0ms
phi2
@-inf
(pow.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3) 1/3)
3.0ms
lambda2
@-inf
(pow.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3) 1/3)
3.0ms
phi2
@inf
(pow.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3) 1/3)
2.0ms
lambda1
@0
(pow.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3) 1/3)

rewrite65.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
750×prod-diff_binary64
641×log-prod_binary64
362×fma-def_binary64
262×expm1-udef_binary64
262×log1p-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01435
131535
2371535
Stop Event
node limit
Counts
2 → 46
Calls
Call 1
Inputs
(pow.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3) 1/3)
(pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) (cbrt.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))) (log.f64 (cbrt.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))) (log.f64 (sqrt.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))) (pow.f64 (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))) (pow.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))) 2) (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))) (sqrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2) 1/3) (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3/2) 1/3) (pow.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3/2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))) (cbrt.f64 (exp.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))) 2) (*.f64 (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))) (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))) (*.f64 (sqrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))) (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3/2) (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))) 2) 3) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))) 3) (pow.f64 (sqrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2) 1) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2) (pow.f64 (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))) 2)) (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2) (sqrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) (sqrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 6))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 3 (log.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3)))))))

simplify244.0ms (0.4%)

Algorithm
egg-herbie
Rules
1347×sqr-pow_binary64
715×pow-sqr_binary64
540×cube-prod_binary64
476×fabs-mul_binary64
362×unswap-sqr_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0301260
1771260
21131260
31771260
42741260
54221260
69281260
716691260
818561260
920061260
1021701260
1124051260
1227331260
1331581260
1436621260
1542611260
1649851260
1753061260
1855901260
1958141260
2059961260
2160781260
2270181260
2379921260
Stop Event
node limit
Counts
118 → 52
Calls
Call 1
Inputs
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(*.f64 (pow.f64 1 1/3) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (sin.f64 phi2)))
(*.f64 (pow.f64 1 1/3) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (sin.f64 phi2)))
(*.f64 (pow.f64 1 1/3) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (sin.f64 phi2)))
(*.f64 (pow.f64 1 1/3) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (sin.f64 phi2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
Outputs
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(*.f64 (pow.f64 1 1/3) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (sin.f64 phi2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(*.f64 (pow.f64 1 1/3) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (sin.f64 phi2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(*.f64 (pow.f64 1 1/3) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (sin.f64 phi2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(*.f64 (pow.f64 1 1/3) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (sin.f64 phi2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)
(pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) 3)

localize20.0ms (0%)

Local error

Found 8 expressions with local error:

NewErrorProgram
0.1b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
0.1b
(+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
0.0b
(sin.f64 phi1)
0.0b
(cos.f64 phi2)
0.1b
(*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))
0.2b
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
1.6b
(sin.f64 (-.f64 lambda1 lambda2))
1.6b
(cos.f64 (-.f64 lambda1 lambda2))

series7.0ms (0%)

Counts
1 → 32
Calls

12 calls:

TimeVariablePointExpression
2.0ms
lambda2
@0
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
1.0ms
lambda1
@0
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
1.0ms
lambda2
@-inf
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
1.0ms
lambda1
@-inf
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
1.0ms
lambda2
@inf
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))

rewrite49.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
616×log-prod_binary64
566×prod-diff_binary64
333×pow2_binary64
243×fma-def_binary64
233×pow1/3_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01116
123416
2314316
Stop Event
node limit
Counts
1 → 25
Calls
Call 1
Inputs
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (*.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2))) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 (-.f64 lambda1 lambda2))) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 (-.f64 lambda1 lambda2))) (*.f64 (cos.f64 phi2) (sin.f64 phi1))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 (-.f64 lambda1 lambda2))) (*.f64 (cos.f64 phi2) (sin.f64 phi1))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 (-.f64 lambda1 lambda2))) (*.f64 (cos.f64 phi2) (sin.f64 phi1))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (cos.f64 (-.f64 lambda1 lambda2)) 3) (pow.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) 3) (pow.f64 (cos.f64 (-.f64 lambda1 lambda2)) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (cos.f64 (-.f64 lambda1 lambda2))) (*.f64 (cos.f64 phi2) (sin.f64 phi1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (cos.f64 (-.f64 lambda1 lambda2)) 3) (pow.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) 3) (pow.f64 (cos.f64 (-.f64 lambda1 lambda2)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))))))))

simplify47.0ms (0.1%)

Algorithm
egg-herbie
Rules
827×fma-def_binary64
794×associate-*r*_binary64
527×distribute-lft-out_binary64
510×distribute-rgt-out_binary64
339×distribute-rgt-neg-out_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0117961
1345916
21056783
33859711
Stop Event
node limit
Counts
57 → 61
Calls
Call 1
Inputs
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 lambda2))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) lambda1)))) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 lambda2)))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) lambda1)))) (+.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 lambda2)))) (*.f64 -1/2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2)))))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) lambda1)))) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (pow.f64 lambda1 3))))) (+.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 lambda2)))) (*.f64 -1/2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2))))))))
(*.f64 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (*.f64 lambda2 (sin.f64 lambda1)))) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (*.f64 lambda2 (sin.f64 lambda1)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1))))) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (*.f64 lambda2 (sin.f64 lambda1)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1))))) (+.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1))) (*.f64 -1/6 (*.f64 (pow.f64 lambda2 3) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))))))))
(*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))
(+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1)) (*.f64 -1/2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 phi2 2)))))
(+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1)) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 phi2 2)))) (*.f64 1/24 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 phi2 4))))))
(+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1)) (+.f64 (*.f64 -1/720 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 phi2 6)))) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 phi2 2)))) (*.f64 1/24 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 phi2 4)))))))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 phi1 (cos.f64 phi2)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 phi1 3)))) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 phi1 (cos.f64 phi2))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 phi1 3)))) (+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 phi1 (cos.f64 phi2))) (*.f64 1/120 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 phi1 5))))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 phi1 3)))) (+.f64 (*.f64 -1/5040 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 phi1 7)))) (+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 phi1 (cos.f64 phi2))) (*.f64 1/120 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 phi1 5)))))))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
Outputs
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 lambda2))))
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) lambda1)))) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 lambda2)))))
(fma.f64 -1 (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) lambda1))) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(-.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) lambda1))))
(*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (-.f64 (cos.f64 lambda2) (*.f64 (neg.f64 (sin.f64 lambda2)) lambda1)))
(*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (sin.f64 lambda2))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) lambda1)))) (+.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 lambda2)))) (*.f64 -1/2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2)))))))
(fma.f64 -1 (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) lambda1))) (fma.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (*.f64 -1/2 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (*.f64 (cos.f64 lambda2) (*.f64 lambda1 lambda1))))))
(-.f64 (fma.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (*.f64 -1/2 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) (*.f64 lambda1 lambda1)))))) (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) lambda1))))
(fma.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) lambda1)) (sin.f64 lambda2) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (*.f64 lambda1 lambda1))) (cos.f64 lambda2))))
(*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 lambda1 (sin.f64 lambda2)) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (*.f64 lambda1 lambda1))) (cos.f64 lambda2))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) lambda1)))) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (pow.f64 lambda1 3))))) (+.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 lambda2)))) (*.f64 -1/2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2))))))))
(fma.f64 -1 (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) lambda1))) (fma.f64 1/6 (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (pow.f64 lambda1 3))) (fma.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (*.f64 -1/2 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (*.f64 (cos.f64 lambda2) (*.f64 lambda1 lambda1)))))))
(-.f64 (fma.f64 1/6 (*.f64 (sin.f64 phi1) (*.f64 (*.f64 (cos.f64 phi2) (pow.f64 lambda1 3)) (sin.f64 (neg.f64 lambda2)))) (fma.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (*.f64 -1/2 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) (*.f64 lambda1 lambda1))))))) (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) lambda1))))
(+.f64 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (*.f64 lambda1 lambda1))) (cos.f64 lambda2))) (*.f64 (*.f64 (sin.f64 phi1) (neg.f64 (sin.f64 lambda2))) (+.f64 (*.f64 lambda1 (neg.f64 (cos.f64 phi2))) (*.f64 1/6 (*.f64 (cos.f64 phi2) (pow.f64 lambda1 3))))))
(*.f64 (sin.f64 phi1) (+.f64 (*.f64 (cos.f64 lambda2) (+.f64 (*.f64 (*.f64 (cos.f64 phi2) -1/2) (*.f64 lambda1 lambda1)) (cos.f64 phi2))) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 lambda1 (sin.f64 lambda2)) (*.f64 (*.f64 -1/6 (sin.f64 lambda2)) (pow.f64 lambda1 3))))))
(*.f64 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (fma.f64 -1 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))
(*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(*.f64 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (fma.f64 -1 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))
(*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(*.f64 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (fma.f64 -1 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))
(*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(*.f64 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (fma.f64 -1 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))
(*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))
(*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (*.f64 lambda2 (sin.f64 lambda1)))) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1))))
(fma.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (*.f64 lambda2 (sin.f64 lambda1))) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1))))
(*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (cos.f64 lambda1)))
(*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (fma.f64 lambda2 (sin.f64 lambda1) (cos.f64 lambda1)))
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 lambda2 (sin.f64 lambda1) (cos.f64 lambda1))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (*.f64 lambda2 (sin.f64 lambda1)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1))))) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(fma.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (*.f64 lambda2 (sin.f64 lambda1))) (fma.f64 -1/2 (*.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1))) (*.f64 lambda2 lambda2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(fma.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (*.f64 lambda2 (sin.f64 lambda1))) (*.f64 (+.f64 (*.f64 (*.f64 -1/2 lambda2) lambda2) 1) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(fma.f64 (fma.f64 -1/2 (*.f64 lambda2 lambda2) 1) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1))) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 lambda2 (sin.f64 lambda1)))))
(*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (*.f64 (fma.f64 -1/2 (*.f64 lambda2 lambda2) 1) (cos.f64 lambda1))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (*.f64 lambda2 (sin.f64 lambda1)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1))))) (+.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1))) (*.f64 -1/6 (*.f64 (pow.f64 lambda2 3) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))))))))
(fma.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (*.f64 lambda2 (sin.f64 lambda1))) (fma.f64 -1/2 (*.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1))) (*.f64 lambda2 lambda2)) (fma.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)) (*.f64 -1/6 (*.f64 (*.f64 (pow.f64 lambda2 3) (sin.f64 phi1)) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))))))
(+.f64 (fma.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (*.f64 lambda2 (sin.f64 lambda1))) (*.f64 (+.f64 (*.f64 (*.f64 -1/2 lambda2) lambda2) 1) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1))))) (*.f64 -1/6 (*.f64 (sin.f64 phi1) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (pow.f64 lambda2 3)))))
(fma.f64 (fma.f64 -1/2 (*.f64 lambda2 lambda2) 1) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1))) (*.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (sin.f64 lambda1))) (+.f64 (*.f64 -1/6 (pow.f64 lambda2 3)) lambda2)))
(*.f64 (sin.f64 phi1) (+.f64 (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (*.f64 -1/6 (pow.f64 lambda2 3)) lambda2)) (*.f64 (fma.f64 -1/2 (*.f64 lambda2 lambda2) 1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (fma.f64 -1 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))
(*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (fma.f64 -1 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))
(*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (fma.f64 -1 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))
(*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))
(*.f64 (cos.f64 (fma.f64 -1 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))
(*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))
(*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))
(*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1)) (*.f64 -1/2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 phi2 2)))))
(fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1) (*.f64 -1/2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (*.f64 phi2 phi2)))))
(fma.f64 -1/2 (*.f64 (sin.f64 phi1) (*.f64 (*.f64 phi2 phi2) (cos.f64 (-.f64 lambda2 lambda1)))) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (+.f64 (*.f64 (*.f64 -1/2 (sin.f64 phi1)) (*.f64 phi2 phi2)) (sin.f64 phi1)))
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1)) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 phi2 2)))) (*.f64 1/24 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 phi2 4))))))
(fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1) (fma.f64 -1/2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (*.f64 phi2 phi2))) (*.f64 1/24 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 phi2 4))))))
(fma.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)) (fma.f64 -1/2 (*.f64 (sin.f64 phi1) (*.f64 (*.f64 phi2 phi2) (cos.f64 (-.f64 lambda2 lambda1)))) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (*.f64 (sin.f64 phi1) (pow.f64 phi2 4)) 1/24))))
(fma.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) (*.f64 -1/2 (*.f64 phi2 phi2)))))
(*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (+.f64 (sin.f64 phi1) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) (*.f64 1/24 (pow.f64 phi2 4))))))
(+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1)) (+.f64 (*.f64 -1/720 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 phi2 6)))) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 phi2 2)))) (*.f64 1/24 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 phi2 4)))))))
(fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1) (fma.f64 -1/720 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 phi2 6))) (fma.f64 -1/2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (*.f64 phi2 phi2))) (*.f64 1/24 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 phi2 4)))))))
(fma.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)) (fma.f64 -1/720 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (pow.f64 phi2 6))) (fma.f64 -1/2 (*.f64 (sin.f64 phi1) (*.f64 (*.f64 phi2 phi2) (cos.f64 (-.f64 lambda2 lambda1)))) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (*.f64 (sin.f64 phi1) (pow.f64 phi2 4)) 1/24)))))
(+.f64 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) (*.f64 -1/2 (*.f64 phi2 phi2)))) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (+.f64 (sin.f64 phi1) (*.f64 -1/720 (*.f64 (sin.f64 phi1) (pow.f64 phi2 6))))))
(*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (+.f64 (*.f64 (sin.f64 phi1) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) (*.f64 -1/2 (*.f64 phi2 phi2)))) (*.f64 (+.f64 (*.f64 -1/720 (pow.f64 phi2 6)) 1) (sin.f64 phi1))))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 phi1 (cos.f64 phi2)))
(*.f64 phi1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))
(*.f64 (cos.f64 phi2) (*.f64 phi1 (cos.f64 (-.f64 lambda2 lambda1))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 phi1 3)))) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 phi1 (cos.f64 phi2))))
(fma.f64 -1/6 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 phi1 3))) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 phi1 (cos.f64 phi2))))
(fma.f64 -1/6 (*.f64 (cos.f64 phi2) (*.f64 (pow.f64 phi1 3) (cos.f64 (-.f64 lambda2 lambda1)))) (*.f64 phi1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1)))))
(*.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (+.f64 phi1 (*.f64 -1/6 (pow.f64 phi1 3))))
(*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi2) (+.f64 phi1 (*.f64 -1/6 (pow.f64 phi1 3)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 phi1 3)))) (+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 phi1 (cos.f64 phi2))) (*.f64 1/120 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 phi1 5))))))
(fma.f64 -1/6 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 phi1 3))) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 phi1 (cos.f64 phi2)) (*.f64 (*.f64 1/120 (cos.f64 (-.f64 lambda1 lambda2))) (*.f64 (cos.f64 phi2) (pow.f64 phi1 5)))))
(fma.f64 -1/6 (*.f64 (cos.f64 phi2) (*.f64 (pow.f64 phi1 3) (cos.f64 (-.f64 lambda2 lambda1)))) (fma.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 phi1 (cos.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (*.f64 (cos.f64 phi2) (pow.f64 phi1 5)) 1/120))))
(fma.f64 phi1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (+.f64 (*.f64 -1/6 (pow.f64 phi1 3)) (*.f64 1/120 (pow.f64 phi1 5)))))
(*.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (+.f64 phi1 (+.f64 (*.f64 -1/6 (pow.f64 phi1 3)) (*.f64 1/120 (pow.f64 phi1 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 phi1 3)))) (+.f64 (*.f64 -1/5040 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 phi1 7)))) (+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 phi1 (cos.f64 phi2))) (*.f64 1/120 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 phi1 5)))))))
(fma.f64 -1/6 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 phi1 3))) (fma.f64 -1/5040 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 phi1 7))) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 phi1 (cos.f64 phi2)) (*.f64 (*.f64 1/120 (cos.f64 (-.f64 lambda1 lambda2))) (*.f64 (cos.f64 phi2) (pow.f64 phi1 5))))))
(fma.f64 -1/6 (*.f64 (cos.f64 phi2) (*.f64 (pow.f64 phi1 3) (cos.f64 (-.f64 lambda2 lambda1)))) (fma.f64 -1/5040 (*.f64 (pow.f64 phi1 7) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1)))) (fma.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 phi1 (cos.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (*.f64 (cos.f64 phi2) (pow.f64 phi1 5)) 1/120)))))
(+.f64 (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (+.f64 phi1 (*.f64 -1/6 (pow.f64 phi1 3)))) (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (+.f64 (*.f64 -1/5040 (pow.f64 phi1 7)) (*.f64 1/120 (pow.f64 phi1 5)))))
(*.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (+.f64 (+.f64 (*.f64 1/120 (pow.f64 phi1 5)) phi1) (+.f64 (*.f64 -1/6 (pow.f64 phi1 3)) (*.f64 -1/5040 (pow.f64 phi1 7)))))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (fma.f64 -1 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))
(*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (fma.f64 -1 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))
(*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (fma.f64 -1 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))
(*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (fma.f64 -1 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))
(*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (fma.f64 -1 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))
(*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (fma.f64 -1 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))
(*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (fma.f64 -1 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))
(*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (cos.f64 (fma.f64 -1 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))
(*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))

localize24.0ms (0%)

Local error

Found 8 expressions with local error:

NewErrorProgram
0.1b
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))))
0.1b
(-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))
0.0b
(sin.f64 phi1)
0.0b
(cos.f64 phi2)
0.2b
(*.f64 (cos.f64 lambda2) (sin.f64 lambda1))
0.2b
(*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2))
0.2b
(*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))
0.2b
(*.f64 (sin.f64 phi1) (cos.f64 lambda1))

rewrite0.0ms (0%)

Counts
0 → 0

simplify8.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
Stop Event
saturated
Counts
0 → 0
Calls
Call 1
Inputs
Outputs

eval280.0ms (0.4%)

Compiler

Compiled 30259 to 6231 computations (79.4% saved)

prune343.0ms (0.5%)

Pruning

109 alts after pruning (108 fresh and 1 done)

PrunedKeptTotal
New86754921
Fresh325486
Picked101
Done314
Total9031091012
Error
0.0b
Counts
1012 → 109
Alt Table
Click to see full alt table
StatusErrorProgram
36.2b
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
44.0b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) 1))) (sin.f64 phi2))
34.6b
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))) (sin.f64 phi2))
24.8b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
25.1b
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (sin.f64 lambda2))))))
24.2b
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
39.1b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) 1) (sin.f64 phi2))
15.3b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (cos.f64 lambda1) (*.f64 lambda2 (sin.f64 lambda1))))))
23.2b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (cbrt.f64 (pow.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))) 3)))
41.2b
(cbrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 3))
22.8b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))
43.4b
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) 1) (sin.f64 phi2))
18.0b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (cos.f64 lambda1)))))
31.2b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 1 (*.f64 (*.f64 lambda1 lambda1) (+.f64 -1/2 (*.f64 1/24 (*.f64 lambda1 lambda1)))))))))
55.3b
(atan2.f64 (*.f64 (-.f64 (*.f64 (sin.f64 (exp.f64 (log1p.f64 (-.f64 lambda1 lambda2)))) (cos.f64 1)) (*.f64 (cos.f64 (exp.f64 (log1p.f64 (-.f64 lambda1 lambda2)))) (sin.f64 1))) 1) (sin.f64 phi2))
41.0b
(log.f64 (exp.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
0.4b
(atan2.f64 (*.f64 (-.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) 3) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
45.8b
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) 1) (sin.f64 phi2))
45.6b
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (sin.f64 phi2))
47.6b
(sqrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 2))
29.4b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
42.7b
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (sin.f64 phi2))
4.6b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (log.f64 (+.f64 1 (expm1.f64 (cos.f64 (-.f64 lambda1 lambda2))))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
11.2b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (log1p.f64 (expm1.f64 (cos.f64 (-.f64 lambda1 lambda2)))))))
30.5b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))))
29.5b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 1 (*.f64 lambda1 (*.f64 lambda1 -1/2)))))))
37.1b
(atan2.f64 (*.f64 (sqrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
29.8b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) 3)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
29.4b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
51.2b
(pow.f64 (sqrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) 2)
22.5b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (-.f64 (*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 phi2)) (+.f64 -1 (*.f64 (*.f64 lambda2 lambda2) 1/2))) (*.f64 lambda2 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)))))))
15.5b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) 3)))))
45.3b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) 1) (sin.f64 phi2))
23.5b
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
32.5b
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
44.0b
(pow.f64 (sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 6)) 1/3)
40.9b
(pow.f64 (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) 3)
24.3b
(atan2.f64 (+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
28.8b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 -1/2 (*.f64 phi2 phi2)))))))
21.7b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
31.3b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))))
18.3b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (/.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 (sin.f64 (-.f64 phi1 phi2)) (sin.f64 (+.f64 phi1 phi2)))) 2)))
19.0b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))))
34.6b
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
0.2b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
30.7b
(atan2.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
38.5b
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
26.1b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) phi2) (*.f64 -1 (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
24.3b
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
17.1b
(atan2.f64 (/.f64 (*.f64 (*.f64 (sin.f64 (+.f64 lambda2 lambda1)) (sin.f64 (-.f64 lambda1 lambda2))) (cos.f64 phi2)) (sin.f64 (+.f64 lambda2 lambda1))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
42.4b
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (sin.f64 phi2))
45.8b
(atan2.f64 (*.f64 (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2)) 1) (sin.f64 phi2))
41.1b
(atan2.f64 (*.f64 (fma.f64 (sqrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (sqrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
36.7b
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 phi1)))))
31.8b
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
24.8b
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
20.8b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (sin.f64 phi1))))
30.3b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (sin.f64 phi2) (+.f64 1 (*.f64 -1/2 (*.f64 phi1 phi1)))) (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (-.f64 (*.f64 1/6 (pow.f64 phi1 3)) phi1))))
43.9b
(-.f64 (exp.f64 (log1p.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 1)
15.5b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (expm1.f64 (log1p.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))))
35.0b
(atan2.f64 (/.f64 1 (/.f64 2 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
50.2b
(expm1.f64 (log1p.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
23.2b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))))
40.5b
(log1p.f64 (expm1.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
46.7b
(atan2.f64 (*.f64 (exp.f64 (log.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
15.6b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))) 3)))
29.1b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))))
35.2b
(atan2.f64 (sqrt.f64 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
39.3b
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
23.4b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (log.f64 (exp.f64 (fma.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))
26.7b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))
0.1b
(atan2.f64 (+.f64 (*.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (cos.f64 phi2)) (*.f64 (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2))) (cos.f64 phi2))) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
9.1b
(atan2.f64 (*.f64 (-.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) 3) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
29.2b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (sin.f64 phi2) (+.f64 1 (*.f64 -1/2 (*.f64 phi1 phi1)))) (*.f64 phi1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
17.4b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 lambda2) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2))))))
0.2b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1))))))))
41.2b
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)))) 2) 3) (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
40.4b
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
18.8b
(atan2.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 3)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
49.5b
(pow.f64 (pow.f64 (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3) 1/3)
0.1b
(atan2.f64 (*.f64 (-.f64 (log1p.f64 (expm1.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)))) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
36.7b
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))) (sin.f64 phi2))
30.7b
(cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))
29.4b
(atan2.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 3) (sin.f64 phi2))
17.4b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 lambda2)))))))
15.9b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (sqrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) 2)))))
10.4b
(atan2.f64 (*.f64 (-.f64 (sin.f64 lambda1) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
31.3b
(log.f64 (+.f64 1 (expm1.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))
28.3b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 phi1 (cos.f64 phi2)))))
47.5b
(atan2.f64 (*.f64 (sin.f64 lambda1) 1) (sin.f64 phi2))
14.2b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (sin.f64 phi1))))
10.8b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
31.1b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 phi1 (cos.f64 (-.f64 lambda2 lambda1)))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
15.2b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))))
31.2b
(log.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
41.8b
(atan2.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
37.0b
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (sin.f64 phi2))
17.4b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 lambda2))))
32.0b
(atan2.f64 (neg.f64 (sin.f64 (fma.f64 -1 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
29.3b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (expm1.f64 (log1p.f64 (cos.f64 phi2)))) (sin.f64 phi2))
30.0b
(pow.f64 (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))) 3)
44.3b
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
44.0b
(sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2))
0.2b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) 3))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
44.1b
(atan2.f64 (*.f64 (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1))) 1) (sin.f64 phi2))
29.3b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log1p.f64 (expm1.f64 (cos.f64 phi2)))) (sin.f64 phi2))
36.9b
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 phi1 (*.f64 -1/6 (pow.f64 phi1 3))))))
26.4b
(atan2.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
32.5b
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
Compiler

Compiled 5820 to 3888 computations (33.2% saved)

localize32.0ms (0%)

Local error

Found 8 expressions with local error:

NewErrorProgram
0.1b
(-.f64 (log1p.f64 (expm1.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)))) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))
0.1b
(*.f64 (cos.f64 lambda1) (cos.f64 lambda2))
0.0b
(sin.f64 phi1)
0.0b
(cos.f64 phi2)
0.2b
(fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))
0.2b
(*.f64 (cos.f64 lambda2) (sin.f64 lambda1))
0.2b
(*.f64 (-.f64 (log1p.f64 (expm1.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)))) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2))
0.2b
(*.f64 (sin.f64 lambda1) (sin.f64 lambda2))

series4.0ms (0%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
1.0ms
lambda2
@0
(*.f64 (-.f64 (log1p.f64 (expm1.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)))) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2))
0.0ms
lambda2
@inf
(*.f64 (-.f64 (log1p.f64 (expm1.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)))) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2))
0.0ms
phi2
@0
(*.f64 (-.f64 (log1p.f64 (expm1.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)))) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2))
0.0ms
lambda2
@-inf
(*.f64 (-.f64 (log1p.f64 (expm1.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)))) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2))
0.0ms
lambda1
@0
(*.f64 (-.f64 (log1p.f64 (expm1.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)))) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2))

rewrite58.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
743×log-prod_binary64
386×pow2_binary64
334×fma-def_binary64
268×pow1/3_binary64
267×expm1-udef_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01523
128923
2373611
Stop Event
node limit
Counts
1 → 29
Calls
Call 1
Inputs
(*.f64 (-.f64 (log1p.f64 (expm1.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)))) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (cos.f64 phi2)) (*.f64 (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2))) (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2))) (cos.f64 phi2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2))) (cos.f64 phi2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2))) (cos.f64 phi2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2))) (cos.f64 phi2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) 3) (pow.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)) 3)) (cos.f64 phi2)) (fma.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)) (sin.f64 (+.f64 lambda1 lambda2)) (pow.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sin.f64 (+.f64 lambda1 lambda2)) (sin.f64 (-.f64 lambda1 lambda2))) (cos.f64 phi2)) (sin.f64 (+.f64 lambda1 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 phi2) (-.f64 (pow.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) 3) (pow.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)) 3))) (fma.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)) (sin.f64 (+.f64 lambda1 lambda2)) (pow.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (+.f64 lambda1 lambda2)) (sin.f64 (-.f64 lambda1 lambda2)))) (sin.f64 (+.f64 lambda1 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 3) (pow.f64 (cos.f64 phi2) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (cos.f64 phi2) 3) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2))) (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 3) (pow.f64 (cos.f64 phi2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (cos.f64 phi2) 3) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (cos.f64 phi2) (*.f64 (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2))) (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))))))

simplify76.0ms (0.1%)

Algorithm
egg-herbie
Rules
782×unsub-neg_binary64
512×fma-def_binary64
500×associate-+l+_binary64
413×associate-+r+_binary64
394×fma-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0721038
12151016
2689914
32846879
47026879
Stop Event
node limit
Counts
65 → 54
Calls
Call 1
Inputs
(*.f64 (cos.f64 phi2) (sin.f64 lambda1))
(+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))
(+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 lambda2 3) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 -1 (*.f64 (cos.f64 phi2) (sin.f64 lambda2)))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 phi2) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) lambda1)))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 phi2) (sin.f64 lambda2))) (+.f64 (*.f64 1/2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda2) (pow.f64 lambda1 2)))) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) lambda1))))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 phi2) (sin.f64 lambda2))) (+.f64 (*.f64 1/2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda2) (pow.f64 lambda1 2)))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) lambda1)) (*.f64 -1/6 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 3)))))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1)))
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))) (pow.f64 phi2 2))) (*.f64 (sin.f64 lambda1) (cos.f64 lambda2))) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1)))
(-.f64 (+.f64 (*.f64 1/24 (*.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))) (pow.f64 phi2 4))) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))) (pow.f64 phi2 2))) (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)))) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1)))
(-.f64 (+.f64 (*.f64 1/24 (*.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))) (pow.f64 phi2 4))) (+.f64 (*.f64 -1/720 (*.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))) (pow.f64 phi2 6))) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))) (pow.f64 phi2 2))) (*.f64 (sin.f64 lambda1) (cos.f64 lambda2))))) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1)))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
Outputs
(*.f64 (cos.f64 phi2) (sin.f64 lambda1))
(+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))
(fma.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))
(-.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda1) lambda2)))
(*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1))))
(+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))))
(fma.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1))) (fma.f64 -1/2 (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (*.f64 lambda2 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))))
(-.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 lambda2 lambda2)) 1) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda1) lambda2)))
(fma.f64 (fma.f64 (*.f64 lambda2 -1/2) lambda2 1) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda1) (neg.f64 lambda2))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (fma.f64 -1/2 (*.f64 lambda2 lambda2) 1) (sin.f64 lambda1)) (*.f64 lambda2 (cos.f64 lambda1))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 lambda2 3) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))))
(fma.f64 1/6 (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)) (pow.f64 lambda2 3)) (fma.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1))) (fma.f64 -1/2 (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (*.f64 lambda2 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 lambda2 lambda2)) 1) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))) (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)) (+.f64 (*.f64 1/6 (pow.f64 lambda2 3)) (neg.f64 lambda2))))
(fma.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)) (-.f64 (*.f64 1/6 (pow.f64 lambda2 3)) lambda2) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (fma.f64 (*.f64 lambda2 -1/2) lambda2 1)))
(*.f64 (cos.f64 phi2) (+.f64 (*.f64 (fma.f64 -1/2 (*.f64 lambda2 lambda2) 1) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (-.f64 (*.f64 1/6 (pow.f64 lambda2 3)) lambda2))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
(*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
(*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
(*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
(*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
(*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
(*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
(*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
(*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)))))
(*.f64 -1 (*.f64 (cos.f64 phi2) (sin.f64 lambda2)))
(neg.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda2)))
(*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2)))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 phi2) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) lambda1)))
(fma.f64 -1 (*.f64 (cos.f64 phi2) (sin.f64 lambda2)) (*.f64 (cos.f64 phi2) (*.f64 lambda1 (cos.f64 lambda2))))
(fma.f64 (neg.f64 (cos.f64 phi2)) (sin.f64 lambda2) (*.f64 (cos.f64 phi2) (*.f64 lambda1 (cos.f64 lambda2))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (cos.f64 lambda2)) (sin.f64 lambda2)))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 phi2) (sin.f64 lambda2))) (+.f64 (*.f64 1/2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda2) (pow.f64 lambda1 2)))) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) lambda1))))
(fma.f64 -1 (*.f64 (cos.f64 phi2) (sin.f64 lambda2)) (fma.f64 1/2 (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda2)) (*.f64 lambda1 lambda1)) (*.f64 (cos.f64 phi2) (*.f64 lambda1 (cos.f64 lambda2)))))
(-.f64 (fma.f64 (cos.f64 phi2) (*.f64 lambda1 (cos.f64 lambda2)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda2)) (*.f64 (*.f64 lambda1 lambda1) 1/2))) (*.f64 (cos.f64 phi2) (sin.f64 lambda2)))
(fma.f64 (cos.f64 phi2) (*.f64 lambda1 (cos.f64 lambda2)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda2)) (+.f64 -1 (*.f64 lambda1 (*.f64 lambda1 1/2)))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 1/2 (*.f64 lambda1 (sin.f64 lambda2))))) (sin.f64 lambda2)))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 phi2) (sin.f64 lambda2))) (+.f64 (*.f64 1/2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda2) (pow.f64 lambda1 2)))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) lambda1)) (*.f64 -1/6 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 3)))))))
(fma.f64 -1 (*.f64 (cos.f64 phi2) (sin.f64 lambda2)) (fma.f64 1/2 (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda2)) (*.f64 lambda1 lambda1)) (fma.f64 (cos.f64 phi2) (*.f64 lambda1 (cos.f64 lambda2)) (*.f64 -1/6 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 3)))))))
(-.f64 (fma.f64 1/2 (*.f64 (cos.f64 phi2) (*.f64 lambda1 (*.f64 lambda1 (sin.f64 lambda2)))) (fma.f64 (cos.f64 phi2) (*.f64 lambda1 (cos.f64 lambda2)) (*.f64 -1/6 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 3)))))) (*.f64 (cos.f64 phi2) (sin.f64 lambda2)))
(+.f64 (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (+.f64 lambda1 (*.f64 -1/6 (pow.f64 lambda1 3)))) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda2)) (+.f64 -1 (*.f64 lambda1 (*.f64 lambda1 1/2)))))
(*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 lambda2) (+.f64 lambda1 (*.f64 -1/6 (pow.f64 lambda1 3)))) (*.f64 (sin.f64 lambda2) (+.f64 -1 (*.f64 lambda1 (*.f64 lambda1 1/2))))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
(*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
(*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
(*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
(*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
(*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
(*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
(*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
(*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)))))
(-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1)))
(-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))
(fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2))))
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))) (pow.f64 phi2 2))) (*.f64 (sin.f64 lambda1) (cos.f64 lambda2))) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1)))
(-.f64 (fma.f64 -1/2 (*.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 phi2 phi2)) (*.f64 (sin.f64 lambda1) (cos.f64 lambda2))) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))
(fma.f64 -1/2 (*.f64 phi2 (*.f64 phi2 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
(*.f64 (+.f64 (*.f64 phi2 (*.f64 phi2 -1/2)) 1) (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)))))
(*.f64 (+.f64 1 (*.f64 phi2 (*.f64 phi2 -1/2))) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
(-.f64 (+.f64 (*.f64 1/24 (*.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))) (pow.f64 phi2 4))) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))) (pow.f64 phi2 2))) (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)))) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1)))
(-.f64 (fma.f64 1/24 (*.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (pow.f64 phi2 4)) (fma.f64 -1/2 (*.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 phi2 phi2)) (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)))) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))
(-.f64 (fma.f64 1/24 (*.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (pow.f64 phi2 4)) (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (*.f64 -1/2 (*.f64 phi2 (*.f64 phi2 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))))))) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))
(-.f64 (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (*.f64 (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)))) (+.f64 (*.f64 phi2 (*.f64 phi2 -1/2)) (*.f64 1/24 (pow.f64 phi2 4))))) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))
(*.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) (+.f64 1 (*.f64 phi2 (*.f64 phi2 -1/2)))))
(-.f64 (+.f64 (*.f64 1/24 (*.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))) (pow.f64 phi2 4))) (+.f64 (*.f64 -1/720 (*.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))) (pow.f64 phi2 6))) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))) (pow.f64 phi2 2))) (*.f64 (sin.f64 lambda1) (cos.f64 lambda2))))) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1)))
(-.f64 (fma.f64 1/24 (*.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (pow.f64 phi2 4)) (fma.f64 -1/720 (*.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (pow.f64 phi2 6)) (fma.f64 -1/2 (*.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 phi2 phi2)) (*.f64 (sin.f64 lambda1) (cos.f64 lambda2))))) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))
(-.f64 (fma.f64 1/24 (*.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (pow.f64 phi2 4)) (fma.f64 -1/720 (*.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (pow.f64 phi2 6)) (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (*.f64 -1/2 (*.f64 phi2 (*.f64 phi2 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))))) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))
(+.f64 (*.f64 (+.f64 (*.f64 phi2 (*.f64 phi2 -1/2)) 1) (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2))))) (*.f64 (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)))) (+.f64 (*.f64 -1/720 (pow.f64 phi2 6)) (*.f64 1/24 (pow.f64 phi2 4)))))
(+.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (-.f64 (*.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) (+.f64 (*.f64 -1/720 (pow.f64 phi2 6)) (*.f64 phi2 (*.f64 phi2 -1/2))))) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
(*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
(*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
(*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
(*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
(*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
(*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
(*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
(*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)))))

localize7.0ms (0%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(atan2.f64 (*.f64 (sin.f64 lambda1) 1) (sin.f64 phi2))
0.1b
(atan2.f64 (*.f64 (sin.f64 lambda1) 1) (sin.f64 phi2))

series3.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
1.0ms
phi2
@0
(atan2.f64 (*.f64 (sin.f64 lambda1) 1) (sin.f64 phi2))
0.0ms
lambda1
@0
(atan2.f64 (*.f64 (sin.f64 lambda1) 1) (sin.f64 phi2))
0.0ms
lambda1
@inf
(atan2.f64 (*.f64 (sin.f64 lambda1) 1) (sin.f64 phi2))
0.0ms
lambda1
@-inf
(atan2.f64 (*.f64 (sin.f64 lambda1) 1) (sin.f64 phi2))
0.0ms
phi2
@-inf
(atan2.f64 (*.f64 (sin.f64 lambda1) 1) (sin.f64 phi2))

rewrite42.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
569×pow1_binary64
517×add-log-exp_binary64
517×log1p-expm1-u_binary64
517×expm1-log1p-u_binary64
505×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
088
11508
214118
Stop Event
node limit
Counts
1 → 16
Calls
Call 1
Inputs
(atan2.f64 (*.f64 (sin.f64 lambda1) 1) (sin.f64 phi2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) (pow.f64 (cbrt.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 2) (cbrt.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) (sqrt.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))))))

simplify9.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
06192
Stop Event
saturated
Counts
40 → 17
Calls
Call 1
Inputs
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
Outputs
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))

localize13.0ms (0%)

Local error

Found 8 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2))))
0.1b
(exp.f64 (cos.f64 phi2))
0.1b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
0.0b
(cos.f64 phi2)
0.1b
(exp.f64 (cos.f64 phi2))
0.1b
(*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2))))
0.3b
(log.f64 (exp.f64 (cos.f64 phi2)))
1.6b
(sin.f64 (-.f64 lambda1 lambda2))

series5.0ms (0%)

Counts
3 → 52
Calls

15 calls:

TimeVariablePointExpression
1.0ms
phi2
@0
(log.f64 (exp.f64 (cos.f64 phi2)))
1.0ms
phi2
@0
(exp.f64 (cos.f64 phi2))
0.0ms
lambda1
@0
(*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2))))
0.0ms
phi2
@0
(*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2))))
0.0ms
lambda2
@0
(*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2))))

rewrite61.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
514×prod-diff_binary64
478×log-prod_binary64
368×exp-prod_binary64
285×pow-prod-down_binary64
271×pow2_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01019
119719
2255419
Stop Event
node limit
Counts
3 → 99
Calls
Call 1
Inputs
(log.f64 (exp.f64 (cos.f64 phi2)))
(*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2))))
(exp.f64 (cos.f64 phi2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 phi2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/3 (cos.f64 phi2)) (*.f64 2 (*.f64 1/3 (cos.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (cos.f64 phi2)) (*.f64 1/2 (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2 (*.f64 1/3 (cos.f64 phi2))) (*.f64 1/3 (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cos.f64 phi2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 (exp.f64 (log1p.f64 phi2))) (cos.f64 1)) (*.f64 (sin.f64 (exp.f64 (log1p.f64 phi2))) (sin.f64 1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cos.f64 phi2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 phi2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cos.f64 phi2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cos.f64 phi2)) (pow.f64 (cbrt.f64 (cos.f64 phi2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 phi2)) 2) (cbrt.f64 (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 phi2)) (sqrt.f64 (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 3 (*.f64 1/3 (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 1/2 (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/3 (*.f64 3 (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cos.f64 phi2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 phi2) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 phi2) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cos.f64 phi2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (cos.f64 phi2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (cos.f64 phi2))) 2)) (cbrt.f64 (log.f64 (cos.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (cos.f64 phi2)))) (sqrt.f64 (log.f64 (cos.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cos.f64 phi2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (cos.f64 phi2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cos.f64 phi2)))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cos.f64 phi2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (cos.f64 phi2))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (cos.f64 phi2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (cos.f64 phi2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (cos.f64 phi2)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cos.f64 phi2)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 phi2)) (sin.f64 (-.f64 lambda1 lambda2)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 phi2)) (sin.f64 (-.f64 lambda1 lambda2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 phi2)) (sin.f64 (-.f64 lambda1 lambda2))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 phi2)) (sin.f64 (-.f64 lambda1 lambda2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (sin.f64 (-.f64 (-.f64 lambda1 lambda2) phi2)) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))))) 2)) (cbrt.f64 (log.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))))) (sqrt.f64 (log.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (cos.f64 phi2)) (sin.f64 (-.f64 lambda1 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (exp.f64 (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (exp.f64 (cos.f64 phi2)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (exp.f64 (cos.f64 phi2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (exp.f64 (cos.f64 phi2))))) (log.f64 (sqrt.f64 (exp.f64 (exp.f64 (cos.f64 phi2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (exp.f64 (cos.f64 phi2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 (cos.f64 phi2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (exp.f64 (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (exp.f64 (cos.f64 phi2))) (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 phi2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 phi2))) 2) (cbrt.f64 (exp.f64 (cos.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (exp.f64 (cos.f64 phi2))) (sqrt.f64 (exp.f64 (cos.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (exp.f64 1) (*.f64 1/2 (cos.f64 phi2))) (pow.f64 (exp.f64 1) (*.f64 1/2 (cos.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (exp.f64 1) (*.f64 2 (*.f64 1/3 (cos.f64 phi2)))) (pow.f64 (exp.f64 1) (*.f64 1/3 (cos.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (exp.f64 1) (exp.f64 (log1p.f64 (cos.f64 phi2)))) (pow.f64 (exp.f64 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (cos.f64 phi2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (cos.f64 phi2)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (cos.f64 phi2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (exp.f64 (cos.f64 phi2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (exp.f64 (cos.f64 phi2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (cbrt.f64 (cos.f64 phi2))) (pow.f64 (cbrt.f64 (cos.f64 phi2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (cos.f64 phi2))) (sqrt.f64 (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (cos.f64 phi2))) (*.f64 (sqrt.f64 (cos.f64 phi2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (cos.f64 phi2)) 2)) (cbrt.f64 (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (cos.f64 phi2)) 2)) (*.f64 (cbrt.f64 (cos.f64 phi2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (cos.f64 phi2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 1 (expm1.f64 (cos.f64 phi2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 1) 1) (cos.f64 phi2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (cos.f64 phi2))) 1) (sqrt.f64 (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (cos.f64 phi2))) (cbrt.f64 (cos.f64 phi2))) (cbrt.f64 (sqrt.f64 (cos.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (cos.f64 phi2))) (sqrt.f64 (sqrt.f64 (cos.f64 phi2)))) (sqrt.f64 (sqrt.f64 (cos.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (cos.f64 phi2))) (sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 phi2)) 2))) (sqrt.f64 (cbrt.f64 (cos.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (cos.f64 phi2)) 2)) 1) (cbrt.f64 (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (cos.f64 phi2)) 2)) (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 phi2))) 2)) (cbrt.f64 (cbrt.f64 (cos.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (cos.f64 phi2)) 2)) (cbrt.f64 (sqrt.f64 (cos.f64 phi2)))) (cbrt.f64 (sqrt.f64 (cos.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (cos.f64 phi2)) 2)) (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 phi2)) 2))) (cbrt.f64 (cbrt.f64 (cos.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (cos.f64 phi2)) 2)) (sqrt.f64 (cbrt.f64 (cos.f64 phi2)))) (sqrt.f64 (cbrt.f64 (cos.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (exp.f64 (cos.f64 phi2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (exp.f64 (cos.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (exp.f64 (cos.f64 phi2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (exp.f64 (cos.f64 phi2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (exp.f64 (cos.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (exp.f64 (cos.f64 phi2))))))))

simplify62.0ms (0.1%)

Algorithm
egg-herbie
Rules
629×neg-sub0_binary64
589×neg-mul-1_binary64
585×fma-def_binary64
399×associate-*l*_binary64
374×fma-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
096787
1270752
2775688
33094655
47226655
Stop Event
node limit
Counts
151 → 139
Calls
Call 1
Inputs
1
(+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))
(+.f64 (*.f64 1/24 (pow.f64 phi2 4)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))
(+.f64 (*.f64 1/24 (pow.f64 phi2 4)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 phi2 2)) (*.f64 -1/720 (pow.f64 phi2 6)))))
(cos.f64 phi2)
(cos.f64 phi2)
(cos.f64 phi2)
(cos.f64 phi2)
(cos.f64 phi2)
(cos.f64 phi2)
(cos.f64 phi2)
(cos.f64 phi2)
(*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2))
(+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1)))
(+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1)) (*.f64 -1/2 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 lambda1 2))))))
(+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1)) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 lambda1 2)))) (*.f64 -1/6 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 3)))))))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))))
(*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))))
(*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))))
(*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))))
(*.f64 (cos.f64 phi2) (sin.f64 lambda1))
(+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))
(+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 lambda2 3) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))
(*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))
(*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))
(*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))
(sin.f64 (-.f64 lambda1 lambda2))
(+.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 -1/2 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 2))))
(+.f64 (*.f64 1/24 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 4))) (+.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 -1/2 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 2)))))
(+.f64 (*.f64 -1/720 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 6))) (+.f64 (*.f64 1/24 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 4))) (+.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 -1/2 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 2))))))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(exp.f64 1)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (exp.f64 1))) (exp.f64 1))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (exp.f64 1))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 phi2 4) (exp.f64 1))) (exp.f64 1)))
(+.f64 (*.f64 -31/720 (*.f64 (pow.f64 phi2 6) (exp.f64 1))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (exp.f64 1))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 phi2 4) (exp.f64 1))) (exp.f64 1))))
Outputs
1
(+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))
(+.f64 1 (*.f64 -1/2 (*.f64 phi2 phi2)))
(fma.f64 -1/2 (*.f64 phi2 phi2) 1)
(+.f64 (*.f64 1/24 (pow.f64 phi2 4)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))
(fma.f64 1/24 (pow.f64 phi2 4) (+.f64 1 (*.f64 -1/2 (*.f64 phi2 phi2))))
(fma.f64 1/24 (pow.f64 phi2 4) (fma.f64 -1/2 (*.f64 phi2 phi2) 1))
(fma.f64 -1/2 (*.f64 phi2 phi2) (fma.f64 1/24 (pow.f64 phi2 4) 1))
(+.f64 (*.f64 1/24 (pow.f64 phi2 4)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 phi2 2)) (*.f64 -1/720 (pow.f64 phi2 6)))))
(fma.f64 1/24 (pow.f64 phi2 4) (+.f64 1 (fma.f64 -1/2 (*.f64 phi2 phi2) (*.f64 -1/720 (pow.f64 phi2 6)))))
(+.f64 (fma.f64 -1/2 (*.f64 phi2 phi2) (*.f64 -1/720 (pow.f64 phi2 6))) (fma.f64 1/24 (pow.f64 phi2 4) 1))
(fma.f64 1/24 (pow.f64 phi2 4) (fma.f64 -1/720 (pow.f64 phi2 6) (fma.f64 -1/2 (*.f64 phi2 phi2) 1)))
(fma.f64 1/24 (pow.f64 phi2 4) (fma.f64 -1/2 (*.f64 phi2 phi2) (fma.f64 -1/720 (pow.f64 phi2 6) 1)))
(cos.f64 phi2)
(cos.f64 phi2)
(cos.f64 phi2)
(cos.f64 phi2)
(cos.f64 phi2)
(cos.f64 phi2)
(cos.f64 phi2)
(cos.f64 phi2)
(*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2))
(*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2)))
(+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1)))
(fma.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) lambda1)))
(*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 lambda2) lambda1) (neg.f64 (sin.f64 lambda2))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)))
(*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) lambda1 (neg.f64 (sin.f64 lambda2))))
(+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1)) (*.f64 -1/2 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 lambda1 2))))))
(fma.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2) (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) lambda1) (*.f64 (*.f64 -1/2 (neg.f64 (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (*.f64 lambda1 lambda1)))))
(+.f64 (*.f64 -1/2 (*.f64 (cos.f64 phi2) (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 lambda1 lambda1)))) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 lambda2) lambda1) (neg.f64 (sin.f64 lambda2)))))
(fma.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 phi2) (*.f64 (*.f64 lambda1 lambda1) (*.f64 1/2 (sin.f64 lambda2)))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 (*.f64 (sin.f64 lambda2) 1/2) lambda1))) (sin.f64 lambda2)))
(+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1)) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 lambda1 2)))) (*.f64 -1/6 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 3)))))))
(fma.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2) (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) lambda1) (fma.f64 -1/2 (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 phi2) (*.f64 lambda1 lambda1))) (*.f64 -1/6 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 3)))))))
(+.f64 (fma.f64 (*.f64 -1/2 (neg.f64 (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (*.f64 lambda1 lambda1)) (*.f64 (cos.f64 phi2) (*.f64 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 3)) -1/6))) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 lambda2) lambda1) (neg.f64 (sin.f64 lambda2)))))
(+.f64 (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (+.f64 lambda1 (*.f64 -1/6 (pow.f64 lambda1 3)))) (*.f64 (neg.f64 (sin.f64 lambda2)) (+.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 -1/2 (*.f64 lambda1 lambda1))))))
(*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 lambda2) (+.f64 lambda1 (*.f64 -1/6 (pow.f64 lambda1 3)))) (-.f64 (*.f64 (*.f64 lambda1 lambda1) (*.f64 (sin.f64 lambda2) 1/2)) (sin.f64 lambda2))))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 lambda1))
(+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))
(fma.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))
(-.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda1) lambda2)))
(*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1))))
(+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))))
(fma.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1))) (fma.f64 -1/2 (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (*.f64 lambda2 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))))
(-.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 lambda2 lambda2)) 1) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda1) lambda2)))
(-.f64 (*.f64 (*.f64 (fma.f64 -1/2 (*.f64 lambda2 lambda2) 1) (cos.f64 phi2)) (sin.f64 lambda1)) (*.f64 (cos.f64 phi2) (*.f64 lambda2 (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (fma.f64 -1/2 (*.f64 lambda2 lambda2) 1) (sin.f64 lambda1)) (*.f64 lambda2 (cos.f64 lambda1))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 lambda2 3) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))))
(fma.f64 1/6 (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)) (pow.f64 lambda2 3)) (fma.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1))) (fma.f64 -1/2 (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (*.f64 lambda2 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 lambda2 lambda2)) 1) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))) (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)) (+.f64 (*.f64 1/6 (pow.f64 lambda2 3)) (neg.f64 lambda2))))
(fma.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)) (-.f64 (*.f64 1/6 (pow.f64 lambda2 3)) lambda2) (*.f64 (*.f64 (fma.f64 -1/2 (*.f64 lambda2 lambda2) 1) (cos.f64 phi2)) (sin.f64 lambda1)))
(*.f64 (cos.f64 phi2) (+.f64 (*.f64 (fma.f64 -1/2 (*.f64 lambda2 lambda2) 1) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (-.f64 (*.f64 1/6 (pow.f64 lambda2 3)) lambda2))))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(sin.f64 (-.f64 lambda1 lambda2))
(+.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 -1/2 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 2))))
(+.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 (*.f64 -1/2 (sin.f64 (-.f64 lambda1 lambda2))) (*.f64 phi2 phi2)))
(fma.f64 -1/2 (*.f64 phi2 (*.f64 phi2 (sin.f64 (-.f64 lambda1 lambda2)))) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (fma.f64 -1/2 (*.f64 phi2 phi2) 1) (sin.f64 (-.f64 lambda1 lambda2)))
(+.f64 (*.f64 1/24 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 4))) (+.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 -1/2 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 2)))))
(fma.f64 1/24 (*.f64 (pow.f64 phi2 4) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 (*.f64 -1/2 (sin.f64 (-.f64 lambda1 lambda2))) (*.f64 phi2 phi2))))
(fma.f64 1/24 (*.f64 (pow.f64 phi2 4) (sin.f64 (-.f64 lambda1 lambda2))) (fma.f64 -1/2 (*.f64 phi2 (*.f64 phi2 (sin.f64 (-.f64 lambda1 lambda2)))) (sin.f64 (-.f64 lambda1 lambda2))))
(+.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (fma.f64 1/24 (pow.f64 phi2 4) (*.f64 -1/2 (*.f64 phi2 phi2)))))
(*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (fma.f64 -1/2 (*.f64 phi2 phi2) (fma.f64 1/24 (pow.f64 phi2 4) 1)))
(+.f64 (*.f64 -1/720 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 6))) (+.f64 (*.f64 1/24 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 4))) (+.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 -1/2 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 2))))))
(fma.f64 -1/720 (*.f64 (pow.f64 phi2 6) (sin.f64 (-.f64 lambda1 lambda2))) (fma.f64 1/24 (*.f64 (pow.f64 phi2 4) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 (*.f64 -1/2 (sin.f64 (-.f64 lambda1 lambda2))) (*.f64 phi2 phi2)))))
(fma.f64 -1/720 (*.f64 (pow.f64 phi2 6) (sin.f64 (-.f64 lambda1 lambda2))) (fma.f64 1/24 (*.f64 (pow.f64 phi2 4) (sin.f64 (-.f64 lambda1 lambda2))) (fma.f64 -1/2 (*.f64 phi2 (*.f64 phi2 (sin.f64 (-.f64 lambda1 lambda2)))) (sin.f64 (-.f64 lambda1 lambda2)))))
(+.f64 (*.f64 (fma.f64 -1/2 (*.f64 phi2 phi2) 1) (sin.f64 (-.f64 lambda1 lambda2))) (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (fma.f64 -1/720 (pow.f64 phi2 6) (*.f64 1/24 (pow.f64 phi2 4)))))
(+.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (fma.f64 1/24 (pow.f64 phi2 4) (fma.f64 -1/720 (pow.f64 phi2 6) (*.f64 -1/2 (*.f64 phi2 phi2))))))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(exp.f64 1)
(E.f64)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (exp.f64 1))) (exp.f64 1))
(fma.f64 -1/2 (*.f64 (*.f64 phi2 phi2) (E.f64)) (E.f64))
(*.f64 (fma.f64 -1/2 (*.f64 phi2 phi2) 1) (E.f64))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (exp.f64 1))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 phi2 4) (exp.f64 1))) (exp.f64 1)))
(fma.f64 -1/2 (*.f64 (*.f64 phi2 phi2) (E.f64)) (fma.f64 1/6 (*.f64 (pow.f64 phi2 4) (E.f64)) (E.f64)))
(+.f64 (E.f64) (*.f64 (E.f64) (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) (*.f64 (pow.f64 phi2 4) 1/6))))
(fma.f64 (E.f64) (fma.f64 -1/2 (*.f64 phi2 phi2) (*.f64 (pow.f64 phi2 4) 1/6)) (E.f64))
(+.f64 (*.f64 -31/720 (*.f64 (pow.f64 phi2 6) (exp.f64 1))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (exp.f64 1))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 phi2 4) (exp.f64 1))) (exp.f64 1))))
(fma.f64 -31/720 (*.f64 (pow.f64 phi2 6) (E.f64)) (fma.f64 -1/2 (*.f64 (*.f64 phi2 phi2) (E.f64)) (fma.f64 1/6 (*.f64 (pow.f64 phi2 4) (E.f64)) (E.f64))))
(fma.f64 -31/720 (*.f64 (pow.f64 phi2 6) (E.f64)) (+.f64 (E.f64) (*.f64 (E.f64) (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) (*.f64 (pow.f64 phi2 4) 1/6)))))
(fma.f64 (E.f64) (fma.f64 (pow.f64 phi2 6) -31/720 (*.f64 -1/2 (*.f64 phi2 phi2))) (*.f64 (E.f64) (fma.f64 (pow.f64 phi2 4) 1/6 1)))
(*.f64 (E.f64) (+.f64 (fma.f64 (pow.f64 phi2 6) -31/720 (*.f64 -1/2 (*.f64 phi2 phi2))) (fma.f64 (pow.f64 phi2 4) 1/6 1)))

localize17.0ms (0%)

Local error

Found 8 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (cos.f64 phi1) (sin.f64 phi2))
0.1b
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))))
0.0b
(sin.f64 phi1)
0.0b
(cos.f64 phi2)
0.1b
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
0.1b
(*.f64 (cos.f64 phi2) (sin.f64 lambda1))
0.2b
(*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))
0.2b
(*.f64 (sin.f64 phi1) (cos.f64 lambda1))

series7.0ms (0%)

Counts
2 → 28
Calls

15 calls:

TimeVariablePointExpression
2.0ms
phi2
@inf
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
1.0ms
phi2
@0
(*.f64 (cos.f64 phi2) (sin.f64 lambda1))
0.0ms
phi2
@inf
(*.f64 (cos.f64 phi2) (sin.f64 lambda1))
0.0ms
lambda1
@inf
(*.f64 (cos.f64 phi2) (sin.f64 lambda1))
0.0ms
lambda1
@0
(*.f64 (cos.f64 phi2) (sin.f64 lambda1))

rewrite68.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
920×log-prod_binary64
575×fma-def_binary64
323×expm1-udef_binary64
323×log1p-udef_binary64
297×fma-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01641
134241
2460241
Stop Event
node limit
Counts
2 → 40
Calls
Call 1
Inputs
(*.f64 (cos.f64 phi2) (sin.f64 lambda1))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 phi2)) (sin.f64 lambda1))) (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 phi2)) (sin.f64 lambda1))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 phi2)) (sin.f64 lambda1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 phi2)) (sin.f64 lambda1)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 phi2)) (sin.f64 lambda1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (sin.f64 (-.f64 lambda1 phi2)) (sin.f64 (+.f64 lambda1 phi2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (cos.f64 phi2)) (sin.f64 lambda1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (cos.f64 phi2) 3) (pow.f64 (sin.f64 lambda1) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (sin.f64 lambda1) 3) (pow.f64 (cos.f64 phi2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (fma.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) (neg.f64 (cos.f64 phi2)) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (fma.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) (neg.f64 (cos.f64 phi2)) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))))) (cbrt.f64 (exp.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (fma.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) (neg.f64 (cos.f64 phi2)) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))))))) (log.f64 (cbrt.f64 (exp.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (fma.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) (neg.f64 (cos.f64 phi2)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (fma.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) (neg.f64 (cos.f64 phi2)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))) (log.f64 (sqrt.f64 (exp.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (fma.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) (neg.f64 (cos.f64 phi2)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (fma.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) (neg.f64 (cos.f64 phi2)) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (fma.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) (neg.f64 (cos.f64 phi2)) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (fma.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) (neg.f64 (cos.f64 phi2)) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (fma.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) (neg.f64 (cos.f64 phi2)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))) (pow.f64 (cbrt.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (fma.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) (neg.f64 (cos.f64 phi2)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (fma.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) (neg.f64 (cos.f64 phi2)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))) 2) (cbrt.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (fma.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) (neg.f64 (cos.f64 phi2)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (fma.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) (neg.f64 (cos.f64 phi2)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))) (sqrt.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (fma.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) (neg.f64 (cos.f64 phi2)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (fma.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) (neg.f64 (cos.f64 phi2)) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (fma.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) (neg.f64 (cos.f64 phi2)) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (fma.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) (neg.f64 (cos.f64 phi2)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (fma.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) (neg.f64 (cos.f64 phi2)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (fma.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) (neg.f64 (cos.f64 phi2)) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (fma.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) (neg.f64 (cos.f64 phi2)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (fma.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) (neg.f64 (cos.f64 phi2)) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (fma.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) (neg.f64 (cos.f64 phi2)) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (fma.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) (neg.f64 (cos.f64 phi2)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (fma.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) (neg.f64 (cos.f64 phi2)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (fma.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) (neg.f64 (cos.f64 phi2)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (fma.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) (neg.f64 (cos.f64 phi2)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))))))

simplify127.0ms (0.2%)

Algorithm
egg-herbie
Rules
842×fma-def_binary64
587×associate-*l*_binary64
478×distribute-lft-out_binary64
424×associate-*r*_binary64
410×distribute-rgt-out_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
057846
1144844
2368828
31079800
43467797
55420797
66551797
76996797
87378797
97825797
Stop Event
node limit
Counts
68 → 57
Calls
Call 1
Inputs
(sin.f64 lambda1)
(+.f64 (sin.f64 lambda1) (*.f64 -1/2 (*.f64 (sin.f64 lambda1) (pow.f64 phi2 2))))
(+.f64 (sin.f64 lambda1) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 lambda1) (pow.f64 phi2 2))) (*.f64 1/24 (*.f64 (sin.f64 lambda1) (pow.f64 phi2 4)))))
(+.f64 (*.f64 -1/720 (*.f64 (sin.f64 lambda1) (pow.f64 phi2 6))) (+.f64 (sin.f64 lambda1) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 lambda1) (pow.f64 phi2 2))) (*.f64 1/24 (*.f64 (sin.f64 lambda1) (pow.f64 phi2 4))))))
(*.f64 (cos.f64 phi2) lambda1)
(+.f64 (*.f64 (cos.f64 phi2) lambda1) (*.f64 -1/6 (*.f64 (cos.f64 phi2) (pow.f64 lambda1 3))))
(+.f64 (*.f64 (cos.f64 phi2) lambda1) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 phi2) (pow.f64 lambda1 3))) (*.f64 1/120 (*.f64 (cos.f64 phi2) (pow.f64 lambda1 5)))))
(+.f64 (*.f64 (cos.f64 phi2) lambda1) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 phi2) (pow.f64 lambda1 3))) (+.f64 (*.f64 -1/5040 (*.f64 (cos.f64 phi2) (pow.f64 lambda1 7))) (*.f64 1/120 (*.f64 (cos.f64 phi2) (pow.f64 lambda1 5))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
Outputs
(sin.f64 lambda1)
(+.f64 (sin.f64 lambda1) (*.f64 -1/2 (*.f64 (sin.f64 lambda1) (pow.f64 phi2 2))))
(+.f64 (sin.f64 lambda1) (*.f64 -1/2 (*.f64 (sin.f64 lambda1) (*.f64 phi2 phi2))))
(fma.f64 (*.f64 (sin.f64 lambda1) -1/2) (*.f64 phi2 phi2) (sin.f64 lambda1))
(fma.f64 (sin.f64 lambda1) (*.f64 -1/2 (*.f64 phi2 phi2)) (sin.f64 lambda1))
(*.f64 (sin.f64 lambda1) (fma.f64 -1/2 (*.f64 phi2 phi2) 1))
(+.f64 (sin.f64 lambda1) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 lambda1) (pow.f64 phi2 2))) (*.f64 1/24 (*.f64 (sin.f64 lambda1) (pow.f64 phi2 4)))))
(+.f64 (sin.f64 lambda1) (fma.f64 -1/2 (*.f64 (sin.f64 lambda1) (*.f64 phi2 phi2)) (*.f64 1/24 (*.f64 (sin.f64 lambda1) (pow.f64 phi2 4)))))
(+.f64 (sin.f64 lambda1) (fma.f64 1/24 (*.f64 (sin.f64 lambda1) (pow.f64 phi2 4)) (*.f64 (sin.f64 lambda1) (*.f64 (*.f64 phi2 phi2) -1/2))))
(+.f64 (sin.f64 lambda1) (*.f64 (sin.f64 lambda1) (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) (*.f64 1/24 (pow.f64 phi2 4)))))
(*.f64 (sin.f64 lambda1) (+.f64 (fma.f64 -1/2 (*.f64 phi2 phi2) 1) (*.f64 1/24 (pow.f64 phi2 4))))
(*.f64 (sin.f64 lambda1) (+.f64 1 (fma.f64 -1/2 (*.f64 phi2 phi2) (*.f64 1/24 (pow.f64 phi2 4)))))
(+.f64 (*.f64 -1/720 (*.f64 (sin.f64 lambda1) (pow.f64 phi2 6))) (+.f64 (sin.f64 lambda1) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 lambda1) (pow.f64 phi2 2))) (*.f64 1/24 (*.f64 (sin.f64 lambda1) (pow.f64 phi2 4))))))
(fma.f64 -1/720 (*.f64 (sin.f64 lambda1) (pow.f64 phi2 6)) (+.f64 (sin.f64 lambda1) (fma.f64 -1/2 (*.f64 (sin.f64 lambda1) (*.f64 phi2 phi2)) (*.f64 1/24 (*.f64 (sin.f64 lambda1) (pow.f64 phi2 4))))))
(+.f64 (fma.f64 1/24 (*.f64 (sin.f64 lambda1) (pow.f64 phi2 4)) (*.f64 (sin.f64 lambda1) (*.f64 (*.f64 phi2 phi2) -1/2))) (fma.f64 -1/720 (*.f64 (sin.f64 lambda1) (pow.f64 phi2 6)) (sin.f64 lambda1)))
(+.f64 (fma.f64 (sin.f64 lambda1) (*.f64 -1/2 (*.f64 phi2 phi2)) (sin.f64 lambda1)) (*.f64 (sin.f64 lambda1) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) (*.f64 -1/720 (pow.f64 phi2 6)))))
(fma.f64 (sin.f64 lambda1) (fma.f64 1/24 (pow.f64 phi2 4) (*.f64 -1/720 (pow.f64 phi2 6))) (*.f64 (sin.f64 lambda1) (fma.f64 -1/2 (*.f64 phi2 phi2) 1)))
(*.f64 (sin.f64 lambda1) (+.f64 (fma.f64 -1/2 (*.f64 phi2 phi2) (*.f64 1/24 (pow.f64 phi2 4))) (fma.f64 -1/720 (pow.f64 phi2 6) 1)))
(*.f64 (sin.f64 lambda1) (+.f64 (fma.f64 -1/720 (pow.f64 phi2 6) 1) (fma.f64 -1/2 (*.f64 phi2 phi2) (*.f64 1/24 (pow.f64 phi2 4)))))
(*.f64 (cos.f64 phi2) lambda1)
(*.f64 lambda1 (cos.f64 phi2))
(+.f64 (*.f64 (cos.f64 phi2) lambda1) (*.f64 -1/6 (*.f64 (cos.f64 phi2) (pow.f64 lambda1 3))))
(fma.f64 (cos.f64 phi2) lambda1 (*.f64 -1/6 (*.f64 (cos.f64 phi2) (pow.f64 lambda1 3))))
(fma.f64 lambda1 (cos.f64 phi2) (*.f64 (pow.f64 lambda1 3) (*.f64 (cos.f64 phi2) -1/6)))
(*.f64 (cos.f64 phi2) (+.f64 (*.f64 -1/6 (pow.f64 lambda1 3)) lambda1))
(*.f64 (cos.f64 phi2) (fma.f64 -1/6 (pow.f64 lambda1 3) lambda1))
(+.f64 (*.f64 (cos.f64 phi2) lambda1) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 phi2) (pow.f64 lambda1 3))) (*.f64 1/120 (*.f64 (cos.f64 phi2) (pow.f64 lambda1 5)))))
(fma.f64 (cos.f64 phi2) lambda1 (fma.f64 -1/6 (*.f64 (cos.f64 phi2) (pow.f64 lambda1 3)) (*.f64 1/120 (*.f64 (cos.f64 phi2) (pow.f64 lambda1 5)))))
(fma.f64 lambda1 (cos.f64 phi2) (fma.f64 -1/6 (*.f64 (cos.f64 phi2) (pow.f64 lambda1 3)) (*.f64 (cos.f64 phi2) (*.f64 (pow.f64 lambda1 5) 1/120))))
(fma.f64 (cos.f64 phi2) (*.f64 1/120 (pow.f64 lambda1 5)) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 -1/6 (pow.f64 lambda1 3)) lambda1)))
(*.f64 (cos.f64 phi2) (+.f64 lambda1 (fma.f64 1/120 (pow.f64 lambda1 5) (*.f64 -1/6 (pow.f64 lambda1 3)))))
(*.f64 (cos.f64 phi2) (+.f64 lambda1 (fma.f64 -1/6 (pow.f64 lambda1 3) (*.f64 1/120 (pow.f64 lambda1 5)))))
(+.f64 (*.f64 (cos.f64 phi2) lambda1) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 phi2) (pow.f64 lambda1 3))) (+.f64 (*.f64 -1/5040 (*.f64 (cos.f64 phi2) (pow.f64 lambda1 7))) (*.f64 1/120 (*.f64 (cos.f64 phi2) (pow.f64 lambda1 5))))))
(fma.f64 (cos.f64 phi2) lambda1 (fma.f64 -1/6 (*.f64 (cos.f64 phi2) (pow.f64 lambda1 3)) (fma.f64 -1/5040 (*.f64 (cos.f64 phi2) (pow.f64 lambda1 7)) (*.f64 1/120 (*.f64 (cos.f64 phi2) (pow.f64 lambda1 5))))))
(fma.f64 lambda1 (cos.f64 phi2) (fma.f64 -1/6 (*.f64 (cos.f64 phi2) (pow.f64 lambda1 3)) (fma.f64 1/120 (*.f64 (cos.f64 phi2) (pow.f64 lambda1 5)) (*.f64 (pow.f64 lambda1 7) (*.f64 (cos.f64 phi2) -1/5040)))))
(+.f64 (*.f64 (cos.f64 phi2) (+.f64 (*.f64 1/120 (pow.f64 lambda1 5)) (*.f64 -1/5040 (pow.f64 lambda1 7)))) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 -1/6 (pow.f64 lambda1 3)) lambda1)))
(*.f64 (cos.f64 phi2) (+.f64 (fma.f64 -1/6 (pow.f64 lambda1 3) lambda1) (fma.f64 1/120 (pow.f64 lambda1 5) (*.f64 -1/5040 (pow.f64 lambda1 7)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))

localize23.0ms (0%)

Local error

Found 8 expressions with local error:

NewErrorProgram
0.1b
(atan2.f64 (sqrt.f64 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
0.1b
(-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2))))
0.0b
(sin.f64 phi1)
0.0b
(cos.f64 phi2)
0.5b
(pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2)
1.6b
(sin.f64 (-.f64 lambda1 lambda2))
1.6b
(cos.f64 (-.f64 lambda1 lambda2))
3.0b
(sqrt.f64 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2))

series11.0ms (0%)

Counts
2 → 72
Calls

18 calls:

TimeVariablePointExpression
2.0ms
phi2
@0
(pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2)
1.0ms
lambda1
@0
(pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2)
1.0ms
lambda2
@0
(pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2)
1.0ms
lambda1
@-inf
(pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2)
1.0ms
lambda1
@inf
(pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2)

rewrite59.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
754×prod-diff_binary64
525×log-prod_binary64
359×fma-def_binary64
304×pow2_binary64
211×pow1/3_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01125
124725
2306425
Stop Event
node limit
Counts
2 → 74
Calls
Call 1
Inputs
(sqrt.f64 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2))
(pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 phi2)) (sin.f64 (-.f64 lambda1 lambda2)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 phi2)) (sin.f64 (-.f64 lambda1 lambda2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 phi2)) (sin.f64 (-.f64 lambda1 lambda2))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 phi2)) (sin.f64 (-.f64 lambda1 lambda2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)) (*.f64 (cbrt.f64 (sin.f64 (-.f64 lambda1 lambda2))) (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2)) (cbrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 phi2)) 2) (*.f64 (cbrt.f64 (cos.f64 phi2)) (sin.f64 (-.f64 lambda1 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) (sqrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 (-.f64 lambda1 lambda2))) (*.f64 (sqrt.f64 (sin.f64 (-.f64 lambda1 lambda2))) (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 phi2)) (*.f64 (sqrt.f64 (cos.f64 phi2)) (sin.f64 (-.f64 lambda1 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 4))) (sqrt.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 (cbrt.f64 (cos.f64 phi2)) 2)) (cbrt.f64 (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sqrt.f64 (cos.f64 phi2))) (sqrt.f64 (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 phi2) (cbrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))) (cbrt.f64 (sin.f64 (-.f64 lambda1 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 phi2) (sqrt.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (sqrt.f64 (sin.f64 (-.f64 lambda1 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 2 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2)))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 3) (pow.f64 (cos.f64 phi2) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (cos.f64 phi2) 3) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 2 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (cos.f64 phi2)) (sin.f64 (-.f64 lambda1 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 3) (pow.f64 (cos.f64 phi2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (cos.f64 phi2) 3) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 phi2) (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2)) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2)) (*.f64 (cbrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 4)) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) (*.f64 (sqrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2) (pow.f64 (cos.f64 phi2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 3) (sqrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 (-.f64 lambda1 lambda2))) (cos.f64 phi2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cos.f64 phi2)) (sin.f64 (-.f64 lambda1 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2))) (cbrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2)))))))

simplify69.0ms (0.1%)

Algorithm
egg-herbie
Rules
695×unsub-neg_binary64
624×unswap-sqr_binary64
535×fma-neg_binary64
495×distribute-neg-out_binary64
483×*-commutative_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01431653
14421604
215721469
342561452
Stop Event
node limit
Counts
146 → 122
Calls
Call 1
Inputs
(*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2))
(+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1)))
(+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1)) (*.f64 -1/2 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 lambda1 2))))))
(+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1)) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 lambda1 2)))) (*.f64 -1/6 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 3)))))))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))))
(*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))))
(*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))))
(*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))))
(*.f64 (cos.f64 phi2) (sin.f64 lambda1))
(+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))
(+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 lambda2 3) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))
(*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))
(*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))
(*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))
(sin.f64 (-.f64 lambda1 lambda2))
(+.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 -1/2 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 2))))
(+.f64 (*.f64 1/24 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 4))) (+.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 -1/2 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 2)))))
(+.f64 (*.f64 -1/720 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 6))) (+.f64 (*.f64 1/24 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 4))) (+.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 -1/2 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 2))))))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (pow.f64 (sin.f64 (neg.f64 lambda2)) 2) (pow.f64 (cos.f64 phi2) 2))
(+.f64 (*.f64 (pow.f64 (sin.f64 (neg.f64 lambda2)) 2) (pow.f64 (cos.f64 phi2) 2)) (*.f64 2 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (pow.f64 (cos.f64 phi2) 2) (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1)))))
(+.f64 (*.f64 (+.f64 (*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (cos.f64 (neg.f64 lambda2)) 2)) (*.f64 -1 (*.f64 (pow.f64 (sin.f64 (neg.f64 lambda2)) 2) (pow.f64 (cos.f64 phi2) 2)))) (pow.f64 lambda1 2)) (+.f64 (*.f64 (pow.f64 (sin.f64 (neg.f64 lambda2)) 2) (pow.f64 (cos.f64 phi2) 2)) (*.f64 2 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (pow.f64 (cos.f64 phi2) 2) (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1))))))
(+.f64 (*.f64 (+.f64 (*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (cos.f64 (neg.f64 lambda2)) 2)) (*.f64 -1 (*.f64 (pow.f64 (sin.f64 (neg.f64 lambda2)) 2) (pow.f64 (cos.f64 phi2) 2)))) (pow.f64 lambda1 2)) (+.f64 (*.f64 (pow.f64 (sin.f64 (neg.f64 lambda2)) 2) (pow.f64 (cos.f64 phi2) 2)) (+.f64 (*.f64 2 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (pow.f64 (cos.f64 phi2) 2) (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1)))) (*.f64 (pow.f64 lambda1 3) (+.f64 (*.f64 -1 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (pow.f64 (cos.f64 phi2) 2) (cos.f64 (neg.f64 lambda2))))) (*.f64 -1/3 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (pow.f64 (cos.f64 phi2) 2) (cos.f64 (neg.f64 lambda2))))))))))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) 2))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) 2))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) 2))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) 2))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 lambda1) 2))
(+.f64 (*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 lambda1) 2)) (*.f64 -2 (*.f64 lambda2 (*.f64 (pow.f64 (cos.f64 phi2) 2) (*.f64 (sin.f64 lambda1) (cos.f64 lambda1))))))
(+.f64 (*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 lambda1) 2)) (+.f64 (*.f64 (pow.f64 lambda2 2) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 lambda1) 2))) (*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (cos.f64 lambda1) 2)))) (*.f64 -2 (*.f64 lambda2 (*.f64 (pow.f64 (cos.f64 phi2) 2) (*.f64 (sin.f64 lambda1) (cos.f64 lambda1)))))))
(+.f64 (*.f64 (pow.f64 lambda2 3) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (cos.f64 phi2) 2) (*.f64 (sin.f64 lambda1) (cos.f64 lambda1)))) (*.f64 (pow.f64 (cos.f64 phi2) 2) (*.f64 (sin.f64 lambda1) (cos.f64 lambda1))))) (+.f64 (*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 lambda1) 2)) (+.f64 (*.f64 (pow.f64 lambda2 2) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 lambda1) 2))) (*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (cos.f64 lambda1) 2)))) (*.f64 -2 (*.f64 lambda2 (*.f64 (pow.f64 (cos.f64 phi2) 2) (*.f64 (sin.f64 lambda1) (cos.f64 lambda1))))))))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) 2))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) 2))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) 2))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) 2))
(pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)
(+.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2) (*.f64 -1 (*.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2) (pow.f64 phi2 2))))
(+.f64 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)) (*.f64 1/4 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))) (pow.f64 phi2 4)) (+.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2) (*.f64 -1 (*.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2) (pow.f64 phi2 2)))))
(+.f64 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)) (*.f64 1/4 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))) (pow.f64 phi2 4)) (+.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2) (pow.f64 phi2 2))) (*.f64 (+.f64 (*.f64 -1/24 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)) (*.f64 -1/360 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))) (pow.f64 phi2 6)))))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))
Outputs
(*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2))
(*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2))
(neg.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda2)))
(+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1)))
(fma.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) lambda1)))
(*.f64 (cos.f64 phi2) (+.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) lambda1)))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)))
(+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1)) (*.f64 -1/2 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 lambda1 2))))))
(fma.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2) (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) lambda1) (*.f64 -1/2 (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 phi2) (*.f64 lambda1 lambda1))))))
(+.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (*.f64 (cos.f64 phi2) (*.f64 lambda1 lambda1)) -1/2)) (*.f64 (cos.f64 phi2) (+.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) lambda1))))
(-.f64 (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 lambda2) lambda1) (*.f64 (*.f64 lambda1 lambda1) (*.f64 1/2 (sin.f64 lambda2))))) (*.f64 (cos.f64 phi2) (sin.f64 lambda2)))
(+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1)) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 lambda1 2)))) (*.f64 -1/6 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 3)))))))
(fma.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2) (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) lambda1) (fma.f64 -1/2 (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 phi2) (*.f64 lambda1 lambda1))) (*.f64 -1/6 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 3)))))))
(+.f64 (fma.f64 -1/2 (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 phi2) (*.f64 lambda1 lambda1))) (*.f64 (cos.f64 phi2) (*.f64 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 3)) -1/6))) (*.f64 (cos.f64 phi2) (+.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) lambda1))))
(+.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (+.f64 (cos.f64 phi2) (*.f64 -1/2 (*.f64 (cos.f64 phi2) (*.f64 lambda1 lambda1))))) (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (+.f64 (*.f64 -1/6 (pow.f64 lambda1 3)) lambda1)))
(+.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (*.f64 lambda1 lambda1) (*.f64 1/2 (sin.f64 lambda2))) (sin.f64 lambda2))) (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (+.f64 (*.f64 -1/6 (pow.f64 lambda1 3)) lambda1)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 lambda1))
(+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))
(fma.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))
(-.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1))))
(*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1))))
(+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))))
(fma.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1))) (fma.f64 -1/2 (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (*.f64 lambda2 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))))
(-.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 lambda2 lambda2)) 1) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))) (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1))))
(-.f64 (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 1 (*.f64 -1/2 (*.f64 lambda2 lambda2)))) (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1))))
(fma.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 1 (*.f64 lambda2 (*.f64 lambda2 -1/2))) (*.f64 (cos.f64 lambda1) (*.f64 (neg.f64 lambda2) (cos.f64 phi2))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 lambda2 3) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))))
(fma.f64 1/6 (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)) (pow.f64 lambda2 3)) (fma.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1))) (fma.f64 -1/2 (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (*.f64 lambda2 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 lambda2 lambda2)) 1) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))) (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)) (+.f64 (*.f64 1/6 (pow.f64 lambda2 3)) (neg.f64 lambda2))))
(+.f64 (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 1 (*.f64 -1/2 (*.f64 lambda2 lambda2)))) (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)) (-.f64 (*.f64 1/6 (pow.f64 lambda2 3)) lambda2)))
(fma.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 1 (*.f64 lambda2 (*.f64 lambda2 -1/2))) (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)) (-.f64 (*.f64 1/6 (pow.f64 lambda2 3)) lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(sin.f64 (-.f64 lambda1 lambda2))
(+.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 -1/2 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 2))))
(+.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 -1/2 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 phi2 phi2))))
(fma.f64 -1/2 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 phi2 phi2)) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 (-.f64 lambda1 lambda2)))
(+.f64 (*.f64 1/24 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 4))) (+.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 -1/2 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 2)))))
(fma.f64 1/24 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 4)) (+.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 -1/2 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 phi2 phi2)))))
(fma.f64 1/24 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 4)) (fma.f64 -1/2 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 phi2 phi2)) (sin.f64 (-.f64 lambda1 lambda2))))
(+.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) (*.f64 1/24 (pow.f64 phi2 4)))))
(fma.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) (*.f64 1/24 (pow.f64 phi2 4))) (sin.f64 (-.f64 lambda1 lambda2)))
(+.f64 (*.f64 -1/720 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 6))) (+.f64 (*.f64 1/24 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 4))) (+.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 -1/2 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 2))))))
(fma.f64 -1/720 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 6)) (fma.f64 1/24 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 4)) (+.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 -1/2 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 phi2 phi2))))))
(fma.f64 -1/720 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 6)) (fma.f64 1/24 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 4)) (fma.f64 -1/2 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 phi2 phi2)) (sin.f64 (-.f64 lambda1 lambda2)))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 (-.f64 lambda1 lambda2))) (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) (*.f64 -1/720 (pow.f64 phi2 6)))))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 (pow.f64 (sin.f64 (neg.f64 lambda2)) 2) (pow.f64 (cos.f64 phi2) 2))
(*.f64 (pow.f64 (neg.f64 (sin.f64 lambda2)) 2) (pow.f64 (cos.f64 phi2) 2))
(*.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda2)) (pow.f64 (cos.f64 phi2) 2))
(+.f64 (*.f64 (pow.f64 (sin.f64 (neg.f64 lambda2)) 2) (pow.f64 (cos.f64 phi2) 2)) (*.f64 2 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (pow.f64 (cos.f64 phi2) 2) (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1)))))
(fma.f64 (pow.f64 (neg.f64 (sin.f64 lambda2)) 2) (pow.f64 (cos.f64 phi2) 2) (*.f64 2 (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (*.f64 (cos.f64 lambda2) lambda1) (pow.f64 (cos.f64 phi2) 2)))))
(fma.f64 2 (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (*.f64 (cos.f64 lambda2) lambda1) (pow.f64 (cos.f64 phi2) 2))) (*.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda2)) (pow.f64 (cos.f64 phi2) 2)))
(*.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (pow.f64 (cos.f64 phi2) 2)) (+.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (*.f64 (cos.f64 lambda2) lambda1) 2)))
(*.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (pow.f64 (cos.f64 phi2) 2)) (-.f64 (*.f64 (*.f64 (cos.f64 lambda2) lambda1) 2) (sin.f64 lambda2)))
(+.f64 (*.f64 (+.f64 (*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (cos.f64 (neg.f64 lambda2)) 2)) (*.f64 -1 (*.f64 (pow.f64 (sin.f64 (neg.f64 lambda2)) 2) (pow.f64 (cos.f64 phi2) 2)))) (pow.f64 lambda1 2)) (+.f64 (*.f64 (pow.f64 (sin.f64 (neg.f64 lambda2)) 2) (pow.f64 (cos.f64 phi2) 2)) (*.f64 2 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (pow.f64 (cos.f64 phi2) 2) (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1))))))
(fma.f64 (fma.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (cos.f64 lambda2) 2) (neg.f64 (*.f64 (pow.f64 (neg.f64 (sin.f64 lambda2)) 2) (pow.f64 (cos.f64 phi2) 2)))) (*.f64 lambda1 lambda1) (fma.f64 (pow.f64 (neg.f64 (sin.f64 lambda2)) 2) (pow.f64 (cos.f64 phi2) 2) (*.f64 2 (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (*.f64 (cos.f64 lambda2) lambda1) (pow.f64 (cos.f64 phi2) 2))))))
(fma.f64 (*.f64 lambda1 lambda1) (*.f64 (pow.f64 (cos.f64 phi2) 2) (+.f64 (pow.f64 (cos.f64 lambda2) 2) (neg.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda2))))) (fma.f64 2 (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (*.f64 (cos.f64 lambda2) lambda1) (pow.f64 (cos.f64 phi2) 2))) (*.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda2)) (pow.f64 (cos.f64 phi2) 2))))
(fma.f64 (*.f64 lambda1 lambda1) (*.f64 (pow.f64 (cos.f64 phi2) 2) (-.f64 (pow.f64 (cos.f64 lambda2) 2) (*.f64 (sin.f64 lambda2) (sin.f64 lambda2)))) (*.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (pow.f64 (cos.f64 phi2) 2)) (+.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (*.f64 (cos.f64 lambda2) lambda1) 2))))
(fma.f64 (*.f64 lambda1 lambda1) (*.f64 (pow.f64 (cos.f64 phi2) 2) (-.f64 (pow.f64 (cos.f64 lambda2) 2) (*.f64 (sin.f64 lambda2) (sin.f64 lambda2)))) (*.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (pow.f64 (cos.f64 phi2) 2)) (-.f64 (*.f64 (*.f64 (cos.f64 lambda2) lambda1) 2) (sin.f64 lambda2))))
(+.f64 (*.f64 (+.f64 (*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (cos.f64 (neg.f64 lambda2)) 2)) (*.f64 -1 (*.f64 (pow.f64 (sin.f64 (neg.f64 lambda2)) 2) (pow.f64 (cos.f64 phi2) 2)))) (pow.f64 lambda1 2)) (+.f64 (*.f64 (pow.f64 (sin.f64 (neg.f64 lambda2)) 2) (pow.f64 (cos.f64 phi2) 2)) (+.f64 (*.f64 2 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (pow.f64 (cos.f64 phi2) 2) (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1)))) (*.f64 (pow.f64 lambda1 3) (+.f64 (*.f64 -1 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (pow.f64 (cos.f64 phi2) 2) (cos.f64 (neg.f64 lambda2))))) (*.f64 -1/3 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (pow.f64 (cos.f64 phi2) 2) (cos.f64 (neg.f64 lambda2))))))))))
(fma.f64 (fma.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (cos.f64 lambda2) 2) (neg.f64 (*.f64 (pow.f64 (neg.f64 (sin.f64 lambda2)) 2) (pow.f64 (cos.f64 phi2) 2)))) (*.f64 lambda1 lambda1) (fma.f64 (pow.f64 (neg.f64 (sin.f64 lambda2)) 2) (pow.f64 (cos.f64 phi2) 2) (fma.f64 2 (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (*.f64 (cos.f64 lambda2) lambda1) (pow.f64 (cos.f64 phi2) 2))) (*.f64 (pow.f64 lambda1 3) (*.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (pow.f64 (cos.f64 phi2) 2))) -4/3)))))
(fma.f64 (*.f64 lambda1 lambda1) (*.f64 (pow.f64 (cos.f64 phi2) 2) (+.f64 (pow.f64 (cos.f64 lambda2) 2) (neg.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda2))))) (fma.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda2)) (pow.f64 (cos.f64 phi2) 2) (fma.f64 2 (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (*.f64 (cos.f64 lambda2) lambda1) (pow.f64 (cos.f64 phi2) 2))) (*.f64 (*.f64 (cos.f64 lambda2) (*.f64 (neg.f64 (sin.f64 lambda2)) (pow.f64 (cos.f64 phi2) 2))) (*.f64 -4/3 (pow.f64 lambda1 3))))))
(+.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (pow.f64 (cos.f64 phi2) 2)) (+.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (*.f64 (cos.f64 lambda2) lambda1) 2))) (*.f64 (*.f64 lambda1 lambda1) (+.f64 (*.f64 lambda1 (*.f64 (*.f64 (pow.f64 (cos.f64 phi2) 2) (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 lambda2))) -4/3)) (*.f64 (pow.f64 (cos.f64 phi2) 2) (-.f64 (pow.f64 (cos.f64 lambda2) 2) (*.f64 (sin.f64 lambda2) (sin.f64 lambda2)))))))
(-.f64 (fma.f64 (*.f64 lambda1 lambda1) (*.f64 (pow.f64 (cos.f64 phi2) 2) (-.f64 (pow.f64 (cos.f64 lambda2) 2) (*.f64 (sin.f64 lambda2) (sin.f64 lambda2)))) (*.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (pow.f64 (cos.f64 phi2) 2)) (-.f64 (*.f64 (*.f64 (cos.f64 lambda2) lambda1) 2) (sin.f64 lambda2)))) (*.f64 (*.f64 (pow.f64 (cos.f64 phi2) 2) (*.f64 (cos.f64 lambda2) (sin.f64 lambda2))) (*.f64 (pow.f64 lambda1 3) -4/3)))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) 2))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) 2))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) 2))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) 2))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 lambda1) 2))
(+.f64 (*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 lambda1) 2)) (*.f64 -2 (*.f64 lambda2 (*.f64 (pow.f64 (cos.f64 phi2) 2) (*.f64 (sin.f64 lambda1) (cos.f64 lambda1))))))
(fma.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 lambda1) 2) (*.f64 -2 (*.f64 lambda2 (*.f64 (pow.f64 (cos.f64 phi2) 2) (*.f64 (sin.f64 lambda1) (cos.f64 lambda1))))))
(fma.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 lambda1) 2) (*.f64 -2 (*.f64 (*.f64 lambda2 (*.f64 (sin.f64 lambda1) (cos.f64 lambda1))) (pow.f64 (cos.f64 phi2) 2))))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (+.f64 (*.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda1)) (*.f64 lambda2 -2)) (pow.f64 (sin.f64 lambda1) 2)))
(+.f64 (*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 lambda1) 2)) (+.f64 (*.f64 (pow.f64 lambda2 2) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 lambda1) 2))) (*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (cos.f64 lambda1) 2)))) (*.f64 -2 (*.f64 lambda2 (*.f64 (pow.f64 (cos.f64 phi2) 2) (*.f64 (sin.f64 lambda1) (cos.f64 lambda1)))))))
(fma.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 lambda1) 2) (fma.f64 (*.f64 lambda2 lambda2) (fma.f64 -1 (*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 lambda1) 2)) (*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (cos.f64 lambda1) 2))) (*.f64 -2 (*.f64 lambda2 (*.f64 (pow.f64 (cos.f64 phi2) 2) (*.f64 (sin.f64 lambda1) (cos.f64 lambda1)))))))
(fma.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 lambda1) 2) (fma.f64 (*.f64 lambda2 lambda2) (-.f64 (*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (cos.f64 lambda1) 2)) (*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 lambda1) 2))) (*.f64 -2 (*.f64 (*.f64 lambda2 (*.f64 (sin.f64 lambda1) (cos.f64 lambda1))) (pow.f64 (cos.f64 phi2) 2)))))
(+.f64 (*.f64 lambda2 (*.f64 lambda2 (*.f64 (pow.f64 (cos.f64 phi2) 2) (-.f64 (pow.f64 (cos.f64 lambda1) 2) (pow.f64 (sin.f64 lambda1) 2))))) (*.f64 (pow.f64 (cos.f64 phi2) 2) (+.f64 (*.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda1)) (*.f64 lambda2 -2)) (pow.f64 (sin.f64 lambda1) 2))))
(+.f64 (*.f64 (pow.f64 lambda2 3) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (cos.f64 phi2) 2) (*.f64 (sin.f64 lambda1) (cos.f64 lambda1)))) (*.f64 (pow.f64 (cos.f64 phi2) 2) (*.f64 (sin.f64 lambda1) (cos.f64 lambda1))))) (+.f64 (*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 lambda1) 2)) (+.f64 (*.f64 (pow.f64 lambda2 2) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 lambda1) 2))) (*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (cos.f64 lambda1) 2)))) (*.f64 -2 (*.f64 lambda2 (*.f64 (pow.f64 (cos.f64 phi2) 2) (*.f64 (sin.f64 lambda1) (cos.f64 lambda1))))))))
(fma.f64 (pow.f64 lambda2 3) (*.f64 4/3 (*.f64 (pow.f64 (cos.f64 phi2) 2) (*.f64 (sin.f64 lambda1) (cos.f64 lambda1)))) (fma.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 lambda1) 2) (fma.f64 (*.f64 lambda2 lambda2) (fma.f64 -1 (*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 lambda1) 2)) (*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (cos.f64 lambda1) 2))) (*.f64 -2 (*.f64 lambda2 (*.f64 (pow.f64 (cos.f64 phi2) 2) (*.f64 (sin.f64 lambda1) (cos.f64 lambda1))))))))
(fma.f64 (pow.f64 lambda2 3) (*.f64 (*.f64 (sin.f64 lambda1) (*.f64 (cos.f64 lambda1) (pow.f64 (cos.f64 phi2) 2))) 4/3) (fma.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 lambda1) 2) (fma.f64 (*.f64 lambda2 lambda2) (-.f64 (*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (cos.f64 lambda1) 2)) (*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 lambda1) 2))) (*.f64 -2 (*.f64 (*.f64 lambda2 (*.f64 (sin.f64 lambda1) (cos.f64 lambda1))) (pow.f64 (cos.f64 phi2) 2))))))
(+.f64 (fma.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 lambda1) 2) (*.f64 lambda2 (*.f64 lambda2 (*.f64 (pow.f64 (cos.f64 phi2) 2) (-.f64 (pow.f64 (cos.f64 lambda1) 2) (pow.f64 (sin.f64 lambda1) 2)))))) (*.f64 (*.f64 (sin.f64 lambda1) (*.f64 (cos.f64 lambda1) (pow.f64 (cos.f64 phi2) 2))) (+.f64 (*.f64 lambda2 -2) (*.f64 (pow.f64 lambda2 3) 4/3))))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) 2))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) 2))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) 2))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) 2))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))
(pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)
(+.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2) (*.f64 -1 (*.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2) (pow.f64 phi2 2))))
(+.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2) (neg.f64 (*.f64 (*.f64 phi2 phi2) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))))
(fma.f64 (neg.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)) (*.f64 phi2 phi2) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))
(*.f64 (+.f64 (neg.f64 (*.f64 phi2 phi2)) 1) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))
(+.f64 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)) (*.f64 1/4 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))) (pow.f64 phi2 4)) (+.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2) (*.f64 -1 (*.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2) (pow.f64 phi2 2)))))
(fma.f64 (*.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2) 1/3) (pow.f64 phi2 4) (+.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2) (neg.f64 (*.f64 (*.f64 phi2 phi2) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)))))
(fma.f64 (pow.f64 phi2 4) (*.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2) 1/3) (fma.f64 (neg.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)) (*.f64 phi2 phi2) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)))
(+.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2) (*.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2) (+.f64 (neg.f64 (*.f64 phi2 phi2)) (*.f64 (pow.f64 phi2 4) 1/3))))
(fma.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2) (-.f64 (*.f64 (pow.f64 phi2 4) 1/3) (*.f64 phi2 phi2)) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))
(+.f64 (*.f64 (+.f64 (*.f64 1/12 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)) (*.f64 1/4 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))) (pow.f64 phi2 4)) (+.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2) (pow.f64 phi2 2))) (*.f64 (+.f64 (*.f64 -1/24 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)) (*.f64 -1/360 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))) (pow.f64 phi2 6)))))
(fma.f64 (*.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2) 1/3) (pow.f64 phi2 4) (+.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2) (fma.f64 -1 (*.f64 (*.f64 phi2 phi2) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)) (*.f64 (pow.f64 phi2 6) (*.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2) -2/45)))))
(+.f64 (fma.f64 (pow.f64 phi2 4) (*.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2) 1/3) (fma.f64 (neg.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)) (*.f64 phi2 phi2) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))) (*.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2) (*.f64 -2/45 (pow.f64 phi2 6))))
(+.f64 (*.f64 (+.f64 (neg.f64 (*.f64 phi2 phi2)) 1) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)) (*.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2) (+.f64 (*.f64 (pow.f64 phi2 6) -2/45) (*.f64 (pow.f64 phi2 4) 1/3))))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))
(*.f64 (pow.f64 (cos.f64 phi2) 2) (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))

eval275.0ms (0.4%)

Compiler

Compiled 25192 to 5996 computations (76.2% saved)

prune273.0ms (0.4%)

Pruning

131 alts after pruning (129 fresh and 2 done)

PrunedKeptTotal
New74745792
Fresh1984103
Picked101
Done325
Total770131901
Error
0.0b
Counts
901 → 131
Alt Table
Click to see full alt table
StatusErrorProgram
37.1b
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))))
36.2b
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
44.0b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) 1))) (sin.f64 phi2))
24.8b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
25.1b
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (sin.f64 lambda2))))))
39.1b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) 1) (sin.f64 phi2))
15.3b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (cos.f64 lambda1) (*.f64 lambda2 (sin.f64 lambda1))))))
47.7b
(atan2.f64 (exp.f64 (log.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
23.2b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (cbrt.f64 (pow.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))) 3)))
38.7b
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))))
42.7b
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (sin.f64 phi2))
41.2b
(cbrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 3))
29.5b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 phi2))) 3))) (sin.f64 phi2))
43.4b
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) 1) (sin.f64 phi2))
32.5b
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
22.8b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))
41.3b
(atan2.f64 (sin.f64 lambda1) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
18.0b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (cos.f64 lambda1)))))
55.3b
(atan2.f64 (*.f64 (-.f64 (*.f64 (sin.f64 (exp.f64 (log1p.f64 (-.f64 lambda1 lambda2)))) (cos.f64 1)) (*.f64 (cos.f64 (exp.f64 (log1p.f64 (-.f64 lambda1 lambda2)))) (sin.f64 1))) 1) (sin.f64 phi2))
47.8b
(-.f64 (+.f64 1 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 1)
40.9b
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 -1/2 (*.f64 phi2 phi2)))))))
46.4b
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 lambda1 (*.f64 lambda1 -1/2)))))))
0.4b
(atan2.f64 (*.f64 (-.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) 3) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
34.7b
(atan2.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) 3)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
47.5b
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
24.2b
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
32.1b
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2))) 3))))
45.8b
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) 1) (sin.f64 phi2))
54.0b
(expm1.f64 (log1p.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
39.3b
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
47.6b
(sqrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 2))
4.6b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (log.f64 (+.f64 1 (expm1.f64 (cos.f64 (-.f64 lambda1 lambda2))))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
47.7b
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 (*.f64 lambda1 lambda1) (+.f64 -1/2 (*.f64 1/24 (*.f64 lambda1 lambda1)))))))))
11.2b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (log1p.f64 (expm1.f64 (cos.f64 (-.f64 lambda1 lambda2)))))))
30.5b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))))
42.4b
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 (-.f64 lambda1 lambda2) phi2)) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (sin.f64 phi2))
37.1b
(atan2.f64 (*.f64 (sqrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
47.5b
(log1p.f64 (expm1.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
29.8b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) 3)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
29.4b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
51.2b
(pow.f64 (sqrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) 2)
22.5b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (-.f64 (*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 phi2)) (+.f64 -1 (*.f64 (*.f64 lambda2 lambda2) 1/2))) (*.f64 lambda2 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)))))))
15.5b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) 3)))))
45.3b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) 1) (sin.f64 phi2))
23.5b
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
37.0b
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 (*.f64 (sin.f64 lambda2) 1/2) lambda1))) (sin.f64 lambda2))) (sin.f64 phi2))
32.5b
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
44.0b
(pow.f64 (sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 6)) 1/3)
54.8b
(exp.f64 (log.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
36.7b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
40.9b
(pow.f64 (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) 3)
24.3b
(atan2.f64 (+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
43.2b
(atan2.f64 (sqrt.f64 (pow.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) 2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
21.7b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
31.3b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))))
18.3b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (/.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 (sin.f64 (-.f64 phi1 phi2)) (sin.f64 (+.f64 phi1 phi2)))) 2)))
47.9b
(cbrt.f64 (pow.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2)) 3))
19.0b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))))
34.6b
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
0.2b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
30.7b
(atan2.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
26.1b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) phi2) (*.f64 -1 (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
47.8b
(log.f64 (exp.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
45.6b
(atan2.f64 (exp.f64 (log.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))))) (sin.f64 phi2))
24.3b
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
17.1b
(atan2.f64 (/.f64 (*.f64 (*.f64 (sin.f64 (+.f64 lambda2 lambda1)) (sin.f64 (-.f64 lambda1 lambda2))) (cos.f64 phi2)) (sin.f64 (+.f64 lambda2 lambda1))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
45.8b
(atan2.f64 (*.f64 (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2)) 1) (sin.f64 phi2))
0.1b
(atan2.f64 (*.f64 (-.f64 (log1p.f64 (expm1.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)))) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1))))))))
41.1b
(atan2.f64 (*.f64 (fma.f64 (sqrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (sqrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
36.7b
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 phi1)))))
31.8b
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
32.5b
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (expm1.f64 (log1p.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))))))
30.3b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (sin.f64 phi2) (+.f64 1 (*.f64 -1/2 (*.f64 phi1 phi1)))) (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (-.f64 (*.f64 1/6 (pow.f64 phi1 3)) phi1))))
46.2b
(atan2.f64 (*.f64 lambda1 (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
35.0b
(atan2.f64 (/.f64 1 (/.f64 2 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
50.2b
(expm1.f64 (log1p.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
23.2b
(atan2.f64 (*.f64 (-.f64 (log1p.f64 (expm1.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)))) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
20.8b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (sin.f64 phi1))))
43.9b
(-.f64 (exp.f64 (log1p.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 1)
49.4b
(sqrt.f64 (pow.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2)) 2))
23.2b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))))
40.5b
(log1p.f64 (expm1.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
46.7b
(atan2.f64 (*.f64 (exp.f64 (log.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
34.6b
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))))) (sin.f64 phi2))
23.4b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (log.f64 (exp.f64 (fma.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))
39.3b
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (sin.f64 phi2))
26.7b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))
29.1b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))))
0.2b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1))))))))
47.8b
(pow.f64 (cbrt.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 3)
9.1b
(atan2.f64 (*.f64 (-.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) 3) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
29.3b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log1p.f64 (expm1.f64 (cos.f64 phi2)))) (sin.f64 phi2))
29.2b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (sin.f64 phi2) (+.f64 1 (*.f64 -1/2 (*.f64 phi1 phi1)))) (*.f64 phi1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
17.4b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 lambda2) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2))))))
41.2b
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)))) 2) 3) (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
40.4b
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
18.8b
(atan2.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 3)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
29.3b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 1/3 (*.f64 3 (cos.f64 phi2)))) (sin.f64 phi2))
36.7b
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))) (sin.f64 phi2))
24.8b
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
30.7b
(cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))
29.4b
(atan2.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 3) (sin.f64 phi2))
17.4b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 lambda2)))))))
15.9b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (sqrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) 2)))))
10.4b
(atan2.f64 (*.f64 (-.f64 (sin.f64 lambda1) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
31.3b
(log.f64 (+.f64 1 (expm1.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))
28.3b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 phi1 (cos.f64 phi2)))))
15.2b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))))
42.7b
(atan2.f64 (*.f64 (sin.f64 lambda1) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
43.6b
(atan2.f64 (sqrt.f64 (pow.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) 2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
14.2b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (sin.f64 phi1))))
10.8b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
31.1b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 phi1 (cos.f64 (-.f64 lambda2 lambda1)))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
33.8b
(atan2.f64 (fabs.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
30.2b
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
31.2b
(log.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
41.8b
(atan2.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
0.2b
(atan2.f64 (*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2))))) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
29.3b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 3 (*.f64 1/3 (cos.f64 phi2)))) (sin.f64 phi2))
17.4b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 lambda2))))
32.0b
(atan2.f64 (neg.f64 (sin.f64 (fma.f64 -1 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
29.3b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (expm1.f64 (log1p.f64 (cos.f64 phi2)))) (sin.f64 phi2))
30.0b
(pow.f64 (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))) 3)
44.3b
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
44.0b
(sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2))
45.2b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (*.f64 (fma.f64 -1/2 (*.f64 phi2 phi2) 1) (E.f64)))) (sin.f64 phi2))
32.6b
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))) 3)))
0.2b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) 3))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
44.1b
(atan2.f64 (*.f64 (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1))) 1) (sin.f64 phi2))
36.9b
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 phi1 (*.f64 -1/6 (pow.f64 phi1 3))))))
26.4b
(atan2.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
Compiler

Compiled 3339 to 2258 computations (32.4% saved)

regimes1.5s (2.2%)

Counts
224 → 1
Calls
Call 1
Inputs
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) 1) (sin.f64 phi2))
(-.f64 (+.f64 1 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 1)
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 1/3 (*.f64 3 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 3 (*.f64 1/3 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 (-.f64 lambda1 lambda2) phi2)) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (sin.f64 phi2))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) 1))) (sin.f64 phi2))
(expm1.f64 (log1p.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(log1p.f64 (expm1.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(exp.f64 (log.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(log.f64 (exp.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(cbrt.f64 (pow.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2)) 2))
(pow.f64 (cbrt.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 3)
(log.f64 (exp.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(expm1.f64 (log1p.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(log1p.f64 (expm1.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(cbrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 2))
(pow.f64 (sqrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) 2)
(pow.f64 (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) 3)
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log1p.f64 (expm1.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(log.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
(exp.f64 (log.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (exp.f64 (log.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
(log.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (expm1.f64 (log1p.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log1p.f64 (expm1.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2))
(atan2.f64 (*.f64 (sqrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)) (cos.f64 phi2)) (sin.f64 phi2))
(cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))
(atan2.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 3) (sin.f64 phi2))
(sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2))
(pow.f64 (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))) 3)
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))))) (sin.f64 phi2))
(-.f64 (exp.f64 (log1p.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 1)
(log.f64 (+.f64 1 (expm1.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))) (sin.f64 phi2))
(-.f64 (exp.f64 (log1p.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 1)
(log.f64 (+.f64 1 (expm1.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))
(pow.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3) 1/3)
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (*.f64 (fma.f64 -1/2 (*.f64 phi2 phi2) 1) (E.f64)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 (*.f64 (sin.f64 lambda2) 1/2) lambda1))) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 phi1 (cos.f64 phi2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (sin.f64 phi2) (+.f64 1 (*.f64 -1/2 (*.f64 phi1 phi1)))) (*.f64 phi1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(pow.f64 (sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 6)) 1/3)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))))
(atan2.f64 (sin.f64 lambda1) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))
(pow.f64 (pow.f64 (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3) 1/3)
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 lambda1 (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (sin.f64 phi1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 phi1 (cos.f64 (-.f64 lambda2 lambda1)))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 -1/2 (*.f64 phi2 phi2)))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 lambda1 (*.f64 lambda1 -1/2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 1 (*.f64 lambda1 (*.f64 lambda1 -1/2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 -1/2 (*.f64 phi2 phi2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 phi1) phi2 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (+.f64 -1 (*.f64 1/2 (*.f64 phi2 phi2))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 phi1)))))
(atan2.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 (-.f64 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 (*.f64 lambda1 lambda1) (+.f64 -1/2 (*.f64 1/24 (*.f64 lambda1 lambda1)))))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 1 (*.f64 (*.f64 lambda1 lambda1) (+.f64 -1/2 (*.f64 1/24 (*.f64 lambda1 lambda1)))))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (+.f64 -1 (*.f64 1/2 (*.f64 phi2 phi2)))) (*.f64 (cos.f64 phi1) (+.f64 phi2 (*.f64 -1/6 (pow.f64 phi2 3))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (sin.f64 phi2) (+.f64 1 (*.f64 -1/2 (*.f64 phi1 phi1)))) (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (-.f64 (*.f64 1/6 (pow.f64 phi1 3)) phi1))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 phi2))) 3))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (neg.f64 (sin.f64 (fma.f64 -1 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (neg.f64 (sin.f64 (fma.f64 -1 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 lambda2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (/.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 (sin.f64 (-.f64 phi1 phi2)) (sin.f64 (+.f64 phi1 phi2)))) 2)))
(atan2.f64 (/.f64 1 (/.f64 2 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (/.f64 1 (/.f64 2 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 lambda2) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (fabs.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (sin.f64 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 phi1)))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (expm1.f64 (log1p.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))))))
(atan2.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) 3)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2))) 3))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))) 3)))
(atan2.f64 (*.f64 (-.f64 (*.f64 (sin.f64 (exp.f64 (log1p.f64 (-.f64 lambda1 lambda2)))) (cos.f64 1)) (*.f64 (cos.f64 (exp.f64 (log1p.f64 (-.f64 lambda1 lambda2)))) (sin.f64 1))) 1) (sin.f64 phi2))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (expm1.f64 (log1p.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))))
(atan2.f64 (sqrt.f64 (pow.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) 2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) 3)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))) 3)))
(atan2.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 3)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (sqrt.f64 (pow.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) 2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (sin.f64 phi1))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (log1p.f64 (expm1.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (log1p.f64 (expm1.f64 (cos.f64 (-.f64 lambda1 lambda2)))))))
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (expm1.f64 (log1p.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) 3)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (pow.f64 (cbrt.f64 (sin.f64 (-.f64 lambda1 lambda2))) 3) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sqrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 3) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 3)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (sqrt.f64 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (cbrt.f64 (pow.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))) 3))))
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (/.f64 (*.f64 (*.f64 (sin.f64 (+.f64 lambda2 lambda1)) (sin.f64 (-.f64 lambda1 lambda2))) (cos.f64 phi2)) (sin.f64 (+.f64 lambda2 lambda1))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 phi1 (*.f64 -1/6 (pow.f64 phi1 3))))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)))) 2) 3) (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (log.f64 (exp.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (expm1.f64 (log1p.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cbrt.f64 (pow.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))) 3)))
(atan2.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))
(atan2.f64 (/.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (+.f64 lambda2 lambda1)) (sin.f64 (-.f64 lambda1 lambda2)))) (sin.f64 (+.f64 lambda2 lambda1))) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (sin.f64 lambda2))))))
(atan2.f64 (*.f64 (fma.f64 (sqrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (sqrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (cos.f64 lambda1) (*.f64 lambda2 (sin.f64 lambda1))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) phi2) (*.f64 -1 (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(atan2.f64 (*.f64 (-.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) 3) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (sqrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) 2)))))
(atan2.f64 (*.f64 (-.f64 (log1p.f64 (expm1.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)))) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (fma.f64 lambda2 (sin.f64 lambda1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (+.f64 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2))) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (-.f64 (*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 phi2)) (+.f64 -1 (*.f64 (*.f64 lambda2 lambda2) 1/2))) (*.f64 lambda2 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (log.f64 (exp.f64 (fma.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (expm1.f64 (log1p.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (log.f64 (exp.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (cbrt.f64 (pow.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))) 3)))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (pow.f64 (sqrt.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))) 2))
(atan2.f64 (*.f64 (-.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) 3) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (sqrt.f64 (pow.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) 2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (sin.f64 lambda1) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (log.f64 (+.f64 1 (expm1.f64 (cos.f64 (-.f64 lambda1 lambda2))))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1))))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (+.f64 1 (*.f64 lambda2 (*.f64 lambda2 -1/2)))) (*.f64 (sin.f64 lambda1) (+.f64 lambda2 (*.f64 -1/6 (pow.f64 lambda2 3))))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2))))) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (fma.f64 (sqrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (sqrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (-.f64 (log1p.f64 (expm1.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)))) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1))))))))
(atan2.f64 (+.f64 (*.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (cos.f64 phi2)) (*.f64 (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2))) (cos.f64 phi2))) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (log1p.f64 (expm1.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)))) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) 3) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) 3))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (/.f64 (fma.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (neg.f64 (*.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))) (sin.f64 (+.f64 lambda1 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (log.f64 (*.f64 (exp.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (exp.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2))))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (fma.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (cbrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)))) (cbrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (+.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 (fma.f64 (neg.f64 (cbrt.f64 lambda2)) (pow.f64 (cbrt.f64 lambda2) 2) lambda2))) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 (fma.f64 (neg.f64 (cbrt.f64 lambda2)) (pow.f64 (cbrt.f64 lambda2) 2) lambda2)))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 (fma.f64 (neg.f64 (cbrt.f64 lambda2)) (pow.f64 (cbrt.f64 lambda2) 2) lambda2))) (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 (fma.f64 (neg.f64 (cbrt.f64 lambda2)) (pow.f64 (cbrt.f64 lambda2) 2) lambda2)))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (sin.f64 (/.f64 (pow.f64 lambda1 3) (fma.f64 lambda2 (+.f64 lambda1 lambda2) (*.f64 lambda1 lambda1)))) (cos.f64 (/.f64 (pow.f64 lambda2 3) (fma.f64 lambda2 (+.f64 lambda1 lambda2) (*.f64 lambda1 lambda1))))) (*.f64 (cos.f64 (/.f64 (pow.f64 lambda1 3) (fma.f64 lambda2 (+.f64 lambda1 lambda2) (*.f64 lambda1 lambda1)))) (sin.f64 (/.f64 (pow.f64 lambda2 3) (fma.f64 lambda2 (+.f64 lambda1 lambda2) (*.f64 lambda1 lambda1)))))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (fma.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (cbrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)))) (cbrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (fma.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2))) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (fma.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) (cbrt.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
Outputs
(atan2.f64 (*.f64 (-.f64 (log1p.f64 (expm1.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)))) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
Calls

7 calls:

213.0ms
phi1
212.0ms
phi2
211.0ms
lambda2
199.0ms
(-.f64 lambda1 lambda2)
194.0ms
(-.f64 lambda1 lambda2)
Results
ErrorSegmentsBranch
0.1b1lambda1
0.1b1lambda2
0.1b1phi1
0.1b1phi2
0.1b1(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
0.1b1(-.f64 lambda1 lambda2)
0.1b1(-.f64 lambda1 lambda2)
Compiler

Compiled 5408 to 1031 computations (80.9% saved)

regimes1.3s (1.9%)

Counts
212 → 1
Calls
Call 1
Inputs
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) 1) (sin.f64 phi2))
(-.f64 (+.f64 1 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 1)
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 1/3 (*.f64 3 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 3 (*.f64 1/3 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 (-.f64 lambda1 lambda2) phi2)) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (sin.f64 phi2))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) 1))) (sin.f64 phi2))
(expm1.f64 (log1p.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(log1p.f64 (expm1.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(exp.f64 (log.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(log.f64 (exp.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(cbrt.f64 (pow.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2)) 2))
(pow.f64 (cbrt.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 3)
(log.f64 (exp.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(expm1.f64 (log1p.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(log1p.f64 (expm1.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(cbrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 2))
(pow.f64 (sqrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) 2)
(pow.f64 (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) 3)
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log1p.f64 (expm1.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(log.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
(exp.f64 (log.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (exp.f64 (log.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
(log.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (expm1.f64 (log1p.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log1p.f64 (expm1.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2))
(atan2.f64 (*.f64 (sqrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)) (cos.f64 phi2)) (sin.f64 phi2))
(cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))
(atan2.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 3) (sin.f64 phi2))
(sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2))
(pow.f64 (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))) 3)
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))))) (sin.f64 phi2))
(-.f64 (exp.f64 (log1p.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 1)
(log.f64 (+.f64 1 (expm1.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))) (sin.f64 phi2))
(-.f64 (exp.f64 (log1p.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 1)
(log.f64 (+.f64 1 (expm1.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))
(pow.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3) 1/3)
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (*.f64 (fma.f64 -1/2 (*.f64 phi2 phi2) 1) (E.f64)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 (*.f64 (sin.f64 lambda2) 1/2) lambda1))) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 phi1 (cos.f64 phi2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (sin.f64 phi2) (+.f64 1 (*.f64 -1/2 (*.f64 phi1 phi1)))) (*.f64 phi1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(pow.f64 (sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 6)) 1/3)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))))
(atan2.f64 (sin.f64 lambda1) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))
(pow.f64 (pow.f64 (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3) 1/3)
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 lambda1 (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (sin.f64 phi1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 phi1 (cos.f64 (-.f64 lambda2 lambda1)))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 -1/2 (*.f64 phi2 phi2)))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 lambda1 (*.f64 lambda1 -1/2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 1 (*.f64 lambda1 (*.f64 lambda1 -1/2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 -1/2 (*.f64 phi2 phi2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 phi1) phi2 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (+.f64 -1 (*.f64 1/2 (*.f64 phi2 phi2))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 phi1)))))
(atan2.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 (-.f64 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 (*.f64 lambda1 lambda1) (+.f64 -1/2 (*.f64 1/24 (*.f64 lambda1 lambda1)))))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 1 (*.f64 (*.f64 lambda1 lambda1) (+.f64 -1/2 (*.f64 1/24 (*.f64 lambda1 lambda1)))))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (+.f64 -1 (*.f64 1/2 (*.f64 phi2 phi2)))) (*.f64 (cos.f64 phi1) (+.f64 phi2 (*.f64 -1/6 (pow.f64 phi2 3))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (sin.f64 phi2) (+.f64 1 (*.f64 -1/2 (*.f64 phi1 phi1)))) (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (-.f64 (*.f64 1/6 (pow.f64 phi1 3)) phi1))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 phi2))) 3))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (neg.f64 (sin.f64 (fma.f64 -1 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (neg.f64 (sin.f64 (fma.f64 -1 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 lambda2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (/.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 (sin.f64 (-.f64 phi1 phi2)) (sin.f64 (+.f64 phi1 phi2)))) 2)))
(atan2.f64 (/.f64 1 (/.f64 2 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (/.f64 1 (/.f64 2 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 lambda2) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (fabs.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (sin.f64 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 phi1)))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (expm1.f64 (log1p.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))))))
(atan2.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) 3)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2))) 3))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))) 3)))
(atan2.f64 (*.f64 (-.f64 (*.f64 (sin.f64 (exp.f64 (log1p.f64 (-.f64 lambda1 lambda2)))) (cos.f64 1)) (*.f64 (cos.f64 (exp.f64 (log1p.f64 (-.f64 lambda1 lambda2)))) (sin.f64 1))) 1) (sin.f64 phi2))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (expm1.f64 (log1p.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))))
(atan2.f64 (sqrt.f64 (pow.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) 2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) 3)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))) 3)))
(atan2.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 3)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (sqrt.f64 (pow.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) 2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (sin.f64 phi1))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (log1p.f64 (expm1.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (log1p.f64 (expm1.f64 (cos.f64 (-.f64 lambda1 lambda2)))))))
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (expm1.f64 (log1p.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) 3)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (pow.f64 (cbrt.f64 (sin.f64 (-.f64 lambda1 lambda2))) 3) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sqrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 3) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 3)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (sqrt.f64 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (cbrt.f64 (pow.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))) 3))))
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (/.f64 (*.f64 (*.f64 (sin.f64 (+.f64 lambda2 lambda1)) (sin.f64 (-.f64 lambda1 lambda2))) (cos.f64 phi2)) (sin.f64 (+.f64 lambda2 lambda1))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 phi1 (*.f64 -1/6 (pow.f64 phi1 3))))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)))) 2) 3) (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (log.f64 (exp.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (expm1.f64 (log1p.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cbrt.f64 (pow.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))) 3)))
(atan2.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))
(atan2.f64 (/.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (+.f64 lambda2 lambda1)) (sin.f64 (-.f64 lambda1 lambda2)))) (sin.f64 (+.f64 lambda2 lambda1))) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (sin.f64 lambda2))))))
(atan2.f64 (*.f64 (fma.f64 (sqrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (sqrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (cos.f64 lambda1) (*.f64 lambda2 (sin.f64 lambda1))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) phi2) (*.f64 -1 (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(atan2.f64 (*.f64 (-.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) 3) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (sqrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) 2)))))
(atan2.f64 (*.f64 (-.f64 (log1p.f64 (expm1.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)))) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (fma.f64 lambda2 (sin.f64 lambda1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (+.f64 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2))) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (-.f64 (*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 phi2)) (+.f64 -1 (*.f64 (*.f64 lambda2 lambda2) 1/2))) (*.f64 lambda2 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (log.f64 (exp.f64 (fma.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (expm1.f64 (log1p.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (log.f64 (exp.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (cbrt.f64 (pow.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))) 3)))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (pow.f64 (sqrt.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))) 2))
(atan2.f64 (*.f64 (-.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) 3) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (sqrt.f64 (pow.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) 2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (sin.f64 lambda1) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (log.f64 (+.f64 1 (expm1.f64 (cos.f64 (-.f64 lambda1 lambda2))))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1))))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (+.f64 1 (*.f64 lambda2 (*.f64 lambda2 -1/2)))) (*.f64 (sin.f64 lambda1) (+.f64 lambda2 (*.f64 -1/6 (pow.f64 lambda2 3))))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2))))) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (fma.f64 (sqrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (sqrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (-.f64 (log1p.f64 (expm1.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)))) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1))))))))
(atan2.f64 (+.f64 (*.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (cos.f64 phi2)) (*.f64 (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2))) (cos.f64 phi2))) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
Outputs
(atan2.f64 (*.f64 (-.f64 (log1p.f64 (expm1.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)))) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1))))))))
Calls

7 calls:

180.0ms
lambda1
173.0ms
lambda2
170.0ms
phi2
169.0ms
(-.f64 lambda1 lambda2)
167.0ms
phi1
Results
ErrorSegmentsBranch
0.1b1lambda1
0.1b1lambda2
0.1b1phi1
0.1b1phi2
0.1b1(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
0.1b1(-.f64 lambda1 lambda2)
0.1b1(-.f64 lambda1 lambda2)
Compiler

Compiled 4824 to 939 computations (80.5% saved)

regimes1.2s (1.8%)

Counts
210 → 1
Calls
Call 1
Inputs
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) 1) (sin.f64 phi2))
(-.f64 (+.f64 1 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 1)
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 1/3 (*.f64 3 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 3 (*.f64 1/3 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 (-.f64 lambda1 lambda2) phi2)) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (sin.f64 phi2))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) 1))) (sin.f64 phi2))
(expm1.f64 (log1p.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(log1p.f64 (expm1.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(exp.f64 (log.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(log.f64 (exp.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(cbrt.f64 (pow.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2)) 2))
(pow.f64 (cbrt.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 3)
(log.f64 (exp.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(expm1.f64 (log1p.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(log1p.f64 (expm1.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(cbrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 2))
(pow.f64 (sqrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) 2)
(pow.f64 (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) 3)
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log1p.f64 (expm1.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(log.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
(exp.f64 (log.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (exp.f64 (log.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
(log.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (expm1.f64 (log1p.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log1p.f64 (expm1.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2))
(atan2.f64 (*.f64 (sqrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)) (cos.f64 phi2)) (sin.f64 phi2))
(cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))
(atan2.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 3) (sin.f64 phi2))
(sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2))
(pow.f64 (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))) 3)
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))))) (sin.f64 phi2))
(-.f64 (exp.f64 (log1p.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 1)
(log.f64 (+.f64 1 (expm1.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))) (sin.f64 phi2))
(-.f64 (exp.f64 (log1p.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 1)
(log.f64 (+.f64 1 (expm1.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))
(pow.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3) 1/3)
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (*.f64 (fma.f64 -1/2 (*.f64 phi2 phi2) 1) (E.f64)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 (*.f64 (sin.f64 lambda2) 1/2) lambda1))) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 phi1 (cos.f64 phi2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (sin.f64 phi2) (+.f64 1 (*.f64 -1/2 (*.f64 phi1 phi1)))) (*.f64 phi1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(pow.f64 (sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 6)) 1/3)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))))
(atan2.f64 (sin.f64 lambda1) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))
(pow.f64 (pow.f64 (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3) 1/3)
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 lambda1 (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (sin.f64 phi1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 phi1 (cos.f64 (-.f64 lambda2 lambda1)))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 -1/2 (*.f64 phi2 phi2)))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 lambda1 (*.f64 lambda1 -1/2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 1 (*.f64 lambda1 (*.f64 lambda1 -1/2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 -1/2 (*.f64 phi2 phi2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 phi1) phi2 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (+.f64 -1 (*.f64 1/2 (*.f64 phi2 phi2))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 phi1)))))
(atan2.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 (-.f64 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 (*.f64 lambda1 lambda1) (+.f64 -1/2 (*.f64 1/24 (*.f64 lambda1 lambda1)))))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 1 (*.f64 (*.f64 lambda1 lambda1) (+.f64 -1/2 (*.f64 1/24 (*.f64 lambda1 lambda1)))))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (+.f64 -1 (*.f64 1/2 (*.f64 phi2 phi2)))) (*.f64 (cos.f64 phi1) (+.f64 phi2 (*.f64 -1/6 (pow.f64 phi2 3))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (sin.f64 phi2) (+.f64 1 (*.f64 -1/2 (*.f64 phi1 phi1)))) (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (-.f64 (*.f64 1/6 (pow.f64 phi1 3)) phi1))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 phi2))) 3))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (neg.f64 (sin.f64 (fma.f64 -1 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (neg.f64 (sin.f64 (fma.f64 -1 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 lambda2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (/.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 (sin.f64 (-.f64 phi1 phi2)) (sin.f64 (+.f64 phi1 phi2)))) 2)))
(atan2.f64 (/.f64 1 (/.f64 2 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (/.f64 1 (/.f64 2 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 lambda2) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (fabs.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (sin.f64 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 phi1)))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (expm1.f64 (log1p.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))))))
(atan2.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) 3)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2))) 3))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))) 3)))
(atan2.f64 (*.f64 (-.f64 (*.f64 (sin.f64 (exp.f64 (log1p.f64 (-.f64 lambda1 lambda2)))) (cos.f64 1)) (*.f64 (cos.f64 (exp.f64 (log1p.f64 (-.f64 lambda1 lambda2)))) (sin.f64 1))) 1) (sin.f64 phi2))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (expm1.f64 (log1p.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))))
(atan2.f64 (sqrt.f64 (pow.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) 2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) 3)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))) 3)))
(atan2.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 3)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (sqrt.f64 (pow.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) 2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (sin.f64 phi1))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (log1p.f64 (expm1.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (log1p.f64 (expm1.f64 (cos.f64 (-.f64 lambda1 lambda2)))))))
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (expm1.f64 (log1p.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) 3)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (pow.f64 (cbrt.f64 (sin.f64 (-.f64 lambda1 lambda2))) 3) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sqrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 3) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 3)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (sqrt.f64 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (cbrt.f64 (pow.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))) 3))))
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (/.f64 (*.f64 (*.f64 (sin.f64 (+.f64 lambda2 lambda1)) (sin.f64 (-.f64 lambda1 lambda2))) (cos.f64 phi2)) (sin.f64 (+.f64 lambda2 lambda1))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 phi1 (*.f64 -1/6 (pow.f64 phi1 3))))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)))) 2) 3) (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (log.f64 (exp.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (expm1.f64 (log1p.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cbrt.f64 (pow.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))) 3)))
(atan2.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))
(atan2.f64 (/.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (+.f64 lambda2 lambda1)) (sin.f64 (-.f64 lambda1 lambda2)))) (sin.f64 (+.f64 lambda2 lambda1))) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (sin.f64 lambda2))))))
(atan2.f64 (*.f64 (fma.f64 (sqrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (sqrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (cos.f64 lambda1) (*.f64 lambda2 (sin.f64 lambda1))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) phi2) (*.f64 -1 (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(atan2.f64 (*.f64 (-.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) 3) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (sqrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) 2)))))
(atan2.f64 (*.f64 (-.f64 (log1p.f64 (expm1.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)))) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (fma.f64 lambda2 (sin.f64 lambda1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (+.f64 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2))) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (-.f64 (*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 phi2)) (+.f64 -1 (*.f64 (*.f64 lambda2 lambda2) 1/2))) (*.f64 lambda2 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (log.f64 (exp.f64 (fma.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (expm1.f64 (log1p.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (log.f64 (exp.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (cbrt.f64 (pow.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))) 3)))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (pow.f64 (sqrt.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))) 2))
(atan2.f64 (*.f64 (-.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) 3) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (sqrt.f64 (pow.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) 2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (sin.f64 lambda1) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (log.f64 (+.f64 1 (expm1.f64 (cos.f64 (-.f64 lambda1 lambda2))))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1))))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (+.f64 1 (*.f64 lambda2 (*.f64 lambda2 -1/2)))) (*.f64 (sin.f64 lambda1) (+.f64 lambda2 (*.f64 -1/6 (pow.f64 lambda2 3))))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2))))) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (fma.f64 (sqrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (sqrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
Outputs
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
Calls

7 calls:

170.0ms
phi2
168.0ms
(-.f64 lambda1 lambda2)
166.0ms
lambda1
165.0ms
lambda2
164.0ms
(-.f64 lambda1 lambda2)
Results
ErrorSegmentsBranch
0.2b1lambda1
0.2b1lambda2
0.2b1phi1
0.2b1phi2
0.2b1(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
0.2b1(-.f64 lambda1 lambda2)
0.2b1(-.f64 lambda1 lambda2)
Compiler

Compiled 4740 to 931 computations (80.4% saved)

regimes1.6s (2.4%)

Counts
207 → 1
Calls
Call 1
Inputs
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) 1) (sin.f64 phi2))
(-.f64 (+.f64 1 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 1)
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 1/3 (*.f64 3 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 3 (*.f64 1/3 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 (-.f64 lambda1 lambda2) phi2)) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (sin.f64 phi2))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) 1))) (sin.f64 phi2))
(expm1.f64 (log1p.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(log1p.f64 (expm1.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(exp.f64 (log.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(log.f64 (exp.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(cbrt.f64 (pow.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2)) 2))
(pow.f64 (cbrt.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 3)
(log.f64 (exp.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(expm1.f64 (log1p.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(log1p.f64 (expm1.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(cbrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 2))
(pow.f64 (sqrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) 2)
(pow.f64 (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) 3)
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log1p.f64 (expm1.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(log.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
(exp.f64 (log.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (exp.f64 (log.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
(log.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (expm1.f64 (log1p.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log1p.f64 (expm1.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2))
(atan2.f64 (*.f64 (sqrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)) (cos.f64 phi2)) (sin.f64 phi2))
(cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))
(atan2.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 3) (sin.f64 phi2))
(sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2))
(pow.f64 (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))) 3)
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))))) (sin.f64 phi2))
(-.f64 (exp.f64 (log1p.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 1)
(log.f64 (+.f64 1 (expm1.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))) (sin.f64 phi2))
(-.f64 (exp.f64 (log1p.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 1)
(log.f64 (+.f64 1 (expm1.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))
(pow.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3) 1/3)
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (*.f64 (fma.f64 -1/2 (*.f64 phi2 phi2) 1) (E.f64)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 (*.f64 (sin.f64 lambda2) 1/2) lambda1))) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 phi1 (cos.f64 phi2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (sin.f64 phi2) (+.f64 1 (*.f64 -1/2 (*.f64 phi1 phi1)))) (*.f64 phi1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(pow.f64 (sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 6)) 1/3)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))))
(atan2.f64 (sin.f64 lambda1) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))
(pow.f64 (pow.f64 (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3) 1/3)
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 lambda1 (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (sin.f64 phi1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 phi1 (cos.f64 (-.f64 lambda2 lambda1)))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 -1/2 (*.f64 phi2 phi2)))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 lambda1 (*.f64 lambda1 -1/2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 1 (*.f64 lambda1 (*.f64 lambda1 -1/2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 -1/2 (*.f64 phi2 phi2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 phi1) phi2 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (+.f64 -1 (*.f64 1/2 (*.f64 phi2 phi2))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 phi1)))))
(atan2.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 (-.f64 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 (*.f64 lambda1 lambda1) (+.f64 -1/2 (*.f64 1/24 (*.f64 lambda1 lambda1)))))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 1 (*.f64 (*.f64 lambda1 lambda1) (+.f64 -1/2 (*.f64 1/24 (*.f64 lambda1 lambda1)))))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (+.f64 -1 (*.f64 1/2 (*.f64 phi2 phi2)))) (*.f64 (cos.f64 phi1) (+.f64 phi2 (*.f64 -1/6 (pow.f64 phi2 3))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (sin.f64 phi2) (+.f64 1 (*.f64 -1/2 (*.f64 phi1 phi1)))) (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (-.f64 (*.f64 1/6 (pow.f64 phi1 3)) phi1))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 phi2))) 3))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (neg.f64 (sin.f64 (fma.f64 -1 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (neg.f64 (sin.f64 (fma.f64 -1 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 lambda2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (/.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 (sin.f64 (-.f64 phi1 phi2)) (sin.f64 (+.f64 phi1 phi2)))) 2)))
(atan2.f64 (/.f64 1 (/.f64 2 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (/.f64 1 (/.f64 2 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 lambda2) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (fabs.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (sin.f64 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 phi1)))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (expm1.f64 (log1p.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))))))
(atan2.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) 3)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2))) 3))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))) 3)))
(atan2.f64 (*.f64 (-.f64 (*.f64 (sin.f64 (exp.f64 (log1p.f64 (-.f64 lambda1 lambda2)))) (cos.f64 1)) (*.f64 (cos.f64 (exp.f64 (log1p.f64 (-.f64 lambda1 lambda2)))) (sin.f64 1))) 1) (sin.f64 phi2))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (expm1.f64 (log1p.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))))
(atan2.f64 (sqrt.f64 (pow.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) 2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) 3)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))) 3)))
(atan2.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 3)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (sqrt.f64 (pow.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) 2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (sin.f64 phi1))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (log1p.f64 (expm1.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (log1p.f64 (expm1.f64 (cos.f64 (-.f64 lambda1 lambda2)))))))
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (expm1.f64 (log1p.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) 3)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (pow.f64 (cbrt.f64 (sin.f64 (-.f64 lambda1 lambda2))) 3) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sqrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 3) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 3)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (sqrt.f64 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (cbrt.f64 (pow.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))) 3))))
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (/.f64 (*.f64 (*.f64 (sin.f64 (+.f64 lambda2 lambda1)) (sin.f64 (-.f64 lambda1 lambda2))) (cos.f64 phi2)) (sin.f64 (+.f64 lambda2 lambda1))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 phi1 (*.f64 -1/6 (pow.f64 phi1 3))))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)))) 2) 3) (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (log.f64 (exp.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (expm1.f64 (log1p.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cbrt.f64 (pow.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))) 3)))
(atan2.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))
(atan2.f64 (/.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (+.f64 lambda2 lambda1)) (sin.f64 (-.f64 lambda1 lambda2)))) (sin.f64 (+.f64 lambda2 lambda1))) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (sin.f64 lambda2))))))
(atan2.f64 (*.f64 (fma.f64 (sqrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (sqrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (cos.f64 lambda1) (*.f64 lambda2 (sin.f64 lambda1))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) phi2) (*.f64 -1 (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(atan2.f64 (*.f64 (-.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) 3) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (sqrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) 2)))))
(atan2.f64 (*.f64 (-.f64 (log1p.f64 (expm1.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)))) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (fma.f64 lambda2 (sin.f64 lambda1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (+.f64 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2))) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (-.f64 (*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 phi2)) (+.f64 -1 (*.f64 (*.f64 lambda2 lambda2) 1/2))) (*.f64 lambda2 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (log.f64 (exp.f64 (fma.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (expm1.f64 (log1p.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (log.f64 (exp.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (cbrt.f64 (pow.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))) 3)))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (pow.f64 (sqrt.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))) 2))
(atan2.f64 (*.f64 (-.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) 3) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (sqrt.f64 (pow.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) 2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (sin.f64 lambda1) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (log.f64 (+.f64 1 (expm1.f64 (cos.f64 (-.f64 lambda1 lambda2))))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1))))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (+.f64 1 (*.f64 lambda2 (*.f64 lambda2 -1/2)))) (*.f64 (sin.f64 lambda1) (+.f64 lambda2 (*.f64 -1/6 (pow.f64 lambda2 3))))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))))
Outputs
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1))))))))
Calls

7 calls:

281.0ms
lambda2
243.0ms
(-.f64 lambda1 lambda2)
219.0ms
lambda1
194.0ms
(-.f64 lambda1 lambda2)
194.0ms
phi1
Results
ErrorSegmentsBranch
0.2b1lambda1
0.2b1lambda2
0.2b1phi1
0.2b1phi2
0.2b1(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
0.2b1(-.f64 lambda1 lambda2)
0.2b1(-.f64 lambda1 lambda2)
Compiler

Compiled 4625 to 925 computations (80% saved)

regimes2.2s (3.2%)

Counts
204 → 3
Calls
Call 1
Inputs
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) 1) (sin.f64 phi2))
(-.f64 (+.f64 1 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 1)
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 1/3 (*.f64 3 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 3 (*.f64 1/3 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 (-.f64 lambda1 lambda2) phi2)) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (sin.f64 phi2))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) 1))) (sin.f64 phi2))
(expm1.f64 (log1p.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(log1p.f64 (expm1.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(exp.f64 (log.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(log.f64 (exp.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(cbrt.f64 (pow.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2)) 2))
(pow.f64 (cbrt.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 3)
(log.f64 (exp.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(expm1.f64 (log1p.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(log1p.f64 (expm1.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(cbrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 2))
(pow.f64 (sqrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) 2)
(pow.f64 (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) 3)
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log1p.f64 (expm1.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(log.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
(exp.f64 (log.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (exp.f64 (log.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
(log.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (expm1.f64 (log1p.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log1p.f64 (expm1.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2))
(atan2.f64 (*.f64 (sqrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)) (cos.f64 phi2)) (sin.f64 phi2))
(cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))
(atan2.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 3) (sin.f64 phi2))
(sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2))
(pow.f64 (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))) 3)
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))))) (sin.f64 phi2))
(-.f64 (exp.f64 (log1p.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 1)
(log.f64 (+.f64 1 (expm1.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))) (sin.f64 phi2))
(-.f64 (exp.f64 (log1p.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 1)
(log.f64 (+.f64 1 (expm1.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))
(pow.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3) 1/3)
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (*.f64 (fma.f64 -1/2 (*.f64 phi2 phi2) 1) (E.f64)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 (*.f64 (sin.f64 lambda2) 1/2) lambda1))) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 phi1 (cos.f64 phi2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (sin.f64 phi2) (+.f64 1 (*.f64 -1/2 (*.f64 phi1 phi1)))) (*.f64 phi1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(pow.f64 (sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 6)) 1/3)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))))
(atan2.f64 (sin.f64 lambda1) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))
(pow.f64 (pow.f64 (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3) 1/3)
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 lambda1 (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (sin.f64 phi1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 phi1 (cos.f64 (-.f64 lambda2 lambda1)))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 -1/2 (*.f64 phi2 phi2)))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 lambda1 (*.f64 lambda1 -1/2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 1 (*.f64 lambda1 (*.f64 lambda1 -1/2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 -1/2 (*.f64 phi2 phi2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 phi1) phi2 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (+.f64 -1 (*.f64 1/2 (*.f64 phi2 phi2))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 phi1)))))
(atan2.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 (-.f64 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 (*.f64 lambda1 lambda1) (+.f64 -1/2 (*.f64 1/24 (*.f64 lambda1 lambda1)))))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 1 (*.f64 (*.f64 lambda1 lambda1) (+.f64 -1/2 (*.f64 1/24 (*.f64 lambda1 lambda1)))))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (+.f64 -1 (*.f64 1/2 (*.f64 phi2 phi2)))) (*.f64 (cos.f64 phi1) (+.f64 phi2 (*.f64 -1/6 (pow.f64 phi2 3))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (sin.f64 phi2) (+.f64 1 (*.f64 -1/2 (*.f64 phi1 phi1)))) (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (-.f64 (*.f64 1/6 (pow.f64 phi1 3)) phi1))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 phi2))) 3))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (neg.f64 (sin.f64 (fma.f64 -1 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (neg.f64 (sin.f64 (fma.f64 -1 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 lambda2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (/.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 (sin.f64 (-.f64 phi1 phi2)) (sin.f64 (+.f64 phi1 phi2)))) 2)))
(atan2.f64 (/.f64 1 (/.f64 2 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (/.f64 1 (/.f64 2 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 lambda2) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (fabs.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (sin.f64 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 phi1)))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (expm1.f64 (log1p.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))))))
(atan2.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) 3)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2))) 3))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))) 3)))
(atan2.f64 (*.f64 (-.f64 (*.f64 (sin.f64 (exp.f64 (log1p.f64 (-.f64 lambda1 lambda2)))) (cos.f64 1)) (*.f64 (cos.f64 (exp.f64 (log1p.f64 (-.f64 lambda1 lambda2)))) (sin.f64 1))) 1) (sin.f64 phi2))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (expm1.f64 (log1p.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))))
(atan2.f64 (sqrt.f64 (pow.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) 2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) 3)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))) 3)))
(atan2.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 3)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (sqrt.f64 (pow.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) 2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (sin.f64 phi1))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (log1p.f64 (expm1.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (log1p.f64 (expm1.f64 (cos.f64 (-.f64 lambda1 lambda2)))))))
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (expm1.f64 (log1p.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) 3)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (pow.f64 (cbrt.f64 (sin.f64 (-.f64 lambda1 lambda2))) 3) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sqrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 3) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 3)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (sqrt.f64 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (cbrt.f64 (pow.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))) 3))))
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (/.f64 (*.f64 (*.f64 (sin.f64 (+.f64 lambda2 lambda1)) (sin.f64 (-.f64 lambda1 lambda2))) (cos.f64 phi2)) (sin.f64 (+.f64 lambda2 lambda1))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 phi1 (*.f64 -1/6 (pow.f64 phi1 3))))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)))) 2) 3) (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (log.f64 (exp.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (expm1.f64 (log1p.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cbrt.f64 (pow.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))) 3)))
(atan2.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))
(atan2.f64 (/.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (+.f64 lambda2 lambda1)) (sin.f64 (-.f64 lambda1 lambda2)))) (sin.f64 (+.f64 lambda2 lambda1))) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (sin.f64 lambda2))))))
(atan2.f64 (*.f64 (fma.f64 (sqrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (sqrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (cos.f64 lambda1) (*.f64 lambda2 (sin.f64 lambda1))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) phi2) (*.f64 -1 (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(atan2.f64 (*.f64 (-.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) 3) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (sqrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) 2)))))
(atan2.f64 (*.f64 (-.f64 (log1p.f64 (expm1.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)))) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (fma.f64 lambda2 (sin.f64 lambda1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (+.f64 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2))) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (-.f64 (*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 phi2)) (+.f64 -1 (*.f64 (*.f64 lambda2 lambda2) 1/2))) (*.f64 lambda2 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (log.f64 (exp.f64 (fma.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (expm1.f64 (log1p.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (log.f64 (exp.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (cbrt.f64 (pow.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))) 3)))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (pow.f64 (sqrt.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))) 2))
(atan2.f64 (*.f64 (-.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) 3) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (sqrt.f64 (pow.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) 2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (sin.f64 lambda1) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (log.f64 (+.f64 1 (expm1.f64 (cos.f64 (-.f64 lambda1 lambda2))))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
Outputs
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) phi2) (*.f64 -1 (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
Calls

7 calls:

634.0ms
phi2
292.0ms
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
270.0ms
phi1
242.0ms
(-.f64 lambda1 lambda2)
209.0ms
lambda1
Results
ErrorSegmentsBranch
4.6b1lambda1
4.6b1lambda2
4.6b1phi1
2.2b3phi2
4.6b1(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
4.6b1(-.f64 lambda1 lambda2)
4.6b1(-.f64 lambda1 lambda2)
Compiler

Compiled 4508 to 897 computations (80.1% saved)

bsearch504.0ms (0.7%)

Algorithm
binary-search
Steps
TimeLeftRight
243.0ms
6.0059583266716634e-33
1.2089737286838572e-25
258.0ms
-0.18686861791305784
-0.004236942942484344
Compiler

Compiled 35 to 23 computations (34.3% saved)

regimes1.9s (2.8%)

Counts
185 → 3
Calls
Call 1
Inputs
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) 1) (sin.f64 phi2))
(-.f64 (+.f64 1 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 1)
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 1/3 (*.f64 3 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 3 (*.f64 1/3 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 (-.f64 lambda1 lambda2) phi2)) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (sin.f64 phi2))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) 1))) (sin.f64 phi2))
(expm1.f64 (log1p.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(log1p.f64 (expm1.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(exp.f64 (log.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(log.f64 (exp.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(cbrt.f64 (pow.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2)) 2))
(pow.f64 (cbrt.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 3)
(log.f64 (exp.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(expm1.f64 (log1p.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(log1p.f64 (expm1.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(cbrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 2))
(pow.f64 (sqrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) 2)
(pow.f64 (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) 3)
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log1p.f64 (expm1.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(log.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
(exp.f64 (log.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (exp.f64 (log.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
(log.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (expm1.f64 (log1p.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log1p.f64 (expm1.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2))
(atan2.f64 (*.f64 (sqrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)) (cos.f64 phi2)) (sin.f64 phi2))
(cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))
(atan2.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 3) (sin.f64 phi2))
(sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2))
(pow.f64 (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))) 3)
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))))) (sin.f64 phi2))
(-.f64 (exp.f64 (log1p.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 1)
(log.f64 (+.f64 1 (expm1.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))) (sin.f64 phi2))
(-.f64 (exp.f64 (log1p.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 1)
(log.f64 (+.f64 1 (expm1.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))
(pow.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3) 1/3)
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (*.f64 (fma.f64 -1/2 (*.f64 phi2 phi2) 1) (E.f64)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 (*.f64 (sin.f64 lambda2) 1/2) lambda1))) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 phi1 (cos.f64 phi2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (sin.f64 phi2) (+.f64 1 (*.f64 -1/2 (*.f64 phi1 phi1)))) (*.f64 phi1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(pow.f64 (sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 6)) 1/3)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))))
(atan2.f64 (sin.f64 lambda1) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))
(pow.f64 (pow.f64 (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3) 1/3)
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 lambda1 (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (sin.f64 phi1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 phi1 (cos.f64 (-.f64 lambda2 lambda1)))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 -1/2 (*.f64 phi2 phi2)))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 lambda1 (*.f64 lambda1 -1/2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 1 (*.f64 lambda1 (*.f64 lambda1 -1/2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 -1/2 (*.f64 phi2 phi2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 phi1) phi2 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (+.f64 -1 (*.f64 1/2 (*.f64 phi2 phi2))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 phi1)))))
(atan2.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 (-.f64 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 (*.f64 lambda1 lambda1) (+.f64 -1/2 (*.f64 1/24 (*.f64 lambda1 lambda1)))))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 1 (*.f64 (*.f64 lambda1 lambda1) (+.f64 -1/2 (*.f64 1/24 (*.f64 lambda1 lambda1)))))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (+.f64 -1 (*.f64 1/2 (*.f64 phi2 phi2)))) (*.f64 (cos.f64 phi1) (+.f64 phi2 (*.f64 -1/6 (pow.f64 phi2 3))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (sin.f64 phi2) (+.f64 1 (*.f64 -1/2 (*.f64 phi1 phi1)))) (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (-.f64 (*.f64 1/6 (pow.f64 phi1 3)) phi1))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 phi2))) 3))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (neg.f64 (sin.f64 (fma.f64 -1 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (neg.f64 (sin.f64 (fma.f64 -1 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 lambda2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (/.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 (sin.f64 (-.f64 phi1 phi2)) (sin.f64 (+.f64 phi1 phi2)))) 2)))
(atan2.f64 (/.f64 1 (/.f64 2 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (/.f64 1 (/.f64 2 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 lambda2) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (fabs.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (sin.f64 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 phi1)))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (expm1.f64 (log1p.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))))))
(atan2.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) 3)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2))) 3))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))) 3)))
(atan2.f64 (*.f64 (-.f64 (*.f64 (sin.f64 (exp.f64 (log1p.f64 (-.f64 lambda1 lambda2)))) (cos.f64 1)) (*.f64 (cos.f64 (exp.f64 (log1p.f64 (-.f64 lambda1 lambda2)))) (sin.f64 1))) 1) (sin.f64 phi2))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (expm1.f64 (log1p.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))))
(atan2.f64 (sqrt.f64 (pow.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) 2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) 3)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))) 3)))
(atan2.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 3)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (sqrt.f64 (pow.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) 2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (sin.f64 phi1))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (log1p.f64 (expm1.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (log1p.f64 (expm1.f64 (cos.f64 (-.f64 lambda1 lambda2)))))))
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (expm1.f64 (log1p.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) 3)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (pow.f64 (cbrt.f64 (sin.f64 (-.f64 lambda1 lambda2))) 3) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sqrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 3) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 3)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (sqrt.f64 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (cbrt.f64 (pow.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))) 3))))
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (/.f64 (*.f64 (*.f64 (sin.f64 (+.f64 lambda2 lambda1)) (sin.f64 (-.f64 lambda1 lambda2))) (cos.f64 phi2)) (sin.f64 (+.f64 lambda2 lambda1))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 phi1 (*.f64 -1/6 (pow.f64 phi1 3))))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)))) 2) 3) (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (log.f64 (exp.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (expm1.f64 (log1p.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cbrt.f64 (pow.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))) 3)))
(atan2.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))
(atan2.f64 (/.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (+.f64 lambda2 lambda1)) (sin.f64 (-.f64 lambda1 lambda2)))) (sin.f64 (+.f64 lambda2 lambda1))) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (sin.f64 lambda2))))))
(atan2.f64 (*.f64 (fma.f64 (sqrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (sqrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (cos.f64 lambda1) (*.f64 lambda2 (sin.f64 lambda1))))))
Outputs
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
Calls

7 calls:

558.0ms
phi2
233.0ms
lambda1
211.0ms
phi1
204.0ms
(-.f64 lambda1 lambda2)
172.0ms
(-.f64 lambda1 lambda2)
Results
ErrorSegmentsBranch
4.6b1lambda1
4.6b1lambda2
4.6b1phi1
2.6b3phi2
4.6b1(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
4.6b1(-.f64 lambda1 lambda2)
4.6b1(-.f64 lambda1 lambda2)
Compiler

Compiled 3857 to 819 computations (78.8% saved)

bsearch640.0ms (0.9%)

Algorithm
binary-search
Steps
TimeLeftRight
350.0ms
5.0602178820661e-78
2.4721896531613625e-73
288.0ms
-3.847108894905766e-15
-2.0257091962516125e-18
Compiler

Compiled 35 to 23 computations (34.3% saved)

regimes1.4s (2.1%)

Counts
183 → 3
Calls
Call 1
Inputs
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) 1) (sin.f64 phi2))
(-.f64 (+.f64 1 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 1)
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 1/3 (*.f64 3 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 3 (*.f64 1/3 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 (-.f64 lambda1 lambda2) phi2)) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (sin.f64 phi2))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) 1))) (sin.f64 phi2))
(expm1.f64 (log1p.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(log1p.f64 (expm1.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(exp.f64 (log.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(log.f64 (exp.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(cbrt.f64 (pow.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2)) 2))
(pow.f64 (cbrt.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 3)
(log.f64 (exp.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(expm1.f64 (log1p.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(log1p.f64 (expm1.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(cbrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 2))
(pow.f64 (sqrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) 2)
(pow.f64 (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) 3)
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log1p.f64 (expm1.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(log.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
(exp.f64 (log.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (exp.f64 (log.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
(log.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (expm1.f64 (log1p.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log1p.f64 (expm1.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2))
(atan2.f64 (*.f64 (sqrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)) (cos.f64 phi2)) (sin.f64 phi2))
(cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))
(atan2.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 3) (sin.f64 phi2))
(sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2))
(pow.f64 (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))) 3)
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))))) (sin.f64 phi2))
(-.f64 (exp.f64 (log1p.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 1)
(log.f64 (+.f64 1 (expm1.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))) (sin.f64 phi2))
(-.f64 (exp.f64 (log1p.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 1)
(log.f64 (+.f64 1 (expm1.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))
(pow.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3) 1/3)
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (*.f64 (fma.f64 -1/2 (*.f64 phi2 phi2) 1) (E.f64)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 (*.f64 (sin.f64 lambda2) 1/2) lambda1))) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 phi1 (cos.f64 phi2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (sin.f64 phi2) (+.f64 1 (*.f64 -1/2 (*.f64 phi1 phi1)))) (*.f64 phi1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(pow.f64 (sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 6)) 1/3)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))))
(atan2.f64 (sin.f64 lambda1) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))
(pow.f64 (pow.f64 (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3) 1/3)
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 lambda1 (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (sin.f64 phi1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 phi1 (cos.f64 (-.f64 lambda2 lambda1)))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 -1/2 (*.f64 phi2 phi2)))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 lambda1 (*.f64 lambda1 -1/2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 1 (*.f64 lambda1 (*.f64 lambda1 -1/2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 -1/2 (*.f64 phi2 phi2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 phi1) phi2 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (+.f64 -1 (*.f64 1/2 (*.f64 phi2 phi2))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 phi1)))))
(atan2.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 (-.f64 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 (*.f64 lambda1 lambda1) (+.f64 -1/2 (*.f64 1/24 (*.f64 lambda1 lambda1)))))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 1 (*.f64 (*.f64 lambda1 lambda1) (+.f64 -1/2 (*.f64 1/24 (*.f64 lambda1 lambda1)))))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (+.f64 -1 (*.f64 1/2 (*.f64 phi2 phi2)))) (*.f64 (cos.f64 phi1) (+.f64 phi2 (*.f64 -1/6 (pow.f64 phi2 3))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (sin.f64 phi2) (+.f64 1 (*.f64 -1/2 (*.f64 phi1 phi1)))) (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (-.f64 (*.f64 1/6 (pow.f64 phi1 3)) phi1))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 phi2))) 3))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (neg.f64 (sin.f64 (fma.f64 -1 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (neg.f64 (sin.f64 (fma.f64 -1 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 lambda2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (/.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 (sin.f64 (-.f64 phi1 phi2)) (sin.f64 (+.f64 phi1 phi2)))) 2)))
(atan2.f64 (/.f64 1 (/.f64 2 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (/.f64 1 (/.f64 2 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 lambda2) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (fabs.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (sin.f64 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 phi1)))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (expm1.f64 (log1p.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))))))
(atan2.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) 3)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2))) 3))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))) 3)))
(atan2.f64 (*.f64 (-.f64 (*.f64 (sin.f64 (exp.f64 (log1p.f64 (-.f64 lambda1 lambda2)))) (cos.f64 1)) (*.f64 (cos.f64 (exp.f64 (log1p.f64 (-.f64 lambda1 lambda2)))) (sin.f64 1))) 1) (sin.f64 phi2))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (expm1.f64 (log1p.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))))
(atan2.f64 (sqrt.f64 (pow.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) 2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) 3)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))) 3)))
(atan2.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 3)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (sqrt.f64 (pow.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) 2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (sin.f64 phi1))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (log1p.f64 (expm1.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (log1p.f64 (expm1.f64 (cos.f64 (-.f64 lambda1 lambda2)))))))
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (expm1.f64 (log1p.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) 3)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (pow.f64 (cbrt.f64 (sin.f64 (-.f64 lambda1 lambda2))) 3) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sqrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 3) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 3)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (sqrt.f64 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (cbrt.f64 (pow.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))) 3))))
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (/.f64 (*.f64 (*.f64 (sin.f64 (+.f64 lambda2 lambda1)) (sin.f64 (-.f64 lambda1 lambda2))) (cos.f64 phi2)) (sin.f64 (+.f64 lambda2 lambda1))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 phi1 (*.f64 -1/6 (pow.f64 phi1 3))))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)))) 2) 3) (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (log.f64 (exp.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (expm1.f64 (log1p.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cbrt.f64 (pow.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))) 3)))
(atan2.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))
(atan2.f64 (/.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (+.f64 lambda2 lambda1)) (sin.f64 (-.f64 lambda1 lambda2)))) (sin.f64 (+.f64 lambda2 lambda1))) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (sin.f64 lambda2))))))
(atan2.f64 (*.f64 (fma.f64 (sqrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (sqrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
Outputs
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))
(atan2.f64 (*.f64 (fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
Calls

7 calls:

396.0ms
phi2
194.0ms
(-.f64 lambda1 lambda2)
165.0ms
lambda2
164.0ms
(-.f64 lambda1 lambda2)
152.0ms
lambda1
Results
ErrorSegmentsBranch
4.6b1lambda1
4.6b1lambda2
4.6b1phi1
2.6b3phi2
4.6b1(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
4.6b1(-.f64 lambda1 lambda2)
4.6b1(-.f64 lambda1 lambda2)
Compiler

Compiled 3792 to 814 computations (78.5% saved)

bsearch434.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
204.0ms
5.0602178820661e-78
2.4721896531613625e-73
228.0ms
-3.847108894905766e-15
-2.0257091962516125e-18
Compiler

Compiled 35 to 23 computations (34.3% saved)

regimes1.7s (2.4%)

Counts
182 → 3
Calls
Call 1
Inputs
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) 1) (sin.f64 phi2))
(-.f64 (+.f64 1 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 1)
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 1/3 (*.f64 3 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 3 (*.f64 1/3 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 (-.f64 lambda1 lambda2) phi2)) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (sin.f64 phi2))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) 1))) (sin.f64 phi2))
(expm1.f64 (log1p.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(log1p.f64 (expm1.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(exp.f64 (log.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(log.f64 (exp.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(cbrt.f64 (pow.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2)) 2))
(pow.f64 (cbrt.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 3)
(log.f64 (exp.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(expm1.f64 (log1p.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(log1p.f64 (expm1.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(cbrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 2))
(pow.f64 (sqrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) 2)
(pow.f64 (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) 3)
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log1p.f64 (expm1.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(log.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
(exp.f64 (log.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (exp.f64 (log.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
(log.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (expm1.f64 (log1p.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log1p.f64 (expm1.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2))
(atan2.f64 (*.f64 (sqrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)) (cos.f64 phi2)) (sin.f64 phi2))
(cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))
(atan2.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 3) (sin.f64 phi2))
(sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2))
(pow.f64 (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))) 3)
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))))) (sin.f64 phi2))
(-.f64 (exp.f64 (log1p.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 1)
(log.f64 (+.f64 1 (expm1.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))) (sin.f64 phi2))
(-.f64 (exp.f64 (log1p.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 1)
(log.f64 (+.f64 1 (expm1.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))
(pow.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3) 1/3)
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (*.f64 (fma.f64 -1/2 (*.f64 phi2 phi2) 1) (E.f64)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 (*.f64 (sin.f64 lambda2) 1/2) lambda1))) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 phi1 (cos.f64 phi2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (sin.f64 phi2) (+.f64 1 (*.f64 -1/2 (*.f64 phi1 phi1)))) (*.f64 phi1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(pow.f64 (sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 6)) 1/3)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))))
(atan2.f64 (sin.f64 lambda1) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))
(pow.f64 (pow.f64 (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3) 1/3)
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 lambda1 (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (sin.f64 phi1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 phi1 (cos.f64 (-.f64 lambda2 lambda1)))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 -1/2 (*.f64 phi2 phi2)))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 lambda1 (*.f64 lambda1 -1/2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 1 (*.f64 lambda1 (*.f64 lambda1 -1/2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 -1/2 (*.f64 phi2 phi2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 phi1) phi2 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (+.f64 -1 (*.f64 1/2 (*.f64 phi2 phi2))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 phi1)))))
(atan2.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 (-.f64 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 (*.f64 lambda1 lambda1) (+.f64 -1/2 (*.f64 1/24 (*.f64 lambda1 lambda1)))))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 1 (*.f64 (*.f64 lambda1 lambda1) (+.f64 -1/2 (*.f64 1/24 (*.f64 lambda1 lambda1)))))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (+.f64 -1 (*.f64 1/2 (*.f64 phi2 phi2)))) (*.f64 (cos.f64 phi1) (+.f64 phi2 (*.f64 -1/6 (pow.f64 phi2 3))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (sin.f64 phi2) (+.f64 1 (*.f64 -1/2 (*.f64 phi1 phi1)))) (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (-.f64 (*.f64 1/6 (pow.f64 phi1 3)) phi1))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 phi2))) 3))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (neg.f64 (sin.f64 (fma.f64 -1 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (neg.f64 (sin.f64 (fma.f64 -1 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 lambda2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (/.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 (sin.f64 (-.f64 phi1 phi2)) (sin.f64 (+.f64 phi1 phi2)))) 2)))
(atan2.f64 (/.f64 1 (/.f64 2 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (/.f64 1 (/.f64 2 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 lambda2) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (fabs.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (sin.f64 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 phi1)))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (expm1.f64 (log1p.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))))))
(atan2.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) 3)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2))) 3))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))) 3)))
(atan2.f64 (*.f64 (-.f64 (*.f64 (sin.f64 (exp.f64 (log1p.f64 (-.f64 lambda1 lambda2)))) (cos.f64 1)) (*.f64 (cos.f64 (exp.f64 (log1p.f64 (-.f64 lambda1 lambda2)))) (sin.f64 1))) 1) (sin.f64 phi2))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (expm1.f64 (log1p.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))))
(atan2.f64 (sqrt.f64 (pow.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) 2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) 3)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))) 3)))
(atan2.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 3)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (sqrt.f64 (pow.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) 2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (sin.f64 phi1))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (log1p.f64 (expm1.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (log1p.f64 (expm1.f64 (cos.f64 (-.f64 lambda1 lambda2)))))))
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (expm1.f64 (log1p.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) 3)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (pow.f64 (cbrt.f64 (sin.f64 (-.f64 lambda1 lambda2))) 3) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sqrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 3) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 3)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (sqrt.f64 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (cbrt.f64 (pow.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))) 3))))
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (/.f64 (*.f64 (*.f64 (sin.f64 (+.f64 lambda2 lambda1)) (sin.f64 (-.f64 lambda1 lambda2))) (cos.f64 phi2)) (sin.f64 (+.f64 lambda2 lambda1))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 phi1 (*.f64 -1/6 (pow.f64 phi1 3))))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)))) 2) 3) (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (log.f64 (exp.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (expm1.f64 (log1p.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cbrt.f64 (pow.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))) 3)))
(atan2.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))
(atan2.f64 (/.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (+.f64 lambda2 lambda1)) (sin.f64 (-.f64 lambda1 lambda2)))) (sin.f64 (+.f64 lambda2 lambda1))) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (sin.f64 lambda2))))))
(atan2.f64 (*.f64 (fma.f64 (sqrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (sqrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
Outputs
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
Calls

7 calls:

503.0ms
phi2
213.0ms
(-.f64 lambda1 lambda2)
210.0ms
(-.f64 lambda1 lambda2)
172.0ms
lambda1
172.0ms
phi1
Results
ErrorSegmentsBranch
4.6b1lambda1
4.6b1lambda2
4.6b1phi1
2.6b3phi2
4.6b1(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
4.6b1(-.f64 lambda1 lambda2)
4.6b1(-.f64 lambda1 lambda2)
Compiler

Compiled 3761 to 811 computations (78.4% saved)

bsearch435.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
212.0ms
5.0602178820661e-78
2.4721896531613625e-73
221.0ms
-3.847108894905766e-15
-2.0257091962516125e-18
Compiler

Compiled 35 to 23 computations (34.3% saved)

regimes2.8s (4.1%)

Counts
176 → 3
Calls
Call 1
Inputs
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) 1) (sin.f64 phi2))
(-.f64 (+.f64 1 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 1)
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 1/3 (*.f64 3 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 3 (*.f64 1/3 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 (-.f64 lambda1 lambda2) phi2)) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (sin.f64 phi2))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) 1))) (sin.f64 phi2))
(expm1.f64 (log1p.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(log1p.f64 (expm1.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(exp.f64 (log.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(log.f64 (exp.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(cbrt.f64 (pow.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2)) 2))
(pow.f64 (cbrt.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 3)
(log.f64 (exp.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(expm1.f64 (log1p.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(log1p.f64 (expm1.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(cbrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 2))
(pow.f64 (sqrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) 2)
(pow.f64 (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) 3)
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log1p.f64 (expm1.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(log.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
(exp.f64 (log.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (exp.f64 (log.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
(log.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (expm1.f64 (log1p.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log1p.f64 (expm1.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2))
(atan2.f64 (*.f64 (sqrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)) (cos.f64 phi2)) (sin.f64 phi2))
(cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))
(atan2.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 3) (sin.f64 phi2))
(sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2))
(pow.f64 (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))) 3)
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))))) (sin.f64 phi2))
(-.f64 (exp.f64 (log1p.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 1)
(log.f64 (+.f64 1 (expm1.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))) (sin.f64 phi2))
(-.f64 (exp.f64 (log1p.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 1)
(log.f64 (+.f64 1 (expm1.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))
(pow.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3) 1/3)
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (*.f64 (fma.f64 -1/2 (*.f64 phi2 phi2) 1) (E.f64)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 (*.f64 (sin.f64 lambda2) 1/2) lambda1))) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 phi1 (cos.f64 phi2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (sin.f64 phi2) (+.f64 1 (*.f64 -1/2 (*.f64 phi1 phi1)))) (*.f64 phi1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(pow.f64 (sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 6)) 1/3)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))))
(atan2.f64 (sin.f64 lambda1) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))
(pow.f64 (pow.f64 (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3) 1/3)
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 lambda1 (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (sin.f64 phi1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 phi1 (cos.f64 (-.f64 lambda2 lambda1)))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 -1/2 (*.f64 phi2 phi2)))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 lambda1 (*.f64 lambda1 -1/2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 1 (*.f64 lambda1 (*.f64 lambda1 -1/2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 -1/2 (*.f64 phi2 phi2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 phi1) phi2 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (+.f64 -1 (*.f64 1/2 (*.f64 phi2 phi2))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 phi1)))))
(atan2.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 (-.f64 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 (*.f64 lambda1 lambda1) (+.f64 -1/2 (*.f64 1/24 (*.f64 lambda1 lambda1)))))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 1 (*.f64 (*.f64 lambda1 lambda1) (+.f64 -1/2 (*.f64 1/24 (*.f64 lambda1 lambda1)))))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (+.f64 -1 (*.f64 1/2 (*.f64 phi2 phi2)))) (*.f64 (cos.f64 phi1) (+.f64 phi2 (*.f64 -1/6 (pow.f64 phi2 3))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (sin.f64 phi2) (+.f64 1 (*.f64 -1/2 (*.f64 phi1 phi1)))) (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (-.f64 (*.f64 1/6 (pow.f64 phi1 3)) phi1))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 phi2))) 3))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (neg.f64 (sin.f64 (fma.f64 -1 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (neg.f64 (sin.f64 (fma.f64 -1 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 lambda2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (/.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 (sin.f64 (-.f64 phi1 phi2)) (sin.f64 (+.f64 phi1 phi2)))) 2)))
(atan2.f64 (/.f64 1 (/.f64 2 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (/.f64 1 (/.f64 2 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 lambda2) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (fabs.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (sin.f64 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 phi1)))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (expm1.f64 (log1p.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))))))
(atan2.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) 3)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2))) 3))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))) 3)))
(atan2.f64 (*.f64 (-.f64 (*.f64 (sin.f64 (exp.f64 (log1p.f64 (-.f64 lambda1 lambda2)))) (cos.f64 1)) (*.f64 (cos.f64 (exp.f64 (log1p.f64 (-.f64 lambda1 lambda2)))) (sin.f64 1))) 1) (sin.f64 phi2))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (expm1.f64 (log1p.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))))
(atan2.f64 (sqrt.f64 (pow.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) 2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) 3)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))) 3)))
(atan2.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 3)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (sqrt.f64 (pow.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) 2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (sin.f64 phi1))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (log1p.f64 (expm1.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (log1p.f64 (expm1.f64 (cos.f64 (-.f64 lambda1 lambda2)))))))
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (expm1.f64 (log1p.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) 3)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (pow.f64 (cbrt.f64 (sin.f64 (-.f64 lambda1 lambda2))) 3) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sqrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 3) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 3)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (sqrt.f64 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (cbrt.f64 (pow.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))) 3))))
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (/.f64 (*.f64 (*.f64 (sin.f64 (+.f64 lambda2 lambda1)) (sin.f64 (-.f64 lambda1 lambda2))) (cos.f64 phi2)) (sin.f64 (+.f64 lambda2 lambda1))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 phi1 (*.f64 -1/6 (pow.f64 phi1 3))))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)))) 2) 3) (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (log.f64 (exp.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (expm1.f64 (log1p.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cbrt.f64 (pow.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))) 3)))
(atan2.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))))
Outputs
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(atan2.f64 (+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
Calls

7 calls:

600.0ms
(-.f64 lambda1 lambda2)
508.0ms
(-.f64 lambda1 lambda2)
385.0ms
lambda1
377.0ms
phi2
369.0ms
lambda2
Results
ErrorSegmentsBranch
4.6b3lambda1
4.5b3lambda2
5.2b3phi1
5.0b3phi2
8.9b1(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
6.7b3(-.f64 lambda1 lambda2)
6.7b3(-.f64 lambda1 lambda2)
Compiler

Compiled 3573 to 786 computations (78% saved)

bsearch417.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
209.0ms
0.00012043169656984613
2948.405399905771
206.0ms
-1255977.127201531
-90955.82393086591
Compiler

Compiled 35 to 23 computations (34.3% saved)

regimes2.9s (4.3%)

Counts
171 → 3
Calls
Call 1
Inputs
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) 1) (sin.f64 phi2))
(-.f64 (+.f64 1 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 1)
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 1/3 (*.f64 3 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 3 (*.f64 1/3 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 (-.f64 lambda1 lambda2) phi2)) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (sin.f64 phi2))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) 1))) (sin.f64 phi2))
(expm1.f64 (log1p.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(log1p.f64 (expm1.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(exp.f64 (log.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(log.f64 (exp.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(cbrt.f64 (pow.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2)) 2))
(pow.f64 (cbrt.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 3)
(log.f64 (exp.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(expm1.f64 (log1p.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(log1p.f64 (expm1.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(cbrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 2))
(pow.f64 (sqrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) 2)
(pow.f64 (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) 3)
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log1p.f64 (expm1.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(log.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
(exp.f64 (log.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (exp.f64 (log.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
(log.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (expm1.f64 (log1p.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log1p.f64 (expm1.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2))
(atan2.f64 (*.f64 (sqrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)) (cos.f64 phi2)) (sin.f64 phi2))
(cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))
(atan2.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 3) (sin.f64 phi2))
(sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2))
(pow.f64 (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))) 3)
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))))) (sin.f64 phi2))
(-.f64 (exp.f64 (log1p.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 1)
(log.f64 (+.f64 1 (expm1.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))) (sin.f64 phi2))
(-.f64 (exp.f64 (log1p.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 1)
(log.f64 (+.f64 1 (expm1.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))
(pow.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3) 1/3)
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (*.f64 (fma.f64 -1/2 (*.f64 phi2 phi2) 1) (E.f64)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 (*.f64 (sin.f64 lambda2) 1/2) lambda1))) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 phi1 (cos.f64 phi2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (sin.f64 phi2) (+.f64 1 (*.f64 -1/2 (*.f64 phi1 phi1)))) (*.f64 phi1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(pow.f64 (sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 6)) 1/3)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))))
(atan2.f64 (sin.f64 lambda1) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))
(pow.f64 (pow.f64 (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3) 1/3)
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 lambda1 (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (sin.f64 phi1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 phi1 (cos.f64 (-.f64 lambda2 lambda1)))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 -1/2 (*.f64 phi2 phi2)))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 lambda1 (*.f64 lambda1 -1/2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 1 (*.f64 lambda1 (*.f64 lambda1 -1/2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 -1/2 (*.f64 phi2 phi2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 phi1) phi2 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (+.f64 -1 (*.f64 1/2 (*.f64 phi2 phi2))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 phi1)))))
(atan2.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 (-.f64 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 (*.f64 lambda1 lambda1) (+.f64 -1/2 (*.f64 1/24 (*.f64 lambda1 lambda1)))))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 1 (*.f64 (*.f64 lambda1 lambda1) (+.f64 -1/2 (*.f64 1/24 (*.f64 lambda1 lambda1)))))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (+.f64 -1 (*.f64 1/2 (*.f64 phi2 phi2)))) (*.f64 (cos.f64 phi1) (+.f64 phi2 (*.f64 -1/6 (pow.f64 phi2 3))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (sin.f64 phi2) (+.f64 1 (*.f64 -1/2 (*.f64 phi1 phi1)))) (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (-.f64 (*.f64 1/6 (pow.f64 phi1 3)) phi1))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 phi2))) 3))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (neg.f64 (sin.f64 (fma.f64 -1 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (neg.f64 (sin.f64 (fma.f64 -1 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 lambda2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (/.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 (sin.f64 (-.f64 phi1 phi2)) (sin.f64 (+.f64 phi1 phi2)))) 2)))
(atan2.f64 (/.f64 1 (/.f64 2 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (/.f64 1 (/.f64 2 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 lambda2) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (fabs.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (sin.f64 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 phi1)))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (expm1.f64 (log1p.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))))))
(atan2.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) 3)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2))) 3))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))) 3)))
(atan2.f64 (*.f64 (-.f64 (*.f64 (sin.f64 (exp.f64 (log1p.f64 (-.f64 lambda1 lambda2)))) (cos.f64 1)) (*.f64 (cos.f64 (exp.f64 (log1p.f64 (-.f64 lambda1 lambda2)))) (sin.f64 1))) 1) (sin.f64 phi2))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (expm1.f64 (log1p.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))))
(atan2.f64 (sqrt.f64 (pow.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) 2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) 3)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))) 3)))
(atan2.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 3)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (sqrt.f64 (pow.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) 2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (sin.f64 phi1))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (log1p.f64 (expm1.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (log1p.f64 (expm1.f64 (cos.f64 (-.f64 lambda1 lambda2)))))))
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (expm1.f64 (log1p.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) 3)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (pow.f64 (cbrt.f64 (sin.f64 (-.f64 lambda1 lambda2))) 3) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sqrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 3) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 3)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (sqrt.f64 (pow.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (cbrt.f64 (pow.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))) 3))))
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (/.f64 (*.f64 (*.f64 (sin.f64 (+.f64 lambda2 lambda1)) (sin.f64 (-.f64 lambda1 lambda2))) (cos.f64 phi2)) (sin.f64 (+.f64 lambda2 lambda1))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 phi1 (*.f64 -1/6 (pow.f64 phi1 3))))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)))) 2) 3) (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (log.f64 (exp.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (expm1.f64 (log1p.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cbrt.f64 (pow.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (*.f64 (cos.f64 phi1) (sin.f64 phi2))) 3)))
(atan2.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda2) (cos.f64 lambda1))) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
Outputs
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (sin.f64 phi1))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (expm1.f64 (log1p.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))))))
Calls

7 calls:

568.0ms
(-.f64 lambda1 lambda2)
556.0ms
(-.f64 lambda1 lambda2)
458.0ms
lambda2
453.0ms
lambda1
346.0ms
phi1
Results
ErrorSegmentsBranch
6.9b3lambda1
7.9b3lambda2
5.2b3phi1
9.1b3phi2
11.2b1(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
7.2b5(-.f64 lambda1 lambda2)
7.2b5(-.f64 lambda1 lambda2)
Compiler

Compiled 3423 to 769 computations (77.5% saved)

bsearch432.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
210.0ms
2.581290684068906e-34
1.2844476847570653e-30
220.0ms
-1.0820142962092914e-8
-7.0852605883453e-10
Compiler

Compiled 35 to 23 computations (34.3% saved)

regimes2.5s (3.7%)

Counts
151 → 3
Calls
Call 1
Inputs
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) 1) (sin.f64 phi2))
(-.f64 (+.f64 1 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 1)
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 1/3 (*.f64 3 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 3 (*.f64 1/3 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 (-.f64 lambda1 lambda2) phi2)) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (sin.f64 phi2))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) 1))) (sin.f64 phi2))
(expm1.f64 (log1p.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(log1p.f64 (expm1.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(exp.f64 (log.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(log.f64 (exp.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(cbrt.f64 (pow.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2)) 2))
(pow.f64 (cbrt.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 3)
(log.f64 (exp.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(expm1.f64 (log1p.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(log1p.f64 (expm1.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(cbrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 2))
(pow.f64 (sqrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) 2)
(pow.f64 (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) 3)
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log1p.f64 (expm1.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(log.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
(exp.f64 (log.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (exp.f64 (log.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
(log.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (expm1.f64 (log1p.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log1p.f64 (expm1.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2))
(atan2.f64 (*.f64 (sqrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)) (cos.f64 phi2)) (sin.f64 phi2))
(cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))
(atan2.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 3) (sin.f64 phi2))
(sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2))
(pow.f64 (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))) 3)
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))))) (sin.f64 phi2))
(-.f64 (exp.f64 (log1p.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 1)
(log.f64 (+.f64 1 (expm1.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))) (sin.f64 phi2))
(-.f64 (exp.f64 (log1p.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 1)
(log.f64 (+.f64 1 (expm1.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))
(pow.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3) 1/3)
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (*.f64 (fma.f64 -1/2 (*.f64 phi2 phi2) 1) (E.f64)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 (*.f64 (sin.f64 lambda2) 1/2) lambda1))) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 phi1 (cos.f64 phi2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (sin.f64 phi2) (+.f64 1 (*.f64 -1/2 (*.f64 phi1 phi1)))) (*.f64 phi1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(pow.f64 (sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 6)) 1/3)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))))
(atan2.f64 (sin.f64 lambda1) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))
(pow.f64 (pow.f64 (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3) 1/3)
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 lambda1 (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (sin.f64 phi1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 phi1 (cos.f64 (-.f64 lambda2 lambda1)))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 -1/2 (*.f64 phi2 phi2)))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 lambda1 (*.f64 lambda1 -1/2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 1 (*.f64 lambda1 (*.f64 lambda1 -1/2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 -1/2 (*.f64 phi2 phi2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 phi1) phi2 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (+.f64 -1 (*.f64 1/2 (*.f64 phi2 phi2))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 phi1)))))
(atan2.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 (-.f64 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 (*.f64 lambda1 lambda1) (+.f64 -1/2 (*.f64 1/24 (*.f64 lambda1 lambda1)))))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 1 (*.f64 (*.f64 lambda1 lambda1) (+.f64 -1/2 (*.f64 1/24 (*.f64 lambda1 lambda1)))))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (+.f64 -1 (*.f64 1/2 (*.f64 phi2 phi2)))) (*.f64 (cos.f64 phi1) (+.f64 phi2 (*.f64 -1/6 (pow.f64 phi2 3))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (sin.f64 phi2) (+.f64 1 (*.f64 -1/2 (*.f64 phi1 phi1)))) (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (-.f64 (*.f64 1/6 (pow.f64 phi1 3)) phi1))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 phi2))) 3))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (neg.f64 (sin.f64 (fma.f64 -1 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (neg.f64 (sin.f64 (fma.f64 -1 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 lambda2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (/.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 (sin.f64 (-.f64 phi1 phi2)) (sin.f64 (+.f64 phi1 phi2)))) 2)))
(atan2.f64 (/.f64 1 (/.f64 2 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (/.f64 1 (/.f64 2 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 lambda2) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (fabs.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (sin.f64 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 phi1)))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (expm1.f64 (log1p.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))))))
(atan2.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) 3)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2))) 3))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))) 3)))
(atan2.f64 (*.f64 (-.f64 (*.f64 (sin.f64 (exp.f64 (log1p.f64 (-.f64 lambda1 lambda2)))) (cos.f64 1)) (*.f64 (cos.f64 (exp.f64 (log1p.f64 (-.f64 lambda1 lambda2)))) (sin.f64 1))) 1) (sin.f64 phi2))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (expm1.f64 (log1p.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))))
(atan2.f64 (sqrt.f64 (pow.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) 2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) 3)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))) 3)))
(atan2.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 3)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (sqrt.f64 (pow.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) 2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (sin.f64 phi1))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (log1p.f64 (expm1.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (log1p.f64 (expm1.f64 (cos.f64 (-.f64 lambda1 lambda2)))))))
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
Outputs
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (sin.f64 phi1))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
Calls

7 calls:

481.0ms
(-.f64 lambda1 lambda2)
478.0ms
(-.f64 lambda1 lambda2)
383.0ms
lambda2
376.0ms
lambda1
309.0ms
phi2
Results
ErrorSegmentsBranch
6.9b3lambda1
7.9b3lambda2
5.2b3phi1
10.1b2phi2
11.2b1(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
7.2b5(-.f64 lambda1 lambda2)
7.2b5(-.f64 lambda1 lambda2)
Compiler

Compiled 2857 to 664 computations (76.8% saved)

bsearch424.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
207.0ms
2.581290684068906e-34
1.2844476847570653e-30
215.0ms
-1.0820142962092914e-8
-7.0852605883453e-10
Compiler

Compiled 35 to 23 computations (34.3% saved)

regimes1.9s (2.8%)

Counts
145 → 3
Calls
Call 1
Inputs
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) 1) (sin.f64 phi2))
(-.f64 (+.f64 1 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 1)
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 1/3 (*.f64 3 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 3 (*.f64 1/3 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 (-.f64 lambda1 lambda2) phi2)) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (sin.f64 phi2))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) 1))) (sin.f64 phi2))
(expm1.f64 (log1p.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(log1p.f64 (expm1.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(exp.f64 (log.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(log.f64 (exp.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(cbrt.f64 (pow.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2)) 2))
(pow.f64 (cbrt.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 3)
(log.f64 (exp.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(expm1.f64 (log1p.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(log1p.f64 (expm1.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(cbrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 2))
(pow.f64 (sqrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) 2)
(pow.f64 (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) 3)
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log1p.f64 (expm1.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(log.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
(exp.f64 (log.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (exp.f64 (log.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
(log.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (expm1.f64 (log1p.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log1p.f64 (expm1.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2))
(atan2.f64 (*.f64 (sqrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)) (cos.f64 phi2)) (sin.f64 phi2))
(cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))
(atan2.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 3) (sin.f64 phi2))
(sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2))
(pow.f64 (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))) 3)
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))))) (sin.f64 phi2))
(-.f64 (exp.f64 (log1p.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 1)
(log.f64 (+.f64 1 (expm1.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))) (sin.f64 phi2))
(-.f64 (exp.f64 (log1p.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 1)
(log.f64 (+.f64 1 (expm1.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))
(pow.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3) 1/3)
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (*.f64 (fma.f64 -1/2 (*.f64 phi2 phi2) 1) (E.f64)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 (*.f64 (sin.f64 lambda2) 1/2) lambda1))) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 phi1 (cos.f64 phi2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (sin.f64 phi2) (+.f64 1 (*.f64 -1/2 (*.f64 phi1 phi1)))) (*.f64 phi1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(pow.f64 (sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 6)) 1/3)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))))
(atan2.f64 (sin.f64 lambda1) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))
(pow.f64 (pow.f64 (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3) 1/3)
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 lambda1 (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (sin.f64 phi1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 phi1 (cos.f64 (-.f64 lambda2 lambda1)))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 -1/2 (*.f64 phi2 phi2)))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 lambda1 (*.f64 lambda1 -1/2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 1 (*.f64 lambda1 (*.f64 lambda1 -1/2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 -1/2 (*.f64 phi2 phi2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 phi1) phi2 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (+.f64 -1 (*.f64 1/2 (*.f64 phi2 phi2))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 phi1)))))
(atan2.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 (-.f64 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 (*.f64 lambda1 lambda1) (+.f64 -1/2 (*.f64 1/24 (*.f64 lambda1 lambda1)))))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 1 (*.f64 (*.f64 lambda1 lambda1) (+.f64 -1/2 (*.f64 1/24 (*.f64 lambda1 lambda1)))))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (+.f64 -1 (*.f64 1/2 (*.f64 phi2 phi2)))) (*.f64 (cos.f64 phi1) (+.f64 phi2 (*.f64 -1/6 (pow.f64 phi2 3))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (sin.f64 phi2) (+.f64 1 (*.f64 -1/2 (*.f64 phi1 phi1)))) (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (-.f64 (*.f64 1/6 (pow.f64 phi1 3)) phi1))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 phi2))) 3))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (neg.f64 (sin.f64 (fma.f64 -1 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (neg.f64 (sin.f64 (fma.f64 -1 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 lambda2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (/.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 (sin.f64 (-.f64 phi1 phi2)) (sin.f64 (+.f64 phi1 phi2)))) 2)))
(atan2.f64 (/.f64 1 (/.f64 2 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (/.f64 1 (/.f64 2 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 lambda2) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (fabs.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (sin.f64 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 phi1)))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (expm1.f64 (log1p.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))))))
(atan2.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) 3)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2))) 3))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))) 3)))
(atan2.f64 (*.f64 (-.f64 (*.f64 (sin.f64 (exp.f64 (log1p.f64 (-.f64 lambda1 lambda2)))) (cos.f64 1)) (*.f64 (cos.f64 (exp.f64 (log1p.f64 (-.f64 lambda1 lambda2)))) (sin.f64 1))) 1) (sin.f64 phi2))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (expm1.f64 (log1p.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))))
(atan2.f64 (sqrt.f64 (pow.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) 2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 phi1) (cos.f64 lambda1)) 3)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))) 3)))
(atan2.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 3)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (sqrt.f64 (pow.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) 2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
Outputs
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
Calls

7 calls:

361.0ms
lambda2
280.0ms
phi1
278.0ms
(-.f64 lambda1 lambda2)
271.0ms
(-.f64 lambda1 lambda2)
267.0ms
phi2
Results
ErrorSegmentsBranch
9.4b3lambda1
8.0b3lambda2
5.8b3phi1
10.1b3phi2
11.2b1(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
8.6b3(-.f64 lambda1 lambda2)
8.6b3(-.f64 lambda1 lambda2)
Compiler

Compiled 2701 to 653 computations (75.8% saved)

bsearch427.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
213.0ms
8.985363204321218e-51
5.464203284433878e-50
212.0ms
-3.5719904525122354e-12
-9.381140476681557e-28
Compiler

Compiled 35 to 23 computations (34.3% saved)

regimes1.5s (2.2%)

Counts
120 → 3
Calls
Call 1
Inputs
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) 1) (sin.f64 phi2))
(-.f64 (+.f64 1 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 1)
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 1/3 (*.f64 3 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 3 (*.f64 1/3 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 (-.f64 lambda1 lambda2) phi2)) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (sin.f64 phi2))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) 1))) (sin.f64 phi2))
(expm1.f64 (log1p.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(log1p.f64 (expm1.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(exp.f64 (log.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(log.f64 (exp.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(cbrt.f64 (pow.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2)) 2))
(pow.f64 (cbrt.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 3)
(log.f64 (exp.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(expm1.f64 (log1p.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(log1p.f64 (expm1.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(cbrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 2))
(pow.f64 (sqrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) 2)
(pow.f64 (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) 3)
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log1p.f64 (expm1.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(log.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
(exp.f64 (log.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (exp.f64 (log.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
(log.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (expm1.f64 (log1p.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log1p.f64 (expm1.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2))
(atan2.f64 (*.f64 (sqrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)) (cos.f64 phi2)) (sin.f64 phi2))
(cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))
(atan2.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 3) (sin.f64 phi2))
(sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2))
(pow.f64 (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))) 3)
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))))) (sin.f64 phi2))
(-.f64 (exp.f64 (log1p.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 1)
(log.f64 (+.f64 1 (expm1.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))) (sin.f64 phi2))
(-.f64 (exp.f64 (log1p.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 1)
(log.f64 (+.f64 1 (expm1.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))
(pow.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3) 1/3)
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (*.f64 (fma.f64 -1/2 (*.f64 phi2 phi2) 1) (E.f64)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 (*.f64 (sin.f64 lambda2) 1/2) lambda1))) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 phi1 (cos.f64 phi2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (sin.f64 phi2) (+.f64 1 (*.f64 -1/2 (*.f64 phi1 phi1)))) (*.f64 phi1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(pow.f64 (sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 6)) 1/3)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))))
(atan2.f64 (sin.f64 lambda1) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))
(pow.f64 (pow.f64 (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3) 1/3)
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 lambda1 (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (sin.f64 phi1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 phi1 (cos.f64 (-.f64 lambda2 lambda1)))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 -1/2 (*.f64 phi2 phi2)))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 lambda1 (*.f64 lambda1 -1/2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 1 (*.f64 lambda1 (*.f64 lambda1 -1/2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 -1/2 (*.f64 phi2 phi2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 phi1) phi2 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (+.f64 -1 (*.f64 1/2 (*.f64 phi2 phi2))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 phi1)))))
(atan2.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 (-.f64 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 (*.f64 lambda1 lambda1) (+.f64 -1/2 (*.f64 1/24 (*.f64 lambda1 lambda1)))))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 1 (*.f64 (*.f64 lambda1 lambda1) (+.f64 -1/2 (*.f64 1/24 (*.f64 lambda1 lambda1)))))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (+.f64 -1 (*.f64 1/2 (*.f64 phi2 phi2)))) (*.f64 (cos.f64 phi1) (+.f64 phi2 (*.f64 -1/6 (pow.f64 phi2 3))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (sin.f64 phi2) (+.f64 1 (*.f64 -1/2 (*.f64 phi1 phi1)))) (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (-.f64 (*.f64 1/6 (pow.f64 phi1 3)) phi1))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 phi2))) 3))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (neg.f64 (sin.f64 (fma.f64 -1 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (neg.f64 (sin.f64 (fma.f64 -1 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 lambda2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (/.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 (sin.f64 (-.f64 phi1 phi2)) (sin.f64 (+.f64 phi1 phi2)))) 2)))
(atan2.f64 (/.f64 1 (/.f64 2 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (/.f64 1 (/.f64 2 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 lambda2) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2))))))
Outputs
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
Calls

7 calls:

276.0ms
lambda2
225.0ms
(-.f64 lambda1 lambda2)
221.0ms
phi1
219.0ms
phi2
218.0ms
lambda1
Results
ErrorSegmentsBranch
9.4b3lambda1
8.0b3lambda2
5.8b3phi1
10.1b3phi2
11.2b1(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
8.6b3(-.f64 lambda1 lambda2)
8.6b3(-.f64 lambda1 lambda2)
Compiler

Compiled 2067 to 551 computations (73.3% saved)

bsearch424.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
212.0ms
8.985363204321218e-51
5.464203284433878e-50
211.0ms
-3.5719904525122354e-12
-9.381140476681557e-28
Compiler

Compiled 35 to 23 computations (34.3% saved)

regimes1.4s (2.1%)

Counts
113 → 3
Calls
Call 1
Inputs
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) 1) (sin.f64 phi2))
(-.f64 (+.f64 1 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 1)
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 1/3 (*.f64 3 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 3 (*.f64 1/3 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 (-.f64 lambda1 lambda2) phi2)) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (sin.f64 phi2))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) 1))) (sin.f64 phi2))
(expm1.f64 (log1p.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(log1p.f64 (expm1.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(exp.f64 (log.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(log.f64 (exp.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(cbrt.f64 (pow.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2)) 2))
(pow.f64 (cbrt.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 3)
(log.f64 (exp.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(expm1.f64 (log1p.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(log1p.f64 (expm1.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(cbrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 2))
(pow.f64 (sqrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) 2)
(pow.f64 (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) 3)
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log1p.f64 (expm1.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(log.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
(exp.f64 (log.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (exp.f64 (log.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
(log.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (expm1.f64 (log1p.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log1p.f64 (expm1.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2))
(atan2.f64 (*.f64 (sqrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)) (cos.f64 phi2)) (sin.f64 phi2))
(cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))
(atan2.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 3) (sin.f64 phi2))
(sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2))
(pow.f64 (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))) 3)
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))))) (sin.f64 phi2))
(-.f64 (exp.f64 (log1p.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 1)
(log.f64 (+.f64 1 (expm1.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))) (sin.f64 phi2))
(-.f64 (exp.f64 (log1p.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 1)
(log.f64 (+.f64 1 (expm1.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))
(pow.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3) 1/3)
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (*.f64 (fma.f64 -1/2 (*.f64 phi2 phi2) 1) (E.f64)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 (*.f64 (sin.f64 lambda2) 1/2) lambda1))) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 phi1 (cos.f64 phi2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (sin.f64 phi2) (+.f64 1 (*.f64 -1/2 (*.f64 phi1 phi1)))) (*.f64 phi1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(pow.f64 (sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 6)) 1/3)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))))
(atan2.f64 (sin.f64 lambda1) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))
(pow.f64 (pow.f64 (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3) 1/3)
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 lambda1 (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (sin.f64 phi1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 phi1 (cos.f64 (-.f64 lambda2 lambda1)))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 -1/2 (*.f64 phi2 phi2)))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 lambda1 (*.f64 lambda1 -1/2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 1 (*.f64 lambda1 (*.f64 lambda1 -1/2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 -1/2 (*.f64 phi2 phi2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 phi1) phi2 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (+.f64 -1 (*.f64 1/2 (*.f64 phi2 phi2))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 phi1)))))
(atan2.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 (-.f64 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 (*.f64 lambda1 lambda1) (+.f64 -1/2 (*.f64 1/24 (*.f64 lambda1 lambda1)))))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 1 (*.f64 (*.f64 lambda1 lambda1) (+.f64 -1/2 (*.f64 1/24 (*.f64 lambda1 lambda1)))))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (+.f64 -1 (*.f64 1/2 (*.f64 phi2 phi2)))) (*.f64 (cos.f64 phi1) (+.f64 phi2 (*.f64 -1/6 (pow.f64 phi2 3))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (sin.f64 phi2) (+.f64 1 (*.f64 -1/2 (*.f64 phi1 phi1)))) (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (-.f64 (*.f64 1/6 (pow.f64 phi1 3)) phi1))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 phi2))) 3))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (neg.f64 (sin.f64 (fma.f64 -1 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (neg.f64 (sin.f64 (fma.f64 -1 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
Outputs
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))
Calls

6 calls:

332.0ms
lambda1
217.0ms
(-.f64 lambda1 lambda2)
214.0ms
lambda2
203.0ms
phi1
200.0ms
phi2
Results
ErrorSegmentsBranch
9.2b5lambda1
9.1b3lambda2
10.1b3phi1
12.7b3phi2
12.3b3(-.f64 lambda1 lambda2)
12.3b3(-.f64 lambda1 lambda2)
Compiler

Compiled 1840 to 498 computations (72.9% saved)

bsearch526.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
268.0ms
90700108891368020.0
1.1489547371411809e+21
256.0ms
-174618490788.62155
-1255977.127201531
Compiler

Compiled 35 to 23 computations (34.3% saved)

regimes1.9s (2.7%)

Counts
106 → 5
Calls
Call 1
Inputs
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) 1) (sin.f64 phi2))
(-.f64 (+.f64 1 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 1)
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 1/3 (*.f64 3 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 3 (*.f64 1/3 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 (-.f64 lambda1 lambda2) phi2)) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (sin.f64 phi2))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) 1))) (sin.f64 phi2))
(expm1.f64 (log1p.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(log1p.f64 (expm1.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(exp.f64 (log.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(log.f64 (exp.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(cbrt.f64 (pow.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2)) 2))
(pow.f64 (cbrt.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 3)
(log.f64 (exp.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(expm1.f64 (log1p.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(log1p.f64 (expm1.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(cbrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 2))
(pow.f64 (sqrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) 2)
(pow.f64 (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) 3)
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log1p.f64 (expm1.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(log.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
(exp.f64 (log.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (exp.f64 (log.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
(log.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (expm1.f64 (log1p.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log1p.f64 (expm1.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2))
(atan2.f64 (*.f64 (sqrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)) (cos.f64 phi2)) (sin.f64 phi2))
(cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))
(atan2.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 3) (sin.f64 phi2))
(sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2))
(pow.f64 (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))) 3)
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))))) (sin.f64 phi2))
(-.f64 (exp.f64 (log1p.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 1)
(log.f64 (+.f64 1 (expm1.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))) (sin.f64 phi2))
(-.f64 (exp.f64 (log1p.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 1)
(log.f64 (+.f64 1 (expm1.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))
(pow.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3) 1/3)
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (*.f64 (fma.f64 -1/2 (*.f64 phi2 phi2) 1) (E.f64)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 (*.f64 (sin.f64 lambda2) 1/2) lambda1))) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 phi1 (cos.f64 phi2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (sin.f64 phi2) (+.f64 1 (*.f64 -1/2 (*.f64 phi1 phi1)))) (*.f64 phi1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(pow.f64 (sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 6)) 1/3)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))))
(atan2.f64 (sin.f64 lambda1) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))
(pow.f64 (pow.f64 (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3) 1/3)
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 lambda1 (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (sin.f64 phi1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 phi1 (cos.f64 (-.f64 lambda2 lambda1)))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 -1/2 (*.f64 phi2 phi2)))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 lambda1 (*.f64 lambda1 -1/2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 1 (*.f64 lambda1 (*.f64 lambda1 -1/2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 -1/2 (*.f64 phi2 phi2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 phi1) phi2 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (+.f64 -1 (*.f64 1/2 (*.f64 phi2 phi2))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 phi1)))))
(atan2.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 (-.f64 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 (*.f64 lambda1 lambda1) (+.f64 -1/2 (*.f64 1/24 (*.f64 lambda1 lambda1)))))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 1 (*.f64 (*.f64 lambda1 lambda1) (+.f64 -1/2 (*.f64 1/24 (*.f64 lambda1 lambda1)))))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (+.f64 -1 (*.f64 1/2 (*.f64 phi2 phi2)))) (*.f64 (cos.f64 phi1) (+.f64 phi2 (*.f64 -1/6 (pow.f64 phi2 3))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (sin.f64 phi2) (+.f64 1 (*.f64 -1/2 (*.f64 phi1 phi1)))) (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (-.f64 (*.f64 1/6 (pow.f64 phi1 3)) phi1))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 phi2))) 3))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (neg.f64 (sin.f64 (fma.f64 -1 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
Outputs
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))
Calls

6 calls:

361.0ms
lambda1
336.0ms
lambda2
328.0ms
(-.f64 lambda1 lambda2)
311.0ms
(-.f64 lambda1 lambda2)
223.0ms
phi2
Results
ErrorSegmentsBranch
14.0b5lambda1
11.3b5lambda2
12.9b3phi1
14.1b3phi2
13.1b4(-.f64 lambda1 lambda2)
13.1b4(-.f64 lambda1 lambda2)
Compiler

Compiled 1681 to 485 computations (71.1% saved)

bsearch1.1s (1.6%)

Algorithm
binary-search
Steps
TimeLeftRight
248.0ms
90700108891368020.0
1.1489547371411809e+21
315.0ms
8.01195973766281e-154
4.270816828113191e-153
274.0ms
-1.2250394110593853e-114
-1.2675330938286383e-116
276.0ms
-174618490788.62155
-1255977.127201531
Compiler

Compiled 35 to 23 computations (34.3% saved)

regimes2.0s (2.9%)

Counts
100 → 5
Calls
Call 1
Inputs
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) 1) (sin.f64 phi2))
(-.f64 (+.f64 1 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 1)
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 1/3 (*.f64 3 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 3 (*.f64 1/3 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 (-.f64 lambda1 lambda2) phi2)) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (sin.f64 phi2))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) 1))) (sin.f64 phi2))
(expm1.f64 (log1p.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(log1p.f64 (expm1.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(exp.f64 (log.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(log.f64 (exp.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(cbrt.f64 (pow.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2)) 2))
(pow.f64 (cbrt.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 3)
(log.f64 (exp.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(expm1.f64 (log1p.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(log1p.f64 (expm1.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(cbrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 2))
(pow.f64 (sqrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) 2)
(pow.f64 (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) 3)
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log1p.f64 (expm1.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(log.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
(exp.f64 (log.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (exp.f64 (log.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
(log.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (expm1.f64 (log1p.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log1p.f64 (expm1.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2))
(atan2.f64 (*.f64 (sqrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)) (cos.f64 phi2)) (sin.f64 phi2))
(cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))
(atan2.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 3) (sin.f64 phi2))
(sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2))
(pow.f64 (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))) 3)
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))))) (sin.f64 phi2))
(-.f64 (exp.f64 (log1p.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 1)
(log.f64 (+.f64 1 (expm1.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))) (sin.f64 phi2))
(-.f64 (exp.f64 (log1p.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 1)
(log.f64 (+.f64 1 (expm1.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))
(pow.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3) 1/3)
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (*.f64 (fma.f64 -1/2 (*.f64 phi2 phi2) 1) (E.f64)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 (*.f64 (sin.f64 lambda2) 1/2) lambda1))) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 phi1 (cos.f64 phi2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (sin.f64 phi2) (+.f64 1 (*.f64 -1/2 (*.f64 phi1 phi1)))) (*.f64 phi1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(pow.f64 (sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 6)) 1/3)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))))
(atan2.f64 (sin.f64 lambda1) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))
(pow.f64 (pow.f64 (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3) 1/3)
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 lambda1 (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (sin.f64 phi1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 phi1 (cos.f64 (-.f64 lambda2 lambda1)))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 -1/2 (*.f64 phi2 phi2)))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 lambda1 (*.f64 lambda1 -1/2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 1 (*.f64 lambda1 (*.f64 lambda1 -1/2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 -1/2 (*.f64 phi2 phi2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 phi1) phi2 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (+.f64 -1 (*.f64 1/2 (*.f64 phi2 phi2))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 phi1)))))
(atan2.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 (-.f64 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 (*.f64 lambda1 lambda1) (+.f64 -1/2 (*.f64 1/24 (*.f64 lambda1 lambda1)))))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 1 (*.f64 (*.f64 lambda1 lambda1) (+.f64 -1/2 (*.f64 1/24 (*.f64 lambda1 lambda1)))))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (+.f64 -1 (*.f64 1/2 (*.f64 phi2 phi2)))) (*.f64 (cos.f64 phi1) (+.f64 phi2 (*.f64 -1/6 (pow.f64 phi2 3))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (sin.f64 phi2) (+.f64 1 (*.f64 -1/2 (*.f64 phi1 phi1)))) (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (-.f64 (*.f64 1/6 (pow.f64 phi1 3)) phi1))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 phi2))) 3))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
Outputs
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))
Calls

6 calls:

406.0ms
(-.f64 lambda1 lambda2)
353.0ms
lambda2
328.0ms
(-.f64 lambda1 lambda2)
321.0ms
lambda1
271.0ms
phi2
Results
ErrorSegmentsBranch
14.0b5lambda1
11.3b5lambda2
12.9b3phi1
14.1b3phi2
13.1b4(-.f64 lambda1 lambda2)
13.1b4(-.f64 lambda1 lambda2)
Compiler

Compiled 1556 to 471 computations (69.7% saved)

bsearch900.0ms (1.3%)

Algorithm
binary-search
Steps
TimeLeftRight
221.0ms
90700108891368020.0
1.1489547371411809e+21
247.0ms
8.01195973766281e-154
4.270816828113191e-153
199.0ms
-1.2250394110593853e-114
-1.2675330938286383e-116
232.0ms
-174618490788.62155
-1255977.127201531
Compiler

Compiled 35 to 23 computations (34.3% saved)

regimes1.6s (2.3%)

Counts
99 → 5
Calls
Call 1
Inputs
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) 1) (sin.f64 phi2))
(-.f64 (+.f64 1 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 1)
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 1/3 (*.f64 3 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 3 (*.f64 1/3 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 (-.f64 lambda1 lambda2) phi2)) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (sin.f64 phi2))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) 1))) (sin.f64 phi2))
(expm1.f64 (log1p.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(log1p.f64 (expm1.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(exp.f64 (log.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(log.f64 (exp.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(cbrt.f64 (pow.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2)) 2))
(pow.f64 (cbrt.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 3)
(log.f64 (exp.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(expm1.f64 (log1p.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(log1p.f64 (expm1.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(cbrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 2))
(pow.f64 (sqrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) 2)
(pow.f64 (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) 3)
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log1p.f64 (expm1.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(log.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
(exp.f64 (log.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (exp.f64 (log.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
(log.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (expm1.f64 (log1p.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log1p.f64 (expm1.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2))
(atan2.f64 (*.f64 (sqrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)) (cos.f64 phi2)) (sin.f64 phi2))
(cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))
(atan2.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 3) (sin.f64 phi2))
(sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2))
(pow.f64 (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))) 3)
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))))) (sin.f64 phi2))
(-.f64 (exp.f64 (log1p.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 1)
(log.f64 (+.f64 1 (expm1.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))) (sin.f64 phi2))
(-.f64 (exp.f64 (log1p.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 1)
(log.f64 (+.f64 1 (expm1.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))
(pow.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3) 1/3)
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (*.f64 (fma.f64 -1/2 (*.f64 phi2 phi2) 1) (E.f64)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 (*.f64 (sin.f64 lambda2) 1/2) lambda1))) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 phi1 (cos.f64 phi2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (sin.f64 phi2) (+.f64 1 (*.f64 -1/2 (*.f64 phi1 phi1)))) (*.f64 phi1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(pow.f64 (sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 6)) 1/3)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))))
(atan2.f64 (sin.f64 lambda1) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))
(pow.f64 (pow.f64 (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3) 1/3)
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 lambda1 (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (sin.f64 phi1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 phi1 (cos.f64 (-.f64 lambda2 lambda1)))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 -1/2 (*.f64 phi2 phi2)))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 lambda1 (*.f64 lambda1 -1/2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 1 (*.f64 lambda1 (*.f64 lambda1 -1/2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 -1/2 (*.f64 phi2 phi2)))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 phi1) phi2 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (+.f64 -1 (*.f64 1/2 (*.f64 phi2 phi2))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 phi1)))))
(atan2.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 (-.f64 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (+.f64 1 (*.f64 (*.f64 lambda1 lambda1) (+.f64 -1/2 (*.f64 1/24 (*.f64 lambda1 lambda1)))))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 1 (*.f64 (*.f64 lambda1 lambda1) (+.f64 -1/2 (*.f64 1/24 (*.f64 lambda1 lambda1)))))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (+.f64 -1 (*.f64 1/2 (*.f64 phi2 phi2)))) (*.f64 (cos.f64 phi1) (+.f64 phi2 (*.f64 -1/6 (pow.f64 phi2 3))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (sin.f64 phi2) (+.f64 1 (*.f64 -1/2 (*.f64 phi1 phi1)))) (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (-.f64 (*.f64 1/6 (pow.f64 phi1 3)) phi1))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 phi2))) 3))) (sin.f64 phi2))
Outputs
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))
Calls

6 calls:

335.0ms
(-.f64 lambda1 lambda2)
299.0ms
lambda2
287.0ms
(-.f64 lambda1 lambda2)
206.0ms
phi2
189.0ms
lambda1
Results
ErrorSegmentsBranch
15.2b3lambda1
12.9b5lambda2
13.7b3phi1
14.1b3phi2
13.1b4(-.f64 lambda1 lambda2)
13.1b4(-.f64 lambda1 lambda2)
Compiler

Compiled 1536 to 467 computations (69.6% saved)

bsearch1.0s (1.5%)

Algorithm
binary-search
Steps
TimeLeftRight
253.0ms
90700108891368020.0
1.1489547371411809e+21
218.0ms
2.342841385975658e-258
1.7468250320743914e-257
328.0ms
-5.644052586015678e-194
-1.0655372467701905e-197
214.0ms
-174618490788.62155
-1255977.127201531
Compiler

Compiled 35 to 23 computations (34.3% saved)

regimes1.7s (2.5%)

Counts
85 → 5
Calls
Call 1
Inputs
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) 1) (sin.f64 phi2))
(-.f64 (+.f64 1 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 1)
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 1/3 (*.f64 3 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 3 (*.f64 1/3 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 (-.f64 lambda1 lambda2) phi2)) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (sin.f64 phi2))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) 1))) (sin.f64 phi2))
(expm1.f64 (log1p.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(log1p.f64 (expm1.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(exp.f64 (log.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(log.f64 (exp.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(cbrt.f64 (pow.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2)) 2))
(pow.f64 (cbrt.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 3)
(log.f64 (exp.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(expm1.f64 (log1p.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(log1p.f64 (expm1.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(cbrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 2))
(pow.f64 (sqrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) 2)
(pow.f64 (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) 3)
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log1p.f64 (expm1.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(log.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
(exp.f64 (log.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (exp.f64 (log.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
(log.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (expm1.f64 (log1p.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log1p.f64 (expm1.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2))
(atan2.f64 (*.f64 (sqrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)) (cos.f64 phi2)) (sin.f64 phi2))
(cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))
(atan2.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 3) (sin.f64 phi2))
(sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2))
(pow.f64 (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))) 3)
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))))) (sin.f64 phi2))
(-.f64 (exp.f64 (log1p.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 1)
(log.f64 (+.f64 1 (expm1.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))) (sin.f64 phi2))
(-.f64 (exp.f64 (log1p.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 1)
(log.f64 (+.f64 1 (expm1.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))
(pow.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3) 1/3)
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (*.f64 (fma.f64 -1/2 (*.f64 phi2 phi2) 1) (E.f64)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 (*.f64 (sin.f64 lambda2) 1/2) lambda1))) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 phi1 (cos.f64 phi2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (sin.f64 phi2) (+.f64 1 (*.f64 -1/2 (*.f64 phi1 phi1)))) (*.f64 phi1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(pow.f64 (sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 6)) 1/3)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))))
(atan2.f64 (sin.f64 lambda1) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))
(pow.f64 (pow.f64 (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3) 1/3)
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 lambda1 (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (sin.f64 phi1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
Outputs
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (sin.f64 phi1))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (sin.f64 phi1))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))
Calls

6 calls:

388.0ms
(-.f64 lambda1 lambda2)
329.0ms
(-.f64 lambda1 lambda2)
289.0ms
lambda2
233.0ms
phi2
200.0ms
phi1
Results
ErrorSegmentsBranch
15.3b3lambda1
13.1b5lambda2
14.5b3phi1
14.1b3phi2
13.8b4(-.f64 lambda1 lambda2)
13.8b4(-.f64 lambda1 lambda2)
Compiler

Compiled 1156 to 350 computations (69.7% saved)

bsearch1.1s (1.7%)

Algorithm
binary-search
Steps
TimeLeftRight
218.0ms
2.51877438285564e-18
2.969583061442212e-17
264.0ms
2.342841385975658e-258
1.7468250320743914e-257
253.0ms
-5.644052586015678e-194
-1.0655372467701905e-197
390.0ms
-174618490788.62155
-1255977.127201531
Compiler

Compiled 35 to 23 computations (34.3% saved)

regimes1.3s (1.9%)

Counts
82 → 3
Calls
Call 1
Inputs
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) 1) (sin.f64 phi2))
(-.f64 (+.f64 1 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 1)
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 1/3 (*.f64 3 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 3 (*.f64 1/3 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 (-.f64 lambda1 lambda2) phi2)) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (sin.f64 phi2))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) 1))) (sin.f64 phi2))
(expm1.f64 (log1p.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(log1p.f64 (expm1.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(exp.f64 (log.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(log.f64 (exp.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(cbrt.f64 (pow.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2)) 2))
(pow.f64 (cbrt.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 3)
(log.f64 (exp.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(expm1.f64 (log1p.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(log1p.f64 (expm1.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(cbrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 2))
(pow.f64 (sqrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) 2)
(pow.f64 (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) 3)
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log1p.f64 (expm1.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(log.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
(exp.f64 (log.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (exp.f64 (log.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
(log.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (expm1.f64 (log1p.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log1p.f64 (expm1.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2))
(atan2.f64 (*.f64 (sqrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)) (cos.f64 phi2)) (sin.f64 phi2))
(cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))
(atan2.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 3) (sin.f64 phi2))
(sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2))
(pow.f64 (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))) 3)
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))))) (sin.f64 phi2))
(-.f64 (exp.f64 (log1p.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 1)
(log.f64 (+.f64 1 (expm1.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))) (sin.f64 phi2))
(-.f64 (exp.f64 (log1p.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 1)
(log.f64 (+.f64 1 (expm1.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))
(pow.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3) 1/3)
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (*.f64 (fma.f64 -1/2 (*.f64 phi2 phi2) 1) (E.f64)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 (*.f64 (sin.f64 lambda2) 1/2) lambda1))) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 phi1 (cos.f64 phi2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (sin.f64 phi2) (+.f64 1 (*.f64 -1/2 (*.f64 phi1 phi1)))) (*.f64 phi1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(pow.f64 (sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 6)) 1/3)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))))
(atan2.f64 (sin.f64 lambda1) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))
(pow.f64 (pow.f64 (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3) 1/3)
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 lambda1 (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
Outputs
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))
Calls

6 calls:

285.0ms
lambda2
212.0ms
(-.f64 lambda1 lambda2)
206.0ms
(-.f64 lambda1 lambda2)
204.0ms
phi1
194.0ms
phi2
Results
ErrorSegmentsBranch
15.3b3lambda1
14.2b4lambda2
14.5b3phi1
14.1b3phi2
15.4b3(-.f64 lambda1 lambda2)
15.4b3(-.f64 lambda1 lambda2)
Compiler

Compiled 1095 to 341 computations (68.9% saved)

bsearch433.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
208.0ms
1.568976540567404e-72
1.4143379470090422e-61
224.0ms
-5.018764154674492e-6
-1.778280204880989e-10
Compiler

Compiled 35 to 23 computations (34.3% saved)

regimes952.0ms (1.4%)

Counts
77 → 3
Calls
Call 1
Inputs
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) 1) (sin.f64 phi2))
(-.f64 (+.f64 1 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 1)
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 1/3 (*.f64 3 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 3 (*.f64 1/3 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 (-.f64 lambda1 lambda2) phi2)) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (sin.f64 phi2))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) 1))) (sin.f64 phi2))
(expm1.f64 (log1p.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(log1p.f64 (expm1.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(exp.f64 (log.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(log.f64 (exp.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(cbrt.f64 (pow.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2)) 2))
(pow.f64 (cbrt.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 3)
(log.f64 (exp.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(expm1.f64 (log1p.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(log1p.f64 (expm1.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(cbrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 2))
(pow.f64 (sqrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) 2)
(pow.f64 (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) 3)
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log1p.f64 (expm1.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(log.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
(exp.f64 (log.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (exp.f64 (log.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
(log.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (expm1.f64 (log1p.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log1p.f64 (expm1.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2))
(atan2.f64 (*.f64 (sqrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)) (cos.f64 phi2)) (sin.f64 phi2))
(cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))
(atan2.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 3) (sin.f64 phi2))
(sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2))
(pow.f64 (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))) 3)
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))))) (sin.f64 phi2))
(-.f64 (exp.f64 (log1p.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 1)
(log.f64 (+.f64 1 (expm1.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))) (sin.f64 phi2))
(-.f64 (exp.f64 (log1p.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 1)
(log.f64 (+.f64 1 (expm1.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))
(pow.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3) 1/3)
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (*.f64 (fma.f64 -1/2 (*.f64 phi2 phi2) 1) (E.f64)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 (*.f64 (sin.f64 lambda2) 1/2) lambda1))) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 phi1 (cos.f64 phi2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (sin.f64 phi2) (+.f64 1 (*.f64 -1/2 (*.f64 phi1 phi1)))) (*.f64 phi1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(pow.f64 (sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 6)) 1/3)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1))))
(atan2.f64 (sin.f64 lambda1) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1)))))
Outputs
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (sin.f64 phi2) (+.f64 1 (*.f64 -1/2 (*.f64 phi1 phi1)))) (*.f64 phi1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))))
Calls

6 calls:

201.0ms
lambda2
152.0ms
(-.f64 lambda1 lambda2)
147.0ms
lambda1
141.0ms
phi2
140.0ms
phi1
Results
ErrorSegmentsBranch
24.2b3lambda1
22.7b4lambda2
19.4b3phi1
19.6b3phi2
26.8b3(-.f64 lambda1 lambda2)
26.8b3(-.f64 lambda1 lambda2)
Compiler

Compiled 1006 to 328 computations (67.4% saved)

bsearch446.0ms (0.7%)

Algorithm
binary-search
Steps
TimeLeftRight
222.0ms
0.00011560302005150216
23249.115672060187
224.0ms
-79937.28080459191
-0.017621540072510006
Compiler

Compiled 35 to 23 computations (34.3% saved)

regimes841.0ms (1.2%)

Counts
71 → 3
Calls
Call 1
Inputs
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) 1) (sin.f64 phi2))
(-.f64 (+.f64 1 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 1)
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 1/3 (*.f64 3 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 3 (*.f64 1/3 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 (-.f64 lambda1 lambda2) phi2)) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (sin.f64 phi2))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) 1))) (sin.f64 phi2))
(expm1.f64 (log1p.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(log1p.f64 (expm1.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(exp.f64 (log.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(log.f64 (exp.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(cbrt.f64 (pow.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2)) 2))
(pow.f64 (cbrt.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 3)
(log.f64 (exp.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(expm1.f64 (log1p.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(log1p.f64 (expm1.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(cbrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 2))
(pow.f64 (sqrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) 2)
(pow.f64 (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) 3)
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log1p.f64 (expm1.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(log.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
(exp.f64 (log.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (exp.f64 (log.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
(log.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (expm1.f64 (log1p.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log1p.f64 (expm1.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2))
(atan2.f64 (*.f64 (sqrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)) (cos.f64 phi2)) (sin.f64 phi2))
(cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))
(atan2.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 3) (sin.f64 phi2))
(sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2))
(pow.f64 (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))) 3)
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))))) (sin.f64 phi2))
(-.f64 (exp.f64 (log1p.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 1)
(log.f64 (+.f64 1 (expm1.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))) (sin.f64 phi2))
(-.f64 (exp.f64 (log1p.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 1)
(log.f64 (+.f64 1 (expm1.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))
(pow.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3) 1/3)
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (*.f64 (fma.f64 -1/2 (*.f64 phi2 phi2) 1) (E.f64)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 (*.f64 (sin.f64 lambda2) 1/2) lambda1))) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 phi1 (cos.f64 phi2)))))
Outputs
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 phi1 (cos.f64 phi2)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))))
Calls

6 calls:

172.0ms
lambda2
134.0ms
(-.f64 lambda1 lambda2)
129.0ms
phi2
128.0ms
(-.f64 lambda1 lambda2)
126.0ms
lambda1
Results
ErrorSegmentsBranch
26.9b2lambda1
24.6b3lambda2
19.5b3phi1
19.6b3phi2
26.8b3(-.f64 lambda1 lambda2)
26.8b3(-.f64 lambda1 lambda2)
Compiler

Compiled 897 to 301 computations (66.4% saved)

bsearch443.0ms (0.7%)

Algorithm
binary-search
Steps
TimeLeftRight
214.0ms
0.00011560302005150216
23249.115672060187
228.0ms
-79937.28080459191
-0.017621540072510006
Compiler

Compiled 35 to 23 computations (34.3% saved)

regimes892.0ms (1.3%)

Counts
70 → 3
Calls
Call 1
Inputs
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) 1) (sin.f64 phi2))
(-.f64 (+.f64 1 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 1)
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 1/3 (*.f64 3 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 3 (*.f64 1/3 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 (-.f64 lambda1 lambda2) phi2)) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (sin.f64 phi2))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) 1))) (sin.f64 phi2))
(expm1.f64 (log1p.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(log1p.f64 (expm1.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(exp.f64 (log.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(log.f64 (exp.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(cbrt.f64 (pow.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2)) 2))
(pow.f64 (cbrt.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 3)
(log.f64 (exp.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(expm1.f64 (log1p.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(log1p.f64 (expm1.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(cbrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 2))
(pow.f64 (sqrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) 2)
(pow.f64 (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) 3)
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log1p.f64 (expm1.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(log.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
(exp.f64 (log.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (exp.f64 (log.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
(log.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (expm1.f64 (log1p.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log1p.f64 (expm1.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2))
(atan2.f64 (*.f64 (sqrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)) (cos.f64 phi2)) (sin.f64 phi2))
(cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))
(atan2.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 3) (sin.f64 phi2))
(sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2))
(pow.f64 (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))) 3)
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))))) (sin.f64 phi2))
(-.f64 (exp.f64 (log1p.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 1)
(log.f64 (+.f64 1 (expm1.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))) (sin.f64 phi2))
(-.f64 (exp.f64 (log1p.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 1)
(log.f64 (+.f64 1 (expm1.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))
(pow.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3) 1/3)
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (*.f64 (fma.f64 -1/2 (*.f64 phi2 phi2) 1) (E.f64)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 (*.f64 (sin.f64 lambda2) 1/2) lambda1))) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))))
Outputs
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
Calls

6 calls:

164.0ms
(-.f64 lambda1 lambda2)
162.0ms
lambda2
161.0ms
phi2
152.0ms
phi1
130.0ms
(-.f64 lambda1 lambda2)
Results
ErrorSegmentsBranch
28.2b2lambda1
25.7b3lambda2
20.3b3phi1
19.6b3phi2
26.9b3(-.f64 lambda1 lambda2)
26.9b3(-.f64 lambda1 lambda2)
Compiler

Compiled 877 to 297 computations (66.1% saved)

bsearch478.0ms (0.7%)

Algorithm
binary-search
Steps
TimeLeftRight
227.0ms
1.0158535282182995e-35
6.0059583266716634e-33
250.0ms
-444.0307470392372
-0.18686861791305784
Compiler

Compiled 35 to 23 computations (34.3% saved)

regimes1.2s (1.8%)

Counts
69 → 3
Calls
Call 1
Inputs
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) 1) (sin.f64 phi2))
(-.f64 (+.f64 1 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 1)
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 1/3 (*.f64 3 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 3 (*.f64 1/3 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 (-.f64 lambda1 lambda2) phi2)) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (sin.f64 phi2))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) 1))) (sin.f64 phi2))
(expm1.f64 (log1p.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(log1p.f64 (expm1.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(exp.f64 (log.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(log.f64 (exp.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(cbrt.f64 (pow.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2)) 2))
(pow.f64 (cbrt.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 3)
(log.f64 (exp.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(expm1.f64 (log1p.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(log1p.f64 (expm1.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(cbrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 2))
(pow.f64 (sqrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) 2)
(pow.f64 (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) 3)
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log1p.f64 (expm1.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(log.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (exp.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
(exp.f64 (log.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (exp.f64 (log.f64 (sin.f64 (-.f64 lambda1 lambda2)))) (cos.f64 phi2)) (sin.f64 phi2))
(log.f64 (exp.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (expm1.f64 (log1p.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log1p.f64 (expm1.f64 (cos.f64 phi2)))) (sin.f64 phi2))
(cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2))
(atan2.f64 (*.f64 (sqrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)) (cos.f64 phi2)) (sin.f64 phi2))
(cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3))
(atan2.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) 3) (sin.f64 phi2))
(sqrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 2))
(pow.f64 (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))) 3)
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))))) (sin.f64 phi2))
(-.f64 (exp.f64 (log1p.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 1)
(log.f64 (+.f64 1 (expm1.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))
(atan2.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))) (sin.f64 phi2))
(-.f64 (exp.f64 (log1p.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))) 1)
(log.f64 (+.f64 1 (expm1.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)))))
(pow.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) 3) 1/3)
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (log.f64 (*.f64 (fma.f64 -1/2 (*.f64 phi2 phi2) 1) (E.f64)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 (*.f64 (sin.f64 lambda2) 1/2) lambda1))) (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 lambda1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))) (sin.f64 phi2))
Outputs
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
Calls

6 calls:

283.0ms
(-.f64 lambda1 lambda2)
258.0ms
(-.f64 lambda1 lambda2)
239.0ms
phi2
172.0ms
lambda2
126.0ms
phi1
Results
ErrorSegmentsBranch
28.2b2lambda1
26.7b3lambda2
20.3b3phi1
20.2b3phi2
26.7b6(-.f64 lambda1 lambda2)
26.7b6(-.f64 lambda1 lambda2)
Compiler

Compiled 857 to 292 computations (65.9% saved)

bsearch491.0ms (0.7%)

Algorithm
binary-search
Steps
TimeLeftRight
228.0ms
1.568976540567404e-72
1.4143379470090422e-61
263.0ms
-3.847108894905766e-15
-2.0257091962516125e-18
Compiler

Compiled 35 to 23 computations (34.3% saved)

regimes124.0ms (0.2%)

Counts
36 → 1
Calls
Call 1
Inputs
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) 1) (sin.f64 phi2))
(-.f64 (+.f64 1 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 1)
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 1/3 (*.f64 3 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 3 (*.f64 1/3 (cos.f64 phi2)))) (sin.f64 phi2))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 (-.f64 lambda1 lambda2) phi2)) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (sin.f64 phi2))
(atan2.f64 (/.f64 (+.f64 (sin.f64 (-.f64 lambda1 (+.f64 lambda2 phi2))) (sin.f64 (+.f64 (-.f64 lambda1 lambda2) phi2))) 2) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) 1))) (sin.f64 phi2))
(expm1.f64 (log1p.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(log1p.f64 (expm1.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(exp.f64 (log.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(log.f64 (exp.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))))
(cbrt.f64 (pow.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2)) 2))
(pow.f64 (cbrt.f64 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 3)
(log.f64 (exp.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(expm1.f64 (log1p.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(log1p.f64 (expm1.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))))
(cbrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 3))
(sqrt.f64 (pow.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2)) 2))
(pow.f64 (sqrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) 2)
(pow.f64 (cbrt.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))) 3)
(atan2.f64 (*.f64 (log.f64 (exp.f64 (sin.f64 (-.f64 lambda1 lambda2)))) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))) (sin.f64 phi2))
Outputs
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
Calls

5 calls:

24.0ms
phi2
22.0ms
(-.f64 lambda1 lambda2)
22.0ms
lambda1
21.0ms
phi1
21.0ms
lambda2
Results
ErrorSegmentsBranch
29.3b1lambda1
29.3b1lambda2
29.3b1phi1
29.3b1phi2
29.3b1(-.f64 lambda1 lambda2)
Compiler

Compiled 400 to 158 computations (60.5% saved)

regimes168.0ms (0.2%)

Counts
11 → 3
Calls
Call 1
Inputs
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) 1) (sin.f64 phi2))
(-.f64 (+.f64 1 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 1)
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
Outputs
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (sin.f64 phi2))
Calls

6 calls:

34.0ms
phi2
34.0ms
phi1
27.0ms
lambda1
26.0ms
lambda2
21.0ms
(-.f64 lambda1 lambda2)
Results
ErrorSegmentsBranch
31.4b3lambda1
32.1b3lambda2
36.8b4phi1
31.6b5phi2
38.1b3(-.f64 lambda1 lambda2)
38.1b3(-.f64 lambda1 lambda2)
Compiler

Compiled 132 to 67 computations (49.2% saved)

bsearch436.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
211.0ms
2.718604412957491e-17
2.6665488530783673e-15
224.0ms
-1.0318137612855276e-5
-4.450098039340818e-8
Compiler

Compiled 35 to 23 computations (34.3% saved)

regimes90.0ms (0.1%)

Counts
9 → 3
Calls
Call 1
Inputs
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) 1) (sin.f64 phi2))
(-.f64 (+.f64 1 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 1)
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (sin.f64 phi2))
Outputs
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (sin.f64 phi2))
(atan2.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (sin.f64 phi2))
Calls

5 calls:

23.0ms
(-.f64 lambda1 lambda2)
22.0ms
lambda1
17.0ms
phi2
17.0ms
lambda2
7.0ms
phi1
Results
ErrorSegmentsBranch
37.6b3lambda1
36.5b3lambda2
40.4b1phi1
35.9b3phi2
40.4b1(-.f64 lambda1 lambda2)
Compiler

Compiled 107 to 58 computations (45.8% saved)

bsearch463.0ms (0.7%)

Algorithm
binary-search
Steps
TimeLeftRight
231.0ms
1.2117978708919932e+33
8.66818169764068e+40
231.0ms
-138723778.3828996
-444.0307470392372
Compiler

Compiled 35 to 23 computations (34.3% saved)

regimes32.0ms (0%)

Accuracy

Total -16.7b remaining (-41.4%)

Threshold costs -16.7b (-41.4%)

Counts
7 → 1
Calls
Call 1
Inputs
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (sin.f64 lambda1) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) 1) (sin.f64 phi2))
(-.f64 (+.f64 1 (atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))) 1)
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 1) (sin.f64 phi2))
(atan2.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
Outputs
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
Calls

5 calls:

7.0ms
(-.f64 lambda1 lambda2)
6.0ms
lambda1
6.0ms
phi1
5.0ms
lambda2
5.0ms
phi2
Results
ErrorSegmentsBranch
40.4b1lambda1
40.4b1lambda2
40.4b1phi1
40.4b1phi2
40.4b1(-.f64 lambda1 lambda2)
Compiler

Compiled 91 to 53 computations (41.8% saved)

simplify130.0ms (0.2%)

Algorithm
egg-herbie
Rules
73×*-commutative_binary64
57×+-commutative_binary64
50×sub-neg_binary64
41×distribute-rgt-neg-in_binary64
35×neg-sub0_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02343001
13552993
24822993
35632993
46132993
56272993
66322993
76332993
Stop Event
saturated
Calls
Call 1
Inputs
(atan2.f64 (*.f64 (-.f64 (log1p.f64 (expm1.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)))) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (log1p.f64 (expm1.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)))) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1))))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1))))))))
(if (<=.f64 phi2 -3447117570049994240/18446744073709551616) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2))))) (if (<=.f64 phi2 8777717928171806/1461501637330902918203684832716283019655932542976) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) phi2) (*.f64 -1 (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))
(if (<=.f64 phi2 -4876789899770655/1267650600228229401496703205376) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2))))) (if (<=.f64 phi2 10808559795028355072/2135987035920910082395021706169552114602704522356652769947041607822219725780640550022962086936576) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))
(if (<=.f64 phi2 -4876789899770655/1267650600228229401496703205376) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2))))) (if (<=.f64 phi2 10808559795028355072/2135987035920910082395021706169552114602704522356652769947041607822219725780640550022962086936576) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))) (atan2.f64 (*.f64 (fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))))
(if (<=.f64 phi2 -4876789899770655/1267650600228229401496703205376) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2))))) (if (<=.f64 phi2 10808559795028355072/2135987035920910082395021706169552114602704522356652769947041607822219725780640550022962086936576) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))))
(if (<=.f64 lambda2 -5394380685854608/4294967296) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))) (if (<=.f64 lambda2 2221572684986596/18446744073709551616) (atan2.f64 (+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))))) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))))
(if (<=.f64 phi1 -6540375099397819/604462909807314587353088) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))) (if (<=.f64 phi1 1509024224477485/5846006549323611672814739330865132078623730171904) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (sin.f64 phi1)))) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (expm1.f64 (log1p.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))))))))
(if (<=.f64 phi1 -6540375099397819/604462909807314587353088) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))) (if (<=.f64 phi1 1509024224477485/5846006549323611672814739330865132078623730171904) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (sin.f64 phi1)))) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))))
(if (<=.f64 phi1 -283002240071040000/79228162514264337593543950336) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))) (if (<=.f64 phi1 242244912773477824/26959946667150639794667015087019630673637144422540572481103610249216) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2)) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))))
(if (<=.f64 phi1 -283002240071040000/79228162514264337593543950336) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2))))) (if (<=.f64 phi1 242244912773477824/26959946667150639794667015087019630673637144422540572481103610249216) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2)) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))))
(if (<=.f64 lambda2 -5721898706161551/32768) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2)) (if (<=.f64 lambda2 90700108891368016) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))))) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))))
(if (<=.f64 lambda2 -5721898706161551/32768) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2)) (if (<=.f64 lambda2 -3396629649147969/2772669694120814859578414184143083703436437075375816575170479580614621307805625623039974406104139578097391210961403571828974157824) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1)))) (if (<=.f64 lambda2 1511841749956125/1886981212410770676120777290494134445458460610208220214188103150122812081196074426043063362588829383770734187515381922449885292314962396316280717125716348021824697663488) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))))) (if (<=.f64 lambda2 90700108891368016) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))))))
(if (<=.f64 lambda2 -5721898706161551/32768) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2)) (if (<=.f64 lambda2 -3396629649147969/2772669694120814859578414184143083703436437075375816575170479580614621307805625623039974406104139578097391210961403571828974157824) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1)))) (if (<=.f64 lambda2 1511841749956125/1886981212410770676120777290494134445458460610208220214188103150122812081196074426043063362588829383770734187515381922449885292314962396316280717125716348021824697663488) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1))))) (if (<=.f64 lambda2 90700108891368016) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))))))
(if (<=.f64 lambda2 -5721898706161551/32768) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2)) (if (<=.f64 lambda2 -4750157382068481024/84162174424773976115855838126082058648805436845170781751972494449099714468753293153818664580441415219631727501698851483408310916002940861810045036330430093599283578738055113571066620126149163476340692027772502016) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1)))) (if (<=.f64 lambda2 5069661354103777/2163894399531684849059183759018052020301198647443953754636127064173256304872345024407213080115843841616586321892381199068702095603722999960578207655784200507016751857659924824755124296402642702553187257992033027703390323887110396882282073697349781407701150027357134841184256) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))) (if (<=.f64 lambda2 90700108891368016) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1)))) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))))))
(if (<=.f64 lambda2 -5721898706161551/32768) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2)) (if (<=.f64 lambda2 -4750157382068481024/84162174424773976115855838126082058648805436845170781751972494449099714468753293153818664580441415219631727501698851483408310916002940861810045036330430093599283578738055113571066620126149163476340692027772502016) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (sin.f64 phi1)))) (if (<=.f64 lambda2 5069661354103777/2163894399531684849059183759018052020301198647443953754636127064173256304872345024407213080115843841616586321892381199068702095603722999960578207655784200507016751857659924824755124296402642702553187257992033027703390323887110396882282073697349781407701150027357134841184256) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))) (if (<=.f64 lambda2 6539112157729669/2596148429267413814265248164610048) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (sin.f64 phi1)))) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))))))
(if (<=.f64 phi2 -5925110907365607/1180591620717411303424) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2)) (if (<=.f64 phi2 3121153964024049/1989292945639146568621528992587283360401824603189390869761855907572637988050133502132224) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))))
(if (<=.f64 phi1 -5493248108590253/68719476736) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1))))) (if (<=.f64 phi1 2132499325037974/18446744073709551616) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (sin.f64 phi2) (+.f64 1 (*.f64 -1/2 (*.f64 phi1 phi1)))) (*.f64 phi1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1)))))) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))))))
(if (<=.f64 phi1 -5493248108590253/68719476736) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1))))) (if (<=.f64 phi1 2132499325037974/18446744073709551616) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 phi1 (cos.f64 phi2))))) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))))))
(if (<=.f64 phi2 -488216969459705/1099511627776) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) (if (<=.f64 phi2 7601518565270627/748288838313422294120286634350736906063837462003712) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(if (<=.f64 phi2 -4876789899770655/1267650600228229401496703205376) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) (if (<=.f64 phi2 3121153964024049/1989292945639146568621528992587283360401824603189390869761855907572637988050133502132224) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1))))) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
(if (<=.f64 lambda1 -3045376701786523/295147905179352825856) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (sin.f64 phi2)) (if (<=.f64 lambda1 2205593930155953/81129638414606681695789005144064) (atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (sin.f64 phi2)) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (sin.f64 phi2))))
(if (<=.f64 phi2 -595814091332105600/4294967296) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (sin.f64 phi2)) (if (<=.f64 phi2 1211797870891993170680667564933120) (atan2.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (sin.f64 phi2))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))
Outputs
(atan2.f64 (*.f64 (-.f64 (log1p.f64 (expm1.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)))) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (log1p.f64 (expm1.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)))) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (log1p.f64 (expm1.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)))) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1))))))))
(atan2.f64 (*.f64 (-.f64 (log1p.f64 (expm1.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)))) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (neg.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))))
(atan2.f64 (*.f64 (-.f64 (log1p.f64 (expm1.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)))) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (fma.f64 (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1))))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (+.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (neg.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))))
(if (<=.f64 phi2 -3447117570049994240/18446744073709551616) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2))))) (if (<=.f64 phi2 8777717928171806/1461501637330902918203684832716283019655932542976) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi1) phi2) (*.f64 -1 (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))
(if (<=.f64 phi2 -6732651504003895/36028797018963968) (atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (cos.f64 (-.f64 lambda1 lambda2))))) (if (<=.f64 phi2 4388858964085903/730750818665451459101842416358141509827966271488) (atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (+.f64 (*.f64 phi2 (cos.f64 phi1)) (neg.f64 (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))) (atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))
(if (<=.f64 phi2 -6732651504003895/36028797018963968) (atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (cos.f64 (-.f64 lambda1 lambda2))))) (if (<=.f64 phi2 4388858964085903/730750818665451459101842416358141509827966271488) (atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (-.f64 (*.f64 phi2 (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))) (atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))
(if (<=.f64 phi2 -4876789899770655/1267650600228229401496703205376) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2))))) (if (<=.f64 phi2 10808559795028355072/2135987035920910082395021706169552114602704522356652769947041607822219725780640550022962086936576) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))
(if (<=.f64 phi2 -4876789899770655/1267650600228229401496703205376) (atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (cos.f64 (-.f64 lambda1 lambda2))))) (if (<=.f64 phi2 5277617087416189/1042962419883256876169444192465601618458351817556959360325703910069443225478828393565899456512) (atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (neg.f64 (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))) (atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))
(if (<=.f64 phi2 -4876789899770655/1267650600228229401496703205376) (atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (cos.f64 (-.f64 lambda1 lambda2))))) (if (<=.f64 phi2 5277617087416189/1042962419883256876169444192465601618458351817556959360325703910069443225478828393565899456512) (atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (neg.f64 (sin.f64 phi1)) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))) (atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))
(if (<=.f64 phi2 -4876789899770655/1267650600228229401496703205376) (atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (cos.f64 (-.f64 lambda1 lambda2))))) (if (<=.f64 phi2 5277617087416189/1042962419883256876169444192465601618458351817556959360325703910069443225478828393565899456512) (atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (sin.f64 phi1) (-.f64 (*.f64 (cos.f64 lambda2) (neg.f64 (cos.f64 lambda1))) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))) (atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))))
(if (<=.f64 phi2 -4876789899770655/1267650600228229401496703205376) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2))))) (if (<=.f64 phi2 10808559795028355072/2135987035920910082395021706169552114602704522356652769947041607822219725780640550022962086936576) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))) (atan2.f64 (*.f64 (fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))))
(if (<=.f64 phi2 -4876789899770655/1267650600228229401496703205376) (atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (cos.f64 (-.f64 lambda1 lambda2))))) (if (<=.f64 phi2 5277617087416189/1042962419883256876169444192465601618458351817556959360325703910069443225478828393565899456512) (atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (neg.f64 (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))) (atan2.f64 (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2))))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (cos.f64 (-.f64 lambda1 lambda2)))))))
(if (<=.f64 phi2 -4876789899770655/1267650600228229401496703205376) (atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (cos.f64 (-.f64 lambda1 lambda2))))) (if (<=.f64 phi2 5277617087416189/1042962419883256876169444192465601618458351817556959360325703910069443225478828393565899456512) (atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (neg.f64 (sin.f64 phi1)) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))) (atan2.f64 (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2))))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (cos.f64 (-.f64 lambda1 lambda2)))))))
(if (<=.f64 phi2 -4876789899770655/1267650600228229401496703205376) (atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (cos.f64 (-.f64 lambda1 lambda2))))) (if (<=.f64 phi2 5277617087416189/1042962419883256876169444192465601618458351817556959360325703910069443225478828393565899456512) (atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (sin.f64 phi1) (-.f64 (*.f64 (cos.f64 lambda2) (neg.f64 (cos.f64 lambda1))) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))) (atan2.f64 (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2))))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (cos.f64 (-.f64 lambda1 lambda2)))))))
(if (<=.f64 phi2 -4876789899770655/1267650600228229401496703205376) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2))))) (if (<=.f64 phi2 10808559795028355072/2135987035920910082395021706169552114602704522356652769947041607822219725780640550022962086936576) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (*.f64 -1 (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))))
(if (<=.f64 phi2 -4876789899770655/1267650600228229401496703205376) (atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (cos.f64 (-.f64 lambda1 lambda2))))) (if (<=.f64 phi2 5277617087416189/1042962419883256876169444192465601618458351817556959360325703910069443225478828393565899456512) (atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (neg.f64 (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))) (atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (cos.f64 (-.f64 lambda1 lambda2)))))))
(if (<=.f64 phi2 -4876789899770655/1267650600228229401496703205376) (atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (cos.f64 (-.f64 lambda1 lambda2))))) (if (<=.f64 phi2 5277617087416189/1042962419883256876169444192465601618458351817556959360325703910069443225478828393565899456512) (atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (neg.f64 (sin.f64 phi1)) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))) (atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (cos.f64 (-.f64 lambda1 lambda2)))))))
(if (<=.f64 phi2 -4876789899770655/1267650600228229401496703205376) (atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (cos.f64 (-.f64 lambda1 lambda2))))) (if (<=.f64 phi2 5277617087416189/1042962419883256876169444192465601618458351817556959360325703910069443225478828393565899456512) (atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (sin.f64 phi1) (-.f64 (*.f64 (cos.f64 lambda2) (neg.f64 (cos.f64 lambda1))) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))) (atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (cos.f64 (-.f64 lambda1 lambda2)))))))
(if (<=.f64 lambda2 -5394380685854608/4294967296) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))) (if (<=.f64 lambda2 2221572684986596/18446744073709551616) (atan2.f64 (+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))))) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))))
(if (<=.f64 lambda2 -337148792865913/268435456) (atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda2) (cos.f64 phi2))))) (if (<=.f64 lambda2 555393171246649/4611686018427387904) (atan2.f64 (+.f64 (neg.f64 (*.f64 lambda2 (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))) (*.f64 (sin.f64 lambda1) (cos.f64 phi2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda1) (sin.f64 phi1))))) (atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda2) (cos.f64 phi2)))))))
(if (<=.f64 lambda2 -337148792865913/268435456) (atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda2) (cos.f64 phi2))))) (if (<=.f64 lambda2 555393171246649/4611686018427387904) (atan2.f64 (-.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (*.f64 lambda2 (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda1) (sin.f64 phi1))))) (atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda2) (cos.f64 phi2)))))))
(if (<=.f64 phi1 -6540375099397819/604462909807314587353088) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))) (if (<=.f64 phi1 1509024224477485/5846006549323611672814739330865132078623730171904) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (sin.f64 phi1)))) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (expm1.f64 (log1p.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))))))))
(if (<=.f64 phi1 -6540375099397819/604462909807314587353088) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))) (if (<=.f64 phi1 1509024224477485/5846006549323611672814739330865132078623730171904) (atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (sin.f64 phi1)))) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (expm1.f64 (log1p.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))))))))
(if (<=.f64 phi1 -6540375099397819/604462909807314587353088) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))) (if (<=.f64 phi1 1509024224477485/5846006549323611672814739330865132078623730171904) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (sin.f64 phi1)))) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))))
(if (<=.f64 phi1 -6540375099397819/604462909807314587353088) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))) (if (<=.f64 phi1 1509024224477485/5846006549323611672814739330865132078623730171904) (atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (sin.f64 phi1)))) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (cos.f64 (-.f64 lambda1 lambda2)))))))
(if (<=.f64 phi1 -283002240071040000/79228162514264337593543950336) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))) (if (<=.f64 phi1 242244912773477824/26959946667150639794667015087019630673637144422540572481103610249216) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2)) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))))
(if (<=.f64 phi1 -276369375069375/77371252455336267181195264) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2)))) (if (<=.f64 phi1 3785076762085591/421249166674228746791672110734681729275580381602196445017243910144) (atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (sin.f64 phi2)) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (cos.f64 (-.f64 lambda1 lambda2)))))))
(if (<=.f64 phi1 -283002240071040000/79228162514264337593543950336) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2))))) (if (<=.f64 phi1 242244912773477824/26959946667150639794667015087019630673637144422540572481103610249216) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2)) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))))
(if (<=.f64 phi1 -276369375069375/77371252455336267181195264) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (cos.f64 (-.f64 lambda1 lambda2))))) (if (<=.f64 phi1 3785076762085591/421249166674228746791672110734681729275580381602196445017243910144) (atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (sin.f64 phi2)) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) (cos.f64 (-.f64 lambda1 lambda2)))))))
(if (<=.f64 lambda2 -5721898706161551/32768) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2)) (if (<=.f64 lambda2 90700108891368016) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))))) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))))
(if (<=.f64 lambda2 -5721898706161551/32768) (atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (sin.f64 phi2)) (if (<=.f64 lambda2 90700108891368016) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda1) (sin.f64 phi1))))) (atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (sin.f64 phi2))))
(if (<=.f64 lambda2 -5721898706161551/32768) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2)) (if (<=.f64 lambda2 -3396629649147969/2772669694120814859578414184143083703436437075375816575170479580614621307805625623039974406104139578097391210961403571828974157824) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1)))) (if (<=.f64 lambda2 1511841749956125/1886981212410770676120777290494134445458460610208220214188103150122812081196074426043063362588829383770734187515381922449885292314962396316280717125716348021824697663488) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 phi1) (cos.f64 lambda1))))) (if (<=.f64 lambda2 90700108891368016) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))))))
(if (<=.f64 lambda2 -5721898706161551/32768) (atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (sin.f64 phi2)) (if (<=.f64 lambda2 -3396629649147969/2772669694120814859578414184143083703436437075375816575170479580614621307805625623039974406104139578097391210961403571828974157824) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))) (if (<=.f64 lambda2 1511841749956125/1886981212410770676120777290494134445458460610208220214188103150122812081196074426043063362588829383770734187515381922449885292314962396316280717125716348021824697663488) (atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda1) (sin.f64 phi1))))) (if (<=.f64 lambda2 90700108891368016) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))) (atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (sin.f64 phi2))))))
(if (<=.f64 lambda2 -5721898706161551/32768) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2)) (if (<=.f64 lambda2 -3396629649147969/2772669694120814859578414184143083703436437075375816575170479580614621307805625623039974406104139578097391210961403571828974157824) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1)))) (if (<=.f64 lambda2 1511841749956125/1886981212410770676120777290494134445458460610208220214188103150122812081196074426043063362588829383770734187515381922449885292314962396316280717125716348021824697663488) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1))))) (if (<=.f64 lambda2 90700108891368016) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))))))
(if (<=.f64 lambda2 -5721898706161551/32768) (atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (sin.f64 phi2)) (if (<=.f64 lambda2 -3396629649147969/2772669694120814859578414184143083703436437075375816575170479580614621307805625623039974406104139578097391210961403571828974157824) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))) (if (<=.f64 lambda2 1511841749956125/1886981212410770676120777290494134445458460610208220214188103150122812081196074426043063362588829383770734187515381922449885292314962396316280717125716348021824697663488) (atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2))))) (if (<=.f64 lambda2 90700108891368016) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))) (atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (sin.f64 phi2))))))
(if (<=.f64 lambda2 -5721898706161551/32768) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2)) (if (<=.f64 lambda2 -4750157382068481024/84162174424773976115855838126082058648805436845170781751972494449099714468753293153818664580441415219631727501698851483408310916002940861810045036330430093599283578738055113571066620126149163476340692027772502016) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1)))) (if (<=.f64 lambda2 5069661354103777/2163894399531684849059183759018052020301198647443953754636127064173256304872345024407213080115843841616586321892381199068702095603722999960578207655784200507016751857659924824755124296402642702553187257992033027703390323887110396882282073697349781407701150027357134841184256) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))) (if (<=.f64 lambda2 90700108891368016) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1)))) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))))))
(if (<=.f64 lambda2 -5721898706161551/32768) (atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (sin.f64 phi2)) (if (<=.f64 lambda2 -4638825568426251/82189623461693336050640466920002010399224059419112091554660639110448939910891887845526039629337319550421608888377784651765928628909121935361372105791435638280550369861381946846744746216942542457363957058371584) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))) (if (<=.f64 lambda2 5069661354103777/2163894399531684849059183759018052020301198647443953754636127064173256304872345024407213080115843841616586321892381199068702095603722999960578207655784200507016751857659924824755124296402642702553187257992033027703390323887110396882282073697349781407701150027357134841184256) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))) (if (<=.f64 lambda2 90700108891368016) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))) (atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (sin.f64 phi2))))))
(if (<=.f64 lambda2 -5721898706161551/32768) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2)) (if (<=.f64 lambda2 -4750157382068481024/84162174424773976115855838126082058648805436845170781751972494449099714468753293153818664580441415219631727501698851483408310916002940861810045036330430093599283578738055113571066620126149163476340692027772502016) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (sin.f64 phi1)))) (if (<=.f64 lambda2 5069661354103777/2163894399531684849059183759018052020301198647443953754636127064173256304872345024407213080115843841616586321892381199068702095603722999960578207655784200507016751857659924824755124296402642702553187257992033027703390323887110396882282073697349781407701150027357134841184256) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))) (if (<=.f64 lambda2 6539112157729669/2596148429267413814265248164610048) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (sin.f64 phi1)))) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))))))
(if (<=.f64 lambda2 -5721898706161551/32768) (atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (sin.f64 phi2)) (if (<=.f64 lambda2 -4638825568426251/82189623461693336050640466920002010399224059419112091554660639110448939910891887845526039629337319550421608888377784651765928628909121935361372105791435638280550369861381946846744746216942542457363957058371584) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (sin.f64 phi1)))) (if (<=.f64 lambda2 5069661354103777/2163894399531684849059183759018052020301198647443953754636127064173256304872345024407213080115843841616586321892381199068702095603722999960578207655784200507016751857659924824755124296402642702553187257992033027703390323887110396882282073697349781407701150027357134841184256) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 phi2) (sin.f64 phi1)))) (if (<=.f64 lambda2 6539112157729669/2596148429267413814265248164610048) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (-.f64 (*.f64 (cos.f64 phi1) (sin.f64 phi2)) (*.f64 (cos.f64 lambda1) (sin.f64 phi1)))) (atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (sin.f64 phi2))))))
(if (<=.f64 phi2 -5925110907365607/1180591620717411303424) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2)) (if (<=.f64 phi2 3121153964024049/1989292945639146568621528992587283360401824603189390869761855907572637988050133502132224) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))) (atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (sin.f64 phi2))))
(if (<=.f64 phi2 -5925110907365607/1180591620717411303424) (atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (sin.f64 phi2)) (if (<=.f64 phi2 3121153964024049/1989292945639146568621528992587283360401824603189390869761855907572637988050133502132224) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (-.f64 (*.f64 phi2 (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))) (atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (sin.f64 phi2))))
(if (<=.f64 phi1 -5493248108590253/68719476736) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1))))) (if (<=.f64 phi1 2132499325037974/18446744073709551616) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (sin.f64 phi2) (+.f64 1 (*.f64 -1/2 (*.f64 phi1 phi1)))) (*.f64 phi1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1)))))) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))))))
(if (<=.f64 phi1 -5493248108590253/68719476736) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1))))) (if (<=.f64 phi1 1066249662518987/9223372036854775808) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (-.f64 (*.f64 (sin.f64 phi2) (+.f64 1 (*.f64 -1/2 (*.f64 phi1 phi1)))) (*.f64 phi1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1)))))) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))))))
(if (<=.f64 phi1 -5493248108590253/68719476736) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (*.f64 (neg.f64 (sin.f64 phi1)) (cos.f64 (-.f64 lambda2 lambda1)))) (if (<=.f64 phi1 1066249662518987/9223372036854775808) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (-.f64 (*.f64 (sin.f64 phi2) (+.f64 1 (*.f64 -1/2 (*.f64 phi1 phi1)))) (*.f64 phi1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1)))))) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (*.f64 (neg.f64 (sin.f64 phi1)) (cos.f64 (-.f64 lambda2 lambda1))))))
(if (<=.f64 phi1 -5493248108590253/68719476736) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1))))) (if (<=.f64 phi1 2132499325037974/18446744073709551616) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 phi1 (cos.f64 phi2))))) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))))))
(if (<=.f64 phi1 -5493248108590253/68719476736) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1))))) (if (<=.f64 phi1 1066249662518987/9223372036854775808) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (-.f64 (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi2) phi1)))) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))))))
(if (<=.f64 phi1 -5493248108590253/68719476736) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (*.f64 (neg.f64 (sin.f64 phi1)) (cos.f64 (-.f64 lambda2 lambda1)))) (if (<=.f64 phi1 1066249662518987/9223372036854775808) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (-.f64 (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi2) phi1)))) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (*.f64 (neg.f64 (sin.f64 phi1)) (cos.f64 (-.f64 lambda2 lambda1))))))
(if (<=.f64 phi2 -488216969459705/1099511627776) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) (if (<=.f64 phi2 7601518565270627/748288838313422294120286634350736906063837462003712) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 phi1) phi2) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(if (<=.f64 phi2 -488216969459705/1099511627776) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) (if (<=.f64 phi2 7601518565270627/748288838313422294120286634350736906063837462003712) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (-.f64 (*.f64 phi2 (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))))
(if (<=.f64 phi2 -4876789899770655/1267650600228229401496703205376) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2)) (if (<=.f64 phi2 3121153964024049/1989292945639146568621528992587283360401824603189390869761855907572637988050133502132224) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1))))) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))))
(if (<=.f64 phi2 -4876789899770655/1267650600228229401496703205376) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) (if (<=.f64 phi2 3121153964024049/1989292945639146568621528992587283360401824603189390869761855907572637988050133502132224) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda2 lambda1))))) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))))
(if (<=.f64 phi2 -4876789899770655/1267650600228229401496703205376) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) (if (<=.f64 phi2 3121153964024049/1989292945639146568621528992587283360401824603189390869761855907572637988050133502132224) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (*.f64 (neg.f64 (sin.f64 phi1)) (cos.f64 (-.f64 lambda2 lambda1)))) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2))
(if (<=.f64 lambda1 -3045376701786523/295147905179352825856) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (sin.f64 phi2)) (if (<=.f64 lambda1 2205593930155953/81129638414606681695789005144064) (atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (sin.f64 phi2)) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (sin.f64 phi2))))
(if (<=.f64 lambda1 -3045376701786523/295147905179352825856) (atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (sin.f64 phi2)) (if (<=.f64 lambda1 2205593930155953/81129638414606681695789005144064) (atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (sin.f64 phi2)) (atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (sin.f64 phi2))))
(if (<=.f64 phi2 -595814091332105600/4294967296) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (sin.f64 phi2)) (if (<=.f64 phi2 1211797870891993170680667564933120) (atan2.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 phi2 phi2)) 1) (sin.f64 (-.f64 lambda1 lambda2))) (sin.f64 phi2)) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (sin.f64 phi2))))
(if (<=.f64 phi2 -4654797588532075/33554432) (atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (sin.f64 phi2)) (if (<=.f64 phi2 1211797870891993170680667564933120) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (*.f64 phi2 phi2)))) (sin.f64 phi2)) (atan2.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (sin.f64 phi2))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi2))
(atan2.f64 (sin.f64 lambda1) (sin.f64 phi2))

end469.0ms (0.7%)

Stop Event
fuel
Compiler

Compiled 3804 to 1112 computations (70.8% saved)

Profiling

Loading profile data...