Details

Time bar (total: 26.8s)

analyze3.8s (14.2%)

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
13.9%85.9%0.2%13
13.9%85.9%0.2%14
Compiler

Compiled 29 to 18 computations (37.9% saved)

sample11.5s (42.8%)

Results
9.1s5527×body1024valid
1.2s1309×body512valid
678.0ms182×body2048valid
253.0ms437×body256valid
251.0ms801×body128valid
Compiler

Compiled 58 to 36 computations (37.9% saved)

preprocess59.0ms (0.2%)

Algorithm
egg-herbie
Rules
848×fma-neg_binary64
807×fma-def_binary64
360×cancel-sign-sub-inv_binary64
209×sub-neg_binary64
190×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
071273
1163273
2376273
3798273
41264273
51906273
62810273
73765273
84582273
044
Stop Event
saturated
node limit
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 28 to 17 computations (39.3% saved)

simplify22.0ms (0.1%)

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))))

prune7.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
11.5b
Counts
3 → 2
Alt Table
StatusErrorProgram
11.5b
(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))))
11.5b
(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)))))
Compiler

Compiled 164 to 89 computations (45.7% saved)

localize20.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series40.0ms (0.1%)

Counts
4 → 88
Calls

30 calls:

TimeVariablePointExpression
16.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)))
1.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)))

