Details

Time bar (total: 4.2s)

analyze272.0ms (6.5%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%50%50%2
0%50%50%3
0%50%50%4
6.2%43.7%50%5
9.4%28.1%62.5%6
12.5%25%62.5%7
15.6%15.6%68.8%8
16.8%14.4%68.8%9
18.5%8.8%72.7%10
19.2%7.7%73.1%11
20.1%4.6%75.2%12
20.5%4%75.5%13
21%2.4%76.6%14
Compiler

Compiled 23 to 20 computations (13% saved)

sample24.0ms (0.6%)

Algorithm
intervals
Results
14.0ms256×body128valid
1.0ms11×body128nan
0.0msbody128invalid
Compiler

Compiled 47 to 41 computations (12.8% saved)

simplify68.0ms (1.6%)

Algorithm
egg-herbie
Rules
189×distribute-rgt-in_binary64
173×cancel-sign-sub-inv_binary64
159×sub-neg_binary64
156×distribute-lft-in_binary64
149×unsub-neg_binary64
Counts
1 → 1
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01524
13221
27121
315021
426621
546021
661821
798721
8118521
9114821
10119121
11119021
12118721
13104921

prune5.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.1b
Counts
2 → 2
Alt Table
StatusErrorProgram
0.1b
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (*.f64 (-.f64 a 1/3) 9)))))
0.1b
(*.f64 (-.f64 a (/.f64 1 3)) (+.f64 1 (*.f64 (/.f64 1 (sqrt.f64 (*.f64 9 (-.f64 a (/.f64 1 3))))) rand)))
Compiler

Compiled 92 to 77 computations (16.3% saved)

localize8.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.0b
(*.f64 (-.f64 a 1/3) 9)
0.1b
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (*.f64 (-.f64 a 1/3) 9)))))
0.2b
(/.f64 rand (sqrt.f64 (*.f64 (-.f64 a 1/3) 9)))
0.4b
(sqrt.f64 (*.f64 (-.f64 a 1/3) 9))

rewrite206.0ms (4.9%)

Algorithm
rewrite-expression-head
Error
0b
Rules
25×add-sqr-sqrt_binary64
23×*-un-lft-identity_binary64
17×add-cube-cbrt_binary64
12×times-frac_binary64
11×pow1_binary64
Counts
4 → 99
Calls

4 calls:

17.0ms
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (*.f64 (-.f64 a 1/3) 9)))))
7.0ms
(/.f64 rand (sqrt.f64 (*.f64 (-.f64 a 1/3) 9)))
7.0ms
(*.f64 (-.f64 a 1/3) 9)
5.0ms
(sqrt.f64 (*.f64 (-.f64 a 1/3) 9))
Compiler

Compiled 2230 to 1765 computations (20.9% saved)

series82.0ms (2%)

Error
0.0b
Counts
4 → 24
Calls

4 calls:

29.0ms
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (*.f64 (-.f64 a 1/3) 9)))))
24.0ms
(/.f64 rand (sqrt.f64 (*.f64 (-.f64 a 1/3) 9)))
9.0ms
(*.f64 (-.f64 a 1/3) 9)
7.0ms
(sqrt.f64 (*.f64 (-.f64 a 1/3) 9))
Compiler

Compiled 783 to 624 computations (20.3% saved)

simplify104.0ms (2.5%)

Algorithm
egg-herbie
Rules
682×distribute-rgt-in_binary64
667×distribute-lft-in_binary64
297×associate-*l/_binary64
279×associate-*r/_binary64
216×times-frac_binary64
Counts
123 → 104
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01922238
14542076
213572067
348112067
450072067

