Details

Time bar (total: 6.6s)

analyze159.0ms (2.4%)

Algorithm
search
Search
TrueOtherFalseIter
0%28.1%71.9%0
0%28.1%71.9%1
0%28.1%71.9%2
0%28.1%71.9%3
3.5%24.6%71.9%4
5.3%22.8%71.9%5
10.5%17.5%71.9%6
14%14%71.9%7
19.1%9%71.9%8
24.6%3.5%71.9%9
25.1%3%71.9%10
25.8%2.3%71.9%11
26.3%1.8%71.9%12
26.6%1.5%71.9%13
26.9%1.2%71.9%14
Compiler

Compiled 43 to 28 computations (34.9% saved)

sample1.8s (27.9%)

Results
1.1s6606×body128valid
392.0ms708×body1024valid
236.0ms556×body512valid
91.0ms338×body256valid
31.0ms48×body2048valid
Compiler

Compiled 86 to 56 computations (34.9% saved)

preprocess31.0ms (0.5%)

Algorithm
egg-herbie
Rules
708×associate-+l+_binary64
672×associate-+r+_binary64
656×fma-def_binary64
272×distribute-lft-in_binary64
272×distribute-rgt-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
045172
1112156
2380148
31818148
033
Stop Event
saturated
node limit
Compiler

Compiled 32 to 20 computations (37.5% saved)

simplify26.0ms (0.4%)

Algorithm
egg-herbie
Rules
817×distribute-rgt-in_binary64
748×distribute-lft-in_binary64
245×+-commutative_binary64
193×associate-+l+_binary64
184×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01643
13439
211237
352037
4273537
5451437
Stop Event
node limit
Counts
1 → 2

prune4.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 116 to 69 computations (40.5% saved)

localize16.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

series223.0ms (3.4%)

Counts
3 → 108
Calls

27 calls:

24.0ms
(fma.f64 (/.f64 (+.f64 alpha beta) (fma.f64 2 i (+.f64 (+.f64 alpha beta) 2))) (/.f64 (-.f64 beta alpha) (+.f64 alpha (fma.f64 2 i beta))) 1)
alpha
-inf
23.0ms
(fma.f64 (/.f64 (+.f64 alpha beta) (fma.f64 2 i (+.f64 (+.f64 alpha beta) 2))) (/.f64 (-.f64 beta alpha) (+.f64 alpha (fma.f64 2 i beta))) 1)
alpha
inf
20.0ms
(fma.f64 (/.f64 (+.f64 alpha beta) (fma.f64 2 i (+.f64 (+.f64 alpha beta) 2))) (/.f64 (-.f64 beta alpha) (+.f64 alpha (fma.f64 2 i beta))) 1)
i
0
14.0ms
(fma.f64 (/.f64 (+.f64 alpha beta) (fma.f64 2 i (+.f64 (+.f64 alpha beta) 2))) (/.f64 (-.f64 beta alpha) (+.f64 alpha (fma.f64 2 i beta))) 1)
alpha
0
13.0ms
(/.f64 (+.f64 alpha beta) (fma.f64 2 i (+.f64 (+.f64 alpha beta) 2)))
i
-inf

rewrite59.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
180×add-sqr-sqrt_binary64
172×log1p-expm1-u_binary64
172×expm1-log1p-u_binary64
171×add-cbrt-cube_binary64
167×add-log-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01565
134965
Stop Event
node limit
Counts
3 → 89

simplify179.0ms (2.7%)

Algorithm
egg-herbie
Rules
778×associate-/l*_binary64
365×+-commutative_binary64
282×associate-+r+_binary64
265×fma-def_binary64
218×*-commutative_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
088310939
1335110904
Stop Event
node limit
Counts
197 → 219

