Details

Time bar (total: 21.2s)

analyze3.8s (17.7%)

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)

sample645.0ms (3%)

Algorithm
intervals
Symmetry

(sort lambda1 lambda2)

(sort phi1 phi2)

Results
225.0ms181×body1024valid
34.0ms45×body512valid
10.0msbody2048valid
8.0ms20×body256valid
1.0msbody128valid
Compiler

Compiled 54 to 40 computations (25.9% saved)

simplify12.0ms (0.1%)

Algorithm
egg-herbie
Rules
47×fma-def_binary64
32×fma-neg_binary64
14×cancel-sign-sub-inv_binary64
12×sub-neg_binary64
10×*-commutative_binary64
Counts
1 → 2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01829
12829
24329
35329
46029
57829
610429
712529
814229
915229
1015629
1115829
1214429

prune5.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
17.5b
Counts
3 → 2
Alt Table
StatusErrorProgram
17.5b
(*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2))))) R)
17.5b
(*.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 86 computations (36.8% 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 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2))))) R)
0.9b
(acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
4.4b
(cos.f64 (-.f64 lambda1 lambda2))

series83.0ms (0.4%)

Counts
4 → 164
Calls

4 calls:

38.0ms
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))
31.0ms
(*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2))))) R)
9.0ms
(acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
5.0ms
(cos.f64 (-.f64 lambda1 lambda2))

rewrite20.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
16×add-sqr-sqrt_binary64
14×*-un-lft-identity_binary64
14×add-cube-cbrt_binary64
13×cos-sum_binary64
11×add-cbrt-cube_binary64
Counts
4 → 76
Calls

4 calls:

7.0ms
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))
5.0ms
(cos.f64 (-.f64 lambda1 lambda2))
3.0ms
(*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2))))) R)
0.0ms
(acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))

simplify231.0ms (1.1%)

Algorithm
egg-herbie
Rules
628×fma-def_binary64
594×cancel-sign-sub-inv_binary64
339×associate-*r*_binary64
327×associate-*l*_binary64
325×neg-mul-1_binary64
Counts
240 → 161
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03196712
16326151
220545962
341055897
448755897
549915897
649055897

prune194.0ms (0.9%)

Pruning

14 alts after pruning (14 fresh and 0 done)

PrunedKeptTotal
New14714161
Fresh101
Picked101
Done000
Total14914163
Error
4.7b
Counts
163 → 14
Alt Table
StatusErrorProgram
4.9b
(*.f64 (acos.f64 (fma.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)
17.7b
(*.f64 (sqrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))) (*.f64 (sqrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))) R))
4.9b
(*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))) R)
37.7b
(*.f64 (*.f64 (sqrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))) (sqrt.f64 R)) (*.f64 (sqrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))) (sqrt.f64 R)))
17.5b
(*.f64 (log.f64 (exp.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2))))))) R)
17.6b
(*.f64 (-.f64 (/.f64 (PI.f64) 2) (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))) R)
37.6b
(*.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2))))) (sqrt.f64 R)) (sqrt.f64 R))
18.2b
(*.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2))))) (*.f64 (cbrt.f64 R) (cbrt.f64 R))) (cbrt.f64 R))
4.9b
(*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (+.f64 (*.f64 (cos.f64 lambda2) (*.f64 (cos.f64 lambda1) (*.f64 (cos.f64 phi2) (cos.f64 phi1)))) (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 phi1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))) R)
18.2b
(*.f64 (*.f64 (cbrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))) (cbrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2))))))) (*.f64 (cbrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))) R))
18.1b
(*.f64 (*.f64 (cbrt.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2))))) R)) (cbrt.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2))))) R))) (cbrt.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2))))) R)))
17.7b
(*.f64 (*.f64 (sqrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))) (sqrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2))))))) R)
17.6b
(*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (log.f64 (pow.f64 (exp.f64 (cos.f64 (-.f64 lambda1 lambda2))) (*.f64 (cos.f64 phi2) (cos.f64 phi1)))))) R)
17.7b
(*.f64 (cbrt.f64 (pow.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (cos.f64 phi1))))) 3)) R)
Compiler

Compiled 6000 to 1668 computations (72.2% saved)

localize24.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series153.0ms (0.7%)

Counts
4 → 164
Calls

4 calls:

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

rewrite22.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
13×add-sqr-sqrt_binary64
13×add-cbrt-cube_binary64
13×add-exp-log_binary64
13×pow1_binary64
associate-*r*_binary64
Counts
4 → 80
Calls

4 calls:

8.0ms
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))
4.0ms
(*.f64 (sin.f64 lambda1) (sin.f64 lambda2))
3.0ms
(*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))) R)
0.0ms
(acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))

simplify234.0ms (1.1%)

Algorithm
egg-herbie
Rules
618×associate-*r*_binary64
569×associate-*l*_binary64
488×fma-neg_binary64
363×distribute-rgt-neg-in_binary64
314×*-commutative_binary64
Counts
244 → 175
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03449069
110098619
237668607
349888607

prune295.0ms (1.4%)

Pruning

14 alts after pruning (14 fresh and 0 done)

