Details

Time bar (total: 8.6s)

analyze25.0ms (0.3%)

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

Compiled 10 to 7 computations (30% saved)

sample114.0ms (1.3%)

Algorithm
intervals
Results
51.0ms108×body1024valid
34.0ms32×body2048valid
14.0ms56×body512valid
3.0ms42×body128valid
3.0ms18×body256valid
Compiler

Compiled 21 to 15 computations (28.6% saved)

simplify15.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
36.0b
Counts
2 → 1
Alt Table
StatusErrorProgram
36.0b
(-.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
2.0b
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))
4.5b
(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:

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

series17.0ms (0.2%)

Counts
2 → 48
Calls

2 calls:

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

simplify108.0ms (1.3%)

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 → 136
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01281256
12971180
29601116
324261108
447761108
549531108
648391108

prune69.0ms (0.8%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New1324136
Fresh000
Picked101
Done000
Total1334137
Error
0.2b
Counts
137 → 4
Alt Table
StatusErrorProgram
22.1b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
31.5b
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 (pow.f64 eps 3) -1/6)) (*.f64 (sin.f64 x) (*.f64 (*.f64 eps eps) -1/2)))
31.1b
(*.f64 eps (cos.f64 x))
22.1b
(-.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x))
Compiler

Compiled 1664 to 511 computations (69.3% saved)

localize13.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 (sin.f64 x) (cos.f64 eps))
0.1b
(*.f64 (cos.f64 x) (sin.f64 eps))
3.4b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))

rewrite22.0ms (0.3%)

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:

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

series152.0ms (1.8%)

Counts
4 → 64
Calls

4 calls:

63.0ms
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
34.0ms
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))
28.0ms
(*.f64 (sin.f64 x) (cos.f64 eps))
27.0ms
(*.f64 (cos.f64 x) (sin.f64 eps))

simplify113.0ms (1.3%)

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 → 255
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02422802
16442630
223702544
347652537
452462537

prune156.0ms (1.8%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New24510255
Fresh213
Picked101
Done000
Total24811259
Error
0.1b
Counts
259 → 11
Alt Table
StatusErrorProgram
22.4b
(+.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) (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))))))
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)))))
6.7b
(/.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) (neg.f64 (cos.f64 x)) (sin.f64 x)))) (fma.f64 (cos.f64 eps) (sin.f64 x) (fma.f64 (sin.f64 eps) (neg.f64 (cos.f64 x)) (sin.f64 x))))
30.1b
(log.f64 (exp.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))))
34.4b
(*.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)))))
43.7b
(*.f64 (sqrt.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))) (sqrt.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))))
21.0b
(cbrt.f64 (pow.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) 3))
22.1b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))
31.5b
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 (pow.f64 eps 3) -1/6)) (*.f64 (sin.f64 x) (*.f64 (*.f64 eps eps) -1/2)))
22.1b
(fma.f64 (sin.f64 x) (cos.f64 eps) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))
0.5b
(log1p.f64 (expm1.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))))
Compiler

Compiled 4844 to 1390 computations (71.3% saved)

localize13.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

rewrite11.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
11×*-un-lft-identity_binary64
11×add-sqr-sqrt_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
add-exp-log_binary64
Counts
4 → 65
Calls

4 calls:

5.0ms
(*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))
3.0ms
(+.f64 (cos.f64 eps) -1)
0.0ms
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
0.0ms
(log1p.f64 (expm1.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))))

series1.1s (13%)

Counts
4 → 84
Calls

4 calls:

1.0s
(log1p.f64 (expm1.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))))
57.0ms
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))
30.0ms
(*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))
2.0ms
(+.f64 (cos.f64 eps) -1)

simplify107.0ms (1.2%)

Algorithm
egg-herbie
Rules
787×fma-def_binary64
674×sub-neg_binary64
442×cancel-sign-sub-inv_binary64
294×distribute-rgt-in_binary64
256×distribute-lft-in_binary64
Counts
149 → 256
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01952724
14822470
215242421
343872421
451862421

prune191.0ms (2.2%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New2533256
Fresh4610
Picked011
Done000
Total25710267
Error
0.0b
Counts
267 → 10
Alt Table
StatusErrorProgram
30.9b
(log1p.f64 (expm1.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/2 (*.f64 eps eps) (*.f64 (pow.f64 eps 6) -1/720)))))))
34.4b
(*.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)))))
21.0b
(cbrt.f64 (pow.f64 (fma.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) 3))
4.2b
(expm1.f64 (log1p.f64 (fma.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))))
22.4b
(+.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) (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))))))
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)))))
6.7b
(/.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) (neg.f64 (cos.f64 x)) (sin.f64 x)))) (fma.f64 (cos.f64 eps) (sin.f64 x) (fma.f64 (sin.f64 eps) (neg.f64 (cos.f64 x)) (sin.f64 x))))
30.1b
(log.f64 (exp.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))))
22.1b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))
0.5b
(log1p.f64 (expm1.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))))
Compiler

Compiled 3892 to 1924 computations (50.6% saved)

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

rewrite1.0ms (0%)

Algorithm
rewrite-expression-head
Rules
cbrt-prod_binary64
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
Counts
1 → 13
Calls

1 calls:

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

series1.0s (12.1%)

Counts
1 → 24
Calls

1 calls:

1.0s
(cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))))

simplify60.0ms (0.7%)

Algorithm
egg-herbie
Rules
857×fma-def_binary64
463×times-frac_binary64
299×associate-/l*_binary64
192×cancel-sign-sub-inv_binary64
191×associate-/r*_binary64
Counts
37 → 71
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01521565
14391519
215591383
350051383

prune203.0ms (2.3%)

Pruning

11 alts after pruning (10 fresh and 1 done)

PrunedKeptTotal
New3912393
Fresh088
Picked101
Done011
Total39211403
Error
0.0b
Counts
403 → 11
Alt Table
StatusErrorProgram
30.9b
(log1p.f64 (expm1.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/2 (*.f64 eps eps) (*.f64 (pow.f64 eps 6) -1/720)))))))
34.4b
(*.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)))))
21.0b
(cbrt.f64 (pow.f64 (fma.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) 3))
4.2b
(expm1.f64 (log1p.f64 (fma.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))))
22.4b
(+.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) (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))))))
6.7b
(/.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) (neg.f64 (cos.f64 x)) (sin.f64 x)))) (fma.f64 (cos.f64 eps) (sin.f64 x) (fma.f64 (sin.f64 eps) (neg.f64 (cos.f64 x)) (sin.f64 x))))
30.1b
(log.f64 (exp.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))))
1.8b
(*.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 (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.0b
(*.f64 (*.f64 (*.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)))))) (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)))))
22.1b
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))
0.5b
(log1p.f64 (expm1.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)))))
Compiler

Compiled 8369 to 3969 computations (52.6% saved)

regimes1.1s (12.5%)

Accuracy

Total 0.3b remaining (72.3%)

Threshold costs 0.3b (72.3%)

Compiler

Compiled 25707 to 15017 computations (41.6% saved)

simplify3.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01119
11719
21819
31619

end1.0ms (0%)

Compiler

Compiled 14 to 10 computations (28.6% saved)

sample4.0s (45.8%)

Algorithm
intervals
Results
1.6s3516×body1024valid
1.3s1254×body2048valid
338.0ms1354×body512valid
115.0ms1321×body128valid
90.0ms553×body256valid
4.0msbody4096valid
Compiler

Compiled 390 to 221 computations (43.3% saved)

Profiling

Loading profile data...