Details

Time bar (total: 16.4s)

analyze2.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
0%99.9%0.1%7
0%99.9%0.1%8
3.1%96.7%0.1%9
6.2%93.6%0.1%10
10.9%88.9%0.1%11
13.3%86.6%0.1%12
16.4%83.5%0.1%13
19.8%80.1%0.1%14
Compiler

Compiled 20 to 15 computations (25% saved)

sample9.9s (60.2%)

Symmetry

(sort c s)

Results
7.0s3439×body8192exit
1.2s6293×body128valid
838.0ms1000×body1024valid
311.0ms640×body512valid
108.0ms319×body256valid
72.0ms103×body1024invalid
57.0ms106×body512invalid
23.0ms92×body128invalid
21.0ms66×body256invalid
4.0msbody2048valid
Compiler

Compiled 59 to 44 computations (25.4% saved)

simplify112.0ms (0.7%)

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

prune3.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

localize17.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (*.f64 (*.f64 x (pow.f64 s 2)) x)))
4.3b
(*.f64 (*.f64 x (pow.f64 s 2)) x)
9.8b
(*.f64 x (pow.f64 s 2))
16.7b
(*.f64 (pow.f64 c 2) (*.f64 (*.f64 x (pow.f64 s 2)) x))

series244.0ms (1.5%)

Counts
4 → 120
Calls

4 calls:

163.0ms
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (*.f64 (*.f64 x (pow.f64 s 2)) x)))
60.0ms
(*.f64 (pow.f64 c 2) (*.f64 (*.f64 x (pow.f64 s 2)) x))
11.0ms
(*.f64 (*.f64 x (pow.f64 s 2)) x)
11.0ms
(*.f64 x (pow.f64 s 2))

rewrite35.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
122×add-exp-log_binary64
82×prod-exp_binary64
34×add-cbrt-cube_binary64
18×add-sqr-sqrt_binary64
18×pow-exp_binary64
Counts
4 → 127
Calls

4 calls:

9.0ms
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (*.f64 (*.f64 x (pow.f64 s 2)) x)))
7.0ms
(*.f64 (pow.f64 c 2) (*.f64 (*.f64 x (pow.f64 s 2)) x))
5.0ms
(*.f64 x (pow.f64 s 2))
4.0ms
(*.f64 (*.f64 x (pow.f64 s 2)) x)

simplify148.0ms (0.9%)

Algorithm
egg-herbie
Rules
709×associate-/l*_binary64
426×*-commutative_binary64
391×fma-def_binary64
263×associate-/l/_binary64
226×associate-*l*_binary64
Counts
247 → 187
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01914648
14234174
214794157
345654141
449724141
550204141

prune235.0ms (1.4%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New17512187
Fresh000
Picked101
Done000
Total17612188
Error
10.8b
Counts
188 → 12
Alt Table
StatusErrorProgram
32.9b
(*.f64 (sqrt.f64 (/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 s s) (*.f64 (*.f64 c c) (*.f64 x x))))) (sqrt.f64 (/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 s s) (*.f64 (*.f64 c c) (*.f64 x x))))))
20.3b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (*.f64 (*.f64 (*.f64 x s) s) x)))
58.5b
(exp.f64 (-.f64 (log.f64 (cos.f64 (*.f64 2 x))) (+.f64 (*.f64 (log.f64 c) 2) (+.f64 (+.f64 (log.f64 x) (*.f64 (log.f64 s) 2)) (log.f64 x)))))
48.3b
(/.f64 (cos.f64 (*.f64 2 x)) (exp.f64 (+.f64 (log.f64 (pow.f64 c 2)) (+.f64 (+.f64 (log.f64 x) (*.f64 (log.f64 s) 2)) (log.f64 x)))))
27.2b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 (pow.f64 c 2) (*.f64 x (pow.f64 s 2))) x))
57.1b
(/.f64 (cos.f64 (*.f64 2 x)) (exp.f64 (fma.f64 2 (+.f64 (log.f64 c) (log.f64 s)) (*.f64 2 (log.f64 x)))))
24.4b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 c (*.f64 c (*.f64 (*.f64 x (pow.f64 s 2)) x))))
32.4b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (sqrt.f64 (*.f64 (*.f64 s s) (*.f64 (*.f64 c c) (*.f64 x x)))) (sqrt.f64 (*.f64 (*.f64 s s) (*.f64 (*.f64 c c) (*.f64 x x))))))
42.5b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (*.f64 (*.f64 (*.f64 s (sqrt.f64 x)) (*.f64 s (sqrt.f64 x))) x)))
44.3b
(/.f64 (sqrt.f64 (cos.f64 (*.f64 2 x))) (/.f64 (*.f64 c c) (/.f64 (sqrt.f64 (cos.f64 (*.f64 2 x))) (*.f64 (*.f64 s s) (*.f64 x x)))))
28.1b
(/.f64 1 (/.f64 (*.f64 (pow.f64 c 2) (*.f64 (*.f64 x (pow.f64 s 2)) x)) (cos.f64 (*.f64 2 x))))
17.7b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (*.f64 (fabs.f64 (*.f64 s x)) (fabs.f64 (*.f64 s x)))))
Compiler

