Details

Time bar (total: 10.1s)

analyze169.0ms (1.7%)

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)

sample2.2s (21.5%)

Results
1.2s6704×body128valid
601.0ms690×body1024valid
213.0ms510×body512valid
97.0ms303×body256valid
33.0ms49×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.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
20.9b
Counts
3 → 2
Alt Table
StatusErrorProgram
24.9b
(/.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)
20.9b
(/.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)
Compiler

Compiled 180 to 106 computations (41.1% saved)

localize13.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 2 (fma.f64 2 i (+.f64 alpha beta)))
0.0b
(*.f64 (fma.f64 2 i (+.f64 alpha beta)) (+.f64 2 (fma.f64 2 i (+.f64 alpha beta))))
11.8b
(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)
19.8b
(/.f64 (-.f64 beta alpha) (*.f64 (fma.f64 2 i (+.f64 alpha beta)) (+.f64 2 (fma.f64 2 i (+.f64 alpha beta)))))

series1.3s (12.7%)

Counts
4 → 144
Calls

4 calls:

949.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)
296.0ms
(/.f64 (-.f64 beta alpha) (*.f64 (fma.f64 2 i (+.f64 alpha beta)) (+.f64 2 (fma.f64 2 i (+.f64 alpha beta)))))
25.0ms
(*.f64 (fma.f64 2 i (+.f64 alpha beta)) (+.f64 2 (fma.f64 2 i (+.f64 alpha beta))))
10.0ms
(+.f64 2 (fma.f64 2 i (+.f64 alpha beta)))

rewrite31.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
17×*-un-lft-identity_binary64
15×add-sqr-sqrt_binary64
11×add-cbrt-cube_binary64
11×add-exp-log_binary64
add-cube-cbrt_binary64
Counts
4 → 85
Calls

4 calls:

13.0ms
(+.f64 2 (fma.f64 2 i (+.f64 alpha beta)))
8.0ms
(/.f64 (-.f64 beta alpha) (*.f64 (fma.f64 2 i (+.f64 alpha beta)) (+.f64 2 (fma.f64 2 i (+.f64 alpha beta)))))
5.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)

simplify243.0ms (2.4%)

Algorithm
egg-herbie
Rules
563×+-commutative_binary64
490×fma-def_binary64
488×associate-+r+_binary64
393×*-commutative_binary64
294×associate-*r/_binary64
Counts
229 → 235
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0141020564
1547420564