prune137.0ms (3.3%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New995104
Fresh101
Picked011
Done000
Total1006106
Error
0b
Counts
106 → 6
Alt Table
StatusErrorProgram
0.1b
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (*.f64 (-.f64 a 1/3) 9)))))
0.1b
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (*.f64 (*.f64 3 (sqrt.f64 (+.f64 -1/3 a))) (*.f64 3 (sqrt.f64 (+.f64 -1/3 a))))))))
0.1b
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 -1/3 a))) rand))))
12.6b
(/.f64 (*.f64 (+.f64 -1/3 a) (+.f64 1 (pow.f64 (/.f64 rand (sqrt.f64 (+.f64 -3 (*.f64 a 9)))) 3))) (+.f64 (*.f64 1 1) (-.f64 (*.f64 (/.f64 rand (sqrt.f64 (*.f64 (-.f64 a 1/3) 9))) (/.f64 rand (sqrt.f64 (*.f64 (-.f64 a 1/3) 9)))) (*.f64 1 (/.f64 rand (sqrt.f64 (*.f64 (-.f64 a 1/3) 9)))))))
9.6b
(/.f64 (*.f64 (+.f64 -1/3 a) (-.f64 1 (*.f64 rand (/.f64 rand (+.f64 -3 (*.f64 a 9)))))) (-.f64 1 (/.f64 rand (sqrt.f64 (*.f64 (-.f64 a 1/3) 9)))))
0.4b
(+.f64 -1/3 (+.f64 a (*.f64 1/3 (*.f64 rand (sqrt.f64 (+.f64 -1/3 a))))))
Compiler

Compiled 2123 to 1669 computations (21.4% saved)

localize12.0ms (0.3%)

Local error

Found 4 expressions with local error:

0.3b
(*.f64 3 (sqrt.f64 (+.f64 -1/3 a)))
0.3b
(*.f64 3 (sqrt.f64 (+.f64 -1/3 a)))
0.4b
(sqrt.f64 (*.f64 (*.f64 3 (sqrt.f64 (+.f64 -1/3 a))) (*.f64 3 (sqrt.f64 (+.f64 -1/3 a)))))
0.5b
(*.f64 (*.f64 3 (sqrt.f64 (+.f64 -1/3 a))) (*.f64 3 (sqrt.f64 (+.f64 -1/3 a))))

rewrite251.0ms (6%)

Algorithm
rewrite-expression-head
Error
0b
Rules
87×pow1_binary64
36×sqrt-div_binary64
36×pow-prod-down_binary64
32×associate-*r/_binary64
20×add-cbrt-cube_binary64
Counts
4 → 126
Calls

4 calls:

13.0ms
(*.f64 (*.f64 3 (sqrt.f64 (+.f64 -1/3 a))) (*.f64 3 (sqrt.f64 (+.f64 -1/3 a))))
12.0ms
(sqrt.f64 (*.f64 (*.f64 3 (sqrt.f64 (+.f64 -1/3 a))) (*.f64 3 (sqrt.f64 (+.f64 -1/3 a)))))
10.0ms
(*.f64 3 (sqrt.f64 (+.f64 -1/3 a)))
7.0ms
(*.f64 3 (sqrt.f64 (+.f64 -1/3 a)))
Compiler

Compiled 2934 to 2414 computations (17.7% saved)

series39.0ms (0.9%)

Error
0b
Counts
4 → 14
Calls

4 calls:

9.0ms
(*.f64 (*.f64 3 (sqrt.f64 (+.f64 -1/3 a))) (*.f64 3 (sqrt.f64 (+.f64 -1/3 a))))
8.0ms
(*.f64 3 (sqrt.f64 (+.f64 -1/3 a)))
8.0ms
(*.f64 3 (sqrt.f64 (+.f64 -1/3 a)))
8.0ms
(sqrt.f64 (*.f64 (*.f64 3 (sqrt.f64 (+.f64 -1/3 a))) (*.f64 3 (sqrt.f64 (+.f64 -1/3 a)))))
Compiler

Compiled 657 to 541 computations (17.7% saved)

simplify149.0ms (3.5%)

Algorithm
egg-herbie
Rules
572×associate-*l*_binary64
479×times-frac_binary64
327×associate-*r*_binary64
324×*-commutative_binary64
296×associate-*r/_binary64
Counts
140 → 114
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01241648
12441456
25761456
313301456
415171456
518501456
634121456
749171456
848451456