Compiled 4900 to 2936 computations (40.1% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(cos.f64 (*.f64 2 x))
0.2b
(*.f64 (fabs.f64 (*.f64 s x)) (fabs.f64 (*.f64 s x)))
0.4b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (*.f64 (fabs.f64 (*.f64 s x)) (fabs.f64 (*.f64 s x)))))
16.7b
(*.f64 (pow.f64 c 2) (*.f64 (fabs.f64 (*.f64 s x)) (fabs.f64 (*.f64 s x))))

series228.0ms (1.4%)

Counts
4 → 100
Calls

4 calls:

187.0ms
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (*.f64 (fabs.f64 (*.f64 s x)) (fabs.f64 (*.f64 s x)))))
31.0ms
(*.f64 (pow.f64 c 2) (*.f64 (fabs.f64 (*.f64 s x)) (fabs.f64 (*.f64 s x))))
8.0ms
(*.f64 (fabs.f64 (*.f64 s x)) (fabs.f64 (*.f64 s x)))
2.0ms
(cos.f64 (*.f64 2 x))

rewrite26.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
40×add-exp-log_binary64
20×add-cbrt-cube_binary64
19×prod-exp_binary64
16×add-sqr-sqrt_binary64
12×associate-*l*_binary64
Counts
4 → 104
Calls

4 calls:

7.0ms
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (*.f64 (fabs.f64 (*.f64 s x)) (fabs.f64 (*.f64 s x)))))
6.0ms
(*.f64 (pow.f64 c 2) (*.f64 (fabs.f64 (*.f64 s x)) (fabs.f64 (*.f64 s x))))
4.0ms
(*.f64 (fabs.f64 (*.f64 s x)) (fabs.f64 (*.f64 s x)))
1.0ms
(cos.f64 (*.f64 2 x))

simplify118.0ms (0.7%)

Algorithm
egg-herbie
Rules
444×unswap-sqr_binary64
365×associate-/l/_binary64
256×associate-*r/_binary64
250×associate-*l/_binary64
239×fma-def_binary64
Counts
204 → 164
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01613918
13563501
217043443
344963389
450743389

prune255.0ms (1.6%)

Pruning

17 alts after pruning (17 fresh and 0 done)

