Details

Time bar (total: 9.4s)

analyze1.3s (13.9%)

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
12.5%87.4%0.1%7
18.7%81.1%0.1%8
26.5%72.9%0.5%9
38.2%60.7%1.1%10
41.7%54.9%3.4%11
47.6%47.4%5%12
53.4%39.4%7.2%13
54.9%34.5%10.6%14
Compiler

Compiled 20 to 15 computations (25% saved)

sample3.1s (32.9%)

Symmetry

(sort c s)

Results
1.1s6310×body128valid
681.0ms970×body1024valid
357.0ms1962×body128invalid
307.0ms650×body512valid
165.0ms259×body512invalid
151.0ms218×body1024invalid
103.0ms323×body256valid
45.0ms138×body256invalid
3.0msbody2048valid
Compiler

Compiled 59 to 44 computations (25.4% saved)

simplify109.0ms (1.2%)

Algorithm
egg-herbie
Rules
750×unswap-sqr_binary64
704×sqr-pow_binary64
582×*-commutative_binary64
574×fabs-mul_binary64
502×cube-prod_binary64
Counts
1 → 2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01324
12924
26824
321424
483324
5136724
6208424
7214924
8223024
9233124
10246424
11250124
12258024
13285324
14327724
15380424
16451824
17491124

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
25.3b
Counts
3 → 1
Alt Table
StatusErrorProgram
25.3b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (*.f64 (*.f64 x (pow.f64 s 2)) x)))
Compiler

Compiled 73 to 51 computations (30.1% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(cos.f64 (*.f64 2 x))
2.4b
(*.f64 (*.f64 x (pow.f64 s 2)) x)
9.7b
(*.f64 x (pow.f64 s 2))
17.4b
(*.f64 (pow.f64 c 2) (*.f64 (*.f64 x (pow.f64 s 2)) x))

series68.0ms (0.7%)

Counts
4 → 88
Calls

4 calls:

45.0ms
(*.f64 (pow.f64 c 2) (*.f64 (*.f64 x (pow.f64 s 2)) x))
12.0ms
(*.f64 (*.f64 x (pow.f64 s 2)) x)
9.0ms
(*.f64 x (pow.f64 s 2))
2.0ms
(cos.f64 (*.f64 2 x))

rewrite23.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
62×add-exp-log_binary64
46×prod-exp_binary64
20×add-cbrt-cube_binary64
16×add-sqr-sqrt_binary64
12×associate-*r*_binary64
Counts
4 → 97
Calls

4 calls:

8.0ms
(*.f64 (pow.f64 c 2) (*.f64 (*.f64 x (pow.f64 s 2)) x))
4.0ms
(*.f64 (*.f64 x (pow.f64 s 2)) x)
4.0ms
(*.f64 x (pow.f64 s 2))
1.0ms
(cos.f64 (*.f64 2 x))

simplify778.0ms (8.3%)

Algorithm
egg-herbie
Rules
378×*-commutative_binary64
367×sqr-pow_binary64
305×fma-def_binary64
302×exp-prod_binary64
295×log-prod_binary64
Counts
185 → 144
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01492498
13122288
29322279
318122142
434732056
546502056
649882056
749392056

prune252.0ms (2.7%)

Pruning

13 alts after pruning (13 fresh and 0 done)

PrunedKeptTotal
New13113144
Fresh000
Picked101
Done000
Total13213145
Error
1.3b
Counts
145 → 13
Alt Table
StatusErrorProgram
18.3b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (*.f64 (*.f64 s x) (*.f64 s x))))
24.1b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 (pow.f64 c 2) (*.f64 x (pow.f64 s 2))) x))
25.3b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (cbrt.f64 (pow.f64 (*.f64 s x) 6))))
26.7b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 c (*.f64 c (*.f64 (*.f64 s s) (*.f64 x x)))))
19.4b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (*.f64 (*.f64 (*.f64 x s) s) x)))
23.1b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 c (*.f64 c (*.f64 (*.f64 x (pow.f64 s 2)) x))))
28.8b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 s 2) (*.f64 (pow.f64 c 2) (pow.f64 x 2))))
2.2b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 c (*.f64 s x)) (*.f64 c (*.f64 s x))))
42.7b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (*.f64 (*.f64 (*.f64 s (sqrt.f64 x)) (*.f64 s (sqrt.f64 x))) x)))
21.1b
(/.f64 (cos.f64 (*.f64 2 x)) (cbrt.f64 (pow.f64 (*.f64 s (*.f64 c x)) 6)))
35.4b
(/.f64 (cos.f64 (*.f64 2 x)) (exp.f64 (*.f64 2 (log.f64 (*.f64 x (*.f64 s c))))))
25.1b
(/.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 x))) (*.f64 (pow.f64 c 2) (*.f64 (*.f64 x (pow.f64 s 2)) x)))
25.3b
(/.f64 (expm1.f64 (log1p.f64 (cos.f64 (*.f64 2 x)))) (*.f64 (pow.f64 c 2) (*.f64 (*.f64 x (pow.f64 s 2)) x)))
Compiler

