Details

Time bar (total: 10.1s)

analyze166.0ms (1.6%)

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

Results
1.0s6702×body128valid
379.0ms697×body1024valid
221.0ms518×body512valid
82.0ms287×body256valid
42.0ms52×body2048valid
Compiler

Compiled 118 to 76 computations (35.6% saved)

simplify43.0ms (0.4%)

Algorithm
egg-herbie
Rules
847×times-frac_binary64
817×distribute-rgt-in_binary64
748×distribute-lft-in_binary64
537×div-sub_binary64
535×fma-neg_binary64
Counts
1 → 2
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01643
13439
211037
343537
4167237
5249437
6335837
7539237

prune5.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
17.8b
Counts
3 → 2
Alt Table
StatusErrorProgram
17.8b
(/.f64 (fma.f64 (+.f64 alpha beta) (/.f64 (-.f64 beta alpha) (*.f64 (fma.f64 2 i (+.f64 alpha beta)) (+.f64 2 (fma.f64 2 i (+.f64 alpha beta))))) 1) 2)
22.6b
(/.f64 (+.f64 (/.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)) 1) 2)
Compiler

Compiled 180 to 106 computations (41.1% saved)

localize14.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

series853.0ms (8.4%)

Counts
3 → 108
Calls

3 calls:

531.0ms
(fma.f64 (+.f64 alpha beta) (/.f64 (-.f64 beta alpha) (*.f64 (fma.f64 2 i (+.f64 alpha beta)) (+.f64 2 (fma.f64 2 i (+.f64 alpha beta))))) 1)
302.0ms
(/.f64 (-.f64 beta alpha) (*.f64 (fma.f64 2 i (+.f64 alpha beta)) (+.f64 2 (fma.f64 2 i (+.f64 alpha beta)))))
20.0ms
(*.f64 (fma.f64 2 i (+.f64 alpha beta)) (+.f64 2 (fma.f64 2 i (+.f64 alpha beta))))

rewrite17.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
13×*-un-lft-identity_binary64
13×add-sqr-sqrt_binary64
10×add-cbrt-cube_binary64
10×add-exp-log_binary64
add-cube-cbrt_binary64
Counts
3 → 67
Calls

3 calls:

7.0ms
(/.f64 (-.f64 beta alpha) (*.f64 (fma.f64 2 i (+.f64 alpha beta)) (+.f64 2 (fma.f64 2 i (+.f64 alpha beta)))))
6.0ms
(*.f64 (fma.f64 2 i (+.f64 alpha beta)) (+.f64 2 (fma.f64 2 i (+.f64 alpha beta))))
0.0ms
(fma.f64 (+.f64 alpha beta) (/.f64 (-.f64 beta alpha) (*.f64 (fma.f64 2 i (+.f64 alpha beta)) (+.f64 2 (fma.f64 2 i (+.f64 alpha beta))))) 1)

simplify204.0ms (2%)

Algorithm
egg-herbie
Rules
561×+-commutative_binary64
490×fma-def_binary64
487×associate-+r+_binary64
392×*-commutative_binary64
294×associate-*r/_binary64
Counts
175 → 205
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0140019973
1545019973

