Details

Time bar (total: 7.1s)

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 (25.1%)

Results
732.0ms6145×body128valid
442.0ms1096×body1024valid
228.0ms615×body512valid
67.0ms308×body256valid
40.0ms92×body2048valid
Compiler

Compiled 59 to 43 computations (27.1% saved)

simplify207.0ms (2.9%)

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

prune4.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
12.6b
Counts
3 → 1
Alt Table
StatusErrorProgram
12.6b
(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))
1.4b
(fma.f64 (/.f64 (-.f64 alpha beta) (+.f64 (+.f64 beta alpha) 2)) -1/2 1/2)

series58.0ms (0.8%)

Counts
2 → 48
Calls

2 calls:

40.0ms
(fma.f64 (/.f64 (-.f64 alpha beta) (+.f64 (+.f64 beta alpha) 2)) -1/2 1/2)
18.0ms
(/.f64 (-.f64 alpha beta) (+.f64 (+.f64 beta alpha) 2))

rewrite67.0ms (0.9%)

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 → 74
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
000
100

simplify63.0ms (0.9%)

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
122 → 128
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02212358
17492323
229132279
352522279

prune119.0ms (1.7%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New1244128
Fresh000
Picked101
Done000
Total1254129
Error
0.0b
Counts
129 → 4
Alt Table
StatusErrorProgram
50.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)))))
12.6b
(pow.f64 (pow.f64 (fma.f64 (/.f64 (-.f64 alpha beta) (+.f64 (+.f64 alpha beta) 2)) -1/2 1/2) 3) 1/3)
12.6b
(fma.f64 (log1p.f64 (expm1.f64 (/.f64 (-.f64 alpha beta) (+.f64 (+.f64 alpha beta) 2)))) -1/2 1/2)
51.4b
(-.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 3 (/.f64 beta (*.f64 alpha alpha)) (*.f64 (/.f64 beta alpha) (/.f64 beta alpha)))))
Compiler

Compiled 4035 to 2574 computations (36.2% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series745.0ms (10.4%)

Counts
4 → 96
Calls

4 calls:

609.0ms
(pow.f64 (pow.f64 (fma.f64 (/.f64 (-.f64 alpha beta) (+.f64 (+.f64 alpha beta) 2)) -1/2 1/2) 3) 1/3)
87.0ms
(pow.f64 (fma.f64 (/.f64 (-.f64 alpha beta) (+.f64 (+.f64 alpha beta) 2)) -1/2 1/2) 3)
31.0ms
(fma.f64 (/.f64 (-.f64 alpha beta) (+.f64 (+.f64 alpha beta) 2)) -1/2 1/2)
17.0ms
(/.f64 (-.f64 alpha beta) (+.f64 (+.f64 alpha beta) 2))

rewrite146.0ms (2%)

Algorithm
batch-egg-rewrite
Rules
863×prod-diff_binary64
308×egg-rr
156×log1p-expm1-u_binary64
156×expm1-log1p-u_binary64
154×add-sqr-sqrt_binary64
Counts
4 → 308
Calls

4 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01567
133067
2404067
3565367
000
100

simplify240.0ms (3.4%)

Algorithm
egg-herbie
Rules
433×+-commutative_binary64
401×*-commutative_binary64
371×fma-def_binary64
369×associate-+r+_binary64
280×associate-*r/_binary64
Counts
404 → 393
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0130117287
1500617287

prune748.0ms (10.5%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New3930393
Fresh033
Picked011
Done000
Total3934397
Error
0.0b
Counts
397 → 4
Alt Table
StatusErrorProgram
50.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)))))
12.6b
(pow.f64 (pow.f64 (fma.f64 (/.f64 (-.f64 alpha beta) (+.f64 (+.f64 alpha beta) 2)) -1/2 1/2) 3) 1/3)
12.6b
(fma.f64 (log1p.f64 (expm1.f64 (/.f64 (-.f64 alpha beta) (+.f64 (+.f64 alpha beta) 2)))) -1/2 1/2)
51.4b
(-.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 3 (/.f64 beta (*.f64 alpha alpha)) (*.f64 (/.f64 beta alpha) (/.f64 beta alpha)))))
Compiler

Compiled 38994 to 27509 computations (29.5% saved)

localize11.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(log1p.f64 (expm1.f64 (/.f64 (-.f64 alpha beta) (+.f64 (+.f64 alpha beta) 2))))
0.0b
(/.f64 (-.f64 alpha beta) (+.f64 (+.f64 alpha beta) 2))
0.2b
(expm1.f64 (/.f64 (-.f64 alpha beta) (+.f64 (+.f64 alpha beta) 2)))
1.4b
(fma.f64 (log1p.f64 (expm1.f64 (/.f64 (-.f64 alpha beta) (+.f64 (+.f64 alpha beta) 2)))) -1/2 1/2)

series94.0ms (1.3%)

Counts
3 → 72
Calls

3 calls:

43.0ms
(expm1.f64 (/.f64 (-.f64 alpha beta) (+.f64 (+.f64 alpha beta) 2)))
32.0ms
(fma.f64 (log1p.f64 (expm1.f64 (/.f64 (-.f64 alpha beta) (+.f64 (+.f64 alpha beta) 2)))) -1/2 1/2)
18.0ms
(log1p.f64 (expm1.f64 (/.f64 (-.f64 alpha beta) (+.f64 (+.f64 alpha beta) 2))))