prune315.0ms (4.8%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New2163219
Fresh000
Picked011
Done000
Total2164220
Error
0.2b
Counts
220 → 4
Alt Table
StatusErrorProgram
29.1b
(/.f64 (fma.f64 (*.f64 (sqrt.f64 (+.f64 alpha beta)) (*.f64 (sqrt.f64 (+.f64 alpha beta)) (/.f64 1 (fma.f64 2 i (+.f64 alpha (+.f64 beta 2)))))) (/.f64 (-.f64 beta alpha) (+.f64 alpha (fma.f64 2 i beta))) 1) 2)
48.3b
(/.f64 (-.f64 (-.f64 (+.f64 (/.f64 2 alpha) (fma.f64 2 (/.f64 beta alpha) (/.f64 i (/.f64 alpha 4)))) (/.f64 4 (*.f64 alpha alpha))) (fma.f64 12 (/.f64 i (/.f64 (*.f64 alpha alpha) i)) (fma.f64 12 (*.f64 (/.f64 beta (*.f64 alpha alpha)) i) (fma.f64 6 (/.f64 beta (*.f64 alpha alpha)) (fma.f64 12 (/.f64 i (*.f64 alpha alpha)) (*.f64 2 (/.f64 (*.f64 beta beta) (*.f64 alpha alpha)))))))) 2)
15.9b
(/.f64 (fma.f64 (/.f64 (+.f64 alpha beta) (fma.f64 2 i (+.f64 (+.f64 alpha beta) 2))) (/.f64 (-.f64 beta alpha) (+.f64 alpha (fma.f64 2 i beta))) 1) 2)
46.1b
(/.f64 (/.f64 (fma.f64 2 beta (+.f64 2 (*.f64 i 4))) alpha) 2)
Compiler

Compiled 15376 to 9592 computations (37.6% saved)

localize21.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (-.f64 beta alpha) (+.f64 alpha (fma.f64 2 i beta)))
0.2b
(*.f64 (sqrt.f64 (+.f64 alpha beta)) (*.f64 (sqrt.f64 (+.f64 alpha beta)) (/.f64 1 (fma.f64 2 i (+.f64 alpha (+.f64 beta 2))))))
0.2b
(*.f64 (sqrt.f64 (+.f64 alpha beta)) (/.f64 1 (fma.f64 2 i (+.f64 alpha (+.f64 beta 2)))))
10.3b
(fma.f64 (*.f64 (sqrt.f64 (+.f64 alpha beta)) (*.f64 (sqrt.f64 (+.f64 alpha beta)) (/.f64 1 (fma.f64 2 i (+.f64 alpha (+.f64 beta 2)))))) (/.f64 (-.f64 beta alpha) (+.f64 alpha (fma.f64 2 i beta))) 1)

series381.0ms (5.8%)

Counts
3 → 92
Calls

27 calls:

49.0ms
(fma.f64 (*.f64 (sqrt.f64 (+.f64 alpha beta)) (*.f64 (sqrt.f64 (+.f64 alpha beta)) (/.f64 1 (fma.f64 2 i (+.f64 alpha (+.f64 beta 2)))))) (/.f64 (-.f64 beta alpha) (+.f64 alpha (fma.f64 2 i beta))) 1)
i
0
30.0ms
(fma.f64 (*.f64 (sqrt.f64 (+.f64 alpha beta)) (*.f64 (sqrt.f64 (+.f64 alpha beta)) (/.f64 1 (fma.f64 2 i (+.f64 alpha (+.f64 beta 2)))))) (/.f64 (-.f64 beta alpha) (+.f64 alpha (fma.f64 2 i beta))) 1)
alpha
-inf
27.0ms
(*.f64 (sqrt.f64 (+.f64 alpha beta)) (/.f64 1 (fma.f64 2 i (+.f64 alpha (+.f64 beta 2)))))
alpha
inf
27.0ms
(*.f64 (sqrt.f64 (+.f64 alpha beta)) (/.f64 1 (fma.f64 2 i (+.f64 alpha (+.f64 beta 2)))))
beta
-inf
26.0ms
(*.f64 (sqrt.f64 (+.f64 alpha beta)) (/.f64 1 (fma.f64 2 i (+.f64 alpha (+.f64 beta 2)))))
beta
inf

rewrite39.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
223×add-sqr-sqrt_binary64
212×log1p-expm1-u_binary64
212×expm1-log1p-u_binary64
211×add-cbrt-cube_binary64
207×add-log-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01976
144076
Stop Event
node limit
Counts
3 → 59

simplify146.0ms (2.2%)

Algorithm
egg-herbie
Rules
760×associate-/l*_binary64
355×+-commutative_binary64
279×*-commutative_binary64
279×associate-+r+_binary64
272×fma-def_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
093711342
1351311092
Stop Event
node limit
Counts
151 → 177

prune414.0ms (6.2%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New2541255
Fresh112
Picked011
Done011
Total2554259
Error
0.2b
Counts
259 → 4
Alt Table
StatusErrorProgram
48.2b
(/.f64 (-.f64 (-.f64 (+.f64 (/.f64 2 alpha) (fma.f64 2 (/.f64 beta alpha) (/.f64 i (/.f64 alpha 4)))) (/.f64 4 (*.f64 alpha alpha))) (fma.f64 12 (/.f64 i (/.f64 alpha (/.f64 i alpha))) (fma.f64 12 (*.f64 (/.f64 beta (*.f64 alpha alpha)) i) (fma.f64 6 (/.f64 beta (*.f64 alpha alpha)) (fma.f64 12 (/.f64 i (*.f64 alpha alpha)) (*.f64 2 (/.f64 (*.f64 beta beta) (*.f64 alpha alpha)))))))) 2)
15.9b
(/.f64 (fma.f64 (/.f64 (+.f64 alpha beta) (fma.f64 2 i (+.f64 (+.f64 alpha beta) 2))) (/.f64 (-.f64 beta alpha) (+.f64 alpha (fma.f64 2 i beta))) 1) 2)
29.1b
(/.f64 (fma.f64 (*.f64 (sqrt.f64 (+.f64 alpha beta)) (*.f64 (sqrt.f64 (+.f64 alpha beta)) (/.f64 1 (fma.f64 2 i (+.f64 alpha (+.f64 beta 2)))))) (/.f64 (-.f64 beta alpha) (+.f64 alpha (fma.f64 2 i beta))) 1) 2)
46.1b
(/.f64 (/.f64 (fma.f64 2 beta (+.f64 2 (*.f64 i 4))) alpha) 2)
Compiler

Compiled 19155 to 11803 computations (38.4% saved)

localize9.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (fma.f64 2 beta (+.f64 2 (*.f64 i 4))) alpha)

