Details

Time bar (total: 10.3s)

analyze2.2s (21.5%)

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.3s (32%)

Symmetry

(sort c s)

Results
1.2s6274×body128valid
733.0ms988×body1024valid
394.0ms1933×body128invalid
326.0ms643×body512valid
145.0ms201×body1024invalid
131.0ms231×body512invalid
109.0ms348×body256valid
53.0ms163×body256invalid
4.0msbody2048valid
Compiler

Compiled 59 to 44 computations (25.4% saved)

simplify127.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

prune3.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.6b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (*.f64 (*.f64 x (pow.f64 s 2)) x)))
3.4b
(*.f64 (*.f64 x (pow.f64 s 2)) x)
8.6b
(*.f64 x (pow.f64 s 2))
19.1b
(*.f64 (pow.f64 c 2) (*.f64 (*.f64 x (pow.f64 s 2)) x))

series210.0ms (2%)

Counts
4 → 120
Calls

4 calls:

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

rewrite279.0ms (2.7%)

Algorithm
egg-rewrite
Rules
65×egg
51×egg
41×egg
38×egg
Counts
4 → 195
Calls

4 calls:

103.0ms
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (*.f64 (*.f64 x (pow.f64 s 2)) x)))
80.0ms
(*.f64 x (pow.f64 s 2))
47.0ms
(*.f64 (pow.f64 c 2) (*.f64 (*.f64 x (pow.f64 s 2)) x))
45.0ms
(*.f64 (*.f64 x (pow.f64 s 2)) x)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01016
120316
2215716
3494616
067
11217
212307
348707
462937
0710
114110
214817
354557
01324
127524
2334224
3486224
4504624

simplify88.0ms (0.9%)

Algorithm
egg-herbie
Rules
877×associate-/l*_binary64
439×associate-/l/_binary64
361×cancel-sign-sub-inv_binary64
359×unswap-sqr_binary64
272×fma-neg_binary64
Counts
315 → 207
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0371932
1961930
23101930
314641925
449031923
549681923

prune227.0ms (2.2%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New19512207
Fresh000
Picked101
Done000
Total19612208
Error
7.7b
Counts
208 → 12
Alt Table
StatusErrorProgram
35.5b
(/.f64 (/.f64 (cos.f64 (+.f64 x x)) (*.f64 c (*.f64 (sqrt.f64 x) (*.f64 s (sqrt.f64 x))))) (*.f64 c (*.f64 (sqrt.f64 x) (*.f64 s (sqrt.f64 x)))))
20.7b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 x s)) 2) 3)))
33.7b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 s 2) (*.f64 (pow.f64 c 2) (pow.f64 x 2))))
43.9b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (*.f64 (pow.f64 (*.f64 s (sqrt.f64 x)) 2) x)))
40.8b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 (sqrt.f64 x) (*.f64 s (sqrt.f64 x))) (*.f64 (*.f64 (sqrt.f64 x) (*.f64 s (sqrt.f64 x))) (*.f64 c c))))
35.6b
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x x))) 2) (*.f64 c (*.f64 (sqrt.f64 x) (*.f64 s (sqrt.f64 x))))) (/.f64 (cbrt.f64 (cos.f64 (+.f64 x x))) (*.f64 c (*.f64 (sqrt.f64 x) (*.f64 s (sqrt.f64 x))))))
22.9b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 c (*.f64 c (*.f64 x (*.f64 x (*.f64 s s))))))
27.9b
(/.f64 (/.f64 (cos.f64 (+.f64 x x)) (*.f64 c c)) (*.f64 x (*.f64 x (*.f64 s s))))
27.0b
(/.f64 (/.f64 (/.f64 (cos.f64 (+.f64 x x)) (*.f64 c c)) x) (*.f64 x (*.f64 s s)))
45.8b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 (*.f64 (*.f64 c c) (*.f64 x (*.f64 s s))) (sqrt.f64 x)) (sqrt.f64 x)))
20.4b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (pow.f64 (*.f64 x s) 2)))
44.7b
(pow.f64 (/.f64 (sqrt.f64 (cos.f64 (+.f64 x x))) (*.f64 c (*.f64 (sqrt.f64 x) (*.f64 s (sqrt.f64 x))))) 2)
Compiler

Compiled 4983 to 2089 computations (58.1% saved)

localize10.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.3b
(pow.f64 (*.f64 x s) 2)
0.6b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (pow.f64 (*.f64 x s) 2)))
19.1b
(*.f64 (pow.f64 c 2) (pow.f64 (*.f64 x s) 2))

