Details

Time bar (total: 8.0s)

analyze161.0ms (2%)

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.0s (25.6%)

Results
1.3s6650×body128valid
371.0ms727×body1024valid
216.0ms543×body512valid
77.0ms290×body256valid
29.0ms46×body2048valid
Compiler

Compiled 118 to 76 computations (35.6% saved)

simplify47.0ms (0.6%)

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
22.1b
Counts
3 → 2
Alt Table
StatusErrorProgram
22.2b
(/.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)
28.5b
(/.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.2%)

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

series444.0ms (5.6%)

Counts
3 → 108
Calls

3 calls:

275.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)
151.0ms
(/.f64 (-.f64 beta alpha) (*.f64 (fma.f64 2 i (+.f64 alpha beta)) (+.f64 2 (fma.f64 2 i (+.f64 alpha beta)))))
17.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)

simplify195.0ms (2.4%)

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

prune486.0ms (6.1%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New2014205
Fresh101
Picked101
Done000
Total2034207
Error
0b
Counts
207 → 4
Alt Table
StatusErrorProgram
50.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)
13.9b
(/.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)
48.1b
(/.f64 (/.f64 (fma.f64 2 beta (+.f64 2 (*.f64 i 4))) alpha) 2)
13.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 24693 to 15942 computations (35.4% saved)

localize13.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (/.f64 (-.f64 beta alpha) (fma.f64 2 i (+.f64 alpha beta))) (+.f64 2 (fma.f64 2 i (+.f64 alpha beta))))
0.1b
(/.f64 (-.f64 beta alpha) (fma.f64 2 i (+.f64 alpha beta)))
13.9b
(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)

series906.0ms (11.4%)

Counts
3 → 108
Calls

3 calls:

585.0ms
(/.f64 (/.f64 (-.f64 beta alpha) (fma.f64 2 i (+.f64 alpha beta))) (+.f64 2 (fma.f64 2 i (+.f64 alpha beta))))
273.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)
48.0ms
(/.f64 (-.f64 beta alpha) (fma.f64 2 i (+.f64 alpha beta)))

rewrite40.0ms (0.5%)

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))))
5.0ms
(/.f64 (-.f64 beta alpha) (fma.f64 2 i (+.f64 alpha beta)))
0.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)

simplify268.0ms (3.4%)

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 → 298
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0159125853
1504625853

prune628.0ms (7.9%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New2980298
Fresh033
Picked011
Done000
Total2984302
Error
0b
Counts
302 → 4
Alt Table
StatusErrorProgram
50.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)
13.9b
(/.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)
48.1b
(/.f64 (/.f64 (fma.f64 2 beta (+.f64 2 (*.f64 i 4))) alpha) 2)
13.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 30248 to 18726 computations (38.1% saved)

localize14.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

series487.0ms (6.1%)

Counts
4 → 144
Calls

4 calls:

250.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)
149.0ms
(*.f64 (/.f64 1 (fma.f64 2 i (+.f64 alpha beta))) (/.f64 (-.f64 beta alpha) (+.f64 2 (fma.f64 2 i (+.f64 alpha beta)))))
59.0ms
(/.f64 (-.f64 beta alpha) (+.f64 2 (fma.f64 2 i (+.f64 alpha beta))))
27.0ms
(/.f64 1 (fma.f64 2 i (+.f64 alpha beta)))

rewrite44.0ms (0.6%)

Algorithm
rewrite-expression-head
Rules
82×*-un-lft-identity_binary64
75×add-sqr-sqrt_binary64
65×times-frac_binary64
40×add-cube-cbrt_binary64
32×add-exp-log_binary64
Counts
4 → 162
Calls

4 calls:

19.0ms
(*.f64 (/.f64 1 (fma.f64 2 i (+.f64 alpha beta))) (/.f64 (-.f64 beta alpha) (+.f64 2 (fma.f64 2 i (+.f64 alpha beta)))))
6.0ms
(/.f64 (-.f64 beta alpha) (+.f64 2 (fma.f64 2 i (+.f64 alpha beta))))
2.0ms
(/.f64 1 (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)

simplify280.0ms (3.5%)

Algorithm
egg-herbie
Rules
579×fma-def_binary64
560×associate-+r+_binary64
386×associate-*r/_binary64
174×associate-/l*_binary64
155×associate-/r*_binary64
Counts
306 → 370
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0171726289
1548426289

prune686.0ms (8.6%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New3700370
Fresh022
Picked011
Done011
Total3704374
Error
0b
Counts
374 → 4
Alt Table
StatusErrorProgram
50.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)
13.9b
(/.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)
48.1b
(/.f64 (/.f64 (fma.f64 2 beta (+.f64 2 (*.f64 i 4))) alpha) 2)
13.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 34458 to 21641 computations (37.2% 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)

series16.0ms (0.2%)

Counts
1 → 36
Calls

1 calls:

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

rewrite4.0ms (0%)

Algorithm
rewrite-expression-head
Rules
*-un-lft-identity_binary64
times-frac_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
associate-/r*_binary64
Counts
1 → 29
Calls

1 calls:

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

simplify82.0ms (1%)

Algorithm
egg-herbie
Rules
726×distribute-rgt-in_binary64
711×distribute-lft-in_binary64
389×fma-def_binary64
352×associate-/r/_binary64
323×div-sub_binary64
Counts
65 → 61
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0751277
11321117
23321081
39341079
446761025
548341025
653971025

prune40.0ms (0.5%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New60161
Fresh101
Picked011
Done022
Total61465
Error
0b
Counts
65 → 4
Alt Table
StatusErrorProgram
13.9b
(/.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)
48.1b
(/.f64 (/.f64 (fma.f64 2 beta (+.f64 2 (*.f64 i 4))) alpha) 2)
48.0b
(/.f64 (+.f64 (*.f64 2 (/.f64 1 alpha)) (+.f64 (*.f64 2 (/.f64 beta alpha)) (*.f64 4 (/.f64 i alpha)))) 2)
13.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 1310 to 943 computations (28% saved)

regimes927.0ms (11.6%)

Accuracy

Total 1.3b remaining (86.3%)

Threshold costs 0b (0%)

Counts
75 → 2
Compiler

Compiled 12998 to 9069 computations (30.2% 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
03097
14097
24397
34597
44697
54597

end102.0ms (1.3%)

Compiler

Compiled 237 to 145 computations (38.8% saved)

Profiling

Loading profile data...