Details

Time bar (total: 12.1s)

analyze1.3s (10.6%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
12.5%87.4%0.1%5
18.7%81.2%0.1%6
21.9%78%0.1%7
23.4%76.5%0.1%8
24.2%75.7%0.1%9
24.6%75.3%0.1%10
24.8%75.1%0.1%11
24.9%75%0.1%12
24.9%75%0.1%13
25%75%0.1%14
Compiler

Compiled 10 to 7 computations (30% saved)

sample4.1s (33.6%)

Results
2.0s3592×body1024valid
1.2s1281×body2048valid
511.0ms1387×body512valid
223.0ms1390×body128valid
151.0ms603×body256valid
4.0msbody4096valid
Compiler

Compiled 29 to 20 computations (31% saved)

simplify12.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
35.1b
Counts
2 → 1
Alt Table
StatusErrorProgram
35.1b
(-.f64 (tan.f64 (+.f64 x eps)) (tan.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 (tan.f64 (+.f64 x eps)) (tan.f64 x))
3.6b
(tan.f64 (+.f64 x eps))

series73.0ms (0.6%)

Counts
2 → 48
Calls

2 calls:

44.0ms
(-.f64 (tan.f64 (+.f64 x eps)) (tan.f64 x))
28.0ms
(tan.f64 (+.f64 x eps))

rewrite14.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 → 43
Calls

2 calls:

9.0ms
(-.f64 (tan.f64 (+.f64 x eps)) (tan.f64 x))
3.0ms
(tan.f64 (+.f64 x eps))

simplify116.0ms (1%)

Algorithm
egg-herbie
Rules
936×fma-def_binary64
909×times-frac_binary64
194×associate-+r+_binary64
142×unswap-sqr_binary64
125×+-commutative_binary64
Counts
91 → 93
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02072570
15072289
217872148
349652145
449862145
549432145

prune106.0ms (0.9%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New87693
Fresh000
Picked101
Done000
Total88694
Error
0.1b
Counts
94 → 6
Alt Table
StatusErrorProgram
32.1b
(+.f64 (+.f64 (/.f64 (pow.f64 eps 3) (pow.f64 (/.f64 (cos.f64 x) (sin.f64 x)) 4)) (+.f64 (fma.f64 4/3 (/.f64 (*.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 eps 3)) (pow.f64 (cos.f64 x) 2)) (*.f64 1/3 (pow.f64 eps 3))) (fma.f64 eps (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2)) eps))) (*.f64 (/.f64 (*.f64 eps eps) (cos.f64 x)) (+.f64 (sin.f64 x) (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (cos.f64 x) 2)))))
20.7b
(/.f64 (fma.f64 (sin.f64 x) (+.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) -1) (*.f64 (cos.f64 x) (+.f64 (tan.f64 x) (tan.f64 eps)))) (*.f64 (cos.f64 x) (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 eps)))))
20.7b
(/.f64 (-.f64 (*.f64 (+.f64 (tan.f64 x) (tan.f64 eps)) (cos.f64 x)) (*.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 eps))) (sin.f64 x))) (*.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 eps))) (cos.f64 x)))
31.8b
(+.f64 (fma.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (cos.f64 eps) 2)) x (fma.f64 (/.f64 (sin.f64 eps) (cos.f64 eps)) (*.f64 x x) (/.f64 (sin.f64 eps) (cos.f64 eps)))) (fma.f64 4/3 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 3)) (pow.f64 (cos.f64 eps) 2)) (fma.f64 (/.f64 (pow.f64 (sin.f64 eps) 3) (pow.f64 (cos.f64 eps) 3)) (*.f64 x x) (/.f64 (*.f64 (pow.f64 x 3) (pow.f64 (sin.f64 eps) 4)) (pow.f64 (cos.f64 eps) 4)))))
20.6b
(-.f64 (/.f64 (+.f64 (tan.f64 x) (tan.f64 eps)) (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 eps)))) (tan.f64 x))
32.2b
(+.f64 (+.f64 eps (+.f64 (/.f64 (pow.f64 eps 3) (pow.f64 (/.f64 (cos.f64 x) (sin.f64 x)) 4)) (fma.f64 5/3 (/.f64 (pow.f64 eps 4) (pow.f64 (/.f64 (cos.f64 x) (sin.f64 x)) 3)) (fma.f64 (/.f64 (pow.f64 eps 4) (pow.f64 (cos.f64 x) 5)) (pow.f64 (sin.f64 x) 5) (fma.f64 4/3 (/.f64 (*.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 eps 3)) (pow.f64 (cos.f64 x) 2)) (fma.f64 eps (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2)) (fma.f64 1/3 (pow.f64 eps 3) (*.f64 2/3 (*.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (pow.f64 eps 4)))))))))) (*.f64 (/.f64 (*.f64 eps eps) (cos.f64 x)) (+.f64 (sin.f64 x) (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (cos.f64 x) 2)))))
Compiler

