Details

Time bar (total: 20.2s)

analyze4.1s (20.6%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.8%0.2%0
0%99.8%0.2%1
0%99.8%0.2%2
0%99.8%0.2%3
0%99.8%0.2%4
0%99.8%0.2%5
0%99.8%0.2%6
0%99.8%0.2%7
0%99.8%0.2%8
0%99.8%0.2%9
0%99.8%0.2%10
0.8%99%0.2%11
1.2%98.6%0.2%12
1.8%98%0.2%13
2%97.7%0.2%14
Compiler

Compiled 25 to 18 computations (28% saved)

sample10.3s (50.9%)

Symmetry

(sort lambda1 lambda2)

(sort phi1 phi2)

Results
7.9s5711×body1024valid
1.2s1477×body512valid
709.0ms240×body2048valid
270.0ms503×body256valid
95.0ms325×body128valid
2.0msbody1024invalid
Compiler

Compiled 74 to 53 computations (28.4% saved)

simplify11.0ms (0.1%)

Algorithm
egg-herbie
Rules
47×fma-def_binary64
32×fma-neg_binary64
15×cancel-sign-sub-inv_binary64
12×sub-neg_binary64
10×*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01829
12829
24429
35729
46729
58529
612329
716029
820629
924329
1026929
1127129
Stop Event
saturated
Counts
1 → 2

prune4.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
14.4b
Counts
3 → 2
Alt Table
StatusErrorProgram
14.4b
(*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda2 lambda1))))) R)
14.4b
(*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2))))) R)
Compiler

Compiled 136 to 89 computations (34.6% saved)

localize20.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))
0.2b
(*.f64 (sin.f64 phi1) (sin.f64 phi2))
0.7b
(acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
2.3b
(cos.f64 (-.f64 lambda1 lambda2))

series58.0ms (0.3%)

Counts
4 → 112
Calls

4 calls:

34.0ms
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))
10.0ms
(acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
10.0ms
(*.f64 (sin.f64 phi1) (sin.f64 phi2))
4.0ms
(cos.f64 (-.f64 lambda1 lambda2))

rewrite36.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
191×add-sqr-sqrt_binary64
180×log1p-expm1-u_binary64
180×expm1-log1p-u_binary64
179×add-cbrt-cube_binary64
176×add-log-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01656
135556
Stop Event
node limit
Counts
4 → 82
Calls

4 calls:

34.0ms
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))
34.0ms
(*.f64 (sin.f64 phi1) (sin.f64 phi2))
34.0ms
(acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
34.0ms
(cos.f64 (-.f64 lambda1 lambda2))

simplify54.0ms (0.3%)

Algorithm
egg-herbie
Rules
743×cancel-sign-sub-inv_binary64
666×fma-def_binary64
310×distribute-rgt-neg-in_binary64
292×distribute-lft-neg-in_binary64
287×fma-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01722801
15502755
218292594
Stop Event
node limit
Counts
194 → 145

prune212.0ms (1%)

Pruning

15 alts after pruning (15 fresh and 0 done)

PrunedKeptTotal
New13015145
Fresh101
Picked101
Done000
Total13215147
Error
3.1b
Counts
147 → 15
Alt Table
StatusErrorProgram
14.6b
(*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (log.f64 (pow.f64 (exp.f64 (cos.f64 phi1)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))))) R)
14.6b
(*.f64 (pow.f64 (sqrt.f64 (acos.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (sin.f64 phi2))))) 2) R)
14.8b
(*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)))) 3))) R)
15.0b
(*.f64 (pow.f64 (cbrt.f64 (acos.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (sin.f64 phi2))))) 3) R)
14.5b
(*.f64 (expm1.f64 (log1p.f64 (acos.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))))) R)
14.6b
(*.f64 (-.f64 (exp.f64 (log1p.f64 (acos.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))))) 1) R)
14.4b
(*.f64 (log.f64 (+.f64 1 (expm1.f64 (acos.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (sin.f64 phi2))))))) R)
3.3b
(*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (fma.f64 (cos.f64 lambda1) (cos.f64 lambda2) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))) R)
14.4b
(*.f64 (pow.f64 (pow.f64 (acos.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) 3) 1/3) R)
3.4b
(*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (+.f64 (*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))) (*.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)))))) R)
14.6b
(*.f64 (/.f64 (-.f64 (*.f64 (*.f64 (PI.f64) 1/2) (*.f64 (PI.f64) 1/2)) (*.f64 (asin.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) (asin.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))))) (+.f64 (*.f64 (PI.f64) 1/2) (asin.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))))) R)
14.6b
(*.f64 (/.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) 1/2) 3) (pow.f64 (asin.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) 3)) (+.f64 (*.f64 (*.f64 (PI.f64) 1/2) (*.f64 (PI.f64) 1/2)) (+.f64 (*.f64 (asin.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) (asin.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (sin.f64 phi2))))) (*.f64 (*.f64 (PI.f64) 1/2) (asin.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))))))) R)
3.4b
(*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (/.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))))))) R)
3.4b
(*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (/.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))))))))) R)
14.6b
(*.f64 (cbrt.f64 (pow.f64 (acos.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) 3)) R)
Compiler