rewrite75.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
758×prod-diff_binary64
182×add-sqr-sqrt_binary64
179×*-un-lft-identity_binary64
179×pow1_binary64
167×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01648
133844
2447244
Stop Event
node limit
Counts
4 → 116
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 (cos.f64 phi2) (neg.f64 (sin.f64 phi1)))
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 (*.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 (fma.f64 (cos.f64 lambda1) (cos.f64 (neg.f64 lambda2)) (neg.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (sin.f64 lambda1)))) (fma.f64 (neg.f64 (sin.f64 (neg.f64 lambda2))) (sin.f64 lambda1) (*.f64 (sin.f64 (neg.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 (neg.f64 lambda2))) (*.f64 (sin.f64 lambda1) (sin.f64 (neg.f64 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)) (+.f64 (*.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)))) (-.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 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 cbrt.f64 (pow.f64 (cos.f64 (-.f64 lambda1 lambda2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cos.f64 (-.f64 lambda1 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 fma.f64 (cos.f64 lambda1) (cos.f64 lambda2) (*.f64 (sin.f64 lambda1) (sin.f64 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 (sin.f64 (-.f64 lambda1 lambda2)) (fma.f64 (neg.f64 (cos.f64 lambda1)) (sin.f64 lambda2) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (sin.f64 (-.f64 lambda1 lambda2)) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (sqrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.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 (neg.f64 (cos.f64 lambda1)) (sin.f64 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 lambda1) (cos.f64 (neg.f64 lambda2))) (*.f64 (cos.f64 lambda1) (sin.f64 (neg.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (neg.f64 (*.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)) 1))) (fma.f64 (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) 1 (*.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (neg.f64 (*.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)) 1))) (fma.f64 (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) 1 (*.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (neg.f64 (*.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)) 1))) (fma.f64 (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) 1 (*.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.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 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)) 1))) (fma.f64 (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) 1 (*.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (sqrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (neg.f64 (*.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)) 1))) (fma.f64 (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) 1 (*.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 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 (fma.f64 1 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (fma.f64 (neg.f64 (cos.f64 lambda1)) (sin.f64 lambda2) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (sqrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 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 (fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (fma.f64 (neg.f64 (cos.f64 lambda1)) (sin.f64 lambda2) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (sqrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.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)))) (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 (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)))) (fma.f64 (neg.f64 (cos.f64 lambda1)) (sin.f64 lambda2) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.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)))) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (sqrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.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)))) (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 (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)))) (fma.f64 (neg.f64 (cos.f64 lambda1)) (sin.f64 lambda2) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.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)))) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (sqrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (neg.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (neg.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (neg.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.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 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (sqrt.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (neg.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.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) (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 (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))) (cbrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (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 (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)) (+.f64 (*.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (+.f64 (*.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 (-.f64 (*.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (*.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 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 log1p.f64 (expm1.f64 (sin.f64 (-.f64 lambda1 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 fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 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 (*.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 (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)) (+.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)))) (-.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 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 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 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 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 (cos.f64 phi2) (sin.f64 phi1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) 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 log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1)) 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 cbrt.f64 (*.f64 (pow.f64 (sin.f64 phi1) 3) (pow.f64 (cos.f64 phi2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cos.f64 phi2) (sin.f64 phi1))))))))

simplify52.0ms (0.2%)

Algorithm
egg-herbie
Rules
683×cancel-sign-sub-inv_binary64
457×*-commutative_binary64
352×fma-neg_binary64
245×distribute-rgt-neg-in_binary64
221×associate-*r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01792152
15932122
219611995
Stop Event
node limit
Counts
204 → 197
Calls
Call 1
Inputs
(cos.f64 (neg.f64 lambda2))
(-.f64 (cos.f64 (neg.f64 lambda2)) (*.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 (sin.f64 (neg.f64 lambda2)) lambda1)))
(-.f64 (+.f64 (*.f64 1/6 (*.f64 (sin.f64 (neg.f64 lambda2)) (pow.f64 lambda1 3))) (cos.f64 (neg.f64 lambda2))) (+.f64 (*.f64 1/2 (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2))) (*.f64 (sin.f64 (neg.f64 lambda2)) lambda1)))
(cos.f64 lambda1)
(+.f64 (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) lambda2))
(-.f64 (+.f64 (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) lambda2)) (*.f64 1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 lambda1))))
(-.f64 (+.f64 (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) lambda2)) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 lambda1))) (*.f64 1/6 (*.f64 (sin.f64 lambda1) (pow.f64 lambda2 3)))))
(sin.f64 (neg.f64 lambda2))
(+.f64 (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1) (sin.f64 (neg.f64 lambda2)))
(-.f64 (+.f64 (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1) (sin.f64 (neg.f64 lambda2))) (*.f64 1/2 (*.f64 (sin.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2))))
(-.f64 (+.f64 (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1) (sin.f64 (neg.f64 lambda2))) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2))) (*.f64 1/6 (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 3)))))
(sin.f64 lambda1)
(-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))
(-.f64 (sin.f64 lambda1) (+.f64 (*.f64 lambda2 (cos.f64 lambda1)) (*.f64 1/2 (*.f64 (sin.f64 lambda1) (pow.f64 lambda2 2)))))
(-.f64 (+.f64 (sin.f64 lambda1) (*.f64 1/6 (*.f64 (pow.f64 lambda2 3) (cos.f64 lambda1)))) (+.f64 (*.f64 lambda2 (cos.f64 lambda1)) (*.f64 1/2 (*.f64 (sin.f64 lambda1) (pow.f64 lambda2 2)))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 lambda2)))))
(-.f64 (+.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (neg.f64 lambda2)) lambda1))) (*.f64 (sin.f64 phi2) (cos.f64 phi1))) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 lambda2)))))
(-.f64 (+.f64 (*.f64 1/2 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2))))) (+.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (neg.f64 lambda2)) lambda1))) (*.f64 (sin.f64 phi2) (cos.f64 phi1)))) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 lambda2)))))
(-.f64 (+.f64 (*.f64 1/2 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2))))) (+.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (neg.f64 lambda2)) lambda1))) (*.f64 (sin.f64 phi2) (cos.f64 phi1)))) (+.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 lambda2)))) (*.f64 1/6 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (neg.f64 lambda2)) (pow.f64 lambda1 3)))))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (+.f64 (*.f64 (sin.f64 lambda1) (*.f64 (sin.f64 phi1) (*.f64 lambda2 (cos.f64 phi2)))) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(-.f64 (+.f64 (*.f64 1/2 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (pow.f64 lambda2 2) (cos.f64 lambda1))))) (*.f64 (sin.f64 phi2) (cos.f64 phi1))) (+.f64 (*.f64 (sin.f64 lambda1) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) lambda2))) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(-.f64 (+.f64 (*.f64 1/6 (*.f64 (sin.f64 lambda1) (*.f64 (sin.f64 phi1) (*.f64 (pow.f64 lambda2 3) (cos.f64 phi2))))) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 phi1) (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) (cos.f64 lambda1))))) (*.f64 (sin.f64 phi2) (cos.f64 phi1)))) (+.f64 (*.f64 (sin.f64 lambda1) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) lambda2))) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))
(*.f64 -1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1)))
(-.f64 (*.f64 phi2 (cos.f64 phi1)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1)))
(-.f64 (+.f64 (*.f64 1/2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 phi2 2)))) (*.f64 (cos.f64 phi1) phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1)))
(-.f64 (+.f64 (*.f64 1/2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 phi2 2)))) (*.f64 (cos.f64 phi1) phi2)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 phi2 3) (cos.f64 phi1))) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))
(sin.f64 phi2)
(-.f64 (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 phi1 (cos.f64 phi2))))
(-.f64 (sin.f64 phi2) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 phi1 2) (sin.f64 phi2))) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 phi1 (cos.f64 phi2)))))
(-.f64 (+.f64 (sin.f64 phi2) (*.f64 1/6 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (pow.f64 phi1 3) (cos.f64 phi2))))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 phi1 2) (sin.f64 phi2))) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 phi1 (cos.f64 phi2)))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(*.f64 -1 (sin.f64 phi1))
(-.f64 (*.f64 1/2 (*.f64 (sin.f64 phi1) (pow.f64 phi2 2))) (sin.f64 phi1))
(-.f64 (*.f64 1/2 (*.f64 (sin.f64 phi1) (pow.f64 phi2 2))) (+.f64 (sin.f64 phi1) (*.f64 1/24 (*.f64 (sin.f64 phi1) (pow.f64 phi2 4)))))
(-.f64 (+.f64 (*.f64 1/2 (*.f64 (sin.f64 phi1) (pow.f64 phi2 2))) (*.f64 1/720 (*.f64 (sin.f64 phi1) (pow.f64 phi2 6)))) (+.f64 (sin.f64 phi1) (*.f64 1/24 (*.f64 (sin.f64 phi1) (pow.f64 phi2 4)))))
(*.f64 -1 (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 -1 (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 -1 (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 -1 (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 -1 (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 -1 (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 -1 (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 -1 (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 -1 (*.f64 phi1 (cos.f64 phi2)))
(-.f64 (*.f64 1/6 (*.f64 (pow.f64 phi1 3) (cos.f64 phi2))) (*.f64 phi1 (cos.f64 phi2)))
(-.f64 (*.f64 1/6 (*.f64 (pow.f64 phi1 3) (cos.f64 phi2))) (+.f64 (*.f64 phi1 (cos.f64 phi2)) (*.f64 1/120 (*.f64 (pow.f64 phi1 5) (cos.f64 phi2)))))
(-.f64 (+.f64 (*.f64 1/5040 (*.f64 (pow.f64 phi1 7) (cos.f64 phi2))) (*.f64 1/6 (*.f64 (pow.f64 phi1 3) (cos.f64 phi2)))) (+.f64 (*.f64 phi1 (cos.f64 phi2)) (*.f64 1/120 (*.f64 (pow.f64 phi1 5) (cos.f64 phi2)))))
(*.f64 -1 (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 -1 (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 -1 (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 -1 (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 -1 (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 -1 (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 -1 (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 -1 (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
Outputs
(cos.f64 (neg.f64 lambda2))
(cos.f64 lambda2)
(-.f64 (cos.f64 (neg.f64 lambda2)) (*.f64 (sin.f64 (neg.f64 lambda2)) lambda1))
(-.f64 (cos.f64 lambda2) (*.f64 (neg.f64 (sin.f64 lambda2)) lambda1))
(+.f64 (cos.f64 lambda2) (*.f64 lambda1 (sin.f64 lambda2)))
(-.f64 (cos.f64 (neg.f64 lambda2)) (+.f64 (*.f64 1/2 (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2))) (*.f64 (sin.f64 (neg.f64 lambda2)) lambda1)))
(-.f64 (cos.f64 lambda2) (fma.f64 1/2 (*.f64 (cos.f64 lambda2) (*.f64 lambda1 lambda1)) (*.f64 (neg.f64 (sin.f64 lambda2)) lambda1)))
(+.f64 (+.f64 (cos.f64 lambda2) (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (*.f64 lambda1 lambda1)))) (*.f64 lambda1 (sin.f64 lambda2)))
(-.f64 (cos.f64 lambda2) (*.f64 lambda1 (+.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 lambda1 (*.f64 (cos.f64 lambda2) 1/2)))))
(-.f64 (+.f64 (*.f64 1/6 (*.f64 (sin.f64 (neg.f64 lambda2)) (pow.f64 lambda1 3))) (cos.f64 (neg.f64 lambda2))) (+.f64 (*.f64 1/2 (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2))) (*.f64 (sin.f64 (neg.f64 lambda2)) lambda1)))
(-.f64 (fma.f64 1/6 (*.f64 (neg.f64 (sin.f64 lambda2)) (pow.f64 lambda1 3)) (cos.f64 lambda2)) (fma.f64 1/2 (*.f64 (cos.f64 lambda2) (*.f64 lambda1 lambda1)) (*.f64 (neg.f64 (sin.f64 lambda2)) lambda1)))
(+.f64 (+.f64 (fma.f64 1/6 (*.f64 (neg.f64 (sin.f64 lambda2)) (pow.f64 lambda1 3)) (cos.f64 lambda2)) (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (*.f64 lambda1 lambda1)))) (*.f64 lambda1 (sin.f64 lambda2)))
(+.f64 (cos.f64 lambda2) (+.f64 (*.f64 (*.f64 lambda1 lambda1) (-.f64 (*.f64 lambda1 (*.f64 -1/6 (sin.f64 lambda2))) (*.f64 (cos.f64 lambda2) 1/2))) (*.f64 lambda1 (sin.f64 lambda2))))
(cos.f64 lambda1)
(+.f64 (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) lambda2))
(+.f64 (cos.f64 lambda1) (*.f64 lambda2 (sin.f64 lambda1)))
(fma.f64 lambda2 (sin.f64 lambda1) (cos.f64 lambda1))
(-.f64 (+.f64 (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) lambda2)) (*.f64 1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 lambda1))))
(+.f64 (cos.f64 lambda1) (-.f64 (*.f64 lambda2 (sin.f64 lambda1)) (*.f64 1/2 (*.f64 (cos.f64 lambda1) (*.f64 lambda2 lambda2)))))
(+.f64 (cos.f64 lambda1) (fma.f64 lambda2 (sin.f64 lambda1) (*.f64 (*.f64 lambda2 (*.f64 lambda2 (cos.f64 lambda1))) -1/2)))
(+.f64 (cos.f64 lambda1) (fma.f64 lambda2 (sin.f64 lambda1) (*.f64 (cos.f64 lambda1) (*.f64 (*.f64 lambda2 lambda2) -1/2))))
(-.f64 (+.f64 (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) lambda2)) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 lambda1))) (*.f64 1/6 (*.f64 (sin.f64 lambda1) (pow.f64 lambda2 3)))))
(+.f64 (cos.f64 lambda1) (-.f64 (*.f64 lambda2 (sin.f64 lambda1)) (fma.f64 1/2 (*.f64 (cos.f64 lambda1) (*.f64 lambda2 lambda2)) (*.f64 1/6 (*.f64 (sin.f64 lambda1) (pow.f64 lambda2 3))))))
(-.f64 (fma.f64 lambda2 (sin.f64 lambda1) (cos.f64 lambda1)) (fma.f64 1/2 (*.f64 lambda2 (*.f64 lambda2 (cos.f64 lambda1))) (*.f64 (pow.f64 lambda2 3) (*.f64 1/6 (sin.f64 lambda1)))))
(+.f64 (cos.f64 lambda1) (+.f64 (*.f64 (sin.f64 lambda1) (-.f64 lambda2 (*.f64 1/6 (pow.f64 lambda2 3)))) (*.f64 (cos.f64 lambda1) (*.f64 (*.f64 lambda2 lambda2) -1/2))))
(sin.f64 (neg.f64 lambda2))
(neg.f64 (sin.f64 lambda2))
(+.f64 (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1) (sin.f64 (neg.f64 lambda2)))
(fma.f64 (cos.f64 lambda2) lambda1 (neg.f64 (sin.f64 lambda2)))
(-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2))
(-.f64 (+.f64 (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1) (sin.f64 (neg.f64 lambda2))) (*.f64 1/2 (*.f64 (sin.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2))))
(+.f64 (fma.f64 (cos.f64 lambda2) lambda1 (neg.f64 (sin.f64 lambda2))) (*.f64 -1/2 (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 lambda1 lambda1))))
(+.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) (*.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 lambda1 lambda1)) -1/2))
(-.f64 (*.f64 lambda1 (-.f64 (cos.f64 lambda2) (*.f64 lambda1 (*.f64 -1/2 (sin.f64 lambda2))))) (sin.f64 lambda2))
(-.f64 (+.f64 (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1) (sin.f64 (neg.f64 lambda2))) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2))) (*.f64 1/6 (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 3)))))
(-.f64 (fma.f64 (cos.f64 lambda2) lambda1 (neg.f64 (sin.f64 lambda2))) (fma.f64 1/2 (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 lambda1 lambda1)) (*.f64 1/6 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 3)))))
(-.f64 (-.f64 (*.f64 (cos.f64 lambda2) lambda1) (sin.f64 lambda2)) (fma.f64 1/2 (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 lambda1 lambda1)) (*.f64 (cos.f64 lambda2) (*.f64 (pow.f64 lambda1 3) 1/6))))
(-.f64 (fma.f64 (cos.f64 lambda2) lambda1 (*.f64 (*.f64 lambda1 lambda1) (-.f64 (*.f64 1/2 (sin.f64 lambda2)) (*.f64 lambda1 (*.f64 (cos.f64 lambda2) 1/6))))) (sin.f64 lambda2))
(sin.f64 lambda1)
(-.f64 (sin.f64 lambda1) (*.f64 lambda2 (cos.f64 lambda1)))
(-.f64 (sin.f64 lambda1) (+.f64 (*.f64 lambda2 (cos.f64 lambda1)) (*.f64 1/2 (*.f64 (sin.f64 lambda1) (pow.f64 lambda2 2)))))
(-.f64 (sin.f64 lambda1) (fma.f64 lambda2 (cos.f64 lambda1) (*.f64 1/2 (*.f64 (sin.f64 lambda1) (*.f64 lambda2 lambda2)))))
(-.f64 (sin.f64 lambda1) (fma.f64 lambda2 (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (*.f64 1/2 (*.f64 lambda2 lambda2)))))
(-.f64 (sin.f64 lambda1) (*.f64 lambda2 (+.f64 (cos.f64 lambda1) (*.f64 lambda2 (*.f64 1/2 (sin.f64 lambda1))))))
(-.f64 (+.f64 (sin.f64 lambda1) (*.f64 1/6 (*.f64 (pow.f64 lambda2 3) (cos.f64 lambda1)))) (+.f64 (*.f64 lambda2 (cos.f64 lambda1)) (*.f64 1/2 (*.f64 (sin.f64 lambda1) (pow.f64 lambda2 2)))))
(+.f64 (sin.f64 lambda1) (-.f64 (*.f64 1/6 (*.f64 (cos.f64 lambda1) (pow.f64 lambda2 3))) (fma.f64 lambda2 (cos.f64 lambda1) (*.f64 1/2 (*.f64 (sin.f64 lambda1) (*.f64 lambda2 lambda2))))))
(-.f64 (fma.f64 1/6 (*.f64 (cos.f64 lambda1) (pow.f64 lambda2 3)) (sin.f64 lambda1)) (fma.f64 lambda2 (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (*.f64 1/2 (*.f64 lambda2 lambda2)))))
(+.f64 (sin.f64 lambda1) (+.f64 (*.f64 (cos.f64 lambda1) (-.f64 (*.f64 1/6 (pow.f64 lambda2 3)) lambda2)) (*.f64 (sin.f64 lambda1) (*.f64 (*.f64 lambda2 lambda2) -1/2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 lambda2)))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda2) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (cos.f64 lambda2) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(-.f64 (+.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (neg.f64 lambda2)) lambda1))) (*.f64 (sin.f64 phi2) (cos.f64 phi1))) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 lambda2)))))
(-.f64 (fma.f64 (sin.f64 phi1) (*.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) lambda1) (cos.f64 phi2)) (*.f64 (sin.f64 phi2) (cos.f64 phi1))) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda2) (cos.f64 phi2))))
(-.f64 (fma.f64 (sin.f64 phi1) (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 lambda1 (cos.f64 phi2))) (*.f64 (sin.f64 phi2) (cos.f64 phi1))) (*.f64 (cos.f64 lambda2) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(+.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (-.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) lambda1) (cos.f64 lambda2))))
(-.f64 (+.f64 (*.f64 1/2 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2))))) (+.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (neg.f64 lambda2)) lambda1))) (*.f64 (sin.f64 phi2) (cos.f64 phi1)))) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 lambda2)))))
(-.f64 (fma.f64 1/2 (*.f64 (sin.f64 phi1) (*.f64 (*.f64 (cos.f64 lambda2) (*.f64 lambda1 lambda1)) (cos.f64 phi2))) (fma.f64 (sin.f64 phi1) (*.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) lambda1) (cos.f64 phi2)) (*.f64 (sin.f64 phi2) (cos.f64 phi1)))) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda2) (cos.f64 phi2))))
(-.f64 (fma.f64 1/2 (*.f64 (*.f64 (cos.f64 lambda2) (*.f64 lambda1 lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))) (fma.f64 (sin.f64 phi1) (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 lambda1 (cos.f64 phi2))) (*.f64 (sin.f64 phi2) (cos.f64 phi1)))) (*.f64 (cos.f64 lambda2) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(+.f64 (-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (cos.f64 lambda2) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (*.f64 lambda1 (+.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 lambda1 (*.f64 (cos.f64 lambda2) 1/2))))))
(-.f64 (+.f64 (*.f64 1/2 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2))))) (+.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (neg.f64 lambda2)) lambda1))) (*.f64 (sin.f64 phi2) (cos.f64 phi1)))) (+.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 lambda2)))) (*.f64 1/6 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (neg.f64 lambda2)) (pow.f64 lambda1 3)))))))
(-.f64 (fma.f64 1/2 (*.f64 (sin.f64 phi1) (*.f64 (*.f64 (cos.f64 lambda2) (*.f64 lambda1 lambda1)) (cos.f64 phi2))) (fma.f64 (sin.f64 phi1) (*.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) lambda1) (cos.f64 phi2)) (*.f64 (sin.f64 phi2) (cos.f64 phi1)))) (fma.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda2) (cos.f64 phi2)) (*.f64 1/6 (*.f64 (sin.f64 phi1) (*.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (pow.f64 lambda1 3)) (cos.f64 phi2))))))
(-.f64 (fma.f64 1/2 (*.f64 (*.f64 (cos.f64 lambda2) (*.f64 lambda1 lambda1)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))) (fma.f64 (sin.f64 phi1) (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 lambda1 (cos.f64 phi2))) (*.f64 (sin.f64 phi2) (cos.f64 phi1)))) (fma.f64 1/6 (*.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (pow.f64 lambda1 3)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))) (*.f64 (cos.f64 lambda2) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(+.f64 (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (*.f64 lambda1 (+.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 lambda1 (*.f64 (cos.f64 lambda2) 1/2))))) (-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (fma.f64 (*.f64 -1/6 (sin.f64 lambda2)) (pow.f64 lambda1 3) (cos.f64 lambda2)))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(fma.f64 (sin.f64 phi2) (cos.f64 phi1) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (neg.f64 (cos.f64 lambda1)))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (+.f64 (*.f64 (sin.f64 lambda1) (*.f64 (sin.f64 phi1) (*.f64 lambda2 (cos.f64 phi2)))) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (fma.f64 (sin.f64 lambda1) (*.f64 (sin.f64 phi1) (*.f64 lambda2 (cos.f64 phi2))) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (fma.f64 (sin.f64 lambda1) (*.f64 lambda2 (*.f64 (sin.f64 phi1) (cos.f64 phi2))) (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (fma.f64 lambda2 (sin.f64 lambda1) (cos.f64 lambda1))))
(-.f64 (+.f64 (*.f64 1/2 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (pow.f64 lambda2 2) (cos.f64 lambda1))))) (*.f64 (sin.f64 phi2) (cos.f64 phi1))) (+.f64 (*.f64 (sin.f64 lambda1) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) lambda2))) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(-.f64 (fma.f64 1/2 (*.f64 (sin.f64 phi1) (*.f64 (*.f64 (cos.f64 lambda1) (*.f64 lambda2 lambda2)) (cos.f64 phi2))) (*.f64 (sin.f64 phi2) (cos.f64 phi1))) (fma.f64 (sin.f64 lambda1) (*.f64 (sin.f64 phi1) (*.f64 lambda2 (cos.f64 phi2))) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))))
(-.f64 (fma.f64 1/2 (*.f64 (*.f64 lambda2 lambda2) (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))) (*.f64 (sin.f64 phi2) (cos.f64 phi1))) (fma.f64 (sin.f64 lambda1) (*.f64 lambda2 (*.f64 (sin.f64 phi1) (cos.f64 phi2))) (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(-.f64 (fma.f64 1/2 (*.f64 (cos.f64 lambda1) (*.f64 (cos.f64 phi2) (*.f64 (*.f64 lambda2 lambda2) (sin.f64 phi1)))) (*.f64 (sin.f64 phi2) (cos.f64 phi1))) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (fma.f64 lambda2 (sin.f64 lambda1) (cos.f64 lambda1))))
(-.f64 (+.f64 (*.f64 1/6 (*.f64 (sin.f64 lambda1) (*.f64 (sin.f64 phi1) (*.f64 (pow.f64 lambda2 3) (cos.f64 phi2))))) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 phi1) (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) (cos.f64 lambda1))))) (*.f64 (sin.f64 phi2) (cos.f64 phi1)))) (+.f64 (*.f64 (sin.f64 lambda1) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) lambda2))) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(-.f64 (fma.f64 1/6 (*.f64 (sin.f64 lambda1) (*.f64 (sin.f64 phi1) (*.f64 (pow.f64 lambda2 3) (cos.f64 phi2)))) (fma.f64 1/2 (*.f64 (sin.f64 phi1) (*.f64 (*.f64 lambda2 lambda2) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))) (*.f64 (sin.f64 phi2) (cos.f64 phi1)))) (fma.f64 (sin.f64 lambda1) (*.f64 (sin.f64 phi1) (*.f64 lambda2 (cos.f64 phi2))) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))))
(-.f64 (fma.f64 1/6 (*.f64 (sin.f64 lambda1) (*.f64 (pow.f64 lambda2 3) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))) (fma.f64 1/2 (*.f64 (*.f64 lambda2 lambda2) (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))) (*.f64 (sin.f64 phi2) (cos.f64 phi1)))) (fma.f64 (sin.f64 lambda1) (*.f64 lambda2 (*.f64 (sin.f64 phi1) (cos.f64 phi2))) (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 phi1) (cos.f64 phi2)))))
(+.f64 (-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (*.f64 (sin.f64 phi1) (cos.f64 phi2)) (fma.f64 lambda2 (sin.f64 lambda1) (cos.f64 lambda1)))) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 (*.f64 (pow.f64 lambda2 3) (cos.f64 phi2)) (*.f64 1/6 (sin.f64 lambda1))) (*.f64 1/2 (*.f64 lambda2 (*.f64 lambda2 (*.f64 (cos.f64 lambda1) (cos.f64 phi2))))))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
(*.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 lambda1 lambda2)) (neg.f64 (sin.f64 phi1)))
(*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))))
(-.f64 (*.f64 phi2 (cos.f64 phi1)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1)))
(-.f64 (*.f64 phi2 (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))
(fma.f64 phi2 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (neg.f64 (sin.f64 phi1))))
(-.f64 (+.f64 (*.f64 1/2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 phi2 2)))) (*.f64 (cos.f64 phi1) phi2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1)))
(-.f64 (fma.f64 1/2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (*.f64 phi2 phi2))) (*.f64 phi2 (cos.f64 phi1))) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))
(-.f64 (fma.f64 phi2 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (*.f64 phi2 phi2) (*.f64 1/2 (sin.f64 phi1))))) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))
(+.f64 (*.f64 phi2 (cos.f64 phi1)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 1/2 (*.f64 phi2 phi2)) -1))))
(-.f64 (+.f64 (*.f64 1/2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (pow.f64 phi2 2)))) (*.f64 (cos.f64 phi1) phi2)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 phi2 3) (cos.f64 phi1))) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (sin.f64 phi1))))
(-.f64 (fma.f64 1/2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (*.f64 phi2 phi2))) (*.f64 phi2 (cos.f64 phi1))) (fma.f64 1/6 (*.f64 (cos.f64 phi1) (pow.f64 phi2 3)) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))))
(-.f64 (fma.f64 phi2 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (*.f64 phi2 phi2) (*.f64 1/2 (sin.f64 phi1))))) (fma.f64 1/6 (*.f64 (cos.f64 phi1) (pow.f64 phi2 3)) (*.f64 (sin.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))))
(+.f64 (*.f64 phi2 (cos.f64 phi1)) (+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (+.f64 (*.f64 1/2 (*.f64 phi2 phi2)) -1))) (*.f64 (*.f64 (cos.f64 phi1) (pow.f64 phi2 3)) -1/6)))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
(sin.f64 phi2)
(-.f64 (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 phi1 (cos.f64 phi2))))
(-.f64 (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 phi1 (cos.f64 (-.f64 lambda1 lambda2)))))
(-.f64 (sin.f64 phi2) (*.f64 phi1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
(-.f64 (sin.f64 phi2) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 phi1 2) (sin.f64 phi2))) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 phi1 (cos.f64 phi2)))))
(-.f64 (sin.f64 phi2) (fma.f64 1/2 (*.f64 (sin.f64 phi2) (*.f64 phi1 phi1)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 phi1 (cos.f64 phi2)))))
(-.f64 (sin.f64 phi2) (fma.f64 1/2 (*.f64 (sin.f64 phi2) (*.f64 phi1 phi1)) (*.f64 (cos.f64 phi2) (*.f64 phi1 (cos.f64 (-.f64 lambda1 lambda2))))))
(-.f64 (sin.f64 phi2) (fma.f64 (*.f64 phi1 (cos.f64 (-.f64 lambda1 lambda2))) (cos.f64 phi2) (*.f64 1/2 (*.f64 (sin.f64 phi2) (*.f64 phi1 phi1)))))
(-.f64 (+.f64 (sin.f64 phi2) (*.f64 1/6 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (pow.f64 phi1 3) (cos.f64 phi2))))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 phi1 2) (sin.f64 phi2))) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 phi1 (cos.f64 phi2)))))
(-.f64 (+.f64 (sin.f64 phi2) (*.f64 1/6 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 phi1 3))))) (fma.f64 1/2 (*.f64 (sin.f64 phi2) (*.f64 phi1 phi1)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 phi1 (cos.f64 phi2)))))
(-.f64 (fma.f64 1/6 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 phi1 3))) (sin.f64 phi2)) (fma.f64 1/2 (*.f64 (sin.f64 phi2) (*.f64 phi1 phi1)) (*.f64 (cos.f64 phi2) (*.f64 phi1 (cos.f64 (-.f64 lambda1 lambda2))))))
(+.f64 (sin.f64 phi2) (+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (fma.f64 1/6 (pow.f64 phi1 3) (neg.f64 phi1)))) (*.f64 (sin.f64 phi2) (*.f64 (*.f64 phi1 phi1) -1/2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 phi1) (cos.f64 phi2))))
(-.f64 (*.f64 (sin.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
(*.f64 -1 (sin.f64 phi1))
(neg.f64 (sin.f64 phi1))
(-.f64 (*.f64 1/2 (*.f64 (sin.f64 phi1) (pow.f64 phi2 2))) (sin.f64 phi1))
(fma.f64 1/2 (*.f64 (sin.f64 phi1) (*.f64 phi2 phi2)) (neg.f64 (sin.f64 phi1)))
(fma.f64 (*.f64 1/2 (sin.f64 phi1)) (*.f64 phi2 phi2) (neg.f64 (sin.f64 phi1)))
(*.f64 (sin.f64 phi1) (+.f64 (*.f64 1/2 (*.f64 phi2 phi2)) -1))
(-.f64 (*.f64 1/2 (*.f64 (sin.f64 phi1) (pow.f64 phi2 2))) (+.f64 (sin.f64 phi1) (*.f64 1/24 (*.f64 (sin.f64 phi1) (pow.f64 phi2 4)))))
(-.f64 (*.f64 1/2 (*.f64 (sin.f64 phi1) (*.f64 phi2 phi2))) (+.f64 (sin.f64 phi1) (*.f64 1/24 (*.f64 (sin.f64 phi1) (pow.f64 phi2 4)))))
(-.f64 (*.f64 (*.f64 phi2 phi2) (*.f64 1/2 (sin.f64 phi1))) (fma.f64 1/24 (*.f64 (sin.f64 phi1) (pow.f64 phi2 4)) (sin.f64 phi1)))
(-.f64 (*.f64 (sin.f64 phi1) (-.f64 (*.f64 1/2 (*.f64 phi2 phi2)) (*.f64 1/24 (pow.f64 phi2 4)))) (sin.f64 phi1))
(-.f64 (+.f64 (*.f64 1/2 (*.f64 (sin.f64 phi1) (pow.f64 phi2 2))) (*.f64 1/720 (*.f64 (sin.f64 phi1) (pow.f64 phi2 6)))) (+.f64 (sin.f64 phi1) (*.f64 1/24 (*.f64 (sin.f64 phi1) (pow.f64 phi2 4)))))
(-.f64 (fma.f64 1/2 (*.f64 (sin.f64 phi1) (*.f64 phi2 phi2)) (*.f64 1/720 (*.f64 (sin.f64 phi1) (pow.f64 phi2 6)))) (+.f64 (sin.f64 phi1) (*.f64 1/24 (*.f64 (sin.f64 phi1) (pow.f64 phi2 4)))))
(-.f64 (fma.f64 1/2 (*.f64 phi2 (*.f64 phi2 (sin.f64 phi1))) (*.f64 (pow.f64 phi2 6) (*.f64 (sin.f64 phi1) 1/720))) (fma.f64 1/24 (*.f64 (sin.f64 phi1) (pow.f64 phi2 4)) (sin.f64 phi1)))
(+.f64 (*.f64 (sin.f64 phi1) (+.f64 (*.f64 1/2 (*.f64 phi2 phi2)) (*.f64 1/720 (pow.f64 phi2 6)))) (*.f64 (sin.f64 phi1) (-.f64 -1 (*.f64 1/24 (pow.f64 phi2 4)))))
(*.f64 -1 (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (neg.f64 (sin.f64 phi1)) (cos.f64 phi2))
(*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2)))
(*.f64 -1 (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (neg.f64 (sin.f64 phi1)) (cos.f64 phi2))
(*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2)))
(*.f64 -1 (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (neg.f64 (sin.f64 phi1)) (cos.f64 phi2))
(*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2)))
(*.f64 -1 (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (neg.f64 (sin.f64 phi1)) (cos.f64 phi2))
(*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2)))
(*.f64 -1 (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (neg.f64 (sin.f64 phi1)) (cos.f64 phi2))
(*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2)))
(*.f64 -1 (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (neg.f64 (sin.f64 phi1)) (cos.f64 phi2))
(*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2)))
(*.f64 -1 (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (neg.f64 (sin.f64 phi1)) (cos.f64 phi2))
(*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2)))
(*.f64 -1 (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (neg.f64 (sin.f64 phi1)) (cos.f64 phi2))
(*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2)))
(*.f64 -1 (*.f64 phi1 (cos.f64 phi2)))
(neg.f64 (*.f64 phi1 (cos.f64 phi2)))
(*.f64 (cos.f64 phi2) (neg.f64 phi1))
(-.f64 (*.f64 1/6 (*.f64 (pow.f64 phi1 3) (cos.f64 phi2))) (*.f64 phi1 (cos.f64 phi2)))
(-.f64 (*.f64 1/6 (*.f64 (cos.f64 phi2) (pow.f64 phi1 3))) (*.f64 phi1 (cos.f64 phi2)))
(*.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) (neg.f64 phi1)))
(-.f64 (*.f64 1/6 (*.f64 (pow.f64 phi1 3) (cos.f64 phi2))) (+.f64 (*.f64 phi1 (cos.f64 phi2)) (*.f64 1/120 (*.f64 (pow.f64 phi1 5) (cos.f64 phi2)))))
(-.f64 (*.f64 1/6 (*.f64 (cos.f64 phi2) (pow.f64 phi1 3))) (fma.f64 phi1 (cos.f64 phi2) (*.f64 1/120 (*.f64 (cos.f64 phi2) (pow.f64 phi1 5)))))
(-.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 1/6 (pow.f64 phi1 3)) phi1)) (*.f64 (cos.f64 phi2) (*.f64 1/120 (pow.f64 phi1 5))))
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 1/6 (pow.f64 phi1 3)) (+.f64 phi1 (*.f64 1/120 (pow.f64 phi1 5)))))
(-.f64 (+.f64 (*.f64 1/5040 (*.f64 (pow.f64 phi1 7) (cos.f64 phi2))) (*.f64 1/6 (*.f64 (pow.f64 phi1 3) (cos.f64 phi2)))) (+.f64 (*.f64 phi1 (cos.f64 phi2)) (*.f64 1/120 (*.f64 (pow.f64 phi1 5) (cos.f64 phi2)))))
(-.f64 (fma.f64 1/5040 (*.f64 (cos.f64 phi2) (pow.f64 phi1 7)) (*.f64 1/6 (*.f64 (cos.f64 phi2) (pow.f64 phi1 3)))) (fma.f64 phi1 (cos.f64 phi2) (*.f64 1/120 (*.f64 (cos.f64 phi2) (pow.f64 phi1 5)))))
(-.f64 (*.f64 (cos.f64 phi2) (+.f64 (*.f64 1/5040 (pow.f64 phi1 7)) (*.f64 1/6 (pow.f64 phi1 3)))) (*.f64 (cos.f64 phi2) (+.f64 phi1 (*.f64 1/120 (pow.f64 phi1 5)))))
(*.f64 (cos.f64 phi2) (-.f64 (+.f64 (*.f64 1/6 (pow.f64 phi1 3)) (*.f64 1/5040 (pow.f64 phi1 7))) (+.f64 phi1 (*.f64 1/120 (pow.f64 phi1 5)))))
(*.f64 -1 (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (neg.f64 (sin.f64 phi1)) (cos.f64 phi2))
(*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2)))
(*.f64 -1 (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (neg.f64 (sin.f64 phi1)) (cos.f64 phi2))
(*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2)))
(*.f64 -1 (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (neg.f64 (sin.f64 phi1)) (cos.f64 phi2))
(*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2)))
(*.f64 -1 (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (neg.f64 (sin.f64 phi1)) (cos.f64 phi2))
(*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2)))
(*.f64 -1 (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (neg.f64 (sin.f64 phi1)) (cos.f64 phi2))
(*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2)))
(*.f64 -1 (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (neg.f64 (sin.f64 phi1)) (cos.f64 phi2))
(*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2)))
(*.f64 -1 (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (neg.f64 (sin.f64 phi1)) (cos.f64 phi2))
(*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2)))
(*.f64 -1 (*.f64 (sin.f64 phi1) (cos.f64 phi2)))
(*.f64 (neg.f64 (sin.f64 phi1)) (cos.f64 phi2))
(*.f64 (sin.f64 phi1) (neg.f64 (cos.f64 phi2)))

