Details

Time bar (total: 19.0s)

analyze3.0s (15.5%)

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 20 to 18 computations (10% saved)

sample295.0ms (1.6%)

Algorithm
intervals
Results
201.0ms152×body1280valid
65.0ms75×body640valid
9.0ms17×body320valid
3.0msbody160valid
1.0msbody80valid
Compiler

Compiled 39 to 40 computations (-2.6% saved)

simplify25.0ms (0.1%)

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (11.0ms)

IterNodesCost
09731
19731

prune155.0ms (0.8%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022

Merged error: 19.4b

Counts
2 → 1
Compiler

Compiled 38 to 34 computations (10.5% saved)

localize26.0ms (0.1%)

Local error

Found 4 expressions with local error:

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)
1.1b
(acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
3.6b
(cos.f64 (-.f64 lambda1 lambda2))

rewrite18.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
12×add-sqr-sqrt_binary64
*-un-lft-identity_binary64 pow1_binary64 add-cube-cbrt_binary64 add-exp-log_binary64 add-cbrt-cube_binary64
associate-*r*_binary64 associate-*l*_binary64
add-log-exp_binary64 insert-posit16
pow-prod-down_binary64 cbrt-unprod_binary64 unswap-sqr_binary64 prod-exp_binary64 *-commutative_binary64
sub-neg_binary64 acos-asin_binary64 cos-diff_binary64 sin-mult_binary64 cos-sum_binary64
Counts
4 → 58
Calls

4 calls:

6.0ms
(*.f64 (sin.f64 phi1) (sin.f64 phi2))
5.0ms
(cos.f64 (-.f64 lambda1 lambda2))
4.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)
2.0ms
(acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))

series393.0ms (2.1%)

Counts
4 → 12
Calls

4 calls:

212.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)
77.0ms
(acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))
75.0ms
(*.f64 (sin.f64 phi1) (sin.f64 phi2))
29.0ms
(cos.f64 (-.f64 lambda1 lambda2))

simplify148.0ms (0.8%)

Algorithm
egg-herbie
Counts
70 → 70
Iterations

Useful iterations: 0 (122.0ms)

IterNodesCost
049471519
149471519

prune107.0ms (0.6%)

Pruning

14 alts after pruning (14 fresh and 0 done)

PrunedKeptTotal
New561470
Fresh000
Picked101
Done000
Total571471

Merged error: 3.5b

Counts
71 → 14
Compiler

Compiled 2179 to 565 computations (74.1% saved)

localize33.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.2b
(*.f64 (sin.f64 phi1) (sin.f64 phi2))
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.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)
1.1b
(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))))))

rewrite28.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
13×pow1_binary64 add-exp-log_binary64 add-cbrt-cube_binary64 add-sqr-sqrt_binary64
*-un-lft-identity_binary64 associate-*r*_binary64 add-cube-cbrt_binary64
associate-*l*_binary64
cos-mult_binary64
pow-prod-down_binary64 cbrt-unprod_binary64 prod-exp_binary64
add-log-exp_binary64 insert-posit16
associate-*r/_binary64 sin-mult_binary64 frac-times_binary64 *-commutative_binary64
flip3-+_binary64 frac-add_binary64 unswap-sqr_binary64 flip-+_binary64
acos-asin_binary64 distribute-lft-in_binary64 distribute-rgt-in_binary64 associate-*l/_binary64
Counts
4 → 76
Calls

4 calls:

14.0ms
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))
6.0ms
(*.f64 (sin.f64 phi1) (sin.f64 phi2))
4.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)
2.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))))))

series897.0ms (4.7%)

Counts
4 → 12
Calls

4 calls:

394.0ms
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))
329.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)
98.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))))))
75.0ms
(*.f64 (sin.f64 phi1) (sin.f64 phi2))

simplify147.0ms (0.8%)

Algorithm
egg-herbie
Counts
88 → 88
Iterations

Useful iterations: 0 (110.0ms)

IterNodesCost
050322900

prune148.0ms (0.8%)

Pruning

14 alts after pruning (14 fresh and 0 done)

PrunedKeptTotal
New781088
Fresh9413
Picked101
Done000
Total8814102

Merged error: 3.3b

Counts
102 → 14
Compiler

Compiled 3616 to 712 computations (80.3% saved)

localize36.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.3b
(*.f64 (log.f64 (exp.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.3b
(exp.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)))))))
0.7b
(log.f64 (exp.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))))))))
1.1b
(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))))))