Compiled 3079 to 1289 computations (58.1% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(+.f64 (tan.f64 x) (tan.f64 eps))
0.1b
(/.f64 (+.f64 (tan.f64 x) (tan.f64 eps)) (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 eps))))
0.2b
(*.f64 (tan.f64 x) (tan.f64 eps))
3.8b
(-.f64 (/.f64 (+.f64 (tan.f64 x) (tan.f64 eps)) (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 eps)))) (tan.f64 x))

series401.0ms (3.3%)

Counts
4 → 96
Calls

4 calls:

213.0ms
(-.f64 (/.f64 (+.f64 (tan.f64 x) (tan.f64 eps)) (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 eps)))) (tan.f64 x))
124.0ms
(/.f64 (+.f64 (tan.f64 x) (tan.f64 eps)) (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 eps))))
35.0ms
(*.f64 (tan.f64 x) (tan.f64 eps))
29.0ms
(+.f64 (tan.f64 x) (tan.f64 eps))

rewrite46.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
103×*-un-lft-identity_binary64
74×add-sqr-sqrt_binary64
67×add-cube-cbrt_binary64
61×times-frac_binary64
54×prod-diff_binary64
Counts
4 → 171
Calls

4 calls:

12.0ms
(-.f64 (/.f64 (+.f64 (tan.f64 x) (tan.f64 eps)) (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 eps)))) (tan.f64 x))
6.0ms
(/.f64 (+.f64 (tan.f64 x) (tan.f64 eps)) (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 eps))))
5.0ms
(*.f64 (tan.f64 x) (tan.f64 eps))
4.0ms
(+.f64 (tan.f64 x) (tan.f64 eps))

simplify239.0ms (2%)

Algorithm
egg-herbie
Rules
228×unswap-sqr_binary64
225×associate-+r+_binary64
225×distribute-rgt-in_binary64
203×distribute-lft-in_binary64
184×associate-*l*_binary64
Counts
267 → 245
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
038510657
19259025
231708501
347678501
449238501