Compiled 5274 to 1869 computations (64.6% saved)

localize24.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (fma.f64 (cos.f64 lambda1) (cos.f64 lambda2) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))) R)
0.2b
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (fma.f64 (cos.f64 lambda1) (cos.f64 lambda2) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))
0.2b
(*.f64 (sin.f64 phi1) (sin.f64 phi2))
0.7b
(acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (fma.f64 (cos.f64 lambda1) (cos.f64 lambda2) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))

series124.0ms (0.6%)

Counts
3 → 156
Calls

3 calls:

67.0ms
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (fma.f64 (cos.f64 lambda1) (cos.f64 lambda2) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))
43.0ms
(*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (fma.f64 (cos.f64 lambda1) (cos.f64 lambda2) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))) R)
14.0ms
(acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (fma.f64 (cos.f64 lambda1) (cos.f64 lambda2) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))

rewrite31.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
243×add-sqr-sqrt_binary64
225×log1p-expm1-u_binary64
225×expm1-log1p-u_binary64
223×add-cbrt-cube_binary64
222×add-log-exp_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
022101
146071
Stop Event
node limit
Counts
3 → 45
Calls

3 calls:

30.0ms
(*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (fma.f64 (cos.f64 lambda1) (cos.f64 lambda2) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))) R)
30.0ms
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (fma.f64 (cos.f64 lambda1) (cos.f64 lambda2) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))
30.0ms
(acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (fma.f64 (cos.f64 lambda1) (cos.f64 lambda2) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))

simplify92.0ms (0.5%)

Algorithm
egg-herbie
Rules
906×cancel-sign-sub-inv_binary64
343×fma-neg_binary64
318×associate-*r*_binary64
292×associate--l+_binary64
254×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01755964
15785916
221615759
Stop Event
node limit
Counts
201 → 86

prune198.0ms (1%)

Pruning

17 alts after pruning (17 fresh and 0 done)

PrunedKeptTotal
New1109119
Fresh6814
Picked101
Done000
Total11717134
Error
3.1b
Counts
134 → 17
Alt Table
StatusErrorProgram
44.7b
(cbrt.f64 (pow.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))) R) 3))
14.6b
(*.f64 (pow.f64 (sqrt.f64 (acos.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (sin.f64 phi2))))) 2) R)
40.2b
(pow.f64 (sqrt.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))) R)) 2)
14.4b
(*.f64 (pow.f64 (pow.f64 (acos.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) 3) 1/3) R)
15.1b
(pow.f64 (cbrt.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))) R)) 3)
14.5b
(*.f64 (-.f64 (/.f64 (PI.f64) 2) (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))) R)
3.4b
(*.f64 (acos.f64 (+.f64 (log.f64 (pow.f64 (exp.f64 (sin.f64 phi2)) (sin.f64 phi1))) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (fma.f64 (cos.f64 lambda1) (cos.f64 lambda2) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))) R)
3.4b
(*.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) R)
28.6b
(expm1.f64 (log1p.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))) R)))
14.4b
(*.f64 (log.f64 (exp.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))))) R)
14.8b
(*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)))) 3))) R)
14.6b
(*.f64 (/.f64 (-.f64 (*.f64 (*.f64 (PI.f64) 1/2) (*.f64 (PI.f64) 1/2)) (*.f64 (asin.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) (asin.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))))) (+.f64 (*.f64 (PI.f64) 1/2) (asin.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))))) R)
14.6b
(*.f64 (/.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) 1/2) 3) (pow.f64 (asin.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) 3)) (+.f64 (*.f64 (*.f64 (PI.f64) 1/2) (*.f64 (PI.f64) 1/2)) (+.f64 (*.f64 (asin.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) (asin.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (sin.f64 phi2))))) (*.f64 (*.f64 (PI.f64) 1/2) (asin.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))))))) R)
3.4b
(*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (/.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))))))) R)
14.5b
(*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (log.f64 (pow.f64 (pow.f64 (exp.f64 (cos.f64 phi1)) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))) R)
14.5b
(*.f64 (expm1.f64 (log1p.f64 (acos.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))))) R)
14.6b
(*.f64 (cbrt.f64 (pow.f64 (acos.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) 3)) R)
Compiler

