Details

Time bar (total: 9.8s)

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)

sample5.1s (51.7%)

Results
2.4s3631×body1024valid
1.6s1270×body2048valid
640.0ms1440×body512valid
192.0ms1332×body128valid
159.0ms580×body256valid
11.0msbody4096valid
Compiler

Compiled 29 to 20 computations (31% saved)

simplify11.0ms (0.1%)

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
38.3b
Counts
2 → 1
Alt Table
StatusErrorProgram
38.3b
(-.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
1.6b
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
4.1b
(sin.f64 (+.f64 x eps))

series11.0ms (0.1%)

Counts
2 → 48
Calls

2 calls:

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

rewrite10.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
12×*-un-lft-identity_binary64
12×add-sqr-sqrt_binary64
10×add-cube-cbrt_binary64
prod-diff_binary64
add-log-exp_binary64
Counts
2 → 42
Calls

2 calls:

5.0ms
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
3.0ms
(sin.f64 (+.f64 x eps))

simplify103.0ms (1%)

Algorithm
egg-herbie
Rules
639×fma-neg_binary64
483×fma-def_binary64
351×cancel-sign-sub-inv_binary64
291×sub-neg_binary64
284×associate-+l-_binary64
Counts
90 → 92
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01281256
12971180
29601116
324261108
447761108
549531108
648391108

prune73.0ms (0.7%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New87592
Fresh000
Picked101
Done000
Total88593
Error
0.3b
Counts
93 → 5
Alt Table
StatusErrorProgram
23.6b
(-.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
39.9b
(-.f64 (fma.f64 (+.f64 (*.f64 (*.f64 x x) -1/2) 1) (sin.f64 eps) (neg.f64 (*.f64 (cos.f64 eps) (-.f64 (*.f64 1/6 (pow.f64 x 3)) x)))) (sin.f64 x))
29.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.4b
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 (pow.f64 eps 3) -1/6)) (*.f64 (sin.f64 x) (*.f64 (*.f64 eps eps) -1/2)))
23.6b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
Compiler

Compiled 1775 to 587 computations (66.9% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series49.0ms (0.5%)

Counts
4 → 64
Calls

4 calls:

18.0ms
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
10.0ms
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
10.0ms
(*.f64 (cos.f64 x) (sin.f64 eps))
10.0ms
(*.f64 (sin.f64 x) (cos.f64 eps))

rewrite22.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
16×add-sqr-sqrt_binary64
12×*-un-lft-identity_binary64
12×add-cube-cbrt_binary64
11×add-log-exp_binary64
add-cbrt-cube_binary64
Counts
4 → 86
Calls

4 calls:

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

simplify115.0ms (1.2%)

Algorithm
egg-herbie
Rules
1032×fma-neg_binary64
429×distribute-rgt-in_binary64
243×associate-*r*_binary64
235×associate-*l*_binary64
225×distribute-rgt-neg-in_binary64
Counts
150 → 192
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02422802
16442630
223702544
347652537
452462537

prune187.0ms (1.9%)

Pruning

14 alts after pruning (14 fresh and 0 done)

PrunedKeptTotal
New17913192
Fresh314
Picked101
Done000
Total18314197
Error
0.1b
Counts
197 → 14
Alt Table
StatusErrorProgram
23.6b
(fma.f64 (sin.f64 x) (cos.f64 eps) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
23.6b
(-.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
26.8b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 (cos.f64 x) (cos.f64 x)) (cos.f64 x)) (*.f64 (*.f64 (sin.f64 eps) (sin.f64 eps)) (sin.f64 eps)))) (sin.f64 x)))
26.9b
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) 3) (pow.f64 (-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (sin.f64 x)) 3)) (fma.f64 (sin.f64 x) (*.f64 (cos.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (*.f64 (-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (sin.f64 x)) (+.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 x) (-.f64 -1 (cos.f64 eps)))))))
31.2b
(*.f64 (sqrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))) (sqrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))))
29.5b
(fma.f64 1/24 (*.f64 (sin.f64 x) (pow.f64 eps 4)) (fma.f64 (cos.f64 x) (+.f64 eps (*.f64 (pow.f64 eps 3) -1/6)) (*.f64 (sin.f64 x) (*.f64 (*.f64 eps eps) -1/2))))
23.7b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (expm1.f64 (log1p.f64 (*.f64 (cos.f64 x) (sin.f64 eps)))) (sin.f64 x)))
27.0b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (/.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) 3) (pow.f64 (sin.f64 x) 3)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 x)) (*.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (cos.f64 x) (sin.f64 x))))))
44.5b
(+.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 x))) (sqrt.f64 (sin.f64 x)) (*.f64 (sqrt.f64 (sin.f64 x)) (sqrt.f64 (sin.f64 x)))))
24.5b
(+.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (*.f64 (cbrt.f64 (sin.f64 x)) (*.f64 (cbrt.f64 (sin.f64 x)) (cbrt.f64 (sin.f64 x))))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (*.f64 (cbrt.f64 (sin.f64 x)) (cbrt.f64 (sin.f64 x))) (*.f64 (cbrt.f64 (sin.f64 x)) (*.f64 (cbrt.f64 (sin.f64 x)) (cbrt.f64 (sin.f64 x))))))
25.0b
(/.f64 (-.f64 (*.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (cos.f64 eps))) (*.f64 (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))) (-.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))))
25.0b
(+.f64 (log.f64 (exp.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
1.7b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))) (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))))) (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))))
21.8b
(cbrt.f64 (pow.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) 3))
Compiler