prune281.0ms (2.3%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New2387245
Fresh235
Picked101
Done000
Total24110251
Error
0.1b
Counts
251 → 10
Alt Table
StatusErrorProgram
20.6b
(-.f64 (*.f64 (/.f64 (+.f64 (tan.f64 x) (tan.f64 eps)) (-.f64 1 (*.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) (*.f64 (tan.f64 x) (tan.f64 eps))))) (+.f64 1 (*.f64 (tan.f64 x) (tan.f64 eps)))) (tan.f64 x))
20.7b
(-.f64 (/.f64 (+.f64 (tan.f64 x) (tan.f64 eps)) (-.f64 1 (cbrt.f64 (pow.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) 3)))) (tan.f64 x))
32.2b
(+.f64 (+.f64 eps (+.f64 (/.f64 (pow.f64 eps 3) (pow.f64 (/.f64 (cos.f64 x) (sin.f64 x)) 4)) (fma.f64 5/3 (/.f64 (pow.f64 eps 4) (pow.f64 (/.f64 (cos.f64 x) (sin.f64 x)) 3)) (fma.f64 (/.f64 (pow.f64 eps 4) (pow.f64 (cos.f64 x) 5)) (pow.f64 (sin.f64 x) 5) (fma.f64 4/3 (/.f64 (*.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 eps 3)) (pow.f64 (cos.f64 x) 2)) (fma.f64 eps (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2)) (fma.f64 1/3 (pow.f64 eps 3) (*.f64 2/3 (*.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (pow.f64 eps 4)))))))))) (*.f64 (/.f64 (*.f64 eps eps) (cos.f64 x)) (+.f64 (sin.f64 x) (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (cos.f64 x) 2)))))
20.8b
(-.f64 (/.f64 (+.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (/.f64 (sin.f64 eps) (cos.f64 eps))) (-.f64 1 (/.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (cos.f64 x))))) (tan.f64 x))
21.2b
(-.f64 (/.f64 (log1p.f64 (expm1.f64 (+.f64 (tan.f64 x) (tan.f64 eps)))) (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 eps)))) (tan.f64 x))
32.1b
(+.f64 (+.f64 (/.f64 (pow.f64 eps 3) (pow.f64 (/.f64 (cos.f64 x) (sin.f64 x)) 4)) (+.f64 (fma.f64 4/3 (/.f64 (*.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 eps 3)) (pow.f64 (cos.f64 x) 2)) (*.f64 1/3 (pow.f64 eps 3))) (fma.f64 eps (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2)) eps))) (*.f64 (/.f64 (*.f64 eps eps) (cos.f64 x)) (+.f64 (sin.f64 x) (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (cos.f64 x) 2)))))
20.7b
(/.f64 (fma.f64 (sin.f64 x) (+.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) -1) (*.f64 (cos.f64 x) (+.f64 (tan.f64 x) (tan.f64 eps)))) (*.f64 (cos.f64 x) (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 eps)))))
20.6b
(fma.f64 (+.f64 (tan.f64 x) (tan.f64 eps)) (/.f64 1 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 eps)))) (neg.f64 (tan.f64 x)))
20.6b
(+.f64 (fma.f64 (/.f64 (+.f64 (tan.f64 x) (tan.f64 eps)) (-.f64 1 (pow.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) 3))) (fma.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) (fma.f64 (tan.f64 x) (tan.f64 eps) 1) 1) (neg.f64 (tan.f64 x))) 0)
21.6b
(-.f64 (/.f64 (*.f64 (*.f64 (cbrt.f64 (+.f64 (tan.f64 x) (tan.f64 eps))) (cbrt.f64 (+.f64 (tan.f64 x) (tan.f64 eps)))) (cbrt.f64 (+.f64 (tan.f64 x) (tan.f64 eps)))) (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 eps)))) (tan.f64 x))
Compiler

Compiled 9511 to 3263 computations (65.7% saved)

localize17.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (+.f64 (tan.f64 x) (tan.f64 eps)) (-.f64 1 (pow.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) 3)))
0.2b
(*.f64 (tan.f64 x) (tan.f64 eps))
0.3b
(pow.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) 3)
3.8b
(fma.f64 (/.f64 (+.f64 (tan.f64 x) (tan.f64 eps)) (-.f64 1 (pow.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) 3))) (fma.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) (fma.f64 (tan.f64 x) (tan.f64 eps) 1) 1) (neg.f64 (tan.f64 x)))

series723.0ms (6%)

Counts
3 → 72
Calls

3 calls:

413.0ms
(fma.f64 (/.f64 (+.f64 (tan.f64 x) (tan.f64 eps)) (-.f64 1 (pow.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) 3))) (fma.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) (fma.f64 (tan.f64 x) (tan.f64 eps) 1) 1) (neg.f64 (tan.f64 x)))
244.0ms
(/.f64 (+.f64 (tan.f64 x) (tan.f64 eps)) (-.f64 1 (pow.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) 3)))
66.0ms
(pow.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) 3)

rewrite23.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
56×*-un-lft-identity_binary64
38×add-sqr-sqrt_binary64
32×times-frac_binary64
20×difference-of-squares_binary64
18×add-cube-cbrt_binary64
Counts
3 → 100
Calls

3 calls:

10.0ms
(/.f64 (+.f64 (tan.f64 x) (tan.f64 eps)) (-.f64 1 (pow.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) 3)))
4.0ms
(pow.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) 3)
0.0ms
(fma.f64 (/.f64 (+.f64 (tan.f64 x) (tan.f64 eps)) (-.f64 1 (pow.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) 3))) (fma.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) (fma.f64 (tan.f64 x) (tan.f64 eps) 1) 1) (neg.f64 (tan.f64 x)))

