Details

Time bar (total: 19.6s)

analyze1.7s (8.4%)

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
0%99.9%0.1%5
0%99.9%0.1%6
0%93.7%6.3%7
0%93.7%6.3%8
0%90.5%9.5%9
0%90.5%9.5%10
0%89%11%11
0%89%11%12
0%88.2%11.8%13
0%88.2%11.8%14
Compiler

Compiled 15 to 12 computations (20% saved)

sample14.8s (75.3%)

Results
8.9s4088×body8192exit
3.4s4983×body1024valid
727.0ms1784×body512valid
610.0ms1028×body1024invalid
409.0ms421×body2048valid
199.0ms703×body256valid
188.0ms543×body512invalid
72.0ms261×body256invalid
60.0ms376×body128invalid
54.0ms365×body128valid
1.0msbody2048invalid
Compiler

Compiled 29 to 23 computations (20.7% saved)

simplify82.0ms (0.4%)

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.6b
Counts
3 → 1
Alt Table
StatusErrorProgram
58.6b
(*.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%)

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

series22.0ms (0.1%)

Counts
2 → 36
Calls

2 calls:

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

rewrite64.0ms (0.3%)

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)))
10.0ms
(-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))

simplify192.0ms (1%)

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

prune143.0ms (0.7%)

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
0.5b
(neg.f64 (+.f64 (*.f64 (cos.f64 re) im) (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))))
58.6b
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
60.3b
(exp.f64 (+.f64 (log.f64 (*.f64 1/2 (cos.f64 re))) (log.f64 (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))))
Compiler

Compiled 10209 to 3835 computations (62.4% saved)

localize9.0ms (0%)

Local error

Found 3 expressions with local error:

NewErrorProgram
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)))

series45.0ms (0.2%)

Counts
3 → 12
Calls

3 calls:

19.0ms
(*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))
18.0ms
(*.f64 (cos.f64 re) (pow.f64 im 3))
8.0ms
(*.f64 (cos.f64 re) im)

rewrite15.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
20×add-exp-log_binary64
19×add-sqr-sqrt_binary64
16×associate-*r*_binary64
12×add-cbrt-cube_binary64
11×prod-exp_binary64
Counts
3 → 74
Calls

3 calls:

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

simplify108.0ms (0.5%)

Algorithm
egg-herbie
Rules
770×fma-neg_binary64
443×*-commutative_binary64
358×fma-def_binary64
274×distribute-rgt-neg-in_binary64
261×cancel-sign-sub-inv_binary64
Counts
86 → 127
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01421257
13361102
211771062
327191055
447821029
549791029
649321029

prune109.0ms (0.6%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New1216127
Fresh011
Picked011
Done011
Total1219130
Error
0.1b
Counts
130 → 9
Alt Table
StatusErrorProgram
1.8b
(neg.f64 (+.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 re) im)) (cbrt.f64 (*.f64 (cos.f64 re) im))) (cbrt.f64 (*.f64 (cos.f64 re) im))) (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))))
39.0b
(neg.f64 (+.f64 (cbrt.f64 (pow.f64 (*.f64 im (cos.f64 re)) 3)) (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))))
0.5b
(neg.f64 (+.f64 (*.f64 (cos.f64 re) im) (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))))
58.6b
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
1.9b
(neg.f64 (+.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 (cbrt.f64 im) 2)) (cbrt.f64 im)) (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))))
16.5b
(neg.f64 (+.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) im)) (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))))
38.7b
(neg.f64 (+.f64 (*.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 im)) (*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 im))) (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))))
30.7b
(neg.f64 (+.f64 (*.f64 (sqrt.f64 (*.f64 (cos.f64 re) im)) (sqrt.f64 (*.f64 (cos.f64 re) im))) (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))))
60.3b
(exp.f64 (+.f64 (log.f64 (*.f64 1/2 (cos.f64 re))) (log.f64 (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))))
Compiler

