Details

Time bar (total: 6.8s)

analyze1.2s (17.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)

sample2.7s (40.4%)

Results
1.1s6256×body128valid
666.0ms1010×body1024valid
330.0ms1991×body128invalid
299.0ms672×body512valid
131.0ms207×body1024invalid
105.0ms252×body512invalid
93.0ms314×body256valid
44.0ms149×body256invalid
4.0msbody2048valid
Compiler

Compiled 40 to 30 computations (25% saved)

preprocess92.0ms (1.4%)

Algorithm
egg-herbie
Rules
820×unswap-sqr_binary64
674×associate-/l/_binary64
369×sqr-pow_binary64
227×*-commutative_binary64
161×associate-/r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03096
17696
219496
379096
4167996
5173096
6179796
7187496
8196196
9206796
10401696
11416496
12433996
13452196
14472196
15494796
033
133
Stop Event
unsound
node limit
Symmetry

(sort c s)

Compiler

Compiled 19 to 14 computations (26.3% saved)

simplify64.0ms (0.9%)

Algorithm
egg-herbie
Rules
750×unswap-sqr_binary64
516×*-commutative_binary64
376×associate-/l/_binary64
309×sqr-pow_binary64
243×fabs-mul_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01324
13024
27224
325424
4114524
5212824
6332024
7339724
8349424
9362824
10381324
11406024
12440124
13479624
Stop Event
node limit
Counts
1 → 2

prune4.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
2.3b
Counts
3 → 2
Alt Table
StatusErrorProgram
26.1b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (*.f64 (*.f64 x (pow.f64 s 2)) x)))
2.4b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 x (*.f64 c s)) (*.f64 x (*.f64 c s))))
Compiler

Compiled 111 to 69 computations (37.8% saved)

localize8.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

series192.0ms (2.8%)

Counts
3 → 108
Calls

27 calls:

27.0ms
(*.f64 x (*.f64 c s))
x
inf
26.0ms
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 x (*.f64 c s)) (*.f64 x (*.f64 c s))))
s
-inf
15.0ms
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 x (*.f64 c s)) (*.f64 x (*.f64 c s))))
s
0
14.0ms
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 x (*.f64 c s)) (*.f64 x (*.f64 c s))))
c
0
14.0ms
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 x (*.f64 c s)) (*.f64 x (*.f64 c s))))
s
inf

rewrite99.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
699×log-prod_binary64
214×expm1-udef_binary64
214×log1p-udef_binary64
205×prod-diff_binary64
183×log-pow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01135
123635
2321635
Stop Event
node limit
Counts
3 → 84

simplify47.0ms (0.7%)

Algorithm
egg-herbie
Rules
866×associate-/l*_binary64
440×associate-/l/_binary64
361×cancel-sign-sub-inv_binary64
334×unswap-sqr_binary64
271×fma-def_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0401776
11111774
23291774
316761769
Stop Event
node limit
Counts
192 → 101

prune145.0ms (2.1%)

Pruning

12 alts after pruning (11 fresh and 1 done)

PrunedKeptTotal
New11410124
Fresh011
Picked011
Done000
Total11412126
Error
0.0b
Counts
126 → 12
Alt Table
StatusErrorProgram
3.8b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 x (*.f64 c s)) (*.f64 c (*.f64 s x))))
26.1b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (*.f64 (*.f64 x (pow.f64 s 2)) x)))
2.4b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 x (*.f64 c s)) (*.f64 x (*.f64 c s))))
6.3b
(*.f64 (/.f64 1 (*.f64 x (*.f64 c (*.f64 s x)))) (/.f64 (cos.f64 (+.f64 x x)) (*.f64 c s)))
18.8b
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (cos.f64 (+.f64 x x)) 2)) (*.f64 x x)) (/.f64 (cbrt.f64 (cos.f64 (+.f64 x x))) (pow.f64 (*.f64 c s) 2)))
2.2b
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 (+.f64 x x)) (pow.f64 (*.f64 c (*.f64 s x)) -2))) 3)
2.3b
(-.f64 (/.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 (*.f64 c (*.f64 s x)) 2)) (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (*.f64 c (*.f64 s x)) 2)))
1.9b
(pow.f64 (*.f64 (cos.f64 (+.f64 x x)) (pow.f64 (*.f64 c (*.f64 s x)) -2)) 1)
13.7b
(*.f64 (/.f64 1 x) (/.f64 (cos.f64 (+.f64 x x)) (*.f64 (pow.f64 (*.f64 c s) 2) x)))
6.4b
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (cos.f64 (+.f64 x x)) 2)) (*.f64 x (*.f64 c (*.f64 s x)))) (/.f64 (cbrt.f64 (cos.f64 (+.f64 x x))) (*.f64 c s)))
20.2b
(cbrt.f64 (/.f64 (pow.f64 (cos.f64 (+.f64 x x)) 3) (pow.f64 (pow.f64 (*.f64 c (*.f64 s x)) 2) 3)))
15.2b
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (*.f64 c (*.f64 s x)) 4))) (/.f64 (cos.f64 (+.f64 x x)) (pow.f64 (cbrt.f64 (*.f64 c (*.f64 s x))) 2)))
Compiler