Compiled 5190 to 1533 computations (70.5% saved)

localize17.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))) (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))))) (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))))
0.5b
(*.f64 (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))) (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))))
0.6b
(cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))))
2.0b
(+.f64 (cos.f64 eps) -1)

series1.7s (17%)

Counts
4 → 84
Calls

4 calls:

862.0ms
(*.f64 (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))) (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))))
785.0ms
(cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))))
18.0ms
(*.f64 (*.f64 (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))) (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))))) (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))))
2.0ms
(+.f64 (cos.f64 eps) -1)

rewrite25.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
30×pow1_binary64
27×add-sqr-sqrt_binary64
23×cbrt-prod_binary64
18×*-un-lft-identity_binary64
16×pow1/3_binary64
Counts
4 → 111
Calls

4 calls:

7.0ms
(*.f64 (*.f64 (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))) (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))))) (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))))
4.0ms
(*.f64 (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))) (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))))
3.0ms
(+.f64 (cos.f64 eps) -1)
1.0ms
(cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))))

simplify152.0ms (1.5%)

Algorithm
egg-herbie
Rules
843×times-frac_binary64
383×associate-*r*_binary64
303×associate-*l*_binary64
298×fma-def_binary64
264×fma-neg_binary64
Counts
195 → 224
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03566718
110046020
236115554
353045554

prune485.0ms (4.9%)

Pruning

20 alts after pruning (20 fresh and 0 done)

