Details

Time bar (total: 11.3s)

analyze1.2s (10.8%)

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)

sample3.7s (32.5%)

Results
1.8s3569×body1024valid
1.0s1254×body2048valid
487.0ms1415×body512valid
184.0ms1367×body128valid
154.0ms651×body256valid
Compiler

Compiled 29 to 20 computations (31% saved)

simplify13.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
33.5b
Counts
2 → 1
Alt Table
StatusErrorProgram
33.5b
(-.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
1.1b
(-.f64 (tan.f64 (+.f64 x eps)) (tan.f64 x))
3.2b
(tan.f64 (+.f64 x eps))

series77.0ms (0.7%)

Counts
2 → 48
Calls

2 calls:

47.0ms
(-.f64 (tan.f64 (+.f64 x eps)) (tan.f64 x))
30.0ms
(tan.f64 (+.f64 x eps))

rewrite116.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
883×prod-diff_binary64
412×fma-def_binary64
215×fma-neg_binary64
170×expm1-udef_binary64
170×log1p-udef_binary64
Counts
2 → 117
Calls

2 calls:

113.0ms
(-.f64 (tan.f64 (+.f64 x eps)) (tan.f64 x))
113.0ms
(tan.f64 (+.f64 x eps))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0717
116917
2243017
3485317
4498917
5498917
000
100

simplify47.0ms (0.4%)

Algorithm
egg-herbie
Rules
909×times-frac_binary64
730×fma-def_binary64
605×associate-/l*_binary64
330×associate-/r*_binary64
192×associate-+r+_binary64
Counts
165 → 147
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01281638
13631636
213621545
350211545

prune147.0ms (1.3%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New1398147
Fresh000
Picked101
Done000
Total1408148
Error
0.1b
Counts
148 → 8
Alt Table
StatusErrorProgram
18.5b
(-.f64 (/.f64 (+.f64 (tan.f64 x) (tan.f64 eps)) (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 eps)))) (tan.f64 x))
28.2b
(fma.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (cos.f64 eps) 2)) x (+.f64 (/.f64 (sin.f64 eps) (cos.f64 eps)) (*.f64 (*.f64 x x) (+.f64 (/.f64 (pow.f64 (sin.f64 eps) 3) (pow.f64 (cos.f64 eps) 3)) (/.f64 (sin.f64 eps) (cos.f64 eps))))))
33.2b
(+.f64 (+.f64 eps (fma.f64 (/.f64 (pow.f64 eps 3) (pow.f64 (cos.f64 x) 4)) (pow.f64 (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)))))
18.5b
(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)))
32.8b
(fma.f64 eps (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2)) eps)
18.6b
(/.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)))
33.2b
(+.f64 (/.f64 (*.f64 (pow.f64 eps 2) (pow.f64 (sin.f64 x) 3)) (pow.f64 (cos.f64 x) 3)) (+.f64 (/.f64 (*.f64 (pow.f64 eps 2) (sin.f64 x)) (cos.f64 x)) (+.f64 eps (+.f64 (/.f64 (*.f64 (pow.f64 eps 3) (pow.f64 (sin.f64 x) 4)) (pow.f64 (cos.f64 x) 4)) (+.f64 (*.f64 5/3 (/.f64 (*.f64 (pow.f64 eps 4) (pow.f64 (sin.f64 x) 3)) (pow.f64 (cos.f64 x) 3))) (+.f64 (/.f64 (*.f64 (pow.f64 eps 4) (pow.f64 (sin.f64 x) 5)) (pow.f64 (cos.f64 x) 5)) (+.f64 (*.f64 4/3 (/.f64 (*.f64 (pow.f64 eps 3) (pow.f64 (sin.f64 x) 2)) (pow.f64 (cos.f64 x) 2))) (+.f64 (/.f64 (*.f64 eps (pow.f64 (sin.f64 x) 2)) (pow.f64 (cos.f64 x) 2)) (+.f64 (*.f64 2/3 (/.f64 (*.f64 (pow.f64 eps 4) (sin.f64 x)) (cos.f64 x))) (*.f64 1/3 (pow.f64 eps 3)))))))))))
18.8b
(+.f64 (fma.f64 (+.f64 (tan.f64 x) (tan.f64 eps)) (/.f64 1 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 eps)))) (neg.f64 (*.f64 (/.f64 1 (cos.f64 x)) (sin.f64 x)))) (fma.f64 (neg.f64 (/.f64 1 (cos.f64 x))) (sin.f64 x) (*.f64 (/.f64 1 (cos.f64 x)) (sin.f64 x))))
Compiler

