Details

Time bar (total: 9.1s)

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

sample4.2s (46.2%)

Results
2.6s3586×body1024valid
611.0ms1382×body512valid
391.0ms2468×body128valid
213.0ms187×body2048valid
187.0ms633×body256valid
Compiler

Compiled 44 to 35 computations (20.5% saved)

simplify118.0ms (1.3%)

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

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
30.0b
Counts
3 → 1
Alt Table
StatusErrorProgram
30.0b
(*.f64 (cos.f64 re) (fma.f64 (exp.f64 im) -1/2 (/.f64 1/2 (exp.f64 im))))
Compiler

Compiled 51 to 34 computations (33.3% saved)

localize11.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (cos.f64 re) (fma.f64 (exp.f64 im) -1/2 (/.f64 1/2 (exp.f64 im))))
3.2b
(fma.f64 (exp.f64 im) -1/2 (/.f64 1/2 (exp.f64 im)))

series37.0ms (0.4%)

Counts
2 → 36
Calls

2 calls:

28.0ms
(*.f64 (cos.f64 re) (fma.f64 (exp.f64 im) -1/2 (/.f64 1/2 (exp.f64 im))))
9.0ms
(fma.f64 (exp.f64 im) -1/2 (/.f64 1/2 (exp.f64 im)))

rewrite10.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
add-sqr-sqrt_binary64
*-un-lft-identity_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
add-exp-log_binary64
Counts
2 → 32
Calls

2 calls:

8.0ms
(*.f64 (cos.f64 re) (fma.f64 (exp.f64 im) -1/2 (/.f64 1/2 (exp.f64 im))))
1.0ms
(fma.f64 (exp.f64 im) -1/2 (/.f64 1/2 (exp.f64 im)))

simplify132.0ms (1.5%)

Algorithm
egg-herbie
Rules
528×fma-def_binary64
448×associate-*l*_binary64
436×sub-neg_binary64
372×associate-*r*_binary64
187×associate--r+_binary64
Counts
68 → 72
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01241448
13351322
211041296
340701296
449761296
549451296

prune91.0ms (1%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New71172
Fresh000
Picked011
Done000
Total71273
Error
0.1b
Counts
73 → 2
Alt Table
StatusErrorProgram
7.6b
(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))))))
30.0b
(*.f64 (cos.f64 re) (fma.f64 (exp.f64 im) -1/2 (/.f64 1/2 (exp.f64 im))))
Compiler

Compiled 1457 to 807 computations (44.6% saved)

localize30.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

series113.0ms (1.2%)

Counts
4 → 16
Calls

4 calls:

38.0ms
(*.f64 1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))
33.0ms
(*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
28.0ms
(*.f64 (cos.f64 re) (pow.f64 im 3))
14.0ms
(*.f64 (cos.f64 re) im)

rewrite23.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
31×add-exp-log_binary64
21×add-sqr-sqrt_binary64
18×add-cbrt-cube_binary64
18×prod-exp_binary64
17×associate-*r*_binary64
Counts
4 → 95
Calls

4 calls:

5.0ms
(*.f64 1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))
5.0ms
(*.f64 (cos.f64 re) (pow.f64 im 3))
5.0ms
(*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
3.0ms
(*.f64 (cos.f64 re) im)

simplify121.0ms (1.3%)

Algorithm
egg-herbie
Rules
827×fma-neg_binary64
476×fma-def_binary64
346×cancel-sign-sub-inv_binary64
312×associate-*r*_binary64
258×associate-*l*_binary64
Counts
111 → 164
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01961704
14731481
216871413
335691412
448701410
549241410

prune236.0ms (2.6%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New1595164
Fresh000
Picked011
Done011
Total1597166
Error
0.0b
Counts
166 → 7
Alt Table
StatusErrorProgram
7.6b
(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))))))
30.0b
(*.f64 (cos.f64 re) (fma.f64 (exp.f64 im) -1/2 (/.f64 1/2 (exp.f64 im))))
46.2b
(neg.f64 (+.f64 (*.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 im)) (*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 im))) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))))
8.4b
(neg.f64 (+.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 (cbrt.f64 im) 2)) (cbrt.f64 im)) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))))
28.8b
(neg.f64 (+.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 (cos.f64 re) (cos.f64 re)) (cos.f64 re)) (*.f64 (*.f64 im im) im))) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))))
7.9b
(neg.f64 (+.f64 (*.f64 (*.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 (cos.f64 re))) (*.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))))))
38.4b
(neg.f64 (+.f64 (*.f64 (*.f64 (cos.f64 re) (sqrt.f64 im)) (sqrt.f64 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 5218 to 3121 computations (40.2% saved)

localize39.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (*.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 (cos.f64 re))) (*.f64 (cbrt.f64 (cos.f64 re)) im))
0.3b
(*.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 (cos.f64 re)))
0.3b
(*.f64 1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))
0.3b
(cbrt.f64 (cos.f64 re))