rewrite139.0ms (2%)

Algorithm
batch-egg-rewrite
Rules
898×prod-diff_binary64
294×egg-rr
137×add-sqr-sqrt_binary64
136×expm1-log1p-u_binary64
135×log1p-expm1-u_binary64
Counts
3 → 294
Calls

3 calls:

126.0ms
(log1p.f64 (expm1.f64 (/.f64 (-.f64 alpha beta) (+.f64 (+.f64 alpha beta) 2))))
126.0ms
(expm1.f64 (/.f64 (-.f64 alpha beta) (+.f64 (+.f64 alpha beta) 2)))
126.0ms
(fma.f64 (log1p.f64 (expm1.f64 (/.f64 (-.f64 alpha beta) (+.f64 (+.f64 alpha beta) 2)))) -1/2 1/2)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01345
127745
2365845
3541945
000
100

simplify86.0ms (1.2%)

Algorithm
egg-herbie
Rules
323×associate-+r+_binary64
309×times-frac_binary64
308×fma-def_binary64
274×associate-+l+_binary64
250×associate-/r*_binary64
Counts
366 → 380
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03954150
113254067
253824067

prune1.0s (14.4%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New6390639
Fresh022
Picked011
Done011
Total6394643
Error
0.0b
Counts
643 → 4
Alt Table
StatusErrorProgram
50.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)))))
12.6b
(pow.f64 (pow.f64 (fma.f64 (/.f64 (-.f64 alpha beta) (+.f64 (+.f64 alpha beta) 2)) -1/2 1/2) 3) 1/3)
12.6b
(fma.f64 (log1p.f64 (expm1.f64 (/.f64 (-.f64 alpha beta) (+.f64 (+.f64 alpha beta) 2)))) -1/2 1/2)
51.4b
(-.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 3 (/.f64 beta (*.f64 alpha alpha)) (*.f64 (/.f64 beta alpha) (/.f64 beta alpha)))))
Compiler

Compiled 37481 to 22585 computations (39.7% saved)

localize14.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.9b
(fma.f64 3 (/.f64 beta (*.f64 alpha alpha)) (*.f64 (/.f64 beta alpha) (/.f64 beta alpha)))
2.5b
(-.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)))))
3.6b
(+.f64 (/.f64 2 (*.f64 alpha alpha)) (fma.f64 3 (/.f64 beta (*.f64 alpha alpha)) (*.f64 (/.f64 beta alpha) (/.f64 beta alpha))))
7.7b
(/.f64 beta (*.f64 alpha alpha))

series135.0ms (1.9%)

Counts
4 → 96
Calls

4 calls:

40.0ms
(fma.f64 3 (/.f64 beta (*.f64 alpha alpha)) (*.f64 (/.f64 beta alpha) (/.f64 beta alpha)))
34.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)))))
32.0ms
(+.f64 (/.f64 2 (*.f64 alpha alpha)) (fma.f64 3 (/.f64 beta (*.f64 alpha alpha)) (*.f64 (/.f64 beta alpha) (/.f64 beta alpha))))
28.0ms
(/.f64 beta (*.f64 alpha alpha))

rewrite240.0ms (3.4%)

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 → 141
Calls

4 calls:

235.0ms
(fma.f64 3 (/.f64 beta (*.f64 alpha alpha)) (*.f64 (/.f64 beta alpha) (/.f64 beta alpha)))
235.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)))))
235.0ms
(+.f64 (/.f64 2 (*.f64 alpha alpha)) (fma.f64 3 (/.f64 beta (*.f64 alpha alpha)) (*.f64 (/.f64 beta alpha) (/.f64 beta alpha))))
235.0ms
(/.f64 beta (*.f64 alpha alpha))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01688
137883
2470683
3512483
000
100

simplify70.0ms (1%)

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
237 → 171
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0351850
1941820
22441623
37031484
425291387
549711387

prune328.0ms (4.6%)

Pruning

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New1701171
Fresh011
Picked011
Done022
Total1705175
Error
0b
Counts
175 → 5
Alt Table
StatusErrorProgram
51.4b
(-.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 3 (/.f64 beta (*.f64 alpha alpha)) (*.f64 (/.f64 beta alpha) (/.f64 beta alpha)))))
50.1b
(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)))))
50.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)))))
12.6b
(pow.f64 (pow.f64 (fma.f64 (/.f64 (-.f64 alpha beta) (+.f64 (+.f64 alpha beta) 2)) -1/2 1/2) 3) 1/3)
12.6b
(fma.f64 (log1p.f64 (expm1.f64 (/.f64 (-.f64 alpha beta) (+.f64 (+.f64 alpha beta) 2)))) -1/2 1/2)
Compiler

Compiled 6960 to 3382 computations (51.4% saved)

regimes620.0ms (8.7%)

Accuracy

Total 0.0b remaining (51.7%)

Threshold costs 0.0b (51.7%)

Counts
91 → 2
Compiler

Compiled 10145 to 7076 computations (30.3% saved)

bsearch3.0ms (0%)

Compiler

Compiled 11 to 7 computations (36.4% saved)

simplify9.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
03178
14278
25278
35878
46178
56078

end150.0ms (2.1%)

Compiler

Compiled 270 to 167 computations (38.1% saved)

Profiling

Loading profile data...