rewrite19.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
12×add-sqr-sqrt_binary64
10×*-un-lft-identity_binary64 add-cube-cbrt_binary64
exp-prod_binary64
pow1_binary64 log-pow_binary64
associate-*l*_binary64
add-exp-log_binary64 add-cbrt-cube_binary64
add-log-exp_binary64
insert-posit16
acos-asin_binary64 associate-*r*_binary64 log-prod_binary64
exp-diff_binary64
pow-prod-down_binary64 cbrt-unprod_binary64 rem-log-exp_binary64 rem-exp-log_binary64 unswap-sqr_binary64 prod-exp_binary64 log-div_binary64 *-commutative_binary64
Counts
4 → 62
Calls

4 calls:

7.0ms
(*.f64 (log.f64 (exp.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)
5.0ms
(exp.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)))))))
4.0ms
(log.f64 (exp.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))))))))
2.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))))))

series703.0ms (3.7%)

Counts
4 → 12
Calls

4 calls:

313.0ms
(*.f64 (log.f64 (exp.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)
203.0ms
(exp.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)))))))
95.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))))))
92.0ms
(log.f64 (exp.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))))))))

simplify219.0ms (1.1%)

Algorithm
egg-herbie
Counts
74 → 74
Iterations

Useful iterations: 0 (178.0ms)

IterNodesCost
048663399
148663399

prune120.0ms (0.6%)

Pruning

14 alts after pruning (14 fresh and 0 done)

PrunedKeptTotal
New69574
Fresh4913
Picked101
Done000
Total741488

Merged error: 3.3b

Counts
88 → 14
Compiler

Compiled 3594 to 570 computations (84.1% saved)

localize43.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.3b
(/.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (-.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))))
0.3b
(*.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))
0.3b
(*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))
1.1b
(acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (/.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (-.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))))))

rewrite72.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
82×pow1_binary64
59×cos-mult_binary64
42×sin-mult_binary64
38×associate-*r/_binary64
37×add-exp-log_binary64 add-cbrt-cube_binary64
34×pow-prod-down_binary64 frac-times_binary64
33×associate-/l/_binary64
23×associate-*l/_binary64
19×cbrt-unprod_binary64 prod-exp_binary64 frac-sub_binary64
11×sub-div_binary64
pow-prod-up_binary64 pow-sqr_binary64
*-un-lft-identity_binary64 add-cube-cbrt_binary64 add-sqr-sqrt_binary64
add-log-exp_binary64 associate-/r/_binary64 pow-plus_binary64 insert-posit16
associate-/r*_binary64 flip3--_binary64 cbrt-undiv_binary64 times-frac_binary64 div-exp_binary64 flip--_binary64
swap-sqr_binary64 associate-*r*_binary64 associate-*l*_binary64 pow2_binary64 *-commutative_binary64
acos-asin_binary64 clear-num_binary64 frac-2neg_binary64 associate-/l*_binary64 div-inv_binary64
Counts
4 → 146
Calls

4 calls:

36.0ms
(/.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (-.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))))
13.0ms
(*.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))
11.0ms
(*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))
2.0ms
(acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (/.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (-.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))))))

series1.9s (10%)

Counts
4 → 12
Calls

4 calls:

1.3s
(/.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (-.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))))
332.0ms
(acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (/.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (-.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))))))
109.0ms
(*.f64 (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))
108.0ms
(*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)) (*.f64 (cos.f64 lambda1) (cos.f64 lambda2)))

simplify104.0ms (0.5%)

Algorithm
egg-herbie
Counts
158 → 158
Iterations

Useful iterations: 0 (54.0ms)

IterNodesCost
055963719

prune243.0ms (1.3%)

Pruning

14 alts after pruning (14 fresh and 0 done)

PrunedKeptTotal
New1571158
Fresh01313
Picked101
Done000
Total15814172

Merged error: 3.3b

Counts
172 → 14
Compiler

Compiled 8216 to 1726 computations (79% saved)

regimes347.0ms (1.8%)

Compiler

Compiled 5372 to 2645 computations (50.8% saved)

bsearch0.0ms (0%)

simplify7.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (3.0ms)

IterNodesCost
0100109
1100109

end0.0ms (0%)

sample9.8s (51.7%)

Algorithm
intervals
Results
6.6s4779×body1280valid
1.7s2129×body640valid
383.0ms691×body320valid
104.0ms267×body160valid
56.0ms15×body2560valid
28.0ms119×body80valid
Compiler

Compiled 850 to 422 computations (50.4% saved)

Profiling

Loading profile data...