Compiled 3589 to 2268 computations (36.8% saved)

localize8.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 c (*.f64 s x)) (*.f64 c (*.f64 s x))))
0.2b
(cos.f64 (*.f64 2 x))
0.3b
(*.f64 (*.f64 c (*.f64 s x)) (*.f64 c (*.f64 s x)))
4.3b
(*.f64 c (*.f64 s x))

series213.0ms (2.3%)

Counts
3 → 88
Calls

3 calls:

163.0ms
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 c (*.f64 s x)) (*.f64 c (*.f64 s x))))
39.0ms
(*.f64 (*.f64 c (*.f64 s x)) (*.f64 c (*.f64 s x)))
10.0ms
(*.f64 c (*.f64 s x))

rewrite40.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
122×pow1_binary64
91×add-cbrt-cube_binary64
91×add-exp-log_binary64
69×pow-prod-down_binary64
57×cbrt-unprod_binary64
Counts
3 → 122
Calls

3 calls:

11.0ms
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 c (*.f64 s x)) (*.f64 c (*.f64 s x))))
9.0ms
(*.f64 (*.f64 c (*.f64 s x)) (*.f64 c (*.f64 s x)))
4.0ms
(*.f64 c (*.f64 s x))

simplify154.0ms (1.6%)

Algorithm
egg-herbie
Rules
531×associate-*l/_binary64
487×associate-*r/_binary64
277×associate-*r*_binary64
276×associate-/r*_binary64
255×associate-*l*_binary64
Counts
210 → 144
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01564424
13803508
217823330
348603330
449943330
550533330

prune270.0ms (2.9%)

Pruning

14 alts after pruning (14 fresh and 0 done)

PrunedKeptTotal
New18012192
Fresh10212
Picked101
Done000
Total19114205
Error
0.0b
Counts
205 → 14
Alt Table
StatusErrorProgram
2.2b
(/.f64 (/.f64 (cos.f64 (*.f64 2 x)) (*.f64 c (*.f64 s x))) (*.f64 c (*.f64 s x)))
2.7b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 x 2))) (cbrt.f64 (cos.f64 (*.f64 x 2)))) (*.f64 s (*.f64 c x))) (/.f64 (cbrt.f64 (cos.f64 (*.f64 x 2))) (*.f64 s (*.f64 c x))))
25.1b
(/.f64 (-.f64 (*.f64 (cos.f64 x) (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 x))) (*.f64 (pow.f64 c 2) (*.f64 (*.f64 x (pow.f64 s 2)) x)))
2.2b
(*.f64 (cos.f64 (*.f64 2 x)) (/.f64 1 (*.f64 (*.f64 c (*.f64 s x)) (*.f64 c (*.f64 s x)))))
26.7b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 c (*.f64 c (*.f64 (*.f64 s s) (*.f64 x x)))))
2.3b
(-.f64 (/.f64 (*.f64 (cos.f64 x) (cos.f64 x)) (*.f64 (*.f64 s (*.f64 c x)) (*.f64 s (*.f64 c x)))) (/.f64 (*.f64 (sin.f64 x) (sin.f64 x)) (*.f64 (*.f64 s (*.f64 c x)) (*.f64 s (*.f64 c x)))))
2.9b
(*.f64 (*.f64 (cbrt.f64 (/.f64 (cos.f64 (*.f64 x 2)) (*.f64 (*.f64 s (*.f64 c x)) (*.f64 s (*.f64 c x))))) (cbrt.f64 (/.f64 (cos.f64 (*.f64 x 2)) (*.f64 (*.f64 s (*.f64 c x)) (*.f64 s (*.f64 c x)))))) (cbrt.f64 (/.f64 (cos.f64 (*.f64 x 2)) (*.f64 (*.f64 s (*.f64 c x)) (*.f64 s (*.f64 c x))))))
2.8b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 s (*.f64 c x)) (*.f64 s (*.f64 c x)))) (cbrt.f64 (*.f64 (*.f64 s (*.f64 c x)) (*.f64 s (*.f64 c x))))) (cbrt.f64 (*.f64 (*.f64 s (*.f64 c x)) (*.f64 s (*.f64 c x))))))
2.1b
(*.f64 (/.f64 1 (*.f64 c (*.f64 s x))) (/.f64 (cos.f64 (*.f64 2 x)) (*.f64 c (*.f64 s x))))
2.2b
(/.f64 (expm1.f64 (log1p.f64 (cos.f64 (*.f64 2 x)))) (*.f64 (*.f64 c (*.f64 s x)) (*.f64 c (*.f64 s x))))
4.9b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 (*.f64 c (*.f64 s x)) c) (*.f64 s x)))
3.5b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 c (*.f64 s x)) (*.f64 (*.f64 c s) x)))
11.4b
(*.f64 (sqrt.f64 (/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 c (*.f64 s x)) (*.f64 c (*.f64 s x))))) (sqrt.f64 (/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 c (*.f64 s x)) (*.f64 c (*.f64 s x))))))
2.5b
(*.f64 (/.f64 1 (*.f64 s (*.f64 c x))) (/.f64 (cos.f64 (*.f64 x 2)) (*.f64 s (*.f64 c x))))
Compiler