PrunedKeptTotal
New16411175
Fresh10313
Picked101
Done000
Total17514189
Error
4.6b
Counts
189 → 14
Alt Table
StatusErrorProgram
5.1b
(*.f64 (cbrt.f64 (pow.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1))))) 3)) R)
33.3b
(exp.f64 (log.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1))))) R)))
5.8b
(*.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))) (*.f64 (cbrt.f64 R) (cbrt.f64 R))) (cbrt.f64 R))
4.9b
(*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) 3)))))) R)
5.1b
(*.f64 (sqrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))) (*.f64 R (sqrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1))))))))
18.2b
(*.f64 (*.f64 (cbrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))) (cbrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2))))))) (*.f64 (cbrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))) R))
17.6b
(*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (log.f64 (pow.f64 (exp.f64 (cos.f64 (-.f64 lambda1 lambda2))) (*.f64 (cos.f64 phi2) (cos.f64 phi1)))))) R)
5.7b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1)))))) (cbrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1))))))) (cbrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1))))))) R)
30.9b
(*.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1))))) (sqrt.f64 R)) (sqrt.f64 R))
4.9b
(*.f64 (log.f64 (exp.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1))))))) R)
4.9b
(*.f64 (-.f64 (/.f64 (PI.f64) 2) (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1)))))) R)
37.7b
(*.f64 (*.f64 (sqrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))) (sqrt.f64 R)) (*.f64 (sqrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))) (sqrt.f64 R)))
30.8b
(*.f64 (sqrt.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))) R)) (sqrt.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))) R)))
5.7b
(*.f64 (*.f64 (cbrt.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))) R)) (cbrt.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))) R))) (cbrt.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))) R)))
Compiler

Compiled 8216 to 2026 computations (75.3% saved)

localize28.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (log.f64 (exp.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1))))))) R)
0.3b
(exp.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1))))))
0.6b
(log.f64 (exp.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1)))))))
0.9b
(acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1)))))

series91.0ms (0.4%)

Counts
4 → 144
Calls

4 calls:

38.0ms
(*.f64 (log.f64 (exp.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1))))))) R)
28.0ms
(exp.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1))))))
13.0ms
(log.f64 (exp.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1)))))))
12.0ms
(acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1)))))

rewrite14.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
12×add-sqr-sqrt_binary64
10×*-un-lft-identity_binary64
10×add-cube-cbrt_binary64
exp-prod_binary64
log-pow_binary64
Counts
4 → 66
Calls

4 calls:

4.0ms
(*.f64 (log.f64 (exp.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1))))))) R)
2.0ms
(log.f64 (exp.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1)))))))
1.0ms
(exp.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1))))))
0.0ms
(acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1)))))

simplify323.0ms (1.5%)

Algorithm
egg-herbie
Rules
823×fma-def_binary64
666×times-frac_binary64
336×unswap-sqr_binary64
322×log-prod_binary64
269×associate-*l*_binary64
Counts
210 → 109
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01018602
11438181
22688181
34458181
46998175
512268175
629998175
747988175
850658175

prune188.0ms (0.9%)

Pruning

15 alts after pruning (15 fresh and 0 done)

PrunedKeptTotal
New1018109
Fresh6713
Picked101
Done000
Total10815123
Error
4.5b
Counts
123 → 15
Alt Table
StatusErrorProgram
5.1b
(*.f64 (cbrt.f64 (pow.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1))))) 3)) R)
5.7b
(*.f64 (*.f64 (cbrt.f64 (log.f64 (exp.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1)))))))) (cbrt.f64 (log.f64 (exp.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1))))))))) (*.f64 R (cbrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (cos.f64 phi2) (cos.f64 phi1))))))))
5.2b
(*.f64 (log.f64 (exp.f64 (*.f64 (sqrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1)))))) (sqrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1))))))))) R)
5.0b
(*.f64 (+.f64 (log.f64 (sqrt.f64 (exp.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1)))))))) (log.f64 (sqrt.f64 (exp.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1))))))))) R)
5.8b
(*.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))) (*.f64 (cbrt.f64 R) (cbrt.f64 R))) (cbrt.f64 R))
4.9b
(*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) 3)))))) R)
5.6b
(*.f64 (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1))))))) (cbrt.f64 (exp.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1))))))))) (log.f64 (cbrt.f64 (exp.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1))))))))) R)
5.1b
(*.f64 (sqrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))) (*.f64 R (sqrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1))))))))
5.7b
(*.f64 (*.f64 (cbrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1)))))) (log.f64 (exp.f64 (*.f64 (cbrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1)))))) (cbrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1)))))))))) R)
5.7b
(*.f64 (*.f64 (cbrt.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))) R)) (cbrt.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))) R))) (cbrt.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))) R)))
5.1b
(*.f64 (log.f64 (*.f64 (sqrt.f64 (exp.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1))))))) (sqrt.f64 (exp.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1))))))))) R)
5.1b
(*.f64 (log.f64 (cbrt.f64 (*.f64 (*.f64 (exp.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1)))))) (exp.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1))))))) (exp.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1))))))))) R)
5.0b
(*.f64 (log.f64 (/.f64 (sqrt.f64 (exp.f64 (PI.f64))) (exp.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (cos.f64 phi2) (cos.f64 phi1)))))))) R)
30.8b
(*.f64 (sqrt.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))) R)) (sqrt.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))) R)))
17.6b
(*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (log.f64 (pow.f64 (exp.f64 (cos.f64 (-.f64 lambda1 lambda2))) (*.f64 (cos.f64 phi2) (cos.f64 phi1)))))) R)
Compiler