prune563.0ms (5.6%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New2014205
Fresh101
Picked101
Done000
Total2034207
Error
0b
Counts
207 → 4
Alt Table
StatusErrorProgram
51.9b
(/.f64 (-.f64 (+.f64 (/.f64 2 alpha) (fma.f64 2 (/.f64 beta alpha) (*.f64 4 (/.f64 i alpha)))) (+.f64 (/.f64 4 (*.f64 alpha alpha)) (fma.f64 12 (/.f64 (*.f64 i i) (*.f64 alpha alpha)) (fma.f64 12 (/.f64 (*.f64 i beta) (*.f64 alpha alpha)) (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)
49.7b
(/.f64 (/.f64 (fma.f64 2 beta (+.f64 2 (*.f64 i 4))) alpha) 2)
17.8b
(/.f64 (+.f64 (*.f64 (+.f64 alpha beta) (/.f64 (-.f64 beta alpha) (*.f64 (fma.f64 2 i (+.f64 alpha beta)) (+.f64 2 (fma.f64 2 i (+.f64 alpha beta)))))) 1) 2)
12.4b
(/.f64 (fma.f64 (+.f64 alpha beta) (*.f64 (/.f64 1 (fma.f64 2 i (+.f64 alpha beta))) (/.f64 (-.f64 beta alpha) (+.f64 2 (fma.f64 2 i (+.f64 alpha beta))))) 1) 2)
Compiler

Compiled 24695 to 15944 computations (35.4% saved)

localize28.0ms (0.3%)

Local error

Found 3 expressions with local error:

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

series919.0ms (9.1%)

Counts
3 → 108
Calls

3 calls:

511.0ms
(fma.f64 (+.f64 alpha beta) (*.f64 (/.f64 1 (fma.f64 2 i (+.f64 alpha beta))) (/.f64 (-.f64 beta alpha) (+.f64 2 (fma.f64 2 i (+.f64 alpha beta))))) 1)
309.0ms
(*.f64 (/.f64 1 (fma.f64 2 i (+.f64 alpha beta))) (/.f64 (-.f64 beta alpha) (+.f64 2 (fma.f64 2 i (+.f64 alpha beta)))))
98.0ms
(/.f64 (-.f64 beta alpha) (+.f64 2 (fma.f64 2 i (+.f64 alpha beta))))

rewrite37.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
73×*-un-lft-identity_binary64
66×add-sqr-sqrt_binary64
56×times-frac_binary64
31×add-cube-cbrt_binary64
27×add-exp-log_binary64
Counts
3 → 129
Calls

3 calls:

15.0ms
(*.f64 (/.f64 1 (fma.f64 2 i (+.f64 alpha beta))) (/.f64 (-.f64 beta alpha) (+.f64 2 (fma.f64 2 i (+.f64 alpha beta)))))
8.0ms
(/.f64 (-.f64 beta alpha) (+.f64 2 (fma.f64 2 i (+.f64 alpha beta))))
0.0ms
(fma.f64 (+.f64 alpha beta) (*.f64 (/.f64 1 (fma.f64 2 i (+.f64 alpha beta))) (/.f64 (-.f64 beta alpha) (+.f64 2 (fma.f64 2 i (+.f64 alpha beta))))) 1)

simplify230.0ms (2.3%)

Algorithm
egg-herbie
Rules
552×fma-def_binary64
538×associate-+r+_binary64
365×associate-*r/_binary64
173×associate-/l*_binary64
154×associate-/r*_binary64
Counts
237 → 293
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0161524106
1520724106

prune670.0ms (6.6%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New2921293
Fresh123
Picked011
Done000
Total2934297
Error
0b
Counts
297 → 4
Alt Table
StatusErrorProgram
12.4b
(/.f64 (+.f64 (*.f64 (+.f64 alpha beta) (/.f64 (/.f64 (-.f64 beta alpha) (+.f64 2 (fma.f64 2 i (+.f64 alpha beta)))) (fma.f64 2 i (+.f64 alpha beta)))) 1) 2)
49.7b
(/.f64 (/.f64 (fma.f64 2 beta (+.f64 2 (*.f64 i 4))) alpha) 2)
51.9b
(/.f64 (-.f64 (+.f64 (/.f64 2 alpha) (fma.f64 2 (/.f64 beta alpha) (*.f64 4 (/.f64 i alpha)))) (+.f64 (/.f64 4 (*.f64 alpha alpha)) (fma.f64 12 (/.f64 (*.f64 i i) (*.f64 alpha alpha)) (fma.f64 12 (/.f64 (*.f64 i beta) (*.f64 alpha alpha)) (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)
12.4b
(/.f64 (fma.f64 (+.f64 alpha beta) (*.f64 (/.f64 1 (fma.f64 2 i (+.f64 alpha beta))) (/.f64 (-.f64 beta alpha) (+.f64 2 (fma.f64 2 i (+.f64 alpha beta))))) 1) 2)
Compiler

Compiled 30981 to 19670 computations (36.5% saved)

localize13.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (-.f64 beta alpha) (+.f64 2 (fma.f64 2 i (+.f64 alpha beta))))
0.1b
(/.f64 (/.f64 (-.f64 beta alpha) (+.f64 2 (fma.f64 2 i (+.f64 alpha beta)))) (fma.f64 2 i (+.f64 alpha beta)))
3.3b
(*.f64 (+.f64 alpha beta) (/.f64 (/.f64 (-.f64 beta alpha) (+.f64 2 (fma.f64 2 i (+.f64 alpha beta)))) (fma.f64 2 i (+.f64 alpha beta))))
4.1b
(+.f64 (*.f64 (+.f64 alpha beta) (/.f64 (/.f64 (-.f64 beta alpha) (+.f64 2 (fma.f64 2 i (+.f64 alpha beta)))) (fma.f64 2 i (+.f64 alpha beta)))) 1)

series1.6s (15.8%)

Counts
3 → 108
Calls

3 calls:

761.0ms
(*.f64 (+.f64 alpha beta) (/.f64 (/.f64 (-.f64 beta alpha) (+.f64 2 (fma.f64 2 i (+.f64 alpha beta)))) (fma.f64 2 i (+.f64 alpha beta))))
500.0ms
(+.f64 (*.f64 (+.f64 alpha beta) (/.f64 (/.f64 (-.f64 beta alpha) (+.f64 2 (fma.f64 2 i (+.f64 alpha beta)))) (fma.f64 2 i (+.f64 alpha beta)))) 1)
341.0ms
(/.f64 (/.f64 (-.f64 beta alpha) (+.f64 2 (fma.f64 2 i (+.f64 alpha beta)))) (fma.f64 2 i (+.f64 alpha beta)))

rewrite104.0ms (1%)

Algorithm
rewrite-expression-head
Rules
299×times-frac_binary64
256×*-un-lft-identity_binary64
193×add-sqr-sqrt_binary64
128×add-cube-cbrt_binary64
82×associate-*r*_binary64
Counts
3 → 250
Calls

3 calls:

25.0ms
(*.f64 (+.f64 alpha beta) (/.f64 (/.f64 (-.f64 beta alpha) (+.f64 2 (fma.f64 2 i (+.f64 alpha beta)))) (fma.f64 2 i (+.f64 alpha beta))))
16.0ms
(+.f64 (*.f64 (+.f64 alpha beta) (/.f64 (/.f64 (-.f64 beta alpha) (+.f64 2 (fma.f64 2 i (+.f64 alpha beta)))) (fma.f64 2 i (+.f64 alpha beta)))) 1)
11.0ms
(/.f64 (/.f64 (-.f64 beta alpha) (+.f64 2 (fma.f64 2 i (+.f64 alpha beta)))) (fma.f64 2 i (+.f64 alpha beta)))

simplify374.0ms (3.7%)

Algorithm
egg-herbie
Rules
567×fma-def_binary64
555×associate-+r+_binary64
405×associate-*r/_binary64
204×associate-/r*_binary64
200×associate-/l*_binary64
Counts
358 → 402
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0180235564
1576035564

prune1.0s (10.3%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New4910491
Fresh022
Picked011
Done011
Total4914495
Error
0b
Counts
495 → 4
Alt Table
StatusErrorProgram
12.4b
(/.f64 (+.f64 (*.f64 (+.f64 alpha beta) (/.f64 (/.f64 (-.f64 beta alpha) (+.f64 2 (fma.f64 2 i (+.f64 alpha beta)))) (fma.f64 2 i (+.f64 alpha beta)))) 1) 2)
49.7b
(/.f64 (/.f64 (fma.f64 2 beta (+.f64 2 (*.f64 i 4))) alpha) 2)
51.9b
(/.f64 (-.f64 (+.f64 (/.f64 2 alpha) (fma.f64 2 (/.f64 beta alpha) (*.f64 4 (/.f64 i alpha)))) (+.f64 (/.f64 4 (*.f64 alpha alpha)) (fma.f64 12 (/.f64 (*.f64 i i) (*.f64 alpha alpha)) (fma.f64 12 (/.f64 (*.f64 i beta) (*.f64 alpha alpha)) (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)
12.4b
(/.f64 (fma.f64 (+.f64 alpha beta) (*.f64 (/.f64 1 (fma.f64 2 i (+.f64 alpha beta))) (/.f64 (-.f64 beta alpha) (+.f64 2 (fma.f64 2 i (+.f64 alpha beta))))) 1) 2)
Compiler

Compiled 49258 to 30434 computations (38.2% saved)

localize8.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

series39.0ms (0.4%)

Counts
2 → 72
Calls

2 calls:

21.0ms
(/.f64 (/.f64 (fma.f64 2 beta (+.f64 2 (*.f64 i 4))) alpha) 2)
18.0ms
(/.f64 (fma.f64 2 beta (+.f64 2 (*.f64 i 4))) alpha)

rewrite15.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
84×times-frac_binary64
52×*-un-lft-identity_binary64
52×add-sqr-sqrt_binary64
52×add-cube-cbrt_binary64
16×associate-/l*_binary64
Counts
2 → 101
Calls

2 calls:

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

simplify126.0ms (1.2%)

Algorithm
egg-herbie
Rules
729×associate-+l+_binary64
538×associate-/r/_binary64
521×fma-def_binary64
427×*-commutative_binary64
295×associate-/l/_binary64
Counts
173 → 204
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01954203
14043697
29593623
324323454
437413454
551623454

prune129.0ms (1.3%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New2040204
Fresh011
Picked011
Done022
Total2044208
Error
0b
Counts
208 → 4
Alt Table
StatusErrorProgram
12.4b
(/.f64 (+.f64 (*.f64 (+.f64 alpha beta) (/.f64 (/.f64 (-.f64 beta alpha) (+.f64 2 (fma.f64 2 i (+.f64 alpha beta)))) (fma.f64 2 i (+.f64 alpha beta)))) 1) 2)
49.7b
(/.f64 (/.f64 (fma.f64 2 beta (+.f64 2 (*.f64 i 4))) alpha) 2)
51.9b
(/.f64 (-.f64 (+.f64 (/.f64 2 alpha) (fma.f64 2 (/.f64 beta alpha) (*.f64 4 (/.f64 i alpha)))) (+.f64 (/.f64 4 (*.f64 alpha alpha)) (fma.f64 12 (/.f64 (*.f64 i i) (*.f64 alpha alpha)) (fma.f64 12 (/.f64 (*.f64 i beta) (*.f64 alpha alpha)) (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)
12.4b
(/.f64 (fma.f64 (+.f64 alpha beta) (*.f64 (/.f64 1 (fma.f64 2 i (+.f64 alpha beta))) (/.f64 (-.f64 beta alpha) (+.f64 2 (fma.f64 2 i (+.f64 alpha beta))))) 1) 2)
Compiler

Compiled 4847 to 3546 computations (26.8% saved)

regimes968.0ms (9.6%)

Accuracy

Total 1.3b remaining (91.2%)

Threshold costs 0b (0%)

Counts
101 → 2
Compiler

Compiled 17503 to 12219 computations (30.2% saved)

bsearch4.0ms (0%)

Compiler

Compiled 28 to 16 computations (42.9% saved)

simplify9.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
03096
14396
24796
34996
45096
54996

end119.0ms (1.2%)

Compiler

Compiled 279 to 164 computations (41.2% saved)

Profiling

Loading profile data...