Details

Time bar (total: 5.0s)

analyze2.0ms (0%)

Algorithm
search
Search
TrueOtherFalseIter
0%56.2%43.8%0
0%56.2%43.8%1
28.1%28.1%43.8%2
56.2%0%43.8%3
Compiler

Compiled 22 to 16 computations (27.3% saved)

sample1.8s (35.4%)

Results
787.0ms6220×body128valid
443.0ms1055×body1024valid
159.0ms578×body512valid
59.0ms304×body256valid
43.0ms99×body2048valid
Compiler

Compiled 59 to 43 computations (27.1% saved)

simplify206.0ms (4.1%)

Algorithm
egg-herbie
Rules
890×sub-neg_binary64
434×cancel-sign-sub-inv_binary64
422×associate-/l*_binary64
388×distribute-rgt-neg-in_binary64
379×neg-mul-1_binary64
Counts
1 → 2
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
01119
12319
23919
36419
410819
521517
635317
760317
8114117
9248417
10319517
11398117
12423517
13439917
14450317
15453117
16453317
17476817
18470817
19493017
20482617

prune3.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
15.1b
Counts
3 → 1
Alt Table
StatusErrorProgram
15.1b
(fma.f64 (/.f64 (-.f64 alpha beta) (+.f64 (+.f64 beta alpha) 2)) -1/2 1/2)
Compiler

Compiled 55 to 39 computations (29.1% saved)

localize7.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (-.f64 alpha beta) (+.f64 (+.f64 beta alpha) 2))
0.7b
(fma.f64 (/.f64 (-.f64 alpha beta) (+.f64 (+.f64 beta alpha) 2)) -1/2 1/2)

series40.0ms (0.8%)

Counts
2 → 48
Calls

2 calls:

26.0ms
(fma.f64 (/.f64 (-.f64 alpha beta) (+.f64 (+.f64 beta alpha) 2)) -1/2 1/2)
14.0ms
(/.f64 (-.f64 alpha beta) (+.f64 (+.f64 beta alpha) 2))

rewrite67.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
472×fma-def_binary64
257×fma-neg_binary64
236×expm1-udef_binary64
236×log1p-udef_binary64
132×add-sqr-sqrt_binary64
Counts
2 → 76
Calls

2 calls:

65.0ms
(/.f64 (-.f64 alpha beta) (+.f64 (+.f64 beta alpha) 2))
65.0ms
(fma.f64 (/.f64 (-.f64 alpha beta) (+.f64 (+.f64 beta alpha) 2)) -1/2 1/2)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01130
126130
2356330
3490830

simplify66.0ms (1.3%)

Algorithm
egg-herbie
Rules
935×times-frac_binary64
498×cancel-sign-sub-inv_binary64
367×sub-neg_binary64
205×+-commutative_binary64
189×associate-+r+_binary64
Counts
124 → 130
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02212358
17492323
229132279
352522279