series792.0ms (8.7%)

Counts
3 → 48
Calls

3 calls:

424.0ms
(*.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 (cos.f64 re)))
354.0ms
(cbrt.f64 (cos.f64 re))
14.0ms
(*.f64 (*.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 (cos.f64 re))) (*.f64 (cbrt.f64 (cos.f64 re)) im))

rewrite23.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
22×pow1_binary64
20×add-sqr-sqrt_binary64
19×cbrt-prod_binary64
17×add-exp-log_binary64
12×*-un-lft-identity_binary64
Counts
3 → 79
Calls

3 calls:

10.0ms
(*.f64 (*.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 (cos.f64 re))) (*.f64 (cbrt.f64 (cos.f64 re)) im))
6.0ms
(*.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 (cos.f64 re)))
1.0ms
(cbrt.f64 (cos.f64 re))

simplify132.0ms (1.5%)

Algorithm
egg-herbie
Rules
903×fma-neg_binary64
804×fma-def_binary64
419×*-commutative_binary64
369×sub-neg_binary64
229×cancel-sign-sub-inv_binary64
Counts
127 → 121
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01261274
12811120
29451074
318931046
43942922
54995922
64927922

prune401.0ms (4.4%)

Pruning

8 alts after pruning (5 fresh and 3 done)

PrunedKeptTotal
New2021203
Fresh044
Picked011
Done022
Total2028210
Error
0.0b
Counts
210 → 8
Alt Table
StatusErrorProgram
7.6b
(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))))))
30.0b
(*.f64 (cos.f64 re) (fma.f64 (exp.f64 im) -1/2 (/.f64 1/2 (exp.f64 im))))
46.2b
(neg.f64 (+.f64 (*.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 im)) (*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 im))) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))))
8.4b
(neg.f64 (+.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 (cbrt.f64 im) 2)) (cbrt.f64 im)) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))))
8.1b
(neg.f64 (+.f64 (*.f64 (*.f64 (*.f64 (*.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) (cbrt.f64 (cbrt.f64 (cos.f64 re)))) (*.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) (cbrt.f64 (cbrt.f64 (cos.f64 re))))) (*.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) (cbrt.f64 (cbrt.f64 (cos.f64 re))))) (*.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))))))
28.8b
(neg.f64 (+.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 (cos.f64 re) (cos.f64 re)) (cos.f64 re)) (*.f64 (*.f64 im im) im))) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))))
7.9b
(neg.f64 (+.f64 (*.f64 (*.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 (cos.f64 re))) (*.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))))))
38.4b
(neg.f64 (+.f64 (*.f64 (*.f64 (cos.f64 re) (sqrt.f64 im)) (sqrt.f64 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 7957 to 3877 computations (51.3% saved)

localize39.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (*.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) (cbrt.f64 (cbrt.f64 (cos.f64 re)))) (*.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) (cbrt.f64 (cbrt.f64 (cos.f64 re)))))
0.3b
(*.f64 1/120 (*.f64 (cos.f64 re) (pow.f64 im 5)))
0.3b
(cbrt.f64 (cos.f64 re))
0.3b
(cbrt.f64 (cbrt.f64 (cos.f64 re)))

series638.0ms (7%)

Counts
2 → 24
Calls

2 calls:

327.0ms
(*.f64 (*.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) (cbrt.f64 (cbrt.f64 (cos.f64 re)))) (*.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) (cbrt.f64 (cbrt.f64 (cos.f64 re)))))
311.0ms
(cbrt.f64 (cbrt.f64 (cos.f64 re)))