prune434.0ms (1.6%)

Pruning

20 alts after pruning (20 fresh and 0 done)

PrunedKeptTotal
New17720197
Fresh101
Picked101
Done000
Total17920199
Error
5.7b
Counts
199 → 20
Alt Table
StatusErrorProgram
36.5b
(atan2.f64 (*.f64 (exp.f64 (log.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))))
12.9b
(atan2.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 (-.f64 lambda1 lambda2))) (cbrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))) (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))))
21.7b
(atan2.f64 (*.f64 (log.f64 (exp.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))))
21.8b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
35.2b
(atan2.f64 (*.f64 (sqrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)) (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))))
35.2b
(atan2.f64 (*.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)))) (fma.f64 (neg.f64 (sin.f64 lambda2)) (cos.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))))
25.5b
(atan2.f64 (*.f64 (-.f64 (+.f64 (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1) (sin.f64 (neg.f64 lambda2))) (*.f64 1/2 (*.f64 (sin.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2)))) (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))))
6.2b
(atan2.f64 (*.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)))) (fma.f64 (neg.f64 (sin.f64 lambda2)) (cos.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))))
33.5b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (sin.f64 phi2))
25.8b
(atan2.f64 (*.f64 (-.f64 (*.f64 (cos.f64 lambda2) 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))))
11.8b
(atan2.f64 (*.f64 (pow.f64 (cbrt.f64 (sin.f64 (-.f64 lambda1 lambda2))) 3) (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))))
11.5b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) 3) (pow.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) 3)) (+.f64 (*.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)))))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
11.5b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (-.f64 (exp.f64 (log1p.f64 (cos.f64 (-.f64 lambda1 lambda2)))) 1) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
18.9b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (sin.f64 phi2) (cos.f64 phi1) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (neg.f64 (cos.f64 lambda1))))))
34.5b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (*.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)))
31.0b
(atan2.f64 (*.f64 (sin.f64 lambda1) (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))))
13.9b
(atan2.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 3)) (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))))
6.1b
(atan2.f64 (*.f64 (+.f64 (fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (neg.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.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))))
35.3b
(atan2.f64 (*.f64 (sin.f64 (neg.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))))
10.2b
(atan2.f64 (*.f64 (/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) 3) (pow.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)) 3)) (+.f64 (*.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (+.f64 (*.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)))))) (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 8553 to 2142 computations (75% saved)

localize37.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
0.6b
(cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))
3.3b
(cos.f64 (-.f64 lambda1 lambda2))
60.8b
(fma.f64 (neg.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))