PrunedKeptTotal
New15311164
Fresh5611
Picked101
Done000
Total15917176
Error
2.4b
Counts
176 → 17
Alt Table
StatusErrorProgram
24.4b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 c (*.f64 c (*.f64 (*.f64 x (pow.f64 s 2)) x))))
6.2b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 c (*.f64 c (fabs.f64 (*.f64 s x)))) (fabs.f64 (*.f64 s x))))
32.9b
(*.f64 (sqrt.f64 (/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 s s) (*.f64 (*.f64 c c) (*.f64 x x))))) (sqrt.f64 (/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 s s) (*.f64 (*.f64 c c) (*.f64 x x))))))
17.8b
(/.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 2 x))) (cbrt.f64 (cos.f64 (*.f64 2 x)))) (/.f64 (*.f64 (pow.f64 c 2) (*.f64 (fabs.f64 (*.f64 s x)) (fabs.f64 (*.f64 s x)))) (cbrt.f64 (cos.f64 (*.f64 2 x)))))
17.7b
(*.f64 (cos.f64 (*.f64 2 x)) (/.f64 1 (*.f64 (*.f64 c c) (pow.f64 (fabs.f64 (*.f64 s x)) 2))))
12.5b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 c (*.f64 c (pow.f64 (fabs.f64 (*.f64 s x)) 2))))
42.5b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (*.f64 (*.f64 (*.f64 s (sqrt.f64 x)) (*.f64 s (sqrt.f64 x))) x)))
19.8b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (*.f64 (fabs.f64 s) (*.f64 (fabs.f64 x) (fabs.f64 (*.f64 s x))))))
17.9b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (*.f64 (*.f64 (cbrt.f64 (fabs.f64 (*.f64 s x))) (cbrt.f64 (fabs.f64 (*.f64 s x)))) (*.f64 (cbrt.f64 (fabs.f64 (*.f64 s x))) (fabs.f64 (*.f64 s x))))))
17.9b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 c c) (pow.f64 (fabs.f64 (*.f64 s x)) 2))) (cbrt.f64 (*.f64 (*.f64 c c) (pow.f64 (fabs.f64 (*.f64 s x)) 2)))) (cbrt.f64 (*.f64 (*.f64 c c) (pow.f64 (fabs.f64 (*.f64 s x)) 2)))))
58.5b
(exp.f64 (-.f64 (log.f64 (cos.f64 (*.f64 2 x))) (+.f64 (*.f64 (log.f64 c) 2) (+.f64 (+.f64 (log.f64 x) (*.f64 (log.f64 s) 2)) (log.f64 x)))))
48.3b
(/.f64 (cos.f64 (*.f64 2 x)) (exp.f64 (+.f64 (log.f64 (pow.f64 c 2)) (+.f64 (+.f64 (log.f64 x) (*.f64 (log.f64 s) 2)) (log.f64 x)))))
17.8b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (*.f64 (*.f64 (sqrt.f64 (fabs.f64 (*.f64 s x))) (sqrt.f64 (fabs.f64 (*.f64 s x)))) (*.f64 (sqrt.f64 (fabs.f64 (*.f64 s x))) (sqrt.f64 (fabs.f64 (*.f64 s x)))))))
2.8b
(/.f64 (cos.f64 (*.f64 2 x)) (pow.f64 (*.f64 c (fabs.f64 (*.f64 s x))) 2))
17.9b
(*.f64 (/.f64 1 (*.f64 c c)) (/.f64 (cos.f64 (*.f64 2 x)) (pow.f64 (fabs.f64 (*.f64 s x)) 2)))
13.8b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 (*.f64 (cbrt.f64 c) (cbrt.f64 c)) 2) (*.f64 (pow.f64 (fabs.f64 (*.f64 s x)) 2) (pow.f64 (cbrt.f64 c) 2))))
57.1b
(/.f64 (cos.f64 (*.f64 2 x)) (exp.f64 (fma.f64 2 (+.f64 (log.f64 c) (log.f64 s)) (*.f64 2 (log.f64 x)))))
Compiler

