Details

Time bar (total: 11.1s)

analyze482.0ms (4.3%)

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.4s (57.7%)

Results
3.3s5013×body1024valid
1.1s2033×body1024invalid
723.0ms1801×body512valid
405.0ms430×body2048valid
378.0ms1098×body512invalid
156.0ms619×body256valid
127.0ms513×body256invalid
110.0ms785×body128invalid
55.0ms393×body128valid
Compiler

Compiled 44 to 35 computations (20.5% saved)

simplify82.0ms (0.7%)

Algorithm
egg-herbie
Rules
626×associate-/l*_binary64
509×div-sub_binary64
462×times-frac_binary64
386×sub-neg_binary64
367×associate-/r*_binary64
Counts
1 → 2
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01218
12218
24918
311118
420817
536217
669217
7151317
8372617
9428717
10485717
11474917

prune3.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
58.0b
Counts
3 → 1
Alt Table
StatusErrorProgram
58.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)

localize9.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)))
6.7b
(-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))

series18.0ms (0.2%)

Counts
2 → 36
Calls

2 calls:

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

rewrite91.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
524×prod-diff_binary64
473×log-prod_binary64
198×fma-def_binary64
178×expm1-udef_binary64
178×log1p-udef_binary64
Counts
2 → 117
Calls

2 calls:

88.0ms
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
88.0ms
(-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01228
125124
2246120
3488820
4531020
000
100

simplify69.0ms (0.6%)

Algorithm
egg-herbie
Rules
575×fma-def_binary64
431×sub-neg_binary64
364×distribute-rgt-neg-in_binary64
344×distribute-lft-neg-in_binary64
287×neg-mul-1_binary64
Counts
153 → 145
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
095753
1277735
2938706
33460706
44642706
54946706

prune72.0ms (0.7%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New1441145
Fresh000
Picked011
Done000
Total1442146
Error
0.1b
Counts
146 → 2
Alt Table
StatusErrorProgram
0.9b
(neg.f64 (fma.f64 im (cos.f64 re) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) 1/6) (*.f64 (pow.f64 im 5) 1/120)))))
58.0b
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
Compiler

Compiled 2755 to 1498 computations (45.6% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series64.0ms (0.6%)

Counts
4 → 72
Calls

4 calls:

29.0ms
(fma.f64 im (cos.f64 re) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) 1/6) (*.f64 (pow.f64 im 5) 1/120))))
27.0ms
(*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) 1/6) (*.f64 (pow.f64 im 5) 1/120)))
4.0ms
(*.f64 (pow.f64 im 3) 1/6)
3.0ms
(*.f64 (pow.f64 im 5) 1/120)

rewrite70.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
436×fma-def_binary64
274×expm1-udef_binary64
274×log1p-udef_binary64
215×fma-neg_binary64
159×add-sqr-sqrt_binary64
Counts
4 → 117
Calls

4 calls:

68.0ms
(*.f64 (pow.f64 im 5) 1/120)
68.0ms
(*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) 1/6) (*.f64 (pow.f64 im 5) 1/120)))
68.0ms
(fma.f64 im (cos.f64 re) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) 1/6) (*.f64 (pow.f64 im 5) 1/120))))
68.0ms
(*.f64 (pow.f64 im 3) 1/6)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01558
132855
2377255
3504255
000
100

simplify74.0ms (0.7%)

Algorithm
egg-herbie
Rules
819×sub-neg_binary64
765×fma-def_binary64
453×cancel-sign-sub-inv_binary64
433×associate--l+_binary64
395×associate-*l*_binary64
Counts
189 → 148
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0791632
12521459
210191327
345491327
453851327

prune170.0ms (1.5%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New1435148
Fresh000
Picked011
Done011
Total1437150
Error
0.1b
Counts
150 → 7
Alt Table
StatusErrorProgram
0.9b
(neg.f64 (fma.f64 im (cos.f64 re) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) 1/6) (*.f64 (pow.f64 im 5) 1/120)))))
36.2b
(neg.f64 (exp.f64 (log.f64 (*.f64 (cos.f64 re) (+.f64 im (fma.f64 (pow.f64 im 3) 1/6 (*.f64 (pow.f64 im 5) 1/120)))))))
30.7b
(neg.f64 (-.f64 (+.f64 (fma.f64 (pow.f64 im 3) (fma.f64 (pow.f64 re 4) 1/144 1/6) (fma.f64 im (*.f64 (pow.f64 re 4) 1/24) (*.f64 1/120 (pow.f64 im 5)))) (fma.f64 (pow.f64 im 5) (*.f64 1/2880 (pow.f64 re 4)) im)) (fma.f64 im (*.f64 1/2 (*.f64 re re)) (*.f64 (*.f64 re re) (+.f64 (*.f64 1/12 (pow.f64 im 3)) (*.f64 1/240 (pow.f64 im 5)))))))
39.8b
(neg.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (+.f64 im (fma.f64 (pow.f64 im 3) 1/6 (*.f64 (pow.f64 im 5) 1/120)))) 3)))
33.8b
(neg.f64 (pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (+.f64 im (fma.f64 (pow.f64 im 3) 1/6 (*.f64 (pow.f64 im 5) 1/120))))) 2))
2.4b
(neg.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 re) (+.f64 im (fma.f64 (pow.f64 im 3) 1/6 (*.f64 (pow.f64 im 5) 1/120))))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (+.f64 im (fma.f64 (pow.f64 im 3) 1/6 (*.f64 (pow.f64 im 5) 1/120))))) 2)))
58.0b
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
Compiler