Compiled 4193 to 1758 computations (58.1% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 1 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 eps))))
0.1b
(+.f64 (tan.f64 x) (tan.f64 eps))
0.3b
(*.f64 (tan.f64 x) (tan.f64 eps))
2.5b
(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)))

series319.0ms (2.8%)

Counts
4 → 96
Calls

4 calls:

159.0ms
(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)))
92.0ms
(/.f64 1 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 eps))))
37.0ms
(*.f64 (tan.f64 x) (tan.f64 eps))
31.0ms
(+.f64 (tan.f64 x) (tan.f64 eps))

rewrite97.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
332×fma-def_binary64
218×expm1-udef_binary64
218×log1p-udef_binary64
191×log-pow_binary64
186×fma-neg_binary64
Counts
4 → 153
Calls

4 calls:

94.0ms
(/.f64 1 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 eps))))
94.0ms
(+.f64 (tan.f64 x) (tan.f64 eps))
94.0ms
(*.f64 (tan.f64 x) (tan.f64 eps))
94.0ms
(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)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01259
126556
2308052
3500052
4496652
000
100

simplify79.0ms (0.7%)

Algorithm
egg-herbie
Rules
792×fma-def_binary64
566×associate-*l*_binary64
488×associate-/r*_binary64
196×associate-/r/_binary64
174×unswap-sqr_binary64
Counts
249 → 215
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01843402
15273386
218153309
352793309