series199.0ms (1.9%)

Counts
3 → 96
Calls

3 calls:

154.0ms
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (pow.f64 (*.f64 x s) 2)))
37.0ms
(*.f64 (pow.f64 c 2) (pow.f64 (*.f64 x s) 2))
8.0ms
(pow.f64 (*.f64 x s) 2)

rewrite193.0ms (1.9%)

Algorithm
egg-rewrite
Rules
63×egg
54×egg
34×egg
Counts
3 → 151
Calls

3 calls:

81.0ms
(pow.f64 (*.f64 x s) 2)
62.0ms
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (pow.f64 (*.f64 x s) 2)))
46.0ms
(*.f64 (pow.f64 c 2) (pow.f64 (*.f64 x s) 2))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0910
118610
2189210
3495610
01218
125818
2305218
3564118
067
11247
212507
349027
464097

simplify83.0ms (0.8%)

Algorithm
egg-herbie
Rules
877×associate-/l*_binary64
439×associate-/l/_binary64
361×cancel-sign-sub-inv_binary64
355×unswap-sqr_binary64
272×fma-neg_binary64
Counts
247 → 164
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0361764
1941762
23081762
314601757
448911755
549561755

prune306.0ms (3%)

Pruning

14 alts after pruning (14 fresh and 0 done)

PrunedKeptTotal
New15212164
Fresh9211
Picked101
Done000
Total16214176
Error
1.5b
Counts
176 → 14
Alt Table
StatusErrorProgram
20.0b
(/.f64 (/.f64 (cos.f64 (+.f64 x x)) (*.f64 c c)) (pow.f64 (*.f64 x s) 2))
23.7b
(/.f64 (cos.f64 (*.f64 2 x)) (cbrt.f64 (pow.f64 (pow.f64 (*.f64 c (*.f64 x s)) 2) 3)))
2.5b
(pow.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 x x)) (pow.f64 (*.f64 c (*.f64 x s)) 2))) 3)
12.5b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 c (*.f64 c (pow.f64 (*.f64 x s) 2))))
2.2b
(/.f64 1 (/.f64 (pow.f64 (*.f64 c (*.f64 x s)) 2) (cos.f64 (+.f64 x x))))
22.9b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 c (*.f64 c (*.f64 x (*.f64 x (*.f64 s s))))))
20.1b
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x x))) 2) (pow.f64 (*.f64 x s) 2)) (/.f64 (cbrt.f64 (cos.f64 (+.f64 x x))) (*.f64 c c)))
2.5b
(/.f64 (cos.f64 (*.f64 2 x)) (pow.f64 (cbrt.f64 (pow.f64 (*.f64 c (*.f64 x s)) 2)) 3))
20.7b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 x s)) 2) 3)))
18.5b
(*.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 x x)) (pow.f64 (*.f64 c (*.f64 x s)) 2))) (cbrt.f64 (/.f64 (pow.f64 (cos.f64 (+.f64 x x)) 2) (pow.f64 (*.f64 c (*.f64 x s)) 4))))
2.0b
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x x))) 2) (*.f64 (cbrt.f64 (cos.f64 (+.f64 x x))) (pow.f64 (*.f64 c (*.f64 x s)) -2)))
20.0b
(pow.f64 (/.f64 (sqrt.f64 (cos.f64 (+.f64 x x))) (*.f64 c (*.f64 x s))) 2)
1.8b
(*.f64 (cos.f64 (+.f64 x x)) (pow.f64 (*.f64 c (*.f64 x s)) -2))
18.5b
(/.f64 (/.f64 (cos.f64 (+.f64 x x)) (cbrt.f64 (pow.f64 (*.f64 c (*.f64 x s)) 4))) (cbrt.f64 (pow.f64 (*.f64 c (*.f64 x s)) 2)))
Compiler

Compiled 3674 to 1910 computations (48% saved)

localize8.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (cos.f64 (+.f64 x x)) (pow.f64 (*.f64 c (*.f64 x s)) -2))
0.3b
(pow.f64 (*.f64 c (*.f64 x s)) -2)
2.8b
(*.f64 c (*.f64 x s))

series282.0ms (2.8%)

Counts
3 → 108
Calls

3 calls:

160.0ms
(*.f64 (cos.f64 (+.f64 x x)) (pow.f64 (*.f64 c (*.f64 x s)) -2))
61.0ms
(*.f64 c (*.f64 x s))
61.0ms
(pow.f64 (*.f64 c (*.f64 x s)) -2)