PrunedKeptTotal
New37111382
Fresh4913
Picked101
Done000
Total37620396
Error
0.1b
Counts
396 → 20
Alt Table
StatusErrorProgram
2.8b
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x))))) 4) (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x))))) 4)) (cbrt.f64 (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))))))
23.6b
(-.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
0.5b
(pow.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x))) 1)
2.1b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))) (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))))) (cbrt.f64 (*.f64 (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))) (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))))))) (cbrt.f64 (*.f64 (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))) (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))))))) (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))))
26.9b
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) 3) (pow.f64 (-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (sin.f64 x)) 3)) (fma.f64 (sin.f64 x) (*.f64 (cos.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (*.f64 (-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (sin.f64 x)) (+.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 x) (-.f64 -1 (cos.f64 eps)))))))
1.7b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))) (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))))) (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (fma.f64 (*.f64 (cbrt.f64 (cos.f64 eps)) (cbrt.f64 (cos.f64 eps))) (cbrt.f64 (cos.f64 eps)) -1)))))
26.8b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 (cos.f64 x) (cos.f64 x)) (cos.f64 x)) (*.f64 (*.f64 (sin.f64 eps) (sin.f64 eps)) (sin.f64 eps)))) (sin.f64 x)))
31.2b
(*.f64 (sqrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))) (sqrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))))
29.5b
(fma.f64 1/24 (*.f64 (sin.f64 x) (pow.f64 eps 4)) (fma.f64 (cos.f64 x) (+.f64 eps (*.f64 (pow.f64 eps 3) -1/6)) (*.f64 (sin.f64 x) (*.f64 (*.f64 eps eps) -1/2))))
1.7b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))) (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))))) (cbrt.f64 (*.f64 (*.f64 (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))) (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))))) (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))))))
25.5b
(*.f64 (pow.f64 (pow.f64 (-.f64 (+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) (sin.f64 x)) 2) 1/3) (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))))
2.1b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))) (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))))) (*.f64 (*.f64 (cbrt.f64 (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))))) (cbrt.f64 (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))))) (cbrt.f64 (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))))))
47.3b
(*.f64 (-.f64 (+.f64 (*.f64 1/108 (/.f64 (*.f64 (pow.f64 eps 3) (*.f64 (sin.f64 x) (exp.f64 (*.f64 1/3 (+.f64 (log.f64 (pow.f64 (cos.f64 x) 2)) (*.f64 2 (log.f64 eps))))))) (cos.f64 x))) (exp.f64 (*.f64 1/3 (+.f64 (log.f64 (pow.f64 (cos.f64 x) 2)) (*.f64 2 (log.f64 eps)))))) (+.f64 (*.f64 1/3 (/.f64 (*.f64 eps (*.f64 (sin.f64 x) (exp.f64 (*.f64 1/3 (+.f64 (log.f64 (pow.f64 (cos.f64 x) 2)) (*.f64 2 (log.f64 eps))))))) (cos.f64 x))) (+.f64 (*.f64 1/9 (*.f64 (pow.f64 eps 2) (exp.f64 (*.f64 1/3 (+.f64 (log.f64 (pow.f64 (cos.f64 x) 2)) (*.f64 2 (log.f64 eps))))))) (+.f64 (*.f64 1/162 (/.f64 (*.f64 (pow.f64 eps 3) (*.f64 (pow.f64 (sin.f64 x) 3) (exp.f64 (*.f64 1/3 (+.f64 (log.f64 (pow.f64 (cos.f64 x) 2)) (*.f64 2 (log.f64 eps))))))) (pow.f64 (cos.f64 x) 3))) (*.f64 1/36 (/.f64 (*.f64 (pow.f64 eps 2) (*.f64 (pow.f64 (sin.f64 x) 2) (exp.f64 (*.f64 1/3 (+.f64 (log.f64 (pow.f64 (cos.f64 x) 2)) (*.f64 2 (log.f64 eps))))))) (pow.f64 (cos.f64 x) 2))))))) (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))))
21.8b
(cbrt.f64 (pow.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) 3))
44.5b
(+.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 x))) (sqrt.f64 (sin.f64 x)) (*.f64 (sqrt.f64 (sin.f64 x)) (sqrt.f64 (sin.f64 x)))))
1.7b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))) (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))))) (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (log.f64 (exp.f64 (-.f64 (cos.f64 eps) 1)))))))
3.6b
(*.f64 (exp.f64 (log.f64 (*.f64 (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))) (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))))))) (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))))
25.0b
(+.f64 (log.f64 (exp.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
41.4b
(pow.f64 (pow.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x))) 3) 1/3)
27.0b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (/.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) 3) (pow.f64 (sin.f64 x) 3)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 x)) (*.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (cos.f64 x) (sin.f64 x))))))
Compiler

Compiled 22427 to 10970 computations (51.1% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(sin.f64 eps)
0.1b
(*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x))
0.2b
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x)))
2.0b
(-.f64 (cos.f64 eps) 1)