Compiled 5014 to 1760 computations (64.9% saved)

localize23.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))
0.2b
(*.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) R)
0.2b
(*.f64 (sin.f64 phi1) (sin.f64 phi2))
0.7b
(acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2))))

series127.0ms (0.6%)

Counts
3 → 156
Calls

3 calls:

84.0ms
(fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))
33.0ms
(*.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) R)
10.0ms
(acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2))))

rewrite40.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
226×add-sqr-sqrt_binary64
206×add-log-exp_binary64
206×log1p-expm1-u_binary64
206×expm1-log1p-u_binary64
205×add-cube-cbrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
021109
1425109
Stop Event
node limit
Counts
3 → 57
Calls

3 calls:

37.0ms
(fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))
37.0ms
(*.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) R)
37.0ms
(acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2))))

simplify91.0ms (0.5%)

Algorithm
egg-herbie
Rules
823×fma-def_binary64
726×cancel-sign-sub-inv_binary64
429×*-commutative_binary64
250×distribute-rgt-neg-in_binary64
236×distribute-lft-neg-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01216320
14016291
214655847
Stop Event
node limit
Counts
213 → 95

prune219.0ms (1.1%)

Pruning

16 alts after pruning (16 fresh and 0 done)

PrunedKeptTotal
New11711128
Fresh11516
Picked101
Done000
Total12916145
Error
3.0b
Counts
145 → 16
Alt Table
StatusErrorProgram
3.5b
(*.f64 (acos.f64 (log.f64 (exp.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))))) R)
44.7b
(cbrt.f64 (pow.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))) R) 3))
3.6b
(*.f64 (pow.f64 (sqrt.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2))))) 2) R)
3.4b
(*.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))) (log.f64 (pow.f64 (exp.f64 (sin.f64 phi2)) (sin.f64 phi1))))) R)
19.5b
(expm1.f64 (log1p.f64 (*.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) R)))
3.8b
(*.f64 (*.f64 (cbrt.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2))))) (cbrt.f64 (pow.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) 2))) R)
14.6b
(*.f64 (/.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) 1/2) 3) (pow.f64 (asin.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) 3)) (+.f64 (*.f64 (*.f64 (PI.f64) 1/2) (*.f64 (PI.f64) 1/2)) (+.f64 (*.f64 (asin.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) (asin.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (sin.f64 phi2))))) (*.f64 (*.f64 (PI.f64) 1/2) (asin.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))))))) R)
33.6b
(pow.f64 (sqrt.f64 (*.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) R)) 2)
3.4b
(*.f64 (-.f64 (*.f64 (PI.f64) 1/2) (asin.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2))))) R)
14.8b
(*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)))) 3))) R)
3.4b
(*.f64 (pow.f64 (pow.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) 3) 1/3) R)
15.1b
(pow.f64 (cbrt.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))) R)) 3)
14.6b
(*.f64 (/.f64 (-.f64 (*.f64 (*.f64 (PI.f64) 1/2) (*.f64 (PI.f64) 1/2)) (*.f64 (asin.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) (asin.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))))) (+.f64 (*.f64 (PI.f64) 1/2) (asin.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))))) R)
3.5b
(*.f64 (expm1.f64 (log1p.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))))) R)
3.6b
(*.f64 (cbrt.f64 (pow.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) 3)) R)
3.4b
(*.f64 (log.f64 (+.f64 1 (expm1.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2))))))) R)
Compiler

Compiled 5451 to 1644 computations (69.8% saved)