rewrite28.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
113×pow1_binary64
49×pow-prod-up_binary64
45×pow1/3_binary64
33×pow-sqr_binary64
32×pow-prod-down_binary64
Counts
2 → 92
Calls

2 calls:

16.0ms
(*.f64 (*.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) (cbrt.f64 (cbrt.f64 (cos.f64 re)))) (*.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) (cbrt.f64 (cbrt.f64 (cos.f64 re)))))
1.0ms
(cbrt.f64 (cbrt.f64 (cos.f64 re)))

simplify153.0ms (1.7%)

Algorithm
egg-herbie
Rules
634×fma-def_binary64
511×sub-neg_binary64
488×unswap-sqr_binary64
376×distribute-rgt-neg-in_binary64
360×cancel-sign-sub-inv_binary64
Counts
116 → 96
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0921069
1175858
2403842
31117810
43050806
54340806
64469806
74948806
84876806

prune848.0ms (9.3%)

Pruning

8 alts after pruning (4 fresh and 4 done)

PrunedKeptTotal
New4230423
Fresh044
Picked011
Done033
Total4238431
Error
0.0b
Counts
431 → 8
Alt Table
StatusErrorProgram
7.6b
(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))))))
30.0b
(*.f64 (cos.f64 re) (fma.f64 (exp.f64 im) -1/2 (/.f64 1/2 (exp.f64 im))))
46.2b
(neg.f64 (+.f64 (*.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 im)) (*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 im))) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))))
8.4b
(neg.f64 (+.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 (cbrt.f64 im) 2)) (cbrt.f64 im)) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))))
8.1b
(neg.f64 (+.f64 (*.f64 (*.f64 (*.f64 (*.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) (cbrt.f64 (cbrt.f64 (cos.f64 re)))) (*.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) (cbrt.f64 (cbrt.f64 (cos.f64 re))))) (*.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) (cbrt.f64 (cbrt.f64 (cos.f64 re))))) (*.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))))))
28.8b
(neg.f64 (+.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 (cos.f64 re) (cos.f64 re)) (cos.f64 re)) (*.f64 (*.f64 im im) im))) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3))) (*.f64 1/120 (*.f64 (cos.f64 re) (pow.f64 im 5))))))
7.9b
(neg.f64 (+.f64 (*.f64 (*.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 (cos.f64 re))) (*.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))))))
38.4b
(neg.f64 (+.f64 (*.f64 (*.f64 (cos.f64 re) (sqrt.f64 im)) (sqrt.f64 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 24846 to 8426 computations (66.1% saved)

regimes612.0ms (6.7%)

Accuracy

Total 0.2b remaining (83.2%)

Threshold costs 0.2b (83.2%)

Counts
53 → 3
Compiler

Compiled 9696 to 6072 computations (37.4% saved)

bsearch5.0ms (0.1%)

Compiler

Compiled 9 to 7 computations (22.2% saved)

simplify14.0ms (0.2%)

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

Useful iterations: 2 (0.0ms)

IterNodesCost
03585
15685
27883
310983
413283
514383
614983
715183
814983

end233.0ms (2.6%)

Compiler

Compiled 366 to 215 computations (41.3% saved)

Profiling

Loading profile data...