Details

Time bar (total: 7.2s)

analyze562.0ms (7.8%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
50%50%0.1%5
50%50%0.1%6
50%37.5%12.6%7
50%37.5%12.6%8
50%31.2%18.8%9
50%31.2%18.8%10
50%28.1%22%11
50%28.1%22%12
50%26.5%23.5%13
50%26.5%23.5%14
Compiler

Compiled 14 to 11 computations (21.4% saved)

sample4.7s (65.2%)

Results
1.6s2045×body1024valid
1.1s2020×body1024invalid
708.0ms4728×body128valid
381.0ms1008×body512valid
380.0ms1005×body512invalid
140.0ms544×body256invalid
119.0ms469×body256valid
110.0ms710×body128invalid
7.0msbody2048valid
Compiler

Compiled 41 to 32 computations (22% saved)

simplify122.0ms (1.7%)

Algorithm
egg-herbie
Rules
575×fma-def_binary64
533×associate-/l*_binary64
430×unswap-sqr_binary64
374×times-frac_binary64
354×fma-neg_binary64
Counts
1 → 2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01118
12818
26518
39917
415417
526917
653217
791617
8333217
9326017
10400617
11426517
12469217
13484017
14489117
15491717

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
0.0b
Counts
3 → 1
Alt Table
StatusErrorProgram
0.0b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 50 to 35 computations (30% saved)

localize8.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(cos.f64 re)
0.0b
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))

series4.0ms (0.1%)

Counts
2 → 12
Calls

2 calls:

2.0ms
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
2.0ms
(cos.f64 re)

rewrite108.0ms (1.5%)

Algorithm
batch-egg-rewrite
egg-rewrite
Rules
444×log1p-udef_binary64
250×log1p-expm1-u_binary64
250×expm1-log1p-u_binary64
231×add-cbrt-cube_binary64
230×add-cube-cbrt_binary64
Counts
2 → 33
Calls

2 calls:

107.0ms
(cos.f64 re)
107.0ms
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0813
116413
28313
0610
112610
27910
033
1583
26553
347333
455973
000
100

simplify72.0ms (1%)

Algorithm
egg-herbie
Rules
1019×fma-neg_binary64
780×cancel-sign-sub-inv_binary64
574×unswap-sqr_binary64
394×associate-*l*_binary64
387×fma-def_binary64
Counts
45 → 49
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
037139
193133
2210125
3582123
41952123
54875123
64987123
74963123

