Details

Time bar (total: 6.2s)

analyze478.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.2s (68.7%)

Results
1.4s2043×body1024valid
1.1s2077×body1024invalid
609.0ms4664×body128valid
384.0ms1064×body512valid
338.0ms1008×body512invalid
129.0ms517×body256invalid
121.0ms482×body256valid
110.0ms801×body128invalid
5.0msbody2048valid
1.0msbody2048invalid
Compiler

Compiled 41 to 32 computations (22% saved)

simplify35.0ms (0.6%)

Algorithm
egg-herbie
Rules
529×associate-/l*_binary64
430×unswap-sqr_binary64
374×times-frac_binary64
351×fma-def_binary64
340×associate-/r/_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01118
12818
27018
313417
419417
534717
678317
7135617
8397517
9449817
Stop Event
node limit
Counts
1 → 2

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 3 expressions with local error:

NewErrorProgram
0.0b
(cos.f64 re)
0.0b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
0.0b
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))

series19.0ms (0.3%)

Counts
3 → 36
Calls

3 calls:

16.0ms
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
2.0ms
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
1.0ms
(cos.f64 re)

rewrite100.0ms (1.6%)

Algorithm
egg-rewrite
batch-egg-rewrite
Rules
267×log1p-expm1-u_binary64
267×expm1-log1p-u_binary64
245×add-cbrt-cube_binary64
244×add-cube-cbrt_binary64
241×add-log-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01131
123331
2376331
0610
112610
2204910
0610
01118
123318
2374018
01118
033
1583
26793
Stop Event
node limit
iter limit
unsound
iter limit
unsound
unsound
Counts
3 → 52
Calls

3 calls:

99.0ms
(cos.f64 re)
99.0ms
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
99.0ms
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))

simplify42.0ms (0.7%)

Algorithm
egg-herbie
Rules
816×fma-neg_binary64
476×fma-def_binary64
279×sub-neg_binary64
212×distribute-rgt-neg-in_binary64
204×associate-*r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
085724
1246666
2773642
33310642
Stop Event
node limit
Counts
88 → 86

