Details

Time bar (total: 8.5s)

analyze599.0ms (7%)

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
12.5%87.4%0.1%4
18.7%81.1%0.1%5
28.1%71.8%0.1%6
42.1%57.7%0.1%7
49.1%50.7%0.1%8
57.3%42.5%0.1%9
66.9%33%0.1%10
71.7%28.2%0.1%11
76.8%23.1%0.1%12
82.3%17.6%0.1%13
85%14.8%0.1%14
Compiler

Compiled 20 to 15 computations (25% saved)

sample1.9s (22.6%)

Infinites
32.2% of outputs are infinite.
Symmetry

(sort c s)

Results
915.0ms6474×body128valid
476.0ms833×body1024valid
241.0ms609×body512valid
89.0ms338×body256valid
3.0msbody2048valid
Compiler

Compiled 59 to 44 computations (25.4% saved)

simplify121.0ms (1.4%)

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
23.6b
Counts
3 → 1
Alt Table
StatusErrorProgram
23.6b
(/.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)

localize10.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.4b
(*.f64 (*.f64 x (pow.f64 s 2)) x)
5.9b
(*.f64 x (pow.f64 s 2))
16.9b
(*.f64 (pow.f64 c 2) (*.f64 (*.f64 x (pow.f64 s 2)) x))

series235.0ms (2.8%)

Counts
4 → 120
Calls

4 calls:

179.0ms
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (*.f64 (*.f64 x (pow.f64 s 2)) x)))
38.0ms
(*.f64 (pow.f64 c 2) (*.f64 (*.f64 x (pow.f64 s 2)) x))
11.0ms
(*.f64 (*.f64 x (pow.f64 s 2)) x)
8.0ms
(*.f64 x (pow.f64 s 2))

rewrite41.0ms (0.5%)

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:

14.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 (*.f64 x (pow.f64 s 2)) x)
4.0ms
(*.f64 x (pow.f64 s 2))

simplify149.0ms (1.7%)

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

prune285.0ms (3.4%)

Pruning

14 alts after pruning (14 fresh and 0 done)

PrunedKeptTotal
New17314187
Fresh000
Picked101
Done000
Total17414188
Error
7.6b
Counts
188 → 14
Alt Table
StatusErrorProgram
27.3b
(*.f64 (/.f64 1 (*.f64 c c)) (/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 s s) (*.f64 x x))))
29.7b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (*.f64 (*.f64 (*.f64 s x) (pow.f64 (sqrt.f64 s) 2)) x)))
21.7b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 (pow.f64 c 2) (*.f64 x (pow.f64 s 2))) x))
23.6b
(*.f64 (/.f64 1 (pow.f64 c 2)) (/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 x (pow.f64 s 2)) x)))
43.5b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (*.f64 (*.f64 x (*.f64 s (*.f64 s (sqrt.f64 x)))) (sqrt.f64 x))))
58.1b
(exp.f64 (-.f64 (log.f64 (cos.f64 (*.f64 2 x))) (+.f64 (*.f64 (log.f64 c) 2) (+.f64 (log.f64 (*.f64 x (pow.f64 s 2))) (log.f64 x)))))
21.6b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 c (*.f64 c (*.f64 (*.f64 s s) (*.f64 x x)))))
16.5b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 c (*.f64 c (*.f64 (*.f64 x (pow.f64 s 2)) x))))
26.3b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 s 2) (*.f64 (pow.f64 c 2) (pow.f64 x 2))))
27.6b
(*.f64 (sqrt.f64 (/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (*.f64 (*.f64 x (pow.f64 s 2)) x)))) (sqrt.f64 (/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (*.f64 (*.f64 x (pow.f64 s 2)) x)))))
17.6b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (*.f64 (fabs.f64 (*.f64 s x)) (fabs.f64 (*.f64 s x)))))
19.0b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 (*.f64 (cbrt.f64 c) (cbrt.f64 c)) 2) (*.f64 (pow.f64 (cbrt.f64 c) 2) (*.f64 (*.f64 x (pow.f64 s 2)) x))))
26.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))))))
45.5b
(/.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)))))
Compiler

