Details

Time bar (total: 9.0s)

analyze33.0ms (0.4%)

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

Compiled 10 to 7 computations (30% saved)

sample139.0ms (1.5%)

Algorithm
intervals
Results
59.0ms112×body1024valid
48.0ms41×body2048valid
11.0ms40×body512valid
4.0ms44×body128valid
3.0ms18×body256valid
2.0msbody4096valid
Compiler

Compiled 21 to 15 computations (28.6% saved)

simplify17.0ms (0.2%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0711
11011
21511
32211
42911
54611
67211
79311
811011
912011
1012411
1112611
1211211

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 27 to 18 computations (33.3% saved)

localize9.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.2b
(sin.f64 x)
2.5b
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
3.0b
(sin.f64 (+.f64 x eps))

series37.0ms (0.4%)

Counts
3 → 52
Calls

3 calls:

30.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
4.0ms
(sin.f64 (+.f64 x eps))
2.0ms
(sin.f64 x)

rewrite16.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
13×*-un-lft-identity_binary64
13×add-sqr-sqrt_binary64
11×add-cube-cbrt_binary64
prod-diff_binary64
add-log-exp_binary64
Counts
3 → 51
Calls

3 calls:

6.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
3.0ms
(sin.f64 (+.f64 x eps))
2.0ms
(sin.f64 x)

simplify149.0ms (1.7%)

Algorithm
egg-herbie
Rules
1023×fma-neg_binary64
545×fma-def_binary64
414×cancel-sign-sub-inv_binary64
330×sub-neg_binary64
259×distribute-rgt-neg-in_binary64
Counts
103 → 110
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01451361
13421285
210841214
327341207
445861200
549871200
648301200

prune88.0ms (1%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New1037110
Fresh000
Picked101
Done000
Total1047111
Error
0.3b
Counts
111 → 7
Alt Table
StatusErrorProgram
21.8b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
43.2b
(-.f64 (log.f64 (exp.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x))
21.8b
(-.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
36.0b
(-.f64 (log1p.f64 (expm1.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x))
32.2b
(-.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)))))
13.9b
(*.f64 2 (*.f64 (sin.f64 (/.f64 eps 2)) (cos.f64 (/.f64 (+.f64 x (+.f64 eps x)) 2))))
36.2b
(-.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) (cbrt.f64 (sin.f64 (+.f64 x eps)))) (cbrt.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x))
Compiler

Compiled 2032 to 684 computations (66.3% saved)

localize13.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(sin.f64 (/.f64 eps 2))
0.2b
(/.f64 (+.f64 x (+.f64 eps x)) 2)
0.2b
(*.f64 (sin.f64 (/.f64 eps 2)) (cos.f64 (/.f64 (+.f64 x (+.f64 eps x)) 2)))
3.0b
(cos.f64 (/.f64 (+.f64 x (+.f64 eps x)) 2))

series24.0ms (0.3%)

Counts
4 → 84
Calls

4 calls:

12.0ms
(*.f64 (sin.f64 (/.f64 eps 2)) (cos.f64 (/.f64 (+.f64 x (+.f64 eps x)) 2)))
5.0ms
(cos.f64 (/.f64 (+.f64 x (+.f64 eps x)) 2))
4.0ms
(/.f64 (+.f64 x (+.f64 eps x)) 2)
2.0ms
(sin.f64 (/.f64 eps 2))

rewrite20.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
36×*-un-lft-identity_binary64
18×add-sqr-sqrt_binary64
16×add-cube-cbrt_binary64
15×times-frac_binary64
12×distribute-lft-out_binary64
Counts
4 → 78
Calls

4 calls:

5.0ms
(/.f64 (+.f64 x (+.f64 eps x)) 2)
5.0ms
(cos.f64 (/.f64 (+.f64 x (+.f64 eps x)) 2))
4.0ms
(*.f64 (sin.f64 (/.f64 eps 2)) (cos.f64 (/.f64 (+.f64 x (+.f64 eps x)) 2)))
2.0ms
(sin.f64 (/.f64 eps 2))

simplify164.0ms (1.8%)

Algorithm
egg-herbie
Rules
467×fma-def_binary64
422×associate-*l*_binary64
388×associate-*r*_binary64
346×distribute-rgt-neg-in_binary64
324×distribute-lft-neg-in_binary64
Counts
162 → 160
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01932721
14852483
212932188
337482187
448582187
549472187