prune58.0ms (0.9%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New83386
Fresh000
Picked011
Done000
Total83487
Error
0b
Counts
87 → 4
Alt Table
StatusErrorProgram
1.0b
(log.f64 (exp.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
59.3b
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (*.f64 (exp.f64 im) (exp.f64 im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
1.2b
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
0.0b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 1683 to 790 computations (53.1% saved)

localize11.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
0.0b
(*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
0.1b
(exp.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
0.3b
(log.f64 (exp.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))

series49.0ms (0.8%)

Counts
3 → 72
Calls

3 calls:

23.0ms
(exp.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
14.0ms
(log.f64 (exp.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
11.0ms
(*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))

rewrite106.0ms (1.7%)

Algorithm
egg-rewrite
batch-egg-rewrite
Rules
127×add-sqr-sqrt_binary64
120×log1p-expm1-u_binary64
120×expm1-log1p-u_binary64
118×add-cbrt-cube_binary64
118×add-log-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01356
125556
2397156
01318
125518
2397118
01318
01220
125020
2396020
01220
0915
119015
2316515
0915
Stop Event
iter limit
unsound
iter limit
unsound
iter limit
unsound
unsound
Counts
3 → 28
Calls

3 calls:

106.0ms
(*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
106.0ms
(exp.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
106.0ms
(log.f64 (exp.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))

simplify54.0ms (0.9%)

Algorithm
egg-herbie
Rules
657×cancel-sign-sub-inv_binary64
352×distribute-rgt-out_binary64
328×associate-*r*_binary64
313×fma-def_binary64
224×associate-*l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02232515
17702186
229382079
Stop Event
node limit
Counts
100 → 80

prune84.0ms (1.4%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New991100
Fresh112
Picked011
Done011
Total1004104
Error
0b
Counts
104 → 4
Alt Table
StatusErrorProgram
1.0b
(log.f64 (exp.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
59.3b
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (*.f64 (exp.f64 im) (exp.f64 im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
0.0b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.2b
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (cos.f64 re))
Compiler

Compiled 3088 to 1506 computations (51.2% saved)

localize6.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series34.0ms (0.6%)

Counts
3 → 72
Calls

3 calls:

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

rewrite42.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
693×log1p-expm1-u_binary64
693×expm1-log1p-u_binary64
144×expm1-udef_binary64
144×log1p-udef_binary64
89×prod-diff_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0830
116030
2188330
Stop Event
node limit
Counts
3 → 53
Calls

3 calls:

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

simplify41.0ms (0.7%)

Algorithm
egg-herbie
Rules
340×fma-def_binary64
322×distribute-rgt-neg-in_binary64
318×sub-neg_binary64
309×distribute-lft-neg-in_binary64
269×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
062918
1186904
2647823
33254818
Stop Event
node limit
Counts
125 → 84

prune134.0ms (2.2%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New1640164
Fresh011
Picked011
Done022
Total1644168
Error
0b
Counts
168 → 4
Alt Table
StatusErrorProgram
1.0b
(log.f64 (exp.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
59.3b
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (*.f64 (exp.f64 im) (exp.f64 im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
0.0b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.2b
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (cos.f64 re))
Compiler

Compiled 2749 to 1338 computations (51.3% saved)

localize13.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (exp.f64 im) (exp.f64 im))
0.3b
(/.f64 (-.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (*.f64 (exp.f64 im) (exp.f64 im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
5.9b
(-.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (*.f64 (exp.f64 im) (exp.f64 im)))
6.0b
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))

series35.0ms (0.6%)

Counts
4 → 44
Calls

4 calls:

21.0ms
(/.f64 (-.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (*.f64 (exp.f64 im) (exp.f64 im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
9.0ms
(-.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (*.f64 (exp.f64 im) (exp.f64 im)))
3.0ms
(*.f64 (exp.f64 im) (exp.f64 im))
2.0ms
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))

rewrite146.0ms (2.4%)

Algorithm
egg-rewrite
batch-egg-rewrite
Rules
1017×prod-diff_binary64
921×expm1-log1p-u_binary64
401×log1p-expm1-u_binary64
365×add-log-exp_binary64
357×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01040
123640
2426440
0610
112710
2207710
0610
0816
118014
226438
01028
123628
2437528
01028
046
1776
28836
Stop Event
node limit
iter limit
unsound
node limit
iter limit
unsound
unsound
Counts
4 → 108
Calls

4 calls:

144.0ms
(*.f64 (exp.f64 im) (exp.f64 im))
144.0ms
(/.f64 (-.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (*.f64 (exp.f64 im) (exp.f64 im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
144.0ms
(-.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (*.f64 (exp.f64 im) (exp.f64 im)))
144.0ms
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))

simplify34.0ms (0.5%)

Algorithm
egg-herbie
Rules
932×fma-neg_binary64
556×cancel-sign-sub-inv_binary64
363×fma-def_binary64
220×times-frac_binary64
125×sub-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
080652
1229642
2656596
32340492
Stop Event
node limit
Counts
152 → 145

prune63.0ms (1%)

Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New1450145
Fresh000
Picked011
Done033
Total1454149
Error
0b
Counts
149 → 4
Alt Table
StatusErrorProgram
1.0b
(log.f64 (exp.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
59.3b
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (*.f64 (exp.f64 im) (exp.f64 im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
0.0b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.2b
(fma.f64 1/2 (*.f64 im (*.f64 im (cos.f64 re))) (cos.f64 re))
Compiler

Compiled 3907 to 1412 computations (63.9% saved)

regimes253.0ms (4.1%)

Accuracy

Total 0.0b remaining (40.2%)

Threshold costs 0.0b (40.2%)

Counts
44 → 1
Compiler

Compiled 4220 to 2966 computations (29.7% saved)

simplify12.0ms (0.2%)

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
Stop Event
saturated

end70.0ms (1.1%)

Compiler

Compiled 93 to 63 computations (32.3% saved)

Profiling

Loading profile data...