Details

Time bar (total: 9.4s)

analyze6.0ms (0.1%)

Algorithm
search
Search
TrueOtherFalseIter
0%100%0%0
0%100%0%1
0%100%0%2
0%100%0%3
75%25%0%4
87.5%12.5%0%5
93.7%6.2%0%6
96.8%3.1%0%7
98.4%1.6%0%8
99.2%0.8%0%9
99.6%0.4%0%10
99.8%0.2%0%11
99.9%0.1%0%12
99.9%0%0%13
99.9%0%0%14
Compiler

Compiled 15 to 11 computations (26.7% saved)

sample1.7s (17.8%)

Results
683.0ms2041×body1024valid
440.0ms4444×body128valid
269.0ms1059×body512valid
88.0ms223×body2048valid
81.0ms489×body256valid
Compiler

Compiled 44 to 32 computations (27.3% saved)

simplify88.0ms (0.9%)

Algorithm
egg-herbie
Rules
859×fma-neg_binary64
770×fma-def_binary64
322×div-sub_binary64
178×associate-/l*_binary64
150×sub-neg_binary64
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0819
11619
22219
33419
45719
59119
617819
727719
864319
978819
10102419
11126519
12124219
13124819
14124619
15124819
16125019
17126019
18126019
19117119

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
27.9b
Counts
2 → 1
Alt Table
StatusErrorProgram
27.9b
(-.f64 (/.f64 x (+.f64 x 1)) (/.f64 (+.f64 x 1) (-.f64 x 1)))
Compiler

Compiled 42 to 30 computations (28.6% saved)

localize6.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(/.f64 x (+.f64 x 1))
0.0b
(/.f64 (+.f64 x 1) (-.f64 x 1))
3.3b
(-.f64 (/.f64 x (+.f64 x 1)) (/.f64 (+.f64 x 1) (-.f64 x 1)))

series8.0ms (0.1%)

Counts
3 → 36
Calls

3 calls:

3.0ms
(-.f64 (/.f64 x (+.f64 x 1)) (/.f64 (+.f64 x 1) (-.f64 x 1)))
2.0ms
(/.f64 (+.f64 x 1) (-.f64 x 1))
2.0ms
(/.f64 x (+.f64 x 1))

rewrite233.0ms (2.5%)

Algorithm
rewrite-expression-head
Rules
1322×*-un-lft-identity_binary64
1012×times-frac_binary64
869×add-sqr-sqrt_binary64
612×prod-diff_binary64
533×add-cube-cbrt_binary64
Counts
3 → 783
Calls

3 calls:

47.0ms
(-.f64 (/.f64 x (+.f64 x 1)) (/.f64 (+.f64 x 1) (-.f64 x 1)))
6.0ms
(/.f64 (+.f64 x 1) (-.f64 x 1))
4.0ms
(/.f64 x (+.f64 x 1))

simplify961.0ms (10.2%)

Algorithm
egg-herbie
Rules
654×fma-neg_binary64
367×unsub-neg_binary64
299×fma-udef_binary64
213×sub-neg_binary64
202×associate-+r-_binary64
Counts
819 → 619
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
054554602
1129031108
2304322839
3432322837
4498322837
5499122837
6474222837

prune669.0ms (7.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New6163619
Fresh000
Picked101
Done000
Total6173620
Error
0.0b
Counts
620 → 3
Alt Table
StatusErrorProgram
30.0b
(+.f64 1 (*.f64 x (+.f64 3 x)))
27.9b
(+.f64 (fma.f64 x (/.f64 1 (+.f64 x 1)) (neg.f64 (*.f64 (/.f64 1 (-.f64 x 1)) (+.f64 x 1)))) (fma.f64 (neg.f64 (/.f64 1 (-.f64 x 1))) (+.f64 x 1) (*.f64 (/.f64 1 (-.f64 x 1)) (+.f64 x 1))))
33.4b
(-.f64 (-.f64 (/.f64 -3 x) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 3 (pow.f64 x 3)))) (/.f64 1 (pow.f64 x 4)))
Compiler

Compiled 30414 to 22415 computations (26.3% saved)