localize28.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (sin.f64 phi1) (sin.f64 phi2))
0.3b
(pow.f64 (pow.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) 3) 1/3)
0.7b
(pow.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) 3)
0.7b
(acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2))))

series500.0ms (2.5%)

Counts
2 → 96
Calls

2 calls:

424.0ms
(pow.f64 (pow.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) 3) 1/3)
75.0ms
(pow.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) 3)

rewrite34.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
233×add-sqr-sqrt_binary64
219×log1p-expm1-u_binary64
219×expm1-log1p-u_binary64
214×add-log-exp_binary64
213×add-cube-cbrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02375
146475
Stop Event
node limit
Counts
2 → 35
Calls

2 calls:

32.0ms
(pow.f64 (pow.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) 3) 1/3)
32.0ms
(pow.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) 3)

simplify257.0ms (1.3%)

Algorithm
egg-herbie
Rules
730×sqr-pow_binary64
362×unswap-sqr_binary64
325×cube-prod_binary64
313×pow-sqr_binary64
221×fabs-mul_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0213600
1363600
2553600
31293600
42873600
55473600
68993600
715593600
816463600
917793600
1019373600
1121653600
1224873600
1329083600
1434083600
1540033600
1647233600
Stop Event
node limit
Counts
131 → 39

prune204.0ms (1%)

Pruning

17 alts after pruning (17 fresh and 0 done)

PrunedKeptTotal
New92395
Fresh11415
Picked101
Done000
Total9417111
Error
3.0b
Counts
111 → 17
Alt Table
StatusErrorProgram
3.5b
(*.f64 (acos.f64 (log.f64 (exp.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))))) R)
44.7b
(cbrt.f64 (pow.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))) R) 3))
3.6b
(*.f64 (pow.f64 (sqrt.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2))))) 2) R)
3.4b
(*.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))) (log.f64 (pow.f64 (exp.f64 (sin.f64 phi2)) (sin.f64 phi1))))) R)
19.5b
(expm1.f64 (log1p.f64 (*.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) R)))
3.8b
(*.f64 (*.f64 (cbrt.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2))))) (cbrt.f64 (pow.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) 2))) R)
14.6b
(*.f64 (/.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) 1/2) 3) (pow.f64 (asin.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) 3)) (+.f64 (*.f64 (*.f64 (PI.f64) 1/2) (*.f64 (PI.f64) 1/2)) (+.f64 (*.f64 (asin.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) (asin.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (sin.f64 phi2))))) (*.f64 (*.f64 (PI.f64) 1/2) (asin.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))))))) R)
33.6b
(pow.f64 (sqrt.f64 (*.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) R)) 2)
3.4b
(*.f64 (-.f64 (*.f64 (PI.f64) 1/2) (asin.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2))))) R)
14.8b
(*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)))) 3))) R)
15.1b
(pow.f64 (cbrt.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))) R)) 3)
14.6b
(*.f64 (/.f64 (-.f64 (*.f64 (*.f64 (PI.f64) 1/2) (*.f64 (PI.f64) 1/2)) (*.f64 (asin.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) (asin.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))))) (+.f64 (*.f64 (PI.f64) 1/2) (asin.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))))) R)
3.4b
(*.f64 (pow.f64 (pow.f64 (pow.f64 (pow.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) 3) 1/3) 3) 1/3) R)
3.4b
(*.f64 (pow.f64 (pow.f64 (log.f64 (+.f64 1 (expm1.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2))))))) 3) 1/3) R)
3.7b
(*.f64 (pow.f64 (-.f64 (exp.f64 (log1p.f64 (pow.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) 3))) 1) 1/3) R)
3.5b
(*.f64 (expm1.f64 (log1p.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))))) R)
3.6b
(*.f64 (cbrt.f64 (pow.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) 3)) R)
Compiler

Compiled 4195 to 1278 computations (69.5% saved)

regimes2.9s (14.5%)

Accuracy

Total 0.3b remaining (7.6%)

Threshold costs 0.3b (7.6%)

Counts
176 → 1
Compiler

Compiled 58686 to 39820 computations (32.1% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
1-exp_binary64
unpow1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02441
13341
Stop Event
saturated

end462.0ms (2.3%)

Remove

(sort phi1 phi2)

(sort lambda1 lambda2)

Compiler

Compiled 842 to 538 computations (36.1% saved)

Profiling

Loading profile data...