prune146.0ms (2.9%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New1264130
Fresh000
Picked101
Done000
Total1274131
Error
0.0b
Counts
131 → 4
Alt Table
StatusErrorProgram
15.2b
(fma.f64 (log.f64 (exp.f64 (/.f64 (-.f64 alpha beta) (+.f64 (+.f64 alpha beta) 2)))) -1/2 1/2)
47.3b
(-.f64 (+.f64 (/.f64 1 alpha) (/.f64 beta alpha)) (+.f64 (/.f64 2 (*.f64 alpha alpha)) (fma.f64 3 (/.f64 beta (*.f64 alpha alpha)) (*.f64 (/.f64 beta alpha) (/.f64 beta alpha)))))
15.1b
(fma.f64 (pow.f64 (/.f64 (+.f64 (+.f64 alpha beta) 2) (-.f64 alpha beta)) -1) -1/2 1/2)
49.6b
(-.f64 (+.f64 (pow.f64 (/.f64 beta alpha) 3) (+.f64 (/.f64 1 alpha) (+.f64 (/.f64 4 (pow.f64 alpha 3)) (+.f64 (/.f64 beta alpha) (fma.f64 8 (/.f64 beta (pow.f64 alpha 3)) (*.f64 5 (/.f64 (*.f64 beta beta) (pow.f64 alpha 3)))))))) (+.f64 (/.f64 2 (*.f64 alpha alpha)) (fma.f64 7 (/.f64 (pow.f64 beta 3) (pow.f64 alpha 4)) (+.f64 (/.f64 8 (pow.f64 alpha 4)) (+.f64 (/.f64 (pow.f64 beta 4) (pow.f64 alpha 4)) (fma.f64 18 (/.f64 (*.f64 beta beta) (pow.f64 alpha 4)) (fma.f64 20 (/.f64 beta (pow.f64 alpha 4)) (fma.f64 3 (/.f64 beta (*.f64 alpha alpha)) (*.f64 (/.f64 beta alpha) (/.f64 beta alpha))))))))))
Compiler

Compiled 4133 to 2638 computations (36.2% saved)

localize9.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (+.f64 (+.f64 alpha beta) 2) (-.f64 alpha beta))
0.1b
(pow.f64 (/.f64 (+.f64 (+.f64 alpha beta) 2) (-.f64 alpha beta)) -1)
0.7b
(fma.f64 (pow.f64 (/.f64 (+.f64 (+.f64 alpha beta) 2) (-.f64 alpha beta)) -1) -1/2 1/2)

series94.0ms (1.9%)

Counts
3 → 72
Calls

3 calls:

48.0ms
(fma.f64 (pow.f64 (/.f64 (+.f64 (+.f64 alpha beta) 2) (-.f64 alpha beta)) -1) -1/2 1/2)
32.0ms
(pow.f64 (/.f64 (+.f64 (+.f64 alpha beta) 2) (-.f64 alpha beta)) -1)
12.0ms
(/.f64 (+.f64 (+.f64 alpha beta) 2) (-.f64 alpha beta))

rewrite71.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
647×prod-diff_binary64
144×add-sqr-sqrt_binary64
140×log1p-expm1-u_binary64
140×expm1-log1p-u_binary64
136×add-log-exp_binary64
Counts
3 → 108
Calls

3 calls:

69.0ms
(/.f64 (+.f64 (+.f64 alpha beta) 2) (-.f64 alpha beta))
69.0ms
(pow.f64 (/.f64 (+.f64 (+.f64 alpha beta) 2) (-.f64 alpha beta)) -1)
69.0ms
(fma.f64 (pow.f64 (/.f64 (+.f64 (+.f64 alpha beta) 2) (-.f64 alpha beta)) -1) -1/2 1/2)
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01349
129543
2367343
3489243

simplify138.0ms (2.8%)

Algorithm
egg-herbie
Rules
514×fma-def_binary64
430×associate-+l+_binary64
329×times-frac_binary64
287×associate-/r*_binary64
193×associate-/l*_binary64
Counts
180 → 191
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
04224212
114834134
252804134