localize16.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(/.f64 1 (+.f64 x 1))
0.1b
(*.f64 (/.f64 1 (-.f64 x 1)) (+.f64 x 1))
28.4b
(fma.f64 x (/.f64 1 (+.f64 x 1)) (neg.f64 (*.f64 (/.f64 1 (-.f64 x 1)) (+.f64 x 1))))
30.5b
(fma.f64 (neg.f64 (/.f64 1 (-.f64 x 1))) (+.f64 x 1) (*.f64 (/.f64 1 (-.f64 x 1)) (+.f64 x 1)))

series14.0ms (0.2%)

Counts
4 → 48
Calls

4 calls:

6.0ms
(fma.f64 (neg.f64 (/.f64 1 (-.f64 x 1))) (+.f64 x 1) (*.f64 (/.f64 1 (-.f64 x 1)) (+.f64 x 1)))
3.0ms
(fma.f64 x (/.f64 1 (+.f64 x 1)) (neg.f64 (*.f64 (/.f64 1 (-.f64 x 1)) (+.f64 x 1))))
2.0ms
(/.f64 1 (+.f64 x 1))
2.0ms
(*.f64 (/.f64 1 (-.f64 x 1)) (+.f64 x 1))

rewrite25.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
45×*-un-lft-identity_binary64
44×add-sqr-sqrt_binary64
35×times-frac_binary64
27×associate-*l*_binary64
25×add-cube-cbrt_binary64
Counts
4 → 117
Calls

4 calls:

12.0ms
(*.f64 (/.f64 1 (-.f64 x 1)) (+.f64 x 1))
4.0ms
(/.f64 1 (+.f64 x 1))
0.0ms
(fma.f64 (neg.f64 (/.f64 1 (-.f64 x 1))) (+.f64 x 1) (*.f64 (/.f64 1 (-.f64 x 1)) (+.f64 x 1)))
0.0ms
(fma.f64 x (/.f64 1 (+.f64 x 1)) (neg.f64 (*.f64 (/.f64 1 (-.f64 x 1)) (+.f64 x 1))))

simplify107.0ms (1.1%)

Algorithm
egg-herbie
Rules
736×fma-neg_binary64
617×fma-def_binary64
397×distribute-rgt-in_binary64
315×distribute-lft-in_binary64
280×associate-*r*_binary64
Counts
165 → 214
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01862251
14891946
213881842
338951840
449801840
550121840

prune342.0ms (3.6%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New3121313
Fresh022
Picked101
Done000
Total3133316
Error
0.0b
Counts
316 → 3
Alt Table
StatusErrorProgram
30.0b
(+.f64 1 (*.f64 x (+.f64 3 x)))
29.0b
(+.f64 (*.f64 (sqrt.f64 (fma.f64 x (/.f64 1 (+.f64 x 1)) (neg.f64 (*.f64 (/.f64 1 (-.f64 x 1)) (+.f64 x 1))))) (sqrt.f64 (fma.f64 x (/.f64 1 (+.f64 x 1)) (neg.f64 (*.f64 (/.f64 1 (-.f64 x 1)) (+.f64 x 1)))))) (fma.f64 (neg.f64 (/.f64 1 (-.f64 x 1))) (+.f64 x 1) (*.f64 (/.f64 1 (-.f64 x 1)) (+.f64 x 1))))
33.4b
(-.f64 (-.f64 (/.f64 -3 x) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 3 (pow.f64 x 3)))) (/.f64 1 (pow.f64 x 4)))
Compiler

Compiled 13640 to 10740 computations (21.3% saved)

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (sqrt.f64 (fma.f64 x (/.f64 1 (+.f64 x 1)) (neg.f64 (*.f64 (/.f64 1 (-.f64 x 1)) (+.f64 x 1))))) (sqrt.f64 (fma.f64 x (/.f64 1 (+.f64 x 1)) (neg.f64 (*.f64 (/.f64 1 (-.f64 x 1)) (+.f64 x 1))))))
0.1b
(*.f64 (/.f64 1 (-.f64 x 1)) (+.f64 x 1))
28.4b
(fma.f64 x (/.f64 1 (+.f64 x 1)) (neg.f64 (*.f64 (/.f64 1 (-.f64 x 1)) (+.f64 x 1))))
30.5b
(fma.f64 (neg.f64 (/.f64 1 (-.f64 x 1))) (+.f64 x 1) (*.f64 (/.f64 1 (-.f64 x 1)) (+.f64 x 1)))

