Details

Time bar (total: 7.2s)

analyze1.0ms (0%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
99.9%0%0.1%1
Compiler

Compiled 10 to 7 computations (30% saved)

sample4.9s (68%)

Results
2.4s3582×body1024valid
1.6s1297×body2048valid
519.0ms1383×body512valid
206.0ms1349×body128valid
194.0ms644×body256valid
4.0msbody4096valid
Compiler

Compiled 20 to 14 computations (30% saved)

preprocess21.0ms (0.3%)

Algorithm
egg-herbie
Rules
76×fma-def_binary64
57×fma-neg_binary64
27×cancel-sign-sub-inv_binary64
24×sub-neg_binary64
18×distribute-rgt-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01122
11722
22522
33822
45322
58122
614122
720022
828222
935322
1040522
1140922
022
Stop Event
saturated
saturated
Compiler

Compiled 9 to 6 computations (33.3% saved)

simplify10.0ms (0.1%)

Algorithm
egg-herbie
Rules
39×fma-def_binary64
32×fma-neg_binary64
15×cancel-sign-sub-inv_binary64
12×sub-neg_binary64
10×distribute-rgt-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0711
11011
21511
32211
43111
54811
68611
712411
817211
920811
1023411
1123611
Stop Event
saturated
Counts
1 → 1

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
34.2b
Counts
2 → 1
Alt Table
StatusErrorProgram
34.2b
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Compiler

Compiled 27 to 18 computations (33.3% saved)

localize6.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.8b
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
3.9b
(sin.f64 (+.f64 x eps))

series10.0ms (0.1%)

Counts
2 → 48
Calls

12 calls:

2.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
eps
inf
1.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
eps
0
1.0ms
(sin.f64 (+.f64 x eps))
x
0
1.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
eps
-inf
1.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
x
0

rewrite58.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
464×fma-def_binary64
445×log-prod_binary64
214×fma-neg_binary64
179×expm1-udef_binary64
179×log1p-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0717
117317
2269217
Stop Event
node limit
Counts
2 → 151

simplify31.0ms (0.4%)

Algorithm
egg-herbie
Rules
730×fma-neg_binary64
266×cancel-sign-sub-inv_binary64
264×associate-+l-_binary64
245×distribute-rgt-neg-in_binary64
243×sub-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
053602
1172587
2566572
32209569
Stop Event
node limit
Counts
199 → 180

prune137.0ms (1.9%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New1719180
Fresh000
Picked101
Done000
Total1729181
Error
0.1b
Counts
181 → 9
Alt Table
StatusErrorProgram
19.8b
(-.f64 (fma.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
32.3b
(-.f64 (*.f64 eps (cos.f64 x)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
19.4b
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))
19.8b
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))
19.8b
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (*.f64 (cbrt.f64 (sin.f64 x)) (cos.f64 eps)) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))
32.3b
(fma.f64 (cos.f64 x) (-.f64 eps (*.f64 1/6 (pow.f64 eps 3))) (*.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/2))))
20.1b
(-.f64 (fma.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (cbrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps)))) (cbrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))
40.5b
(fma.f64 (sqrt.f64 (sin.f64 x)) (*.f64 (sqrt.f64 (sin.f64 x)) (cos.f64 eps)) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))
19.4b
(fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))
Compiler

Compiled 3617 to 1140 computations (68.5% saved)

localize10.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps)))
0.1b
(*.f64 (sin.f64 x) (cos.f64 eps))
2.7b
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))

series40.0ms (0.6%)

Counts
3 → 56
Calls

18 calls:

4.0ms
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))
x
-inf
3.0ms
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))
eps
-inf
3.0ms
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))
eps
inf
3.0ms
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))
x
inf
3.0ms
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps)))
x
-inf

rewrite62.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
530×log-prod_binary64
346×fma-def_binary64
207×expm1-udef_binary64
207×log1p-udef_binary64
204×fma-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01045
121425
2293125
Stop Event
node limit
Counts
3 → 152

simplify47.0ms (0.6%)