prune193.0ms (3.9%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New1910191
Fresh033
Picked011
Done000
Total1914195
Error
0.0b
Counts
195 → 4
Alt Table
StatusErrorProgram
15.2b
(fma.f64 (log.f64 (exp.f64 (/.f64 (-.f64 alpha beta) (+.f64 (+.f64 alpha beta) 2)))) -1/2 1/2)
47.3b
(-.f64 (+.f64 (/.f64 1 alpha) (/.f64 beta alpha)) (+.f64 (/.f64 2 (*.f64 alpha alpha)) (fma.f64 3 (/.f64 beta (*.f64 alpha alpha)) (*.f64 (/.f64 beta alpha) (/.f64 beta alpha)))))
15.1b
(fma.f64 (pow.f64 (/.f64 (+.f64 (+.f64 alpha beta) 2) (-.f64 alpha beta)) -1) -1/2 1/2)
49.6b
(-.f64 (+.f64 (pow.f64 (/.f64 beta alpha) 3) (+.f64 (/.f64 1 alpha) (+.f64 (/.f64 4 (pow.f64 alpha 3)) (+.f64 (/.f64 beta alpha) (fma.f64 8 (/.f64 beta (pow.f64 alpha 3)) (*.f64 5 (/.f64 (*.f64 beta beta) (pow.f64 alpha 3)))))))) (+.f64 (/.f64 2 (*.f64 alpha alpha)) (fma.f64 7 (/.f64 (pow.f64 beta 3) (pow.f64 alpha 4)) (+.f64 (/.f64 8 (pow.f64 alpha 4)) (+.f64 (/.f64 (pow.f64 beta 4) (pow.f64 alpha 4)) (fma.f64 18 (/.f64 (*.f64 beta beta) (pow.f64 alpha 4)) (fma.f64 20 (/.f64 beta (pow.f64 alpha 4)) (fma.f64 3 (/.f64 beta (*.f64 alpha alpha)) (*.f64 (/.f64 beta alpha) (/.f64 beta alpha))))))))))
Compiler

Compiled 7172 to 4779 computations (33.4% saved)

localize11.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(exp.f64 (/.f64 (-.f64 alpha beta) (+.f64 (+.f64 alpha beta) 2)))
0.0b
(/.f64 (-.f64 alpha beta) (+.f64 (+.f64 alpha beta) 2))
0.7b
(fma.f64 (log.f64 (exp.f64 (/.f64 (-.f64 alpha beta) (+.f64 (+.f64 alpha beta) 2)))) -1/2 1/2)
6.4b
(log.f64 (exp.f64 (/.f64 (-.f64 alpha beta) (+.f64 (+.f64 alpha beta) 2))))

series81.0ms (1.6%)

Counts
4 → 96
Calls

4 calls:

27.0ms
(fma.f64 (log.f64 (exp.f64 (/.f64 (-.f64 alpha beta) (+.f64 (+.f64 alpha beta) 2)))) -1/2 1/2)
25.0ms
(exp.f64 (/.f64 (-.f64 alpha beta) (+.f64 (+.f64 alpha beta) 2)))
14.0ms
(/.f64 (-.f64 alpha beta) (+.f64 (+.f64 alpha beta) 2))
14.0ms
(log.f64 (exp.f64 (/.f64 (-.f64 alpha beta) (+.f64 (+.f64 alpha beta) 2))))

rewrite223.0ms (4.5%)

Algorithm
batch-egg-rewrite
Rules
863×prod-diff_binary64
537×egg-rr
137×add-sqr-sqrt_binary64
134×log1p-expm1-u_binary64
134×expm1-log1p-u_binary64
Counts
4 → 537
Calls

4 calls:

196.0ms
(exp.f64 (/.f64 (-.f64 alpha beta) (+.f64 (+.f64 alpha beta) 2)))
196.0ms
(/.f64 (-.f64 alpha beta) (+.f64 (+.f64 alpha beta) 2))
196.0ms
(fma.f64 (log.f64 (exp.f64 (/.f64 (-.f64 alpha beta) (+.f64 (+.f64 alpha beta) 2)))) -1/2 1/2)
196.0ms
(log.f64 (exp.f64 (/.f64 (-.f64 alpha beta) (+.f64 (+.f64 alpha beta) 2))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01358
127458
2363958
3534958

simplify103.0ms (2.1%)

Algorithm
egg-herbie
Rules
309×times-frac_binary64
306×fma-def_binary64
294×associate-+r+_binary64
252×associate-+l+_binary64
250×associate-/r*_binary64
Counts
633 → 387
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03915127
112915061
252605061

prune465.0ms (9.3%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New3870387
Fresh022
Picked011
Done011
Total3874391
Error
0.0b
Counts
391 → 4
Alt Table
StatusErrorProgram
15.2b
(fma.f64 (log.f64 (exp.f64 (/.f64 (-.f64 alpha beta) (+.f64 (+.f64 alpha beta) 2)))) -1/2 1/2)
47.3b
(-.f64 (+.f64 (/.f64 1 alpha) (/.f64 beta alpha)) (+.f64 (/.f64 2 (*.f64 alpha alpha)) (fma.f64 3 (/.f64 beta (*.f64 alpha alpha)) (*.f64 (/.f64 beta alpha) (/.f64 beta alpha)))))
15.1b
(fma.f64 (pow.f64 (/.f64 (+.f64 (+.f64 alpha beta) 2) (-.f64 alpha beta)) -1) -1/2 1/2)
49.6b
(-.f64 (+.f64 (pow.f64 (/.f64 beta alpha) 3) (+.f64 (/.f64 1 alpha) (+.f64 (/.f64 4 (pow.f64 alpha 3)) (+.f64 (/.f64 beta alpha) (fma.f64 8 (/.f64 beta (pow.f64 alpha 3)) (*.f64 5 (/.f64 (*.f64 beta beta) (pow.f64 alpha 3)))))))) (+.f64 (/.f64 2 (*.f64 alpha alpha)) (fma.f64 7 (/.f64 (pow.f64 beta 3) (pow.f64 alpha 4)) (+.f64 (/.f64 8 (pow.f64 alpha 4)) (+.f64 (/.f64 (pow.f64 beta 4) (pow.f64 alpha 4)) (fma.f64 18 (/.f64 (*.f64 beta beta) (pow.f64 alpha 4)) (fma.f64 20 (/.f64 beta (pow.f64 alpha 4)) (fma.f64 3 (/.f64 beta (*.f64 alpha alpha)) (*.f64 (/.f64 beta alpha) (/.f64 beta alpha))))))))))
Compiler

Compiled 21001 to 12740 computations (39.3% saved)

localize13.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
2.9b
(fma.f64 3 (/.f64 beta (*.f64 alpha alpha)) (*.f64 (/.f64 beta alpha) (/.f64 beta alpha)))
3.0b
(-.f64 (+.f64 (/.f64 1 alpha) (/.f64 beta alpha)) (+.f64 (/.f64 2 (*.f64 alpha alpha)) (fma.f64 3 (/.f64 beta (*.f64 alpha alpha)) (*.f64 (/.f64 beta alpha) (/.f64 beta alpha)))))
4.2b
(+.f64 (/.f64 2 (*.f64 alpha alpha)) (fma.f64 3 (/.f64 beta (*.f64 alpha alpha)) (*.f64 (/.f64 beta alpha) (/.f64 beta alpha))))
8.0b
(/.f64 beta (*.f64 alpha alpha))

series117.0ms (2.3%)

Counts
4 → 96
Calls

4 calls:

34.0ms
(fma.f64 3 (/.f64 beta (*.f64 alpha alpha)) (*.f64 (/.f64 beta alpha) (/.f64 beta alpha)))
31.0ms
(-.f64 (+.f64 (/.f64 1 alpha) (/.f64 beta alpha)) (+.f64 (/.f64 2 (*.f64 alpha alpha)) (fma.f64 3 (/.f64 beta (*.f64 alpha alpha)) (*.f64 (/.f64 beta alpha) (/.f64 beta alpha)))))
27.0ms
(+.f64 (/.f64 2 (*.f64 alpha alpha)) (fma.f64 3 (/.f64 beta (*.f64 alpha alpha)) (*.f64 (/.f64 beta alpha) (/.f64 beta alpha))))
25.0ms
(/.f64 beta (*.f64 alpha alpha))

rewrite97.0ms (1.9%)

Algorithm
batch-egg-rewrite
Rules
320×log1p-udef_binary64
182×add-sqr-sqrt_binary64
180×log1p-expm1-u_binary64
180×expm1-log1p-u_binary64
173×add-log-exp_binary64
Counts
4 → 144
Calls

4 calls:

92.0ms
(fma.f64 3 (/.f64 beta (*.f64 alpha alpha)) (*.f64 (/.f64 beta alpha) (/.f64 beta alpha)))
92.0ms
(-.f64 (+.f64 (/.f64 1 alpha) (/.f64 beta alpha)) (+.f64 (/.f64 2 (*.f64 alpha alpha)) (fma.f64 3 (/.f64 beta (*.f64 alpha alpha)) (*.f64 (/.f64 beta alpha) (/.f64 beta alpha)))))
92.0ms
(+.f64 (/.f64 2 (*.f64 alpha alpha)) (fma.f64 3 (/.f64 beta (*.f64 alpha alpha)) (*.f64 (/.f64 beta alpha) (/.f64 beta alpha))))
92.0ms
(/.f64 beta (*.f64 alpha alpha))
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01688
137883
2470683
3512483

simplify70.0ms (1.4%)

Algorithm
egg-herbie
Rules
685×associate-/l/_binary64
318×sub-neg_binary64
297×fma-def_binary64
276×distribute-neg-frac_binary64
203×distribute-rgt-neg-in_binary64
Counts
240 → 173
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0351850
1941820
22441623
37031484
425291387
549711387

prune154.0ms (3.1%)

Pruning

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New1721173
Fresh011
Picked011
Done022
Total1725177
Error
0.0b
Counts
177 → 5
Alt Table
StatusErrorProgram
47.5b
(fma.f64 (sqrt.f64 (+.f64 (/.f64 beta alpha) (/.f64 1 alpha))) (sqrt.f64 (+.f64 (/.f64 beta alpha) (/.f64 1 alpha))) (neg.f64 (fma.f64 2 (pow.f64 alpha -2) (fma.f64 3 (/.f64 beta (*.f64 alpha alpha)) (pow.f64 (/.f64 beta alpha) 2)))))
15.2b
(fma.f64 (log.f64 (exp.f64 (/.f64 (-.f64 alpha beta) (+.f64 (+.f64 alpha beta) 2)))) -1/2 1/2)
47.3b
(-.f64 (+.f64 (/.f64 1 alpha) (/.f64 beta alpha)) (+.f64 (/.f64 2 (*.f64 alpha alpha)) (fma.f64 3 (/.f64 beta (*.f64 alpha alpha)) (*.f64 (/.f64 beta alpha) (/.f64 beta alpha)))))
15.1b
(fma.f64 (pow.f64 (/.f64 (+.f64 (+.f64 alpha beta) 2) (-.f64 alpha beta)) -1) -1/2 1/2)
49.6b
(-.f64 (+.f64 (pow.f64 (/.f64 beta alpha) 3) (+.f64 (/.f64 1 alpha) (+.f64 (/.f64 4 (pow.f64 alpha 3)) (+.f64 (/.f64 beta alpha) (fma.f64 8 (/.f64 beta (pow.f64 alpha 3)) (*.f64 5 (/.f64 (*.f64 beta beta) (pow.f64 alpha 3)))))))) (+.f64 (/.f64 2 (*.f64 alpha alpha)) (fma.f64 7 (/.f64 (pow.f64 beta 3) (pow.f64 alpha 4)) (+.f64 (/.f64 8 (pow.f64 alpha 4)) (+.f64 (/.f64 (pow.f64 beta 4) (pow.f64 alpha 4)) (fma.f64 18 (/.f64 (*.f64 beta beta) (pow.f64 alpha 4)) (fma.f64 20 (/.f64 beta (pow.f64 alpha 4)) (fma.f64 3 (/.f64 beta (*.f64 alpha alpha)) (*.f64 (/.f64 beta alpha) (/.f64 beta alpha))))))))))
Compiler

Compiled 7047 to 3427 computations (51.4% saved)

regimes703.0ms (14.1%)

Accuracy

Total 0.2b remaining (84%)

Threshold costs 0.2b (84%)

Counts
96 → 2
Compiler

Compiled 11594 to 7950 computations (31.4% saved)

bsearch5.0ms (0.1%)

Compiler

Compiled 11 to 7 computations (36.4% saved)

simplify5.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
03279
14679
26079
37979
49979
510879
611279
711379
811079

end136.0ms (2.7%)

Compiler

Compiled 307 to 193 computations (37.1% saved)

Profiling

Loading profile data...