Details

Time bar (total: 7.3s)

analyze1.0ms (0%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
99.9%0%0.1%1
Compiler

Compiled 15 to 12 computations (20% saved)

sample3.3s (44.9%)

Results
2.0s3516×body1024valid
509.0ms1467×body512valid
299.0ms2497×body128valid
205.0ms212×body2048valid
138.0ms564×body256valid
Compiler

Compiled 44 to 35 computations (20.5% saved)

simplify85.0ms (1.2%)

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
27.3b
Counts
3 → 1
Alt Table
StatusErrorProgram
27.3b
(*.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)))
3.0b
(-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))

series21.0ms (0.3%)

Counts
2 → 36
Calls

2 calls:

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

rewrite75.0ms (1%)

Algorithm
rewrite-expression-head
Rules
234×prod-diff_binary64
138×*-un-lft-identity_binary64
138×add-sqr-sqrt_binary64
134×add-cube-cbrt_binary64
130×exp-sum_binary64
Counts
2 → 210
Calls

2 calls:

17.0ms
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
11.0ms
(-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))

simplify208.0ms (2.8%)

Algorithm
egg-herbie
Rules
849×fma-neg_binary64
353×associate-*l*_binary64
348×cancel-sign-sub-inv_binary64
337×associate-*r*_binary64
312×distribute-rgt-in_binary64
Counts
246 → 262
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03856318
16015551
222104517
345614512
450414512

prune181.0ms (2.5%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New2602262
Fresh000
Picked011
Done000
Total2603263
Error
0.1b
Counts
263 → 3
Alt Table
StatusErrorProgram
27.3b
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
61.5b
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (*.f64 (exp.f64 (-.f64 0 im)) (exp.f64 (-.f64 0 im))) (*.f64 (exp.f64 im) (exp.f64 im))) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))))
9.2b
(*.f64 (cos.f64 re) (-.f64 (neg.f64 im) (*.f64 1/6 (pow.f64 im 3))))
Compiler

Compiled 10229 to 3847 computations (62.4% saved)

localize9.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

series33.0ms (0.4%)

Counts
3 → 36
Calls

3 calls:

25.0ms
(*.f64 (cos.f64 re) (-.f64 (neg.f64 im) (*.f64 1/6 (pow.f64 im 3))))
4.0ms
(-.f64 (neg.f64 im) (*.f64 1/6 (pow.f64 im 3)))
3.0ms
(*.f64 1/6 (pow.f64 im 3))

rewrite24.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
30×prod-diff_binary64
30×add-sqr-sqrt_binary64
21×*-un-lft-identity_binary64
21×add-cube-cbrt_binary64
15×associate-*r*_binary64
Counts
3 → 115
Calls

3 calls:

7.0ms
(*.f64 (cos.f64 re) (-.f64 (neg.f64 im) (*.f64 1/6 (pow.f64 im 3))))
5.0ms
(*.f64 1/6 (pow.f64 im 3))
4.0ms
(-.f64 (neg.f64 im) (*.f64 1/6 (pow.f64 im 3)))

simplify104.0ms (1.4%)

Algorithm
egg-herbie
Rules
749×fma-neg_binary64
674×fma-def_binary64
290×cancel-sign-sub-inv_binary64
206×associate-*r*_binary64
200×distribute-rgt-in_binary64
Counts
151 → 175
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02052805
14522369
214432152
344722150
448772150

prune192.0ms (2.6%)

Pruning

11 alts after pruning (9 fresh and 2 done)