simplify234.0ms (1.9%)

Algorithm
egg-herbie
Rules
385×unswap-sqr_binary64
292×times-frac_binary64
217×associate-/l*_binary64
202×associate-*r*_binary64
191×associate-*l*_binary64
Counts
172 → 153
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
032211027
185910697
2372710572
3504910572

prune402.0ms (3.3%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New2374241
Fresh369
Picked101
Done000
Total24110251
Error
0.1b
Counts
251 → 10
Alt Table
StatusErrorProgram
32.2b
(+.f64 (+.f64 eps (+.f64 (/.f64 (pow.f64 eps 3) (pow.f64 (/.f64 (cos.f64 x) (sin.f64 x)) 4)) (fma.f64 5/3 (/.f64 (pow.f64 eps 4) (pow.f64 (/.f64 (cos.f64 x) (sin.f64 x)) 3)) (fma.f64 (/.f64 (pow.f64 eps 4) (pow.f64 (cos.f64 x) 5)) (pow.f64 (sin.f64 x) 5) (fma.f64 4/3 (/.f64 (*.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 eps 3)) (pow.f64 (cos.f64 x) 2)) (fma.f64 eps (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2)) (fma.f64 1/3 (pow.f64 eps 3) (*.f64 2/3 (*.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (pow.f64 eps 4)))))))))) (*.f64 (/.f64 (*.f64 eps eps) (cos.f64 x)) (+.f64 (sin.f64 x) (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (cos.f64 x) 2)))))
20.8b
(-.f64 (/.f64 (+.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (/.f64 (sin.f64 eps) (cos.f64 eps))) (-.f64 1 (/.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (cos.f64 x))))) (tan.f64 x))
21.2b
(-.f64 (/.f64 (log1p.f64 (expm1.f64 (+.f64 (tan.f64 x) (tan.f64 eps)))) (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 eps)))) (tan.f64 x))
32.1b
(+.f64 (+.f64 (/.f64 (pow.f64 eps 3) (pow.f64 (/.f64 (cos.f64 x) (sin.f64 x)) 4)) (+.f64 (fma.f64 4/3 (/.f64 (*.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 eps 3)) (pow.f64 (cos.f64 x) 2)) (*.f64 1/3 (pow.f64 eps 3))) (fma.f64 eps (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2)) eps))) (*.f64 (/.f64 (*.f64 eps eps) (cos.f64 x)) (+.f64 (sin.f64 x) (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (cos.f64 x) 2)))))
20.8b
(+.f64 (fma.f64 (/.f64 (+.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (/.f64 (sin.f64 eps) (cos.f64 eps))) (-.f64 1 (/.f64 (*.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (sin.f64 eps) 3)) (*.f64 (pow.f64 (cos.f64 eps) 3) (pow.f64 (cos.f64 x) 3))))) (fma.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) (fma.f64 (tan.f64 x) (tan.f64 eps) 1) 1) (neg.f64 (tan.f64 x))) 0)
20.7b
(/.f64 (fma.f64 (sin.f64 x) (+.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) -1) (*.f64 (cos.f64 x) (+.f64 (tan.f64 x) (tan.f64 eps)))) (*.f64 (cos.f64 x) (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 eps)))))
20.6b
(+.f64 (fma.f64 (/.f64 (+.f64 (tan.f64 x) (tan.f64 eps)) (-.f64 1 (*.f64 (pow.f64 (tan.f64 x) 3) (pow.f64 (tan.f64 eps) 3)))) (fma.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) (fma.f64 (tan.f64 x) (tan.f64 eps) 1) 1) (neg.f64 (tan.f64 x))) 0)
20.6b
(fma.f64 (+.f64 (tan.f64 x) (tan.f64 eps)) (/.f64 1 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 eps)))) (neg.f64 (tan.f64 x)))
20.6b
(+.f64 (fma.f64 (/.f64 (+.f64 (tan.f64 x) (tan.f64 eps)) (-.f64 1 (pow.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) 3))) (fma.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 (tan.f64 x) (tan.f64 x)) (tan.f64 x)) (*.f64 (*.f64 (tan.f64 eps) (tan.f64 eps)) (tan.f64 eps)))) (fma.f64 (tan.f64 x) (tan.f64 eps) 1) 1) (neg.f64 (tan.f64 x))) 0)
20.6b
(+.f64 (fma.f64 (/.f64 (+.f64 (tan.f64 x) (tan.f64 eps)) (-.f64 1 (cbrt.f64 (pow.f64 (pow.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) 3) 3)))) (fma.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) (fma.f64 (tan.f64 x) (tan.f64 eps) 1) 1) (neg.f64 (tan.f64 x))) 0)
Compiler

