Details

Time bar (total: 2.6s)

analyze6.0ms (0.2%)

Algorithm
search
Search
TrueOtherFalseIter
0%50%50%0
0%50%50%1
0%50%50%2
0%50%50%3
37.5%12.5%50%4
43.7%6.2%50%5
46.9%3.1%50%6
48.4%1.6%50%7
49.2%0.8%50%8
49.6%0.4%50%9
49.8%0.2%50%10
49.9%0.1%50%11
49.9%0%50%12
50%0%50%13
50%0%50%14
Compiler

Compiled 29 to 19 computations (34.5% saved)

sample1.1s (40.1%)

Results
980.0ms8256×body128valid
Compiler

Compiled 84 to 55 computations (34.5% saved)

simplify57.0ms (2.2%)

Algorithm
egg-herbie
Rules
581×associate-/r*_binary64
510×distribute-rgt-in_binary64
489×distribute-lft-in_binary64
463×fma-neg_binary64
415×associate-/r/_binary64
Counts
1 → 2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01131
14026
218517
391513
4234013
5445513
6495813
7507713

prune5.0ms (0.2%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.3b
Counts
3 → 2
Alt Table
StatusErrorProgram
46.3b
(/.f64 (/.f64 (*.f64 (*.f64 i i) (*.f64 i i)) (*.f64 (*.f64 2 i) (*.f64 2 i))) (-.f64 (*.f64 (*.f64 2 i) (*.f64 2 i)) 1))
0.4b
(/.f64 1/4 (-.f64 4 (/.f64 1 (*.f64 i i))))
Compiler

Compiled 107 to 73 computations (31.8% saved)

localize9.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(-.f64 4 (/.f64 1 (*.f64 i i)))
0.4b
(/.f64 1/4 (-.f64 4 (/.f64 1 (*.f64 i i))))
0.5b
(/.f64 1 (*.f64 i i))

series7.0ms (0.3%)

Counts
3 → 36
Calls

3 calls:

3.0ms
(/.f64 1/4 (-.f64 4 (/.f64 1 (*.f64 i i))))
2.0ms
(/.f64 1 (*.f64 i i))
2.0ms
(-.f64 4 (/.f64 1 (*.f64 i i)))

rewrite20.0ms (0.8%)

Algorithm
rewrite-expression-head
Rules
59×add-sqr-sqrt_binary64
54×*-un-lft-identity_binary64
49×times-frac_binary64
34×add-cube-cbrt_binary64
21×prod-diff_binary64
Counts
3 → 134
Calls

3 calls:

5.0ms
(/.f64 1/4 (-.f64 4 (/.f64 1 (*.f64 i i))))
5.0ms
(-.f64 4 (/.f64 1 (*.f64 i i)))
3.0ms
(/.f64 1 (*.f64 i i))

simplify139.0ms (5.3%)

Algorithm
egg-herbie
Rules
817×fma-neg_binary64
446×unswap-sqr_binary64
408×associate-*l*_binary64
361×fma-def_binary64
294×associate-*r*_binary64
Counts
170 → 196
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
02032573
13822324
29772089
334182089
446412081
549492081
647802081

prune145.0ms (5.5%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New1933196
Fresh101
Picked011
Done000
Total1944198
Error
0b
Counts
198 → 4
Alt Table
StatusErrorProgram
30.7b
(-.f64 (*.f64 (*.f64 i i) -1/4) (pow.f64 i 4))
0.4b
(/.f64 1/4 (-.f64 4 (/.f64 1 (*.f64 i i))))
0.1b
(*.f64 (/.f64 1/2 (+.f64 2 (/.f64 1 i))) (/.f64 1/2 (-.f64 2 (/.f64 1 i))))
0.5b
(/.f64 1/4 (*.f64 (+.f64 2 (/.f64 1 i)) (-.f64 2 (/.f64 1 i))))
Compiler

Compiled 3718 to 2760 computations (25.8% saved)

localize7.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 2 (/.f64 1 i))
0.0b
(*.f64 (/.f64 1/2 (+.f64 2 (/.f64 1 i))) (/.f64 1/2 (-.f64 2 (/.f64 1 i))))
0.1b
(/.f64 1/2 (-.f64 2 (/.f64 1 i)))
0.1b
(/.f64 1/2 (+.f64 2 (/.f64 1 i)))

series9.0ms (0.3%)

Counts
4 → 39
Calls

4 calls:

3.0ms
(*.f64 (/.f64 1/2 (+.f64 2 (/.f64 1 i))) (/.f64 1/2 (-.f64 2 (/.f64 1 i))))
2.0ms
(/.f64 1/2 (+.f64 2 (/.f64 1 i)))
2.0ms
(/.f64 1/2 (-.f64 2 (/.f64 1 i)))
1.0ms
(+.f64 2 (/.f64 1 i))

rewrite59.0ms (2.2%)

Algorithm
rewrite-expression-head
Rules
110×add-sqr-sqrt_binary64
101×*-un-lft-identity_binary64
96×times-frac_binary64
49×add-cube-cbrt_binary64
30×associate-*r*_binary64
Counts
4 → 185
Calls

4 calls:

26.0ms
(*.f64 (/.f64 1/2 (+.f64 2 (/.f64 1 i))) (/.f64 1/2 (-.f64 2 (/.f64 1 i))))
9.0ms
(/.f64 1/2 (+.f64 2 (/.f64 1 i)))
6.0ms
(/.f64 1/2 (-.f64 2 (/.f64 1 i)))
4.0ms
(+.f64 2 (/.f64 1 i))

simplify130.0ms (4.9%)

Algorithm
egg-herbie
Rules
499×associate-/l*_binary64
456×fma-def_binary64
288×associate-/l/_binary64
277×fma-neg_binary64
200×associate-/r*_binary64
Counts
224 → 263
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02654371
17044054
220983932
346203930
450263930

prune216.0ms (8.2%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New2630263
Fresh022
Picked011
Done011
Total2634267
Error
0b
Counts
267 → 4
Alt Table
StatusErrorProgram
30.7b
(-.f64 (*.f64 (*.f64 i i) -1/4) (pow.f64 i 4))
0.4b
(/.f64 1/4 (-.f64 4 (/.f64 1 (*.f64 i i))))
0.1b
(*.f64 (/.f64 1/2 (+.f64 2 (/.f64 1 i))) (/.f64 1/2 (-.f64 2 (/.f64 1 i))))
0.5b
(/.f64 1/4 (*.f64 (+.f64 2 (/.f64 1 i)) (-.f64 2 (/.f64 1 i))))
Compiler

Compiled 6261 to 5409 computations (13.6% saved)

localize8.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 2 (/.f64 1 i))
0.2b
(*.f64 (+.f64 2 (/.f64 1 i)) (-.f64 2 (/.f64 1 i)))
0.4b
(/.f64 1/4 (*.f64 (+.f64 2 (/.f64 1 i)) (-.f64 2 (/.f64 1 i))))

series5.0ms (0.2%)

Counts
2 → 24
Calls

2 calls:

3.0ms
(/.f64 1/4 (*.f64 (+.f64 2 (/.f64 1 i)) (-.f64 2 (/.f64 1 i))))
2.0ms
(*.f64 (+.f64 2 (/.f64 1 i)) (-.f64 2 (/.f64 1 i)))

rewrite46.0ms (1.8%)

Algorithm
rewrite-expression-head
Rules
97×add-sqr-sqrt_binary64
95×*-un-lft-identity_binary64
88×add-cube-cbrt_binary64
78×prod-diff_binary64
77×times-frac_binary64
Counts
2 → 172
Calls

2 calls:

16.0ms
(*.f64 (+.f64 2 (/.f64 1 i)) (-.f64 2 (/.f64 1 i)))
10.0ms
(/.f64 1/4 (*.f64 (+.f64 2 (/.f64 1 i)) (-.f64 2 (/.f64 1 i))))

simplify149.0ms (5.6%)

Algorithm
egg-herbie
Rules
855×fma-neg_binary64
269×associate-*l/_binary64
226×associate-*r/_binary64
219×associate-*l*_binary64
202×associate-*r*_binary64
Counts
196 → 210
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02605735
16154968
220933794
341093794
448823794

prune209.0ms (7.9%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New2310231
Fresh011
Picked011
Done022
Total2314235
Error
0b
Counts
235 → 4
Alt Table
StatusErrorProgram
30.7b
(-.f64 (*.f64 (*.f64 i i) -1/4) (pow.f64 i 4))
0.4b
(/.f64 1/4 (-.f64 4 (/.f64 1 (*.f64 i i))))
0.1b
(*.f64 (/.f64 1/2 (+.f64 2 (/.f64 1 i))) (/.f64 1/2 (-.f64 2 (/.f64 1 i))))
0.5b
(/.f64 1/4 (*.f64 (+.f64 2 (/.f64 1 i)) (-.f64 2 (/.f64 1 i))))
Compiler

Compiled 7778 to 6239 computations (19.8% saved)

localize5.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (*.f64 (*.f64 i i) -1/4) (pow.f64 i 4))
0.0b
(*.f64 (*.f64 i i) -1/4)

series6.0ms (0.2%)

Counts
2 → 24
Calls

2 calls:

4.0ms
(-.f64 (*.f64 (*.f64 i i) -1/4) (pow.f64 i 4))
2.0ms
(*.f64 (*.f64 i i) -1/4)

rewrite12.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
add-sqr-sqrt_binary64
cancel-sign-sub-inv_binary64
prod-diff_binary64
*-un-lft-identity_binary64
add-cube-cbrt_binary64
Counts
2 → 49
Calls

2 calls:

5.0ms
(-.f64 (*.f64 (*.f64 i i) -1/4) (pow.f64 i 4))
4.0ms
(*.f64 (*.f64 i i) -1/4)

simplify96.0ms (3.6%)

Algorithm
egg-herbie
Rules
420×fma-def_binary64
392×fma-neg_binary64
386×neg-mul-1_binary64
367×cancel-sign-sub-inv_binary64
292×unswap-sqr_binary64
Counts
73 → 73
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01211129
1247924
2902774
32136774
44198774
54999774
64753774

prune46.0ms (1.7%)

Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New73073
Fresh000
Picked011
Done033
Total73477
Error
0b
Counts
77 → 4
Alt Table
StatusErrorProgram
30.7b
(-.f64 (*.f64 (*.f64 i i) -1/4) (pow.f64 i 4))
0.4b
(/.f64 1/4 (-.f64 4 (/.f64 1 (*.f64 i i))))
0.1b
(*.f64 (/.f64 1/2 (+.f64 2 (/.f64 1 i))) (/.f64 1/2 (-.f64 2 (/.f64 1 i))))
0.5b
(/.f64 1/4 (*.f64 (+.f64 2 (/.f64 1 i)) (-.f64 2 (/.f64 1 i))))
Compiler

Compiled 1280 to 839 computations (34.5% saved)

regimes103.0ms (3.9%)

Accuracy

Total 0.1b remaining (95.4%)

Threshold costs 0.1b (95.4%)

Counts
39 → 1
Compiler

Compiled 1342 to 1061 computations (20.9% saved)

simplify2.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
*-commutative_binary64
sub-neg_binary64
distribute-neg-frac_binary64
neg-sub0_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01122
11722
22322
32522
42622
52422

end88.0ms (3.3%)

Compiler

Compiled 82 to 69 computations (15.9% saved)

Profiling

Loading profile data...