prune38.0ms (0.5%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New47249
Fresh000
Picked101
Done000
Total48250
Error
0.0b
Counts
50 → 2
Alt Table
StatusErrorProgram
0.8b
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
0.1b
(*.f64 (*.f64 1/2 (expm1.f64 (log1p.f64 (cos.f64 re)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 859 to 433 computations (49.6% saved)

localize11.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(cos.f64 re)
0.0b
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
0.1b
(expm1.f64 (log1p.f64 (cos.f64 re)))
0.2b
(log1p.f64 (cos.f64 re))

series201.0ms (2.8%)

Counts
2 → 24
Calls

2 calls:

199.0ms
(log1p.f64 (cos.f64 re))
2.0ms
(expm1.f64 (log1p.f64 (cos.f64 re)))

rewrite85.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
576×log1p-udef_binary64
325×expm1-log1p-u_binary64
324×log1p-expm1-u_binary64
291×add-log-exp_binary64
290×add-exp-log_binary64
Counts
2 → 72
Calls

2 calls:

83.0ms
(expm1.f64 (log1p.f64 (cos.f64 re)))
83.0ms
(log1p.f64 (cos.f64 re))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
058
1778
28488
346348
458228
000
100

simplify90.0ms (1.3%)

Algorithm
egg-herbie
Rules
635×distribute-rgt-neg-in_binary64
547×distribute-lft-neg-in_binary64
519×fma-def_binary64
426×associate-*l*_binary64
365×associate-*r*_binary64
Counts
96 → 88
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
036180
193176
2232170
3694166
42549166
54650166
64971166
74934166

prune84.0ms (1.2%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New1361137
Fresh011
Picked011
Done000
Total1363139
Error
0b
Counts
139 → 3
Alt Table
StatusErrorProgram
0.8b
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
0.8b
(*.f64 (*.f64 1/2 (expm1.f64 (-.f64 (+.f64 1 (log1p.f64 (cos.f64 re))) 1))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
0.1b
(*.f64 (*.f64 1/2 (expm1.f64 (log1p.f64 (cos.f64 re)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 2609 to 1266 computations (51.5% saved)

localize19.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(expm1.f64 (-.f64 (+.f64 1 (log1p.f64 (cos.f64 re))) 1))
0.2b
(log1p.f64 (cos.f64 re))
0.2b
(+.f64 1 (log1p.f64 (cos.f64 re)))
0.8b
(-.f64 (+.f64 1 (log1p.f64 (cos.f64 re))) 1)

series402.0ms (5.6%)

Counts
3 → 36
Calls

3 calls:

206.0ms
(-.f64 (+.f64 1 (log1p.f64 (cos.f64 re))) 1)
194.0ms
(+.f64 1 (log1p.f64 (cos.f64 re)))
2.0ms
(expm1.f64 (-.f64 (+.f64 1 (log1p.f64 (cos.f64 re))) 1))

rewrite81.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
688×expm1-log1p-u_binary64
687×log1p-expm1-u_binary64
268×prod-diff_binary64
187×fma-udef_binary64
144×fma-neg_binary64
Counts
3 → 109
Calls

3 calls:

79.0ms
(expm1.f64 (-.f64 (+.f64 1 (log1p.f64 (cos.f64 re))) 1))
79.0ms
(+.f64 1 (log1p.f64 (cos.f64 re)))
79.0ms
(-.f64 (+.f64 1 (log1p.f64 (cos.f64 re))) 1)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0832
116916
2164216
3490216
4494416
000
100

simplify79.0ms (1.1%)

Algorithm
egg-herbie
Rules
688×fma-def_binary64
635×distribute-rgt-neg-in_binary64
547×distribute-lft-neg-in_binary64
436×cancel-sign-sub-inv_binary64
426×associate-*l*_binary64
Counts
145 → 133
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
041316
1109312
2278304
3837296
43120296
54835296
65131296

prune107.0ms (1.5%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New1750175
Fresh011
Picked011
Done011
Total1753178
Error
0b
Counts
178 → 3
Alt Table
StatusErrorProgram
0.8b
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
0.8b
(*.f64 (*.f64 1/2 (expm1.f64 (-.f64 (+.f64 1 (log1p.f64 (cos.f64 re))) 1))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
0.1b
(*.f64 (*.f64 1/2 (expm1.f64 (log1p.f64 (cos.f64 re)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 3929 to 2105 computations (46.4% saved)

localize6.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
0.0b
(cos.f64 re)

series17.0ms (0.2%)

Counts
1 → 24
Calls

1 calls:

17.0ms
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))

rewrite45.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
767×log1p-expm1-u_binary64
767×expm1-log1p-u_binary64
159×log1p-udef_binary64
89×add-sqr-sqrt_binary64
83×add-log-exp_binary64
Counts
1 → 17
Calls

1 calls:

44.0ms
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0913
118113
2199813
3494113
000
100

simplify68.0ms (1%)

Algorithm
egg-herbie
Rules
584×fma-neg_binary64
578×associate--r+_binary64
354×associate-+l-_binary64
279×associate-+r-_binary64
235×sub-neg_binary64
Counts
41 → 31
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
046448
1127409
2419388
31731382
44995382
54999382
64966382

prune56.0ms (0.8%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New71071
Fresh000
Picked011
Done022
Total71374
Error
0b
Counts
74 → 3
Alt Table
StatusErrorProgram
0.8b
(*.f64 (*.f64 1/2 (cos.f64 re)) (fma.f64 im im 2))
0.8b
(*.f64 (*.f64 1/2 (expm1.f64 (-.f64 (+.f64 1 (log1p.f64 (cos.f64 re))) 1))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
0.1b
(*.f64 (*.f64 1/2 (expm1.f64 (log1p.f64 (cos.f64 re)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 1131 to 751 computations (33.6% saved)

regimes163.0ms (2.3%)

Accuracy

Total 0.0b remaining (25.2%)

Threshold costs 0.0b (25.2%)

Counts
26 → 1
Compiler

Compiled 2258 to 1808 computations (19.9% saved)

simplify2.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
01118
11818
22018
32118
42118

end65.0ms (0.9%)

Compiler

Compiled 71 to 56 computations (21.1% saved)

Profiling

Loading profile data...