Details

Time bar (total: 7.5s)

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 (65.4%)

Results
2.4s3636×body1024valid
1.6s1230×body2048valid
560.0ms1397×body512valid
198.0ms1390×body128valid
162.0ms603×body256valid
Compiler

Compiled 29 to 20 computations (31% 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
37.9b
Counts
2 → 1
Alt Table
StatusErrorProgram
37.9b
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
Compiler

Compiled 27 to 18 computations (33.3% saved)

localize7.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
2.0b
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
2.3b
(sin.f64 (+.f64 x eps))

series10.0ms (0.1%)

Counts
2 → 48
Calls

2 calls:

6.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
4.0ms
(sin.f64 (+.f64 x eps))

rewrite62.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
Calls

2 calls:

59.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
59.0ms
(sin.f64 (+.f64 x eps))

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

prune142.0ms (1.9%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New17010180
Fresh000
Picked101
Done000
Total17110181
Error
0.1b
Counts
181 → 10
Alt Table
StatusErrorProgram
41.1b
(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))))
23.0b
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))
29.6b
(-.f64 (log.f64 (*.f64 (exp.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (exp.f64 (*.f64 (sin.f64 x) (cos.f64 eps))))) (sin.f64 x))
32.5b
(-.f64 (+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.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)))))
23.0b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))
51.4b
(-.f64 (pow.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) 2) (sin.f64 x))
23.6b
(-.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))
23.5b
(-.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))
23.0b
(fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))
23.0b
(-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
Compiler

Compiled 3615 to 1156 computations (68% saved)

localize35.0ms (0.5%)

Local error

Found 4 expressions with local error:

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

series42.0ms (0.6%)

Counts
4 → 68
Calls

4 calls:

17.0ms
(-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
15.0ms
(fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps)))
8.0ms
(*.f64 (cos.f64 x) (sin.f64 eps))
1.0ms
(sin.f64 eps)

rewrite64.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
710×prod-diff_binary64
271×fma-def_binary64
198×expm1-udef_binary64
198×log1p-udef_binary64
151×fma-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01048
120748
2271848
Stop Event
node limit
Counts
4 → 146
Calls

4 calls:

60.0ms
(sin.f64 eps)
60.0ms
(fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps)))
60.0ms
(*.f64 (cos.f64 x) (sin.f64 eps))
60.0ms
(-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))

simplify49.0ms (0.6%)

Algorithm
egg-herbie
Rules
441×cancel-sign-sub-inv_binary64
426×fma-def_binary64
381×distribute-rgt-neg-in_binary64
371×sub-neg_binary64
364×distribute-lft-neg-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0941234
12991193
29641116
337451116
Stop Event
node limit
Counts
214 → 200

prune155.0ms (2.1%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New1946200
Fresh639
Picked101
Done000
Total2019210
Error
0.1b
Counts
210 → 9
Alt Table
StatusErrorProgram
26.2b
(-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (cbrt.f64 (*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 (sin.f64 eps) 3)))) (sin.f64 x))
32.5b
(-.f64 (+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.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)))))
43.8b
(-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (pow.f64 (sqrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) 2)) (sin.f64 x))
23.8b
(pow.f64 (cbrt.f64 (-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))) 3)
26.4b
(*.f64 (-.f64 (pow.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps))) 3) (pow.f64 (sin.f64 x) 3)) (/.f64 1 (fma.f64 (sin.f64 x) (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) (pow.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps))) 2))))
29.6b
(-.f64 (log.f64 (*.f64 (exp.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (exp.f64 (*.f64 (sin.f64 x) (cos.f64 eps))))) (sin.f64 x))
29.3b
(log.f64 (exp.f64 (-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))))
23.1b
(-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (expm1.f64 (log1p.f64 (*.f64 (cos.f64 x) (sin.f64 eps))))) (sin.f64 x))
23.0b
(fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))
Compiler

Compiled 4826 to 1367 computations (71.7% saved)

localize11.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(sin.f64 eps)
0.1b
(fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))
2.9b
(fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))

series28.0ms (0.4%)

Counts
2 → 48
Calls

2 calls:

17.0ms
(fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))
11.0ms
(fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))

rewrite73.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
826×log1p-expm1-u_binary64
826×expm1-log1p-u_binary64
285×prod-diff_binary64
179×egg-rr
104×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01034
119930
2245830
Stop Event
node limit
Counts
2 → 179
Calls

2 calls:

67.0ms
(fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))
67.0ms
(fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))

simplify38.0ms (0.5%)

Algorithm
egg-herbie
Rules
809×fma-neg_binary64
257×sub-neg_binary64
250×associate--l+_binary64
249×fma-def_binary64
246×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
071866
1210840
2613797
32396790
Stop Event
node limit
Counts
227 → 211