prune343.0ms (3%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New2096215
Fresh347
Picked101
Done000
Total21310223
Error
0.1b
Counts
223 → 10
Alt Table
StatusErrorProgram
19.7b
(fma.f64 (*.f64 (cbrt.f64 (+.f64 (tan.f64 x) (tan.f64 eps))) (pow.f64 (cbrt.f64 (+.f64 (tan.f64 x) (tan.f64 eps))) 2)) (/.f64 1 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 eps)))) (neg.f64 (tan.f64 x)))
18.5b
(fma.f64 (+.f64 (tan.f64 x) (tan.f64 eps)) (/.f64 1 (-.f64 1 (log.f64 (pow.f64 (exp.f64 (tan.f64 x)) (tan.f64 eps))))) (neg.f64 (tan.f64 x)))
28.7b
(fma.f64 (log.f64 (*.f64 (+.f64 1 (expm1.f64 (tan.f64 x))) (exp.f64 (tan.f64 eps)))) (/.f64 1 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 eps)))) (neg.f64 (tan.f64 x)))
33.2b
(+.f64 (+.f64 eps (fma.f64 (/.f64 (pow.f64 eps 3) (pow.f64 (cos.f64 x) 4)) (pow.f64 (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)))))
18.6b
(-.f64 (+.f64 (/.f64 (sin.f64 x) (*.f64 (-.f64 1 (/.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (cos.f64 x)))) (cos.f64 x))) (/.f64 (sin.f64 eps) (*.f64 (-.f64 1 (/.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (cos.f64 x)))) (cos.f64 eps)))) (/.f64 (sin.f64 x) (cos.f64 x)))
32.8b
(fma.f64 eps (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2)) eps)
23.1b
(fma.f64 (+.f64 (tan.f64 x) (tan.f64 eps)) (/.f64 1 (-.f64 1 (fma.f64 (sqrt.f64 (fma.f64 (tan.f64 x) (tan.f64 eps) 1)) (sqrt.f64 (fma.f64 (tan.f64 x) (tan.f64 eps) 1)) -1))) (neg.f64 (tan.f64 x)))
18.5b
(fma.f64 (+.f64 (tan.f64 x) (tan.f64 eps)) (*.f64 (/.f64 1 (-.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)))
18.6b
(/.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)))
33.2b
(+.f64 (/.f64 (*.f64 (pow.f64 eps 2) (pow.f64 (sin.f64 x) 3)) (pow.f64 (cos.f64 x) 3)) (+.f64 (/.f64 (*.f64 (pow.f64 eps 2) (sin.f64 x)) (cos.f64 x)) (+.f64 eps (+.f64 (/.f64 (*.f64 (pow.f64 eps 3) (pow.f64 (sin.f64 x) 4)) (pow.f64 (cos.f64 x) 4)) (+.f64 (*.f64 5/3 (/.f64 (*.f64 (pow.f64 eps 4) (pow.f64 (sin.f64 x) 3)) (pow.f64 (cos.f64 x) 3))) (+.f64 (/.f64 (*.f64 (pow.f64 eps 4) (pow.f64 (sin.f64 x) 5)) (pow.f64 (cos.f64 x) 5)) (+.f64 (*.f64 4/3 (/.f64 (*.f64 (pow.f64 eps 3) (pow.f64 (sin.f64 x) 2)) (pow.f64 (cos.f64 x) 2))) (+.f64 (/.f64 (*.f64 eps (pow.f64 (sin.f64 x) 2)) (pow.f64 (cos.f64 x) 2)) (+.f64 (*.f64 2/3 (/.f64 (*.f64 (pow.f64 eps 4) (sin.f64 x)) (cos.f64 x))) (*.f64 1/3 (pow.f64 eps 3)))))))))))
Compiler

Compiled 6667 to 2814 computations (57.8% saved)

