Details

Time bar (total: 5.9s)

analyze472.0ms (7.9%)

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

Results
1.4s2084×body1024valid
1.1s2020×body1024invalid
640.0ms4639×body128valid
374.0ms986×body512valid
356.0ms1049×body512invalid
142.0ms540×body256valid
119.0ms509×body256invalid
94.0ms691×body128invalid
10.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.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 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))

series17.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)))
re
-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)))
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

rewrite76.0ms (1.3%)

Algorithm
egg-rewrite-iter-limit
egg-rewrite
batch-egg-rewrite
Rules
121×add-sqr-sqrt_binary64
121×add-sqr-sqrt_binary64
116×*-un-lft-identity_binary64
116×pow1_binary64
116×*-un-lft-identity_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01128
123328
2374428
0610
112610
2205210
0610
01118
123318
2377218
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

prune37.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
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)))
0.0b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 963 to 471 computations (51.1% saved)

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

series65.0ms (1.1%)

Counts
4 → 22
Calls

24 calls:

8.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
4.0ms
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
re
-inf
3.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
171×add-sqr-sqrt_binary64
166×pow1_binary64
164×*-un-lft-identity_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01657
135457
2446357
Stop Event
node limit
Counts
4 → 83

simplify26.0ms (0.4%)

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
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)))
0.0b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 3595 to 2135 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)))

series157.0ms (2.6%)

Counts
3 → 36
Calls

9 calls:

39.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
28.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
19.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

rewrite114.0ms (1.9%)

Algorithm
egg-rewrite-iter-limit
egg-rewrite
batch-egg-rewrite
Rules
84×add-sqr-sqrt_binary64
84×add-sqr-sqrt_binary64
84×add-sqr-sqrt_binary64
81×add-log-exp_binary64
81×pow1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0936
118036
2258436
0712
114412
2228412
0712
0815
116515
2254015
0815
0910
118010
2258410
0910
Stop Event
iter limit
unsound
iter limit
unsound
iter limit
unsound
unsound
Counts
3 → 28

simplify41.0ms (0.7%)

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

prune82.0ms (1.4%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New1510151
Fresh000
Picked011
Done022
Total1513154
Error
0b
Counts
154 → 3
Alt Table
StatusErrorProgram
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)))
0.0b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 4928 to 1716 computations (65.2% saved)

regimes236.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

end66.0ms (1.1%)

Stop Event
done
Compiler

Compiled 101 to 64 computations (36.6% saved)

Profiling

Loading profile data...