Details

Time bar (total: 11.8s)

analyze570.0ms (4.8%)

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)

sample81.0ms (0.7%)

Algorithm
intervals
Results
15.0ms208×body128valid
8.0ms24×body1024valid
6.0ms256×pre128true
3.0ms14×body512valid
2.0msbody2048valid
1.0msbody256valid
Compiler

Compiled 78 to 51 computations (34.6% saved)

simplify49.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.9b
Counts
3 → 2
Alt Table
StatusErrorProgram
22.0b
(/.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)
17.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)

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

series881.0ms (7.5%)

Counts
3 → 108
Calls

3 calls:

536.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)
325.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.1%)

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

simplify190.0ms (1.6%)

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

prune520.0ms (4.4%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New2005205
Fresh101
Picked101
Done000
Total2025207
Error
0b
Counts
207 → 5
Alt Table
StatusErrorProgram
50.3b
(/.f64 (/.f64 (fma.f64 2 beta (+.f64 2 (*.f64 i 4))) alpha) 2)
51.8b
(/.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)
18.1b
(/.f64 (*.f64 (sqrt.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)) (sqrt.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)
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)
31.7b
(/.f64 (fma.f64 (+.f64 alpha beta) (*.f64 (/.f64 (sqrt.f64 (-.f64 beta alpha)) (fma.f64 2 i (+.f64 alpha beta))) (/.f64 (sqrt.f64 (-.f64 beta alpha)) (+.f64 2 (fma.f64 2 i (+.f64 alpha beta))))) 1) 2)
Compiler

Compiled 24813 to 16002 computations (35.5% saved)

localize17.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
(/.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)

series941.0ms (8%)

Counts
3 → 108
Calls

3 calls:

550.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)
342.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)))

rewrite45.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))))
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)

simplify281.0ms (2.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 → 297
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0159125853
1504625853

prune664.0ms (5.6%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New2961297
Fresh134
Picked011
Done000
Total2975302
Error
0b
Counts
302 → 5
Alt Table
StatusErrorProgram
50.3b
(/.f64 (/.f64 (fma.f64 2 beta (+.f64 2 (*.f64 i 4))) alpha) 2)
51.8b
(/.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)
18.1b
(/.f64 (*.f64 (sqrt.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)) (sqrt.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)
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)
11.6b
(/.f64 (+.f64 (*.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 30330 to 18771 computations (38.1% saved)

localize13.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series889.0ms (7.6%)

Counts
2 → 72
Calls

2 calls:

575.0ms
(+.f64 (*.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)
313.0ms
(*.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)))))

rewrite65.0ms (0.6%)

Algorithm
rewrite-expression-head
Rules
139×times-frac_binary64
123×*-un-lft-identity_binary64
92×add-sqr-sqrt_binary64
82×associate-*r*_binary64
59×add-cube-cbrt_binary64
Counts
2 → 125
Calls

2 calls:

25.0ms
(*.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)))))
15.0ms
(+.f64 (*.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)

simplify274.0ms (2.3%)

Algorithm
egg-herbie
Rules
404×+-commutative_binary64
361×*-commutative_binary64
354×fma-def_binary64
349×associate-+r+_binary64
271×associate-*r/_binary64
Counts
197 → 265
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0123621338
1472821233
2501321233

prune1.0s (8.8%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New5060506
Fresh033
Picked011
Done011
Total5065511
Error
0b
Counts
511 → 5
Alt Table
StatusErrorProgram
50.3b
(/.f64 (/.f64 (fma.f64 2 beta (+.f64 2 (*.f64 i 4))) alpha) 2)
51.8b
(/.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)
18.1b
(/.f64 (*.f64 (sqrt.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)) (sqrt.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)
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)
11.6b
(/.f64 (+.f64 (*.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 48688 to 29805 computations (38.8% saved)

localize13.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series549.0ms (4.7%)

Counts
1 → 36
Calls

1 calls:

548.0ms
(*.f64 (sqrt.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)) (sqrt.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)))

rewrite15.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
25×add-sqr-sqrt_binary64
18×sqrt-prod_binary64
16×pow1_binary64
*-un-lft-identity_binary64
add-cube-cbrt_binary64
Counts
1 → 53
Calls

1 calls:

6.0ms
(*.f64 (sqrt.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)) (sqrt.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)))

simplify162.0ms (1.4%)

Algorithm
egg-herbie
Rules
895×fma-def_binary64
439×associate-*l/_binary64
266×+-commutative_binary64
245×*-commutative_binary64
229×associate-+r+_binary64
Counts
89 → 108
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
080611304
1308210617
2540810617

prune1.6s (13.9%)

Pruning

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New5171518
Fresh112
Picked011
Done022
Total5185523
Error
0b
Counts
523 → 5
Alt Table
StatusErrorProgram
51.8b
(/.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)
18.1b
(/.f64 (*.f64 (sqrt.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)) (sqrt.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)
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)
50.3b
(/.f64 (/.f64 (fma.f64 beta 2 (fma.f64 i 4 2)) alpha) 2)
11.6b
(/.f64 (+.f64 (*.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 74170 to 45685 computations (38.4% saved)

regimes1.1s (9.1%)

Accuracy

Total 1.2b remaining (91.1%)

Threshold costs 0b (0%)

Counts
99 → 2
Compiler

Compiled 22266 to 14753 computations (33.7% saved)

bsearch5.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
03198
14598
24998
35198
45298
55198

end1.0ms (0%)

Compiler

Compiled 70 to 41 computations (41.4% saved)

sample1.8s (14.9%)

Algorithm
intervals
Results
618.0ms6488×body128valid
194.0ms8000×pre128true
184.0ms661×body1024valid
111.0ms503×body512valid
42.0ms296×body256valid
19.0ms52×body2048valid
Compiler

Compiled 312 to 185 computations (40.7% saved)

Profiling

Loading profile data...