prune184.0ms (2%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New1546160
Fresh246
Picked101
Done000
Total15710167
Error
0.2b
Counts
167 → 10
Alt Table
StatusErrorProgram
21.8b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
37.1b
(*.f64 2 (*.f64 (sqrt.f64 (sin.f64 (/.f64 eps 2))) (*.f64 (cos.f64 (/.f64 (fma.f64 x 2 eps) 2)) (sqrt.f64 (sin.f64 (/.f64 eps 2))))))
14.0b
(*.f64 2 (*.f64 (sin.f64 (/.f64 eps 2)) (log.f64 (exp.f64 (cos.f64 (/.f64 (fma.f64 x 2 eps) 2))))))
43.2b
(-.f64 (log.f64 (exp.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x))
36.2b
(-.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) (cbrt.f64 (sin.f64 (+.f64 x eps)))) (cbrt.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x))
14.0b
(*.f64 2 (*.f64 (sin.f64 (/.f64 eps 2)) (*.f64 (*.f64 (cbrt.f64 (cos.f64 (/.f64 (fma.f64 x 2 eps) 2))) (cbrt.f64 (cos.f64 (/.f64 (fma.f64 x 2 eps) 2)))) (cbrt.f64 (cos.f64 (/.f64 (fma.f64 x 2 eps) 2))))))
21.8b
(-.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
14.2b
(*.f64 2 (*.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 (/.f64 (fma.f64 x 2 eps) 2)) (sin.f64 (/.f64 eps 2)))) (cbrt.f64 (*.f64 (cos.f64 (/.f64 (fma.f64 x 2 eps) 2)) (sin.f64 (/.f64 eps 2))))) (cbrt.f64 (*.f64 (cos.f64 (/.f64 (fma.f64 x 2 eps) 2)) (sin.f64 (/.f64 eps 2))))))
32.1b
(*.f64 2 (fma.f64 (cos.f64 x) (fma.f64 1/2 eps (*.f64 (pow.f64 eps 3) -1/12)) (*.f64 eps (*.f64 (*.f64 eps (sin.f64 x)) -1/4))))
42.5b
(*.f64 2 (log.f64 (exp.f64 (*.f64 (sin.f64 (/.f64 eps 2)) (cos.f64 (/.f64 (+.f64 x (+.f64 eps x)) 2))))))
Compiler

Compiled 4075 to 2774 computations (31.9% saved)

localize19.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f64 (fma.f64 x 2 eps) 2)
0.2b
(*.f64 (sin.f64 (/.f64 eps 2)) (log.f64 (exp.f64 (cos.f64 (/.f64 (fma.f64 x 2 eps) 2)))))
0.4b
(log.f64 (exp.f64 (cos.f64 (/.f64 (fma.f64 x 2 eps) 2))))
3.0b
(cos.f64 (/.f64 (fma.f64 x 2 eps) 2))

series27.0ms (0.3%)

Counts
4 → 96
Calls

4 calls:

12.0ms
(*.f64 (sin.f64 (/.f64 eps 2)) (log.f64 (exp.f64 (cos.f64 (/.f64 (fma.f64 x 2 eps) 2)))))
5.0ms
(log.f64 (exp.f64 (cos.f64 (/.f64 (fma.f64 x 2 eps) 2))))
5.0ms
(cos.f64 (/.f64 (fma.f64 x 2 eps) 2))
4.0ms
(/.f64 (fma.f64 x 2 eps) 2)

rewrite18.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
21×add-sqr-sqrt_binary64
19×*-un-lft-identity_binary64
19×add-cube-cbrt_binary64
times-frac_binary64
log-prod_binary64
Counts
4 → 85
Calls

4 calls:

6.0ms
(*.f64 (sin.f64 (/.f64 eps 2)) (log.f64 (exp.f64 (cos.f64 (/.f64 (fma.f64 x 2 eps) 2)))))
3.0ms
(log.f64 (exp.f64 (cos.f64 (/.f64 (fma.f64 x 2 eps) 2))))
2.0ms
(cos.f64 (/.f64 (fma.f64 x 2 eps) 2))
2.0ms
(/.f64 (fma.f64 x 2 eps) 2)

simplify156.0ms (1.7%)

Algorithm
egg-herbie
Rules
800×fma-neg_binary64
387×associate-*l*_binary64
349×associate-*r*_binary64
294×distribute-rgt-neg-in_binary64
290×fma-def_binary64
Counts
181 → 164
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01953049
13942852
210302818
326882402
449772402
549542402