Compiled 4247 to 2854 computations (32.8% saved)

localize13.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (cos.f64 re) (+.f64 im (fma.f64 (pow.f64 im 3) 1/6 (*.f64 (pow.f64 im 5) 1/120))))
0.3b
(*.f64 (cbrt.f64 (*.f64 (cos.f64 re) (+.f64 im (fma.f64 (pow.f64 im 3) 1/6 (*.f64 (pow.f64 im 5) 1/120))))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (+.f64 im (fma.f64 (pow.f64 im 3) 1/6 (*.f64 (pow.f64 im 5) 1/120))))) 2))
0.5b
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (+.f64 im (fma.f64 (pow.f64 im 3) 1/6 (*.f64 (pow.f64 im 5) 1/120))))) 2)
0.7b
(cbrt.f64 (*.f64 (cos.f64 re) (+.f64 im (fma.f64 (pow.f64 im 3) 1/6 (*.f64 (pow.f64 im 5) 1/120)))))

series1.2s (10.4%)

Counts
4 → 96
Calls

4 calls:

572.0ms
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (+.f64 im (fma.f64 (pow.f64 im 3) 1/6 (*.f64 (pow.f64 im 5) 1/120))))) 2)
526.0ms
(cbrt.f64 (*.f64 (cos.f64 re) (+.f64 im (fma.f64 (pow.f64 im 3) 1/6 (*.f64 (pow.f64 im 5) 1/120)))))
27.0ms
(*.f64 (cbrt.f64 (*.f64 (cos.f64 re) (+.f64 im (fma.f64 (pow.f64 im 3) 1/6 (*.f64 (pow.f64 im 5) 1/120))))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (+.f64 im (fma.f64 (pow.f64 im 3) 1/6 (*.f64 (pow.f64 im 5) 1/120))))) 2))
26.0ms
(*.f64 (cos.f64 re) (+.f64 im (fma.f64 (pow.f64 im 3) 1/6 (*.f64 (pow.f64 im 5) 1/120))))

rewrite75.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
881×prod-diff_binary64
173×add-sqr-sqrt_binary64
168×log1p-expm1-u_binary64
168×expm1-log1p-u_binary64
164×add-cbrt-cube_binary64
Counts
4 → 102
Calls

4 calls:

72.0ms
(*.f64 (cos.f64 re) (+.f64 im (fma.f64 (pow.f64 im 3) 1/6 (*.f64 (pow.f64 im 5) 1/120))))
72.0ms
(*.f64 (cbrt.f64 (*.f64 (cos.f64 re) (+.f64 im (fma.f64 (pow.f64 im 3) 1/6 (*.f64 (pow.f64 im 5) 1/120))))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (+.f64 im (fma.f64 (pow.f64 im 3) 1/6 (*.f64 (pow.f64 im 5) 1/120))))) 2))
72.0ms
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (+.f64 im (fma.f64 (pow.f64 im 3) 1/6 (*.f64 (pow.f64 im 5) 1/120))))) 2)
72.0ms
(cbrt.f64 (*.f64 (cos.f64 re) (+.f64 im (fma.f64 (pow.f64 im 3) 1/6 (*.f64 (pow.f64 im 5) 1/120)))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01895
136995
2396195
3544195
000
100

simplify284.0ms (2.6%)

Algorithm
egg-herbie
Rules
633×associate-*r*_binary64
562×fma-def_binary64
513×associate-*l*_binary64
243×associate-+l+_binary64
177×*-commutative_binary64
Counts
198 → 163
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
04416536
114326067
251696067

prune375.0ms (3.4%)

Pruning

8 alts after pruning (5 fresh and 3 done)

PrunedKeptTotal
New2203223
Fresh224
Picked011
Done022
Total2228230
Error
0.0b
Counts
230 → 8
Alt Table
StatusErrorProgram
33.8b
(neg.f64 (pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (+.f64 im (fma.f64 (pow.f64 im 3) 1/6 (*.f64 (pow.f64 im 5) 1/120))))) 2))
29.0b
(neg.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 re) (+.f64 im (fma.f64 (pow.f64 im 3) 1/6 (*.f64 (pow.f64 im 5) 1/120))))) (cbrt.f64 (*.f64 (pow.f64 (fma.f64 1/120 (pow.f64 im 5) (fma.f64 1/6 (pow.f64 im 3) im)) 2) (pow.f64 (cos.f64 re) 2)))))
0.9b
(neg.f64 (fma.f64 im (cos.f64 re) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) 1/6) (*.f64 (pow.f64 im 5) 1/120)))))
30.7b
(neg.f64 (-.f64 (+.f64 (fma.f64 (pow.f64 im 3) (fma.f64 (pow.f64 re 4) 1/144 1/6) (fma.f64 im (*.f64 (pow.f64 re 4) 1/24) (*.f64 1/120 (pow.f64 im 5)))) (fma.f64 (pow.f64 im 5) (*.f64 1/2880 (pow.f64 re 4)) im)) (fma.f64 im (*.f64 1/2 (*.f64 re re)) (*.f64 (*.f64 re re) (+.f64 (*.f64 1/12 (pow.f64 im 3)) (*.f64 1/240 (pow.f64 im 5)))))))
39.8b
(neg.f64 (cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (+.f64 im (fma.f64 (pow.f64 im 3) 1/6 (*.f64 (pow.f64 im 5) 1/120))) 3))))
28.6b
(neg.f64 (/.f64 (*.f64 (-.f64 (*.f64 im im) (pow.f64 (fma.f64 (pow.f64 im 3) 1/6 (*.f64 (pow.f64 im 5) 1/120)) 2)) (cos.f64 re)) (-.f64 im (fma.f64 (pow.f64 im 3) 1/6 (*.f64 (pow.f64 im 5) 1/120)))))
2.4b
(neg.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 re) (+.f64 im (fma.f64 (pow.f64 im 3) 1/6 (*.f64 (pow.f64 im 5) 1/120))))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (+.f64 im (fma.f64 (pow.f64 im 3) 1/6 (*.f64 (pow.f64 im 5) 1/120))))) 2)))
58.0b
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
Compiler

Compiled 16664 to 12611 computations (24.3% saved)

localize15.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (-.f64 (*.f64 im im) (pow.f64 (fma.f64 (pow.f64 im 3) 1/6 (*.f64 (pow.f64 im 5) 1/120)) 2)) (cos.f64 re))
0.1b
(pow.f64 (fma.f64 (pow.f64 im 3) 1/6 (*.f64 (pow.f64 im 5) 1/120)) 2)
0.1b
(fma.f64 (pow.f64 im 3) 1/6 (*.f64 (pow.f64 im 5) 1/120))
27.7b
(/.f64 (*.f64 (-.f64 (*.f64 im im) (pow.f64 (fma.f64 (pow.f64 im 3) 1/6 (*.f64 (pow.f64 im 5) 1/120)) 2)) (cos.f64 re)) (-.f64 im (fma.f64 (pow.f64 im 3) 1/6 (*.f64 (pow.f64 im 5) 1/120))))

series198.0ms (1.8%)

Counts
4 → 72
Calls

4 calls:

140.0ms
(/.f64 (*.f64 (-.f64 (*.f64 im im) (pow.f64 (fma.f64 (pow.f64 im 3) 1/6 (*.f64 (pow.f64 im 5) 1/120)) 2)) (cos.f64 re)) (-.f64 im (fma.f64 (pow.f64 im 3) 1/6 (*.f64 (pow.f64 im 5) 1/120))))
50.0ms
(*.f64 (-.f64 (*.f64 im im) (pow.f64 (fma.f64 (pow.f64 im 3) 1/6 (*.f64 (pow.f64 im 5) 1/120)) 2)) (cos.f64 re))
4.0ms
(fma.f64 (pow.f64 im 3) 1/6 (*.f64 (pow.f64 im 5) 1/120))
4.0ms
(pow.f64 (fma.f64 (pow.f64 im 3) 1/6 (*.f64 (pow.f64 im 5) 1/120)) 2)

rewrite90.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
558×prod-diff_binary64
199×add-sqr-sqrt_binary64
196×log1p-expm1-u_binary64
196×expm1-log1p-u_binary64
189×add-cbrt-cube_binary64
Counts
4 → 110
Calls

4 calls:

86.0ms
(*.f64 (-.f64 (*.f64 im im) (pow.f64 (fma.f64 (pow.f64 im 3) 1/6 (*.f64 (pow.f64 im 5) 1/120)) 2)) (cos.f64 re))
86.0ms
(pow.f64 (fma.f64 (pow.f64 im 3) 1/6 (*.f64 (pow.f64 im 5) 1/120)) 2)
86.0ms
(fma.f64 (pow.f64 im 3) 1/6 (*.f64 (pow.f64 im 5) 1/120))
86.0ms
(/.f64 (*.f64 (-.f64 (*.f64 im im) (pow.f64 (fma.f64 (pow.f64 im 3) 1/6 (*.f64 (pow.f64 im 5) 1/120)) 2)) (cos.f64 re)) (-.f64 im (fma.f64 (pow.f64 im 3) 1/6 (*.f64 (pow.f64 im 5) 1/120))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
019106
142181
2472881
3571281
000
100

simplify97.0ms (0.9%)

Algorithm
egg-herbie
Rules
409×fma-neg_binary64
321×cancel-sign-sub-inv_binary64
285×fma-def_binary64
231×associate-+r+_binary64
201×sub-neg_binary64
Counts
182 → 164
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01963187
16403175
224153064
347623046
449923046

prune273.0ms (2.5%)

Pruning

9 alts after pruning (5 fresh and 4 done)

PrunedKeptTotal
New1903193
Fresh224
Picked011
Done033
Total1929201
Error
0.0b
Counts
201 → 9
Alt Table
StatusErrorProgram
33.8b
(neg.f64 (pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) (+.f64 im (fma.f64 (pow.f64 im 3) 1/6 (*.f64 (pow.f64 im 5) 1/120))))) 2))
28.6b
(neg.f64 (*.f64 (-.f64 (*.f64 im im) (pow.f64 (fma.f64 (pow.f64 im 3) 1/6 (*.f64 (pow.f64 im 5) 1/120)) 2)) (*.f64 (cos.f64 re) (/.f64 1 (-.f64 im (fma.f64 (pow.f64 im 3) 1/6 (*.f64 (pow.f64 im 5) 1/120)))))))
58.0b
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
1.1b
(neg.f64 (pow.f64 (/.f64 1 (*.f64 (+.f64 im (fma.f64 (pow.f64 im 3) 1/6 (*.f64 (pow.f64 im 5) 1/120))) (cos.f64 re))) -1))
0.9b
(neg.f64 (fma.f64 im (cos.f64 re) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 3) 1/6) (*.f64 (pow.f64 im 5) 1/120)))))
30.7b
(neg.f64 (-.f64 (+.f64 (fma.f64 (pow.f64 im 3) (fma.f64 (pow.f64 re 4) 1/144 1/6) (fma.f64 im (*.f64 (pow.f64 re 4) 1/24) (*.f64 1/120 (pow.f64 im 5)))) (fma.f64 (pow.f64 im 5) (*.f64 1/2880 (pow.f64 re 4)) im)) (fma.f64 im (*.f64 1/2 (*.f64 re re)) (*.f64 (*.f64 re re) (+.f64 (*.f64 1/12 (pow.f64 im 3)) (*.f64 1/240 (pow.f64 im 5)))))))
28.6b
(neg.f64 (*.f64 (*.f64 (-.f64 (*.f64 im im) (pow.f64 (fma.f64 (pow.f64 im 3) 1/6 (*.f64 (pow.f64 im 5) 1/120)) 2)) (cos.f64 re)) (/.f64 1 (-.f64 im (fma.f64 (pow.f64 im 3) 1/6 (*.f64 (pow.f64 im 5) 1/120))))))
28.6b
(neg.f64 (/.f64 (*.f64 (-.f64 (*.f64 im im) (pow.f64 (fma.f64 (pow.f64 im 3) 1/6 (*.f64 (pow.f64 im 5) 1/120)) 2)) (cos.f64 re)) (-.f64 im (fma.f64 (pow.f64 im 3) 1/6 (*.f64 (pow.f64 im 5) 1/120)))))
2.4b
(neg.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 re) (+.f64 im (fma.f64 (pow.f64 im 3) 1/6 (*.f64 (pow.f64 im 5) 1/120))))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) (+.f64 im (fma.f64 (pow.f64 im 3) 1/6 (*.f64 (pow.f64 im 5) 1/120))))) 2)))
Compiler

Compiled 9053 to 6622 computations (26.9% saved)

regimes677.0ms (6.1%)

Accuracy

Total 0.7b remaining (91.4%)

Threshold costs 0.7b (91.4%)

Counts
97 → 1
Compiler

Compiled 15148 to 11564 computations (23.7% saved)

simplify3.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
01527
12127
22327
32427
42427

end224.0ms (2%)

Compiler

Compiled 324 to 246 computations (24.1% saved)

Profiling

Loading profile data...