Compiled 5443 to 1902 computations (65.1% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(cos.f64 (*.f64 2 x))
0.5b
(/.f64 1 (*.f64 c (*.f64 s x)))
0.6b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 c (*.f64 s x)))
4.3b
(*.f64 c (*.f64 s x))

series80.0ms (0.9%)

Counts
2 → 40
Calls

2 calls:

54.0ms
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 c (*.f64 s x)))
26.0ms
(/.f64 1 (*.f64 c (*.f64 s x)))

rewrite15.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
32×add-exp-log_binary64
20×add-cbrt-cube_binary64
12×prod-exp_binary64
div-exp_binary64
pow1_binary64
Counts
2 → 61
Calls

2 calls:

6.0ms
(/.f64 1 (*.f64 c (*.f64 s x)))
5.0ms
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 c (*.f64 s x)))

simplify100.0ms (1.1%)

Algorithm
egg-herbie
Rules
760×associate-/l*_binary64
677×associate-*l*_binary64
536×associate-/l/_binary64
429×associate-*l/_binary64
291×associate-*r/_binary64
Counts
101 → 93
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01221599
12861391
211801387
345651387
447401387
549861387
649631387

prune324.0ms (3.4%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New1692171
Fresh31013
Picked101
Done000
Total17312185
Error
0.0b
Counts
185 → 12
Alt Table
StatusErrorProgram
2.2b
(/.f64 (/.f64 (cos.f64 (*.f64 2 x)) (*.f64 c (*.f64 s x))) (*.f64 c (*.f64 s x)))
2.7b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 x 2))) (cbrt.f64 (cos.f64 (*.f64 x 2)))) (*.f64 s (*.f64 c x))) (/.f64 (cbrt.f64 (cos.f64 (*.f64 x 2))) (*.f64 s (*.f64 c x))))
3.5b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 c (*.f64 s x)) (*.f64 (*.f64 c s) x)))
3.5b
(*.f64 (/.f64 1 (*.f64 c (*.f64 s x))) (/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 s c) x)))
26.7b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 c (*.f64 c (*.f64 (*.f64 s s) (*.f64 x x)))))
2.3b
(-.f64 (/.f64 (*.f64 (cos.f64 x) (cos.f64 x)) (*.f64 (*.f64 s (*.f64 c x)) (*.f64 s (*.f64 c x)))) (/.f64 (*.f64 (sin.f64 x) (sin.f64 x)) (*.f64 (*.f64 s (*.f64 c x)) (*.f64 s (*.f64 c x)))))
2.1b
(*.f64 (/.f64 1 (*.f64 c (*.f64 s x))) (/.f64 (/.f64 (cos.f64 (*.f64 2 x)) c) (*.f64 s x)))
4.9b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 (*.f64 c (*.f64 s x)) c) (*.f64 s x)))
2.2b
(*.f64 (cos.f64 (*.f64 2 x)) (/.f64 1 (*.f64 (*.f64 c (*.f64 s x)) (*.f64 c (*.f64 s x)))))
11.4b
(*.f64 (sqrt.f64 (/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 c (*.f64 s x)) (*.f64 c (*.f64 s x))))) (sqrt.f64 (/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 c (*.f64 s x)) (*.f64 c (*.f64 s x))))))
2.8b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 s (*.f64 c x)) (*.f64 s (*.f64 c x)))) (cbrt.f64 (*.f64 (*.f64 s (*.f64 c x)) (*.f64 s (*.f64 c x))))) (cbrt.f64 (*.f64 (*.f64 s (*.f64 c x)) (*.f64 s (*.f64 c x))))))
2.5b
(*.f64 (/.f64 1 (*.f64 s (*.f64 c x))) (/.f64 (cos.f64 (*.f64 x 2)) (*.f64 s (*.f64 c x))))
Compiler