Compiled 2931 to 1663 computations (43.3% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series1.2s (6.2%)

Counts
3 → 72
Calls

3 calls:

746.0ms
(*.f64 (cbrt.f64 (*.f64 (cos.f64 re) im)) (cbrt.f64 (*.f64 (cos.f64 re) im)))
457.0ms
(cbrt.f64 (*.f64 (cos.f64 re) im))
20.0ms
(*.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 re) im)) (cbrt.f64 (*.f64 (cos.f64 re) im))) (cbrt.f64 (*.f64 (cos.f64 re) im)))

rewrite19.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
29×pow1_binary64
16×pow1/3_binary64
11×pow-prod-up_binary64
11×add-sqr-sqrt_binary64
10×add-exp-log_binary64
Counts
3 → 79
Calls

3 calls:

6.0ms
(*.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 re) im)) (cbrt.f64 (*.f64 (cos.f64 re) im))) (cbrt.f64 (*.f64 (cos.f64 re) im)))
4.0ms
(*.f64 (cbrt.f64 (*.f64 (cos.f64 re) im)) (cbrt.f64 (*.f64 (cos.f64 re) im)))
4.0ms
(cbrt.f64 (*.f64 (cos.f64 re) im))

simplify96.0ms (0.5%)

Algorithm
egg-herbie
Rules
703×fma-neg_binary64
515×cancel-sign-sub-inv_binary64
364×*-commutative_binary64
340×fma-def_binary64
319×distribute-rgt-neg-in_binary64
Counts
151 → 143
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01581975
13781721
211571533
327071398
448051398
549211398

prune146.0ms (0.7%)

Pruning

11 alts after pruning (8 fresh and 3 done)

PrunedKeptTotal
New2363239
Fresh156
Picked011
Done022
Total23711248
Error
0.0b
Counts
248 → 11
Alt Table
StatusErrorProgram
16.5b
(neg.f64 (+.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) im)) (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))))
3.3b
(neg.f64 (+.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im (cos.f64 re)))) 8) (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) im)))) (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))))
1.8b
(neg.f64 (+.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 re) im)) (cbrt.f64 (*.f64 (cos.f64 re) im))) (cbrt.f64 (*.f64 (cos.f64 re) im))) (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))))
39.0b
(neg.f64 (+.f64 (cbrt.f64 (pow.f64 (*.f64 im (cos.f64 re)) 3)) (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))))
0.5b
(neg.f64 (+.f64 (*.f64 (cos.f64 re) im) (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))))
58.6b
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
1.8b
(neg.f64 (+.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 re) im)) (cbrt.f64 (*.f64 (cos.f64 re) im))) (*.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 im))) (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))))
28.1b
(neg.f64 (+.f64 (*.f64 (*.f64 (cbrt.f64 (pow.f64 (/.f64 (cos.f64 re) (/.f64 -1 im)) 2)) (pow.f64 (cbrt.f64 -1) 2)) (cbrt.f64 (*.f64 (cos.f64 re) im))) (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))))
1.9b
(neg.f64 (+.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 (cbrt.f64 im) 2)) (cbrt.f64 im)) (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))))
30.7b
(neg.f64 (+.f64 (*.f64 (sqrt.f64 (*.f64 (cos.f64 re) im)) (sqrt.f64 (*.f64 (cos.f64 re) im))) (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))))
60.3b
(exp.f64 (+.f64 (log.f64 (*.f64 1/2 (cos.f64 re))) (log.f64 (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))))
Compiler

Compiled 7919 to 3259 computations (58.8% saved)

localize19.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 re) im)) (cbrt.f64 (*.f64 (cos.f64 re) im))) (*.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 im)))
0.5b
(*.f64 (cbrt.f64 (*.f64 (cos.f64 re) im)) (cbrt.f64 (*.f64 (cos.f64 re) im)))
0.6b
(cbrt.f64 (*.f64 (cos.f64 re) im))
0.6b
(cbrt.f64 im)

series55.0ms (0.3%)

Counts
2 → 36
Calls

2 calls:

32.0ms
(cbrt.f64 im)
22.0ms
(*.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 re) im)) (cbrt.f64 (*.f64 (cos.f64 re) im))) (*.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 im)))