Compiled 6250 to 1131 computations (81.9% saved)

localize29.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (sin.f64 lambda1) (sin.f64 lambda2))
0.3b
(pow.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) 3)
0.9b
(acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) 3))))))
24.7b
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) 3))

series59.0ms (0.3%)

Counts
3 → 96
Calls

3 calls:

33.0ms
(pow.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) 3)
15.0ms
(acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) 3))))))
10.0ms
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) 3))

rewrite9.0ms (0%)

Algorithm
rewrite-expression-head
Rules
cbrt-prod_binary64
add-cbrt-cube_binary64
add-exp-log_binary64
pow1_binary64
*-un-lft-identity_binary64
Counts
3 → 55
Calls

3 calls:

4.0ms
(pow.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) 3)
2.0ms
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) 3))
0.0ms
(acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) 3))))))

simplify111.0ms (0.5%)

Algorithm
egg-herbie
Rules
703×fma-neg_binary64
548×unswap-sqr_binary64
466×fma-def_binary64
433×*-commutative_binary64
290×cancel-sign-sub-inv_binary64
Counts
151 → 118
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01673634
13813493
212783401
332023377
450933377

prune358.0ms (1.7%)

Pruning

15 alts after pruning (15 fresh and 0 done)

PrunedKeptTotal
New1533156
Fresh21214
Picked101
Done000
Total15615171
Error
4.5b
Counts
171 → 15
Alt Table
StatusErrorProgram
5.1b
(*.f64 (cbrt.f64 (pow.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1))))) 3)) R)
5.7b
(*.f64 (*.f64 (cbrt.f64 (log.f64 (exp.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1)))))))) (cbrt.f64 (log.f64 (exp.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1))))))))) (*.f64 R (cbrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (cos.f64 phi2) (cos.f64 phi1))))))))
5.0b
(*.f64 (+.f64 (log.f64 (sqrt.f64 (exp.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1)))))))) (log.f64 (sqrt.f64 (exp.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1))))))))) R)
5.8b
(*.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))) (*.f64 (cbrt.f64 R) (cbrt.f64 R))) (cbrt.f64 R))
5.6b
(*.f64 (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1))))))) (cbrt.f64 (exp.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1))))))))) (log.f64 (cbrt.f64 (exp.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1))))))))) R)
5.7b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1)))))) (cbrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1))))))) (cbrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1))))))) R)
5.1b
(*.f64 (sqrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))) (*.f64 R (sqrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1))))))))
5.0b
(*.f64 (-.f64 (/.f64 (PI.f64) 2) (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) 3))))))) R)
17.6b
(*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (log.f64 (pow.f64 (exp.f64 (cos.f64 (-.f64 lambda1 lambda2))) (*.f64 (cos.f64 phi2) (cos.f64 phi1)))))) R)
5.1b
(*.f64 (log.f64 (*.f64 (sqrt.f64 (exp.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1))))))) (sqrt.f64 (exp.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1))))))))) R)
5.1b
(*.f64 (log.f64 (cbrt.f64 (*.f64 (*.f64 (exp.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1)))))) (exp.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1))))))) (exp.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (cos.f64 phi1))))))))) R)
5.0b
(*.f64 (log.f64 (/.f64 (sqrt.f64 (exp.f64 (PI.f64))) (exp.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (fma.f64 (sin.f64 lambda1) (sin.f64 lambda2) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (*.f64 (cos.f64 phi2) (cos.f64 phi1)))))))) R)
30.8b
(*.f64 (sqrt.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))) R)) (sqrt.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))) R)))
5.0b
(*.f64 (log.f64 (exp.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) 3)))))))) R)
5.7b
(*.f64 (*.f64 (cbrt.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))) R)) (cbrt.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))) R))) (cbrt.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))) R)))
Compiler

Compiled 6449 to 2323 computations (64% saved)

regimes4.7s (21.9%)

Accuracy

Total 0.3b remaining (9.3%)

Threshold costs 0.3b (9.3%)

Counts
291 → 1
Compiler

Compiled 113018 to 68596 computations (39.3% saved)

simplify4.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02241
12841
22841

end26.0ms (0.1%)

Remove

(sort lambda1 lambda2)

Compiler

Compiled 210 to 147 computations (30% saved)

sample9.6s (45.4%)

Algorithm
intervals
Results
6.7s5507×body1024valid
1.0s1450×body512valid
725.0ms266×body2048valid
204.0ms477×body256valid
65.0ms300×body128valid
1.0msbody1024invalid
1.0msbody512invalid
Compiler

Compiled 897 to 418 computations (53.4% saved)

Profiling

Loading profile data...