Compiled 2954 to 1347 computations (54.4% saved)

localize9.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 s x)) -2))
0.3b
(pow.f64 (*.f64 c (*.f64 s x)) -2)
3.8b
(*.f64 c (*.f64 s x))

series160.0ms (2.4%)

Counts
3 → 88
Calls

27 calls:

15.0ms
(*.f64 (cos.f64 (+.f64 x x)) (pow.f64 (*.f64 c (*.f64 s x)) -2))
c
0
14.0ms
(*.f64 (cos.f64 (+.f64 x x)) (pow.f64 (*.f64 c (*.f64 s x)) -2))
c
-inf
14.0ms
(*.f64 (cos.f64 (+.f64 x x)) (pow.f64 (*.f64 c (*.f64 s x)) -2))
c
inf
14.0ms
(*.f64 (cos.f64 (+.f64 x x)) (pow.f64 (*.f64 c (*.f64 s x)) -2))
s
inf
14.0ms
(*.f64 (cos.f64 (+.f64 x x)) (pow.f64 (*.f64 c (*.f64 s x)) -2))
s
0

rewrite45.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
505×prod-diff_binary64
208×expm1-udef_binary64
208×log1p-udef_binary64
147×fma-def_binary64
125×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01135
124135
2315935
Stop Event
node limit
Counts
3 → 49

simplify47.0ms (0.7%)

Algorithm
egg-herbie
Rules
870×associate-/l*_binary64
435×associate-/l/_binary64
361×cancel-sign-sub-inv_binary64
339×unswap-sqr_binary64
271×fma-def_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0381744
11051742
23301742
317061737
Stop Event
node limit
Counts
137 → 62

prune97.0ms (1.4%)

Pruning

12 alts after pruning (10 fresh and 2 done)

PrunedKeptTotal
New61162
Fresh1910
Picked011
Done011
Total621274
Error
0.0b
Counts
74 → 12
Alt Table
StatusErrorProgram
3.8b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 x (*.f64 c s)) (*.f64 c (*.f64 s x))))
26.1b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (*.f64 (*.f64 x (pow.f64 s 2)) x)))
15.7b
(pow.f64 (*.f64 (cos.f64 (+.f64 x x)) (*.f64 (pow.f64 c -2) (pow.f64 (*.f64 s x) -2))) 1)
2.4b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 x (*.f64 c s)) (*.f64 x (*.f64 c s))))
6.3b
(*.f64 (/.f64 1 (*.f64 x (*.f64 c (*.f64 s x)))) (/.f64 (cos.f64 (+.f64 x x)) (*.f64 c s)))
18.8b
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (cos.f64 (+.f64 x x)) 2)) (*.f64 x x)) (/.f64 (cbrt.f64 (cos.f64 (+.f64 x x))) (pow.f64 (*.f64 c s) 2)))
2.2b
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 (+.f64 x x)) (pow.f64 (*.f64 c (*.f64 s x)) -2))) 3)
2.3b
(-.f64 (/.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 (*.f64 c (*.f64 s x)) 2)) (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (*.f64 c (*.f64 s x)) 2)))
1.9b
(pow.f64 (*.f64 (cos.f64 (+.f64 x x)) (pow.f64 (*.f64 c (*.f64 s x)) -2)) 1)
13.7b
(*.f64 (/.f64 1 x) (/.f64 (cos.f64 (+.f64 x x)) (*.f64 (pow.f64 (*.f64 c s) 2) x)))
6.4b
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (cos.f64 (+.f64 x x)) 2)) (*.f64 x (*.f64 c (*.f64 s x)))) (/.f64 (cbrt.f64 (cos.f64 (+.f64 x x))) (*.f64 c s)))
15.2b
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (*.f64 c (*.f64 s x)) 4))) (/.f64 (cos.f64 (+.f64 x x)) (pow.f64 (cbrt.f64 (*.f64 c (*.f64 s x))) 2)))
Compiler