rewrite15.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
14×add-exp-log_binary64
14×pow1_binary64
13×pow-prod-down_binary64
13×pow1/3_binary64
cbrt-unprod_binary64
Counts
2 → 41
Calls

2 calls:

12.0ms
(*.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 re) im)) (cbrt.f64 (*.f64 (cos.f64 re) im))) (*.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 im)))
1.0ms
(cbrt.f64 im)

simplify78.0ms (0.4%)

Algorithm
egg-herbie
Rules
956×fma-neg_binary64
524×cancel-sign-sub-inv_binary64
432×fma-def_binary64
411×*-commutative_binary64
354×unswap-sqr_binary64
Counts
77 → 62
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
086973
1205880
2716872
31505866
43222516
54336516
64887516

prune125.0ms (0.6%)

Pruning

13 alts after pruning (9 fresh and 4 done)

PrunedKeptTotal
New1823185
Fresh167
Picked011
Done033
Total18313196
Error
0.0b
Counts
196 → 13
Alt Table
StatusErrorProgram
0.5b
(neg.f64 (+.f64 (*.f64 (cos.f64 re) im) (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))))
28.1b
(neg.f64 (+.f64 (*.f64 (cbrt.f64 (pow.f64 (*.f64 im (cos.f64 re)) 2)) (*.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 im))) (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))))
28.1b
(neg.f64 (+.f64 (*.f64 (*.f64 (cbrt.f64 (pow.f64 (/.f64 (cos.f64 re) (/.f64 -1 im)) 2)) (pow.f64 (cbrt.f64 -1) 2)) (cbrt.f64 (*.f64 (cos.f64 re) im))) (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))))
2.4b
(neg.f64 (+.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 re) im)) (*.f64 (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 im (cos.f64 re)))) (cbrt.f64 (cbrt.f64 (*.f64 im (cos.f64 re))))) (cbrt.f64 (cbrt.f64 (*.f64 im (cos.f64 re)))))) (*.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 im))) (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))))
16.5b
(neg.f64 (+.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) im)) (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))))
3.3b
(neg.f64 (+.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im (cos.f64 re)))) 8) (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) im)))) (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))))
1.8b
(neg.f64 (+.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 re) im)) (cbrt.f64 (*.f64 (cos.f64 re) im))) (cbrt.f64 (*.f64 (cos.f64 re) im))) (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))))
39.0b
(neg.f64 (+.f64 (cbrt.f64 (pow.f64 (*.f64 im (cos.f64 re)) 3)) (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))))
58.6b
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
1.8b
(neg.f64 (+.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 re) im)) (cbrt.f64 (*.f64 (cos.f64 re) im))) (*.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 im))) (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))))
2.1b
(neg.f64 (+.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 re) im)) (cbrt.f64 (*.f64 (cos.f64 re) im))) (*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 (cbrt.f64 (*.f64 (cbrt.f64 im) (cbrt.f64 im))) (cbrt.f64 (cbrt.f64 im))))) (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))))
30.7b
(neg.f64 (+.f64 (*.f64 (sqrt.f64 (*.f64 (cos.f64 re) im)) (sqrt.f64 (*.f64 (cos.f64 re) im))) (*.f64 1/6 (*.f64 (cos.f64 re) (pow.f64 im 3)))))
60.3b
(exp.f64 (+.f64 (log.f64 (*.f64 1/2 (cos.f64 re))) (log.f64 (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))))
Compiler

Compiled 6219 to 2506 computations (59.7% saved)

regimes376.0ms (1.9%)

Accuracy

Total 0.8b remaining (91.4%)

Threshold costs 0.8b (91.4%)

Counts
58 → 1
Compiler

Compiled 8345 to 5388 computations (35.4% saved)

simplify6.0ms (0%)

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

Useful iterations: 2 (0.0ms)

IterNodesCost
01222
12322
24420
36120
47120
57620
67720
77620

end219.0ms (1.1%)

Compiler

Compiled 367 to 231 computations (37.1% saved)

Profiling

Loading profile data...