Details

Time bar (total: 8.8s)

analyze481.0ms (5.5%)

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 15 to 12 computations (20% saved)

sample6.3s (71%)

Results
3.3s4969×body1024valid
1.1s2020×body1024invalid
670.0ms1737×body512valid
423.0ms441×body2048valid
344.0ms1049×body512invalid
190.0ms688×body256valid
125.0ms509×body256invalid
98.0ms691×body128invalid
63.0ms421×body128valid
Compiler

Compiled 30 to 24 computations (20% saved)

preprocess40.0ms (0.5%)

Algorithm
egg-herbie
Rules
692×fma-def_binary64
564×times-frac_binary64
454×fma-neg_binary64
227×associate-/l*_binary64
166×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01936
14036
29536
325536
453934
591234
6181234
7375134
022
Stop Event
saturated
node limit
Compiler

Compiled 14 to 11 computations (21.4% saved)

simplify31.0ms (0.3%)

Algorithm
egg-herbie
Rules
623×associate-/l*_binary64
462×times-frac_binary64
358×fma-neg_binary64
346×fma-def_binary64
322×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01218
12318
25218
313218
428117
547317
692917
7237617
Stop Event
node limit
Counts
1 → 2

prune3.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 53 to 38 computations (28.3% 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 (-.f64 0 im)) (exp.f64 im)))
5.8b
(-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))

series15.0ms (0.2%)

Counts
2 → 36
Calls

9 calls:

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

rewrite63.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
313×prod-diff_binary64
198×fma-def_binary64
178×expm1-udef_binary64
178×log1p-udef_binary64
144×log-pow_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01228
125224
2343420
Stop Event
node limit
Counts
2 → 110

simplify41.0ms (0.5%)

Algorithm
egg-herbie
Rules
575×fma-def_binary64
428×sub-neg_binary64
236×associate-*l*_binary64
222×associate-*r*_binary64
191×associate--r+_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
095753
1285735
2975706
34287706
Stop Event
node limit
Counts
146 → 138

prune72.0ms (0.8%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New1362138
Fresh000
Picked011
Done000
Total1363139
Error
0.1b
Counts
139 → 3
Alt Table
StatusErrorProgram
44.7b
(sqrt.f64 (pow.f64 (*.f64 (*.f64 2 (sinh.f64 im)) (*.f64 1/2 (cos.f64 re))) 2))
57.0b
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
1.3b
(neg.f64 (+.f64 (*.f64 (cos.f64 re) im) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))))
Compiler

Compiled 2651 to 1454 computations (45.2% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))
0.0b
(*.f64 (cos.f64 re) (pow.f64 im 3))
0.1b
(*.f64 (cos.f64 re) im)
0.1b
(*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))

series59.0ms (0.7%)

Counts
4 → 16
Calls

24 calls:

6.0ms
(*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
re
inf
6.0ms
(*.f64 1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))
im
inf
4.0ms
(*.f64 1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))
re
-inf
4.0ms
(*.f64 (cos.f64 re) (pow.f64 im 3))
re
inf
4.0ms
(*.f64 1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))
re
inf

rewrite56.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
715×log-prod_binary64
260×expm1-udef_binary64
260×log1p-udef_binary64
217×log-pow_binary64
150×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01539
131839
2352939
Stop Event
node limit
Counts
4 → 68

simplify34.0ms (0.4%)

Algorithm
egg-herbie
Rules
498×associate-*l*_binary64
484×associate-*r*_binary64
422×fma-def_binary64
352×unswap-sqr_binary64
346×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
067394
1208347
2816291
34260291
Stop Event
node limit
Counts
84 → 96

prune106.0ms (1.2%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New92496
Fresh011
Picked011
Done011
Total92799
Error
0.1b
Counts
99 → 7
Alt Table
StatusErrorProgram
27.5b
(neg.f64 (+.f64 (*.f64 (cos.f64 re) im) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 (pow.f64 im 5) (-.f64 (fma.f64 (pow.f64 re 4) 1/2880 1/120) (fma.f64 (pow.f64 re 6) 1/86400 (*.f64 re (*.f64 re 1/240))))))))
44.7b
(sqrt.f64 (pow.f64 (*.f64 (*.f64 2 (sinh.f64 im)) (*.f64 1/2 (cos.f64 re))) 2))
57.0b
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
1.3b
(neg.f64 (+.f64 (*.f64 (cos.f64 re) im) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))))
42.3b
(neg.f64 (+.f64 (cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 im 3))) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))))
34.7b
(neg.f64 (+.f64 (pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) im)) 2) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))))
2.5b
(neg.f64 (+.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) im)) 3) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))))
Compiler

Compiled 3138 to 2013 computations (35.9% saved)

localize14.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (cos.f64 re) im)
0.1b
(*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
0.6b
(cbrt.f64 (*.f64 (cos.f64 re) im))
0.7b
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) im)) 3)

series146.0ms (1.7%)

Counts
2 → 24
Calls

12 calls:

28.0ms
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) im)) 3)
re
inf
27.0ms
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) im)) 3)
re
-inf
24.0ms
(cbrt.f64 (*.f64 (cos.f64 re) im))
re
-inf
22.0ms
(cbrt.f64 (*.f64 (cos.f64 re) im))
re
inf
17.0ms
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) im)) 3)
im
-inf

rewrite43.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
638×pow1_binary64
596×add-log-exp_binary64
596×log1p-expm1-u_binary64
596×expm1-log1p-u_binary64
71×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0814
116614
2166914
Stop Event
node limit
Counts
2 → 56