series17.0ms (0.3%)

Counts
1 → 36
Calls

9 calls:

2.0ms
(/.f64 (fma.f64 2 beta (+.f64 2 (*.f64 i 4))) alpha)
i
-inf
2.0ms
(/.f64 (fma.f64 2 beta (+.f64 2 (*.f64 i 4))) alpha)
alpha
-inf
2.0ms
(/.f64 (fma.f64 2 beta (+.f64 2 (*.f64 i 4))) alpha)
beta
-inf
2.0ms
(/.f64 (fma.f64 2 beta (+.f64 2 (*.f64 i 4))) alpha)
beta
inf
2.0ms
(/.f64 (fma.f64 2 beta (+.f64 2 (*.f64 i 4))) alpha)
i
inf

rewrite43.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
490×log-prod_binary64
201×prod-diff_binary64
193×expm1-udef_binary64
193×log1p-udef_binary64
164×log-pow_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01014
121512
2272212
Stop Event
node limit
Counts
1 → 36

simplify47.0ms (0.7%)

Algorithm
egg-herbie
Rules
187×fma-def_binary64
30×*-commutative_binary64
20×associate-/l*_binary64
20×distribute-rgt-in_binary64
18×associate-/r/_binary64
Iterations

Useful iterations: 13 (0.0ms)

IterNodesCost
025646
151644
287584
3113584
4130554
5158494
6192494
7257494
8311494
9324494
10345494
11368494
12391494
13410404
14435404
15453404
16455404
17456404
Stop Event
saturated
Counts
72 → 46

prune57.0ms (0.9%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New44246
Fresh011
Picked101
Done022
Total45550
Error
0.2b
Counts
50 → 5
Alt Table
StatusErrorProgram
48.2b
(/.f64 (-.f64 (-.f64 (+.f64 (/.f64 2 alpha) (fma.f64 2 (/.f64 beta alpha) (/.f64 i (/.f64 alpha 4)))) (/.f64 4 (*.f64 alpha alpha))) (fma.f64 12 (/.f64 i (/.f64 alpha (/.f64 i alpha))) (fma.f64 12 (*.f64 (/.f64 beta (*.f64 alpha alpha)) i) (fma.f64 6 (/.f64 beta (*.f64 alpha alpha)) (fma.f64 12 (/.f64 i (*.f64 alpha alpha)) (*.f64 2 (/.f64 (*.f64 beta beta) (*.f64 alpha alpha)))))))) 2)
46.5b
(/.f64 (pow.f64 (cbrt.f64 (/.f64 (fma.f64 2 beta (fma.f64 i 4 2)) alpha)) 3) 2)
15.9b
(/.f64 (fma.f64 (/.f64 (+.f64 alpha beta) (fma.f64 2 i (+.f64 (+.f64 alpha beta) 2))) (/.f64 (-.f64 beta alpha) (+.f64 alpha (fma.f64 2 i beta))) 1) 2)
46.2b
(/.f64 (*.f64 (/.f64 (sqrt.f64 (fma.f64 2 beta (fma.f64 i 4 2))) 1) (/.f64 (sqrt.f64 (fma.f64 2 beta (fma.f64 i 4 2))) alpha)) 2)
29.1b
(/.f64 (fma.f64 (*.f64 (sqrt.f64 (+.f64 alpha beta)) (*.f64 (sqrt.f64 (+.f64 alpha beta)) (/.f64 1 (fma.f64 2 i (+.f64 alpha (+.f64 beta 2)))))) (/.f64 (-.f64 beta alpha) (+.f64 alpha (fma.f64 2 i beta))) 1) 2)
Compiler

Compiled 1055 to 769 computations (27.1% saved)

localize11.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f64 (fma.f64 2 beta (fma.f64 i 4 2)))
0.2b
(/.f64 (sqrt.f64 (fma.f64 2 beta (fma.f64 i 4 2))) alpha)
0.3b
(*.f64 (/.f64 (sqrt.f64 (fma.f64 2 beta (fma.f64 i 4 2))) 1) (/.f64 (sqrt.f64 (fma.f64 2 beta (fma.f64 i 4 2))) alpha))