series4.0ms (0%)

Counts
1 → 12
Calls

1 calls:

4.0ms
(*.f64 (sqrt.f64 (fma.f64 x (/.f64 1 (+.f64 x 1)) (neg.f64 (*.f64 (/.f64 1 (-.f64 x 1)) (+.f64 x 1))))) (sqrt.f64 (fma.f64 x (/.f64 1 (+.f64 x 1)) (neg.f64 (*.f64 (/.f64 1 (-.f64 x 1)) (+.f64 x 1))))))

rewrite13.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
25×add-sqr-sqrt_binary64
18×sqrt-prod_binary64
16×pow1_binary64
*-un-lft-identity_binary64
add-cube-cbrt_binary64
Counts
1 → 53
Calls

1 calls:

7.0ms
(*.f64 (sqrt.f64 (fma.f64 x (/.f64 1 (+.f64 x 1)) (neg.f64 (*.f64 (/.f64 1 (-.f64 x 1)) (+.f64 x 1))))) (sqrt.f64 (fma.f64 x (/.f64 1 (+.f64 x 1)) (neg.f64 (*.f64 (/.f64 1 (-.f64 x 1)) (+.f64 x 1))))))

simplify74.0ms (0.8%)

Algorithm
egg-herbie
Rules
702×fma-def_binary64
697×distribute-rgt-in_binary64
645×distribute-lft-in_binary64
221×associate-*l*_binary64
171×associate-*r*_binary64
Counts
65 → 77
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0812249
11791708
25151410
316031349
452731349

prune727.0ms (7.7%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New4561457
Fresh022
Picked101
Done000
Total4573460
Error
0b
Counts
460 → 3
Alt Table
StatusErrorProgram
30.0b
(+.f64 1 (*.f64 x (+.f64 3 x)))
33.4b
(-.f64 (-.f64 (/.f64 -3 x) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 3 (pow.f64 x 3)))) (/.f64 1 (pow.f64 x 4)))
29.0b
(+.f64 (*.f64 (*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x (/.f64 1 (+.f64 x 1)) (neg.f64 (*.f64 (/.f64 1 (-.f64 x 1)) (+.f64 x 1)))))) (cbrt.f64 (sqrt.f64 (fma.f64 x (/.f64 1 (+.f64 x 1)) (neg.f64 (*.f64 (/.f64 1 (-.f64 x 1)) (+.f64 x 1))))))) (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x (/.f64 1 (+.f64 x 1)) (neg.f64 (*.f64 (/.f64 1 (-.f64 x 1)) (+.f64 x 1)))))) (cbrt.f64 (sqrt.f64 (fma.f64 x (/.f64 1 (+.f64 x 1)) (neg.f64 (*.f64 (/.f64 1 (-.f64 x 1)) (+.f64 x 1)))))))) (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x (/.f64 1 (+.f64 x 1)) (neg.f64 (*.f64 (/.f64 1 (-.f64 x 1)) (+.f64 x 1)))))) (cbrt.f64 (sqrt.f64 (fma.f64 x (/.f64 1 (+.f64 x 1)) (neg.f64 (*.f64 (/.f64 1 (-.f64 x 1)) (+.f64 x 1)))))))) (fma.f64 (neg.f64 (/.f64 1 (-.f64 x 1))) (+.f64 x 1) (*.f64 (/.f64 1 (-.f64 x 1)) (+.f64 x 1))))
Compiler

Compiled 28655 to 22662 computations (20.9% saved)

localize17.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x (/.f64 1 (+.f64 x 1)) (neg.f64 (*.f64 (/.f64 1 (-.f64 x 1)) (+.f64 x 1)))))) (cbrt.f64 (sqrt.f64 (fma.f64 x (/.f64 1 (+.f64 x 1)) (neg.f64 (*.f64 (/.f64 1 (-.f64 x 1)) (+.f64 x 1)))))))
0.1b
(*.f64 (/.f64 1 (-.f64 x 1)) (+.f64 x 1))
28.4b
(fma.f64 x (/.f64 1 (+.f64 x 1)) (neg.f64 (*.f64 (/.f64 1 (-.f64 x 1)) (+.f64 x 1))))
30.5b
(fma.f64 (neg.f64 (/.f64 1 (-.f64 x 1))) (+.f64 x 1) (*.f64 (/.f64 1 (-.f64 x 1)) (+.f64 x 1)))

