Details

Time bar (total: 20.3s)

analyze3.6s (18%)

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.8s (53.1%)

Symmetry

(sort lambda1 lambda2)

(sort phi1 phi2)

Results
8.0s5672×body1024valid
1.2s1457×body512valid
816.0ms280×body2048valid
311.0ms557×body256valid
87.0ms290×body128valid
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
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.3b
Counts
3 → 2
Alt Table
StatusErrorProgram
17.3b
(*.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.3b
(*.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)

localize19.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (sin.f64 phi1) (sin.f64 phi2))
0.3b
(*.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)
0.6b
(acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
2.9b
(cos.f64 (-.f64 lambda1 lambda2))

series59.0ms (0.3%)

Counts
4 → 124
Calls

4 calls:

34.0ms
(*.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)
11.0ms
(acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
9.0ms
(*.f64 (sin.f64 phi1) (sin.f64 phi2))
4.0ms
(cos.f64 (-.f64 lambda1 lambda2))

rewrite16.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
19×add-sqr-sqrt_binary64
15×*-un-lft-identity_binary64
15×add-cube-cbrt_binary64
13×cos-sum_binary64
prod-diff_binary64
Counts
4 → 74
Calls

4 calls:

5.0ms
(*.f64 (sin.f64 phi1) (sin.f64 phi2))
4.0ms
(cos.f64 (-.f64 lambda1 lambda2))
3.0ms
(*.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)
1.0ms
(acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))

simplify155.0ms (0.8%)

Algorithm
egg-herbie
Rules
584×fma-neg_binary64
573×sub-neg_binary64
382×fma-def_binary64
356×*-commutative_binary64
344×distribute-rgt-neg-in_binary64
Counts
198 → 134
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
02605438
14634940
212514849
324984795
445114793
550514793

prune148.0ms (0.7%)

Pruning

13 alts after pruning (13 fresh and 0 done)

PrunedKeptTotal
New12113134
Fresh101
Picked101
Done000
Total12313136
Error
2.3b
Counts
136 → 13
Alt Table
StatusErrorProgram
17.3b
(*.f64 (-.f64 (/.f64 (PI.f64) 2) (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))) R)
17.9b
(*.f64 (*.f64 (acos.f64 (+.f64 (*.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))
17.8b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))) (cbrt.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2))))))) (cbrt.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)
41.6b
(*.f64 (sqrt.f64 (*.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)) (sqrt.f64 (*.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)))
17.4b
(*.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)
43.9b
(cbrt.f64 (*.f64 (*.f64 (*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2))))) (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))) (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))) (*.f64 (*.f64 R R) R)))
17.4b
(*.f64 (sqrt.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))) (*.f64 R (sqrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (cos.f64 phi1))))))))
37.9b
(*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (cos.f64 lambda2) (fma.f64 (*.f64 lambda1 lambda1) (fma.f64 lambda1 (*.f64 (sin.f64 lambda2) -1/6) (*.f64 (cos.f64 lambda2) -1/2)) (*.f64 lambda1 (sin.f64 lambda2))))))) R)
2.5b
(*.f64 (acos.f64 (+.f64 (*.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.9b
(*.f64 (*.f64 (cbrt.f64 (*.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)) (cbrt.f64 (*.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))) (cbrt.f64 (*.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)))
41.7b
(*.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (cos.f64 phi1))))) (sqrt.f64 R)) (sqrt.f64 R))
17.3b
(*.f64 (log.f64 (exp.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)
43.1b
(exp.f64 (log.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (cos.f64 phi1))))) R)))
Compiler

Compiled 5182 to 1452 computations (72% saved)