PrunedKeptTotal
New1678175
Fresh011
Picked011
Done011
Total16711178
Error
0.0b
Counts
178 → 11
Alt Table
StatusErrorProgram
9.2b
(*.f64 (cos.f64 re) (-.f64 (neg.f64 im) (*.f64 1/6 (pow.f64 im 3))))
9.8b
(*.f64 (cos.f64 re) (fma.f64 (*.f64 (cbrt.f64 im) (cbrt.f64 im)) (neg.f64 (cbrt.f64 im)) (*.f64 (pow.f64 im 3) -1/6)))
9.8b
(*.f64 (*.f64 (cos.f64 re) (*.f64 (cbrt.f64 (neg.f64 (fma.f64 1/6 (pow.f64 im 3) im))) (cbrt.f64 (neg.f64 (fma.f64 1/6 (pow.f64 im 3) im))))) (cbrt.f64 (-.f64 (neg.f64 im) (*.f64 1/6 (pow.f64 im 3)))))
21.1b
(*.f64 (cos.f64 re) (cbrt.f64 (pow.f64 (neg.f64 (fma.f64 1/6 (pow.f64 im 3) im)) 3)))
9.5b
(*.f64 (*.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 (cos.f64 re))) (*.f64 (neg.f64 (fma.f64 1/6 (pow.f64 im 3) im)) (cbrt.f64 (cos.f64 re))))
27.3b
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
42.2b
(/.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 6) -1/36 (*.f64 im im))) (+.f64 (neg.f64 im) (*.f64 1/6 (pow.f64 im 3))))
61.5b
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (*.f64 (exp.f64 (-.f64 0 im)) (exp.f64 (-.f64 0 im))) (*.f64 (exp.f64 im) (exp.f64 im))) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))))
38.4b
(*.f64 (sqrt.f64 (*.f64 (neg.f64 (fma.f64 1/6 (pow.f64 im 3) im)) (cos.f64 re))) (sqrt.f64 (*.f64 (neg.f64 (fma.f64 1/6 (pow.f64 im 3) im)) (cos.f64 re))))
9.9b
(*.f64 (*.f64 (cbrt.f64 (*.f64 (neg.f64 (fma.f64 1/6 (pow.f64 im 3) im)) (cos.f64 re))) (cbrt.f64 (*.f64 (neg.f64 (fma.f64 1/6 (pow.f64 im 3) im)) (cos.f64 re)))) (cbrt.f64 (*.f64 (neg.f64 (fma.f64 1/6 (pow.f64 im 3) im)) (cos.f64 re))))
36.2b
(*.f64 (*.f64 (cos.f64 re) (sqrt.f64 (neg.f64 (fma.f64 1/6 (pow.f64 im 3) im)))) (sqrt.f64 (-.f64 (neg.f64 im) (*.f64 1/6 (pow.f64 im 3)))))
Compiler

Compiled 3886 to 2431 computations (37.4% saved)

localize13.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

series785.0ms (10.7%)

Counts
4 → 72
Calls

4 calls:

311.0ms
(*.f64 (neg.f64 (fma.f64 1/6 (pow.f64 im 3) im)) (cbrt.f64 (cos.f64 re)))
251.0ms
(*.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 (cos.f64 re)))
197.0ms
(cbrt.f64 (cos.f64 re))
26.0ms
(*.f64 (*.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 (cos.f64 re))) (*.f64 (neg.f64 (fma.f64 1/6 (pow.f64 im 3) im)) (cbrt.f64 (cos.f64 re))))

rewrite29.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
30×add-sqr-sqrt_binary64
25×pow1_binary64
23×cbrt-prod_binary64
20×add-exp-log_binary64
18×*-un-lft-identity_binary64
Counts
4 → 112
Calls

4 calls:

9.0ms
(*.f64 (neg.f64 (fma.f64 1/6 (pow.f64 im 3) im)) (cbrt.f64 (cos.f64 re)))
8.0ms
(*.f64 (*.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 (cos.f64 re))) (*.f64 (neg.f64 (fma.f64 1/6 (pow.f64 im 3) im)) (cbrt.f64 (cos.f64 re))))
5.0ms
(*.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 (cos.f64 re)))
1.0ms
(cbrt.f64 (cos.f64 re))

simplify110.0ms (1.5%)

Algorithm
egg-herbie
Rules
435×cancel-sign-sub-inv_binary64
373×neg-mul-1_binary64
365×associate-*r*_binary64
330×associate-*l*_binary64
284×unswap-sqr_binary64
Counts
184 → 198
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02133669
15672796
223902743
341452726
449722726

prune311.0ms (4.2%)

Pruning

10 alts after pruning (8 fresh and 2 done)

PrunedKeptTotal
New2395244
Fresh538
Picked101
Done022
Total24510255
Error
0.0b
Counts
255 → 10
Alt Table
StatusErrorProgram
9.5b
(*.f64 (*.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 (cos.f64 re))) (*.f64 (neg.f64 (fma.f64 1/6 (pow.f64 im 3) im)) (log1p.f64 (expm1.f64 (cbrt.f64 (cos.f64 re))))))
27.3b
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
9.2b
(*.f64 (cos.f64 re) (-.f64 (neg.f64 im) (*.f64 1/6 (pow.f64 im 3))))
9.8b
(*.f64 (cos.f64 re) (fma.f64 (*.f64 (cbrt.f64 im) (cbrt.f64 im)) (neg.f64 (cbrt.f64 im)) (*.f64 (pow.f64 im 3) -1/6)))
9.5b
(*.f64 (*.f64 (cbrt.f64 (*.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 (cos.f64 re)))) (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) 4)) (*.f64 (neg.f64 (fma.f64 1/6 (pow.f64 im 3) im)) (cbrt.f64 (cos.f64 re))))
22.6b
(*.f64 (expm1.f64 (log1p.f64 (pow.f64 (cos.f64 re) 2/3))) (*.f64 (neg.f64 (fma.f64 1/6 (pow.f64 im 3) im)) (cbrt.f64 (cos.f64 re))))
22.6b
(*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 (pow.f64 (cos.f64 re) 2/3) (neg.f64 (fma.f64 1/6 (pow.f64 im 3) im))))
9.5b
(*.f64 (*.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 (cos.f64 re))) (*.f64 (neg.f64 (fma.f64 1/6 (pow.f64 im 3) im)) (*.f64 (*.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) (cbrt.f64 (cbrt.f64 (cos.f64 re)))) (cbrt.f64 (cbrt.f64 (cos.f64 re))))))
61.5b
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (*.f64 (exp.f64 (-.f64 0 im)) (exp.f64 (-.f64 0 im))) (*.f64 (exp.f64 im) (exp.f64 im))) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))))
36.2b
(*.f64 (*.f64 (cos.f64 re) (sqrt.f64 (neg.f64 (fma.f64 1/6 (pow.f64 im 3) im)))) (sqrt.f64 (-.f64 (neg.f64 im) (*.f64 1/6 (pow.f64 im 3)))))
Compiler