series33.0ms (0.3%)

Counts
4 → 40
Calls

4 calls:

16.0ms
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x)))
12.0ms
(*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x))
4.0ms
(-.f64 (cos.f64 eps) 1)
1.0ms
(sin.f64 eps)

rewrite13.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
24×add-sqr-sqrt_binary64
20×*-un-lft-identity_binary64
14×add-cube-cbrt_binary64
prod-diff_binary64
associate-*l*_binary64
Counts
4 → 78
Calls

4 calls:

6.0ms
(*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x))
3.0ms
(-.f64 (cos.f64 eps) 1)
1.0ms
(sin.f64 eps)
0.0ms
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x)))

simplify88.0ms (0.9%)

Algorithm
egg-herbie
Rules
829×fma-def_binary64
645×sub-neg_binary64
488×cancel-sign-sub-inv_binary64
244×fma-neg_binary64
224×associate--r+_binary64
Counts
118 → 155
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01972075
14891742
214971690
345081690
451811690

prune256.0ms (2.6%)

Pruning

17 alts after pruning (17 fresh and 0 done)

PrunedKeptTotal
New1487155
Fresh91019
Picked101
Done000
Total15817175
Error
0.0b
Counts
175 → 17
Alt Table
StatusErrorProgram
44.5b
(+.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 x))) (sqrt.f64 (sin.f64 x)) (*.f64 (sqrt.f64 (sin.f64 x)) (sqrt.f64 (sin.f64 x)))))
12.2b
(pow.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (fma.f64 (sqrt.f64 (cos.f64 eps)) (sqrt.f64 (cos.f64 eps)) -1) (sin.f64 x))) 1)
0.5b
(pow.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x))) 1)
23.6b
(-.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
2.8b
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x))))) 4) (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x))))) 4)) (cbrt.f64 (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))))))
31.8b
(pow.f64 (fma.f64 (cos.f64 x) (*.f64 (sqrt.f64 (sin.f64 eps)) (sqrt.f64 (sin.f64 eps))) (*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x))) 1)
25.0b
(+.f64 (log.f64 (exp.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
0.6b
(pow.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (/.f64 (-.f64 (*.f64 (cos.f64 eps) (cos.f64 eps)) (*.f64 1 1)) (+.f64 (cos.f64 eps) 1)) (sin.f64 x))) 1)
0.5b
(pow.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (log1p.f64 (expm1.f64 (*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x))))) 1)
2.1b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))) (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))))) (*.f64 (*.f64 (cbrt.f64 (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))))) (cbrt.f64 (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))))) (cbrt.f64 (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))))))
1.6b
(pow.f64 (fma.f64 (cos.f64 x) (*.f64 (*.f64 (cbrt.f64 (sin.f64 eps)) (cbrt.f64 (sin.f64 eps))) (cbrt.f64 (sin.f64 eps))) (*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x))) 1)
27.4b
(pow.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x))) 1)
2.1b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))) (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))))) (cbrt.f64 (*.f64 (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))) (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))))))) (cbrt.f64 (*.f64 (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))) (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))))))) (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))))
1.7b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))) (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))))) (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (fma.f64 (*.f64 (cbrt.f64 (cos.f64 eps)) (cbrt.f64 (cos.f64 eps))) (cbrt.f64 (cos.f64 eps)) -1)))))
31.2b
(*.f64 (sqrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))) (sqrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))))
41.4b
(pow.f64 (pow.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x))) 3) 1/3)
21.8b
(cbrt.f64 (pow.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) 3))
Compiler

Compiled 4001 to 2139 computations (46.5% saved)

regimes1.1s (10.8%)

Accuracy

Total 0.3b remaining (79%)

Threshold costs 0.3b (79%)

Counts
281 → 1
Compiler

Compiled 25347 to 14942 computations (41.1% saved)

simplify2.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01530
11930
21830

end321.0ms (3.3%)

Compiler

Compiled 596 to 353 computations (40.8% saved)

Profiling

Loading profile data...