Compiled 4986 to 3014 computations (39.6% saved)

localize13.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
4.0b
(*.f64 c (*.f64 (*.f64 x (pow.f64 s 2)) x))
4.4b
(*.f64 (*.f64 x (pow.f64 s 2)) x)
5.0b
(*.f64 c (*.f64 c (*.f64 (*.f64 x (pow.f64 s 2)) x)))
5.9b
(*.f64 x (pow.f64 s 2))

series69.0ms (0.8%)

Counts
2 → 72
Calls

2 calls:

38.0ms
(*.f64 c (*.f64 c (*.f64 (*.f64 x (pow.f64 s 2)) x)))
31.0ms
(*.f64 c (*.f64 (*.f64 x (pow.f64 s 2)) x))

rewrite19.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
41×add-exp-log_binary64
30×prod-exp_binary64
25×add-cbrt-cube_binary64
16×cbrt-unprod_binary64
16×pow1_binary64
Counts
2 → 51
Calls

2 calls:

8.0ms
(*.f64 c (*.f64 c (*.f64 (*.f64 x (pow.f64 s 2)) x)))
6.0ms
(*.f64 c (*.f64 (*.f64 x (pow.f64 s 2)) x))

simplify89.0ms (1%)

Algorithm
egg-herbie
Rules
516×sqr-pow_binary64
400×*-commutative_binary64
400×fma-def_binary64
285×associate-/l*_binary64
236×times-frac_binary64
Counts
123 → 71
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
0852089
12141870
26691870
313201773
422391721
543811713
652421713

prune242.0ms (2.8%)

Pruning

13 alts after pruning (13 fresh and 0 done)

PrunedKeptTotal
New1446150
Fresh6713
Picked101
Done000
Total15113164
Error
0.3b
Counts
164 → 13
Alt Table
StatusErrorProgram
11.9b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 c (*.f64 c (*.f64 (*.f64 (*.f64 s x) s) x))))
19.0b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 (*.f64 (cbrt.f64 c) (cbrt.f64 c)) 2) (*.f64 (pow.f64 (cbrt.f64 c) 2) (*.f64 (*.f64 x (pow.f64 s 2)) x))))
27.3b
(*.f64 (/.f64 1 (*.f64 c c)) (/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 s s) (*.f64 x x))))
29.7b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (*.f64 (*.f64 (*.f64 s x) (pow.f64 (sqrt.f64 s) 2)) x)))
21.7b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 (pow.f64 c 2) (*.f64 x (pow.f64 s 2))) x))
1.7b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 s (*.f64 c x)) (*.f64 s (*.f64 c x))))
28.2b
(/.f64 (cos.f64 (*.f64 2 x)) (exp.f64 (*.f64 2 (log.f64 (*.f64 s (*.f64 c x))))))
9.3b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 c (*.f64 c (*.f64 (fabs.f64 (*.f64 s x)) (fabs.f64 (*.f64 s x))))))
16.6b
(/.f64 (cos.f64 (*.f64 2 x)) (cbrt.f64 (pow.f64 (*.f64 s (*.f64 c x)) 6)))
26.3b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 s 2) (*.f64 (pow.f64 c 2) (pow.f64 x 2))))
27.6b
(*.f64 (sqrt.f64 (/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (*.f64 (*.f64 x (pow.f64 s 2)) x)))) (sqrt.f64 (/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (*.f64 (*.f64 x (pow.f64 s 2)) x)))))
19.9b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 c (*.f64 c (*.f64 (cbrt.f64 (pow.f64 (*.f64 (*.f64 s s) x) 3)) x))))
23.6b
(*.f64 (/.f64 1 (pow.f64 c 2)) (/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 x (pow.f64 s 2)) x)))
Compiler

Compiled 3828 to 2165 computations (43.4% saved)