simplify38.0ms (0.4%)

Algorithm
egg-herbie
Rules
535×fma-neg_binary64
356×*-commutative_binary64
330×distribute-lft-neg-in_binary64
329×distribute-rgt-neg-in_binary64
191×associate-*r*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
043272
1124265
2409248
31837244
44903244
Stop Event
node limit
Counts
80 → 72

prune110.0ms (1.2%)

Pruning

11 alts after pruning (8 fresh and 3 done)

PrunedKeptTotal
New1146120
Fresh224
Picked011
Done022
Total11611127
Error
0.0b
Counts
127 → 11
Alt Table
StatusErrorProgram
34.7b
(neg.f64 (+.f64 (pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) im)) 2) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))))
2.9b
(neg.f64 (+.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) im))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) im))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) im)) 2))) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))))
44.7b
(sqrt.f64 (pow.f64 (*.f64 (*.f64 2 (sinh.f64 im)) (*.f64 1/2 (cos.f64 re))) 2))
57.0b
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
1.3b
(neg.f64 (+.f64 (*.f64 (cos.f64 re) im) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))))
3.5b
(neg.f64 (+.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) im))) 2) 3) (cbrt.f64 (*.f64 (cos.f64 re) im))) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))))
36.9b
(neg.f64 (+.f64 (*.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 im) (cos.f64 re))) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))))
2.6b
(neg.f64 (+.f64 (*.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 (cbrt.f64 im) (cos.f64 re))) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))))
1.8b
(neg.f64 (+.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) im)) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))))
2.6b
(neg.f64 (+.f64 (*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 (cbrt.f64 im) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) im)) 2))) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))))
2.5b
(neg.f64 (+.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) im)) 3) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))))
Compiler

Compiled 4339 to 2711 computations (37.5% saved)

localize18.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
0.2b
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) im))
0.2b
(pow.f64 (cbrt.f64 (cos.f64 re)) 2)
0.3b
(cbrt.f64 (cos.f64 re))

series83.0ms (0.9%)

Counts
3 → 48
Calls

12 calls:

20.0ms
(pow.f64 (cbrt.f64 (cos.f64 re)) 2)
re
inf
19.0ms
(pow.f64 (cbrt.f64 (cos.f64 re)) 2)
re
-inf
18.0ms
(cbrt.f64 (cos.f64 re))
re
-inf
17.0ms
(cbrt.f64 (cos.f64 re))
re
inf
2.0ms
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) im))
re
inf

rewrite39.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
769×pow1_binary64
708×log1p-expm1-u_binary64
708×expm1-log1p-u_binary64
86×add-sqr-sqrt_binary64
83×*-un-lft-identity_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0919
118119
2201519
Stop Event
node limit
Counts
3 → 57

simplify39.0ms (0.4%)

Algorithm
egg-herbie
Rules
663×cancel-sign-sub-inv_binary64
422×fma-neg_binary64
403×sub-neg_binary64
255×*-commutative_binary64
211×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
055398
1154397
2432385
31637383
44680383
Stop Event
node limit
Counts
105 → 80

prune185.0ms (2.1%)

Pruning

13 alts after pruning (10 fresh and 3 done)

PrunedKeptTotal
New1313134
Fresh077
Picked101
Done033
Total13213145
Error
0b
Counts
145 → 13
Alt Table
StatusErrorProgram
16.7b
(neg.f64 (+.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (pow.f64 (pow.f64 (cos.f64 re) 1/6) 2) im)) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))))
1.3b
(neg.f64 (+.f64 (*.f64 (cos.f64 re) im) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))))
2.6b
(neg.f64 (+.f64 (*.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 (cbrt.f64 im) (cos.f64 re))) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))))
16.6b
(neg.f64 (+.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 (log.f64 (cos.f64 re)) 1/3)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) im)) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))))
34.7b
(neg.f64 (+.f64 (pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) im)) 2) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))))
2.9b
(neg.f64 (+.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) im))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) im))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) im)) 2))) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))))
44.7b
(sqrt.f64 (pow.f64 (*.f64 (*.f64 2 (sinh.f64 im)) (*.f64 1/2 (cos.f64 re))) 2))
57.0b
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
3.5b
(neg.f64 (+.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) im))) 2) 3) (cbrt.f64 (*.f64 (cos.f64 re) im))) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))))
36.9b
(neg.f64 (+.f64 (*.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 im) (cos.f64 re))) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))))
1.8b
(neg.f64 (+.f64 (*.f64 (-.f64 (exp.f64 (log1p.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2))) 1) (*.f64 (cbrt.f64 (cos.f64 re)) im)) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))))
2.6b
(neg.f64 (+.f64 (*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 (cbrt.f64 im) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) im)) 2))) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))))
2.5b
(neg.f64 (+.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) im)) 3) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))))
Compiler

Compiled 4929 to 2961 computations (39.9% saved)

regimes550.0ms (6.2%)

Accuracy

Total 0.7b remaining (94.3%)

Threshold costs 0.7b (94.3%)

Counts
78 → 1
Compiler

Compiled 13571 to 9456 computations (30.3% saved)

simplify4.0ms (0%)

Algorithm
egg-herbie
Rules
16×*-commutative_binary64
13×+-commutative_binary64
11×sub-neg_binary64
11×neg-sub0_binary64
11×neg-mul-1_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01836
13236
25034
38034
410434
511634
612234
712434
Stop Event
saturated

end265.0ms (3%)

Stop Event
fuel
Compiler

Compiled 439 to 300 computations (31.7% saved)

Profiling

Loading profile data...