prune212.0ms (2.4%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New1604164
Fresh459
Picked011
Done000
Total16410174
Error
0.2b
Counts
174 → 10
Alt Table
StatusErrorProgram
14.1b
(*.f64 2 (*.f64 (*.f64 (cbrt.f64 (sin.f64 (/.f64 eps 2))) (cbrt.f64 (sin.f64 (/.f64 eps 2)))) (*.f64 (cos.f64 (fma.f64 1/2 eps x)) (cbrt.f64 (sin.f64 (/.f64 eps 2))))))
21.8b
(-.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
14.0b
(*.f64 2 (*.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 (fma.f64 1/2 eps x)) (sin.f64 (/.f64 eps 2)))) (cbrt.f64 (*.f64 (cos.f64 (fma.f64 1/2 eps x)) (sin.f64 (/.f64 eps 2))))) (cbrt.f64 (*.f64 (cos.f64 (fma.f64 1/2 eps x)) (sin.f64 (/.f64 eps 2))))))
32.1b
(*.f64 2 (fma.f64 (cos.f64 x) (fma.f64 1/2 eps (*.f64 (pow.f64 eps 3) -1/12)) (*.f64 eps (*.f64 (*.f64 eps (sin.f64 x)) -1/4))))
21.8b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
14.0b
(*.f64 2 (*.f64 (sin.f64 (/.f64 eps 2)) (log.f64 (exp.f64 (cos.f64 (/.f64 (fma.f64 x 2 eps) 2))))))
36.8b
(*.f64 2 (*.f64 (sqrt.f64 (sin.f64 (/.f64 eps 2))) (*.f64 (cos.f64 (fma.f64 1/2 eps x)) (sqrt.f64 (sin.f64 (/.f64 eps 2))))))
14.0b
(*.f64 2 (*.f64 (sin.f64 (/.f64 eps 2)) (*.f64 (cbrt.f64 (cos.f64 (/.f64 (fma.f64 x 2 eps) 2))) (*.f64 (cbrt.f64 (cos.f64 (fma.f64 1/2 eps x))) (cbrt.f64 (cos.f64 (fma.f64 1/2 eps x)))))))
42.5b
(*.f64 2 (log.f64 (exp.f64 (*.f64 (sin.f64 (/.f64 eps 2)) (cos.f64 (/.f64 (+.f64 x (+.f64 eps x)) 2))))))
36.2b
(-.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) (cbrt.f64 (sin.f64 (+.f64 x eps)))) (cbrt.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x))
Compiler

Compiled 4246 to 3336 computations (21.4% saved)

localize16.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (cos.f64 (fma.f64 1/2 eps x)) (sin.f64 (/.f64 eps 2)))
0.3b
(*.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 (fma.f64 1/2 eps x)) (sin.f64 (/.f64 eps 2)))) (cbrt.f64 (*.f64 (cos.f64 (fma.f64 1/2 eps x)) (sin.f64 (/.f64 eps 2))))) (cbrt.f64 (*.f64 (cos.f64 (fma.f64 1/2 eps x)) (sin.f64 (/.f64 eps 2)))))
0.5b
(*.f64 (cbrt.f64 (*.f64 (cos.f64 (fma.f64 1/2 eps x)) (sin.f64 (/.f64 eps 2)))) (cbrt.f64 (*.f64 (cos.f64 (fma.f64 1/2 eps x)) (sin.f64 (/.f64 eps 2)))))
3.0b
(cos.f64 (fma.f64 1/2 eps x))

series1.1s (11.9%)

Counts
4 → 80
Calls

4 calls:

1.0s
(*.f64 (cbrt.f64 (*.f64 (cos.f64 (fma.f64 1/2 eps x)) (sin.f64 (/.f64 eps 2)))) (cbrt.f64 (*.f64 (cos.f64 (fma.f64 1/2 eps x)) (sin.f64 (/.f64 eps 2)))))
14.0ms
(*.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 (fma.f64 1/2 eps x)) (sin.f64 (/.f64 eps 2)))) (cbrt.f64 (*.f64 (cos.f64 (fma.f64 1/2 eps x)) (sin.f64 (/.f64 eps 2))))) (cbrt.f64 (*.f64 (cos.f64 (fma.f64 1/2 eps x)) (sin.f64 (/.f64 eps 2)))))
14.0ms
(*.f64 (cos.f64 (fma.f64 1/2 eps x)) (sin.f64 (/.f64 eps 2)))
5.0ms
(cos.f64 (fma.f64 1/2 eps x))

rewrite53.0ms (0.6%)

Algorithm
rewrite-expression-head
Rules
32×pow1_binary64
16×add-sqr-sqrt_binary64
15×pow1/3_binary64
13×add-exp-log_binary64
11×associate-*r*_binary64
Counts
4 → 98
Calls

4 calls:

14.0ms
(*.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 (fma.f64 1/2 eps x)) (sin.f64 (/.f64 eps 2)))) (cbrt.f64 (*.f64 (cos.f64 (fma.f64 1/2 eps x)) (sin.f64 (/.f64 eps 2))))) (cbrt.f64 (*.f64 (cos.f64 (fma.f64 1/2 eps x)) (sin.f64 (/.f64 eps 2)))))
5.0ms
(*.f64 (cos.f64 (fma.f64 1/2 eps x)) (sin.f64 (/.f64 eps 2)))
5.0ms
(*.f64 (cbrt.f64 (*.f64 (cos.f64 (fma.f64 1/2 eps x)) (sin.f64 (/.f64 eps 2)))) (cbrt.f64 (*.f64 (cos.f64 (fma.f64 1/2 eps x)) (sin.f64 (/.f64 eps 2)))))
1.0ms
(cos.f64 (fma.f64 1/2 eps x))

simplify181.0ms (2%)

Algorithm
egg-herbie
Rules
555×fma-def_binary64
477×times-frac_binary64
359×cancel-sign-sub-inv_binary64
303×fma-neg_binary64
227×associate-*r*_binary64
Counts
178 → 161
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02344744
16104319
219403905
346083800
449813800

prune348.0ms (3.9%)

Pruning

10 alts after pruning (8 fresh and 2 done)

PrunedKeptTotal
New2401241
Fresh178
Picked011
Done011
Total24110251
Error
0.2b
Counts
251 → 10
Alt Table
StatusErrorProgram
14.0b
(*.f64 2 (*.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 (fma.f64 1/2 eps x)) (sin.f64 (/.f64 eps 2)))) (cbrt.f64 (*.f64 (cos.f64 (fma.f64 1/2 eps x)) (sin.f64 (/.f64 eps 2))))) (cbrt.f64 (*.f64 (cos.f64 (fma.f64 1/2 eps x)) (sin.f64 (/.f64 eps 2))))))
32.1b
(*.f64 2 (fma.f64 (cos.f64 x) (fma.f64 1/2 eps (*.f64 (pow.f64 eps 3) -1/12)) (*.f64 eps (*.f64 (*.f64 eps (sin.f64 x)) -1/4))))
21.8b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
14.0b
(*.f64 2 (*.f64 (sin.f64 (/.f64 eps 2)) (log.f64 (exp.f64 (cos.f64 (/.f64 (fma.f64 x 2 eps) 2))))))
36.8b
(*.f64 2 (*.f64 (sqrt.f64 (sin.f64 (/.f64 eps 2))) (*.f64 (cos.f64 (fma.f64 1/2 eps x)) (sqrt.f64 (sin.f64 (/.f64 eps 2))))))
21.8b
(-.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
14.0b
(*.f64 2 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 (fma.f64 1/2 eps x)) (sin.f64 (/.f64 eps 2)))) 3))
14.0b
(*.f64 2 (*.f64 (sin.f64 (/.f64 eps 2)) (*.f64 (cbrt.f64 (cos.f64 (/.f64 (fma.f64 x 2 eps) 2))) (*.f64 (cbrt.f64 (cos.f64 (fma.f64 1/2 eps x))) (cbrt.f64 (cos.f64 (fma.f64 1/2 eps x)))))))
42.5b
(*.f64 2 (log.f64 (exp.f64 (*.f64 (sin.f64 (/.f64 eps 2)) (cos.f64 (/.f64 (+.f64 x (+.f64 eps x)) 2))))))
36.2b
(-.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) (cbrt.f64 (sin.f64 (+.f64 x eps)))) (cbrt.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x))
Compiler

Compiled 10886 to 8243 computations (24.3% saved)

regimes1.6s (18.2%)

Accuracy

Total 0.1b remaining (32%)

Threshold costs 0.1b (32%)

Counts
200 → 3
Compiler

Compiled 12432 to 9572 computations (23% saved)

bsearch107.0ms (1.2%)

Steps
ItersRangePoint
8
5.62951952538661e-6
0.002434563720221933
0.0007069371478589407
10
-0.003465705121483918
-1.542845279153115e-14
-0.0007736904031470145
Compiler

Compiled 3 to 2 computations (33.3% saved)

simplify9.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
03785
15685
26885
39285
411385
512585
613385
713685
813485

end2.0ms (0%)

Compiler

Compiled 56 to 36 computations (35.7% saved)

sample4.2s (47.2%)

Algorithm
intervals
Results
1.8s3427×body1024valid
1.3s1200×body2048valid
423.0ms1433×body512valid
119.0ms1354×body128valid
107.0ms584×body256valid
5.0msbody4096valid
Compiler

Compiled 290 to 206 computations (29% saved)

Profiling

Loading profile data...