prune594.0ms (5.9%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New2305235
Fresh101
Picked101
Done000
Total2325237
Error
0.1b
Counts
237 → 5
Alt Table
StatusErrorProgram
11.9b
(/.f64 (fma.f64 (+.f64 alpha beta) (/.f64 (/.f64 (-.f64 beta alpha) (fma.f64 2 i (+.f64 alpha beta))) (+.f64 2 (fma.f64 2 i (+.f64 alpha beta)))) 1) 2)
21.3b
(/.f64 (fma.f64 (+.f64 alpha beta) (/.f64 beta (*.f64 (+.f64 beta (*.f64 2 i)) (+.f64 beta (+.f64 2 (*.f64 2 i))))) 1) 2)
53.1b
(/.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.9b
(/.f64 (/.f64 (fma.f64 2 beta (+.f64 2 (*.f64 i 4))) alpha) 2)
48.1b
(/.f64 (-.f64 2 (fma.f64 4 (/.f64 i beta) (fma.f64 2 (/.f64 alpha beta) (/.f64 2 beta)))) 2)
Compiler

Compiled 25654 to 16440 computations (35.9% saved)

localize13.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series879.0ms (8.7%)

Counts
3 → 108
Calls

3 calls:

494.0ms
(fma.f64 (+.f64 alpha beta) (/.f64 (/.f64 (-.f64 beta alpha) (fma.f64 2 i (+.f64 alpha beta))) (+.f64 2 (fma.f64 2 i (+.f64 alpha beta)))) 1)
336.0ms
(/.f64 (/.f64 (-.f64 beta alpha) (fma.f64 2 i (+.f64 alpha beta))) (+.f64 2 (fma.f64 2 i (+.f64 alpha beta))))
48.0ms
(/.f64 (-.f64 beta alpha) (fma.f64 2 i (+.f64 alpha beta)))

rewrite41.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
166×times-frac_binary64
156×*-un-lft-identity_binary64
116×add-sqr-sqrt_binary64
78×add-cube-cbrt_binary64
24×associate-/l*_binary64
Counts
3 → 169
Calls

3 calls:

10.0ms
(/.f64 (/.f64 (-.f64 beta alpha) (fma.f64 2 i (+.f64 alpha beta))) (+.f64 2 (fma.f64 2 i (+.f64 alpha beta))))
6.0ms
(/.f64 (-.f64 beta alpha) (fma.f64 2 i (+.f64 alpha beta)))
1.0ms
(fma.f64 (+.f64 alpha beta) (/.f64 (/.f64 (-.f64 beta alpha) (fma.f64 2 i (+.f64 alpha beta))) (+.f64 2 (fma.f64 2 i (+.f64 alpha beta)))) 1)

simplify293.0ms (2.9%)

Algorithm
egg-herbie
Rules
490×fma-def_binary64
477×associate-+r+_binary64
326×associate-*r/_binary64
177×associate-/l*_binary64
171×associate-/r*_binary64
Counts
277 → 297
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0159125853
1504625853

prune657.0ms (6.5%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New3261327
Fresh134
Picked011
Done000
Total3275332
Error
0.1b
Counts
332 → 5
Alt Table
StatusErrorProgram
53.1b
(/.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.9b
(/.f64 (/.f64 (fma.f64 2 beta (+.f64 2 (*.f64 i 4))) alpha) 2)
13.0b
(/.f64 (fma.f64 (+.f64 alpha beta) (/.f64 (/.f64 (-.f64 beta alpha) (fma.f64 2 i (+.f64 alpha beta))) (+.f64 beta (+.f64 2 (*.f64 2 i)))) 1) 2)
48.1b
(/.f64 (-.f64 2 (fma.f64 4 (/.f64 i beta) (fma.f64 2 (/.f64 alpha beta) (/.f64 2 beta)))) 2)
11.9b
(/.f64 (fma.f64 (+.f64 alpha beta) (/.f64 (/.f64 (-.f64 beta alpha) (fma.f64 2 i (+.f64 alpha beta))) (+.f64 2 (fma.f64 2 i (+.f64 alpha beta)))) 1) 2)
Compiler

Compiled 31187 to 19211 computations (38.4% saved)

localize14.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

series1.5s (14.5%)

Counts
2 → 72
Calls

2 calls:

813.0ms
(fma.f64 (+.f64 alpha beta) (/.f64 (/.f64 (-.f64 beta alpha) (fma.f64 2 i (+.f64 alpha beta))) (+.f64 beta (+.f64 2 (*.f64 2 i)))) 1)
645.0ms
(/.f64 (/.f64 (-.f64 beta alpha) (fma.f64 2 i (+.f64 alpha beta))) (+.f64 beta (+.f64 2 (*.f64 2 i))))

rewrite36.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
151×times-frac_binary64
137×*-un-lft-identity_binary64
97×add-sqr-sqrt_binary64
67×add-cube-cbrt_binary64
20×distribute-lft-out_binary64
Counts
2 → 129
Calls

2 calls:

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

simplify277.0ms (2.8%)

Algorithm
egg-herbie
Rules
513×associate-+r+_binary64
475×fma-def_binary64
300×associate-*r/_binary64
252×associate-/r*_binary64
192×associate-/l*_binary64
Counts
201 → 220
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0159326070
1509726070

prune684.0ms (6.8%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New3030303
Fresh033
Picked011
Done011
Total3035308
Error
0.1b
Counts
308 → 5
Alt Table
StatusErrorProgram
53.1b
(/.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.9b
(/.f64 (/.f64 (fma.f64 2 beta (+.f64 2 (*.f64 i 4))) alpha) 2)
13.0b
(/.f64 (fma.f64 (+.f64 alpha beta) (/.f64 (/.f64 (-.f64 beta alpha) (fma.f64 2 i (+.f64 alpha beta))) (+.f64 beta (+.f64 2 (*.f64 2 i)))) 1) 2)
48.1b
(/.f64 (-.f64 2 (fma.f64 4 (/.f64 i beta) (fma.f64 2 (/.f64 alpha beta) (/.f64 2 beta)))) 2)
11.9b
(/.f64 (fma.f64 (+.f64 alpha beta) (/.f64 (/.f64 (-.f64 beta alpha) (fma.f64 2 i (+.f64 alpha beta))) (+.f64 2 (fma.f64 2 i (+.f64 alpha beta)))) 1) 2)
Compiler

Compiled 32805 to 21279 computations (35.1% saved)

localize11.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

series90.0ms (0.9%)

Counts
3 → 96
Calls

3 calls:

45.0ms
(-.f64 2 (fma.f64 4 (/.f64 i beta) (fma.f64 2 (/.f64 alpha beta) (/.f64 2 beta))))
36.0ms
(fma.f64 4 (/.f64 i beta) (fma.f64 2 (/.f64 alpha beta) (/.f64 2 beta)))
9.0ms
(fma.f64 2 (/.f64 alpha beta) (/.f64 2 beta))

rewrite7.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
13×*-un-lft-identity_binary64
13×add-sqr-sqrt_binary64
11×add-cube-cbrt_binary64
prod-diff_binary64
add-log-exp_binary64
Counts
3 → 51
Calls

3 calls:

3.0ms
(-.f64 2 (fma.f64 4 (/.f64 i beta) (fma.f64 2 (/.f64 alpha beta) (/.f64 2 beta))))
1.0ms
(fma.f64 2 (/.f64 alpha beta) (/.f64 2 beta))
0.0ms
(fma.f64 4 (/.f64 i beta) (fma.f64 2 (/.f64 alpha beta) (/.f64 2 beta)))

simplify115.0ms (1.1%)

Algorithm
egg-herbie
Rules
572×fma-neg_binary64
470×cancel-sign-sub-inv_binary64
403×distribute-rgt-in_binary64
397×distribute-lft-in_binary64
358×associate-*l*_binary64
Counts
147 → 90
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01082992
11912714
26412506
331852492
445942472
548732472

prune68.0ms (0.7%)

Pruning

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New90090
Fresh022
Picked011
Done022
Total90595
Error
0.1b
Counts
95 → 5
Alt Table
StatusErrorProgram
53.1b
(/.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.9b
(/.f64 (/.f64 (fma.f64 2 beta (+.f64 2 (*.f64 i 4))) alpha) 2)
13.0b
(/.f64 (fma.f64 (+.f64 alpha beta) (/.f64 (/.f64 (-.f64 beta alpha) (fma.f64 2 i (+.f64 alpha beta))) (+.f64 beta (+.f64 2 (*.f64 2 i)))) 1) 2)
48.1b
(/.f64 (-.f64 2 (fma.f64 4 (/.f64 i beta) (fma.f64 2 (/.f64 alpha beta) (/.f64 2 beta)))) 2)
11.9b
(/.f64 (fma.f64 (+.f64 alpha beta) (/.f64 (/.f64 (-.f64 beta alpha) (fma.f64 2 i (+.f64 alpha beta))) (+.f64 2 (fma.f64 2 i (+.f64 alpha beta)))) 1) 2)
Compiler

Compiled 2865 to 1745 computations (39.1% saved)

regimes718.0ms (7.1%)

Accuracy

Total 1.2b remaining (92.3%)

Threshold costs 0b (0%)

Counts
76 → 2
Compiler

Compiled 13601 to 9457 computations (30.5% saved)

bsearch3.0ms (0%)

Compiler

Compiled 28 to 16 computations (42.9% saved)

simplify4.0ms (0%)

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
14296
24696
34896
44996
54896

end161.0ms (1.6%)

Compiler

Compiled 297 to 179 computations (39.7% saved)

Profiling

Loading profile data...