localize25.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (sin.f64 phi1) (sin.f64 phi2))
0.2b
(*.f64 (sin.f64 lambda1) (sin.f64 lambda2))
0.3b
(*.f64 (acos.f64 (+.f64 (*.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.6b
(acos.f64 (+.f64 (*.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))))))

series97.0ms (0.5%)

Counts
3 → 116
Calls

3 calls:

71.0ms
(*.f64 (acos.f64 (+.f64 (*.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.0ms
(acos.f64 (+.f64 (*.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))))))
9.0ms
(*.f64 (sin.f64 lambda1) (sin.f64 lambda2))

rewrite11.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
11×add-sqr-sqrt_binary64
*-un-lft-identity_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
add-exp-log_binary64
Counts
3 → 51
Calls

3 calls:

3.0ms
(*.f64 (sin.f64 lambda1) (sin.f64 lambda2))
3.0ms
(*.f64 (acos.f64 (+.f64 (*.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)
1.0ms
(acos.f64 (+.f64 (*.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))))))

simplify201.0ms (1%)

Algorithm
egg-herbie
Rules
554×fma-neg_binary64
480×distribute-rgt-neg-in_binary64
453×associate-*l*_binary64
399×distribute-lft-neg-in_binary64
355×associate-*r*_binary64
Counts
167 → 96
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01437164
13345781
28995757
320835733
434285733
549505733
650185733

prune177.0ms (0.9%)

Pruning

14 alts after pruning (14 fresh and 0 done)

PrunedKeptTotal
New12212134
Fresh10212
Picked101
Done000
Total13314147
Error
2.1b
Counts
147 → 14
Alt Table
StatusErrorProgram
3.3b
(*.f64 (*.f64 (cbrt.f64 (*.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) R)) (cbrt.f64 (*.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) R))) (cbrt.f64 (*.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) R)))
2.5b
(*.f64 (-.f64 (/.f64 (PI.f64) 2) (asin.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2))))) R)
2.5b
(*.f64 (acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (*.f64 (sin.f64 lambda1) (*.f64 (cbrt.f64 (sin.f64 lambda2)) (cbrt.f64 (sin.f64 lambda2)))) (cbrt.f64 (sin.f64 lambda2))))))) R)
39.7b
(cbrt.f64 (pow.f64 (*.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) R) 3))
34.1b
(*.f64 (*.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) (sqrt.f64 R)) (sqrt.f64 R))
2.7b
(*.f64 (expm1.f64 (log1p.f64 (acos.f64 (+.f64 (*.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)
3.3b
(*.f64 (*.f64 (cbrt.f64 (acos.f64 (+.f64 (*.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))))))) (cbrt.f64 (acos.f64 (+.f64 (*.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 (cbrt.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))))))
43.1b
(exp.f64 (log.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (cos.f64 phi1))))) R)))
17.9b
(*.f64 (*.f64 (acos.f64 (+.f64 (*.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))
2.5b
(*.f64 (log.f64 (exp.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))))) R)
34.0b
(*.f64 (sqrt.f64 (*.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) R)) (sqrt.f64 (*.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) R)))
2.5b
(*.f64 (acos.f64 (+.f64 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) (*.f64 (cos.f64 phi1) (cos.f64 lambda1)))) (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 lambda1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda2) (cos.f64 phi1))))))) R)
2.7b
(*.f64 (sqrt.f64 (acos.f64 (+.f64 (*.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 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))))))
2.7b
(*.f64 (cbrt.f64 (pow.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) 3)) R)
Compiler

Compiled 6037 to 1549 computations (74.3% saved)

localize26.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series140.0ms (0.7%)

Counts
3 → 100
Calls

3 calls:

71.0ms
(*.f64 (acos.f64 (+.f64 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) (*.f64 (cos.f64 phi1) (cos.f64 lambda1)))) (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 lambda1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda2) (cos.f64 phi1))))))) R)
47.0ms
(*.f64 (sin.f64 lambda1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda2) (cos.f64 phi1))))
22.0ms
(acos.f64 (+.f64 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) (*.f64 (cos.f64 phi1) (cos.f64 lambda1)))) (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 lambda1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda2) (cos.f64 phi1)))))))

rewrite13.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
14×add-cbrt-cube_binary64
14×add-exp-log_binary64
14×pow1_binary64
add-sqr-sqrt_binary64
cbrt-unprod_binary64
Counts
3 → 54
Calls

3 calls:

6.0ms
(*.f64 (sin.f64 lambda1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda2) (cos.f64 phi1))))
3.0ms
(*.f64 (acos.f64 (+.f64 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) (*.f64 (cos.f64 phi1) (cos.f64 lambda1)))) (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 lambda1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda2) (cos.f64 phi1))))))) R)
1.0ms
(acos.f64 (+.f64 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) (*.f64 (cos.f64 phi1) (cos.f64 lambda1)))) (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 lambda1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda2) (cos.f64 phi1)))))))

simplify221.0ms (1.1%)

Algorithm
egg-herbie
Rules
666×fma-def_binary64
496×cancel-sign-sub-inv_binary64
446×associate-*r*_binary64
348×associate-*l*_binary64
261×sub-neg_binary64
Counts
154 → 117
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02297274
16446819
220446343
342136343
449966343
549956343
649436343