Compiled 4920 to 2436 computations (50.5% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(cos.f64 (*.f64 2 x))
0.3b
(pow.f64 (*.f64 c (fabs.f64 (*.f64 s x))) 2)
0.4b
(/.f64 (cos.f64 (*.f64 2 x)) (pow.f64 (*.f64 c (fabs.f64 (*.f64 s x))) 2))
4.6b
(*.f64 c (fabs.f64 (*.f64 s x)))

series210.0ms (1.3%)

Counts
3 → 72
Calls

3 calls:

183.0ms
(/.f64 (cos.f64 (*.f64 2 x)) (pow.f64 (*.f64 c (fabs.f64 (*.f64 s x))) 2))
19.0ms
(pow.f64 (*.f64 c (fabs.f64 (*.f64 s x))) 2)
8.0ms
(*.f64 c (fabs.f64 (*.f64 s x)))

rewrite16.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
19×add-sqr-sqrt_binary64
18×times-frac_binary64
17×*-un-lft-identity_binary64
17×add-cube-cbrt_binary64
16×add-exp-log_binary64
Counts
3 → 86
Calls

3 calls:

4.0ms
(/.f64 (cos.f64 (*.f64 2 x)) (pow.f64 (*.f64 c (fabs.f64 (*.f64 s x))) 2))
3.0ms
(*.f64 c (fabs.f64 (*.f64 s x)))
3.0ms
(pow.f64 (*.f64 c (fabs.f64 (*.f64 s x))) 2)

simplify98.0ms (0.6%)

Algorithm
egg-herbie
Rules
702×associate-/l*_binary64
356×fma-def_binary64
308×associate-/l/_binary64
208×*-commutative_binary64
202×associate-*r/_binary64
Counts
158 → 107
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01513209
12953090
211633083
342103081
449543081

prune233.0ms (1.4%)

Pruning

18 alts after pruning (18 fresh and 0 done)

PrunedKeptTotal
New11411125
Fresh9716
Picked101
Done000
Total12418142
Error
0.0b
Counts
142 → 18
Alt Table
StatusErrorProgram
32.9b
(*.f64 (sqrt.f64 (/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 s s) (*.f64 (*.f64 c c) (*.f64 x x))))) (sqrt.f64 (/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 s s) (*.f64 (*.f64 c c) (*.f64 x x))))))
23.4b
(*.f64 (/.f64 (sqrt.f64 (cos.f64 (*.f64 2 x))) (*.f64 (cbrt.f64 (pow.f64 (*.f64 c (fabs.f64 (*.f64 s x))) 2)) (cbrt.f64 (pow.f64 (*.f64 c (fabs.f64 (*.f64 s x))) 2)))) (/.f64 (sqrt.f64 (cos.f64 (*.f64 2 x))) (cbrt.f64 (pow.f64 (*.f64 c (fabs.f64 (*.f64 s x))) 2))))
3.2b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 (cbrt.f64 (pow.f64 (*.f64 c (fabs.f64 (*.f64 s x))) 2)) (cbrt.f64 (pow.f64 (*.f64 c (fabs.f64 (*.f64 s x))) 2))) (cbrt.f64 (pow.f64 (*.f64 c (fabs.f64 (*.f64 s x))) 2))))
17.7b
(*.f64 (cos.f64 (*.f64 2 x)) (/.f64 1 (*.f64 (*.f64 c c) (pow.f64 (fabs.f64 (*.f64 s x)) 2))))
3.2b
(/.f64 (/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (cbrt.f64 (pow.f64 (*.f64 c (fabs.f64 (*.f64 s x))) 2)) (cbrt.f64 (pow.f64 (*.f64 c (fabs.f64 (*.f64 s x))) 2)))) (cbrt.f64 (pow.f64 (*.f64 c (fabs.f64 (*.f64 s x))) 2)))
17.9b
(*.f64 (/.f64 1 (*.f64 c c)) (/.f64 (cos.f64 (*.f64 2 x)) (pow.f64 (fabs.f64 (*.f64 s x)) 2)))
2.6b
(/.f64 (/.f64 (cos.f64 (*.f64 2 x)) (*.f64 c (fabs.f64 (*.f64 s x)))) (*.f64 c (fabs.f64 (*.f64 s x))))
3.2b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 2 x))) (cbrt.f64 (cos.f64 (*.f64 2 x)))) (*.f64 (cbrt.f64 (pow.f64 (*.f64 c (fabs.f64 (*.f64 s x))) 2)) (cbrt.f64 (pow.f64 (*.f64 c (fabs.f64 (*.f64 s x))) 2)))) (/.f64 (cbrt.f64 (cos.f64 (*.f64 2 x))) (cbrt.f64 (pow.f64 (*.f64 c (fabs.f64 (*.f64 s x))) 2))))
42.5b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (*.f64 (*.f64 (*.f64 s (sqrt.f64 x)) (*.f64 s (sqrt.f64 x))) x)))
2.9b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 2 x))) (cbrt.f64 (cos.f64 (*.f64 2 x)))) (*.f64 c (fabs.f64 (*.f64 s x)))) (/.f64 (cbrt.f64 (cos.f64 (*.f64 2 x))) (*.f64 c (fabs.f64 (*.f64 s x)))))
58.5b
(exp.f64 (-.f64 (log.f64 (cos.f64 (*.f64 2 x))) (+.f64 (*.f64 (log.f64 c) 2) (+.f64 (+.f64 (log.f64 x) (*.f64 (log.f64 s) 2)) (log.f64 x)))))
2.8b
(*.f64 (cos.f64 (*.f64 2 x)) (/.f64 1 (pow.f64 (*.f64 c (fabs.f64 (*.f64 s x))) 2)))
3.2b
(*.f64 (*.f64 (cbrt.f64 (/.f64 (cos.f64 (*.f64 2 x)) (pow.f64 (*.f64 c (fabs.f64 (*.f64 s x))) 2))) (cbrt.f64 (/.f64 (cos.f64 (*.f64 2 x)) (pow.f64 (*.f64 c (fabs.f64 (*.f64 s x))) 2)))) (cbrt.f64 (/.f64 (cos.f64 (*.f64 2 x)) (pow.f64 (*.f64 c (fabs.f64 (*.f64 s x))) 2))))
17.8b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (*.f64 (*.f64 (sqrt.f64 (fabs.f64 (*.f64 s x))) (sqrt.f64 (fabs.f64 (*.f64 s x)))) (*.f64 (sqrt.f64 (fabs.f64 (*.f64 s x))) (sqrt.f64 (fabs.f64 (*.f64 s x)))))))
21.3b
(/.f64 (cos.f64 (*.f64 2 x)) (cbrt.f64 (*.f64 (*.f64 (pow.f64 (*.f64 c (fabs.f64 (*.f64 s x))) 2) (pow.f64 (*.f64 c (fabs.f64 (*.f64 s x))) 2)) (pow.f64 (*.f64 c (fabs.f64 (*.f64 s x))) 2))))
17.9b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (*.f64 (*.f64 (cbrt.f64 (fabs.f64 (*.f64 s x))) (cbrt.f64 (fabs.f64 (*.f64 s x)))) (*.f64 (cbrt.f64 (fabs.f64 (*.f64 s x))) (fabs.f64 (*.f64 s x))))))
2.8b
(/.f64 1 (/.f64 (pow.f64 (*.f64 c (fabs.f64 (*.f64 s x))) 2) (cos.f64 (*.f64 2 x))))
2.7b
(/.f64 (cos.f64 (*.f64 2 x)) (pow.f64 (*.f64 (*.f64 c (fabs.f64 s)) (fabs.f64 x)) 2))
Compiler