prune161.0ms (2.1%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New2351236
Fresh088
Picked011
Done000
Total23510245
Error
0.1b
Counts
245 → 10
Alt Table
StatusErrorProgram
26.2b
(-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (cbrt.f64 (*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 (sin.f64 eps) 3)))) (sin.f64 x))
32.5b
(-.f64 (+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.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)))))
43.8b
(-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (pow.f64 (sqrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) 2)) (sin.f64 x))
23.8b
(pow.f64 (cbrt.f64 (-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))) 3)
25.1b
(fma.f64 (sin.f64 x) (cos.f64 eps) (/.f64 (-.f64 (*.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) (pow.f64 (sin.f64 x) 2)) (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))))
26.4b
(*.f64 (-.f64 (pow.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps))) 3) (pow.f64 (sin.f64 x) 3)) (/.f64 1 (fma.f64 (sin.f64 x) (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) (pow.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps))) 2))))
29.6b
(-.f64 (log.f64 (*.f64 (exp.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (exp.f64 (*.f64 (sin.f64 x) (cos.f64 eps))))) (sin.f64 x))
29.3b
(log.f64 (exp.f64 (-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))))
23.1b
(-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (expm1.f64 (log1p.f64 (*.f64 (cos.f64 x) (sin.f64 eps))))) (sin.f64 x))
23.0b
(fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))
Compiler

Compiled 6772 to 2009 computations (70.3% saved)

localize13.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (cos.f64 x) (sin.f64 eps))
0.2b
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 x) (sin.f64 eps))))
0.2b
(log1p.f64 (*.f64 (cos.f64 x) (sin.f64 eps)))
2.8b
(-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (expm1.f64 (log1p.f64 (*.f64 (cos.f64 x) (sin.f64 eps))))) (sin.f64 x))

series413.0ms (5.5%)

Counts
3 → 72
Calls

3 calls:

385.0ms
(log1p.f64 (*.f64 (cos.f64 x) (sin.f64 eps)))
18.0ms
(-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (expm1.f64 (log1p.f64 (*.f64 (cos.f64 x) (sin.f64 eps))))) (sin.f64 x))
10.0ms
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 x) (sin.f64 eps))))

rewrite59.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
905×prod-diff_binary64
213×expm1-udef_binary64
213×log1p-udef_binary64
117×add-sqr-sqrt_binary64
112×expm1-log1p-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01239
122839
2292639
Stop Event
node limit
Counts
3 → 100
Calls

3 calls:

56.0ms
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 x) (sin.f64 eps))))
56.0ms
(log1p.f64 (*.f64 (cos.f64 x) (sin.f64 eps)))
56.0ms
(-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (expm1.f64 (log1p.f64 (*.f64 (cos.f64 x) (sin.f64 eps))))) (sin.f64 x))

simplify40.0ms (0.5%)

Algorithm
egg-herbie
Rules
675×fma-def_binary64
411×cancel-sign-sub-inv_binary64
396×times-frac_binary64
294×associate-/l*_binary64
194×fma-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01371419
14421383
215521312
Stop Event
node limit
Counts
172 → 145

prune138.0ms (1.8%)

Pruning

10 alts after pruning (8 fresh and 2 done)

PrunedKeptTotal
New1722174
Fresh268
Picked011
Done011
Total17410184
Error
0.1b
Counts
184 → 10
Alt Table
StatusErrorProgram
26.2b
(-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (cbrt.f64 (*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 (sin.f64 eps) 3)))) (sin.f64 x))
32.5b
(-.f64 (+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.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)))))
29.3b
(log.f64 (exp.f64 (-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))))
29.4b
(-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (/.f64 (-.f64 (*.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 1) (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 1)) 1) (+.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 1) 1))) (sin.f64 x))
23.1b
(-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (expm1.f64 (log1p.f64 (*.f64 (cos.f64 x) (sin.f64 eps))))) (sin.f64 x))
31.4b
(-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) (sin.f64 eps)))) (sin.f64 x))
23.8b
(pow.f64 (cbrt.f64 (-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x))) 3)
25.1b
(fma.f64 (sin.f64 x) (cos.f64 eps) (/.f64 (-.f64 (*.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) (pow.f64 (sin.f64 x) 2)) (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))))
26.4b
(*.f64 (-.f64 (pow.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps))) 3) (pow.f64 (sin.f64 x) 3)) (/.f64 1 (fma.f64 (sin.f64 x) (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) (pow.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps))) 2))))
23.0b
(fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))
Compiler

Compiled 4462 to 1621 computations (63.7% saved)

regimes826.0ms (11%)

Accuracy

Total 0.2b remaining (64.5%)

Threshold costs 0.2b (64.5%)

Counts
213 → 1
Compiler

Compiled 12742 to 7550 computations (40.7% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01119
11319
Stop Event
saturated

end186.0ms (2.5%)

Compiler

Compiled 285 to 167 computations (41.4% saved)

Profiling

Loading profile data...