series80.0ms (0.3%)

Counts
3 → 62
Calls

18 calls:

TimeVariablePointExpression
28.0ms
lambda1
@0
(fma.f64 (neg.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))
14.0ms
lambda2
@-inf
(fma.f64 (neg.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))
12.0ms
lambda1
@inf
(fma.f64 (neg.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))
10.0ms
lambda1
@-inf
(fma.f64 (neg.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))
8.0ms
lambda2
@inf
(fma.f64 (neg.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))

rewrite47.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
778×log1p-expm1-u_binary64
778×expm1-log1p-u_binary64
102×add-sqr-sqrt_binary64
98×pow1_binary64
97×*-un-lft-identity_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify39.0ms (0.1%)

Algorithm
egg-herbie
Rules
675×fma-neg_binary64
614×distribute-rgt-neg-in_binary64
459×unswap-sqr_binary64
352×associate-*r*_binary64
304×associate-*l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
057712
1171707
2563663
32747663
Stop Event
node limit
Counts
141 → 103
Calls
Call 1
Inputs
0
0
0
0
0
0
0
0
0
0
0
0
(*.f64 lambda2 (cos.f64 lambda1))
(-.f64 (*.f64 lambda2 (cos.f64 lambda1)) (*.f64 1/6 (*.f64 (pow.f64 lambda2 3) (cos.f64 lambda1))))
0
0
0
0
0
0
0
0
(pow.f64 (sin.f64 lambda2) 1/3)
(-.f64 (pow.f64 (sin.f64 lambda2) 1/3) (*.f64 1/6 (*.f64 (pow.f64 (sin.f64 lambda2) 1/3) (pow.f64 lambda1 2))))
(-.f64 (pow.f64 (sin.f64 lambda2) 1/3) (+.f64 (*.f64 1/72 (*.f64 (pow.f64 (sin.f64 lambda2) 1/3) (pow.f64 lambda1 4))) (*.f64 1/6 (*.f64 (pow.f64 (sin.f64 lambda2) 1/3) (pow.f64 lambda1 2)))))
(-.f64 (pow.f64 (sin.f64 lambda2) 1/3) (+.f64 (*.f64 23/6480 (*.f64 (pow.f64 (sin.f64 lambda2) 1/3) (pow.f64 lambda1 6))) (+.f64 (*.f64 1/72 (*.f64 (pow.f64 (sin.f64 lambda2) 1/3) (pow.f64 lambda1 4))) (*.f64 1/6 (*.f64 (pow.f64 (sin.f64 lambda2) 1/3) (pow.f64 lambda1 2))))))
(pow.f64 (*.f64 (sin.f64 lambda2) (cos.f64 lambda1)) 1/3)
(pow.f64 (*.f64 (sin.f64 lambda2) (cos.f64 lambda1)) 1/3)
(pow.f64 (*.f64 (sin.f64 lambda2) (cos.f64 lambda1)) 1/3)
(pow.f64 (*.f64 (sin.f64 lambda2) (cos.f64 lambda1)) 1/3)
(pow.f64 (*.f64 (sin.f64 lambda2) (cos.f64 lambda1)) 1/3)
(pow.f64 (*.f64 (sin.f64 lambda2) (cos.f64 lambda1)) 1/3)
(pow.f64 (*.f64 (sin.f64 lambda2) (cos.f64 lambda1)) 1/3)
(pow.f64 (*.f64 (sin.f64 lambda2) (cos.f64 lambda1)) 1/3)
(pow.f64 (*.f64 (sin.f64 lambda2) (cos.f64 lambda1)) 1/3)
(pow.f64 (*.f64 (sin.f64 lambda2) (cos.f64 lambda1)) 1/3)
(pow.f64 (*.f64 (sin.f64 lambda2) (cos.f64 lambda1)) 1/3)
(pow.f64 (*.f64 (sin.f64 lambda2) (cos.f64 lambda1)) 1/3)
(pow.f64 (*.f64 (sin.f64 lambda2) (cos.f64 lambda1)) 1/3)
(pow.f64 (*.f64 (sin.f64 lambda2) (cos.f64 lambda1)) 1/3)
(pow.f64 (*.f64 (sin.f64 lambda2) (cos.f64 lambda1)) 1/3)
(pow.f64 (*.f64 (sin.f64 lambda2) (cos.f64 lambda1)) 1/3)
(pow.f64 (pow.f64 (sin.f64 lambda2) 2) 1/3)
(-.f64 (pow.f64 (pow.f64 (sin.f64 lambda2) 2) 1/3) (*.f64 1/3 (*.f64 (pow.f64 (pow.f64 (sin.f64 lambda2) 2) 1/3) (pow.f64 lambda1 2))))
(-.f64 (pow.f64 (pow.f64 (sin.f64 lambda2) 2) 1/3) (+.f64 (*.f64 1/405 (*.f64 (pow.f64 (pow.f64 (sin.f64 lambda2) 2) 1/3) (pow.f64 lambda1 6))) (*.f64 1/3 (*.f64 (pow.f64 (pow.f64 (sin.f64 lambda2) 2) 1/3) (pow.f64 lambda1 2)))))
(-.f64 (pow.f64 (pow.f64 (sin.f64 lambda2) 2) 1/3) (+.f64 (*.f64 1/405 (*.f64 (pow.f64 (pow.f64 (sin.f64 lambda2) 2) 1/3) (pow.f64 lambda1 6))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (pow.f64 (sin.f64 lambda2) 2) 1/3) (pow.f64 lambda1 2))) (*.f64 1/1701 (*.f64 (pow.f64 (pow.f64 (sin.f64 lambda2) 2) 1/3) (pow.f64 lambda1 8))))))
(pow.f64 (*.f64 (pow.f64 (sin.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2)) 1/3)
(pow.f64 (*.f64 (pow.f64 (sin.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2)) 1/3)
(pow.f64 (*.f64 (pow.f64 (sin.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2)) 1/3)
(pow.f64 (*.f64 (pow.f64 (sin.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2)) 1/3)
(pow.f64 (*.f64 (pow.f64 (sin.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2)) 1/3)
(pow.f64 (*.f64 (pow.f64 (sin.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2)) 1/3)
(pow.f64 (*.f64 (pow.f64 (sin.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2)) 1/3)
(pow.f64 (*.f64 (pow.f64 (sin.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2)) 1/3)
(pow.f64 (*.f64 (pow.f64 (sin.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2)) 1/3)
(pow.f64 (*.f64 (pow.f64 (sin.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2)) 1/3)
(pow.f64 (*.f64 (pow.f64 (sin.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2)) 1/3)
(pow.f64 (*.f64 (pow.f64 (sin.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2)) 1/3)
(pow.f64 (*.f64 (pow.f64 (sin.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2)) 1/3)
(pow.f64 (*.f64 (pow.f64 (sin.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2)) 1/3)
(pow.f64 (*.f64 (pow.f64 (sin.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2)) 1/3)
(pow.f64 (*.f64 (pow.f64 (sin.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2)) 1/3)
Outputs
0
0
0
0
0
0
0
0
0
0
0
0
(*.f64 lambda2 (cos.f64 lambda1))
(-.f64 (*.f64 lambda2 (cos.f64 lambda1)) (*.f64 1/6 (*.f64 (pow.f64 lambda2 3) (cos.f64 lambda1))))
(+.f64 (*.f64 lambda2 (cos.f64 lambda1)) (*.f64 -1/6 (*.f64 (cos.f64 lambda1) (pow.f64 lambda2 3))))
(*.f64 (cos.f64 lambda1) (-.f64 lambda2 (*.f64 1/6 (pow.f64 lambda2 3))))
0
0
0
0
0
0
0
0
(pow.f64 (sin.f64 lambda2) 1/3)
(cbrt.f64 (sin.f64 lambda2))
(-.f64 (pow.f64 (sin.f64 lambda2) 1/3) (*.f64 1/6 (*.f64 (pow.f64 (sin.f64 lambda2) 1/3) (pow.f64 lambda1 2))))
(+.f64 (cbrt.f64 (sin.f64 lambda2)) (*.f64 -1/6 (*.f64 (cbrt.f64 (sin.f64 lambda2)) (*.f64 lambda1 lambda1))))
(-.f64 (cbrt.f64 (sin.f64 lambda2)) (*.f64 (cbrt.f64 (sin.f64 lambda2)) (*.f64 (*.f64 lambda1 lambda1) 1/6)))
(*.f64 (+.f64 (*.f64 (*.f64 lambda1 lambda1) -1/6) 1) (cbrt.f64 (sin.f64 lambda2)))
(-.f64 (pow.f64 (sin.f64 lambda2) 1/3) (+.f64 (*.f64 1/72 (*.f64 (pow.f64 (sin.f64 lambda2) 1/3) (pow.f64 lambda1 4))) (*.f64 1/6 (*.f64 (pow.f64 (sin.f64 lambda2) 1/3) (pow.f64 lambda1 2)))))
(-.f64 (cbrt.f64 (sin.f64 lambda2)) (fma.f64 1/72 (*.f64 (cbrt.f64 (sin.f64 lambda2)) (pow.f64 lambda1 4)) (*.f64 1/6 (*.f64 (cbrt.f64 (sin.f64 lambda2)) (*.f64 lambda1 lambda1)))))
(-.f64 (cbrt.f64 (sin.f64 lambda2)) (fma.f64 1/6 (*.f64 lambda1 (*.f64 lambda1 (cbrt.f64 (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (sin.f64 lambda2)) (*.f64 (pow.f64 lambda1 4) 1/72))))
(-.f64 (cbrt.f64 (sin.f64 lambda2)) (*.f64 (cbrt.f64 (sin.f64 lambda2)) (+.f64 (*.f64 1/6 (*.f64 lambda1 lambda1)) (*.f64 1/72 (pow.f64 lambda1 4)))))
(-.f64 (pow.f64 (sin.f64 lambda2) 1/3) (+.f64 (*.f64 23/6480 (*.f64 (pow.f64 (sin.f64 lambda2) 1/3) (pow.f64 lambda1 6))) (+.f64 (*.f64 1/72 (*.f64 (pow.f64 (sin.f64 lambda2) 1/3) (pow.f64 lambda1 4))) (*.f64 1/6 (*.f64 (pow.f64 (sin.f64 lambda2) 1/3) (pow.f64 lambda1 2))))))
(-.f64 (cbrt.f64 (sin.f64 lambda2)) (fma.f64 23/6480 (*.f64 (cbrt.f64 (sin.f64 lambda2)) (pow.f64 lambda1 6)) (fma.f64 1/72 (*.f64 (cbrt.f64 (sin.f64 lambda2)) (pow.f64 lambda1 4)) (*.f64 1/6 (*.f64 (cbrt.f64 (sin.f64 lambda2)) (*.f64 lambda1 lambda1))))))
(-.f64 (cbrt.f64 (sin.f64 lambda2)) (fma.f64 23/6480 (*.f64 (cbrt.f64 (sin.f64 lambda2)) (pow.f64 lambda1 6)) (fma.f64 1/6 (*.f64 lambda1 (*.f64 lambda1 (cbrt.f64 (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (sin.f64 lambda2)) (*.f64 (pow.f64 lambda1 4) 1/72)))))
(-.f64 (*.f64 (+.f64 (*.f64 (*.f64 lambda1 lambda1) -1/6) 1) (cbrt.f64 (sin.f64 lambda2))) (*.f64 (cbrt.f64 (sin.f64 lambda2)) (+.f64 (*.f64 1/72 (pow.f64 lambda1 4)) (*.f64 23/6480 (pow.f64 lambda1 6)))))
(pow.f64 (*.f64 (sin.f64 lambda2) (cos.f64 lambda1)) 1/3)
(cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))
(pow.f64 (*.f64 (sin.f64 lambda2) (cos.f64 lambda1)) 1/3)
(cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))
(pow.f64 (*.f64 (sin.f64 lambda2) (cos.f64 lambda1)) 1/3)
(cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))
(pow.f64 (*.f64 (sin.f64 lambda2) (cos.f64 lambda1)) 1/3)
(cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))
(pow.f64 (*.f64 (sin.f64 lambda2) (cos.f64 lambda1)) 1/3)
(cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))
(pow.f64 (*.f64 (sin.f64 lambda2) (cos.f64 lambda1)) 1/3)
(cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))
(pow.f64 (*.f64 (sin.f64 lambda2) (cos.f64 lambda1)) 1/3)
(cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))
(pow.f64 (*.f64 (sin.f64 lambda2) (cos.f64 lambda1)) 1/3)
(cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))
(pow.f64 (*.f64 (sin.f64 lambda2) (cos.f64 lambda1)) 1/3)
(cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))
(pow.f64 (*.f64 (sin.f64 lambda2) (cos.f64 lambda1)) 1/3)
(cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))
(pow.f64 (*.f64 (sin.f64 lambda2) (cos.f64 lambda1)) 1/3)
(cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))
(pow.f64 (*.f64 (sin.f64 lambda2) (cos.f64 lambda1)) 1/3)
(cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))
(pow.f64 (*.f64 (sin.f64 lambda2) (cos.f64 lambda1)) 1/3)
(cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))
(pow.f64 (*.f64 (sin.f64 lambda2) (cos.f64 lambda1)) 1/3)
(cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))
(pow.f64 (*.f64 (sin.f64 lambda2) (cos.f64 lambda1)) 1/3)
(cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))
(pow.f64 (*.f64 (sin.f64 lambda2) (cos.f64 lambda1)) 1/3)
(cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))
(pow.f64 (pow.f64 (sin.f64 lambda2) 2) 1/3)
(cbrt.f64 (pow.f64 (sin.f64 lambda2) 2))
(-.f64 (pow.f64 (pow.f64 (sin.f64 lambda2) 2) 1/3) (*.f64 1/3 (*.f64 (pow.f64 (pow.f64 (sin.f64 lambda2) 2) 1/3) (pow.f64 lambda1 2))))
(+.f64 (cbrt.f64 (pow.f64 (sin.f64 lambda2) 2)) (*.f64 -1/3 (*.f64 (*.f64 lambda1 lambda1) (cbrt.f64 (pow.f64 (sin.f64 lambda2) 2)))))
(+.f64 (cbrt.f64 (pow.f64 (sin.f64 lambda2) 2)) (*.f64 (*.f64 lambda1 (*.f64 lambda1 (cbrt.f64 (pow.f64 (sin.f64 lambda2) 2)))) -1/3))
(*.f64 (+.f64 (*.f64 (*.f64 lambda1 lambda1) -1/3) 1) (cbrt.f64 (pow.f64 (sin.f64 lambda2) 2)))
(-.f64 (pow.f64 (pow.f64 (sin.f64 lambda2) 2) 1/3) (+.f64 (*.f64 1/405 (*.f64 (pow.f64 (pow.f64 (sin.f64 lambda2) 2) 1/3) (pow.f64 lambda1 6))) (*.f64 1/3 (*.f64 (pow.f64 (pow.f64 (sin.f64 lambda2) 2) 1/3) (pow.f64 lambda1 2)))))
(-.f64 (cbrt.f64 (pow.f64 (sin.f64 lambda2) 2)) (fma.f64 1/405 (*.f64 (pow.f64 lambda1 6) (cbrt.f64 (pow.f64 (sin.f64 lambda2) 2))) (*.f64 1/3 (*.f64 (*.f64 lambda1 lambda1) (cbrt.f64 (pow.f64 (sin.f64 lambda2) 2))))))
(-.f64 (cbrt.f64 (pow.f64 (sin.f64 lambda2) 2)) (fma.f64 1/3 (*.f64 lambda1 (*.f64 lambda1 (cbrt.f64 (pow.f64 (sin.f64 lambda2) 2)))) (*.f64 (pow.f64 lambda1 6) (*.f64 (cbrt.f64 (pow.f64 (sin.f64 lambda2) 2)) 1/405))))
(-.f64 (cbrt.f64 (pow.f64 (sin.f64 lambda2) 2)) (*.f64 (cbrt.f64 (pow.f64 (sin.f64 lambda2) 2)) (+.f64 (*.f64 lambda1 (*.f64 lambda1 1/3)) (*.f64 (pow.f64 lambda1 6) 1/405))))
(-.f64 (pow.f64 (pow.f64 (sin.f64 lambda2) 2) 1/3) (+.f64 (*.f64 1/405 (*.f64 (pow.f64 (pow.f64 (sin.f64 lambda2) 2) 1/3) (pow.f64 lambda1 6))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (pow.f64 (sin.f64 lambda2) 2) 1/3) (pow.f64 lambda1 2))) (*.f64 1/1701 (*.f64 (pow.f64 (pow.f64 (sin.f64 lambda2) 2) 1/3) (pow.f64 lambda1 8))))))
(-.f64 (cbrt.f64 (pow.f64 (sin.f64 lambda2) 2)) (fma.f64 1/405 (*.f64 (pow.f64 lambda1 6) (cbrt.f64 (pow.f64 (sin.f64 lambda2) 2))) (fma.f64 1/3 (*.f64 (*.f64 lambda1 lambda1) (cbrt.f64 (pow.f64 (sin.f64 lambda2) 2))) (*.f64 (*.f64 1/1701 (cbrt.f64 (pow.f64 (sin.f64 lambda2) 2))) (pow.f64 lambda1 8)))))
(-.f64 (cbrt.f64 (pow.f64 (sin.f64 lambda2) 2)) (fma.f64 1/405 (*.f64 (pow.f64 lambda1 6) (cbrt.f64 (pow.f64 (sin.f64 lambda2) 2))) (fma.f64 1/3 (*.f64 lambda1 (*.f64 lambda1 (cbrt.f64 (pow.f64 (sin.f64 lambda2) 2)))) (*.f64 (cbrt.f64 (pow.f64 (sin.f64 lambda2) 2)) (*.f64 (pow.f64 lambda1 8) 1/1701)))))
(-.f64 (*.f64 (+.f64 (*.f64 (*.f64 lambda1 lambda1) -1/3) 1) (cbrt.f64 (pow.f64 (sin.f64 lambda2) 2))) (*.f64 (cbrt.f64 (pow.f64 (sin.f64 lambda2) 2)) (+.f64 (*.f64 (pow.f64 lambda1 6) 1/405) (*.f64 1/1701 (pow.f64 lambda1 8)))))
(pow.f64 (*.f64 (pow.f64 (sin.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2)) 1/3)
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2)))
(pow.f64 (*.f64 (pow.f64 (sin.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2)) 1/3)
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2)))
(pow.f64 (*.f64 (pow.f64 (sin.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2)) 1/3)
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2)))
(pow.f64 (*.f64 (pow.f64 (sin.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2)) 1/3)
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2)))
(pow.f64 (*.f64 (pow.f64 (sin.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2)) 1/3)
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2)))
(pow.f64 (*.f64 (pow.f64 (sin.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2)) 1/3)
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2)))
(pow.f64 (*.f64 (pow.f64 (sin.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2)) 1/3)
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2)))
(pow.f64 (*.f64 (pow.f64 (sin.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2)) 1/3)
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2)))
(pow.f64 (*.f64 (pow.f64 (sin.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2)) 1/3)
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2)))
(pow.f64 (*.f64 (pow.f64 (sin.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2)) 1/3)
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2)))
(pow.f64 (*.f64 (pow.f64 (sin.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2)) 1/3)
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2)))
(pow.f64 (*.f64 (pow.f64 (sin.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2)) 1/3)
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2)))
(pow.f64 (*.f64 (pow.f64 (sin.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2)) 1/3)
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2)))
(pow.f64 (*.f64 (pow.f64 (sin.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2)) 1/3)
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2)))
(pow.f64 (*.f64 (pow.f64 (sin.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2)) 1/3)
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2)))
(pow.f64 (*.f64 (pow.f64 (sin.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2)) 1/3)
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2)))