localize17.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(+.f64 (tan.f64 x) (tan.f64 eps))
0.3b
(pow.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) 3)
0.3b
(*.f64 (tan.f64 x) (tan.f64 eps))
2.5b
(fma.f64 (+.f64 (tan.f64 x) (tan.f64 eps)) (*.f64 (/.f64 1 (-.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)))

series591.0ms (5.2%)

Counts
2 → 48
Calls

2 calls:

513.0ms
(fma.f64 (+.f64 (tan.f64 x) (tan.f64 eps)) (*.f64 (/.f64 1 (-.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)))
78.0ms
(pow.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) 3)

rewrite73.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
300×expm1-udef_binary64
300×log1p-udef_binary64
183×add-sqr-sqrt_binary64
172×log1p-expm1-u_binary64
172×expm1-log1p-u_binary64
Counts
2 → 65
Calls

2 calls:

71.0ms
(pow.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) 3)
71.0ms
(fma.f64 (+.f64 (tan.f64 x) (tan.f64 eps)) (*.f64 (/.f64 1 (-.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)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01762
137060
2426160
3502260
000
100

simplify133.0ms (1.2%)

Algorithm
egg-herbie
Rules
835×fma-def_binary64
307×associate-/r/_binary64
296×unswap-sqr_binary64
280×associate-/l/_binary64
236×times-frac_binary64
Counts
113 → 99
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01647148
14977046
224556245
351506245

prune641.0ms (5.7%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New2743277
Fresh189
Picked101
Done000
Total27611287
Error
0.1b
Counts
287 → 11
Alt Table
StatusErrorProgram
19.0b
(fma.f64 (+.f64 (tan.f64 x) (tan.f64 eps)) (*.f64 (/.f64 1 (-.f64 1 (pow.f64 (log1p.f64 (expm1.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)))
23.1b
(fma.f64 (+.f64 (tan.f64 x) (tan.f64 eps)) (/.f64 1 (-.f64 1 (fma.f64 (sqrt.f64 (fma.f64 (tan.f64 x) (tan.f64 eps) 1)) (sqrt.f64 (fma.f64 (tan.f64 x) (tan.f64 eps) 1)) -1))) (neg.f64 (tan.f64 x)))
19.7b
(fma.f64 (*.f64 (cbrt.f64 (+.f64 (tan.f64 x) (tan.f64 eps))) (pow.f64 (cbrt.f64 (+.f64 (tan.f64 x) (tan.f64 eps))) 2)) (/.f64 1 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 eps)))) (neg.f64 (tan.f64 x)))
18.5b
(fma.f64 (+.f64 (tan.f64 x) (tan.f64 eps)) (/.f64 1 (-.f64 1 (log.f64 (pow.f64 (exp.f64 (tan.f64 x)) (tan.f64 eps))))) (neg.f64 (tan.f64 x)))
33.2b
(+.f64 (+.f64 eps (fma.f64 (/.f64 (pow.f64 eps 3) (pow.f64 (cos.f64 x) 4)) (pow.f64 (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)))))
18.5b
(fma.f64 (+.f64 (tan.f64 x) (tan.f64 eps)) (*.f64 (/.f64 1 (-.f64 1 (cbrt.f64 (pow.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) 9)))) (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.6b
(-.f64 (+.f64 (/.f64 (sin.f64 x) (*.f64 (-.f64 1 (/.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (cos.f64 x)))) (cos.f64 x))) (/.f64 (sin.f64 eps) (*.f64 (-.f64 1 (/.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (cos.f64 x)))) (cos.f64 eps)))) (/.f64 (sin.f64 x) (cos.f64 x)))
32.8b
(fma.f64 eps (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2)) eps)
18.6b
(/.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)))
33.2b
(+.f64 (/.f64 (*.f64 (pow.f64 eps 2) (pow.f64 (sin.f64 x) 3)) (pow.f64 (cos.f64 x) 3)) (+.f64 (/.f64 (*.f64 (pow.f64 eps 2) (sin.f64 x)) (cos.f64 x)) (+.f64 eps (+.f64 (/.f64 (*.f64 (pow.f64 eps 3) (pow.f64 (sin.f64 x) 4)) (pow.f64 (cos.f64 x) 4)) (+.f64 (*.f64 5/3 (/.f64 (*.f64 (pow.f64 eps 4) (pow.f64 (sin.f64 x) 3)) (pow.f64 (cos.f64 x) 3))) (+.f64 (/.f64 (*.f64 (pow.f64 eps 4) (pow.f64 (sin.f64 x) 5)) (pow.f64 (cos.f64 x) 5)) (+.f64 (*.f64 4/3 (/.f64 (*.f64 (pow.f64 eps 3) (pow.f64 (sin.f64 x) 2)) (pow.f64 (cos.f64 x) 2))) (+.f64 (/.f64 (*.f64 eps (pow.f64 (sin.f64 x) 2)) (pow.f64 (cos.f64 x) 2)) (+.f64 (*.f64 2/3 (/.f64 (*.f64 (pow.f64 eps 4) (sin.f64 x)) (cos.f64 x))) (*.f64 1/3 (pow.f64 eps 3)))))))))))
18.5b
(fma.f64 (+.f64 (tan.f64 x) (tan.f64 eps)) (*.f64 (/.f64 1 (-.f64 1 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (tan.f64 x) (tan.f64 eps))) 2) (*.f64 (cbrt.f64 (*.f64 (tan.f64 x) (tan.f64 eps))) (pow.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) 2))))) (fma.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) (fma.f64 (tan.f64 x) (tan.f64 eps) 1) 1)) (neg.f64 (tan.f64 x)))
Compiler

Compiled 13346 to 5725 computations (57.1% saved)