Compiled 4708 to 2048 computations (56.5% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(cos.f64 (*.f64 2 x))
0.5b
(/.f64 1 (*.f64 c (*.f64 s x)))
4.3b
(*.f64 c (*.f64 s x))
4.3b
(/.f64 (/.f64 (cos.f64 (*.f64 2 x)) c) (*.f64 s x))

series39.0ms (0.4%)

Counts
1 → 36
Calls

1 calls:

39.0ms
(/.f64 (/.f64 (cos.f64 (*.f64 2 x)) c) (*.f64 s x))

rewrite10.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
31×times-frac_binary64
15×*-un-lft-identity_binary64
15×add-sqr-sqrt_binary64
15×add-cube-cbrt_binary64
13×associate-/l*_binary64
Counts
1 → 49
Calls

1 calls:

6.0ms
(/.f64 (/.f64 (cos.f64 (*.f64 2 x)) c) (*.f64 s x))

simplify88.0ms (0.9%)

Algorithm
egg-herbie
Rules
826×times-frac_binary64
574×associate-/l*_binary64
569×associate-/r*_binary64
526×associate-/l/_binary64
317×associate-*l/_binary64
Counts
85 → 92
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01511760
13511601
210871597
346091597
449921597
549761597

prune360.0ms (3.8%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New1784182
Fresh4711
Picked101
Done000
Total18311194
Error
0.0b
Counts
194 → 11
Alt Table
StatusErrorProgram
1.9b
(*.f64 (/.f64 1 (*.f64 c (*.f64 s x))) (-.f64 (/.f64 (/.f64 (*.f64 (cos.f64 x) (cos.f64 x)) c) (*.f64 s x)) (/.f64 (/.f64 (*.f64 (sin.f64 x) (sin.f64 x)) c) (*.f64 s x))))
2.2b
(/.f64 (/.f64 (cos.f64 (*.f64 2 x)) (*.f64 c (*.f64 s x))) (*.f64 c (*.f64 s x)))
2.7b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 x 2))) (cbrt.f64 (cos.f64 (*.f64 x 2)))) (*.f64 s (*.f64 c x))) (/.f64 (cbrt.f64 (cos.f64 (*.f64 x 2))) (*.f64 s (*.f64 c x))))
2.1b
(*.f64 (/.f64 (/.f64 1 c) (*.f64 s x)) (/.f64 (/.f64 (cos.f64 (*.f64 2 x)) c) (*.f64 s x)))
3.5b
(*.f64 (/.f64 1 (*.f64 (*.f64 s c) x)) (/.f64 (/.f64 (cos.f64 (*.f64 2 x)) c) (*.f64 s x)))
4.2b
(*.f64 (/.f64 1 (*.f64 c (*.f64 s x))) (*.f64 (/.f64 (cos.f64 (*.f64 x 2)) s) (/.f64 1 (*.f64 c x))))
3.5b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 c (*.f64 s x)) (*.f64 (*.f64 c s) x)))
2.2b
(*.f64 (cos.f64 (*.f64 2 x)) (/.f64 1 (*.f64 (*.f64 c (*.f64 s x)) (*.f64 c (*.f64 s x)))))
11.4b
(*.f64 (sqrt.f64 (/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 c (*.f64 s x)) (*.f64 c (*.f64 s x))))) (sqrt.f64 (/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 c (*.f64 s x)) (*.f64 c (*.f64 s x))))))
2.8b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 s (*.f64 c x)) (*.f64 s (*.f64 c x)))) (cbrt.f64 (*.f64 (*.f64 s (*.f64 c x)) (*.f64 s (*.f64 c x))))) (cbrt.f64 (*.f64 (*.f64 s (*.f64 c x)) (*.f64 s (*.f64 c x))))))
2.5b
(*.f64 (/.f64 1 (*.f64 s (*.f64 c x))) (/.f64 (cos.f64 (*.f64 x 2)) (*.f64 s (*.f64 c x))))
Compiler

Compiled 4899 to 2439 computations (50.2% saved)

regimes1.6s (16.6%)

Accuracy

Total 2.6b remaining (97.6%)

Threshold costs 0b (0%)

Counts
207 → 3
Compiler

Compiled 33971 to 20669 computations (39.2% saved)

bsearch154.0ms (1.6%)

Steps
ItersRangePoint
10
-2.717564374199604e-255
-5.989016585183868e-268
-7.956937814384305e-263
9
-3.4363811589771037e+28
-3.181438984822156e+20
-7.468381497695001e+21
Compiler

Compiled 4 to 3 computations (25% saved)

simplify8.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
038105
151105
257105
361105
463105
562105

end319.0ms (3.4%)

Compiler

Compiled 583 to 313 computations (46.3% saved)

Profiling

Loading profile data...