prune2.4s (9.1%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New6022604
Fresh91019
Picked101
Done000
Total61212624
Error
0.1b
Counts
624 → 12
Alt Table
StatusErrorProgram
36.5b
(atan2.f64 (*.f64 (exp.f64 (log.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))))
12.9b
(atan2.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 (-.f64 lambda1 lambda2))) (cbrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))) (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))))
37.9b
(atan2.f64 (*.f64 (+.f64 (fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (neg.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (pow.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)) 2/3) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.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))))
21.7b
(atan2.f64 (*.f64 (log.f64 (exp.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))))
11.5b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (-.f64 (exp.f64 (log1p.f64 (cos.f64 (-.f64 lambda1 lambda2)))) 1) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
18.9b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (sin.f64 phi2) (cos.f64 phi1) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (neg.f64 (cos.f64 lambda1))))))
34.5b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (*.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)))
0.3b
(atan2.f64 (*.f64 (+.f64 (fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (neg.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (cos.f64 phi2)) (fma.f64 (/.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)))) (-.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))))
13.9b
(atan2.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 3)) (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))))
35.2b
(atan2.f64 (*.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)))) (fma.f64 (neg.f64 (sin.f64 lambda2)) (cos.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))))
11.5b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) 3) (pow.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) 3)) (+.f64 (*.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)))))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
10.2b
(atan2.f64 (*.f64 (/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) 3) (pow.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)) 3)) (+.f64 (*.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (+.f64 (*.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)))))) (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 57049 to 6410 computations (88.8% saved)

localize45.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))
0.5b
(*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
0.6b
(cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))
60.8b
(fma.f64 (neg.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))