localize8.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (*.f64 s (*.f64 c x)) (*.f64 s (*.f64 c x)))
0.4b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 s (*.f64 c x)) (*.f64 s (*.f64 c x))))
4.4b
(*.f64 s (*.f64 c x))

series218.0ms (2.6%)

Counts
3 → 88
Calls

3 calls:

171.0ms
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 s (*.f64 c x)) (*.f64 s (*.f64 c x))))
38.0ms
(*.f64 (*.f64 s (*.f64 c x)) (*.f64 s (*.f64 c x)))
9.0ms
(*.f64 s (*.f64 c x))

rewrite42.0ms (0.5%)

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:

12.0ms
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 s (*.f64 c x)) (*.f64 s (*.f64 c x))))
8.0ms
(*.f64 (*.f64 s (*.f64 c x)) (*.f64 s (*.f64 c x)))
4.0ms
(*.f64 s (*.f64 c x))

simplify126.0ms (1.5%)

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

prune250.0ms (2.9%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New1668174
Fresh8412
Picked101
Done000
Total17512187
Error
0b
Counts
187 → 12
Alt Table
StatusErrorProgram
2.7b
(*.f64 (/.f64 1 (*.f64 c (*.f64 s x))) (/.f64 (cos.f64 (*.f64 x 2)) (*.f64 c (*.f64 s x))))
9.3b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 c (*.f64 c (*.f64 (fabs.f64 (*.f64 s x)) (fabs.f64 (*.f64 s x))))))
22.4b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 s (*.f64 s (*.f64 (*.f64 c c) (*.f64 x x)))))
1.6b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 2 x))) (cbrt.f64 (cos.f64 (*.f64 2 x)))) (*.f64 s (*.f64 c x))) (/.f64 (cbrt.f64 (cos.f64 (*.f64 2 x))) (*.f64 s (*.f64 c x))))
27.6b
(*.f64 (sqrt.f64 (/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (*.f64 (*.f64 x (pow.f64 s 2)) x)))) (sqrt.f64 (/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (*.f64 (*.f64 x (pow.f64 s 2)) x)))))
13.1b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 s s) (*.f64 (*.f64 c x) (*.f64 c x))))
3.8b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 s (*.f64 c x)) (*.f64 (*.f64 s c) x)))
27.3b
(*.f64 (/.f64 1 (*.f64 c c)) (/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 s s) (*.f64 x x))))
23.6b
(*.f64 (/.f64 1 (pow.f64 c 2)) (/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 x (pow.f64 s 2)) x)))
3.8b
(/.f64 (/.f64 (cos.f64 (*.f64 x 2)) (*.f64 c (*.f64 s x))) (*.f64 s (*.f64 c x)))
2.0b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 s (*.f64 c x)) (*.f64 (*.f64 (cbrt.f64 (*.f64 s (*.f64 c x))) (cbrt.f64 (*.f64 s (*.f64 c x)))) (cbrt.f64 (*.f64 s (*.f64 c x))))))
1.7b
(/.f64 1 (/.f64 (*.f64 (*.f64 s (*.f64 c x)) (*.f64 s (*.f64 c x))) (cos.f64 (*.f64 2 x))))
Compiler

Compiled 4835 to 1712 computations (64.6% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(cbrt.f64 (cos.f64 (*.f64 2 x)))
0.4b
(/.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 2 x))) (cbrt.f64 (cos.f64 (*.f64 2 x)))) (*.f64 s (*.f64 c x)))
0.4b
(/.f64 (cbrt.f64 (cos.f64 (*.f64 2 x))) (*.f64 s (*.f64 c x)))
4.4b
(*.f64 s (*.f64 c x))

series1.9s (22.2%)

Counts
3 → 84
Calls

3 calls:

972.0ms
(/.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 2 x))) (cbrt.f64 (cos.f64 (*.f64 2 x)))) (*.f64 s (*.f64 c x)))
737.0ms
(/.f64 (cbrt.f64 (cos.f64 (*.f64 2 x))) (*.f64 s (*.f64 c x)))
174.0ms
(cbrt.f64 (cos.f64 (*.f64 2 x)))

