Details

Time bar (total: 6.0s)

analyze502.0ms (8.4%)

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 (70.9%)

Results
1.4s2084×body1024valid
1.1s2020×body1024invalid
608.0ms4639×body128valid
361.0ms986×body512valid
350.0ms1049×body512invalid
131.0ms540×body256valid
128.0ms509×body256invalid
98.0ms691×body128invalid
9.0msbody2048valid
Compiler

Compiled 28 to 22 computations (21.4% saved)

preprocess47.0ms (0.8%)

Algorithm
egg-herbie
Rules
748×times-frac_binary64
390×fma-def_binary64
320×unswap-sqr_binary64
302×associate-*l*_binary64
234×associate-/l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01836
14936
213136
325634
437334
567234
6152634
7265134
8380334
9454934
022
Stop Event
saturated
node limit
Compiler

Compiled 13 to 10 computations (23.1% saved)

simplify33.0ms (0.5%)

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)

localize11.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
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))

series16.0ms (0.3%)

Counts
2 → 32
Calls

9 calls:

3.0ms
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
im
inf
3.0ms
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
im
-inf
2.0ms
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
re
0
2.0ms
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
re
-inf
2.0ms
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
re
inf

rewrite77.0ms (1.3%)

Algorithm
egg-rewrite-iter-limit
egg-rewrite
batch-egg-rewrite
Rules
119×add-sqr-sqrt_binary64
119×add-sqr-sqrt_binary64
112×log1p-expm1-u_binary64
112×expm1-log1p-u_binary64
112×log1p-expm1-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01128
123328
2376328
0610
112610
2204910
0610
01118
123318
2374018
01118
Stop Event
iter limit
unsound
iter limit
unsound
unsound
Counts
2 → 19

simplify35.0ms (0.6%)

Algorithm
egg-herbie
Rules
705×fma-neg_binary64
438×fma-def_binary64
241×sub-neg_binary64
190×distribute-rgt-out_binary64
181×associate-*r*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
076668
1216614
2679594
32964554
Stop Event
node limit
Counts
51 → 46

prune38.0ms (0.6%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New44246
Fresh000
Picked011
Done000
Total44347
Error
0b
Counts
47 → 3
Alt Table
StatusErrorProgram
0.0b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.8b
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (*.f64 (cbrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (cbrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (cbrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
1.2b
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (cos.f64 re)))
Compiler

Compiled 963 to 471 computations (51.1% saved)

localize13.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (cos.f64 re)))
0.0b
(*.f64 (cos.f64 re) (pow.f64 im 4))
0.1b
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
0.1b
(*.f64 (cos.f64 re) (pow.f64 im 2))

series68.0ms (1.1%)

Counts
4 → 22
Calls

24 calls:

9.0ms
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (cos.f64 re)))
re
inf
6.0ms
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (cos.f64 re)))
re
-inf
6.0ms
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (cos.f64 re)))
re
0
5.0ms
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
re
-inf
4.0ms
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
re
inf

rewrite65.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
291×expm1-udef_binary64
291×log1p-udef_binary64
164×add-sqr-sqrt_binary64
163×log1p-expm1-u_binary64
163×expm1-log1p-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01657
135357
2445057
Stop Event
node limit
Counts
4 → 83

simplify27.0ms (0.5%)

Algorithm
egg-herbie
Rules
676×fma-def_binary64
469×associate-*l*_binary64
420×associate-*r*_binary64
409×cancel-sign-sub-inv_binary64
334×associate--l+_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
081678
1267628
21034540
Stop Event
node limit
Counts
105 → 120

prune114.0ms (1.9%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New1200120
Fresh011
Picked011
Done011
Total1203123
Error
0b
Counts
123 → 3
Alt Table
StatusErrorProgram
0.0b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.8b
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (*.f64 (cbrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (cbrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (cbrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
1.2b
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (cos.f64 re)))
Compiler

Compiled 3595 to 2136 computations (40.6% 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 (*.f64 (cbrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (cbrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (cbrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
0.0b
(*.f64 (cbrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (cbrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
1.0b
(cbrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))

series165.0ms (2.8%)

Counts
3 → 36
Calls

9 calls:

45.0ms
(*.f64 (cbrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (cbrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
im
inf
35.0ms
(*.f64 (cbrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (cbrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
im
-inf
29.0ms
(cbrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
im
inf
26.0ms
(cbrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
im
-inf
20.0ms
(*.f64 (cbrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (cbrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
im
0

rewrite102.0ms (1.7%)

Algorithm
egg-rewrite-iter-limit
egg-rewrite
batch-egg-rewrite
Rules
81×add-sqr-sqrt_binary64
81×add-sqr-sqrt_binary64
81×add-sqr-sqrt_binary64
79×log1p-expm1-u_binary64
79×expm1-log1p-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0936
118036
2255436
0712
114412
2225612
0712
0815
116515
2252315
0815
0910
118010
2255410
0910
Stop Event
iter limit
unsound
iter limit
unsound
iter limit
unsound
unsound
Counts
3 → 28

simplify34.0ms (0.6%)

Algorithm
egg-herbie
Rules
478×cancel-sign-sub-inv_binary64
284×associate-/l/_binary64
259×associate-/r/_binary64
229×fma-neg_binary64
175×fma-def_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
082617
1230613
2644603
32520595
Stop Event
node limit
Counts
64 → 55

prune73.0ms (1.2%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New1510151
Fresh000
Picked011
Done022
Total1513154
Error
0b
Counts
154 → 3
Alt Table
StatusErrorProgram
0.0b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.8b
(*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 (*.f64 (cbrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (cbrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (cbrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
1.2b
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (cos.f64 re)))
Compiler

Compiled 4928 to 1716 computations (65.2% saved)

regimes239.0ms (4%)

Accuracy

Total 0.0b remaining (57.6%)

Threshold costs 0.0b (57.6%)

Counts
37 → 1
Compiler

Compiled 4302 to 3000 computations (30.3% 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
01226
12026
22226
32326
Stop Event
saturated

end64.0ms (1.1%)

Stop Event
done
Compiler

Compiled 101 to 64 computations (36.6% saved)

Profiling

Loading profile data...