localize18.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (tan.f64 x) (tan.f64 eps))
0.5b
(pow.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) 9)
2.5b
(fma.f64 (+.f64 (tan.f64 x) (tan.f64 eps)) (*.f64 (/.f64 1 (-.f64 1 (cbrt.f64 (pow.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) 9)))) (fma.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) (fma.f64 (tan.f64 x) (tan.f64 eps) 1) 1)) (neg.f64 (tan.f64 x)))
7.6b
(cbrt.f64 (pow.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) 9))

series870.0ms (7.7%)

Counts
3 → 72
Calls

3 calls:

600.0ms
(fma.f64 (+.f64 (tan.f64 x) (tan.f64 eps)) (*.f64 (/.f64 1 (-.f64 1 (cbrt.f64 (pow.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) 9)))) (fma.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) (fma.f64 (tan.f64 x) (tan.f64 eps) 1) 1)) (neg.f64 (tan.f64 x)))
185.0ms
(pow.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) 9)
85.0ms
(cbrt.f64 (pow.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) 9))

rewrite78.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
322×log1p-udef_binary64
191×add-sqr-sqrt_binary64
184×log1p-expm1-u_binary64
184×expm1-log1p-u_binary64
181×add-cbrt-cube_binary64
Counts
3 → 75
Calls

3 calls:

76.0ms
(pow.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) 9)
76.0ms
(fma.f64 (+.f64 (tan.f64 x) (tan.f64 eps)) (*.f64 (/.f64 1 (-.f64 1 (cbrt.f64 (pow.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) 9)))) (fma.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) (fma.f64 (tan.f64 x) (tan.f64 eps) 1) 1)) (neg.f64 (tan.f64 x)))
76.0ms
(cbrt.f64 (pow.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) 9))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01877
139271
2460271
3499471
000
100

simplify204.0ms (1.8%)

Algorithm
egg-herbie
Rules
964×fma-def_binary64
380×unswap-sqr_binary64
273×times-frac_binary64
212×associate-/l*_binary64
171×associate-*r*_binary64
Counts
147 → 126
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02138074
16477962
230587161
349917161
449887161
549567161

prune426.0ms (3.8%)

Pruning

11 alts after pruning (10 fresh and 1 done)