Algorithm
egg-herbie
Rules
400×fma-def_binary64
376×distribute-rgt-neg-in_binary64
369×cancel-sign-sub-inv_binary64
366×distribute-lft-neg-in_binary64
337×sub-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0861114
12741092
28681018
333411013
Stop Event
node limit
Counts
208 → 199

prune138.0ms (1.9%)

Pruning

14 alts after pruning (13 fresh and 1 done)

PrunedKeptTotal
New1918199
Fresh358
Picked011
Done000
Total19414208
Error
0.0b
Counts
208 → 14
Alt Table
StatusErrorProgram
40.5b
(fma.f64 (sqrt.f64 (sin.f64 x)) (*.f64 (sqrt.f64 (sin.f64 x)) (cos.f64 eps)) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))
20.0b
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (log.f64 (pow.f64 (exp.f64 (sin.f64 x)) (cos.f64 eps)))) (sin.f64 x))
32.5b
(fma.f64 (*.f64 (cos.f64 x) (sqrt.f64 (sin.f64 eps))) (sqrt.f64 (sin.f64 eps)) (-.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (sin.f64 x)))
19.4b
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))
19.8b
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))
19.8b
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (*.f64 (cbrt.f64 (sin.f64 x)) (cos.f64 eps)) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))
32.3b
(fma.f64 (cos.f64 x) (-.f64 eps (*.f64 1/6 (pow.f64 eps 3))) (*.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/2))))
32.3b
(-.f64 (*.f64 eps (cos.f64 x)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))
13.2b
(fma.f64 (*.f64 (cos.f64 x) (cbrt.f64 (pow.f64 (sin.f64 eps) 2))) (cbrt.f64 (sin.f64 eps)) (-.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (sin.f64 x)))
30.0b
(fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (-.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (sin.f64 x)))
1.6b
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (cbrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps)))) (cbrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (-.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (sin.f64 x)))
0.8b
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (sin.f64 eps)) (-.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (sin.f64 x)))
0.5b
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (-.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (sin.f64 x)))
0.5b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 -1 (cos.f64 eps))))
Compiler

Compiled 4096 to 1379 computations (66.3% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (-.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (sin.f64 x)))
0.1b
(*.f64 (cos.f64 x) (sin.f64 eps))
0.1b
(*.f64 (sin.f64 x) (cos.f64 eps))
2.4b
(-.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (sin.f64 x))

series39.0ms (0.5%)

Counts
3 → 64
Calls

18 calls:

4.0ms
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (-.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (sin.f64 x)))
eps
-inf
3.0ms
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (-.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (sin.f64 x)))
eps
inf
3.0ms
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (-.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (sin.f64 x)))
x
inf
3.0ms
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (-.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (sin.f64 x)))
x
-inf
2.0ms
(-.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (sin.f64 x))
eps
-inf

rewrite75.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
664×fma-def_binary64
388×fma-neg_binary64
237×expm1-udef_binary64
237×log1p-udef_binary64
208×egg-rr
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01142
124730
2358730
Stop Event
node limit
Counts
3 → 208

simplify38.0ms (0.5%)

Algorithm
egg-herbie
Rules
727×fma-def_binary64
471×cancel-sign-sub-inv_binary64
370×associate-*r*_binary64
344×associate-*l*_binary64
238×fma-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01211266
13861222
212861092
Stop Event
node limit
Counts
272 → 257