rewrite19.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
33×add-exp-log_binary64
24×add-cbrt-cube_binary64
12×cbrt-unprod_binary64
12×prod-exp_binary64
cbrt-prod_binary64
Counts
3 → 71
Calls

3 calls:

8.0ms
(/.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 2 x))) (cbrt.f64 (cos.f64 (*.f64 2 x)))) (*.f64 s (*.f64 c x)))
5.0ms
(/.f64 (cbrt.f64 (cos.f64 (*.f64 2 x))) (*.f64 s (*.f64 c x)))
1.0ms
(cbrt.f64 (cos.f64 (*.f64 2 x)))

simplify78.0ms (0.9%)

Algorithm
egg-herbie
Rules
861×associate-*l/_binary64
701×associate-/l/_binary64
282×times-frac_binary64
261×associate-/r/_binary64
189×associate-/r*_binary64
Counts
155 → 140
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01693796
14292863
218502788
351312788

prune1.1s (12.8%)

Pruning

11 alts after pruning (10 fresh and 1 done)

PrunedKeptTotal
New2582260
Fresh3811
Picked011
Done000
Total26111272
Error
0b
Counts
272 → 11
Alt Table
StatusErrorProgram
2.7b
(*.f64 (/.f64 1 (*.f64 c (*.f64 s x))) (/.f64 (cos.f64 (*.f64 x 2)) (*.f64 c (*.f64 s x))))
9.3b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 c (*.f64 c (*.f64 (fabs.f64 (*.f64 s x)) (fabs.f64 (*.f64 s x))))))
1.6b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 2 x))) (cbrt.f64 (cos.f64 (*.f64 2 x)))) (*.f64 s (*.f64 c x))) (/.f64 (cbrt.f64 (cos.f64 (*.f64 2 x))) (*.f64 s (*.f64 c x))))
27.6b
(*.f64 (sqrt.f64 (/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (*.f64 (*.f64 x (pow.f64 s 2)) x)))) (sqrt.f64 (/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (*.f64 (*.f64 x (pow.f64 s 2)) x)))))
3.8b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 s (*.f64 c x)) (*.f64 (*.f64 s c) x)))
3.8b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 2 x))) (cbrt.f64 (cos.f64 (*.f64 2 x)))) (*.f64 s (*.f64 c x))) (/.f64 (cbrt.f64 (cos.f64 (*.f64 2 x))) (*.f64 (*.f64 c s) x)))
13.1b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 s s) (*.f64 (*.f64 c x) (*.f64 c x))))
1.6b
(*.f64 (*.f64 (/.f64 (cbrt.f64 (cos.f64 (*.f64 2 x))) s) (/.f64 (cbrt.f64 (cos.f64 (*.f64 2 x))) (*.f64 c x))) (/.f64 (cbrt.f64 (cos.f64 (*.f64 2 x))) (*.f64 s (*.f64 c x))))
23.6b
(*.f64 (/.f64 1 (pow.f64 c 2)) (/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 x (pow.f64 s 2)) x)))
2.0b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 s (*.f64 c x)) (*.f64 (*.f64 (cbrt.f64 (*.f64 s (*.f64 c x))) (cbrt.f64 (*.f64 s (*.f64 c x)))) (cbrt.f64 (*.f64 s (*.f64 c x))))))
1.7b
(/.f64 1 (/.f64 (*.f64 (*.f64 s (*.f64 c x)) (*.f64 s (*.f64 c x))) (cos.f64 (*.f64 2 x))))
Compiler

Compiled 9397 to 5333 computations (43.2% saved)

regimes676.0ms (7.9%)

Accuracy

Total 1.8b remaining (96.5%)

Threshold costs 0b (0%)

Counts
108 → 1
Compiler

Compiled 17180 to 11682 computations (32% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01124
11424
21424

end304.0ms (3.6%)

Compiler

Compiled 366 to 222 computations (39.3% saved)

Profiling

Loading profile data...