Compiled 1714 to 936 computations (45.4% saved)

localize11.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(pow.f64 (*.f64 c (*.f64 s x)) -2)
0.4b
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 (+.f64 x x)) (pow.f64 (*.f64 c (*.f64 s x)) -2))) 3)
3.8b
(*.f64 c (*.f64 s x))
22.8b
(cbrt.f64 (*.f64 (cos.f64 (+.f64 x x)) (pow.f64 (*.f64 c (*.f64 s x)) -2)))

series88.0ms (1.3%)

Counts
2 → 0
Calls

18 calls:

10.0ms
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 (+.f64 x x)) (pow.f64 (*.f64 c (*.f64 s x)) -2))) 3)
x
0
8.0ms
(cbrt.f64 (*.f64 (cos.f64 (+.f64 x x)) (pow.f64 (*.f64 c (*.f64 s x)) -2)))
x
0
6.0ms
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 (+.f64 x x)) (pow.f64 (*.f64 c (*.f64 s x)) -2))) 3)
c
0
5.0ms
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 (+.f64 x x)) (pow.f64 (*.f64 c (*.f64 s x)) -2))) 3)
c
-inf
5.0ms
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 (+.f64 x x)) (pow.f64 (*.f64 c (*.f64 s x)) -2))) 3)
s
-inf

rewrite49.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
505×prod-diff_binary64
236×log1p-udef_binary64
144×add-sqr-sqrt_binary64
138×pow1_binary64
136×*-un-lft-identity_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01438
130838
2364338
Stop Event
node limit
Counts
2 → 61

simplify13.0ms (0.2%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
Stop Event
saturated
Counts
61 → 61

prune97.0ms (1.4%)

Pruning

12 alts after pruning (9 fresh and 3 done)

PrunedKeptTotal
New99099
Fresh099
Picked011
Done022
Total9912111
Error
0.0b
Counts
111 → 12
Alt Table
StatusErrorProgram
3.8b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 x (*.f64 c s)) (*.f64 c (*.f64 s x))))
26.1b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (*.f64 (*.f64 x (pow.f64 s 2)) x)))
15.7b
(pow.f64 (*.f64 (cos.f64 (+.f64 x x)) (*.f64 (pow.f64 c -2) (pow.f64 (*.f64 s x) -2))) 1)
2.4b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 x (*.f64 c s)) (*.f64 x (*.f64 c s))))
6.3b
(*.f64 (/.f64 1 (*.f64 x (*.f64 c (*.f64 s x)))) (/.f64 (cos.f64 (+.f64 x x)) (*.f64 c s)))
18.8b
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (cos.f64 (+.f64 x x)) 2)) (*.f64 x x)) (/.f64 (cbrt.f64 (cos.f64 (+.f64 x x))) (pow.f64 (*.f64 c s) 2)))
2.2b
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 (+.f64 x x)) (pow.f64 (*.f64 c (*.f64 s x)) -2))) 3)
2.3b
(-.f64 (/.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 (*.f64 c (*.f64 s x)) 2)) (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (*.f64 c (*.f64 s x)) 2)))
1.9b
(pow.f64 (*.f64 (cos.f64 (+.f64 x x)) (pow.f64 (*.f64 c (*.f64 s x)) -2)) 1)
13.7b
(*.f64 (/.f64 1 x) (/.f64 (cos.f64 (+.f64 x x)) (*.f64 (pow.f64 (*.f64 c s) 2) x)))
6.4b
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (cos.f64 (+.f64 x x)) 2)) (*.f64 x (*.f64 c (*.f64 s x)))) (/.f64 (cbrt.f64 (cos.f64 (+.f64 x x))) (*.f64 c s)))
15.2b
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (*.f64 c (*.f64 s x)) 4))) (/.f64 (cos.f64 (+.f64 x x)) (pow.f64 (cbrt.f64 (*.f64 c (*.f64 s x))) 2)))
Compiler

Compiled 2539 to 1582 computations (37.7% saved)

localize13.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(pow.f64 (cos.f64 x) 2)
0.4b
(/.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 (*.f64 c (*.f64 s x)) 2))
1.7b
(/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (*.f64 c (*.f64 s x)) 2))
3.8b
(*.f64 c (*.f64 s x))

series287.0ms (4.2%)

Counts
3 → 76
Calls

21 calls:

47.0ms
(/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (*.f64 c (*.f64 s x)) 2))
x
-inf
20.0ms
(/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (*.f64 c (*.f64 s x)) 2))
c
inf
16.0ms
(/.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 (*.f64 c (*.f64 s x)) 2))
x
inf
16.0ms
(/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (*.f64 c (*.f64 s x)) 2))
c
-inf
15.0ms
(/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (*.f64 c (*.f64 s x)) 2))
s
0

rewrite58.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
246×expm1-udef_binary64
246×log1p-udef_binary64
219×log-pow_binary64
146×pow1_binary64
145×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01442
129836
2369236
Stop Event
node limit
Counts
3 → 92

simplify57.0ms (0.8%)

Algorithm
egg-herbie
Rules
482×unswap-sqr_binary64
473×times-frac_binary64
397×associate-/r*_binary64
389×fma-neg_binary64
213×associate-/l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0611929
11871929
26351925
338021925
Stop Event
node limit
Counts
168 → 121

prune238.0ms (3.5%)

Pruning

13 alts after pruning (9 fresh and 4 done)

PrunedKeptTotal
New1521153
Fresh088
Picked011
Done033
Total15213165
Error
0.0b
Counts
165 → 13
Alt Table
StatusErrorProgram
3.8b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 x (*.f64 c s)) (*.f64 c (*.f64 s x))))
26.1b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (*.f64 (*.f64 x (pow.f64 s 2)) x)))
15.7b
(pow.f64 (*.f64 (cos.f64 (+.f64 x x)) (*.f64 (pow.f64 c -2) (pow.f64 (*.f64 s x) -2))) 1)
4.0b
(-.f64 (/.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 (*.f64 c (*.f64 s x)) 2)) (pow.f64 (/.f64 (sin.f64 x) (*.f64 (*.f64 c x) s)) 2))
2.4b
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (*.f64 x (*.f64 c s)) (*.f64 x (*.f64 c s))))
6.3b
(*.f64 (/.f64 1 (*.f64 x (*.f64 c (*.f64 s x)))) (/.f64 (cos.f64 (+.f64 x x)) (*.f64 c s)))
18.8b
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (cos.f64 (+.f64 x x)) 2)) (*.f64 x x)) (/.f64 (cbrt.f64 (cos.f64 (+.f64 x x))) (pow.f64 (*.f64 c s) 2)))
2.2b
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 (+.f64 x x)) (pow.f64 (*.f64 c (*.f64 s x)) -2))) 3)
2.3b
(-.f64 (/.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 (*.f64 c (*.f64 s x)) 2)) (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (*.f64 c (*.f64 s x)) 2)))
1.9b
(pow.f64 (*.f64 (cos.f64 (+.f64 x x)) (pow.f64 (*.f64 c (*.f64 s x)) -2)) 1)
13.7b
(*.f64 (/.f64 1 x) (/.f64 (cos.f64 (+.f64 x x)) (*.f64 (pow.f64 (*.f64 c s) 2) x)))
6.4b
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (cos.f64 (+.f64 x x)) 2)) (*.f64 x (*.f64 c (*.f64 s x)))) (/.f64 (cbrt.f64 (cos.f64 (+.f64 x x))) (*.f64 c s)))
15.2b
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (*.f64 c (*.f64 s x)) 4))) (/.f64 (cos.f64 (+.f64 x x)) (pow.f64 (cbrt.f64 (*.f64 c (*.f64 s x))) 2)))
Compiler

Compiled 4926 to 2374 computations (51.8% saved)

regimes575.0ms (8.5%)

Accuracy

Total 0.8b remaining (92.4%)

Threshold costs 0.8b (92.4%)

Counts
79 → 2
Compiler

Compiled 9964 to 6782 computations (31.9% saved)

bsearch3.0ms (0%)

Algorithm
left-value
Calls

1 calls:

0.0ms
(/.f64 (cos.f64 (*.f64 2 x)) (*.f64 (pow.f64 c 2) (*.f64 (*.f64 x (pow.f64 s 2)) x)))
Steps
ItersPointRange
#hash((type . real) (value . +inf))
∈ [
#hash((type . real) (value . +inf))
,
#hash((type . real) (value . NaN))
]
Compiler

Compiled 19 to 14 computations (26.3% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
1-exp_binary64
unpow1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03071
14271
Stop Event
saturated

end325.0ms (4.8%)

Stop Event
fuel
Compiler

Compiled 486 to 310 computations (36.2% saved)

Profiling

Loading profile data...