Compiled 3830 to 2091 computations (45.4% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(cos.f64 (*.f64 2 x))
0.2b
(/.f64 (/.f64 (cos.f64 (*.f64 2 x)) (*.f64 c (fabs.f64 (*.f64 s x)))) (*.f64 c (fabs.f64 (*.f64 s x))))
0.3b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 c (fabs.f64 (*.f64 s x))))
4.6b
(*.f64 c (fabs.f64 (*.f64 s x)))

series239.0ms (1.5%)

Counts
2 → 40
Calls

2 calls:

192.0ms
(/.f64 (/.f64 (cos.f64 (*.f64 2 x)) (*.f64 c (fabs.f64 (*.f64 s x)))) (*.f64 c (fabs.f64 (*.f64 s x))))
47.0ms
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 c (fabs.f64 (*.f64 s x))))

rewrite16.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
28×add-cbrt-cube_binary64
28×add-exp-log_binary64
16×times-frac_binary64
12×cbrt-undiv_binary64
12×div-exp_binary64
Counts
2 → 65
Calls

2 calls:

7.0ms
(/.f64 (/.f64 (cos.f64 (*.f64 2 x)) (*.f64 c (fabs.f64 (*.f64 s x)))) (*.f64 c (fabs.f64 (*.f64 s x))))
4.0ms
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 c (fabs.f64 (*.f64 s x))))

simplify73.0ms (0.4%)

Algorithm
egg-herbie
Rules
759×associate-*l*_binary64
681×associate-*l/_binary64
579×associate-*r/_binary64
483×associate-/r/_binary64
215×associate-/r*_binary64
Counts
105 → 119
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01403223
13692754
214922725
351312725

prune311.0ms (1.9%)

Pruning

13 alts after pruning (13 fresh and 0 done)