prune344.0ms (4.7%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New2839292
Fresh9312
Picked101
Done101
Total29412306
Error
0.0b
Counts
306 → 12
Alt Table
StatusErrorProgram
0.8b
(fma.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 2) (pow.f64 (sin.f64 x) 2)) (/.f64 1 (fma.f64 (sin.f64 x) (cos.f64 eps) (sin.f64 x))) (*.f64 (cos.f64 x) (sin.f64 eps)))
19.4b
(fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 -1 (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))))
30.0b
(fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
20.0b
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (log.f64 (pow.f64 (exp.f64 (sin.f64 x)) (cos.f64 eps)))) (sin.f64 x))
29.2b
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
32.5b
(fma.f64 (sqrt.f64 (sin.f64 eps)) (*.f64 (sqrt.f64 (sin.f64 eps)) (cos.f64 x)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
40.5b
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (fma.f64 (sqrt.f64 (sin.f64 x)) (*.f64 (sqrt.f64 (sin.f64 x)) (cos.f64 eps)) (neg.f64 (sin.f64 x))))
0.5b
(fma.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1) (*.f64 (cos.f64 x) (sin.f64 eps)))
0.8b
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
17.7b
(+.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 3)) (-.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (sin.f64 x)))
32.3b
(fma.f64 (cos.f64 x) (-.f64 eps (*.f64 1/6 (pow.f64 eps 3))) (*.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/2))))
0.5b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 -1 (cos.f64 eps))))
Compiler

Compiled 6871 to 2363 computations (65.6% saved)

localize10.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.2b
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 -1 (cos.f64 eps))))
0.2b
(*.f64 (sin.f64 x) (+.f64 -1 (cos.f64 eps)))
2.5b
(+.f64 -1 (cos.f64 eps))

series27.0ms (0.4%)

Counts
3 → 60
Calls

15 calls:

3.0ms
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 -1 (cos.f64 eps))))
x
-inf
3.0ms
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 -1 (cos.f64 eps))))
eps
-inf
3.0ms
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 -1 (cos.f64 eps))))
eps
inf
3.0ms
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 -1 (cos.f64 eps))))
x
inf
2.0ms
(*.f64 (sin.f64 x) (+.f64 -1 (cos.f64 eps)))
x
0

rewrite53.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
468×prod-diff_binary64
207×expm1-udef_binary64
207×log1p-udef_binary64
195×fma-def_binary64
183×log-pow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01136
122736
2292436
Stop Event
node limit
Counts
3 → 112

simplify49.0ms (0.7%)

Algorithm
egg-herbie
Rules
638×fma-def_binary64
575×sub-neg_binary64
424×cancel-sign-sub-inv_binary64
273×associate-*l*_binary64
256×associate-*r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01061102
13271032
21070986
34773986
Stop Event
node limit
Counts
172 → 157

prune184.0ms (2.5%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New1561157
Fresh2911
Picked101
Done000
Total15910169
Error
0.0b
Counts
169 → 10
Alt Table
StatusErrorProgram
0.8b
(fma.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 2) (pow.f64 (sin.f64 x) 2)) (/.f64 1 (fma.f64 (sin.f64 x) (cos.f64 eps) (sin.f64 x))) (*.f64 (cos.f64 x) (sin.f64 eps)))
19.4b
(fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 -1 (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))))
29.2b
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))
32.5b
(fma.f64 (sqrt.f64 (sin.f64 eps)) (*.f64 (sqrt.f64 (sin.f64 eps)) (cos.f64 x)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
40.5b
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (fma.f64 (sqrt.f64 (sin.f64 x)) (*.f64 (sqrt.f64 (sin.f64 x)) (cos.f64 eps)) (neg.f64 (sin.f64 x))))
0.5b
(fma.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1) (*.f64 (cos.f64 x) (sin.f64 eps)))
30.0b
(fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
0.4b
(fma.f64 (sin.f64 eps) (cos.f64 x) (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (sin.f64 x)) (-.f64 -1 (cos.f64 eps))))
0.8b
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)))
17.7b
(+.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 3)) (-.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (sin.f64 x)))
Compiler

Compiled 3167 to 1341 computations (57.7% saved)

regimes756.0ms (10.4%)

Accuracy

Total 0.3b remaining (78.6%)

Threshold costs 0.3b (78.6%)

Counts
226 → 1
Compiler

Compiled 11696 to 7816 computations (33.2% saved)

simplify3.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01427
11727
22127
32327
42427
Stop Event
saturated

end158.0ms (2.2%)

Stop Event
fuel
Compiler

Compiled 234 to 151 computations (35.5% saved)

Profiling

Loading profile data...