series5.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite36.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
775×pow1_binary64
716×log1p-expm1-u_binary64
716×expm1-log1p-u_binary64
77×add-sqr-sqrt_binary64
76×*-un-lft-identity_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0711
114711
2193211
Stop Event
node limit
Counts
1 → 17
Calls
Call 1
Inputs
(*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 (+.f64 lambda1 lambda2)) (cos.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 (+.f64 lambda1 lambda2)) (cos.f64 (-.f64 lambda1 lambda2)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 (+.f64 lambda1 lambda2)) (cos.f64 (-.f64 lambda1 lambda2))) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (+.f64 (cos.f64 (+.f64 lambda1 lambda2)) (cos.f64 (-.f64 lambda1 lambda2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (pow.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) 2) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) 2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) 2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) 2)))))))

simplify33.0ms (0.1%)

Algorithm
egg-herbie
Rules
589×fma-neg_binary64
400×unswap-sqr_binary64
296×distribute-rgt-neg-in_binary64
279×distribute-lft-neg-in_binary64
235×associate-*r*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
039446
1117431
2423396
32056379
Stop Event
node limit
Counts
41 → 32
Calls
Call 1
Inputs
(pow.f64 (cos.f64 lambda2) 2)
(-.f64 (pow.f64 (cos.f64 lambda2) 2) (*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 lambda1 2)))
(-.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 lambda1 4))) (pow.f64 (cos.f64 lambda2) 2)) (*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 lambda1 2)))
(-.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 lambda1 4))) (pow.f64 (cos.f64 lambda2) 2)) (+.f64 (*.f64 2/45 (*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 lambda1 6))) (*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 lambda1 2))))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(pow.f64 (cos.f64 lambda1) 2)
(-.f64 (pow.f64 (cos.f64 lambda1) 2) (*.f64 (pow.f64 lambda2 2) (pow.f64 (cos.f64 lambda1) 2)))
(-.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 lambda2 4) (pow.f64 (cos.f64 lambda1) 2))) (pow.f64 (cos.f64 lambda1) 2)) (*.f64 (pow.f64 lambda2 2) (pow.f64 (cos.f64 lambda1) 2)))
(-.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 lambda2 4) (pow.f64 (cos.f64 lambda1) 2))) (pow.f64 (cos.f64 lambda1) 2)) (+.f64 (*.f64 2/45 (*.f64 (pow.f64 lambda2 6) (pow.f64 (cos.f64 lambda1) 2))) (*.f64 (pow.f64 lambda2 2) (pow.f64 (cos.f64 lambda1) 2))))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
Outputs
(pow.f64 (cos.f64 lambda2) 2)
(-.f64 (pow.f64 (cos.f64 lambda2) 2) (*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 lambda1 2)))
(-.f64 (pow.f64 (cos.f64 lambda2) 2) (*.f64 (pow.f64 (cos.f64 lambda2) 2) (*.f64 lambda1 lambda1)))
(*.f64 (+.f64 (*.f64 lambda1 (neg.f64 lambda1)) 1) (pow.f64 (cos.f64 lambda2) 2))
(-.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 lambda1 4))) (pow.f64 (cos.f64 lambda2) 2)) (*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 lambda1 2)))
(-.f64 (fma.f64 1/3 (*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 lambda1 4)) (pow.f64 (cos.f64 lambda2) 2)) (*.f64 (pow.f64 (cos.f64 lambda2) 2) (*.f64 lambda1 lambda1)))
(+.f64 (pow.f64 (cos.f64 lambda2) 2) (*.f64 (pow.f64 (cos.f64 lambda2) 2) (-.f64 (*.f64 1/3 (pow.f64 lambda1 4)) (*.f64 lambda1 lambda1))))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (-.f64 (+.f64 (*.f64 1/3 (pow.f64 lambda1 4)) 1) (*.f64 lambda1 lambda1)))
(-.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 lambda1 4))) (pow.f64 (cos.f64 lambda2) 2)) (+.f64 (*.f64 2/45 (*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 lambda1 6))) (*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 lambda1 2))))
(-.f64 (fma.f64 1/3 (*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 lambda1 4)) (pow.f64 (cos.f64 lambda2) 2)) (fma.f64 2/45 (*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 lambda1 6)) (*.f64 (pow.f64 (cos.f64 lambda2) 2) (*.f64 lambda1 lambda1))))
(-.f64 (*.f64 (+.f64 (*.f64 1/3 (pow.f64 lambda1 4)) 1) (pow.f64 (cos.f64 lambda2) 2)) (*.f64 (pow.f64 (cos.f64 lambda2) 2) (+.f64 (*.f64 2/45 (pow.f64 lambda1 6)) (*.f64 lambda1 lambda1))))
(+.f64 (pow.f64 (cos.f64 lambda2) 2) (*.f64 (pow.f64 (cos.f64 lambda2) 2) (-.f64 (fma.f64 1/3 (pow.f64 lambda1 4) (*.f64 (pow.f64 lambda1 6) -2/45)) (*.f64 lambda1 lambda1))))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(pow.f64 (cos.f64 lambda1) 2)
(-.f64 (pow.f64 (cos.f64 lambda1) 2) (*.f64 (pow.f64 lambda2 2) (pow.f64 (cos.f64 lambda1) 2)))
(-.f64 (pow.f64 (cos.f64 lambda1) 2) (*.f64 (pow.f64 (cos.f64 lambda1) 2) (*.f64 lambda2 lambda2)))
(*.f64 (+.f64 (*.f64 lambda2 (neg.f64 lambda2)) 1) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda1) 2) (fma.f64 lambda2 (neg.f64 lambda2) 1))
(*.f64 (pow.f64 (cos.f64 lambda1) 2) (-.f64 1 (*.f64 lambda2 lambda2)))
(-.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 lambda2 4) (pow.f64 (cos.f64 lambda1) 2))) (pow.f64 (cos.f64 lambda1) 2)) (*.f64 (pow.f64 lambda2 2) (pow.f64 (cos.f64 lambda1) 2)))
(-.f64 (fma.f64 1/3 (*.f64 (pow.f64 (cos.f64 lambda1) 2) (pow.f64 lambda2 4)) (pow.f64 (cos.f64 lambda1) 2)) (*.f64 (pow.f64 (cos.f64 lambda1) 2) (*.f64 lambda2 lambda2)))
(-.f64 (*.f64 (+.f64 (*.f64 1/3 (pow.f64 lambda2 4)) 1) (pow.f64 (cos.f64 lambda1) 2)) (*.f64 lambda2 (*.f64 lambda2 (pow.f64 (cos.f64 lambda1) 2))))
(*.f64 (pow.f64 (cos.f64 lambda1) 2) (-.f64 (fma.f64 1/3 (pow.f64 lambda2 4) 1) (*.f64 lambda2 lambda2)))
(-.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 lambda2 4) (pow.f64 (cos.f64 lambda1) 2))) (pow.f64 (cos.f64 lambda1) 2)) (+.f64 (*.f64 2/45 (*.f64 (pow.f64 lambda2 6) (pow.f64 (cos.f64 lambda1) 2))) (*.f64 (pow.f64 lambda2 2) (pow.f64 (cos.f64 lambda1) 2))))
(-.f64 (fma.f64 1/3 (*.f64 (pow.f64 (cos.f64 lambda1) 2) (pow.f64 lambda2 4)) (pow.f64 (cos.f64 lambda1) 2)) (fma.f64 2/45 (*.f64 (pow.f64 (cos.f64 lambda1) 2) (pow.f64 lambda2 6)) (*.f64 (pow.f64 (cos.f64 lambda1) 2) (*.f64 lambda2 lambda2))))
(-.f64 (*.f64 (+.f64 (*.f64 1/3 (pow.f64 lambda2 4)) 1) (pow.f64 (cos.f64 lambda1) 2)) (*.f64 (pow.f64 (cos.f64 lambda1) 2) (+.f64 (*.f64 lambda2 lambda2) (*.f64 2/45 (pow.f64 lambda2 6)))))
(+.f64 (pow.f64 (cos.f64 lambda1) 2) (*.f64 (pow.f64 (cos.f64 lambda1) 2) (-.f64 (*.f64 1/3 (pow.f64 lambda2 4)) (fma.f64 2/45 (pow.f64 lambda2 6) (*.f64 lambda2 lambda2)))))
(*.f64 (pow.f64 (cos.f64 lambda1) 2) (-.f64 (fma.f64 1/3 (pow.f64 lambda2 4) 1) (fma.f64 lambda2 lambda2 (*.f64 2/45 (pow.f64 lambda2 6)))))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))