rewrite245.0ms (2.4%)

Algorithm
egg-rewrite
Rules
60×egg
31×egg
24×egg
Counts
3 → 115
Calls

3 calls:

151.0ms
(*.f64 (cos.f64 (+.f64 x x)) (pow.f64 (*.f64 c (*.f64 x s)) -2))
47.0ms
(*.f64 c (*.f64 x s))
45.0ms
(pow.f64 (*.f64 c (*.f64 x s)) -2)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
067
11197
214127
353687
0810
116910
2193910
3491710
01118
124118
2283118
3484318
4475318
5499718
6486618

simplify85.0ms (0.8%)

Algorithm
egg-herbie
Rules
874×associate-/l*_binary64
439×associate-/l/_binary64
361×cancel-sign-sub-inv_binary64
334×unswap-sqr_binary64
272×fma-neg_binary64
Counts
223 → 128
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0401884
11061882
23111882
314321877
448561875
549861875

prune248.0ms (2.4%)

Pruning

15 alts after pruning (15 fresh and 0 done)

PrunedKeptTotal
New1226128
Fresh4913
Picked101
Done000
Total12715142
Error
0.0b
Counts
142 → 15
Alt Table
StatusErrorProgram
20.0b
(/.f64 (/.f64 (cos.f64 (+.f64 x x)) (*.f64 c c)) (pow.f64 (*.f64 x s) 2))
23.7b
(/.f64 (cos.f64 (*.f64 2 x)) (cbrt.f64 (pow.f64 (pow.f64 (*.f64 c (*.f64 x s)) 2) 3)))
20.0b
(pow.f64 (/.f64 (sqrt.f64 (cos.f64 (+.f64 x x))) (*.f64 c (*.f64 x s))) 2)
2.2b
(*.f64 (cos.f64 (+.f64 x x)) (pow.f64 (cbrt.f64 (pow.f64 (*.f64 c (*.f64 x s)) -2)) 3))
2.1b
(*.f64 (cos.f64 (+.f64 x x)) (pow.f64 (*.f64 x (*.f64 s c)) -2))
12.5b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 c (*.f64 c (pow.f64 (*.f64 x s) 2))))
3.2b
(/.f64 (cos.f64 (*.f64 x 2)) (*.f64 (*.f64 s (*.f64 c x)) (*.f64 s (*.f64 c x))))
18.5b
(/.f64 (/.f64 (cos.f64 (+.f64 x x)) (cbrt.f64 (pow.f64 (*.f64 c (*.f64 x s)) 4))) (cbrt.f64 (pow.f64 (*.f64 c (*.f64 x s)) 2)))
2.7b
(*.f64 (cos.f64 (+.f64 x x)) (pow.f64 (*.f64 s (*.f64 c x)) -2))
2.2b
(/.f64 1 (/.f64 (pow.f64 (*.f64 c (*.f64 x s)) 2) (cos.f64 (+.f64 x x))))
22.9b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 c (*.f64 c (*.f64 x (*.f64 x (*.f64 s s))))))
20.1b
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x x))) 2) (pow.f64 (*.f64 x s) 2)) (/.f64 (cbrt.f64 (cos.f64 (+.f64 x x))) (*.f64 c c)))
2.5b
(/.f64 (cos.f64 (*.f64 2 x)) (pow.f64 (cbrt.f64 (pow.f64 (*.f64 c (*.f64 x s)) 2)) 3))
22.5b
(*.f64 (cos.f64 (+.f64 x x)) (*.f64 (pow.f64 (*.f64 c x) -2) (pow.f64 s -2)))
19.7b
(*.f64 (cos.f64 (+.f64 x x)) (*.f64 (pow.f64 c -2) (pow.f64 (*.f64 x s) -2)))
Compiler

Compiled 2903 to 1284 computations (55.8% saved)

localize14.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (cos.f64 (+.f64 x x)) (pow.f64 (*.f64 x (*.f64 s c)) -2))
0.3b
(pow.f64 (*.f64 x (*.f64 s c)) -2)
4.2b
(*.f64 x (*.f64 s c))

series273.0ms (2.7%)

Counts
3 → 108
Calls

3 calls:

184.0ms
(*.f64 (cos.f64 (+.f64 x x)) (pow.f64 (*.f64 x (*.f64 s c)) -2))
80.0ms
(pow.f64 (*.f64 x (*.f64 s c)) -2)
8.0ms
(*.f64 x (*.f64 s c))