PrunedKeptTotal
New2271228
Fresh1910
Picked011
Done000
Total22811239
Error
0.0b
Counts
239 → 11
Alt Table
StatusErrorProgram
19.0b
(fma.f64 (+.f64 (tan.f64 x) (tan.f64 eps)) (*.f64 (/.f64 1 (-.f64 1 (pow.f64 (log1p.f64 (expm1.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)))
23.1b
(fma.f64 (+.f64 (tan.f64 x) (tan.f64 eps)) (/.f64 1 (-.f64 1 (fma.f64 (sqrt.f64 (fma.f64 (tan.f64 x) (tan.f64 eps) 1)) (sqrt.f64 (fma.f64 (tan.f64 x) (tan.f64 eps) 1)) -1))) (neg.f64 (tan.f64 x)))
19.7b
(fma.f64 (*.f64 (cbrt.f64 (+.f64 (tan.f64 x) (tan.f64 eps))) (pow.f64 (cbrt.f64 (+.f64 (tan.f64 x) (tan.f64 eps))) 2)) (/.f64 1 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 eps)))) (neg.f64 (tan.f64 x)))
18.5b
(fma.f64 (+.f64 (tan.f64 x) (tan.f64 eps)) (/.f64 1 (-.f64 1 (log.f64 (pow.f64 (exp.f64 (tan.f64 x)) (tan.f64 eps))))) (neg.f64 (tan.f64 x)))
33.2b
(+.f64 (+.f64 eps (fma.f64 (/.f64 (pow.f64 eps 3) (pow.f64 (cos.f64 x) 4)) (pow.f64 (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)))))
18.5b
(fma.f64 (+.f64 (tan.f64 x) (tan.f64 eps)) (*.f64 (/.f64 1 (-.f64 1 (cbrt.f64 (pow.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) 9)))) (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.6b
(-.f64 (+.f64 (/.f64 (sin.f64 x) (*.f64 (-.f64 1 (/.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (cos.f64 x)))) (cos.f64 x))) (/.f64 (sin.f64 eps) (*.f64 (-.f64 1 (/.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (cos.f64 x)))) (cos.f64 eps)))) (/.f64 (sin.f64 x) (cos.f64 x)))
32.8b
(fma.f64 eps (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2)) eps)
20.7b
(/.f64 (-.f64 (*.f64 (*.f64 (+.f64 (tan.f64 x) (tan.f64 eps)) (/.f64 (fma.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) (fma.f64 (tan.f64 x) (tan.f64 eps) 1) 1) (-.f64 1 (pow.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) 3)))) (*.f64 (+.f64 (tan.f64 x) (tan.f64 eps)) (/.f64 (fma.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) (fma.f64 (tan.f64 x) (tan.f64 eps) 1) 1) (-.f64 1 (pow.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) 3))))) (pow.f64 (tan.f64 x) 2)) (fma.f64 (+.f64 (tan.f64 x) (tan.f64 eps)) (/.f64 (fma.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) (fma.f64 (tan.f64 x) (tan.f64 eps) 1) 1) (-.f64 1 (pow.f64 (*.f64 (tan.f64 x) (tan.f64 eps)) 3))) (tan.f64 x)))
18.6b
(/.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)))
33.2b
(+.f64 (/.f64 (*.f64 (pow.f64 eps 2) (pow.f64 (sin.f64 x) 3)) (pow.f64 (cos.f64 x) 3)) (+.f64 (/.f64 (*.f64 (pow.f64 eps 2) (sin.f64 x)) (cos.f64 x)) (+.f64 eps (+.f64 (/.f64 (*.f64 (pow.f64 eps 3) (pow.f64 (sin.f64 x) 4)) (pow.f64 (cos.f64 x) 4)) (+.f64 (*.f64 5/3 (/.f64 (*.f64 (pow.f64 eps 4) (pow.f64 (sin.f64 x) 3)) (pow.f64 (cos.f64 x) 3))) (+.f64 (/.f64 (*.f64 (pow.f64 eps 4) (pow.f64 (sin.f64 x) 5)) (pow.f64 (cos.f64 x) 5)) (+.f64 (*.f64 4/3 (/.f64 (*.f64 (pow.f64 eps 3) (pow.f64 (sin.f64 x) 2)) (pow.f64 (cos.f64 x) 2))) (+.f64 (/.f64 (*.f64 eps (pow.f64 (sin.f64 x) 2)) (pow.f64 (cos.f64 x) 2)) (+.f64 (*.f64 2/3 (/.f64 (*.f64 (pow.f64 eps 4) (sin.f64 x)) (cos.f64 x))) (*.f64 1/3 (pow.f64 eps 3)))))))))))
Compiler

Compiled 11428 to 5127 computations (55.1% saved)

regimes1.6s (14.4%)

Accuracy

Total 0.2b remaining (55.4%)

Threshold costs 0.2b (55.4%)

Counts
262 → 3
Compiler

Compiled 23094 to 13842 computations (40.1% saved)

bsearch93.0ms (0.8%)

Steps
ItersRangePoint
9
7.976258469646053e-6
20.70803440592603
2.0641519632213958e-5
8
-0.09787255974932453
-4.4150859714864385e-5
-5.0115677135327515e-5
Compiler

Compiled 3 to 2 computations (33.3% saved)

simplify6.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
052174
172174
284174
391174
495174
596174
695174

end353.0ms (3.1%)

Compiler

Compiled 797 to 452 computations (43.3% saved)

Profiling

Loading profile data...