prune2.4s (8.8%)

Pruning

13 alts after pruning (13 fresh and 0 done)

PrunedKeptTotal
New5887595
Fresh5611
Picked101
Done000
Total59413607
Error
0.0b
Counts
607 → 13
Alt Table
StatusErrorProgram
36.5b
(atan2.f64 (*.f64 (exp.f64 (log.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))))
24.5b
(atan2.f64 (*.f64 (+.f64 (fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (neg.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (cos.f64 phi2)) (fma.f64 (/.f64 (-.f64 (exp.f64 (*.f64 2 (log.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2))))) (*.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)))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
13.9b
(atan2.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 3)) (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.4b
(atan2.f64 (*.f64 (+.f64 (fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (neg.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (cos.f64 phi2)) (fma.f64 (/.f64 (-.f64 (log.f64 (exp.f64 (pow.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) 2))) (*.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)))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
1.8b
(atan2.f64 (*.f64 (+.f64 (fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (neg.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (pow.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)) 2))))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (cos.f64 phi2)) (fma.f64 (/.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)))) (-.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))))
21.7b
(atan2.f64 (*.f64 (log.f64 (exp.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.3b
(atan2.f64 (*.f64 (+.f64 (fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (neg.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (cos.f64 phi2)) (fma.f64 (/.f64 (-.f64 (pow.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) 2)) 3) (*.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)))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
34.5b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (*.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)))
0.3b
(atan2.f64 (*.f64 (+.f64 (fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (neg.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (cos.f64 phi2)) (fma.f64 (/.f64 (-.f64 (expm1.f64 (log1p.f64 (pow.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) 2))) (*.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)))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
35.2b
(atan2.f64 (*.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)))) (fma.f64 (neg.f64 (sin.f64 lambda2)) (cos.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))))
1.8b
(atan2.f64 (*.f64 (+.f64 (fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (neg.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (pow.f64 (pow.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)) 2) 1/3) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (cos.f64 phi2)) (fma.f64 (/.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)))) (-.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.4b
(atan2.f64 (*.f64 (+.f64 (fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (neg.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) 2) 3)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (cos.f64 phi2)) (fma.f64 (/.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)))) (-.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))))
18.9b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (sin.f64 phi2) (cos.f64 phi1) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (neg.f64 (cos.f64 lambda1))))))
Compiler

Compiled 75277 to 6724 computations (91.1% saved)

localize45.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(pow.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) 2)
0.5b
(*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
0.6b
(cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))
60.8b
(fma.f64 (neg.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))

series5.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite57.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
800×pow1_binary64
738×log1p-expm1-u_binary64
738×expm1-log1p-u_binary64
85×add-sqr-sqrt_binary64
83×*-un-lft-identity_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0811
116911
2203511
Stop Event
node limit
Counts
1 → 27
Calls
Call 1
Inputs
(pow.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) 2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 lambda1) (*.f64 (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2))) 2) (cbrt.f64 (pow.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2))) 2) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2))) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) 4)) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2))) (*.f64 (sqrt.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2))) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cos.f64 lambda1) 2) (pow.f64 (cos.f64 lambda2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (sqrt.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))) (sqrt.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (cos.f64 lambda1)) (cos.f64 lambda2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (cos.f64 lambda2)) (cos.f64 lambda1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2))) 2)) (cbrt.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 (+.f64 lambda1 lambda2)) (cos.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 (+.f64 lambda1 lambda2)) (cos.f64 (-.f64 lambda1 lambda2)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 (+.f64 lambda1 lambda2)) (cos.f64 (-.f64 lambda1 lambda2))) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (+.f64 (cos.f64 (+.f64 lambda1 lambda2)) (cos.f64 (-.f64 lambda1 lambda2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) 2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) 2)))))))

simplify33.0ms (0.1%)