series94.0ms (1.4%)

Counts
3 → 64
Calls

24 calls:

11.0ms
(/.f64 (sqrt.f64 (fma.f64 2 beta (fma.f64 i 4 2))) alpha)
i
-inf
9.0ms
(/.f64 (sqrt.f64 (fma.f64 2 beta (fma.f64 i 4 2))) alpha)
alpha
-inf
9.0ms
(/.f64 (sqrt.f64 (fma.f64 2 beta (fma.f64 i 4 2))) alpha)
beta
-inf
7.0ms
(/.f64 (sqrt.f64 (fma.f64 2 beta (fma.f64 i 4 2))) alpha)
i
inf
7.0ms
(/.f64 (sqrt.f64 (fma.f64 2 beta (fma.f64 i 4 2))) alpha)
beta
inf

rewrite56.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
536×log-prod_binary64
201×expm1-udef_binary64
201×log1p-udef_binary64
180×log-pow_binary64
127×log-div_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01337
127137
2294437
Stop Event
node limit
Counts
3 → 123

simplify46.0ms (0.7%)

Algorithm
egg-herbie
Rules
522×associate-/l*_binary64
337×fma-def_binary64
302×cancel-sign-sub-inv_binary64
274×fma-neg_binary64
229×associate-/r/_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0981492
12861342
27841290
324611284
Stop Event
node limit
Counts
187 → 169

prune205.0ms (3.1%)

Pruning

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New2221223
Fresh112
Picked011
Done022
Total2235228
Error
0.2b
Counts
228 → 5
Alt Table
StatusErrorProgram
48.2b
(/.f64 (-.f64 (-.f64 (+.f64 (/.f64 2 alpha) (fma.f64 2 (/.f64 beta alpha) (/.f64 i (/.f64 alpha 4)))) (/.f64 4 (*.f64 alpha alpha))) (fma.f64 12 (/.f64 i (/.f64 alpha (/.f64 i alpha))) (fma.f64 12 (*.f64 (/.f64 beta (*.f64 alpha alpha)) i) (fma.f64 6 (/.f64 beta (*.f64 alpha alpha)) (fma.f64 12 (/.f64 i (*.f64 alpha alpha)) (*.f64 2 (/.f64 (*.f64 beta beta) (*.f64 alpha alpha)))))))) 2)
48.7b
(/.f64 (*.f64 (/.f64 (pow.f64 (pow.f64 (fma.f64 2 beta (fma.f64 i 4 2)) 3/2) 1/3) 1) (/.f64 (sqrt.f64 (fma.f64 2 beta (fma.f64 i 4 2))) alpha)) 2)
15.9b
(/.f64 (fma.f64 (/.f64 (+.f64 alpha beta) (fma.f64 2 i (+.f64 (+.f64 alpha beta) 2))) (/.f64 (-.f64 beta alpha) (+.f64 alpha (fma.f64 2 i beta))) 1) 2)
46.2b
(/.f64 (*.f64 (/.f64 (sqrt.f64 (fma.f64 2 beta (fma.f64 i 4 2))) 1) (/.f64 (sqrt.f64 (fma.f64 2 beta (fma.f64 i 4 2))) alpha)) 2)
29.1b
(/.f64 (fma.f64 (*.f64 (sqrt.f64 (+.f64 alpha beta)) (*.f64 (sqrt.f64 (+.f64 alpha beta)) (/.f64 1 (fma.f64 2 i (+.f64 alpha (+.f64 beta 2)))))) (/.f64 (-.f64 beta alpha) (+.f64 alpha (fma.f64 2 i beta))) 1) 2)
Compiler

Compiled 6590 to 5215 computations (20.9% saved)

regimes2.0s (30.6%)

Accuracy

Total 1.9b remaining (94.6%)

Threshold costs 0b (0%)

Counts
168 → 2
Compiler

Compiled 32564 to 25346 computations (22.2% saved)

bsearch7.0ms (0.1%)

Algorithm
left-value
Calls

1 calls:

0.0ms
(/.f64 (/.f64 (*.f64 (+.f64 alpha beta) (-.f64 beta alpha)) (+.f64 (+.f64 alpha beta) (*.f64 2 i))) (+.f64 (+.f64 (+.f64 alpha beta) (*.f64 2 i)) 2))
Steps
ItersPointRange
-0.9999999932981283
∈ [
-0.9999999932981283
,
-4.6305161692940537e-10
]
Compiler

Compiled 28 to 16 computations (42.9% saved)

simplify4.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
035103
151103
255103
357103
458103
Stop Event
saturated

end138.0ms (2.1%)

Stop Event
fuel
Compiler

Compiled 334 to 215 computations (35.6% saved)

Profiling

Loading profile data...