Compiled 12575 to 5299 computations (57.9% saved)

localize21.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (tan.f64 x) (tan.f64 eps))
0.3b
(pow.f64 (tan.f64 x) 3)
0.3b
(pow.f64 (tan.f64 eps) 3)
3.8b
(fma.f64 (/.f64 (+.f64 (tan.f64 x) (tan.f64 eps)) (-.f64 1 (*.f64 (pow.f64 (tan.f64 x) 3) (pow.f64 (tan.f64 eps) 3)))) (fma.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) (fma.f64 (tan.f64 x) (tan.f64 eps) 1) 1) (neg.f64 (tan.f64 x)))

series473.0ms (3.9%)

Counts
3 → 48
Calls

3 calls:

441.0ms
(fma.f64 (/.f64 (+.f64 (tan.f64 x) (tan.f64 eps)) (-.f64 1 (*.f64 (pow.f64 (tan.f64 x) 3) (pow.f64 (tan.f64 eps) 3)))) (fma.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) (fma.f64 (tan.f64 x) (tan.f64 eps) 1) 1) (neg.f64 (tan.f64 x)))
18.0ms
(pow.f64 (tan.f64 eps) 3)
14.0ms
(pow.f64 (tan.f64 x) 3)

rewrite7.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
cube-prod_binary64
pow-unpow_binary64
Counts
3 → 62
Calls

3 calls:

3.0ms
(pow.f64 (tan.f64 eps) 3)
2.0ms
(pow.f64 (tan.f64 x) 3)
0.0ms
(fma.f64 (/.f64 (+.f64 (tan.f64 x) (tan.f64 eps)) (-.f64 1 (*.f64 (pow.f64 (tan.f64 x) 3) (pow.f64 (tan.f64 eps) 3)))) (fma.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) (fma.f64 (tan.f64 x) (tan.f64 eps) 1) 1) (neg.f64 (tan.f64 x)))

simplify174.0ms (1.4%)

Algorithm
egg-herbie
Rules
811×fma-def_binary64
176×times-frac_binary64
173×exp-prod_binary64
164×log-prod_binary64
162×associate-*r*_binary64
Counts
110 → 97
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02277747
16147504
226306491
347136491
449226491