prune125.0ms (3%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New1140114
Fresh044
Picked011
Done011
Total1146120
Error
0b
Counts
120 → 6
Alt Table
StatusErrorProgram
0.1b
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (*.f64 (-.f64 a 1/3) 9)))))
0.1b
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (*.f64 (*.f64 3 (sqrt.f64 (+.f64 -1/3 a))) (*.f64 3 (sqrt.f64 (+.f64 -1/3 a))))))))
0.1b
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 -1/3 a))) rand))))
12.6b
(/.f64 (*.f64 (+.f64 -1/3 a) (+.f64 1 (pow.f64 (/.f64 rand (sqrt.f64 (+.f64 -3 (*.f64 a 9)))) 3))) (+.f64 (*.f64 1 1) (-.f64 (*.f64 (/.f64 rand (sqrt.f64 (*.f64 (-.f64 a 1/3) 9))) (/.f64 rand (sqrt.f64 (*.f64 (-.f64 a 1/3) 9)))) (*.f64 1 (/.f64 rand (sqrt.f64 (*.f64 (-.f64 a 1/3) 9)))))))
9.6b
(/.f64 (*.f64 (+.f64 -1/3 a) (-.f64 1 (*.f64 rand (/.f64 rand (+.f64 -3 (*.f64 a 9)))))) (-.f64 1 (/.f64 rand (sqrt.f64 (*.f64 (-.f64 a 1/3) 9)))))
0.4b
(+.f64 -1/3 (+.f64 a (*.f64 1/3 (*.f64 rand (sqrt.f64 (+.f64 -1/3 a))))))
Compiler

Compiled 1790 to 1458 computations (18.5% saved)

localize13.0ms (0.3%)

Local error

Found 4 expressions with local error:

0.1b
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 -1/3 a))) rand))))
0.1b
(sqrt.f64 (/.f64 1 (+.f64 -1/3 a)))
0.3b
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 -1/3 a))) rand)
0.3b
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 -1/3 a))) rand))

rewrite438.0ms (10.4%)

Algorithm
rewrite-expression-head
Error
0b
Rules
42×add-sqr-sqrt_binary64
41×*-un-lft-identity_binary64
39×sqrt-prod_binary64
29×associate-*l*_binary64
28×times-frac_binary64
Counts
4 → 122
Calls

4 calls:

12.0ms
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 -1/3 a))) rand)
11.0ms
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 -1/3 a))) rand))
8.0ms
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 -1/3 a))) rand))))
6.0ms
(sqrt.f64 (/.f64 1 (+.f64 -1/3 a)))
Compiler

Compiled 2823 to 2330 computations (17.5% saved)

series86.0ms (2%)

Error
0b
Counts
4 → 24
Calls

4 calls:

29.0ms
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 -1/3 a))) rand))))
24.0ms
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 -1/3 a))) rand))
21.0ms
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 -1/3 a))) rand)
7.0ms
(sqrt.f64 (/.f64 1 (+.f64 -1/3 a)))
Compiler

Compiled 880 to 704 computations (20% saved)

simplify142.0ms (3.4%)

Algorithm
egg-herbie
Rules
260×associate-/l*_binary64
243×cancel-sign-sub-inv_binary64
210×associate-*r*_binary64
206×distribute-rgt-neg-in_binary64
201×associate-*l*_binary64
Counts
146 → 125
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01942676
14672524
215672517
328232517
447492517
550462517

prune158.0ms (3.8%)

Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New1250125
Fresh033
Picked011
Done022
Total1256131
Error
0b
Counts
131 → 6
Alt Table
StatusErrorProgram
0.1b
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (*.f64 (-.f64 a 1/3) 9)))))
0.1b
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (*.f64 (*.f64 3 (sqrt.f64 (+.f64 -1/3 a))) (*.f64 3 (sqrt.f64 (+.f64 -1/3 a))))))))
0.1b
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 -1/3 a))) rand))))
12.6b
(/.f64 (*.f64 (+.f64 -1/3 a) (+.f64 1 (pow.f64 (/.f64 rand (sqrt.f64 (+.f64 -3 (*.f64 a 9)))) 3))) (+.f64 (*.f64 1 1) (-.f64 (*.f64 (/.f64 rand (sqrt.f64 (*.f64 (-.f64 a 1/3) 9))) (/.f64 rand (sqrt.f64 (*.f64 (-.f64 a 1/3) 9)))) (*.f64 1 (/.f64 rand (sqrt.f64 (*.f64 (-.f64 a 1/3) 9)))))))
9.6b
(/.f64 (*.f64 (+.f64 -1/3 a) (-.f64 1 (*.f64 rand (/.f64 rand (+.f64 -3 (*.f64 a 9)))))) (-.f64 1 (/.f64 rand (sqrt.f64 (*.f64 (-.f64 a 1/3) 9)))))
0.4b
(+.f64 -1/3 (+.f64 a (*.f64 1/3 (*.f64 rand (sqrt.f64 (+.f64 -1/3 a))))))
Compiler