PrunedKeptTotal
New1767183
Fresh11617
Picked101
Done000
Total18813201
Error
0.0b
Counts
201 → 13
Alt Table
StatusErrorProgram
13.0b
(/.f64 (/.f64 (cos.f64 (*.f64 2 x)) (*.f64 c (fabs.f64 (*.f64 s x)))) (cbrt.f64 (pow.f64 (*.f64 c (fabs.f64 (*.f64 s x))) 3)))
3.2b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 (cbrt.f64 (pow.f64 (*.f64 c (fabs.f64 (*.f64 s x))) 2)) (cbrt.f64 (pow.f64 (*.f64 c (fabs.f64 (*.f64 s x))) 2))) (cbrt.f64 (pow.f64 (*.f64 c (fabs.f64 (*.f64 s x))) 2))))
12.4b
(*.f64 (/.f64 (cos.f64 (*.f64 x 2)) c) (/.f64 (/.f64 1 c) (pow.f64 (fabs.f64 (*.f64 s x)) 2)))
42.5b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (*.f64 (*.f64 (*.f64 s (sqrt.f64 x)) (*.f64 s (sqrt.f64 x))) x)))
3.0b
(/.f64 (/.f64 (cos.f64 (*.f64 2 x)) (*.f64 c (fabs.f64 (*.f64 s x)))) (*.f64 (*.f64 c (*.f64 (cbrt.f64 (fabs.f64 (*.f64 s x))) (cbrt.f64 (fabs.f64 (*.f64 s x))))) (cbrt.f64 (fabs.f64 (*.f64 s x)))))
58.5b
(exp.f64 (-.f64 (log.f64 (cos.f64 (*.f64 2 x))) (+.f64 (*.f64 (log.f64 c) 2) (+.f64 (+.f64 (log.f64 x) (*.f64 (log.f64 s) 2)) (log.f64 x)))))
3.2b
(*.f64 (*.f64 (cbrt.f64 (/.f64 (cos.f64 (*.f64 2 x)) (pow.f64 (*.f64 c (fabs.f64 (*.f64 s x))) 2))) (cbrt.f64 (/.f64 (cos.f64 (*.f64 2 x)) (pow.f64 (*.f64 c (fabs.f64 (*.f64 s x))) 2)))) (cbrt.f64 (/.f64 (cos.f64 (*.f64 2 x)) (pow.f64 (*.f64 c (fabs.f64 (*.f64 s x))) 2))))
23.4b
(*.f64 (/.f64 (sqrt.f64 (cos.f64 (*.f64 2 x))) (*.f64 (cbrt.f64 (pow.f64 (*.f64 c (fabs.f64 (*.f64 s x))) 2)) (cbrt.f64 (pow.f64 (*.f64 c (fabs.f64 (*.f64 s x))) 2)))) (/.f64 (sqrt.f64 (cos.f64 (*.f64 2 x))) (cbrt.f64 (pow.f64 (*.f64 c (fabs.f64 (*.f64 s x))) 2))))
2.7b
(/.f64 (/.f64 1 (/.f64 c (/.f64 (cos.f64 (*.f64 x 2)) (fabs.f64 (*.f64 s x))))) (*.f64 c (fabs.f64 (*.f64 s x))))
2.9b
(/.f64 (*.f64 (/.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 2 x))) (cbrt.f64 (cos.f64 (*.f64 2 x)))) c) (/.f64 (cbrt.f64 (cos.f64 (*.f64 2 x))) (fabs.f64 (*.f64 s x)))) (*.f64 c (fabs.f64 (*.f64 s x))))
4.7b
(/.f64 (/.f64 (cos.f64 (*.f64 2 x)) (*.f64 c (fabs.f64 (*.f64 s x)))) (*.f64 (*.f64 c (fabs.f64 s)) (fabs.f64 x)))
2.7b
(/.f64 (cos.f64 (*.f64 2 x)) (pow.f64 (*.f64 (*.f64 c (fabs.f64 s)) (fabs.f64 x)) 2))
21.3b
(*.f64 (sqrt.f64 (/.f64 (cos.f64 (*.f64 x 2)) (*.f64 (*.f64 c c) (pow.f64 (fabs.f64 (*.f64 s x)) 2)))) (sqrt.f64 (/.f64 (cos.f64 (*.f64 x 2)) (*.f64 (*.f64 c c) (pow.f64 (fabs.f64 (*.f64 s x)) 2)))))
Compiler

Compiled 5304 to 2058 computations (61.2% saved)

regimes1.3s (8.2%)

Accuracy

Total 0.6b remaining (80.5%)

Threshold costs 0.6b (80.5%)

Counts
200 → 2
Compiler

Compiled 34013 to 22450 computations (34% saved)

bsearch9.0ms (0.1%)

Compiler

Compiled 19 to 14 computations (26.3% saved)

simplify3.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
fabs-mul_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02979
13879
23979
33979

end231.0ms (1.4%)

Remove

(sort c s)

Compiler

Compiled 602 to 386 computations (35.9% saved)

Profiling

Loading profile data...