series6.0ms (0.1%)

Counts
1 → 12
Calls

1 calls:

6.0ms
(*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x (/.f64 1 (+.f64 x 1)) (neg.f64 (*.f64 (/.f64 1 (-.f64 x 1)) (+.f64 x 1)))))) (cbrt.f64 (sqrt.f64 (fma.f64 x (/.f64 1 (+.f64 x 1)) (neg.f64 (*.f64 (/.f64 1 (-.f64 x 1)) (+.f64 x 1)))))))

rewrite20.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
40×cbrt-prod_binary64
35×add-sqr-sqrt_binary64
20×sqrt-prod_binary64
13×*-un-lft-identity_binary64
13×add-cube-cbrt_binary64
Counts
1 → 58
Calls

1 calls:

7.0ms
(*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x (/.f64 1 (+.f64 x 1)) (neg.f64 (*.f64 (/.f64 1 (-.f64 x 1)) (+.f64 x 1)))))) (cbrt.f64 (sqrt.f64 (fma.f64 x (/.f64 1 (+.f64 x 1)) (neg.f64 (*.f64 (/.f64 1 (-.f64 x 1)) (+.f64 x 1)))))))

simplify133.0ms (1.4%)

Algorithm
egg-herbie
Rules
766×fma-def_binary64
516×associate-/l*_binary64
376×associate-/r*_binary64
254×associate-*l/_binary64
227×fma-neg_binary64
Counts
70 → 84
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01123997
12553544
26332287
317322087
441111785
545921785
648371785

prune3.9s (41.2%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New115601156
Fresh022
Picked011
Done000
Total115631159
Error
0b
Counts
1159 → 3
Alt Table
StatusErrorProgram
30.0b
(+.f64 1 (*.f64 x (+.f64 3 x)))
33.4b
(-.f64 (-.f64 (/.f64 -3 x) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 3 (pow.f64 x 3)))) (/.f64 1 (pow.f64 x 4)))
29.0b
(+.f64 (*.f64 (*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x (/.f64 1 (+.f64 x 1)) (neg.f64 (*.f64 (/.f64 1 (-.f64 x 1)) (+.f64 x 1)))))) (cbrt.f64 (sqrt.f64 (fma.f64 x (/.f64 1 (+.f64 x 1)) (neg.f64 (*.f64 (/.f64 1 (-.f64 x 1)) (+.f64 x 1))))))) (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x (/.f64 1 (+.f64 x 1)) (neg.f64 (*.f64 (/.f64 1 (-.f64 x 1)) (+.f64 x 1)))))) (cbrt.f64 (sqrt.f64 (fma.f64 x (/.f64 1 (+.f64 x 1)) (neg.f64 (*.f64 (/.f64 1 (-.f64 x 1)) (+.f64 x 1)))))))) (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x (/.f64 1 (+.f64 x 1)) (neg.f64 (*.f64 (/.f64 1 (-.f64 x 1)) (+.f64 x 1)))))) (cbrt.f64 (sqrt.f64 (fma.f64 x (/.f64 1 (+.f64 x 1)) (neg.f64 (*.f64 (/.f64 1 (-.f64 x 1)) (+.f64 x 1)))))))) (fma.f64 (neg.f64 (/.f64 1 (-.f64 x 1))) (+.f64 x 1) (*.f64 (/.f64 1 (-.f64 x 1)) (+.f64 x 1))))
Compiler

Compiled 167417 to 133786 computations (20.1% saved)

regimes186.0ms (2%)

Accuracy

Total 0.1b remaining (27%)

Threshold costs 0.1b (27%)

Counts
37 → 2
Compiler

Compiled 5744 to 4586 computations (20.2% saved)

bsearch4.0ms (0%)

Compiler

Compiled 14 to 10 computations (28.6% saved)

simplify6.0ms (0.1%)

Algorithm
egg-herbie
Rules
16×+-commutative_binary64
13×sub-neg_binary64
10×*-commutative_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
037111
160111
287111
3109111
4119111
5122111
6118111

end189.0ms (2%)

Compiler

Compiled 322 to 253 computations (21.4% saved)

Profiling

Loading profile data...