prune280.0ms (2.3%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New1410141
Fresh099
Picked011
Done000
Total14110151
Error
0.1b
Counts
151 → 10
Alt Table
StatusErrorProgram
32.2b
(+.f64 (+.f64 eps (+.f64 (/.f64 (pow.f64 eps 3) (pow.f64 (/.f64 (cos.f64 x) (sin.f64 x)) 4)) (fma.f64 5/3 (/.f64 (pow.f64 eps 4) (pow.f64 (/.f64 (cos.f64 x) (sin.f64 x)) 3)) (fma.f64 (/.f64 (pow.f64 eps 4) (pow.f64 (cos.f64 x) 5)) (pow.f64 (sin.f64 x) 5) (fma.f64 4/3 (/.f64 (*.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 eps 3)) (pow.f64 (cos.f64 x) 2)) (fma.f64 eps (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2)) (fma.f64 1/3 (pow.f64 eps 3) (*.f64 2/3 (*.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (pow.f64 eps 4)))))))))) (*.f64 (/.f64 (*.f64 eps eps) (cos.f64 x)) (+.f64 (sin.f64 x) (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (cos.f64 x) 2)))))
20.8b
(-.f64 (/.f64 (+.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (/.f64 (sin.f64 eps) (cos.f64 eps))) (-.f64 1 (/.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (cos.f64 x))))) (tan.f64 x))
21.2b
(-.f64 (/.f64 (log1p.f64 (expm1.f64 (+.f64 (tan.f64 x) (tan.f64 eps)))) (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 eps)))) (tan.f64 x))
32.1b
(+.f64 (+.f64 (/.f64 (pow.f64 eps 3) (pow.f64 (/.f64 (cos.f64 x) (sin.f64 x)) 4)) (+.f64 (fma.f64 4/3 (/.f64 (*.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 eps 3)) (pow.f64 (cos.f64 x) 2)) (*.f64 1/3 (pow.f64 eps 3))) (fma.f64 eps (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2)) eps))) (*.f64 (/.f64 (*.f64 eps eps) (cos.f64 x)) (+.f64 (sin.f64 x) (/.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (cos.f64 x) 2)))))
20.8b
(+.f64 (fma.f64 (/.f64 (+.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (/.f64 (sin.f64 eps) (cos.f64 eps))) (-.f64 1 (/.f64 (*.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (sin.f64 eps) 3)) (*.f64 (pow.f64 (cos.f64 eps) 3) (pow.f64 (cos.f64 x) 3))))) (fma.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) (fma.f64 (tan.f64 x) (tan.f64 eps) 1) 1) (neg.f64 (tan.f64 x))) 0)
20.7b
(/.f64 (fma.f64 (sin.f64 x) (+.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) -1) (*.f64 (cos.f64 x) (+.f64 (tan.f64 x) (tan.f64 eps)))) (*.f64 (cos.f64 x) (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 eps)))))
20.6b
(+.f64 (fma.f64 (/.f64 (+.f64 (tan.f64 x) (tan.f64 eps)) (-.f64 1 (*.f64 (pow.f64 (tan.f64 x) 3) (pow.f64 (tan.f64 eps) 3)))) (fma.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) (fma.f64 (tan.f64 x) (tan.f64 eps) 1) 1) (neg.f64 (tan.f64 x))) 0)
20.6b
(fma.f64 (+.f64 (tan.f64 x) (tan.f64 eps)) (/.f64 1 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 eps)))) (neg.f64 (tan.f64 x)))
20.6b
(+.f64 (fma.f64 (/.f64 (+.f64 (tan.f64 x) (tan.f64 eps)) (-.f64 1 (pow.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) 3))) (fma.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 (tan.f64 x) (tan.f64 x)) (tan.f64 x)) (*.f64 (*.f64 (tan.f64 eps) (tan.f64 eps)) (tan.f64 eps)))) (fma.f64 (tan.f64 x) (tan.f64 eps) 1) 1) (neg.f64 (tan.f64 x))) 0)
20.6b
(+.f64 (fma.f64 (/.f64 (+.f64 (tan.f64 x) (tan.f64 eps)) (-.f64 1 (cbrt.f64 (pow.f64 (pow.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) 3) 3)))) (fma.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) (fma.f64 (tan.f64 x) (tan.f64 eps) 1) 1) (neg.f64 (tan.f64 x))) 0)
Compiler

Compiled 7057 to 3345 computations (52.6% saved)

regimes2.7s (21.8%)

Accuracy

Total 0.2b remaining (53.8%)

Threshold costs 0.2b (53.8%)

Counts
223 → 3
Compiler

Compiled 21768 to 12227 computations (43.8% saved)

bsearch103.0ms (0.8%)

Steps
ItersRangePoint
9
5.222365317166374e-13
1.9637915449143233e-6
1.923034667284573e-6
9
-55655.67173154163
-5.951511235245345e-5
-0.00018896478073308958
Compiler

Compiled 3 to 2 computations (33.3% saved)

simplify9.0ms (0.1%)

Algorithm
egg-herbie
Rules
15×+-commutative_binary64
12×*-commutative_binary64
sub-neg_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
072250
197250
2114250
3125250
4132250
5134250
6133250

end353.0ms (2.9%)

Compiler

Compiled 776 to 447 computations (42.4% saved)

Profiling

Loading profile data...