Compiled 2175 to 1780 computations (18.2% saved)

localize8.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.0b
(sqrt.f64 (+.f64 -1/3 a))
0.0b
(+.f64 a (*.f64 1/3 (*.f64 rand (sqrt.f64 (+.f64 -1/3 a)))))
0.2b
(*.f64 rand (sqrt.f64 (+.f64 -1/3 a)))
0.6b
(*.f64 1/3 (*.f64 rand (sqrt.f64 (+.f64 -1/3 a))))

rewrite129.0ms (3.1%)

Algorithm
rewrite-expression-head
Error
0b
Rules
14×add-sqr-sqrt_binary64
13×*-un-lft-identity_binary64
12×pow1_binary64
11×add-cbrt-cube_binary64
11×add-exp-log_binary64
Counts
4 → 72
Calls

4 calls:

8.0ms
(*.f64 1/3 (*.f64 rand (sqrt.f64 (+.f64 -1/3 a))))
7.0ms
(*.f64 rand (sqrt.f64 (+.f64 -1/3 a)))
3.0ms
(+.f64 a (*.f64 1/3 (*.f64 rand (sqrt.f64 (+.f64 -1/3 a)))))
3.0ms
(sqrt.f64 (+.f64 -1/3 a))
Compiler

Compiled 1255 to 960 computations (23.5% saved)

series71.0ms (1.7%)

Error
0b
Counts
4 → 24
Calls

4 calls:

20.0ms
(*.f64 1/3 (*.f64 rand (sqrt.f64 (+.f64 -1/3 a))))
19.0ms
(+.f64 a (*.f64 1/3 (*.f64 rand (sqrt.f64 (+.f64 -1/3 a)))))
16.0ms
(*.f64 rand (sqrt.f64 (+.f64 -1/3 a)))
8.0ms
(sqrt.f64 (+.f64 -1/3 a))
Compiler

Compiled 732 to 571 computations (22% saved)

simplify110.0ms (2.6%)

Algorithm
egg-herbie
Rules
532×distribute-rgt-in_binary64
517×distribute-lft-in_binary64
353×*-commutative_binary64
321×distribute-rgt-neg-in_binary64
301×unsub-neg_binary64
Counts
96 → 67
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01161198
12591146
27541143
315741143
439361143
545651143
649651143

prune78.0ms (1.8%)

Pruning

6 alts after pruning (2 fresh and 4 done)

PrunedKeptTotal
New66167
Fresh112
Picked011
Done033
Total67673
Error
0b
Counts
73 → 6
Alt Table
StatusErrorProgram
0.1b
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (*.f64 (-.f64 a 1/3) 9)))))
0.1b
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (*.f64 (*.f64 3 (sqrt.f64 (+.f64 -1/3 a))) (*.f64 3 (sqrt.f64 (+.f64 -1/3 a))))))))
0.5b
(+.f64 -1/3 (+.f64 a (*.f64 1/3 (*.f64 (*.f64 rand (fabs.f64 (cbrt.f64 (-.f64 a 1/3)))) (sqrt.f64 (cbrt.f64 (+.f64 -1/3 a)))))))
0.1b
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 -1/3 a))) rand))))
9.6b
(/.f64 (*.f64 (+.f64 -1/3 a) (-.f64 1 (*.f64 rand (/.f64 rand (+.f64 -3 (*.f64 a 9)))))) (-.f64 1 (/.f64 rand (sqrt.f64 (*.f64 (-.f64 a 1/3) 9)))))
0.4b
(+.f64 -1/3 (+.f64 a (*.f64 1/3 (*.f64 rand (sqrt.f64 (+.f64 -1/3 a))))))
Compiler

Compiled 1005 to 773 computations (23.1% saved)

regimes631.0ms (15%)

Accuracy

Total 0.1b remaining (83.9%)

Threshold costs 0.1b (83.9%)

Compiler

Compiled 9558 to 7850 computations (17.9% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
*-lft-identity_binary64
sub-neg_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01324
12224
22324
32124

end1.0ms (0%)

Compiler

Compiled 18 to 14 computations (22.2% saved)

sample850.0ms (20.2%)

Algorithm
intervals
Results
444.0ms8000×body128valid
16.0ms244×body128nan
13.0ms239×body128invalid
Compiler

Compiled 164 to 134 computations (18.3% saved)

Profiling

Loading profile data...