Details

Time bar (total: 10.8s)

analyze2.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)

sample142.0ms (1.3%)

Algorithm
intervals
Results
51.0ms112×body1024valid
42.0ms38×body2048valid
11.0ms48×body512valid
3.0ms43×body128valid
2.0ms15×body256valid
Compiler

Compiled 21 to 15 computations (28.6% 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
37.2b
Counts
2 → 1
Alt Table
StatusErrorProgram
37.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
1.0b
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
3.4b
(sin.f64 (+.f64 x eps))

series12.0ms (0.1%)

Counts
2 → 48
Calls

2 calls:

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

rewrite12.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:

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

simplify102.0ms (0.9%)

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

prune98.0ms (0.9%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New89392
Fresh000
Picked101
Done000
Total90393
Error
0.2b
Counts
93 → 3
Alt Table
StatusErrorProgram
20.6b
(-.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
32.4b
(fma.f64 (*.f64 (sin.f64 x) (*.f64 eps eps)) -1/2 (*.f64 eps (cos.f64 x)))
20.7b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
Compiler

Compiled 1645 to 493 computations (70% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series55.0ms (0.5%)

Counts
4 → 72
Calls

4 calls:

19.0ms
(-.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
17.0ms
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps)))
10.0ms
(*.f64 (cos.f64 x) (sin.f64 eps))
9.0ms
(*.f64 (sin.f64 x) (cos.f64 eps))

rewrite25.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
22×add-sqr-sqrt_binary64
18×*-un-lft-identity_binary64
16×add-cube-cbrt_binary64
11×add-log-exp_binary64
prod-diff_binary64
Counts
4 → 87
Calls

4 calls:

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

simplify138.0ms (1.3%)

Algorithm
egg-herbie
Rules
418×fma-neg_binary64
276×distribute-rgt-in_binary64
249×distribute-rgt-neg-in_binary64
245×distribute-lft-in_binary64
226×associate-*r*_binary64
Counts
159 → 189
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02403009
16162802
221902695
347982695
449722695
549112695

prune161.0ms (1.5%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New17811189
Fresh112
Picked101
Done000
Total18012192
Error
0.1b
Counts
192 → 12
Alt Table
StatusErrorProgram
28.8b
(*.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)))))
32.4b
(fma.f64 (*.f64 (sin.f64 x) (*.f64 eps eps)) -1/2 (*.f64 eps (cos.f64 x)))
20.6b
(-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
30.2b
(exp.f64 (log.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))))
20.7b
(-.f64 (expm1.f64 (log1p.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))))) (sin.f64 x))
21.9b
(fma.f64 (*.f64 (cbrt.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps)))) (cbrt.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))))) (cbrt.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps)))) (neg.f64 (sin.f64 x)))
42.7b
(+.f64 (fma.f64 1 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) (neg.f64 (*.f64 (sqrt.f64 (sin.f64 x)) (sqrt.f64 (sin.f64 x))))) (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)))))
22.0b
(-.f64 (+.f64 (log.f64 (exp.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
5.4b
(/.f64 (*.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) (fma.f64 (cos.f64 eps) (sin.f64 x) (fma.f64 (sin.f64 eps) (cos.f64 x) (sin.f64 x)))) (fma.f64 (cos.f64 eps) (sin.f64 x) (fma.f64 (sin.f64 eps) (cos.f64 x) (sin.f64 x))))
22.1b
(/.f64 (-.f64 (*.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps)))) (*.f64 (sin.f64 x) (sin.f64 x))) (+.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x)))
1.6b
(*.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)))))
19.0b
(cbrt.f64 (pow.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) 3))
Compiler

Compiled 5005 to 1432 computations (71.4% saved)

localize14.0ms (0.1%)

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.9b
(+.f64 (cos.f64 eps) -1)

series2.2s (20.4%)

Counts
4 → 84
Calls

4 calls:

1.2s
(*.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)))))
959.0ms
(cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))))
31.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)

rewrite30.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:

9.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)))))
5.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))))

simplify149.0ms (1.4%)

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

prune444.0ms (4.1%)

Pruning

15 alts after pruning (15 fresh and 0 done)

PrunedKeptTotal
New3757382
Fresh3811
Picked101
Done000
Total37915394
Error
0.0b
Counts
394 → 15
Alt Table
StatusErrorProgram
14.9b
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x))) 2)) (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))))
29.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))))) (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))))) (cbrt.f64 (sqrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))))))
21.9b
(fma.f64 (*.f64 (cbrt.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps)))) (cbrt.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))))) (cbrt.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps)))) (neg.f64 (sin.f64 x)))
1.9b
(*.f64 (*.f64 (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)))))) (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))))))) (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)))))))
41.2b
(*.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))))) (pow.f64 (-.f64 (+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) (sin.f64 x)) 1/3))
28.8b
(*.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)))))
32.4b
(fma.f64 (*.f64 (sin.f64 x) (*.f64 eps eps)) -1/2 (*.f64 eps (cos.f64 x)))
20.6b
(-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
42.7b
(+.f64 (fma.f64 1 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) (neg.f64 (*.f64 (sqrt.f64 (sin.f64 x)) (sqrt.f64 (sin.f64 x))))) (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.6b
(*.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 (*.f64 (exp.f64 (cos.f64 eps)) (exp.f64 -1)))))))
22.0b
(-.f64 (+.f64 (log.f64 (exp.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
5.4b
(/.f64 (*.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) (fma.f64 (cos.f64 eps) (sin.f64 x) (fma.f64 (sin.f64 eps) (cos.f64 x) (sin.f64 x)))) (fma.f64 (cos.f64 eps) (sin.f64 x) (fma.f64 (sin.f64 eps) (cos.f64 x) (sin.f64 x))))
40.0b
(pow.f64 (pow.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x))) 3) 1/3)
2.7b
(*.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))))))
19.0b
(cbrt.f64 (pow.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) 3))
Compiler

