Time bar (total: 7.9s)
| 1× | search |
| True | Other | False | Iter |
|---|---|---|---|
| 0% | 99.9% | 0.1% | 0 |
| 99.9% | 0% | 0.1% | 1 |
Compiled 10 to 7 computations (30% saved)
| 2.3s | 3986× | body | 1024 | valid |
| 2.1s | 2102× | body | 2048 | valid |
| 454.0ms | 1347× | body | 512 | valid |
| 135.0ms | 563× | body | 256 | valid |
| 34.0ms | 256× | body | 128 | valid |
| 5.0ms | 2× | body | 4096 | valid |
Compiled 20 to 14 computations (30% saved)
| 2× | egg-herbie |
| 76× | fma-def_binary64 |
| 57× | fma-neg_binary64 |
| 27× | cancel-sign-sub-inv_binary64 |
| 24× | sub-neg_binary64 |
| 18× | distribute-rgt-in_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 22 |
| 1 | 17 | 22 |
| 2 | 25 | 22 |
| 3 | 38 | 22 |
| 4 | 53 | 22 |
| 5 | 81 | 22 |
| 6 | 141 | 22 |
| 7 | 200 | 22 |
| 8 | 282 | 22 |
| 9 | 353 | 22 |
| 10 | 405 | 22 |
| 11 | 409 | 22 |
| 0 | 2 | 2 |
| 1× | saturated |
| 1× | saturated |
| Inputs |
|---|
0 |
1 |
| Outputs |
|---|
0 |
1 |
| Inputs |
|---|
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) |
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 eps)) |
| Outputs |
|---|
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) |
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 eps)) |
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 eps)) |
Compiled 9 to 6 computations (33.3% saved)
| 1× | egg-herbie |
| 39× | fma-def_binary64 |
| 32× | fma-neg_binary64 |
| 15× | cancel-sign-sub-inv_binary64 |
| 12× | sub-neg_binary64 |
| 10× | distribute-rgt-in_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 11 |
| 1 | 10 | 11 |
| 2 | 15 | 11 |
| 3 | 22 | 11 |
| 4 | 31 | 11 |
| 5 | 48 | 11 |
| 6 | 86 | 11 |
| 7 | 124 | 11 |
| 8 | 172 | 11 |
| 9 | 208 | 11 |
| 10 | 234 | 11 |
| 11 | 236 | 11 |
| 1× | saturated |
| Inputs |
|---|
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) |
| Outputs |
|---|
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) |
2 alts after pruning (2 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 1 | 1 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 0 | 2 | 2 |
| Status | Error | Program |
|---|---|---|
| ▶ | 38.6b | (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) |
Compiled 27 to 18 computations (33.3% saved)
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (cos.f64 x) |
| ✓ | 0.9b | (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) |
| ✓ | 3.4b | (cos.f64 (+.f64 x eps)) |
15 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | x | @ | 0 | (cos.f64 (+.f64 x eps)) |
| 1.0ms | eps | @ | inf | (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) |
| 1.0ms | eps | @ | 0 | (cos.f64 (+.f64 x eps)) |
| 1.0ms | eps | @ | 0 | (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) |
| 1.0ms | x | @ | 0 | (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) |
| 1× | batch-egg-rewrite |
| 457× | fma-def_binary64 |
| 445× | log-prod_binary64 |
| 238× | fma-neg_binary64 |
| 180× | expm1-udef_binary64 |
| 180× | log1p-udef_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 20 |
| 1 | 174 | 20 |
| 2 | 2754 | 20 |
| 1× | node limit |
| Inputs |
|---|
(cos.f64 (+.f64 x eps)) |
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) |
(cos.f64 x) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 (+.f64 x eps)) (fma.f64 (neg.f64 (sin.f64 eps)) (sin.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (neg.f64 (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 (exp.f64 (log1p.f64 (+.f64 x eps)))) (cos.f64 1)) (*.f64 (sin.f64 (exp.f64 (log1p.f64 (+.f64 x eps)))) (sin.f64 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 (/.f64 (*.f64 x x) (-.f64 x eps))) (cos.f64 (/.f64 (*.f64 eps eps) (-.f64 x eps)))) (*.f64 (sin.f64 (/.f64 (*.f64 x x) (-.f64 x eps))) (sin.f64 (/.f64 (*.f64 eps eps) (-.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (cos.f64 (+.f64 x eps)))) (cbrt.f64 (exp.f64 (cos.f64 (+.f64 x eps)))))) (log.f64 (cbrt.f64 (exp.f64 (cos.f64 (+.f64 x eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 (+.f64 x eps))))) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 (+.f64 x eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cos.f64 (+.f64 x eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 (+.f64 x eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 2) (cbrt.f64 (cos.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 3) (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 3)) (fma.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)) (*.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (cos.f64 eps))) (*.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))) (cos.f64 (-.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cos.f64 (+.f64 x eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cos.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cos.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 (+.f64 x eps)) 1 (fma.f64 (neg.f64 (sin.f64 eps)) (sin.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 x) (cos.f64 eps) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cos.f64 (+.f64 x eps)) (fma.f64 (neg.f64 (sin.f64 eps)) (sin.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (cos.f64 x) (cos.f64 eps)) (neg.f64 (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 2) (fma.f64 (neg.f64 (sin.f64 eps)) (sin.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 2) (cbrt.f64 (cos.f64 (+.f64 x eps))) (fma.f64 (neg.f64 (sin.f64 eps)) (sin.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) (cos.f64 eps)) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 (+.f64 x eps))) (fma.f64 (neg.f64 (sin.f64 eps)) (sin.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 eps) (cos.f64 x) (neg.f64 (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 eps) (cos.f64 x) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps)))) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps)))) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cos.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cos.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cos.f64 (+.f64 x eps))) 1)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 (+.f64 x eps)) (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 (+.f64 x eps)) (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (cos.f64 x)) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) (cbrt.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))) (log.f64 (cbrt.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))) (log.f64 (sqrt.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3)) (/.f64 1 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2)) (/.f64 1 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) (-.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -2 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2))) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2)) (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3)) (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2)) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3))) (neg.f64 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2))) (neg.f64 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (neg.f64 (cos.f64 x)) 3)) (+.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (-.f64 (*.f64 (neg.f64 (cos.f64 x)) (neg.f64 (cos.f64 x))) (*.f64 (cos.f64 (+.f64 x eps)) (neg.f64 (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (*.f64 (neg.f64 (cos.f64 x)) (neg.f64 (cos.f64 x)))) (-.f64 (cos.f64 (+.f64 x eps)) (neg.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps)))) (exp.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (cos.f64 (+.f64 x eps))) (+.f64 1 (expm1.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps)))) (+.f64 1 (expm1.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps)))) (exp.f64 (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (cos.f64 (+.f64 x eps))) (/.f64 1 (exp.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps)))) (/.f64 1 (exp.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (neg.f64 (cos.f64 x))) (exp.f64 (cos.f64 (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (exp.f64 (cos.f64 x))) (exp.f64 (cos.f64 (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (neg.f64 (cos.f64 x))) (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (exp.f64 (cos.f64 x))) (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 (+.f64 x eps)) 1 (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 (+.f64 x eps)) 1 (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1 (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1 (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) 1 (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cos.f64 (+.f64 x eps)) (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cos.f64 (+.f64 x eps)) (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (cos.f64 x) (cos.f64 eps)) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (cos.f64 x) (cos.f64 eps)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 (cos.f64 x)) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (neg.f64 (cbrt.f64 (cos.f64 x))) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 2) (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 2) (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 2) (cbrt.f64 (cos.f64 (+.f64 x eps))) (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 x eps))) 2) (cbrt.f64 (cos.f64 (+.f64 x eps))) (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 2) (cbrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 x)) (neg.f64 (sqrt.f64 (cos.f64 x))) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 (+.f64 x eps))) (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 (+.f64 x eps))) (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (sqrt.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -2 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -2 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -2 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2 (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2 (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) -2 (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 eps) (cos.f64 x) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 eps) (cos.f64 x) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3)) (/.f64 1 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3)) (/.f64 1 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3)) (/.f64 1 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)) (pow.f64 (cos.f64 (+.f64 x eps)) 2))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2)) (/.f64 1 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2)) (/.f64 1 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2)) (/.f64 1 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (neg.f64 (cos.f64 x))) (cbrt.f64 (neg.f64 (cos.f64 x)))) (cbrt.f64 (neg.f64 (cos.f64 x))) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps)))) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps)))) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (neg.f64 (cos.f64 x))) (sqrt.f64 (neg.f64 (cos.f64 x))) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x)) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (cos.f64 x) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) (-.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) (-.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) (-.f64 (sqrt.f64 (cos.f64 (+.f64 x eps))) (sqrt.f64 (cos.f64 x))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) (cbrt.f64 (cos.f64 x)) (cos.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -2 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2))) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -2 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2))) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -2 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2))) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) 1)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 (exp.f64 (log1p.f64 x))) (cos.f64 1)) (*.f64 (sin.f64 (exp.f64 (log1p.f64 x))) (sin.f64 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (cos.f64 x))) (cbrt.f64 (exp.f64 (cos.f64 x))))) (log.f64 (cbrt.f64 (exp.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 x)))) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cos.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cos.f64 x)) (pow.f64 (cbrt.f64 (cos.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cbrt.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 x)) (sqrt.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cos.f64 x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cos.f64 x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (cos.f64 x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cos.f64 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (cos.f64 x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cos.f64 x)) 1)))))) |
| 1× | egg-herbie |
| 320× | associate-+l-_binary64 |
| 306× | sub-neg_binary64 |
| 268× | fma-def_binary64 |
| 247× | associate--l+_binary64 |
| 224× | associate-+l+_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 72 | 674 |
| 1 | 222 | 666 |
| 2 | 668 | 650 |
| 3 | 2430 | 632 |
| 1× | node limit |
| Inputs |
|---|
(cos.f64 eps) |
(-.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x)) |
(-.f64 (cos.f64 eps) (+.f64 (*.f64 (sin.f64 eps) x) (*.f64 1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2))))) |
(-.f64 (+.f64 (cos.f64 eps) (*.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)))) (+.f64 (*.f64 (sin.f64 eps) x) (*.f64 1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2))))) |
(cos.f64 (+.f64 eps x)) |
(cos.f64 (+.f64 eps x)) |
(cos.f64 (+.f64 eps x)) |
(cos.f64 (+.f64 eps x)) |
(cos.f64 (+.f64 eps x)) |
(cos.f64 (+.f64 eps x)) |
(cos.f64 (+.f64 eps x)) |
(cos.f64 (+.f64 eps x)) |
(cos.f64 x) |
(-.f64 (cos.f64 x) (*.f64 eps (sin.f64 x))) |
(-.f64 (cos.f64 x) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 eps (sin.f64 x)))) |
(-.f64 (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (cos.f64 x)) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 eps (sin.f64 x)))) |
(cos.f64 (+.f64 eps x)) |
(cos.f64 (+.f64 eps x)) |
(cos.f64 (+.f64 eps x)) |
(cos.f64 (+.f64 eps x)) |
(cos.f64 (+.f64 eps x)) |
(cos.f64 (+.f64 eps x)) |
(cos.f64 (+.f64 eps x)) |
(cos.f64 (+.f64 eps x)) |
(-.f64 (cos.f64 eps) 1) |
(-.f64 (cos.f64 eps) (+.f64 (*.f64 (sin.f64 eps) x) 1)) |
(-.f64 (+.f64 (cos.f64 eps) (*.f64 1/2 (pow.f64 x 2))) (+.f64 (*.f64 (sin.f64 eps) x) (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2)))))) |
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3))) (*.f64 1/2 (pow.f64 x 2)))) (+.f64 (*.f64 (sin.f64 eps) x) (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2)))))) |
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) |
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) |
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) |
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) |
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) |
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) |
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) |
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) |
(*.f64 -1 (*.f64 eps (sin.f64 x))) |
(neg.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 eps (sin.f64 x)))) |
(-.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 eps (sin.f64 x)))) |
(-.f64 (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 eps (sin.f64 x)))) |
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) |
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) |
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) |
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) |
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) |
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) |
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) |
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) |
1 |
(-.f64 1 (*.f64 1/2 (pow.f64 x 2))) |
(-.f64 (+.f64 (*.f64 1/24 (pow.f64 x 4)) 1) (*.f64 1/2 (pow.f64 x 2))) |
(-.f64 (+.f64 (*.f64 1/24 (pow.f64 x 4)) 1) (+.f64 (*.f64 1/720 (pow.f64 x 6)) (*.f64 1/2 (pow.f64 x 2)))) |
| Outputs |
|---|
(cos.f64 eps) |
(-.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x)) |
(fma.f64 (sin.f64 eps) (neg.f64 x) (cos.f64 eps)) |
(-.f64 (cos.f64 eps) (+.f64 (*.f64 (sin.f64 eps) x) (*.f64 1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2))))) |
(-.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) x (*.f64 (*.f64 1/2 (cos.f64 eps)) (*.f64 x x)))) |
(-.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) x (*.f64 (cos.f64 eps) (*.f64 1/2 (*.f64 x x))))) |
(-.f64 (cos.f64 eps) (*.f64 x (+.f64 (*.f64 (cos.f64 eps) (*.f64 x 1/2)) (sin.f64 eps)))) |
(-.f64 (*.f64 (fma.f64 (*.f64 x x) -1/2 1) (cos.f64 eps)) (*.f64 (sin.f64 eps) x)) |
(-.f64 (+.f64 (cos.f64 eps) (*.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)))) (+.f64 (*.f64 (sin.f64 eps) x) (*.f64 1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2))))) |
(-.f64 (+.f64 (cos.f64 eps) (*.f64 (*.f64 1/6 (sin.f64 eps)) (pow.f64 x 3))) (fma.f64 (sin.f64 eps) x (*.f64 (*.f64 1/2 (cos.f64 eps)) (*.f64 x x)))) |
(-.f64 (fma.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)) (cos.f64 eps)) (fma.f64 (sin.f64 eps) x (*.f64 (cos.f64 eps) (*.f64 1/2 (*.f64 x x))))) |
(-.f64 (fma.f64 (sin.f64 eps) (*.f64 1/6 (pow.f64 x 3)) (cos.f64 eps)) (*.f64 x (+.f64 (*.f64 (cos.f64 eps) (*.f64 x 1/2)) (sin.f64 eps)))) |
(+.f64 (*.f64 (sin.f64 eps) (-.f64 (*.f64 1/6 (pow.f64 x 3)) x)) (*.f64 (fma.f64 (*.f64 x x) -1/2 1) (cos.f64 eps))) |
(cos.f64 (+.f64 eps x)) |
(cos.f64 (+.f64 eps x)) |
(cos.f64 (+.f64 eps x)) |
(cos.f64 (+.f64 eps x)) |
(cos.f64 (+.f64 eps x)) |
(cos.f64 (+.f64 eps x)) |
(cos.f64 (+.f64 eps x)) |
(cos.f64 (+.f64 eps x)) |
(cos.f64 x) |
(-.f64 (cos.f64 x) (*.f64 eps (sin.f64 x))) |
(fma.f64 eps (neg.f64 (sin.f64 x)) (cos.f64 x)) |
(-.f64 (cos.f64 x) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 eps (sin.f64 x)))) |
(-.f64 (cos.f64 x) (fma.f64 1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 eps (sin.f64 x)))) |
(-.f64 (cos.f64 x) (fma.f64 eps (sin.f64 x) (*.f64 1/2 (*.f64 eps (*.f64 eps (cos.f64 x)))))) |
(-.f64 (cos.f64 x) (fma.f64 eps (sin.f64 x) (*.f64 eps (*.f64 (*.f64 eps (cos.f64 x)) 1/2)))) |
(+.f64 (cos.f64 x) (*.f64 eps (-.f64 (*.f64 (*.f64 eps (cos.f64 x)) -1/2) (sin.f64 x)))) |
(-.f64 (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (cos.f64 x)) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 eps (sin.f64 x)))) |
(-.f64 (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (cos.f64 x)) (fma.f64 1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 eps (sin.f64 x)))) |
(-.f64 (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (cos.f64 x)) (fma.f64 eps (sin.f64 x) (*.f64 1/2 (*.f64 eps (*.f64 eps (cos.f64 x)))))) |
(+.f64 (cos.f64 x) (+.f64 (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)) (*.f64 (*.f64 eps eps) (*.f64 (cos.f64 x) -1/2)))) |
(+.f64 (*.f64 (+.f64 (*.f64 (*.f64 eps eps) -1/2) 1) (cos.f64 x)) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps))) |
(cos.f64 (+.f64 eps x)) |
(cos.f64 (+.f64 eps x)) |
(cos.f64 (+.f64 eps x)) |
(cos.f64 (+.f64 eps x)) |
(cos.f64 (+.f64 eps x)) |
(cos.f64 (+.f64 eps x)) |
(cos.f64 (+.f64 eps x)) |
(cos.f64 (+.f64 eps x)) |
(-.f64 (cos.f64 eps) 1) |
(+.f64 (cos.f64 eps) -1) |
(-.f64 (cos.f64 eps) (+.f64 (*.f64 (sin.f64 eps) x) 1)) |
(-.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) x 1)) |
(-.f64 (+.f64 (cos.f64 eps) (*.f64 1/2 (pow.f64 x 2))) (+.f64 (*.f64 (sin.f64 eps) x) (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2)))))) |
(-.f64 (+.f64 (cos.f64 eps) (*.f64 1/2 (*.f64 x x))) (+.f64 (fma.f64 (sin.f64 eps) x 1) (*.f64 (*.f64 1/2 (cos.f64 eps)) (*.f64 x x)))) |
(-.f64 (fma.f64 1/2 (*.f64 x x) (cos.f64 eps)) (fma.f64 (sin.f64 eps) x (fma.f64 1/2 (*.f64 (cos.f64 eps) (*.f64 x x)) 1))) |
(-.f64 (fma.f64 x (*.f64 x 1/2) (cos.f64 eps)) (fma.f64 (*.f64 (cos.f64 eps) (*.f64 x 1/2)) x (fma.f64 (sin.f64 eps) x 1))) |
(+.f64 (cos.f64 eps) (-.f64 (*.f64 (*.f64 x 1/2) (-.f64 x (*.f64 (cos.f64 eps) x))) (fma.f64 (sin.f64 eps) x 1))) |
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3))) (*.f64 1/2 (pow.f64 x 2)))) (+.f64 (*.f64 (sin.f64 eps) x) (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2)))))) |
(+.f64 (cos.f64 eps) (-.f64 (fma.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)) (*.f64 1/2 (*.f64 x x))) (+.f64 (fma.f64 (sin.f64 eps) x 1) (*.f64 (*.f64 1/2 (cos.f64 eps)) (*.f64 x x))))) |
(+.f64 (cos.f64 eps) (-.f64 (fma.f64 1/2 (*.f64 x x) (*.f64 (sin.f64 eps) (*.f64 (pow.f64 x 3) 1/6))) (fma.f64 (sin.f64 eps) x (fma.f64 1/2 (*.f64 (cos.f64 eps) (*.f64 x x)) 1)))) |
(+.f64 (fma.f64 x (*.f64 x 1/2) (cos.f64 eps)) (-.f64 (*.f64 (sin.f64 eps) (-.f64 (*.f64 1/6 (pow.f64 x 3)) x)) (fma.f64 (cos.f64 eps) (*.f64 x (*.f64 x 1/2)) 1))) |
(+.f64 (cos.f64 eps) (-.f64 (*.f64 (*.f64 x x) (-.f64 (+.f64 (*.f64 (sin.f64 eps) (*.f64 1/6 x)) 1/2) (*.f64 (cos.f64 eps) 1/2))) (fma.f64 (sin.f64 eps) x 1))) |
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) |
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) |
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) |
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) |
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) |
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) |
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) |
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) |
(*.f64 -1 (*.f64 eps (sin.f64 x))) |
(neg.f64 (*.f64 eps (sin.f64 x))) |
(*.f64 eps (neg.f64 (sin.f64 x))) |
(neg.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 eps (sin.f64 x)))) |
(neg.f64 (fma.f64 1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 eps (sin.f64 x)))) |
(-.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) -1/2) (*.f64 eps (sin.f64 x))) |
(fma.f64 eps (neg.f64 (sin.f64 x)) (*.f64 (*.f64 eps eps) (*.f64 (cos.f64 x) -1/2))) |
(*.f64 eps (-.f64 (*.f64 (*.f64 eps (cos.f64 x)) -1/2) (sin.f64 x))) |
(-.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 eps (sin.f64 x)))) |
(-.f64 (*.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3))) (fma.f64 1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 eps (sin.f64 x)))) |
(-.f64 (*.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3))) (fma.f64 eps (sin.f64 x) (*.f64 1/2 (*.f64 eps (*.f64 eps (cos.f64 x)))))) |
(+.f64 (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)) (*.f64 (*.f64 eps eps) (*.f64 (cos.f64 x) -1/2))) |
(fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (*.f64 eps (-.f64 (*.f64 (*.f64 eps (cos.f64 x)) -1/2) (sin.f64 x)))) |
(-.f64 (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 eps (sin.f64 x)))) |
(-.f64 (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (*.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4)))) (fma.f64 1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 eps (sin.f64 x)))) |
(-.f64 (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (*.f64 (cos.f64 x) (*.f64 1/24 (pow.f64 eps 4)))) (fma.f64 eps (sin.f64 x) (*.f64 1/2 (*.f64 eps (*.f64 eps (cos.f64 x)))))) |
(-.f64 (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (*.f64 (cos.f64 x) (-.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 1/2 (*.f64 eps eps))))) (*.f64 eps (sin.f64 x))) |
(+.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (-.f64 (*.f64 1/24 (*.f64 eps eps)) 1/2)) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps))) |
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) |
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) |
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) |
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) |
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) |
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) |
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) |
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) |
1 |
(-.f64 1 (*.f64 1/2 (pow.f64 x 2))) |
(+.f64 1 (*.f64 -1/2 (*.f64 x x))) |
(+.f64 1 (*.f64 (*.f64 x x) -1/2)) |
(fma.f64 (*.f64 x x) -1/2 1) |
(-.f64 (+.f64 (*.f64 1/24 (pow.f64 x 4)) 1) (*.f64 1/2 (pow.f64 x 2))) |
(+.f64 (fma.f64 1/24 (pow.f64 x 4) 1) (*.f64 -1/2 (*.f64 x x))) |
(+.f64 (fma.f64 1/24 (pow.f64 x 4) 1) (*.f64 (*.f64 x x) -1/2)) |
(fma.f64 (*.f64 x x) -1/2 (fma.f64 1/24 (pow.f64 x 4) 1)) |
(-.f64 (+.f64 (*.f64 1/24 (pow.f64 x 4)) 1) (+.f64 (*.f64 1/720 (pow.f64 x 6)) (*.f64 1/2 (pow.f64 x 2)))) |
(-.f64 (fma.f64 1/24 (pow.f64 x 4) 1) (fma.f64 1/720 (pow.f64 x 6) (*.f64 1/2 (*.f64 x x)))) |
(-.f64 (fma.f64 1/24 (pow.f64 x 4) 1) (fma.f64 1/2 (*.f64 x x) (*.f64 1/720 (pow.f64 x 6)))) |
(+.f64 1 (fma.f64 1/24 (pow.f64 x 4) (fma.f64 (*.f64 x x) -1/2 (*.f64 (pow.f64 x 6) -1/720)))) |
(+.f64 (fma.f64 1/24 (pow.f64 x 4) 1) (fma.f64 (*.f64 x x) -1/2 (*.f64 (pow.f64 x 6) -1/720))) |
14 alts after pruning (14 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 210 | 14 | 224 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 211 | 14 | 225 |
| Status | Error | Program |
|---|---|---|
| 33.5b | (fma.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))) | |
| ▶ | 12.4b | (*.f64 -2 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))) |
| 30.7b | (+.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (-.f64 (*.f64 1/24 (*.f64 eps eps)) 1/2)) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps))) | |
| 41.0b | (fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))) | |
| 26.5b | (fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))) | |
| 39.1b | (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))) (cbrt.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))) (log.f64 (cbrt.f64 (exp.f64 (-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x)))))) | |
| 30.5b | (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (*.f64 eps (-.f64 (*.f64 (*.f64 eps (cos.f64 x)) -1/2) (sin.f64 x)))) | |
| 27.0b | (fma.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps)))) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))) | |
| 38.7b | (log.f64 (/.f64 (+.f64 1 (expm1.f64 (cos.f64 (+.f64 x eps)))) (exp.f64 (cos.f64 x)))) | |
| 26.0b | (-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (cos.f64 x)) | |
| 38.8b | (-.f64 (cbrt.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 3)) (cos.f64 x)) | |
| 26.2b | (-.f64 (/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 3) (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 3)) (fma.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)) (*.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))))) (cos.f64 x)) | |
| 26.1b | (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x))))) | |
| 38.7b | (/.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2)) (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))) |
Compiled 4537 to 1476 computations (67.5% saved)
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 x (+.f64 x eps)) |
| ✓ | 0.0b | (*.f64 -2 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))) |
| ✓ | 0.3b | (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) |
| ✓ | 3.4b | (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) |
24 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | x | @ | inf | (*.f64 -2 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))) |
| 1.0ms | eps | @ | inf | (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) |
| 1.0ms | x | @ | inf | (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) |
| 1.0ms | eps | @ | 0 | (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) |
| 1.0ms | x | @ | 0 | (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) |
| 1× | batch-egg-rewrite |
| 178× | add-sqr-sqrt_binary64 |
| 173× | pow1_binary64 |
| 172× | *-un-lft-identity_binary64 |
| 167× | add-exp-log_binary64 |
| 167× | add-log-exp_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 15 | 68 |
| 1 | 352 | 28 |
| 1× | node limit |
| Inputs |
|---|
(sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) |
(*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) |
(*.f64 -2 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (sin.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))) |
(+.f64 x (+.f64 x eps)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sin.f64 (*.f64 1/2 eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 (*.f64 1/2 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sin.f64 (*.f64 1/2 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 2) (cbrt.f64 (sin.f64 (*.f64 1/2 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 (*.f64 1/2 eps))) (sqrt.f64 (sin.f64 (*.f64 1/2 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 2))) (sqrt.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (-.f64 (cos.f64 (*.f64 1/2 (-.f64 eps eps))) (cos.f64 (*.f64 1/2 (+.f64 eps eps))))) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sin.f64 (*.f64 1/2 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (sin.f64 (*.f64 1/2 eps))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sin.f64 (*.f64 1/2 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sin.f64 (*.f64 1/2 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sin.f64 (*.f64 1/2 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sin.f64 (*.f64 1/2 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sin.f64 (*.f64 1/2 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sin.f64 (*.f64 1/2 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sin.f64 (*.f64 1/2 eps))) 1)))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 (*.f64 1/2 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (cos.f64 (*.f64 1/2 (-.f64 eps eps))) 2) (/.f64 (cos.f64 (*.f64 1/2 (+.f64 eps eps))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 2 (-.f64 (cos.f64 (*.f64 1/2 (-.f64 eps eps))) (cos.f64 (*.f64 1/2 (+.f64 eps eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (cos.f64 (*.f64 1/2 (-.f64 eps eps))) (cos.f64 (*.f64 1/2 (+.f64 eps eps)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (cos.f64 (*.f64 1/2 (-.f64 eps eps))) (cos.f64 (*.f64 1/2 (+.f64 eps eps))))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 eps))) 2) 3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) 1)))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (cos.f64 (*.f64 1/2 (-.f64 eps eps))) (cos.f64 (*.f64 1/2 (+.f64 eps eps)))) -2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -2 (-.f64 (cos.f64 (*.f64 1/2 (-.f64 eps eps))) (cos.f64 (*.f64 1/2 (+.f64 eps eps))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sqrt.f64 -2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 4 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 -2) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2)) 1)))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x eps) x)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 eps 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 eps (/.f64 0 eps))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 x x) (-.f64 0 eps)) (/.f64 (pow.f64 (+.f64 x eps) 2) (-.f64 0 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 eps 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 eps)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 eps eps) (/.f64 1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 eps) 2) (cbrt.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 eps) (pow.f64 (cbrt.f64 eps) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 eps) (sqrt.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 x 3) (pow.f64 (+.f64 x eps) 3)) (/.f64 1 (fma.f64 x x (*.f64 (+.f64 x eps) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 eps 3) (/.f64 1 (*.f64 eps eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 eps (-.f64 0 eps)) (/.f64 1 (-.f64 0 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (+.f64 x eps)) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 x eps)) (sqrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 x x (*.f64 (+.f64 x eps) eps)) (+.f64 (pow.f64 x 3) (pow.f64 (+.f64 x eps) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 0 eps) (*.f64 eps (-.f64 0 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 eps eps) (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 eps (*.f64 eps eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 eps eps) eps)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 (+.f64 x eps) 3)) (fma.f64 x x (*.f64 (+.f64 x eps) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 (+.f64 x eps) 3)) (+.f64 (pow.f64 (+.f64 x eps) 2) (-.f64 (*.f64 x x) (*.f64 x (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 eps 3) (*.f64 eps eps))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 eps (-.f64 0 eps)) (-.f64 0 eps))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 eps eps)) (neg.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 x 3) (pow.f64 (+.f64 x eps) 3))) (neg.f64 (fma.f64 x x (*.f64 (+.f64 x eps) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 eps (-.f64 0 eps))) (neg.f64 (-.f64 0 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 eps 3)) (neg.f64 (*.f64 eps eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 eps 3) 0) (*.f64 eps eps))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 x eps) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (+.f64 x eps) 2) (+.f64 (*.f64 x x) (*.f64 x (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 x eps) 2) (*.f64 x x)) eps)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 0 (*.f64 eps eps)) (-.f64 0 eps))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 eps 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 eps) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 eps) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 eps 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 eps eps))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 eps 3))))) (#(struct:change #<rule egg-rr> (2) ((x . eps)))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (+.f64 x eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 x eps) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 x eps) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 eps 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 eps) 2) (cbrt.f64 eps) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (+.f64 x eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 x eps)) 2) (cbrt.f64 (+.f64 x eps)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 x eps)) 2) (cbrt.f64 (+.f64 x eps)) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (+.f64 x eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 eps) (sqrt.f64 eps) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 x eps)) (sqrt.f64 (+.f64 x eps)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 x eps)) (sqrt.f64 (+.f64 x eps)) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 eps) 1)))))) |
| 1× | egg-herbie |
| 603× | distribute-rgt-neg-in_binary64 |
| 432× | associate-*r*_binary64 |
| 416× | associate-*l*_binary64 |
| 414× | fma-def_binary64 |
| 396× | cancel-sign-sub-inv_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 91 | 1742 |
| 1 | 300 | 1559 |
| 2 | 1032 | 1362 |
| 3 | 4203 | 1362 |
| 1× | node limit |
| Inputs |
|---|
(sin.f64 (*.f64 1/2 eps)) |
(+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) |
(-.f64 (+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (*.f64 1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2)))) |
(-.f64 (+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3))) (*.f64 1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2))))) |
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) |
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) |
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) |
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) |
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) |
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) |
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) |
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) |
(sin.f64 x) |
(+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x)) |
(-.f64 (+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x)) (*.f64 1/8 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(-.f64 (+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x)) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 1/8 (*.f64 (pow.f64 eps 2) (sin.f64 x))))) |
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) |
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) |
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) |
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) |
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) |
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) |
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) |
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) |
(*.f64 1/2 (*.f64 eps (sin.f64 x))) |
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 1/2 (*.f64 eps (sin.f64 x)))) |
(-.f64 (+.f64 (*.f64 1/4 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 1/2 (*.f64 eps (sin.f64 x)))) (*.f64 1/12 (*.f64 (pow.f64 eps 3) (sin.f64 x)))) |
(-.f64 (+.f64 (*.f64 1/4 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 1/2 (*.f64 eps (sin.f64 x)))) (+.f64 (*.f64 1/12 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (*.f64 1/48 (*.f64 (pow.f64 eps 4) (cos.f64 x))))) |
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))) |
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))) |
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))) |
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))) |
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))) |
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))) |
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))) |
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))) |
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) |
(+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))) |
(-.f64 (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))) (*.f64 1/2 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2)))) |
(-.f64 (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2))) (*.f64 1/6 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3)))))) |
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))) |
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))) |
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))) |
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))) |
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))) |
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))) |
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))) |
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))) |
(*.f64 -1 (*.f64 eps (sin.f64 x))) |
(neg.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 eps (sin.f64 x)))) |
(-.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 eps (sin.f64 x)))) |
(-.f64 (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 eps (sin.f64 x)))) |
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))) |
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))) |
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))) |
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))) |
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))) |
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))) |
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))) |
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))) |
(*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) |
(neg.f64 (+.f64 (*.f64 2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (*.f64 2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))))) |
(-.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2)) (+.f64 (*.f64 2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (*.f64 2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))))) |
(-.f64 (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2)) (*.f64 1/3 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3))))) (+.f64 (*.f64 2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (*.f64 2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))))) |
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))) |
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))) |
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))) |
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))) |
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))) |
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))) |
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))) |
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))) |
eps |
(+.f64 eps (*.f64 2 x)) |
(+.f64 eps (*.f64 2 x)) |
(+.f64 eps (*.f64 2 x)) |
(*.f64 2 x) |
(+.f64 eps (*.f64 2 x)) |
(+.f64 eps (*.f64 2 x)) |
(+.f64 eps (*.f64 2 x)) |
(*.f64 2 x) |
(+.f64 eps (*.f64 2 x)) |
(+.f64 eps (*.f64 2 x)) |
(+.f64 eps (*.f64 2 x)) |
(*.f64 2 x) |
(+.f64 eps (*.f64 2 x)) |
(+.f64 eps (*.f64 2 x)) |
(+.f64 eps (*.f64 2 x)) |
eps |
(+.f64 eps (*.f64 2 x)) |
(+.f64 eps (*.f64 2 x)) |
(+.f64 eps (*.f64 2 x)) |
eps |
(+.f64 eps (*.f64 2 x)) |
(+.f64 eps (*.f64 2 x)) |
(+.f64 eps (*.f64 2 x)) |
| Outputs |
|---|
(sin.f64 (*.f64 1/2 eps)) |
(+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) |
(fma.f64 (cos.f64 (*.f64 1/2 eps)) x (sin.f64 (*.f64 1/2 eps))) |
(-.f64 (+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (*.f64 1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2)))) |
(+.f64 (+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x x)))) |
(+.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x x)) -1/2))) |
(fma.f64 (cos.f64 (*.f64 1/2 eps)) x (*.f64 (+.f64 (*.f64 (*.f64 x x) -1/2) 1) (sin.f64 (*.f64 1/2 eps)))) |
(-.f64 (+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3))) (*.f64 1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 2))))) |
(-.f64 (+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) (fma.f64 1/6 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3)) (*.f64 1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x x))))) |
(-.f64 (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (sin.f64 (*.f64 1/2 eps))) (fma.f64 1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x x)) (*.f64 1/6 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3))))) |
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (*.f64 x x) -1/2)) (+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (-.f64 x (*.f64 1/6 (pow.f64 x 3)))))) |
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (*.f64 x x) -1/2)) (+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (+.f64 x (*.f64 (pow.f64 x 3) -1/6))))) |
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) |
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))) |
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) |
(sin.f64 (fma.f64 1/2 eps x)) |
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) |
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))) |
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) |
(sin.f64 (fma.f64 1/2 eps x)) |
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) |
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))) |
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) |
(sin.f64 (fma.f64 1/2 eps x)) |
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) |
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))) |
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) |
(sin.f64 (fma.f64 1/2 eps x)) |
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) |
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))) |
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) |
(sin.f64 (fma.f64 1/2 eps x)) |
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) |
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))) |
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) |
(sin.f64 (fma.f64 1/2 eps x)) |
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) |
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))) |
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) |
(sin.f64 (fma.f64 1/2 eps x)) |
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) |
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))) |
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) |
(sin.f64 (fma.f64 1/2 eps x)) |
(sin.f64 x) |
(+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x)) |
(fma.f64 1/2 (*.f64 eps (cos.f64 x)) (sin.f64 x)) |
(-.f64 (+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x)) (*.f64 1/8 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(-.f64 (fma.f64 1/2 (*.f64 eps (cos.f64 x)) (sin.f64 x)) (*.f64 1/8 (*.f64 (sin.f64 x) (*.f64 eps eps)))) |
(fma.f64 1/2 (*.f64 eps (cos.f64 x)) (+.f64 (sin.f64 x) (*.f64 (*.f64 (sin.f64 x) (*.f64 eps eps)) -1/8))) |
(fma.f64 1/2 (*.f64 eps (cos.f64 x)) (*.f64 (+.f64 (*.f64 (*.f64 eps eps) -1/8) 1) (sin.f64 x))) |
(fma.f64 1/2 (*.f64 eps (cos.f64 x)) (*.f64 (+.f64 (*.f64 eps (*.f64 eps -1/8)) 1) (sin.f64 x))) |
(-.f64 (+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x)) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 1/8 (*.f64 (pow.f64 eps 2) (sin.f64 x))))) |
(-.f64 (fma.f64 1/2 (*.f64 eps (cos.f64 x)) (sin.f64 x)) (fma.f64 1/48 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 1/8 (*.f64 (sin.f64 x) (*.f64 eps eps))))) |
(-.f64 (fma.f64 1/2 (*.f64 eps (cos.f64 x)) (sin.f64 x)) (fma.f64 1/8 (*.f64 (sin.f64 x) (*.f64 eps eps)) (*.f64 1/48 (*.f64 (cos.f64 x) (pow.f64 eps 3))))) |
(+.f64 (*.f64 (+.f64 (*.f64 (*.f64 eps eps) -1/8) 1) (sin.f64 x)) (*.f64 (cos.f64 x) (-.f64 (*.f64 1/2 eps) (*.f64 1/48 (pow.f64 eps 3))))) |
(+.f64 (*.f64 (+.f64 (*.f64 eps (*.f64 eps -1/8)) 1) (sin.f64 x)) (*.f64 (cos.f64 x) (+.f64 (*.f64 1/2 eps) (*.f64 (pow.f64 eps 3) -1/48)))) |
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) |
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))) |
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) |
(sin.f64 (fma.f64 1/2 eps x)) |
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) |
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))) |
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) |
(sin.f64 (fma.f64 1/2 eps x)) |
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) |
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))) |
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) |
(sin.f64 (fma.f64 1/2 eps x)) |
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) |
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))) |
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) |
(sin.f64 (fma.f64 1/2 eps x)) |
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) |
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))) |
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) |
(sin.f64 (fma.f64 1/2 eps x)) |
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) |
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))) |
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) |
(sin.f64 (fma.f64 1/2 eps x)) |
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) |
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))) |
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) |
(sin.f64 (fma.f64 1/2 eps x)) |
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) |
(sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))) |
(sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) |
(sin.f64 (fma.f64 1/2 eps x)) |
(*.f64 1/2 (*.f64 eps (sin.f64 x))) |
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 1/2 (*.f64 eps (sin.f64 x)))) |
(fma.f64 1/4 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 1/2 (*.f64 eps (sin.f64 x)))) |
(fma.f64 1/2 (*.f64 eps (sin.f64 x)) (*.f64 (cos.f64 x) (*.f64 (*.f64 eps eps) 1/4))) |
(-.f64 (+.f64 (*.f64 1/4 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 1/2 (*.f64 eps (sin.f64 x)))) (*.f64 1/12 (*.f64 (pow.f64 eps 3) (sin.f64 x)))) |
(+.f64 (fma.f64 1/4 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 1/2 (*.f64 eps (sin.f64 x)))) (*.f64 -1/12 (*.f64 (sin.f64 x) (pow.f64 eps 3)))) |
(fma.f64 1/4 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/2 eps) (*.f64 (pow.f64 eps 3) 1/12)))) |
(fma.f64 (sin.f64 x) (fma.f64 1/2 eps (*.f64 (pow.f64 eps 3) -1/12)) (*.f64 (cos.f64 x) (*.f64 (*.f64 eps eps) 1/4))) |
(-.f64 (+.f64 (*.f64 1/4 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 1/2 (*.f64 eps (sin.f64 x)))) (+.f64 (*.f64 1/12 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (*.f64 1/48 (*.f64 (pow.f64 eps 4) (cos.f64 x))))) |
(-.f64 (fma.f64 1/4 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 1/2 (*.f64 eps (sin.f64 x)))) (fma.f64 1/12 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (*.f64 1/48 (*.f64 (cos.f64 x) (pow.f64 eps 4))))) |
(+.f64 (fma.f64 1/4 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/2 eps) (*.f64 (pow.f64 eps 3) 1/12)))) (*.f64 -1/48 (*.f64 (cos.f64 x) (pow.f64 eps 4)))) |
(fma.f64 (cos.f64 x) (*.f64 (*.f64 eps eps) 1/4) (fma.f64 (sin.f64 x) (fma.f64 1/2 eps (*.f64 (pow.f64 eps 3) -1/12)) (*.f64 (cos.f64 x) (*.f64 (pow.f64 eps 4) -1/48)))) |
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x))) |
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x))) |
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x))) |
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x))) |
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x))) |
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x))) |
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x))) |
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x))) |
(pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) |
(+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (sin.f64 (*.f64 1/2 eps)))) |
(-.f64 (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))) (*.f64 1/2 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2)))) |
(+.f64 (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))) (*.f64 -1/2 (*.f64 (*.f64 x x) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))) |
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (sin.f64 (*.f64 1/2 eps)))) (*.f64 (*.f64 -1/2 (*.f64 x x)) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) |
(fma.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x) (*.f64 (+.f64 (*.f64 (*.f64 x x) -1/2) 1) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) |
(-.f64 (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2))) (*.f64 1/6 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3)))))) |
(-.f64 (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))) (fma.f64 1/2 (*.f64 (*.f64 x x) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (*.f64 1/6 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3)))))) |
(-.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (sin.f64 (*.f64 1/2 eps)))) (fma.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) 1/6) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3)) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 (*.f64 x x) 1/2)))) |
(+.f64 (*.f64 (*.f64 x x) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -1/2)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (-.f64 x (*.f64 1/6 (pow.f64 x 3))))))) |
(+.f64 (*.f64 (*.f64 x x) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -1/2)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (+.f64 x (*.f64 (pow.f64 x 3) -1/6)))))) |
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x))) |
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x))) |
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x))) |
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x))) |
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x))) |
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x))) |
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x))) |
(*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps)))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (fma.f64 1/2 eps x))) |
(*.f64 -1 (*.f64 eps (sin.f64 x))) |
(neg.f64 (*.f64 eps (sin.f64 x))) |
(*.f64 (sin.f64 x) (neg.f64 eps)) |
(*.f64 eps (neg.f64 (sin.f64 x))) |
(neg.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 eps (sin.f64 x)))) |
(neg.f64 (fma.f64 1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 eps (sin.f64 x)))) |
(-.f64 (*.f64 (*.f64 (cos.f64 x) (*.f64 eps eps)) -1/2) (*.f64 eps (sin.f64 x))) |
(-.f64 (*.f64 (*.f64 -1/2 (cos.f64 x)) (*.f64 eps eps)) (*.f64 eps (sin.f64 x))) |
(-.f64 (*.f64 (*.f64 eps eps) (*.f64 (cos.f64 x) -1/2)) (*.f64 eps (sin.f64 x))) |
(-.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 eps (sin.f64 x)))) |
(-.f64 (*.f64 (*.f64 1/6 (pow.f64 eps 3)) (sin.f64 x)) (fma.f64 1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 eps (sin.f64 x)))) |
(-.f64 (*.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3))) (fma.f64 1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 eps (sin.f64 x)))) |
(+.f64 (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)) (*.f64 (*.f64 -1/2 (cos.f64 x)) (*.f64 eps eps))) |
(+.f64 (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)) (*.f64 (*.f64 eps eps) (*.f64 (cos.f64 x) -1/2))) |
(-.f64 (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 eps (sin.f64 x)))) |
(-.f64 (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (*.f64 (*.f64 (cos.f64 x) (pow.f64 eps 4)) 1/24)) (fma.f64 1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 eps (sin.f64 x)))) |
(-.f64 (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (*.f64 (cos.f64 x) (*.f64 (pow.f64 eps 4) 1/24))) (fma.f64 1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 eps (sin.f64 x)))) |
(fma.f64 (sin.f64 x) (*.f64 1/6 (pow.f64 eps 3)) (-.f64 (*.f64 (cos.f64 x) (-.f64 (*.f64 (pow.f64 eps 4) 1/24) (*.f64 1/2 (*.f64 eps eps)))) (*.f64 eps (sin.f64 x)))) |
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))) |
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) -2) |
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2)) |
(*.f64 (sin.f64 (fma.f64 1/2 eps x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2)) |
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))) |
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) -2) |
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2)) |
(*.f64 (sin.f64 (fma.f64 1/2 eps x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2)) |
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))) |
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) -2) |
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2)) |
(*.f64 (sin.f64 (fma.f64 1/2 eps x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2)) |
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))) |
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) -2) |
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2)) |
(*.f64 (sin.f64 (fma.f64 1/2 eps x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2)) |
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))) |
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) -2) |
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2)) |
(*.f64 (sin.f64 (fma.f64 1/2 eps x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2)) |
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))) |
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) -2) |
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2)) |
(*.f64 (sin.f64 (fma.f64 1/2 eps x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2)) |
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))) |
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) -2) |
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2)) |
(*.f64 (sin.f64 (fma.f64 1/2 eps x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2)) |
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))) |
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) -2) |
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2)) |
(*.f64 (sin.f64 (fma.f64 1/2 eps x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2)) |
(*.f64 -2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) |
(*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2) |
(neg.f64 (+.f64 (*.f64 2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (*.f64 2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))))) |
(neg.f64 (*.f64 2 (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))))) |
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (sin.f64 (*.f64 1/2 eps))))) |
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (sin.f64 (*.f64 1/2 eps)))) -2) |
(-.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2)) (+.f64 (*.f64 2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (*.f64 2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))))) |
(-.f64 (*.f64 (*.f64 x x) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (*.f64 2 (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))))) |
(+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (-.f64 (*.f64 x x) 2)) (*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x)) -2)) |
(fma.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (fma.f64 x x -2) (*.f64 x (*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 eps))) -2))) |
(fma.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (fma.f64 x x -2) (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 x -2)))) |
(-.f64 (+.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 2)) (*.f64 1/3 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3))))) (+.f64 (*.f64 2 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (*.f64 2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))))) |
(-.f64 (fma.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 x x) (*.f64 (*.f64 1/3 (sin.f64 (*.f64 1/2 eps))) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3)))) (*.f64 2 (+.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) x))))) |
(fma.f64 (*.f64 x x) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (fma.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 3))) 1/3 (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (cos.f64 (*.f64 1/2 eps)) x (sin.f64 (*.f64 1/2 eps))))))) |
(fma.f64 x (*.f64 x (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (+.f64 (*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 eps))) (-.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 x 2))) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2))) |
(fma.f64 x (*.f64 x (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (+.f64 (*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 eps))) (+.f64 (*.f64 (pow.f64 x 3) 1/3) (*.f64 x -2))) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) -2))) |
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))) |
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) -2) |
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2)) |
(*.f64 (sin.f64 (fma.f64 1/2 eps x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2)) |
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))) |
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) -2) |
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2)) |
(*.f64 (sin.f64 (fma.f64 1/2 eps x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2)) |
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))) |
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) -2) |
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2)) |
(*.f64 (sin.f64 (fma.f64 1/2 eps x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2)) |
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))) |
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) -2) |
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2)) |
(*.f64 (sin.f64 (fma.f64 1/2 eps x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2)) |
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))) |
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) -2) |
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2)) |
(*.f64 (sin.f64 (fma.f64 1/2 eps x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2)) |
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))) |
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) -2) |
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2)) |
(*.f64 (sin.f64 (fma.f64 1/2 eps x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2)) |
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))) |
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) -2) |
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2)) |
(*.f64 (sin.f64 (fma.f64 1/2 eps x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2)) |
(*.f64 -2 (*.f64 (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) (sin.f64 (*.f64 1/2 eps)))) |
(*.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) -2) |
(*.f64 (sin.f64 (*.f64 1/2 (fma.f64 x 2 eps))) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2)) |
(*.f64 (sin.f64 (fma.f64 1/2 eps x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) -2)) |
eps |
(+.f64 eps (*.f64 2 x)) |
(+.f64 eps (*.f64 x 2)) |
(fma.f64 x 2 eps) |
(+.f64 eps (*.f64 2 x)) |
(+.f64 eps (*.f64 x 2)) |
(fma.f64 x 2 eps) |
(+.f64 eps (*.f64 2 x)) |
(+.f64 eps (*.f64 x 2)) |
(fma.f64 x 2 eps) |
(*.f64 2 x) |
(*.f64 x 2) |
(+.f64 eps (*.f64 2 x)) |
(+.f64 eps (*.f64 x 2)) |
(fma.f64 x 2 eps) |
(+.f64 eps (*.f64 2 x)) |
(+.f64 eps (*.f64 x 2)) |
(fma.f64 x 2 eps) |
(+.f64 eps (*.f64 2 x)) |
(+.f64 eps (*.f64 x 2)) |
(fma.f64 x 2 eps) |
(*.f64 2 x) |
(*.f64 x 2) |
(+.f64 eps (*.f64 2 x)) |
(+.f64 eps (*.f64 x 2)) |
(fma.f64 x 2 eps) |
(+.f64 eps (*.f64 2 x)) |
(+.f64 eps (*.f64 x 2)) |
(fma.f64 x 2 eps) |
(+.f64 eps (*.f64 2 x)) |
(+.f64 eps (*.f64 x 2)) |
(fma.f64 x 2 eps) |
(*.f64 2 x) |
(*.f64 x 2) |
(+.f64 eps (*.f64 2 x)) |
(+.f64 eps (*.f64 x 2)) |
(fma.f64 x 2 eps) |
(+.f64 eps (*.f64 2 x)) |
(+.f64 eps (*.f64 x 2)) |
(fma.f64 x 2 eps) |
(+.f64 eps (*.f64 2 x)) |
(+.f64 eps (*.f64 x 2)) |
(fma.f64 x 2 eps) |
eps |
(+.f64 eps (*.f64 2 x)) |
(+.f64 eps (*.f64 x 2)) |
(fma.f64 x 2 eps) |
(+.f64 eps (*.f64 2 x)) |
(+.f64 eps (*.f64 x 2)) |
(fma.f64 x 2 eps) |
(+.f64 eps (*.f64 2 x)) |
(+.f64 eps (*.f64 x 2)) |
(fma.f64 x 2 eps) |
eps |
(+.f64 eps (*.f64 2 x)) |
(+.f64 eps (*.f64 x 2)) |
(fma.f64 x 2 eps) |
(+.f64 eps (*.f64 2 x)) |
(+.f64 eps (*.f64 x 2)) |
(fma.f64 x 2 eps) |
(+.f64 eps (*.f64 2 x)) |
(+.f64 eps (*.f64 x 2)) |
(fma.f64 x 2 eps) |
15 alts after pruning (15 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 158 | 7 | 165 |
| Fresh | 5 | 8 | 13 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 164 | 15 | 179 |
| Status | Error | Program |
|---|---|---|
| ▶ | 26.0b | (-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (cos.f64 x)) |
| 30.5b | (+.f64 (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)) (*.f64 (*.f64 eps eps) (*.f64 (cos.f64 x) -1/2))) | |
| 32.7b | (*.f64 -2 (exp.f64 (log.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))) | |
| 32.1b | (*.f64 -2 (log1p.f64 (expm1.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))) | |
| 47.8b | (*.f64 -2 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (pow.f64 (sqrt.f64 (sin.f64 (*.f64 1/2 eps))) 2))) | |
| 41.0b | (fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))) | |
| 26.5b | (fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))) | |
| 30.5b | (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (*.f64 eps (-.f64 (*.f64 (*.f64 eps (cos.f64 x)) -1/2) (sin.f64 x)))) | |
| 27.0b | (fma.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps)))) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))) | |
| 36.2b | (*.f64 -2 (pow.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3) 1/3)) | |
| 33.5b | (fma.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))) | |
| 36.0b | (*.f64 -2 (cbrt.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3))) | |
| 26.2b | (-.f64 (/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 3) (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 3)) (fma.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)) (*.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))))) (cos.f64 x)) | |
| 26.1b | (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x))))) | |
| 38.0b | (*.f64 -2 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (log.f64 (exp.f64 (sin.f64 (*.f64 1/2 eps)))))) |
Compiled 3953 to 2553 computations (35.4% saved)
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (cos.f64 x) | |
| ✓ | 0.1b | (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) |
| ✓ | 0.1b | (*.f64 (sin.f64 x) (sin.f64 eps)) |
| ✓ | 2.5b | (-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (cos.f64 x)) |
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 2.0ms | eps | @ | 0 | (*.f64 (sin.f64 x) (sin.f64 eps)) |
| 2.0ms | x | @ | inf | (-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (cos.f64 x)) |
| 1.0ms | eps | @ | inf | (-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (cos.f64 x)) |
| 1.0ms | eps | @ | -inf | (-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (cos.f64 x)) |
| 1.0ms | x | @ | -inf | (-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (cos.f64 x)) |
| 1× | batch-egg-rewrite |
| 424× | fma-def_binary64 |
| 228× | fma-neg_binary64 |
| 213× | expm1-udef_binary64 |
| 213× | log1p-udef_binary64 |
| 131× | add-sqr-sqrt_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 49 |
| 1 | 241 | 25 |
| 2 | 3398 | 25 |
| 1× | node limit |
| Inputs |
|---|
(-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (cos.f64 x)) |
(*.f64 (sin.f64 x) (sin.f64 eps)) |
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 (-.f64 x eps)) (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 (-.f64 x eps)) (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x)) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x)) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x)) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (neg.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (cos.f64 x)) (cos.f64 (-.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x))) 2) (cbrt.f64 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x))) (sqrt.f64 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (cos.f64 (-.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3)) (/.f64 1 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 x) (cos.f64 (-.f64 x eps))) (pow.f64 (cos.f64 (-.f64 x eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (cos.f64 (-.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2)) (/.f64 1 (+.f64 (cos.f64 x) (cos.f64 (-.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (*.f64 (sin.f64 (/.f64 (-.f64 (-.f64 x eps) x) 2)) (sin.f64 (/.f64 (+.f64 (-.f64 x eps) x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (*.f64 (sin.f64 (/.f64 (-.f64 (+.f64 x eps) x) 2)) (sin.f64 (/.f64 (+.f64 (+.f64 x eps) x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (cos.f64 (-.f64 x eps))) (sqrt.f64 (cos.f64 x))) (-.f64 (sqrt.f64 (cos.f64 (-.f64 x eps))) (sqrt.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 x) (cos.f64 (-.f64 x eps))) (pow.f64 (cos.f64 (-.f64 x eps)) 2)) (-.f64 (pow.f64 (cos.f64 (-.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (cos.f64 x) (cos.f64 (-.f64 x eps))) (-.f64 (pow.f64 (cos.f64 (-.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (cos.f64 (-.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3)) (fma.f64 (cos.f64 x) (+.f64 (cos.f64 x) (cos.f64 (-.f64 x eps))) (pow.f64 (cos.f64 (-.f64 x eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (cos.f64 (-.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2)) (+.f64 (cos.f64 x) (cos.f64 (-.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (cos.f64 (-.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3))) (neg.f64 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 x) (cos.f64 (-.f64 x eps))) (pow.f64 (cos.f64 (-.f64 x eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (cos.f64 (-.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2))) (neg.f64 (+.f64 (cos.f64 x) (cos.f64 (-.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (cos.f64 (-.f64 x eps)) 3) (pow.f64 (neg.f64 (cos.f64 x)) 3)) (+.f64 (pow.f64 (cos.f64 (-.f64 x eps)) 2) (-.f64 (*.f64 (neg.f64 (cos.f64 x)) (neg.f64 (cos.f64 x))) (*.f64 (cos.f64 (-.f64 x eps)) (neg.f64 (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (cos.f64 (-.f64 x eps)) 2) (*.f64 (neg.f64 (cos.f64 x)) (neg.f64 (cos.f64 x)))) (-.f64 (cos.f64 (-.f64 x eps)) (neg.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 x) (cos.f64 eps) (fma.f64 (sin.f64 x) (sin.f64 eps) (neg.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 eps) (cos.f64 x) (fma.f64 (sin.f64 x) (sin.f64 eps) (neg.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 (-.f64 x eps)) 1 (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 (-.f64 x eps)) 1 (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x)) 1 (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x)) 1 (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x)) 1 (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cos.f64 (-.f64 x eps)) (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cos.f64 (-.f64 x eps)) (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x)) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x)) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x)) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (neg.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 (cos.f64 x)) (cos.f64 (-.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x))) 2) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x))) 2) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x))) 2) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x))) 2) (cbrt.f64 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x))) 2) (cbrt.f64 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x))) 2) (cbrt.f64 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (neg.f64 (cbrt.f64 (cos.f64 x))) (cos.f64 (-.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (neg.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (cos.f64 (-.f64 x eps))) (pow.f64 (cbrt.f64 (cos.f64 (-.f64 x eps))) 2) (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (cos.f64 (-.f64 x eps))) (pow.f64 (cbrt.f64 (cos.f64 (-.f64 x eps))) 2) (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 (-.f64 x eps))) 2) (cbrt.f64 (cos.f64 (-.f64 x eps))) (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 (-.f64 x eps))) 2) (cbrt.f64 (cos.f64 (-.f64 x eps))) (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x))) (sqrt.f64 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x))) (sqrt.f64 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x))) (sqrt.f64 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 x)) (neg.f64 (sqrt.f64 (cos.f64 x))) (cos.f64 (-.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (neg.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 (-.f64 x eps))) (sqrt.f64 (cos.f64 (-.f64 x eps))) (neg.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 (-.f64 x eps))) (sqrt.f64 (cos.f64 (-.f64 x eps))) (*.f64 (neg.f64 (cos.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (-.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3)) (/.f64 1 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 x) (cos.f64 (-.f64 x eps))) (pow.f64 (cos.f64 (-.f64 x eps)) 2))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (-.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3)) (/.f64 1 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 x) (cos.f64 (-.f64 x eps))) (pow.f64 (cos.f64 (-.f64 x eps)) 2))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (-.f64 x eps)) 3) (pow.f64 (cos.f64 x) 3)) (/.f64 1 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 x) (cos.f64 (-.f64 x eps))) (pow.f64 (cos.f64 (-.f64 x eps)) 2))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (cos.f64 x) (cos.f64 (-.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (-.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2)) (/.f64 1 (+.f64 (cos.f64 x) (cos.f64 (-.f64 x eps)))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (-.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2)) (/.f64 1 (+.f64 (cos.f64 x) (cos.f64 (-.f64 x eps)))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (cos.f64 (-.f64 x eps)) 2) (pow.f64 (cos.f64 x) 2)) (/.f64 1 (+.f64 (cos.f64 x) (cos.f64 (-.f64 x eps)))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps)))) (cbrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (fma.f64 (sin.f64 x) (sin.f64 eps) (neg.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (neg.f64 (cos.f64 x))) (cbrt.f64 (neg.f64 (cos.f64 x)))) (cbrt.f64 (neg.f64 (cos.f64 x))) (cos.f64 (-.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (fma.f64 (sin.f64 x) (sin.f64 eps) (neg.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (neg.f64 (cos.f64 x))) (sqrt.f64 (neg.f64 (cos.f64 x))) (cos.f64 (-.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x)) (cos.f64 (-.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (cos.f64 (-.f64 x eps))) (sqrt.f64 (cos.f64 x))) (-.f64 (sqrt.f64 (cos.f64 (-.f64 x eps))) (sqrt.f64 (cos.f64 x))) (fma.f64 (neg.f64 (cos.f64 x)) 1 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (cos.f64 (-.f64 x eps))) (sqrt.f64 (cos.f64 x))) (-.f64 (sqrt.f64 (cos.f64 (-.f64 x eps))) (sqrt.f64 (cos.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (cos.f64 (-.f64 x eps))) (sqrt.f64 (cos.f64 x))) (-.f64 (sqrt.f64 (cos.f64 (-.f64 x eps))) (sqrt.f64 (cos.f64 x))) (+.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (cos.f64 x)) (sqrt.f64 (cos.f64 eps))) (*.f64 (sqrt.f64 (cos.f64 x)) (sqrt.f64 (cos.f64 eps))) (fma.f64 (sin.f64 x) (sin.f64 eps) (neg.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) (cbrt.f64 (cos.f64 x)) (cos.f64 (-.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 x) (pow.f64 (cbrt.f64 (cos.f64 eps)) 2)) (cbrt.f64 (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (neg.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 x) (sqrt.f64 (cos.f64 eps))) (sqrt.f64 (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (neg.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 x))) 1)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (sin.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (cos.f64 (-.f64 x eps)) 2) (/.f64 (cos.f64 (-.f64 x eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 2 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 (-.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 (-.f64 x eps))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 (-.f64 x eps)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 (-.f64 x eps)))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 0 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 3)) (+.f64 0 (+.f64 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 2) (*.f64 0 (*.f64 (sin.f64 x) (sin.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 0 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 2)) (*.f64 (sin.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 (-.f64 x eps)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sin.f64 x)) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 x) (sin.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (sin.f64 eps) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (sin.f64 eps) 3) (pow.f64 (sin.f64 x) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sin.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 x) (sin.f64 eps))) 1)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 x) (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 1) (*.f64 (sin.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cos.f64 (-.f64 x eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) 0) (*.f64 (sin.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 x) (cos.f64 (neg.f64 eps))) (*.f64 (sin.f64 x) (sin.f64 (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 x) (cos.f64 (*.f64 -1 eps))) (*.f64 (sin.f64 x) (sin.f64 (*.f64 -1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 x) (cos.f64 (*.f64 (neg.f64 (pow.f64 (cbrt.f64 eps) 2)) (cbrt.f64 eps)))) (*.f64 (sin.f64 x) (sin.f64 (*.f64 (neg.f64 (pow.f64 (cbrt.f64 eps) 2)) (cbrt.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 x) (cos.f64 (*.f64 (neg.f64 (sqrt.f64 eps)) (sqrt.f64 eps)))) (*.f64 (sin.f64 x) (sin.f64 (*.f64 (neg.f64 (sqrt.f64 eps)) (sqrt.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 (-.f64 x eps)) (cos.f64 (fma.f64 (neg.f64 eps) 1 eps))) (*.f64 (sin.f64 (-.f64 x eps)) (sin.f64 (fma.f64 (neg.f64 eps) 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 (-.f64 x eps)) (cos.f64 (fma.f64 (neg.f64 (cbrt.f64 eps)) (pow.f64 (cbrt.f64 eps) 2) eps))) (*.f64 (sin.f64 (-.f64 x eps)) (sin.f64 (fma.f64 (neg.f64 (cbrt.f64 eps)) (pow.f64 (cbrt.f64 eps) 2) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 (-.f64 x eps)) (cos.f64 (fma.f64 (neg.f64 (sqrt.f64 eps)) (sqrt.f64 eps) eps))) (*.f64 (sin.f64 (-.f64 x eps)) (sin.f64 (fma.f64 (neg.f64 (sqrt.f64 eps)) (sqrt.f64 eps) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 (-.f64 x eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cos.f64 (-.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cos.f64 (-.f64 x eps))) (pow.f64 (cbrt.f64 (cos.f64 (-.f64 x eps))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 (-.f64 x eps))) 2) (cbrt.f64 (cos.f64 (-.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 (-.f64 x eps))) (sqrt.f64 (cos.f64 (-.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 3) (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 3)) (fma.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (cos.f64 eps)) (-.f64 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 2) (*.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (sin.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (cos.f64 eps)) (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 2)) (cos.f64 (-.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cos.f64 (-.f64 x eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cos.f64 (-.f64 x eps))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (cos.f64 (-.f64 x eps))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 (-.f64 x eps)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cos.f64 (-.f64 x eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cos.f64 (-.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cos.f64 (-.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (cos.f64 (-.f64 x eps)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cos.f64 (-.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x cos.f64 (-.f64 x eps))))) (#(struct:change #<rule egg-rr> (2) ((x cos.f64 (+.f64 x eps))))) (#(struct:change #<rule egg-rr> (2) ((x cos.f64 (-.f64 eps x))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cos.f64 (-.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cos.f64 (-.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cos.f64 (-.f64 x eps))) 1)))))) |
| 1× | egg-herbie |
| 389× | fma-def_binary64 |
| 375× | sub-neg_binary64 |
| 320× | cancel-sign-sub-inv_binary64 |
| 313× | distribute-rgt-neg-in_binary64 |
| 304× | distribute-lft-neg-in_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 89 | 1178 |
| 1 | 292 | 1150 |
| 2 | 912 | 1107 |
| 3 | 3384 | 1090 |
| 1× | node limit |
| Inputs |
|---|
(-.f64 (cos.f64 eps) 1) |
(-.f64 (cos.f64 eps) (+.f64 (*.f64 (sin.f64 eps) x) 1)) |
(-.f64 (+.f64 (cos.f64 eps) (*.f64 1/2 (pow.f64 x 2))) (+.f64 (*.f64 (sin.f64 eps) x) (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2)))))) |
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3))) (*.f64 1/2 (pow.f64 x 2)))) (+.f64 (*.f64 (sin.f64 eps) x) (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2)))))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(*.f64 -1 (*.f64 eps (sin.f64 x))) |
(neg.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 eps (sin.f64 x)))) |
(-.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 eps (sin.f64 x)))) |
(-.f64 (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 eps (sin.f64 x)))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(*.f64 (sin.f64 eps) x) |
(-.f64 (*.f64 (sin.f64 eps) x) (*.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)))) |
(-.f64 (+.f64 (*.f64 (sin.f64 eps) x) (*.f64 1/120 (*.f64 (sin.f64 eps) (pow.f64 x 5)))) (*.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)))) |
(-.f64 (+.f64 (*.f64 (sin.f64 eps) x) (*.f64 1/120 (*.f64 (sin.f64 eps) (pow.f64 x 5)))) (+.f64 (*.f64 1/5040 (*.f64 (sin.f64 eps) (pow.f64 x 7))) (*.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3))))) |
(*.f64 eps (sin.f64 x)) |
(-.f64 (*.f64 eps (sin.f64 x)) (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x)))) |
(-.f64 (+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 5) (sin.f64 x))) (*.f64 eps (sin.f64 x))) (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x)))) |
(-.f64 (+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 5) (sin.f64 x))) (*.f64 eps (sin.f64 x))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (*.f64 1/5040 (*.f64 (pow.f64 eps 7) (sin.f64 x))))) |
(cos.f64 eps) |
(-.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x)) |
(-.f64 (cos.f64 eps) (+.f64 (*.f64 (sin.f64 eps) x) (*.f64 1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2))))) |
(-.f64 (+.f64 (cos.f64 eps) (*.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)))) (+.f64 (*.f64 (sin.f64 eps) x) (*.f64 1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2))))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps))) |
(cos.f64 x) |
(-.f64 (cos.f64 x) (*.f64 eps (sin.f64 x))) |
(-.f64 (cos.f64 x) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 eps (sin.f64 x)))) |
(-.f64 (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (cos.f64 x)) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 eps (sin.f64 x)))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps))) |
| Outputs |
|---|
(-.f64 (cos.f64 eps) 1) |
(+.f64 (cos.f64 eps) -1) |
(-.f64 (cos.f64 eps) (+.f64 (*.f64 (sin.f64 eps) x) 1)) |
(-.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) x 1)) |
(-.f64 (+.f64 (cos.f64 eps) (*.f64 1/2 (pow.f64 x 2))) (+.f64 (*.f64 (sin.f64 eps) x) (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2)))))) |
(-.f64 (+.f64 (cos.f64 eps) (*.f64 1/2 (*.f64 x x))) (+.f64 (fma.f64 (sin.f64 eps) x 1) (*.f64 1/2 (*.f64 (cos.f64 eps) (*.f64 x x))))) |
(-.f64 (fma.f64 1/2 (*.f64 x x) (cos.f64 eps)) (fma.f64 (sin.f64 eps) x (fma.f64 1/2 (*.f64 x (*.f64 x (cos.f64 eps))) 1))) |
(-.f64 (fma.f64 x (*.f64 x 1/2) (cos.f64 eps)) (fma.f64 (cos.f64 eps) (*.f64 x (*.f64 x 1/2)) (fma.f64 (sin.f64 eps) x 1))) |
(+.f64 (cos.f64 eps) (-.f64 (*.f64 (*.f64 x 1/2) (-.f64 x (*.f64 (cos.f64 eps) x))) (fma.f64 (sin.f64 eps) x 1))) |
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3))) (*.f64 1/2 (pow.f64 x 2)))) (+.f64 (*.f64 (sin.f64 eps) x) (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2)))))) |
(+.f64 (cos.f64 eps) (-.f64 (fma.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)) (*.f64 1/2 (*.f64 x x))) (+.f64 (fma.f64 (sin.f64 eps) x 1) (*.f64 1/2 (*.f64 (cos.f64 eps) (*.f64 x x)))))) |
(+.f64 (cos.f64 eps) (-.f64 (fma.f64 1/2 (*.f64 x x) (*.f64 (sin.f64 eps) (*.f64 (pow.f64 x 3) 1/6))) (fma.f64 (sin.f64 eps) x (fma.f64 1/2 (*.f64 x (*.f64 x (cos.f64 eps))) 1)))) |
(+.f64 (fma.f64 x (*.f64 x 1/2) (cos.f64 eps)) (-.f64 (*.f64 (sin.f64 eps) (-.f64 (*.f64 1/6 (pow.f64 x 3)) x)) (fma.f64 (cos.f64 eps) (*.f64 x (*.f64 x 1/2)) 1))) |
(+.f64 (cos.f64 eps) (-.f64 (*.f64 (*.f64 x x) (-.f64 (+.f64 1/2 (*.f64 x (*.f64 (sin.f64 eps) 1/6))) (*.f64 (cos.f64 eps) 1/2))) (fma.f64 (sin.f64 eps) x 1))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))) |
(*.f64 -1 (*.f64 eps (sin.f64 x))) |
(neg.f64 (*.f64 eps (sin.f64 x))) |
(*.f64 eps (neg.f64 (sin.f64 x))) |
(neg.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 eps (sin.f64 x)))) |
(neg.f64 (fma.f64 1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 eps (sin.f64 x)))) |
(-.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) -1/2) (*.f64 eps (sin.f64 x))) |
(-.f64 (*.f64 (cos.f64 x) (*.f64 (*.f64 eps eps) -1/2)) (*.f64 eps (sin.f64 x))) |
(*.f64 eps (-.f64 (*.f64 (*.f64 eps (cos.f64 x)) -1/2) (sin.f64 x))) |
(-.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 eps (sin.f64 x)))) |
(-.f64 (*.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3))) (fma.f64 1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 eps (sin.f64 x)))) |
(-.f64 (*.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3))) (fma.f64 eps (sin.f64 x) (*.f64 (cos.f64 x) (*.f64 1/2 (*.f64 eps eps))))) |
(-.f64 (*.f64 (cos.f64 x) (*.f64 (*.f64 eps eps) -1/2)) (*.f64 (sin.f64 x) (-.f64 eps (*.f64 1/6 (pow.f64 eps 3))))) |
(-.f64 (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 eps (sin.f64 x)))) |
(-.f64 (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (*.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4)))) (fma.f64 1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 eps (sin.f64 x)))) |
(-.f64 (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (*.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4)))) (fma.f64 eps (sin.f64 x) (*.f64 (cos.f64 x) (*.f64 1/2 (*.f64 eps eps))))) |
(-.f64 (*.f64 (cos.f64 x) (-.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 eps (*.f64 eps 1/2)))) (*.f64 (sin.f64 x) (-.f64 eps (*.f64 1/6 (pow.f64 eps 3))))) |
(-.f64 (*.f64 (cos.f64 x) (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 (*.f64 eps eps) -1/2))) (*.f64 (sin.f64 x) (-.f64 eps (*.f64 1/6 (pow.f64 eps 3))))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))) |
(*.f64 (sin.f64 eps) x) |
(-.f64 (*.f64 (sin.f64 eps) x) (*.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)))) |
(+.f64 (*.f64 (sin.f64 eps) x) (*.f64 -1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)))) |
(fma.f64 (sin.f64 eps) x (*.f64 (*.f64 (sin.f64 eps) (pow.f64 x 3)) -1/6)) |
(*.f64 (sin.f64 eps) (-.f64 x (*.f64 1/6 (pow.f64 x 3)))) |
(-.f64 (+.f64 (*.f64 (sin.f64 eps) x) (*.f64 1/120 (*.f64 (sin.f64 eps) (pow.f64 x 5)))) (*.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)))) |
(+.f64 (fma.f64 (sin.f64 eps) x (*.f64 1/120 (*.f64 (sin.f64 eps) (pow.f64 x 5)))) (*.f64 -1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)))) |
(fma.f64 (sin.f64 eps) x (fma.f64 1/120 (*.f64 (sin.f64 eps) (pow.f64 x 5)) (*.f64 (*.f64 (sin.f64 eps) (pow.f64 x 3)) -1/6))) |
(fma.f64 (sin.f64 eps) (*.f64 1/120 (pow.f64 x 5)) (*.f64 (sin.f64 eps) (-.f64 x (*.f64 1/6 (pow.f64 x 3))))) |
(*.f64 (sin.f64 eps) (-.f64 (*.f64 1/120 (pow.f64 x 5)) (-.f64 (*.f64 1/6 (pow.f64 x 3)) x))) |
(-.f64 (+.f64 (*.f64 (sin.f64 eps) x) (*.f64 1/120 (*.f64 (sin.f64 eps) (pow.f64 x 5)))) (+.f64 (*.f64 1/5040 (*.f64 (sin.f64 eps) (pow.f64 x 7))) (*.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3))))) |
(-.f64 (fma.f64 (sin.f64 eps) x (*.f64 1/120 (*.f64 (sin.f64 eps) (pow.f64 x 5)))) (fma.f64 1/5040 (*.f64 (sin.f64 eps) (pow.f64 x 7)) (*.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3))))) |
(-.f64 (fma.f64 (sin.f64 eps) x (*.f64 1/120 (*.f64 (sin.f64 eps) (pow.f64 x 5)))) (fma.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)) (*.f64 (sin.f64 eps) (*.f64 (pow.f64 x 7) 1/5040)))) |
(-.f64 (*.f64 (sin.f64 eps) (+.f64 x (*.f64 1/120 (pow.f64 x 5)))) (*.f64 (sin.f64 eps) (+.f64 (*.f64 1/6 (pow.f64 x 3)) (*.f64 1/5040 (pow.f64 x 7))))) |
(*.f64 (sin.f64 eps) (-.f64 (+.f64 x (*.f64 1/120 (pow.f64 x 5))) (+.f64 (*.f64 1/6 (pow.f64 x 3)) (*.f64 1/5040 (pow.f64 x 7))))) |
(*.f64 eps (sin.f64 x)) |
(-.f64 (*.f64 eps (sin.f64 x)) (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x)))) |
(+.f64 (*.f64 eps (sin.f64 x)) (*.f64 -1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)))) |
(*.f64 (sin.f64 x) (-.f64 eps (*.f64 1/6 (pow.f64 eps 3)))) |
(-.f64 (+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 5) (sin.f64 x))) (*.f64 eps (sin.f64 x))) (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x)))) |
(+.f64 (fma.f64 1/120 (*.f64 (sin.f64 x) (pow.f64 eps 5)) (*.f64 eps (sin.f64 x))) (*.f64 -1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)))) |
(fma.f64 1/120 (*.f64 (sin.f64 x) (pow.f64 eps 5)) (*.f64 (sin.f64 x) (-.f64 eps (*.f64 1/6 (pow.f64 eps 3))))) |
(*.f64 (sin.f64 x) (-.f64 (fma.f64 1/120 (pow.f64 eps 5) eps) (*.f64 1/6 (pow.f64 eps 3)))) |
(*.f64 (sin.f64 x) (+.f64 (fma.f64 1/120 (pow.f64 eps 5) eps) (*.f64 (pow.f64 eps 3) -1/6))) |
(-.f64 (+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 5) (sin.f64 x))) (*.f64 eps (sin.f64 x))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (*.f64 1/5040 (*.f64 (pow.f64 eps 7) (sin.f64 x))))) |
(-.f64 (fma.f64 1/120 (*.f64 (sin.f64 x) (pow.f64 eps 5)) (*.f64 eps (sin.f64 x))) (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (*.f64 1/5040 (*.f64 (sin.f64 x) (pow.f64 eps 7))))) |
(-.f64 (*.f64 (sin.f64 x) (+.f64 (*.f64 1/120 (pow.f64 eps 5)) eps)) (*.f64 (sin.f64 x) (+.f64 (*.f64 1/6 (pow.f64 eps 3)) (*.f64 1/5040 (pow.f64 eps 7))))) |
(*.f64 (sin.f64 x) (-.f64 (fma.f64 1/120 (pow.f64 eps 5) eps) (fma.f64 1/6 (pow.f64 eps 3) (*.f64 1/5040 (pow.f64 eps 7))))) |
(cos.f64 eps) |
(-.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x)) |
(-.f64 (cos.f64 eps) (+.f64 (*.f64 (sin.f64 eps) x) (*.f64 1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2))))) |
(-.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) x (*.f64 1/2 (*.f64 (cos.f64 eps) (*.f64 x x))))) |
(-.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) x (*.f64 1/2 (*.f64 x (*.f64 x (cos.f64 eps)))))) |
(-.f64 (cos.f64 eps) (*.f64 x (+.f64 (*.f64 (cos.f64 eps) (*.f64 x 1/2)) (sin.f64 eps)))) |
(+.f64 (cos.f64 eps) (*.f64 x (-.f64 (*.f64 -1/2 (*.f64 (cos.f64 eps) x)) (sin.f64 eps)))) |
(-.f64 (+.f64 (cos.f64 eps) (*.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)))) (+.f64 (*.f64 (sin.f64 eps) x) (*.f64 1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2))))) |
(-.f64 (+.f64 (cos.f64 eps) (*.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)))) (fma.f64 (sin.f64 eps) x (*.f64 1/2 (*.f64 (cos.f64 eps) (*.f64 x x))))) |
(-.f64 (fma.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)) (cos.f64 eps)) (fma.f64 (sin.f64 eps) x (*.f64 1/2 (*.f64 x (*.f64 x (cos.f64 eps)))))) |
(-.f64 (fma.f64 (sin.f64 eps) (*.f64 1/6 (pow.f64 x 3)) (cos.f64 eps)) (*.f64 x (+.f64 (*.f64 (cos.f64 eps) (*.f64 x 1/2)) (sin.f64 eps)))) |
(+.f64 (cos.f64 eps) (*.f64 x (-.f64 (*.f64 x (+.f64 (*.f64 x (*.f64 (sin.f64 eps) 1/6)) (*.f64 (cos.f64 eps) -1/2))) (sin.f64 eps)))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x))) |
(fma.f64 (cos.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)))) |
(fma.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x))) |
(fma.f64 (cos.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)))) |
(fma.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x))) |
(fma.f64 (cos.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)))) |
(fma.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x))) |
(fma.f64 (cos.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)))) |
(fma.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x))) |
(fma.f64 (cos.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)))) |
(fma.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x))) |
(fma.f64 (cos.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)))) |
(fma.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x))) |
(fma.f64 (cos.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)))) |
(fma.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x))) |
(fma.f64 (cos.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)))) |
(fma.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x))) |
(cos.f64 x) |
(-.f64 (cos.f64 x) (*.f64 eps (sin.f64 x))) |
(fma.f64 (sin.f64 x) (neg.f64 eps) (cos.f64 x)) |
(-.f64 (cos.f64 x) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 eps (sin.f64 x)))) |
(-.f64 (cos.f64 x) (fma.f64 1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 eps (sin.f64 x)))) |
(-.f64 (cos.f64 x) (fma.f64 eps (sin.f64 x) (*.f64 (cos.f64 x) (*.f64 1/2 (*.f64 eps eps))))) |
(-.f64 (cos.f64 x) (fma.f64 1/2 (*.f64 eps (*.f64 eps (cos.f64 x))) (*.f64 eps (sin.f64 x)))) |
(-.f64 (cos.f64 x) (*.f64 eps (-.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 eps (cos.f64 x)))))) |
(-.f64 (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (cos.f64 x)) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 eps (sin.f64 x)))) |
(-.f64 (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (cos.f64 x)) (fma.f64 1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 eps (sin.f64 x)))) |
(-.f64 (fma.f64 (*.f64 1/6 (pow.f64 eps 3)) (sin.f64 x) (cos.f64 x)) (fma.f64 eps (sin.f64 x) (*.f64 (cos.f64 x) (*.f64 1/2 (*.f64 eps eps))))) |
(-.f64 (*.f64 (+.f64 (*.f64 (*.f64 eps eps) -1/2) 1) (cos.f64 x)) (*.f64 (sin.f64 x) (-.f64 eps (*.f64 1/6 (pow.f64 eps 3))))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x))) |
(fma.f64 (cos.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)))) |
(fma.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x))) |
(fma.f64 (cos.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)))) |
(fma.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x))) |
(fma.f64 (cos.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)))) |
(fma.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x))) |
(fma.f64 (cos.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)))) |
(fma.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x))) |
(fma.f64 (cos.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)))) |
(fma.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x))) |
(fma.f64 (cos.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)))) |
(fma.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x))) |
(fma.f64 (cos.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)))) |
(fma.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x))) |
(fma.f64 (cos.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)))) |
(fma.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x))) |
15 alts after pruning (14 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 253 | 3 | 256 |
| Fresh | 3 | 11 | 14 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 256 | 15 | 271 |
| Status | Error | Program |
|---|---|---|
| ✓ | 26.0b | (-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (cos.f64 x)) |
| 30.5b | (+.f64 (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)) (*.f64 (*.f64 eps eps) (*.f64 (cos.f64 x) -1/2))) | |
| 32.7b | (*.f64 -2 (exp.f64 (log.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))) | |
| 26.3b | (-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (log.f64 (exp.f64 (cos.f64 x)))) | |
| 32.1b | (*.f64 -2 (log1p.f64 (expm1.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))) | |
| 47.8b | (*.f64 -2 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (pow.f64 (sqrt.f64 (sin.f64 (*.f64 1/2 eps))) 2))) | |
| 41.0b | (fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))) | |
| 26.1b | (-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (expm1.f64 (log1p.f64 (cos.f64 x)))) | |
| 30.5b | (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (*.f64 eps (-.f64 (*.f64 (*.f64 eps (cos.f64 x)) -1/2) (sin.f64 x)))) | |
| 36.2b | (*.f64 -2 (pow.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3) 1/3)) | |
| 33.5b | (fma.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))) | |
| 36.0b | (*.f64 -2 (cbrt.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3))) | |
| 26.1b | (-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (log.f64 (pow.f64 (exp.f64 (sin.f64 x)) (sin.f64 eps))))) (cos.f64 x)) | |
| ▶ | 26.1b | (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x))))) |
| 38.0b | (*.f64 -2 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (log.f64 (exp.f64 (sin.f64 (*.f64 1/2 eps)))))) |
Compiled 5233 to 1833 computations (65% saved)
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (cos.f64 x) | |
| ✓ | 0.0b | (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x))) |
| 0.1b | (*.f64 (sin.f64 x) (sin.f64 eps)) | |
| ✓ | 2.5b | (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x))))) |
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | x | @ | 0 | (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x))))) |
| 0.0ms | x | @ | inf | (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x))))) |
| 0.0ms | x | @ | -inf | (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x))))) |
| 0.0ms | eps | @ | 0 | (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x))) |
| 0.0ms | eps | @ | inf | (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x))))) |
| 1× | batch-egg-rewrite |
| 309× | fma-def_binary64 |
| 209× | expm1-udef_binary64 |
| 209× | log1p-udef_binary64 |
| 207× | fma-neg_binary64 |
| 139× | add-sqr-sqrt_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 40 |
| 1 | 259 | 30 |
| 2 | 3710 | 30 |
| 1× | node limit |
| Inputs |
|---|
(fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x))))) |
(-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) (*.f64 (cos.f64 x) (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 1) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) 0) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (cos.f64 x) (cos.f64 eps) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))) (pow.f64 (cbrt.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))) 2) (cbrt.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))) (sqrt.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) 3) (pow.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) 3)) (fma.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (cos.f64 eps)) (-.f64 (pow.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) 2) (*.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (*.f64 (cos.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (cos.f64 eps)) (pow.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) 2)) (fma.f64 (cos.f64 x) (cos.f64 eps) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))) 1)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) -1) (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 0 (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) 0) (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) 2) (/.f64 1 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) 2) (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) 2) (neg.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) (sqrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) (neg.f64 (sqrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 3) (pow.f64 (cos.f64 x) 3)) (/.f64 1 (fma.f64 (cos.f64 x) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps))) (sqrt.f64 (cos.f64 x))) (-.f64 (sqrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps))) (sqrt.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) 2)) (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))) (sqrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -1 (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) 2)) (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -1 (sqrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))) (sqrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (cos.f64 x) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 2)) (+.f64 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 3) (pow.f64 (cos.f64 x) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) (pow.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) 2) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 3) (pow.f64 (cos.f64 x) 3)) (fma.f64 (cos.f64 x) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 3) (pow.f64 (cos.f64 x) 3))) (fma.f64 (cos.f64 x) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 3) (pow.f64 (cos.f64 x) 3))) (neg.f64 (fma.f64 (cos.f64 x) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 0 (pow.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) 3)) (+.f64 0 (+.f64 (pow.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) 2) (*.f64 0 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 0 (pow.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) 2)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (+.f64 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 3) (pow.f64 (cos.f64 x) 3))) (fma.f64 (cos.f64 x) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 x) 1 (*.f64 (sin.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 x) -1 (*.f64 (sin.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 1 (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) -1 (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) 1 (+.f64 (cos.f64 x) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) 1 (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) -1 (+.f64 (cos.f64 x) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) -1 (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) 2) (/.f64 1 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) (+.f64 (cos.f64 x) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) 2) (/.f64 1 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps))) 2) (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps))) 2) (cbrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cbrt.f64 (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (neg.f64 (cbrt.f64 (cos.f64 x))) (*.f64 (sin.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (*.f64 (cbrt.f64 (sin.f64 x)) (sin.f64 eps)) (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (cos.f64 x)) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (sin.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) 2) (+.f64 (cos.f64 x) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) 2) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) 2) (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) (+.f64 (cos.f64 x) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) 2) (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) 2) (neg.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))) (+.f64 (cos.f64 x) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) 2) (neg.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (sin.f64 eps)) 2) (*.f64 (cbrt.f64 (sin.f64 eps)) (sin.f64 x)) (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps))) (sqrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps))) (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 x)) (*.f64 (sqrt.f64 (sin.f64 x)) (sin.f64 eps)) (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 x)) (sqrt.f64 (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 x)) (neg.f64 (sqrt.f64 (cos.f64 x))) (*.f64 (sin.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) (sqrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) (+.f64 (cos.f64 x) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) (sqrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) (neg.f64 (sqrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))) (+.f64 (cos.f64 x) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) (neg.f64 (sqrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 eps)) (*.f64 (sqrt.f64 (sin.f64 eps)) (sin.f64 x)) (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (cos.f64 (-.f64 x eps)) (cos.f64 (+.f64 x eps))) 1/2 (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 3) (pow.f64 (cos.f64 x) 3)) (/.f64 1 (fma.f64 (cos.f64 x) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 2))) (+.f64 (cos.f64 x) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 3) (pow.f64 (cos.f64 x) 3)) (/.f64 1 (fma.f64 (cos.f64 x) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) (pow.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) 2))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (cos.f64 x) (*.f64 (sin.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) (+.f64 (cos.f64 x) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps))) (sqrt.f64 (cos.f64 x))) (-.f64 (sqrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps))) (sqrt.f64 (cos.f64 x))) (+.f64 (cos.f64 x) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps))) (sqrt.f64 (cos.f64 x))) (-.f64 (sqrt.f64 (*.f64 (sin.f64 x) (sin.f64 eps))) (sqrt.f64 (cos.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) 2)) (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) (+.f64 (cos.f64 x) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) 2)) (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))) (sqrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) (+.f64 (cos.f64 x) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))) (sqrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) (cbrt.f64 (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1 (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) 2)) (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) (+.f64 (cos.f64 x) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1 (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) 2)) (cbrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1 (sqrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))) (sqrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) (+.f64 (cos.f64 x) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1 (sqrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))) (sqrt.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 x) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2)) (cbrt.f64 (sin.f64 eps)) (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 x) (sqrt.f64 (sin.f64 eps))) (sqrt.f64 (sin.f64 eps)) (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 eps) (pow.f64 (cbrt.f64 (sin.f64 x)) 2)) (cbrt.f64 (sin.f64 x)) (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 eps) (sqrt.f64 (sin.f64 x))) (sqrt.f64 (sin.f64 x)) (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1 (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) (cbrt.f64 (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1 (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x)) (*.f64 (sin.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) 1)))))) |
| 1× | egg-herbie |
| 901× | fma-neg_binary64 |
| 279× | associate-+l-_binary64 |
| 259× | sub-neg_binary64 |
| 240× | distribute-rgt-neg-in_binary64 |
| 240× | fma-def_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 64 | 844 |
| 1 | 207 | 826 |
| 2 | 639 | 808 |
| 3 | 2400 | 791 |
| 1× | node limit |
| Inputs |
|---|
(-.f64 (cos.f64 eps) 1) |
(-.f64 (cos.f64 eps) (+.f64 (*.f64 (sin.f64 eps) x) 1)) |
(-.f64 (+.f64 (cos.f64 eps) (*.f64 1/2 (pow.f64 x 2))) (+.f64 (*.f64 (sin.f64 eps) x) (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2)))))) |
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3))) (*.f64 1/2 (pow.f64 x 2)))) (+.f64 (*.f64 (sin.f64 eps) x) (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2)))))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(*.f64 -1 (*.f64 eps (sin.f64 x))) |
(neg.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 eps (sin.f64 x)))) |
(-.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 eps (sin.f64 x)))) |
(-.f64 (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 eps (sin.f64 x)))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
1 |
(+.f64 (*.f64 (sin.f64 eps) x) 1) |
(-.f64 (+.f64 (*.f64 (sin.f64 eps) x) 1) (*.f64 1/2 (pow.f64 x 2))) |
(-.f64 (+.f64 (*.f64 (sin.f64 eps) x) 1) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3))) (*.f64 1/2 (pow.f64 x 2)))) |
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)) |
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)) |
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)) |
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)) |
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)) |
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)) |
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)) |
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)) |
(cos.f64 x) |
(+.f64 (cos.f64 x) (*.f64 eps (sin.f64 x))) |
(-.f64 (+.f64 (cos.f64 x) (*.f64 eps (sin.f64 x))) (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x)))) |
(-.f64 (+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 5) (sin.f64 x))) (+.f64 (cos.f64 x) (*.f64 eps (sin.f64 x)))) (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x)))) |
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)) |
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)) |
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)) |
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)) |
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)) |
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)) |
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)) |
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)) |
| Outputs |
|---|
(-.f64 (cos.f64 eps) 1) |
(+.f64 (cos.f64 eps) -1) |
(-.f64 (cos.f64 eps) (+.f64 (*.f64 (sin.f64 eps) x) 1)) |
(-.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) x 1)) |
(-.f64 (+.f64 (cos.f64 eps) (*.f64 1/2 (pow.f64 x 2))) (+.f64 (*.f64 (sin.f64 eps) x) (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2)))))) |
(-.f64 (+.f64 (cos.f64 eps) (*.f64 1/2 (*.f64 x x))) (+.f64 (fma.f64 (sin.f64 eps) x 1) (*.f64 1/2 (*.f64 (cos.f64 eps) (*.f64 x x))))) |
(-.f64 (fma.f64 1/2 (*.f64 x x) (cos.f64 eps)) (fma.f64 (sin.f64 eps) x (fma.f64 1/2 (*.f64 x (*.f64 x (cos.f64 eps))) 1))) |
(-.f64 (fma.f64 x (*.f64 x 1/2) (cos.f64 eps)) (fma.f64 (cos.f64 eps) (*.f64 x (*.f64 x 1/2)) (fma.f64 (sin.f64 eps) x 1))) |
(+.f64 (cos.f64 eps) (-.f64 (*.f64 (*.f64 x x) (-.f64 1/2 (*.f64 (cos.f64 eps) 1/2))) (fma.f64 (sin.f64 eps) x 1))) |
(-.f64 (+.f64 (cos.f64 eps) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3))) (*.f64 1/2 (pow.f64 x 2)))) (+.f64 (*.f64 (sin.f64 eps) x) (+.f64 1 (*.f64 1/2 (*.f64 (cos.f64 eps) (pow.f64 x 2)))))) |
(+.f64 (cos.f64 eps) (-.f64 (fma.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)) (*.f64 1/2 (*.f64 x x))) (+.f64 (fma.f64 (sin.f64 eps) x 1) (*.f64 1/2 (*.f64 (cos.f64 eps) (*.f64 x x)))))) |
(+.f64 (cos.f64 eps) (-.f64 (fma.f64 1/2 (*.f64 x x) (*.f64 (sin.f64 eps) (*.f64 (pow.f64 x 3) 1/6))) (fma.f64 (sin.f64 eps) x (fma.f64 1/2 (*.f64 x (*.f64 x (cos.f64 eps))) 1)))) |
(-.f64 (fma.f64 (sin.f64 eps) (*.f64 1/6 (pow.f64 x 3)) (fma.f64 x (*.f64 x 1/2) (cos.f64 eps))) (fma.f64 (cos.f64 eps) (*.f64 x (*.f64 x 1/2)) (fma.f64 (sin.f64 eps) x 1))) |
(+.f64 (cos.f64 eps) (-.f64 (+.f64 (*.f64 (*.f64 x x) (-.f64 1/2 (*.f64 (cos.f64 eps) 1/2))) -1) (*.f64 (sin.f64 eps) (+.f64 x (*.f64 (pow.f64 x 3) -1/6))))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) (sin.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) (sin.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) (sin.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) (sin.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) (sin.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) (sin.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) (sin.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) (sin.f64 x))) |
(*.f64 -1 (*.f64 eps (sin.f64 x))) |
(neg.f64 (*.f64 eps (sin.f64 x))) |
(*.f64 (sin.f64 x) (neg.f64 eps)) |
(neg.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 eps (sin.f64 x)))) |
(neg.f64 (fma.f64 1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 eps (sin.f64 x)))) |
(-.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) -1/2) (*.f64 eps (sin.f64 x))) |
(-.f64 (*.f64 (cos.f64 x) (*.f64 (*.f64 eps eps) -1/2)) (*.f64 eps (sin.f64 x))) |
(*.f64 eps (-.f64 (*.f64 -1/2 (*.f64 eps (cos.f64 x))) (sin.f64 x))) |
(-.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 eps (sin.f64 x)))) |
(-.f64 (*.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3))) (fma.f64 1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 eps (sin.f64 x)))) |
(-.f64 (*.f64 (sin.f64 x) (*.f64 1/6 (pow.f64 eps 3))) (fma.f64 eps (sin.f64 x) (*.f64 (cos.f64 x) (*.f64 1/2 (*.f64 eps eps))))) |
(+.f64 (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps)) (*.f64 (cos.f64 x) (*.f64 (*.f64 eps eps) -1/2))) |
(fma.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (*.f64 (cos.f64 x) (*.f64 eps (*.f64 eps -1/2)))) |
(-.f64 (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x))) (*.f64 1/24 (*.f64 (pow.f64 eps 4) (cos.f64 x)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (*.f64 eps (sin.f64 x)))) |
(-.f64 (fma.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (*.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4)))) (fma.f64 1/2 (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 eps (sin.f64 x)))) |
(-.f64 (fma.f64 1/24 (*.f64 (cos.f64 x) (pow.f64 eps 4)) (*.f64 (sin.f64 x) (*.f64 1/6 (pow.f64 eps 3)))) (fma.f64 eps (sin.f64 x) (*.f64 (cos.f64 x) (*.f64 1/2 (*.f64 eps eps))))) |
(-.f64 (*.f64 (cos.f64 x) (-.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 1/2 (*.f64 eps eps)))) (*.f64 (sin.f64 x) (+.f64 eps (*.f64 (pow.f64 eps 3) -1/6)))) |
(+.f64 (*.f64 (cos.f64 x) (fma.f64 1/24 (pow.f64 eps 4) (*.f64 eps (*.f64 eps -1/2)))) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) (sin.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) (sin.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) (sin.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) (sin.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) (sin.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) (sin.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) (sin.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))) |
(-.f64 (*.f64 (cos.f64 x) (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) (sin.f64 x))) |
1 |
(+.f64 (*.f64 (sin.f64 eps) x) 1) |
(fma.f64 (sin.f64 eps) x 1) |
(-.f64 (+.f64 (*.f64 (sin.f64 eps) x) 1) (*.f64 1/2 (pow.f64 x 2))) |
(+.f64 (fma.f64 (sin.f64 eps) x 1) (*.f64 -1/2 (*.f64 x x))) |
(-.f64 (fma.f64 (sin.f64 eps) x 1) (*.f64 x (*.f64 x 1/2))) |
(fma.f64 (*.f64 x x) -1/2 (fma.f64 (sin.f64 eps) x 1)) |
(-.f64 (+.f64 (*.f64 (sin.f64 eps) x) 1) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3))) (*.f64 1/2 (pow.f64 x 2)))) |
(-.f64 (fma.f64 (sin.f64 eps) x 1) (fma.f64 1/6 (*.f64 (sin.f64 eps) (pow.f64 x 3)) (*.f64 1/2 (*.f64 x x)))) |
(-.f64 (fma.f64 (sin.f64 eps) x 1) (fma.f64 1/2 (*.f64 x x) (*.f64 (sin.f64 eps) (*.f64 (pow.f64 x 3) 1/6)))) |
(+.f64 (+.f64 1 (*.f64 x (*.f64 x -1/2))) (*.f64 (sin.f64 eps) (-.f64 x (*.f64 1/6 (pow.f64 x 3))))) |
(+.f64 1 (fma.f64 (sin.f64 eps) (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) (*.f64 x (*.f64 x -1/2)))) |
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)) |
(fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) |
(fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)) |
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)) |
(fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) |
(fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)) |
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)) |
(fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) |
(fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)) |
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)) |
(fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) |
(fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)) |
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)) |
(fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) |
(fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)) |
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)) |
(fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) |
(fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)) |
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)) |
(fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) |
(fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)) |
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)) |
(fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) |
(fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)) |
(cos.f64 x) |
(+.f64 (cos.f64 x) (*.f64 eps (sin.f64 x))) |
(fma.f64 eps (sin.f64 x) (cos.f64 x)) |
(-.f64 (+.f64 (cos.f64 x) (*.f64 eps (sin.f64 x))) (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x)))) |
(+.f64 (cos.f64 x) (-.f64 (*.f64 eps (sin.f64 x)) (*.f64 1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3))))) |
(+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (-.f64 eps (*.f64 1/6 (pow.f64 eps 3))))) |
(fma.f64 (sin.f64 x) (+.f64 eps (*.f64 (pow.f64 eps 3) -1/6)) (cos.f64 x)) |
(fma.f64 (sin.f64 x) (-.f64 eps (*.f64 1/6 (pow.f64 eps 3))) (cos.f64 x)) |
(-.f64 (+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 5) (sin.f64 x))) (+.f64 (cos.f64 x) (*.f64 eps (sin.f64 x)))) (*.f64 1/6 (*.f64 (pow.f64 eps 3) (sin.f64 x)))) |
(+.f64 (fma.f64 1/120 (*.f64 (sin.f64 x) (pow.f64 eps 5)) (+.f64 (cos.f64 x) (*.f64 eps (sin.f64 x)))) (*.f64 -1/6 (*.f64 (sin.f64 x) (pow.f64 eps 3)))) |
(+.f64 (fma.f64 (*.f64 1/120 (pow.f64 eps 5)) (sin.f64 x) (cos.f64 x)) (*.f64 (sin.f64 x) (-.f64 eps (*.f64 1/6 (pow.f64 eps 3))))) |
(fma.f64 (sin.f64 x) (*.f64 1/120 (pow.f64 eps 5)) (fma.f64 (sin.f64 x) (+.f64 eps (*.f64 (pow.f64 eps 3) -1/6)) (cos.f64 x))) |
(+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 eps (fma.f64 1/120 (pow.f64 eps 5) (*.f64 (pow.f64 eps 3) -1/6))))) |
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)) |
(fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) |
(fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)) |
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)) |
(fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) |
(fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)) |
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)) |
(fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) |
(fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)) |
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)) |
(fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) |
(fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)) |
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)) |
(fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) |
(fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)) |
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)) |
(fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) |
(fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)) |
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)) |
(fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) |
(fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)) |
(+.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (cos.f64 x)) |
(fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) |
(fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)) |
14 alts after pruning (12 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 267 | 1 | 268 |
| Fresh | 2 | 11 | 13 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 1 | 1 |
| Total | 269 | 14 | 283 |
| Status | Error | Program |
|---|---|---|
| 32.7b | (*.f64 -2 (exp.f64 (log.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))) | |
| ✓ | 26.0b | (-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (cos.f64 x)) |
| 30.5b | (fma.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps) (*.f64 (cos.f64 x) (*.f64 eps (*.f64 eps -1/2)))) | |
| 26.3b | (-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (log.f64 (exp.f64 (cos.f64 x)))) | |
| 32.1b | (*.f64 -2 (log1p.f64 (expm1.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)))) | |
| 47.8b | (*.f64 -2 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (pow.f64 (sqrt.f64 (sin.f64 (*.f64 1/2 eps))) 2))) | |
| 41.0b | (fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (cos.f64 eps))) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))) | |
| 26.1b | (-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (*.f64 (sin.f64 x) (sin.f64 eps)))) (expm1.f64 (log1p.f64 (cos.f64 x)))) | |
| 33.5b | (fma.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) (cos.f64 eps)) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))) | |
| 36.0b | (*.f64 -2 (cbrt.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3))) | |
| 36.2b | (*.f64 -2 (pow.f64 (pow.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) 3) 1/3)) | |
| 26.1b | (-.f64 (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (log.f64 (pow.f64 (exp.f64 (sin.f64 x)) (sin.f64 eps))))) (cos.f64 x)) | |
| ✓ | 26.1b | (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (-.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (neg.f64 (cos.f64 x))))) |
| 38.0b | (*.f64 -2 (*.f64 (sin.f64 (*.f64 (+.f64 eps (-.f64 x x)) 1/2)) (log.f64 (exp.f64 (sin.f64 (*.f64 1/2 eps)))))) |
Compiled 5974 to 1869 computations (68.7% saved)
Total 0.3b remaining (59.1%)
Threshold costs 0.3b (59.1%)
Compiled 3622 to 1367 computations (62.3% saved)
| 2× | binary-search |
2 calls:
| 47.0ms | eps |
| 37.0ms | eps |
| Iters | Point | Range | ||||
|---|---|---|---|---|---|---|
0.0024 | ∈ [ | 6.02121023960212e-7 | , | 211.0874644471943 | ] | |
-0.0028 | ∈ [ | -0.006432066409629877 | , | -0.0003585107523554905 | ] | |
Compiled 3 to 2 computations (33.3% saved)
| 1× | egg-herbie |
| 11× | *-commutative_binary64 |
| 8× | +-commutative_binary64 |
| 7× | sub-neg_binary64 |
| 4× | neg-sub0_binary64 |
| 4× | neg-mul-1_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 38 | 94 |
| 1 | 61 | 94 |
| 2 | 72 | 94 |
| 3 | 78 | 94 |
| 4 | 80 | 94 |
| 1× | saturated |
| Inputs |
|---|
(if (<=.f64 eps -6456360425798343/2305843009213693952) (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (pow.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) 1))) (if (<=.f64 eps 5534023222112865/2305843009213693952) (+.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (-.f64 (*.f64 1/24 (*.f64 eps eps)) 1/2)) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps))) (-.f64 (fma.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x))) (cos.f64 x)))) |
| Outputs |
|---|
(if (<=.f64 eps -6456360425798343/2305843009213693952) (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (pow.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)) 1))) (if (<=.f64 eps 5534023222112865/2305843009213693952) (+.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (-.f64 (*.f64 1/24 (*.f64 eps eps)) 1/2)) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps))) (-.f64 (fma.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x))) (cos.f64 x)))) |
(if (<=.f64 eps -6456360425798343/2305843009213693952) (fma.f64 (cos.f64 x) (cos.f64 eps) (neg.f64 (fma.f64 (sin.f64 x) (sin.f64 eps) (cos.f64 x)))) (if (<=.f64 eps 5534023222112865/2305843009213693952) (+.f64 (*.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (+.f64 (*.f64 1/24 (*.f64 eps eps)) -1/2)) (*.f64 (sin.f64 x) (-.f64 (*.f64 1/6 (pow.f64 eps 3)) eps))) (-.f64 (fma.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)) (*.f64 (cos.f64 x) (cos.f64 eps))) (cos.f64 x)))) |
| 1× | fuel |
Compiled 364 to 239 computations (34.3% saved)
Loading profile data...