rewrite238.0ms (2.3%)

Algorithm
egg-rewrite
Rules
60×egg
31×egg
24×egg
Counts
3 → 115
Calls

3 calls:

146.0ms
(*.f64 (cos.f64 (+.f64 x x)) (pow.f64 (*.f64 x (*.f64 s c)) -2))
45.0ms
(*.f64 x (*.f64 s c))
45.0ms
(pow.f64 (*.f64 x (*.f64 s c)) -2)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
067
11197
214127
353687
0810
116910
2193910
3491710
01118
124118
2283118
3484318
4475318
5499718
6486618

simplify91.0ms (0.9%)

Algorithm
egg-herbie
Rules
874×associate-/l*_binary64
439×associate-/l/_binary64
361×cancel-sign-sub-inv_binary64
334×unswap-sqr_binary64
272×fma-neg_binary64
Counts
223 → 128
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0401884
11061882
23111882
314321877
448561875
549861875

prune176.0ms (1.7%)

Pruning

15 alts after pruning (14 fresh and 1 done)

PrunedKeptTotal
New1262128
Fresh21214
Picked011
Done000
Total12815143
Error
0.0b
Counts
143 → 15
Alt Table
StatusErrorProgram
19.7b
(*.f64 (*.f64 (cos.f64 (+.f64 x x)) (pow.f64 x -2)) (pow.f64 (*.f64 s c) -2))
17.5b
(*.f64 (cos.f64 (+.f64 x x)) (*.f64 (cbrt.f64 (pow.f64 (*.f64 x (*.f64 s c)) -2)) (cbrt.f64 (pow.f64 (*.f64 x (*.f64 s c)) -4))))
19.7b
(*.f64 (cos.f64 (+.f64 x x)) (*.f64 (pow.f64 c -2) (pow.f64 (*.f64 x s) -2)))
20.0b
(pow.f64 (/.f64 (sqrt.f64 (cos.f64 (+.f64 x x))) (*.f64 c (*.f64 x s))) 2)
2.2b
(*.f64 (cos.f64 (+.f64 x x)) (pow.f64 (cbrt.f64 (pow.f64 (*.f64 c (*.f64 x s)) -2)) 3))
2.1b
(*.f64 (cos.f64 (+.f64 x x)) (pow.f64 (*.f64 x (*.f64 s c)) -2))
12.5b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 c (*.f64 c (pow.f64 (*.f64 x s) 2))))
3.2b
(/.f64 (cos.f64 (*.f64 x 2)) (*.f64 (*.f64 s (*.f64 c x)) (*.f64 s (*.f64 c x))))
23.7b
(/.f64 (cos.f64 (*.f64 2 x)) (cbrt.f64 (pow.f64 (pow.f64 (*.f64 c (*.f64 x s)) 2) 3)))
2.2b
(/.f64 1 (/.f64 (pow.f64 (*.f64 c (*.f64 x s)) 2) (cos.f64 (+.f64 x x))))
22.9b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 c (*.f64 c (*.f64 x (*.f64 x (*.f64 s s))))))
20.1b
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x x))) 2) (pow.f64 (*.f64 x s) 2)) (/.f64 (cbrt.f64 (cos.f64 (+.f64 x x))) (*.f64 c c)))
2.5b
(/.f64 (cos.f64 (*.f64 2 x)) (pow.f64 (cbrt.f64 (pow.f64 (*.f64 c (*.f64 x s)) 2)) 3))
22.5b
(*.f64 (cos.f64 (+.f64 x x)) (*.f64 (pow.f64 (*.f64 c x) -2) (pow.f64 s -2)))
18.5b
(/.f64 (/.f64 (cos.f64 (+.f64 x x)) (cbrt.f64 (pow.f64 (*.f64 c (*.f64 x s)) 4))) (cbrt.f64 (pow.f64 (*.f64 c (*.f64 x s)) 2)))
Compiler

Compiled 2639 to 1107 computations (58.1% saved)

regimes1.0s (10.1%)

Accuracy

Total 2.4b remaining (96%)

Threshold costs 0b (0%)

Counts
132 → 1
Compiler

Compiled 17248 to 11264 computations (34.7% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01118
11418
21418

end338.0ms (3.3%)

Compiler

Compiled 344 to 229 computations (33.4% saved)

Profiling

Loading profile data...