Compiled 6617 to 3208 computations (51.5% saved)

localize14.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(log1p.f64 (expm1.f64 (cbrt.f64 (cos.f64 re))))
0.2b
(*.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 (cos.f64 re)))
0.3b
(cbrt.f64 (cos.f64 re))
0.7b
(expm1.f64 (cbrt.f64 (cos.f64 re)))

series367.0ms (5%)

Counts
2 → 24
Calls

2 calls:

184.0ms
(expm1.f64 (cbrt.f64 (cos.f64 re)))
183.0ms
(log1p.f64 (expm1.f64 (cbrt.f64 (cos.f64 re))))

rewrite1.0ms (0%)

Algorithm
rewrite-expression-head
Rules
log1p-expm1-u_binary64
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
Counts
2 → 22
Calls

2 calls:

0.0ms
(expm1.f64 (cbrt.f64 (cos.f64 re)))
0.0ms
(log1p.f64 (expm1.f64 (cbrt.f64 (cos.f64 re))))

simplify73.0ms (1%)

Algorithm
egg-herbie
Rules
562×cancel-sign-sub-inv_binary64
551×distribute-rgt-neg-in_binary64
463×distribute-lft-neg-in_binary64
443×sub-neg_binary64
309×neg-mul-1_binary64
Counts
46 → 46
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
069440
1148405
2404395
31300392
43119392
54583392
64947392

prune440.0ms (6%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New1781179
Fresh167
Picked101
Done022
Total1809189
Error
0.0b
Counts
189 → 9
Alt Table
StatusErrorProgram
61.5b
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (*.f64 (exp.f64 (-.f64 0 im)) (exp.f64 (-.f64 0 im))) (*.f64 (exp.f64 im) (exp.f64 im))) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))))
9.5b
(*.f64 (exp.f64 (log.f64 (*.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 (cos.f64 re))))) (*.f64 (neg.f64 (fma.f64 1/6 (pow.f64 im 3) im)) (log1p.f64 (expm1.f64 (cbrt.f64 (cos.f64 re))))))
9.2b
(*.f64 (cos.f64 re) (-.f64 (neg.f64 im) (*.f64 1/6 (pow.f64 im 3))))
9.8b
(*.f64 (cos.f64 re) (fma.f64 (*.f64 (cbrt.f64 im) (cbrt.f64 im)) (neg.f64 (cbrt.f64 im)) (*.f64 (pow.f64 im 3) -1/6)))
9.5b
(*.f64 (*.f64 (cbrt.f64 (*.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 (cos.f64 re)))) (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) 4)) (*.f64 (neg.f64 (fma.f64 1/6 (pow.f64 im 3) im)) (cbrt.f64 (cos.f64 re))))
22.6b
(*.f64 (expm1.f64 (log1p.f64 (pow.f64 (cos.f64 re) 2/3))) (*.f64 (neg.f64 (fma.f64 1/6 (pow.f64 im 3) im)) (cbrt.f64 (cos.f64 re))))
22.6b
(*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 (pow.f64 (cos.f64 re) 2/3) (neg.f64 (fma.f64 1/6 (pow.f64 im 3) im))))
27.3b
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
36.2b
(*.f64 (*.f64 (cos.f64 re) (sqrt.f64 (neg.f64 (fma.f64 1/6 (pow.f64 im 3) im)))) (sqrt.f64 (-.f64 (neg.f64 im) (*.f64 1/6 (pow.f64 im 3)))))
Compiler

Compiled 4891 to 2168 computations (55.7% saved)

regimes748.0ms (10.2%)

Accuracy

Total 0.1b remaining (69.8%)

Threshold costs 0.1b (69.8%)

Counts
102 → 3
Compiler

Compiled 12840 to 8688 computations (32.3% saved)

bsearch4.0ms (0%)

Compiler

Compiled 9 to 7 computations (22.2% saved)

simplify5.0ms (0.1%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
02873
14971
28071
310371
411371
511771
611871
711571

end194.0ms (2.7%)

Compiler

Compiled 283 to 187 computations (33.9% saved)

Profiling

Loading profile data...