Algorithm
egg-herbie
Rules
589×fma-neg_binary64
400×unswap-sqr_binary64
296×distribute-rgt-neg-in_binary64
279×distribute-lft-neg-in_binary64
235×associate-*r*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
039446
1117431
2423396
32056379
Stop Event
node limit
Counts
51 → 41
Calls
Call 1
Inputs
(pow.f64 (cos.f64 lambda2) 2)
(-.f64 (pow.f64 (cos.f64 lambda2) 2) (*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 lambda1 2)))
(-.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 lambda1 4))) (pow.f64 (cos.f64 lambda2) 2)) (*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 lambda1 2)))
(-.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 lambda1 4))) (pow.f64 (cos.f64 lambda2) 2)) (+.f64 (*.f64 2/45 (*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 lambda1 6))) (*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 lambda1 2))))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(pow.f64 (cos.f64 lambda1) 2)
(-.f64 (pow.f64 (cos.f64 lambda1) 2) (*.f64 (pow.f64 lambda2 2) (pow.f64 (cos.f64 lambda1) 2)))
(-.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 lambda2 4) (pow.f64 (cos.f64 lambda1) 2))) (pow.f64 (cos.f64 lambda1) 2)) (*.f64 (pow.f64 lambda2 2) (pow.f64 (cos.f64 lambda1) 2)))
(-.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 lambda2 4) (pow.f64 (cos.f64 lambda1) 2))) (pow.f64 (cos.f64 lambda1) 2)) (+.f64 (*.f64 2/45 (*.f64 (pow.f64 lambda2 6) (pow.f64 (cos.f64 lambda1) 2))) (*.f64 (pow.f64 lambda2 2) (pow.f64 (cos.f64 lambda1) 2))))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
Outputs
(pow.f64 (cos.f64 lambda2) 2)
(-.f64 (pow.f64 (cos.f64 lambda2) 2) (*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 lambda1 2)))
(-.f64 (pow.f64 (cos.f64 lambda2) 2) (*.f64 (pow.f64 (cos.f64 lambda2) 2) (*.f64 lambda1 lambda1)))
(*.f64 (+.f64 (*.f64 lambda1 (neg.f64 lambda1)) 1) (pow.f64 (cos.f64 lambda2) 2))
(-.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 lambda1 4))) (pow.f64 (cos.f64 lambda2) 2)) (*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 lambda1 2)))
(-.f64 (fma.f64 1/3 (*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 lambda1 4)) (pow.f64 (cos.f64 lambda2) 2)) (*.f64 (pow.f64 (cos.f64 lambda2) 2) (*.f64 lambda1 lambda1)))
(+.f64 (pow.f64 (cos.f64 lambda2) 2) (*.f64 (pow.f64 (cos.f64 lambda2) 2) (-.f64 (*.f64 1/3 (pow.f64 lambda1 4)) (*.f64 lambda1 lambda1))))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (-.f64 (+.f64 (*.f64 1/3 (pow.f64 lambda1 4)) 1) (*.f64 lambda1 lambda1)))
(-.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 lambda1 4))) (pow.f64 (cos.f64 lambda2) 2)) (+.f64 (*.f64 2/45 (*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 lambda1 6))) (*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 lambda1 2))))
(-.f64 (fma.f64 1/3 (*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 lambda1 4)) (pow.f64 (cos.f64 lambda2) 2)) (fma.f64 2/45 (*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 lambda1 6)) (*.f64 (pow.f64 (cos.f64 lambda2) 2) (*.f64 lambda1 lambda1))))
(-.f64 (*.f64 (+.f64 (*.f64 1/3 (pow.f64 lambda1 4)) 1) (pow.f64 (cos.f64 lambda2) 2)) (*.f64 (pow.f64 (cos.f64 lambda2) 2) (+.f64 (*.f64 2/45 (pow.f64 lambda1 6)) (*.f64 lambda1 lambda1))))
(+.f64 (pow.f64 (cos.f64 lambda2) 2) (*.f64 (pow.f64 (cos.f64 lambda2) 2) (-.f64 (fma.f64 1/3 (pow.f64 lambda1 4) (*.f64 (pow.f64 lambda1 6) -2/45)) (*.f64 lambda1 lambda1))))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(pow.f64 (cos.f64 lambda1) 2)
(-.f64 (pow.f64 (cos.f64 lambda1) 2) (*.f64 (pow.f64 lambda2 2) (pow.f64 (cos.f64 lambda1) 2)))
(-.f64 (pow.f64 (cos.f64 lambda1) 2) (*.f64 (pow.f64 (cos.f64 lambda1) 2) (*.f64 lambda2 lambda2)))
(*.f64 (+.f64 (*.f64 lambda2 (neg.f64 lambda2)) 1) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda1) 2) (fma.f64 lambda2 (neg.f64 lambda2) 1))
(*.f64 (pow.f64 (cos.f64 lambda1) 2) (-.f64 1 (*.f64 lambda2 lambda2)))
(-.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 lambda2 4) (pow.f64 (cos.f64 lambda1) 2))) (pow.f64 (cos.f64 lambda1) 2)) (*.f64 (pow.f64 lambda2 2) (pow.f64 (cos.f64 lambda1) 2)))
(-.f64 (fma.f64 1/3 (*.f64 (pow.f64 (cos.f64 lambda1) 2) (pow.f64 lambda2 4)) (pow.f64 (cos.f64 lambda1) 2)) (*.f64 (pow.f64 (cos.f64 lambda1) 2) (*.f64 lambda2 lambda2)))
(-.f64 (*.f64 (+.f64 (*.f64 1/3 (pow.f64 lambda2 4)) 1) (pow.f64 (cos.f64 lambda1) 2)) (*.f64 lambda2 (*.f64 lambda2 (pow.f64 (cos.f64 lambda1) 2))))
(*.f64 (pow.f64 (cos.f64 lambda1) 2) (-.f64 (fma.f64 1/3 (pow.f64 lambda2 4) 1) (*.f64 lambda2 lambda2)))
(-.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 lambda2 4) (pow.f64 (cos.f64 lambda1) 2))) (pow.f64 (cos.f64 lambda1) 2)) (+.f64 (*.f64 2/45 (*.f64 (pow.f64 lambda2 6) (pow.f64 (cos.f64 lambda1) 2))) (*.f64 (pow.f64 lambda2 2) (pow.f64 (cos.f64 lambda1) 2))))
(-.f64 (fma.f64 1/3 (*.f64 (pow.f64 (cos.f64 lambda1) 2) (pow.f64 lambda2 4)) (pow.f64 (cos.f64 lambda1) 2)) (fma.f64 2/45 (*.f64 (pow.f64 (cos.f64 lambda1) 2) (pow.f64 lambda2 6)) (*.f64 (pow.f64 (cos.f64 lambda1) 2) (*.f64 lambda2 lambda2))))
(-.f64 (*.f64 (+.f64 (*.f64 1/3 (pow.f64 lambda2 4)) 1) (pow.f64 (cos.f64 lambda1) 2)) (*.f64 (pow.f64 (cos.f64 lambda1) 2) (+.f64 (*.f64 lambda2 lambda2) (*.f64 2/45 (pow.f64 lambda2 6)))))
(+.f64 (pow.f64 (cos.f64 lambda1) 2) (*.f64 (pow.f64 (cos.f64 lambda1) 2) (-.f64 (*.f64 1/3 (pow.f64 lambda2 4)) (fma.f64 2/45 (pow.f64 lambda2 6) (*.f64 lambda2 lambda2)))))
(*.f64 (pow.f64 (cos.f64 lambda1) 2) (-.f64 (fma.f64 1/3 (pow.f64 lambda2 4) 1) (fma.f64 lambda2 lambda2 (*.f64 2/45 (pow.f64 lambda2 6)))))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))
(*.f64 (pow.f64 (cos.f64 lambda2) 2) (pow.f64 (cos.f64 lambda1) 2))

prune2.5s (9.5%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New6013604
Fresh4812
Picked101
Done000
Total60611617
Error
0.0b
Counts
617 → 11
Alt Table
StatusErrorProgram
13.9b
(atan2.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 3)) (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.4b
(atan2.f64 (*.f64 (+.f64 (fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (neg.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (cos.f64 phi2)) (fma.f64 (/.f64 (-.f64 (log.f64 (exp.f64 (pow.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) 2))) (*.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)))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
34.5b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (*.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)))
36.5b
(atan2.f64 (*.f64 (exp.f64 (log.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.3b
(atan2.f64 (*.f64 (+.f64 (fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (neg.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (cos.f64 phi2)) (fma.f64 (/.f64 (-.f64 (pow.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) 2)) 3) (*.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)))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
35.2b
(atan2.f64 (*.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)))) (fma.f64 (neg.f64 (sin.f64 lambda2)) (cos.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.4b
(atan2.f64 (*.f64 (+.f64 (fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (neg.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) 2) 3)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (cos.f64 phi2)) (fma.f64 (/.f64 (-.f64 (expm1.f64 (log1p.f64 (pow.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) 2))) (*.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)))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
1.8b
(atan2.f64 (*.f64 (+.f64 (fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (neg.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (pow.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)) 2))))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (cos.f64 phi2)) (fma.f64 (/.f64 (-.f64 (expm1.f64 (log1p.f64 (pow.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) 2))) (*.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)))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
1.8b
(atan2.f64 (*.f64 (+.f64 (fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (neg.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (pow.f64 (pow.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)) 2) 1/3) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (cos.f64 phi2)) (fma.f64 (/.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)))) (-.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.4b
(atan2.f64 (*.f64 (+.f64 (fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (neg.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) 2) 3)))) (cos.f64 phi2)) (fma.f64 (/.f64 (-.f64 (expm1.f64 (log1p.f64 (pow.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) 2))) (*.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)))) (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 phi1))) (*.f64 (cos.f64 phi1) (sin.f64 phi2))))
18.9b
(atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (sin.f64 phi2) (cos.f64 phi1) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi2) (neg.f64 (cos.f64 lambda1))))))
Compiler

Compiled 74136 to 10383 computations (86% saved)

regimes2.6s (9.8%)

Accuracy

Total 0.2b remaining (71.2%)

Threshold costs 0.2b (71.2%)

Counts
360 → 1
Compiler

Compiled 31098 to 3155 computations (89.9% saved)

simplify7.0ms (0%)

Algorithm
egg-herbie
Rules
20×*-commutative_binary64
13×+-commutative_binary64
12×sub-neg_binary64
10×neg-sub0_binary64
10×neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
039203
171203
2104203
3122203
4131203
5133203
Stop Event
saturated
Calls
Call 1
Inputs
(atan2.f64 (*.f64 (+.f64 (fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (neg.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cbrt.f64 (cos.f64 lambda1)) (cbrt.f64 (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (cos.f64 phi2)) (fma.f64 (/.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)))) (-.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 (fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (neg.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cbrt.f64 (cos.f64 lambda1)) (cbrt.f64 (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (cos.f64 phi2)) (fma.f64 (/.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)))) (-.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 (fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (neg.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cbrt.f64 (cos.f64 lambda1)) (cbrt.f64 (sin.f64 lambda2)))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (cbrt.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (cos.f64 phi2)) (fma.f64 (/.f64 (-.f64 (*.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) (-.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))))

end415.0ms (1.5%)

Stop Event
fuel
Compiler

Compiled 1153 to 422 computations (63.4% saved)

Profiling

Loading profile data...