prune198.0ms (1%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New1532155
Fresh31013
Picked101
Done000
Total15712169
Error
2.1b
Counts
169 → 12
Alt Table
StatusErrorProgram
3.3b
(*.f64 (*.f64 (cbrt.f64 (*.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) R)) (cbrt.f64 (*.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) R))) (cbrt.f64 (*.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) R)))
2.5b
(*.f64 (-.f64 (/.f64 (PI.f64) 2) (asin.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2))))) R)
3.3b
(*.f64 (*.f64 (cbrt.f64 (acos.f64 (+.f64 (*.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))))))) (cbrt.f64 (acos.f64 (+.f64 (*.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 (cbrt.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))))))
43.1b
(exp.f64 (log.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 phi2) (cos.f64 phi1))))) R)))
17.9b
(*.f64 (*.f64 (acos.f64 (+.f64 (*.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))
2.5b
(*.f64 (log.f64 (exp.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))))) R)
34.0b
(*.f64 (sqrt.f64 (*.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) R)) (sqrt.f64 (*.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) R)))
39.7b
(cbrt.f64 (pow.f64 (*.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) R) 3))
34.0b
(*.f64 (*.f64 (acos.f64 (+.f64 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) (*.f64 (cos.f64 phi1) (cos.f64 lambda1)))) (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 lambda1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda2) (cos.f64 phi1))))))) (sqrt.f64 R)) (sqrt.f64 R))
2.6b
(*.f64 (expm1.f64 (log1p.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 lambda2) (*.f64 (cos.f64 phi1) (cos.f64 lambda1))) (*.f64 (sin.f64 lambda1) (*.f64 (cos.f64 phi1) (sin.f64 lambda2))))))))) R)
2.7b
(*.f64 (sqrt.f64 (acos.f64 (+.f64 (*.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 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))))))
2.7b
(*.f64 (cbrt.f64 (pow.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) 3)) R)
Compiler

Compiled 7977 to 1799 computations (77.4% saved)

localize27.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series80.0ms (0.4%)

Counts
4 → 172
Calls

4 calls:

33.0ms
(*.f64 (log.f64 (exp.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))))) R)
25.0ms
(exp.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))))
12.0ms
(log.f64 (exp.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2))))))
10.0ms
(acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2))))

rewrite11.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:

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

simplify328.0ms (1.6%)

Algorithm
egg-herbie
Rules
847×fma-def_binary64
666×times-frac_binary64
336×unswap-sqr_binary64
322×log-prod_binary64
280×associate-*l*_binary64
Counts
238 → 108
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01009634
11299213
22529213
33919213
46599207
512269207
629999207
747989207
850659207

prune148.0ms (0.7%)

Pruning

13 alts after pruning (13 fresh and 0 done)

PrunedKeptTotal
New1026108
Fresh4711
Picked101
Done000
Total10713120
Error
2.1b
Counts
120 → 13
Alt Table
StatusErrorProgram
2.7b
(*.f64 (log.f64 (*.f64 (sqrt.f64 (exp.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))))) (sqrt.f64 (exp.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))))))) R)
2.6b
(*.f64 (+.f64 (log.f64 (sqrt.f64 (exp.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2))))))) (log.f64 (sqrt.f64 (exp.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))))))) R)
39.7b
(cbrt.f64 (pow.f64 (*.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) R) 3))
3.3b
(*.f64 (cbrt.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2))))) (*.f64 R (*.f64 (cbrt.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (sin.f64 phi2))))) (cbrt.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (sin.f64 phi2))))))))
2.7b
(*.f64 (log.f64 (cbrt.f64 (*.f64 (*.f64 (exp.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2))))) (exp.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))))) (exp.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))))))) R)
36.3b
(exp.f64 (log.f64 (*.f64 (log.f64 (exp.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))))) R)))
2.7b
(*.f64 (sqrt.f64 (acos.f64 (+.f64 (*.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 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))))))
34.0b
(*.f64 (sqrt.f64 (*.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) R)) (sqrt.f64 (*.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) R)))
3.3b
(*.f64 (*.f64 (cbrt.f64 (*.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) R)) (cbrt.f64 (*.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) R))) (cbrt.f64 (*.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) R)))
3.1b
(*.f64 (+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))))))) (log.f64 (cbrt.f64 (exp.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi1)) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))))))) R)
34.0b
(*.f64 (*.f64 (acos.f64 (+.f64 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) (*.f64 (cos.f64 phi1) (cos.f64 lambda1)))) (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (sin.f64 lambda1) (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda2) (cos.f64 phi1))))))) (sqrt.f64 R)) (sqrt.f64 R))
2.6b
(*.f64 (expm1.f64 (log1p.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 lambda2) (*.f64 (cos.f64 phi1) (cos.f64 lambda1))) (*.f64 (sin.f64 lambda1) (*.f64 (cos.f64 phi1) (sin.f64 lambda2))))))))) R)
2.7b
(*.f64 (cbrt.f64 (pow.f64 (acos.f64 (fma.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) (*.f64 (sin.f64 phi1) (sin.f64 phi2)))) 3)) R)
Compiler

Compiled 5214 to 709 computations (86.4% saved)

regimes3.1s (15.5%)

Accuracy

Total 0.3b remaining (8.2%)

Threshold costs 0.3b (8.2%)

Counts
223 → 1
Compiler

Compiled 95098 to 54451 computations (42.7% saved)

simplify3.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02346
13046
23046

end603.0ms (3%)

Compiler

Compiled 898 to 452 computations (49.7% saved)

Profiling

Loading profile data...