Compiled 21763 to 10534 computations (51.6% saved)

localize24.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.6b
(cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (log.f64 (*.f64 (exp.f64 (cos.f64 eps)) (exp.f64 -1))))))
0.6b
(cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))))
2.8b
(log.f64 (*.f64 (exp.f64 (cos.f64 eps)) (exp.f64 -1)))
2.9b
(+.f64 (cos.f64 eps) -1)

series1.7s (15.9%)

Counts
2 → 36
Calls

2 calls:

1.5s
(cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (log.f64 (*.f64 (exp.f64 (cos.f64 eps)) (exp.f64 -1))))))
258.0ms
(log.f64 (*.f64 (exp.f64 (cos.f64 eps)) (exp.f64 -1)))

rewrite7.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
*-un-lft-identity_binary64
pow1_binary64
cbrt-prod_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
Counts
2 → 28
Calls

2 calls:

6.0ms
(log.f64 (*.f64 (exp.f64 (cos.f64 eps)) (exp.f64 -1)))
1.0ms
(cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (log.f64 (*.f64 (exp.f64 (cos.f64 eps)) (exp.f64 -1))))))

simplify71.0ms (0.7%)

Algorithm
egg-herbie
Rules
866×fma-neg_binary64
516×fma-def_binary64
416×*-commutative_binary64
331×cancel-sign-sub-inv_binary64
324×distribute-rgt-neg-in_binary64
Counts
64 → 72
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01661442
14211323
212761274
335671265
449981265

prune343.0ms (3.2%)

Pruning

15 alts after pruning (14 fresh and 1 done)

PrunedKeptTotal
New2291230
Fresh11314
Picked011
Done000
Total23015245
Error
0.0b
Counts
245 → 15
Alt Table
StatusErrorProgram
14.9b
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x))) 2)) (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))))
29.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))))) (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))))) (cbrt.f64 (sqrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))))))
41.2b
(*.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))))) (pow.f64 (-.f64 (+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) (sin.f64 x)) 1/3))
28.8b
(*.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)))))
32.4b
(fma.f64 (*.f64 (sin.f64 x) (*.f64 eps eps)) -1/2 (*.f64 eps (cos.f64 x)))
20.6b
(-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
1.9b
(*.f64 (*.f64 (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)))))) (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))))))) (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)))))))
42.7b
(+.f64 (fma.f64 1 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) (neg.f64 (*.f64 (sqrt.f64 (sin.f64 x)) (sqrt.f64 (sin.f64 x))))) (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.6b
(*.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 (*.f64 (exp.f64 (cos.f64 eps)) (exp.f64 -1)))))))
22.0b
(-.f64 (+.f64 (log.f64 (exp.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
5.4b
(/.f64 (*.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) (fma.f64 (cos.f64 eps) (sin.f64 x) (fma.f64 (sin.f64 eps) (cos.f64 x) (sin.f64 x)))) (fma.f64 (cos.f64 eps) (sin.f64 x) (fma.f64 (sin.f64 eps) (cos.f64 x) (sin.f64 x))))
40.0b
(pow.f64 (pow.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x))) 3) 1/3)
2.7b
(*.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))))))
2.0b
(*.f64 (*.f64 (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 (cos.f64 x) (sin.f64 eps) (*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x))))) (cbrt.f64 (cbrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x)))))) (cbrt.f64 (cbrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x))))))) (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (log.f64 (*.f64 (exp.f64 (cos.f64 eps)) (exp.f64 -1)))))))
19.0b
(cbrt.f64 (pow.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) 3))
Compiler

Compiled 14221 to 7052 computations (50.4% saved)

regimes843.0ms (7.8%)

Accuracy

Total 0.2b remaining (67.1%)

Threshold costs 0.2b (67.1%)

Counts
214 → 1
Compiler

Compiled 20787 to 11591 computations (44.2% saved)

simplify3.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01219
11819
21919
31719

end1.0ms (0%)

Compiler

Compiled 14 to 10 computations (28.6% saved)

sample4.2s (38.7%)

Algorithm
intervals
Results
1.8s3491×body1024valid
1.3s1228×body2048valid
350.0ms1392×body512valid
111.0ms1318×body128valid
97.0ms569×body256valid
5.0msbody4096valid
Compiler

Compiled 655 to 357 computations (45.5% saved)

Profiling

Loading profile data...