Time bar (total: 7.5s)
| 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 | 3551× | body | 1024 | valid |
| 1.6s | 1331× | body | 2048 | valid |
| 543.0ms | 1456× | body | 512 | valid |
| 182.0ms | 1335× | body | 128 | valid |
| 152.0ms | 581× | body | 256 | valid |
| 6.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 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 eps)) |
| Outputs |
|---|
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 eps)) |
(-.f64 (sin.f64 (+.f64 x eps)) (sin.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 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
| Outputs |
|---|
(-.f64 (sin.f64 (+.f64 x eps)) (sin.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 |
|---|---|---|
| ▶ | 36.5b | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
Compiled 27 to 18 computations (33.3% saved)
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (sin.f64 x) |
| ✓ | 0.9b | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
| ✓ | 1.3b | (sin.f64 (+.f64 x eps)) |
15 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 2.0ms | x | @ | 0 | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
| 1.0ms | eps | @ | 0 | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
| 1.0ms | eps | @ | -inf | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
| 1.0ms | eps | @ | inf | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
| 1.0ms | x | @ | 0 | (sin.f64 (+.f64 x eps)) |
| 1× | batch-egg-rewrite |
| 471× | fma-def_binary64 |
| 445× | log-prod_binary64 |
| 214× | fma-neg_binary64 |
| 179× | expm1-udef_binary64 |
| 179× | log1p-udef_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 20 |
| 1 | 173 | 20 |
| 2 | 2737 | 20 |
| 1× | node limit |
| Inputs |
|---|
(sin.f64 (+.f64 x eps)) |
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
(sin.f64 x) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 1) (*.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sin.f64 (+.f64 x eps)))) (cbrt.f64 (exp.f64 (sin.f64 (+.f64 x eps)))))) (log.f64 (cbrt.f64 (exp.f64 (sin.f64 (+.f64 x eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sin.f64 (+.f64 x eps))))) (log.f64 (sqrt.f64 (exp.f64 (sin.f64 (+.f64 x eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sin.f64 (+.f64 x eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 (exp.f64 (log1p.f64 (+.f64 x eps)))) (cos.f64 1)) (*.f64 (cos.f64 (exp.f64 (log1p.f64 (+.f64 x eps)))) (sin.f64 1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 (/.f64 (*.f64 x x) (-.f64 x eps))) (cos.f64 (/.f64 (*.f64 eps eps) (-.f64 x eps)))) (*.f64 (cos.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 (sin.f64 (+.f64 x eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 2) (cbrt.f64 (sin.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 3) (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 3)) (fma.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) (*.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (cos.f64 eps))) (*.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps)))) (sin.f64 (-.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sin.f64 (+.f64 x eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sin.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sin.f64 (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (exp.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sin.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sin.f64 (+.f64 x eps))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sin.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (cos.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)) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 x)) (*.f64 (sqrt.f64 (sin.f64 x)) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 eps) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 1 (*.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (cbrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps)))) (cbrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (*.f64 (sin.f64 x) (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (*.f64 (cos.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (*.f64 (sin.f64 x) (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (*.f64 (cos.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sin.f64 (+.f64 x eps)))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sin.f64 (+.f64 x eps)) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (sin.f64 (+.f64 x eps)) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (sin.f64 x)) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) (cbrt.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))) (log.f64 (cbrt.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))) (log.f64 (sqrt.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (sin.f64 (*.f64 (-.f64 (+.f64 x eps) x) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 (*.f64 (-.f64 (+.f64 x eps) x) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3)) (/.f64 1 (fma.f64 (sin.f64 x) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (pow.f64 (sin.f64 (+.f64 x eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2)) (/.f64 1 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 x))) (-.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sin.f64 (*.f64 (-.f64 (+.f64 x eps) x) 1/2))) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (sin.f64 x) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3)) (fma.f64 (sin.f64 x) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (pow.f64 (sin.f64 (+.f64 x eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2)) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3))) (neg.f64 (fma.f64 (sin.f64 x) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (pow.f64 (sin.f64 (+.f64 x eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2))) (neg.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (neg.f64 (sin.f64 x)) 3)) (+.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (-.f64 (*.f64 (neg.f64 (sin.f64 x)) (neg.f64 (sin.f64 x))) (*.f64 (sin.f64 (+.f64 x eps)) (neg.f64 (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (*.f64 (neg.f64 (sin.f64 x)) (neg.f64 (sin.f64 x)))) (-.f64 (sin.f64 (+.f64 x eps)) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (sin.f64 (+.f64 x eps)))) (exp.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (sin.f64 (+.f64 x eps))) (+.f64 1 (expm1.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (sin.f64 (+.f64 x eps)))) (+.f64 1 (expm1.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (sin.f64 (+.f64 x eps)))) (exp.f64 (neg.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (sin.f64 (+.f64 x eps))) (/.f64 1 (exp.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (sin.f64 (+.f64 x eps)))) (/.f64 1 (exp.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (neg.f64 (sin.f64 x))) (exp.f64 (sin.f64 (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (exp.f64 (sin.f64 x))) (exp.f64 (sin.f64 (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (neg.f64 (sin.f64 x))) (+.f64 1 (expm1.f64 (sin.f64 (+.f64 x eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (exp.f64 (sin.f64 x))) (+.f64 1 (expm1.f64 (sin.f64 (+.f64 x eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 (+.f64 x eps)) 1 (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 (+.f64 x eps)) 1 (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 x) (cos.f64 eps) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1 (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1 (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1 (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (sin.f64 (+.f64 x eps)) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (sin.f64 (+.f64 x eps)) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 (sin.f64 x)) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (neg.f64 (cbrt.f64 (sin.f64 x))) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (*.f64 (cbrt.f64 (sin.f64 x)) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 2) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 2) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 2) (cbrt.f64 (sin.f64 (+.f64 x eps))) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 2) (cbrt.f64 (sin.f64 (+.f64 x eps))) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 x)) (neg.f64 (sqrt.f64 (sin.f64 x))) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 x)) (*.f64 (sqrt.f64 (sin.f64 x)) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 (+.f64 x eps))) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 (+.f64 x eps))) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 2 (*.f64 (sin.f64 (*.f64 (-.f64 (+.f64 x eps) x) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 2 (*.f64 (sin.f64 (*.f64 (-.f64 (+.f64 x eps) x) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 2 (*.f64 (sin.f64 (*.f64 (-.f64 (+.f64 x eps) x) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 (*.f64 (-.f64 (+.f64 x eps) x) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2 (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 (*.f64 (-.f64 (+.f64 x eps) x) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2 (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 (*.f64 (-.f64 (+.f64 x eps) x) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2 (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 eps) (sin.f64 x) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3)) (/.f64 1 (fma.f64 (sin.f64 x) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (pow.f64 (sin.f64 (+.f64 x eps)) 2))) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3)) (/.f64 1 (fma.f64 (sin.f64 x) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (pow.f64 (sin.f64 (+.f64 x eps)) 2))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3)) (/.f64 1 (fma.f64 (sin.f64 x) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (pow.f64 (sin.f64 (+.f64 x eps)) 2))) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2)) (/.f64 1 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2)) (/.f64 1 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2)) (/.f64 1 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (neg.f64 (sin.f64 x))) (cbrt.f64 (neg.f64 (sin.f64 x)))) (cbrt.f64 (neg.f64 (sin.f64 x))) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (neg.f64 (sin.f64 x))) (sqrt.f64 (neg.f64 (sin.f64 x))) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (sin.f64 x))) (sqrt.f64 (sin.f64 x)) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (sin.f64 x) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 x))) (-.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 x))) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 x))) (-.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 x))) (-.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 x))) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2)) (cbrt.f64 (sin.f64 x)) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 2 (sin.f64 (*.f64 (-.f64 (+.f64 x eps) x) 1/2))) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 2 (sin.f64 (*.f64 (-.f64 (+.f64 x eps) x) 1/2))) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 2 (sin.f64 (*.f64 (-.f64 (+.f64 x eps) x) 1/2))) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sin.f64 x))) (cbrt.f64 (exp.f64 (sin.f64 x))))) (log.f64 (cbrt.f64 (exp.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sin.f64 x)))) (log.f64 (sqrt.f64 (exp.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sin.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 (exp.f64 (log1p.f64 x))) (cos.f64 1)) (*.f64 (cos.f64 (exp.f64 (log1p.f64 x))) (sin.f64 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sin.f64 x)) (pow.f64 (cbrt.f64 (sin.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (cbrt.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 x)) (sqrt.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sin.f64 x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sin.f64 x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (sin.f64 x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (sin.f64 x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (sin.f64 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (sin.f64 x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sin.f64 x))))))) |
| 1× | egg-herbie |
| 831× | fma-neg_binary64 |
| 328× | cancel-sign-sub-inv_binary64 |
| 287× | fma-def_binary64 |
| 282× | sub-neg_binary64 |
| 271× | distribute-rgt-neg-in_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 66 | 654 |
| 1 | 214 | 639 |
| 2 | 683 | 617 |
| 3 | 2629 | 615 |
| 1× | node limit |
| Inputs |
|---|
(sin.f64 eps) |
(+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (*.f64 1/2 (*.f64 (sin.f64 eps) (pow.f64 x 2)))) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3))) (*.f64 1/2 (*.f64 (sin.f64 eps) (pow.f64 x 2))))) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 x) |
(+.f64 (*.f64 eps (cos.f64 x)) (sin.f64 x)) |
(-.f64 (+.f64 (*.f64 eps (cos.f64 x)) (sin.f64 x)) (*.f64 1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(-.f64 (+.f64 (*.f64 eps (cos.f64 x)) (sin.f64 x)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 eps) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) x) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (+.f64 x (*.f64 1/2 (*.f64 (sin.f64 eps) (pow.f64 x 2))))) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (+.f64 (sin.f64 eps) (*.f64 1/6 (pow.f64 x 3)))) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3))) (+.f64 x (*.f64 1/2 (*.f64 (sin.f64 eps) (pow.f64 x 2)))))) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(*.f64 eps (cos.f64 x)) |
(-.f64 (*.f64 eps (cos.f64 x)) (*.f64 1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(-.f64 (*.f64 eps (cos.f64 x)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))) |
(-.f64 (+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 eps (cos.f64 x))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
x |
(-.f64 x (*.f64 1/6 (pow.f64 x 3))) |
(-.f64 (+.f64 (*.f64 1/120 (pow.f64 x 5)) x) (*.f64 1/6 (pow.f64 x 3))) |
(-.f64 (+.f64 (*.f64 1/120 (pow.f64 x 5)) x) (+.f64 (*.f64 1/5040 (pow.f64 x 7)) (*.f64 1/6 (pow.f64 x 3)))) |
| Outputs |
|---|
(sin.f64 eps) |
(+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) |
(fma.f64 (cos.f64 eps) x (sin.f64 eps)) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (*.f64 1/2 (*.f64 (sin.f64 eps) (pow.f64 x 2)))) |
(-.f64 (fma.f64 (cos.f64 eps) x (sin.f64 eps)) (*.f64 (*.f64 1/2 (sin.f64 eps)) (*.f64 x x))) |
(fma.f64 (cos.f64 eps) x (+.f64 (sin.f64 eps) (*.f64 (*.f64 x (*.f64 x (sin.f64 eps))) -1/2))) |
(fma.f64 (*.f64 (sin.f64 eps) (*.f64 x x)) -1/2 (fma.f64 (cos.f64 eps) x (sin.f64 eps))) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3))) (*.f64 1/2 (*.f64 (sin.f64 eps) (pow.f64 x 2))))) |
(-.f64 (fma.f64 (cos.f64 eps) x (sin.f64 eps)) (fma.f64 1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3)) (*.f64 (*.f64 1/2 (sin.f64 eps)) (*.f64 x x)))) |
(-.f64 (fma.f64 (cos.f64 eps) x (sin.f64 eps)) (fma.f64 1/2 (*.f64 x (*.f64 x (sin.f64 eps))) (*.f64 (cos.f64 eps) (*.f64 1/6 (pow.f64 x 3))))) |
(+.f64 (*.f64 (+.f64 (*.f64 (*.f64 x x) -1/2) 1) (sin.f64 eps)) (*.f64 (cos.f64 eps) (fma.f64 (pow.f64 x 3) -1/6 x))) |
(+.f64 (sin.f64 eps) (fma.f64 (cos.f64 eps) (fma.f64 (pow.f64 x 3) -1/6 x) (*.f64 (sin.f64 eps) (*.f64 (*.f64 x x) -1/2)))) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 x) |
(+.f64 (*.f64 eps (cos.f64 x)) (sin.f64 x)) |
(fma.f64 eps (cos.f64 x) (sin.f64 x)) |
(-.f64 (+.f64 (*.f64 eps (cos.f64 x)) (sin.f64 x)) (*.f64 1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(+.f64 (fma.f64 eps (cos.f64 x) (sin.f64 x)) (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps)))) |
(-.f64 (fma.f64 eps (cos.f64 x) (sin.f64 x)) (*.f64 1/2 (*.f64 (sin.f64 x) (*.f64 eps eps)))) |
(fma.f64 (*.f64 (sin.f64 x) (*.f64 eps eps)) -1/2 (fma.f64 eps (cos.f64 x) (sin.f64 x))) |
(fma.f64 (*.f64 eps (*.f64 eps (sin.f64 x))) -1/2 (fma.f64 eps (cos.f64 x) (sin.f64 x))) |
(-.f64 (+.f64 (*.f64 eps (cos.f64 x)) (sin.f64 x)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))) |
(-.f64 (fma.f64 eps (cos.f64 x) (sin.f64 x)) (fma.f64 1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 1/2 (*.f64 (sin.f64 x) (*.f64 eps eps))))) |
(+.f64 (sin.f64 x) (+.f64 (*.f64 (cos.f64 x) (-.f64 eps (*.f64 1/6 (pow.f64 eps 3)))) (*.f64 (*.f64 (sin.f64 x) (*.f64 eps eps)) -1/2))) |
(+.f64 (sin.f64 x) (fma.f64 (cos.f64 x) (+.f64 eps (*.f64 (pow.f64 eps 3) -1/6)) (*.f64 eps (*.f64 (*.f64 eps (sin.f64 x)) -1/2)))) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 eps) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) x) |
(-.f64 (fma.f64 (cos.f64 eps) x (sin.f64 eps)) x) |
(fma.f64 (cos.f64 eps) x (-.f64 (sin.f64 eps) x)) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (+.f64 x (*.f64 1/2 (*.f64 (sin.f64 eps) (pow.f64 x 2))))) |
(-.f64 (fma.f64 (cos.f64 eps) x (sin.f64 eps)) (+.f64 x (*.f64 (*.f64 1/2 (sin.f64 eps)) (*.f64 x x)))) |
(-.f64 (fma.f64 (cos.f64 eps) x (sin.f64 eps)) (fma.f64 1/2 (*.f64 x (*.f64 x (sin.f64 eps))) x)) |
(-.f64 (fma.f64 (cos.f64 eps) x (sin.f64 eps)) (fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x 1/2)) x)) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (+.f64 (sin.f64 eps) (*.f64 1/6 (pow.f64 x 3)))) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3))) (+.f64 x (*.f64 1/2 (*.f64 (sin.f64 eps) (pow.f64 x 2)))))) |
(-.f64 (+.f64 (fma.f64 (cos.f64 eps) x (sin.f64 eps)) (*.f64 1/6 (pow.f64 x 3))) (fma.f64 1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3)) (+.f64 x (*.f64 (*.f64 1/2 (sin.f64 eps)) (*.f64 x x))))) |
(-.f64 (fma.f64 (cos.f64 eps) x (fma.f64 1/6 (pow.f64 x 3) (sin.f64 eps))) (fma.f64 1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3)) (fma.f64 1/2 (*.f64 x (*.f64 x (sin.f64 eps))) x))) |
(-.f64 (+.f64 (fma.f64 1/6 (pow.f64 x 3) (sin.f64 eps)) (*.f64 (cos.f64 eps) (fma.f64 (pow.f64 x 3) -1/6 x))) (fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x 1/2)) x)) |
(+.f64 (fma.f64 1/6 (pow.f64 x 3) (sin.f64 eps)) (-.f64 (*.f64 (cos.f64 eps) (fma.f64 (pow.f64 x 3) -1/6 x)) (fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x 1/2)) x))) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(*.f64 eps (cos.f64 x)) |
(-.f64 (*.f64 eps (cos.f64 x)) (*.f64 1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(+.f64 (*.f64 eps (cos.f64 x)) (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps)))) |
(fma.f64 eps (cos.f64 x) (*.f64 (*.f64 (sin.f64 x) (*.f64 eps eps)) -1/2)) |
(fma.f64 eps (cos.f64 x) (*.f64 eps (*.f64 (*.f64 eps (sin.f64 x)) -1/2))) |
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 eps (sin.f64 x))))) |
(-.f64 (*.f64 eps (cos.f64 x)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))) |
(-.f64 (*.f64 eps (cos.f64 x)) (fma.f64 1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 1/2 (*.f64 (sin.f64 x) (*.f64 eps eps))))) |
(+.f64 (*.f64 (cos.f64 x) (-.f64 eps (*.f64 1/6 (pow.f64 eps 3)))) (*.f64 (*.f64 (sin.f64 x) (*.f64 eps eps)) -1/2)) |
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 (pow.f64 eps 3) -1/6)) (*.f64 eps (*.f64 (*.f64 eps (sin.f64 x)) -1/2))) |
(-.f64 (+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 eps (cos.f64 x))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))) |
(-.f64 (fma.f64 1/24 (*.f64 (sin.f64 x) (pow.f64 eps 4)) (*.f64 eps (cos.f64 x))) (fma.f64 1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 1/2 (*.f64 (sin.f64 x) (*.f64 eps eps))))) |
(fma.f64 1/24 (*.f64 (sin.f64 x) (pow.f64 eps 4)) (+.f64 (*.f64 (cos.f64 x) (-.f64 eps (*.f64 1/6 (pow.f64 eps 3)))) (*.f64 (*.f64 (sin.f64 x) (*.f64 eps eps)) -1/2))) |
(fma.f64 (sin.f64 x) (*.f64 1/24 (pow.f64 eps 4)) (fma.f64 (cos.f64 x) (+.f64 eps (*.f64 (pow.f64 eps 3) -1/6)) (*.f64 eps (*.f64 (*.f64 eps (sin.f64 x)) -1/2)))) |
(+.f64 (*.f64 (cos.f64 x) (+.f64 eps (*.f64 (pow.f64 eps 3) -1/6))) (*.f64 (sin.f64 x) (+.f64 (*.f64 eps (*.f64 eps -1/2)) (*.f64 1/24 (pow.f64 eps 4))))) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
x |
(-.f64 x (*.f64 1/6 (pow.f64 x 3))) |
(+.f64 x (*.f64 -1/6 (pow.f64 x 3))) |
(+.f64 x (*.f64 (pow.f64 x 3) -1/6)) |
(fma.f64 (pow.f64 x 3) -1/6 x) |
(-.f64 (+.f64 (*.f64 1/120 (pow.f64 x 5)) x) (*.f64 1/6 (pow.f64 x 3))) |
(-.f64 (fma.f64 1/120 (pow.f64 x 5) x) (*.f64 1/6 (pow.f64 x 3))) |
(+.f64 (fma.f64 1/120 (pow.f64 x 5) x) (*.f64 (pow.f64 x 3) -1/6)) |
(fma.f64 (pow.f64 x 3) -1/6 (fma.f64 1/120 (pow.f64 x 5) x)) |
(-.f64 (+.f64 (*.f64 1/120 (pow.f64 x 5)) x) (+.f64 (*.f64 1/5040 (pow.f64 x 7)) (*.f64 1/6 (pow.f64 x 3)))) |
(-.f64 (fma.f64 1/120 (pow.f64 x 5) x) (fma.f64 1/5040 (pow.f64 x 7) (*.f64 1/6 (pow.f64 x 3)))) |
(-.f64 (fma.f64 1/120 (pow.f64 x 5) x) (fma.f64 1/6 (pow.f64 x 3) (*.f64 1/5040 (pow.f64 x 7)))) |
(+.f64 (*.f64 (pow.f64 x 7) -1/5040) (fma.f64 (pow.f64 x 3) -1/6 (fma.f64 1/120 (pow.f64 x 5) x))) |
(+.f64 (fma.f64 (pow.f64 x 3) -1/6 x) (fma.f64 1/120 (pow.f64 x 5) (*.f64 (pow.f64 x 7) -1/5040))) |
10 alts after pruning (10 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 199 | 10 | 209 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 200 | 10 | 210 |
| Status | Error | Program |
|---|---|---|
| ▶ | 21.8b | (-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x)) |
| 43.4b | (fma.f64 (sqrt.f64 (sin.f64 x)) (*.f64 (sqrt.f64 (sin.f64 x)) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) | |
| 33.4b | (fma.f64 (cos.f64 x) (+.f64 eps (*.f64 (pow.f64 eps 3) -1/6)) (*.f64 eps (*.f64 (*.f64 eps (sin.f64 x)) -1/2))) | |
| 21.8b | (fma.f64 (sin.f64 x) (cos.f64 eps) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) | |
| 43.7b | (fma.f64 (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) | |
| 21.8b | (-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x)) | |
| 22.4b | (-.f64 (fma.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (*.f64 (cbrt.f64 (sin.f64 x)) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x)) | |
| 22.4b | (fma.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (*.f64 (cbrt.f64 (sin.f64 x)) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) | |
| 21.8b | (-.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x)) | |
| 28.2b | (-.f64 (log.f64 (*.f64 (exp.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (exp.f64 (*.f64 (sin.f64 x) (cos.f64 eps))))) (sin.f64 x)) |
Compiled 3941 to 1287 computations (67.3% saved)
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (sin.f64 x) | |
| ✓ | 0.1b | (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) |
| ✓ | 0.1b | (*.f64 (cos.f64 x) (sin.f64 eps)) |
| ✓ | 2.8b | (-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x)) |
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 5.0ms | eps | @ | 0 | (-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x)) |
| 4.0ms | eps | @ | -inf | (-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x)) |
| 3.0ms | eps | @ | inf | (-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x)) |
| 3.0ms | x | @ | inf | (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) |
| 3.0ms | x | @ | inf | (-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x)) |
| 1× | batch-egg-rewrite |
| 710× | prod-diff_binary64 |
| 281× | fma-def_binary64 |
| 198× | expm1-udef_binary64 |
| 198× | log1p-udef_binary64 |
| 151× | fma-neg_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 45 |
| 1 | 207 | 45 |
| 2 | 2728 | 45 |
| 1× | node limit |
| Inputs |
|---|
(-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x)) |
(*.f64 (cos.f64 x) (sin.f64 eps)) |
(fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))) (fma.f64 -1 (sin.f64 x) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2)) (cbrt.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (sin.f64 x)) (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))) (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))) 2) (cbrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))) (sqrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) 3) (pow.f64 (sin.f64 x) 3)) (/.f64 1 (fma.f64 (sin.f64 x) (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) (pow.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) 2) (pow.f64 (sin.f64 x) 2)) (/.f64 1 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps)))) (sqrt.f64 (sin.f64 x))) (-.f64 (sqrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps)))) (sqrt.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (sin.f64 x) (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) (pow.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) 2)) (-.f64 (pow.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) 3) (pow.f64 (sin.f64 x) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) (-.f64 (pow.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) 2) (pow.f64 (sin.f64 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) 3) (pow.f64 (sin.f64 x) 3)) (fma.f64 (sin.f64 x) (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) (pow.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) 2) (pow.f64 (sin.f64 x) 2)) (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) 3) (pow.f64 (sin.f64 x) 3))) (neg.f64 (fma.f64 (sin.f64 x) (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) (pow.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) 2) (pow.f64 (sin.f64 x) 2))) (neg.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) 3) (pow.f64 (neg.f64 (sin.f64 x)) 3)) (+.f64 (pow.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) 2) (-.f64 (*.f64 (neg.f64 (sin.f64 x)) (neg.f64 (sin.f64 x))) (*.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) (neg.f64 (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) 2) (*.f64 (neg.f64 (sin.f64 x)) (neg.f64 (sin.f64 x)))) (-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 eps) (sin.f64 x) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) 1 (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) 1 (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))) 1 (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))) 1 (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))) 1 (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (sin.f64 x) (cos.f64 eps)) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 (sin.f64 x)) (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps)))) (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps)))) 2) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps)))) (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps)))) 2) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps)))) 2) (cbrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps)))) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps)))) 2) (cbrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps)))) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (neg.f64 (cbrt.f64 (sin.f64 x))) (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.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)) (cos.f64 eps)) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))) (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))) 2) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))) (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))) 2) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))) (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))) 2) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))) 2) (cbrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))) 2) (cbrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))) 2) (cbrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps)))) (sqrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps)))) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps)))) (sqrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps)))) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 x)) (neg.f64 (sqrt.f64 (sin.f64 x))) (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 x)) (*.f64 (sqrt.f64 (sin.f64 x)) (cos.f64 eps)) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))) (sqrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))) (sqrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))) (sqrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) 3) (pow.f64 (sin.f64 x) 3)) (/.f64 1 (fma.f64 (sin.f64 x) (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) (pow.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) 2))) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) 3) (pow.f64 (sin.f64 x) 3)) (/.f64 1 (fma.f64 (sin.f64 x) (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) (pow.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) 2))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) 3) (pow.f64 (sin.f64 x) 3)) (/.f64 1 (fma.f64 (sin.f64 x) (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) (pow.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) 2))) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) 2) (pow.f64 (sin.f64 x) 2)) (/.f64 1 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)))) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) 2) (pow.f64 (sin.f64 x) 2)) (/.f64 1 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) 2) (pow.f64 (sin.f64 x) 2)) (/.f64 1 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)))) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (neg.f64 (sin.f64 x))) (cbrt.f64 (neg.f64 (sin.f64 x)))) (cbrt.f64 (neg.f64 (sin.f64 x))) (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (neg.f64 (sin.f64 x))) (sqrt.f64 (neg.f64 (sin.f64 x))) (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (sin.f64 x))) (sqrt.f64 (sin.f64 x)) (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (sin.f64 x) (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps)))) (sqrt.f64 (sin.f64 x))) (-.f64 (sqrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps)))) (sqrt.f64 (sin.f64 x))) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps)))) (sqrt.f64 (sin.f64 x))) (-.f64 (sqrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps)))) (sqrt.f64 (sin.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps)))) (sqrt.f64 (sin.f64 x))) (-.f64 (sqrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps)))) (sqrt.f64 (sin.f64 x))) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (sin.f64 x)) (sqrt.f64 (cos.f64 eps))) (*.f64 (sqrt.f64 (sin.f64 x)) (sqrt.f64 (cos.f64 eps))) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2)) (cbrt.f64 (sin.f64 x)) (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 x) (cbrt.f64 (pow.f64 (cos.f64 eps) 2))) (cbrt.f64 (cos.f64 eps)) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 x) (sqrt.f64 (cos.f64 eps))) (sqrt.f64 (cos.f64 eps)) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 x) (sin.f64 eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (sin.f64 (-.f64 eps x)) (sin.f64 (+.f64 eps x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (cos.f64 x)) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (cos.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 (cos.f64 x) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cos.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cos.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cos.f64 x) (sin.f64 eps)))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 1) (*.f64 (cos.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps)))) (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps)))) 2) (cbrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps)))) (sqrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 3) (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 3)) (fma.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2) (*.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (cos.f64 eps))) (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2)) (-.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))))))))) |
| 1× | egg-herbie |
| 380× | fma-def_binary64 |
| 373× | distribute-rgt-neg-in_binary64 |
| 372× | cancel-sign-sub-inv_binary64 |
| 360× | distribute-lft-neg-in_binary64 |
| 342× | sub-neg_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 86 | 1178 |
| 1 | 274 | 1147 |
| 2 | 886 | 1078 |
| 3 | 3448 | 1072 |
| 1× | node limit |
| Inputs |
|---|
(sin.f64 eps) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) x) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (+.f64 x (*.f64 1/2 (*.f64 (sin.f64 eps) (pow.f64 x 2))))) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (+.f64 (sin.f64 eps) (*.f64 1/6 (pow.f64 x 3)))) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3))) (+.f64 x (*.f64 1/2 (*.f64 (sin.f64 eps) (pow.f64 x 2)))))) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(*.f64 eps (cos.f64 x)) |
(-.f64 (*.f64 eps (cos.f64 x)) (*.f64 1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(-.f64 (*.f64 eps (cos.f64 x)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))) |
(-.f64 (+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 eps (cos.f64 x))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) (sin.f64 x)) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) (sin.f64 x)) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) (sin.f64 x)) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) (sin.f64 x)) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) (sin.f64 x)) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) (sin.f64 x)) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) (sin.f64 x)) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) (sin.f64 x)) |
(sin.f64 eps) |
(-.f64 (sin.f64 eps) (*.f64 1/2 (*.f64 (sin.f64 eps) (pow.f64 x 2)))) |
(-.f64 (+.f64 (*.f64 1/24 (*.f64 (sin.f64 eps) (pow.f64 x 4))) (sin.f64 eps)) (*.f64 1/2 (*.f64 (sin.f64 eps) (pow.f64 x 2)))) |
(-.f64 (+.f64 (*.f64 1/24 (*.f64 (sin.f64 eps) (pow.f64 x 4))) (sin.f64 eps)) (+.f64 (*.f64 1/720 (*.f64 (sin.f64 eps) (pow.f64 x 6))) (*.f64 1/2 (*.f64 (sin.f64 eps) (pow.f64 x 2))))) |
(*.f64 (sin.f64 eps) (cos.f64 x)) |
(*.f64 (sin.f64 eps) (cos.f64 x)) |
(*.f64 (sin.f64 eps) (cos.f64 x)) |
(*.f64 (sin.f64 eps) (cos.f64 x)) |
(*.f64 (sin.f64 eps) (cos.f64 x)) |
(*.f64 (sin.f64 eps) (cos.f64 x)) |
(*.f64 (sin.f64 eps) (cos.f64 x)) |
(*.f64 (sin.f64 eps) (cos.f64 x)) |
(*.f64 eps (cos.f64 x)) |
(-.f64 (*.f64 eps (cos.f64 x)) (*.f64 1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x)))) |
(-.f64 (+.f64 (*.f64 eps (cos.f64 x)) (*.f64 1/120 (*.f64 (pow.f64 eps 5) (cos.f64 x)))) (*.f64 1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x)))) |
(-.f64 (+.f64 (*.f64 eps (cos.f64 x)) (*.f64 1/120 (*.f64 (pow.f64 eps 5) (cos.f64 x)))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 1/5040 (*.f64 (pow.f64 eps 7) (cos.f64 x))))) |
(sin.f64 eps) |
(+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (*.f64 1/2 (*.f64 (sin.f64 eps) (pow.f64 x 2)))) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3))) (*.f64 1/2 (*.f64 (sin.f64 eps) (pow.f64 x 2))))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps))) |
(+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps))) |
(+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps))) |
(+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps))) |
(sin.f64 x) |
(+.f64 (*.f64 eps (cos.f64 x)) (sin.f64 x)) |
(-.f64 (+.f64 (*.f64 eps (cos.f64 x)) (sin.f64 x)) (*.f64 1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(-.f64 (+.f64 (*.f64 eps (cos.f64 x)) (sin.f64 x)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))) |
(+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) |
(+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) |
(+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) |
(+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) |
(+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) |
(+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) |
(+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) |
(+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) |
| Outputs |
|---|
(sin.f64 eps) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) x) |
(-.f64 (fma.f64 (cos.f64 eps) x (sin.f64 eps)) x) |
(fma.f64 (cos.f64 eps) x (-.f64 (sin.f64 eps) x)) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (+.f64 x (*.f64 1/2 (*.f64 (sin.f64 eps) (pow.f64 x 2))))) |
(-.f64 (-.f64 (fma.f64 (cos.f64 eps) x (sin.f64 eps)) x) (*.f64 1/2 (*.f64 (sin.f64 eps) (*.f64 x x)))) |
(-.f64 (fma.f64 (cos.f64 eps) x (sin.f64 eps)) (fma.f64 1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) x)) |
(-.f64 (fma.f64 (cos.f64 eps) x (sin.f64 eps)) (fma.f64 (*.f64 (sin.f64 eps) (*.f64 1/2 x)) x x)) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (+.f64 (sin.f64 eps) (*.f64 1/6 (pow.f64 x 3)))) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3))) (+.f64 x (*.f64 1/2 (*.f64 (sin.f64 eps) (pow.f64 x 2)))))) |
(-.f64 (+.f64 (fma.f64 (cos.f64 eps) x (sin.f64 eps)) (*.f64 1/6 (pow.f64 x 3))) (fma.f64 1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3)) (+.f64 x (*.f64 1/2 (*.f64 (sin.f64 eps) (*.f64 x x)))))) |
(-.f64 (fma.f64 (cos.f64 eps) x (fma.f64 1/6 (pow.f64 x 3) (sin.f64 eps))) (fma.f64 1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3)) (fma.f64 1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) x))) |
(+.f64 (fma.f64 (cos.f64 eps) x (sin.f64 eps)) (-.f64 (*.f64 (pow.f64 x 3) (-.f64 1/6 (*.f64 (cos.f64 eps) 1/6))) (fma.f64 (*.f64 (sin.f64 eps) (*.f64 1/2 x)) x x))) |
(+.f64 (fma.f64 (cos.f64 eps) x (sin.f64 eps)) (-.f64 (*.f64 (pow.f64 x 3) (+.f64 1/6 (*.f64 (cos.f64 eps) -1/6))) (fma.f64 (*.f64 (sin.f64 eps) (*.f64 1/2 x)) x x))) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(*.f64 eps (cos.f64 x)) |
(-.f64 (*.f64 eps (cos.f64 x)) (*.f64 1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(+.f64 (*.f64 eps (cos.f64 x)) (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps)))) |
(fma.f64 eps (cos.f64 x) (*.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 eps eps))) |
(fma.f64 eps (cos.f64 x) (*.f64 eps (*.f64 (*.f64 eps (sin.f64 x)) -1/2))) |
(*.f64 eps (-.f64 (cos.f64 x) (*.f64 1/2 (*.f64 eps (sin.f64 x))))) |
(-.f64 (*.f64 eps (cos.f64 x)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))) |
(-.f64 (*.f64 eps (cos.f64 x)) (fma.f64 1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 1/2 (*.f64 (sin.f64 x) (*.f64 eps eps))))) |
(+.f64 (*.f64 (cos.f64 x) (-.f64 eps (*.f64 1/6 (pow.f64 eps 3)))) (*.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 eps eps))) |
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 (pow.f64 eps 3) -1/6)) (*.f64 eps (*.f64 (*.f64 eps (sin.f64 x)) -1/2))) |
(-.f64 (+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 eps (cos.f64 x))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))) |
(-.f64 (fma.f64 1/24 (*.f64 (sin.f64 x) (pow.f64 eps 4)) (*.f64 eps (cos.f64 x))) (fma.f64 1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 1/2 (*.f64 (sin.f64 x) (*.f64 eps eps))))) |
(fma.f64 1/24 (*.f64 (sin.f64 x) (pow.f64 eps 4)) (+.f64 (*.f64 (cos.f64 x) (-.f64 eps (*.f64 1/6 (pow.f64 eps 3)))) (*.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 eps eps)))) |
(fma.f64 (sin.f64 x) (*.f64 1/24 (pow.f64 eps 4)) (fma.f64 (cos.f64 x) (+.f64 eps (*.f64 (pow.f64 eps 3) -1/6)) (*.f64 eps (*.f64 (*.f64 eps (sin.f64 x)) -1/2)))) |
(-.f64 (*.f64 (cos.f64 x) (+.f64 eps (*.f64 (pow.f64 eps 3) -1/6))) (*.f64 (*.f64 eps (*.f64 eps (sin.f64 x))) (-.f64 1/2 (*.f64 1/24 (*.f64 eps eps))))) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(sin.f64 eps) |
(-.f64 (sin.f64 eps) (*.f64 1/2 (*.f64 (sin.f64 eps) (pow.f64 x 2)))) |
(+.f64 (sin.f64 eps) (*.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)))) |
(+.f64 (sin.f64 eps) (*.f64 (*.f64 (sin.f64 eps) (*.f64 x x)) -1/2)) |
(*.f64 (+.f64 (*.f64 (*.f64 x x) -1/2) 1) (sin.f64 eps)) |
(fma.f64 (*.f64 (sin.f64 eps) -1/2) (*.f64 x x) (sin.f64 eps)) |
(-.f64 (+.f64 (*.f64 1/24 (*.f64 (sin.f64 eps) (pow.f64 x 4))) (sin.f64 eps)) (*.f64 1/2 (*.f64 (sin.f64 eps) (pow.f64 x 2)))) |
(+.f64 (fma.f64 1/24 (*.f64 (sin.f64 eps) (pow.f64 x 4)) (sin.f64 eps)) (*.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)))) |
(+.f64 (fma.f64 1/24 (*.f64 (sin.f64 eps) (pow.f64 x 4)) (sin.f64 eps)) (*.f64 (*.f64 (sin.f64 eps) (*.f64 x x)) -1/2)) |
(+.f64 (sin.f64 eps) (*.f64 (sin.f64 eps) (+.f64 (*.f64 1/24 (pow.f64 x 4)) (*.f64 (*.f64 x x) -1/2)))) |
(*.f64 (sin.f64 eps) (-.f64 (+.f64 (*.f64 1/24 (pow.f64 x 4)) 1) (*.f64 x (*.f64 x 1/2)))) |
(-.f64 (+.f64 (*.f64 1/24 (*.f64 (sin.f64 eps) (pow.f64 x 4))) (sin.f64 eps)) (+.f64 (*.f64 1/720 (*.f64 (sin.f64 eps) (pow.f64 x 6))) (*.f64 1/2 (*.f64 (sin.f64 eps) (pow.f64 x 2))))) |
(-.f64 (fma.f64 1/24 (*.f64 (sin.f64 eps) (pow.f64 x 4)) (sin.f64 eps)) (fma.f64 1/720 (*.f64 (sin.f64 eps) (pow.f64 x 6)) (*.f64 1/2 (*.f64 (sin.f64 eps) (*.f64 x x))))) |
(-.f64 (fma.f64 1/24 (*.f64 (sin.f64 eps) (pow.f64 x 4)) (sin.f64 eps)) (fma.f64 1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (*.f64 (sin.f64 eps) (*.f64 (pow.f64 x 6) 1/720)))) |
(-.f64 (fma.f64 (sin.f64 eps) (*.f64 1/24 (pow.f64 x 4)) (sin.f64 eps)) (*.f64 (sin.f64 eps) (+.f64 (*.f64 x (*.f64 x 1/2)) (*.f64 1/720 (pow.f64 x 6))))) |
(fma.f64 (sin.f64 eps) (*.f64 1/24 (pow.f64 x 4)) (*.f64 (sin.f64 eps) (-.f64 (+.f64 (*.f64 (*.f64 x x) -1/2) 1) (*.f64 1/720 (pow.f64 x 6))))) |
(*.f64 (sin.f64 eps) (cos.f64 x)) |
(*.f64 (sin.f64 eps) (cos.f64 x)) |
(*.f64 (sin.f64 eps) (cos.f64 x)) |
(*.f64 (sin.f64 eps) (cos.f64 x)) |
(*.f64 (sin.f64 eps) (cos.f64 x)) |
(*.f64 (sin.f64 eps) (cos.f64 x)) |
(*.f64 (sin.f64 eps) (cos.f64 x)) |
(*.f64 (sin.f64 eps) (cos.f64 x)) |
(*.f64 eps (cos.f64 x)) |
(-.f64 (*.f64 eps (cos.f64 x)) (*.f64 1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x)))) |
(+.f64 (*.f64 eps (cos.f64 x)) (*.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)))) |
(*.f64 (cos.f64 x) (-.f64 eps (*.f64 1/6 (pow.f64 eps 3)))) |
(*.f64 (cos.f64 x) (+.f64 eps (*.f64 (pow.f64 eps 3) -1/6))) |
(-.f64 (+.f64 (*.f64 eps (cos.f64 x)) (*.f64 1/120 (*.f64 (pow.f64 eps 5) (cos.f64 x)))) (*.f64 1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x)))) |
(+.f64 (fma.f64 eps (cos.f64 x) (*.f64 1/120 (*.f64 (cos.f64 x) (pow.f64 eps 5)))) (*.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)))) |
(fma.f64 eps (cos.f64 x) (*.f64 (cos.f64 x) (-.f64 (*.f64 1/120 (pow.f64 eps 5)) (*.f64 1/6 (pow.f64 eps 3))))) |
(*.f64 (cos.f64 x) (-.f64 (fma.f64 1/120 (pow.f64 eps 5) eps) (*.f64 1/6 (pow.f64 eps 3)))) |
(*.f64 (cos.f64 x) (+.f64 eps (fma.f64 1/120 (pow.f64 eps 5) (*.f64 (pow.f64 eps 3) -1/6)))) |
(-.f64 (+.f64 (*.f64 eps (cos.f64 x)) (*.f64 1/120 (*.f64 (pow.f64 eps 5) (cos.f64 x)))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 1/5040 (*.f64 (pow.f64 eps 7) (cos.f64 x))))) |
(-.f64 (fma.f64 eps (cos.f64 x) (*.f64 1/120 (*.f64 (cos.f64 x) (pow.f64 eps 5)))) (fma.f64 1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 1/5040 (*.f64 (cos.f64 x) (pow.f64 eps 7))))) |
(-.f64 (*.f64 (cos.f64 x) (+.f64 eps (*.f64 1/120 (pow.f64 eps 5)))) (*.f64 (cos.f64 x) (+.f64 (*.f64 1/6 (pow.f64 eps 3)) (*.f64 1/5040 (pow.f64 eps 7))))) |
(*.f64 (cos.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))))) |
(sin.f64 eps) |
(+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) |
(fma.f64 (cos.f64 eps) x (sin.f64 eps)) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (*.f64 1/2 (*.f64 (sin.f64 eps) (pow.f64 x 2)))) |
(+.f64 (fma.f64 (cos.f64 eps) x (sin.f64 eps)) (*.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)))) |
(+.f64 (fma.f64 (cos.f64 eps) x (sin.f64 eps)) (*.f64 (*.f64 (sin.f64 eps) (*.f64 x x)) -1/2)) |
(fma.f64 (cos.f64 eps) x (*.f64 (+.f64 (*.f64 (*.f64 x x) -1/2) 1) (sin.f64 eps))) |
(fma.f64 (cos.f64 eps) x (fma.f64 (*.f64 (sin.f64 eps) -1/2) (*.f64 x x) (sin.f64 eps))) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3))) (*.f64 1/2 (*.f64 (sin.f64 eps) (pow.f64 x 2))))) |
(-.f64 (fma.f64 (cos.f64 eps) x (sin.f64 eps)) (fma.f64 1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3)) (*.f64 1/2 (*.f64 (sin.f64 eps) (*.f64 x x))))) |
(-.f64 (fma.f64 (cos.f64 eps) x (sin.f64 eps)) (fma.f64 1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (*.f64 (cos.f64 eps) (*.f64 1/6 (pow.f64 x 3))))) |
(+.f64 (*.f64 (+.f64 (*.f64 (*.f64 x x) -1/2) 1) (sin.f64 eps)) (*.f64 (cos.f64 eps) (-.f64 x (*.f64 1/6 (pow.f64 x 3))))) |
(+.f64 (fma.f64 (*.f64 (sin.f64 eps) -1/2) (*.f64 x x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (+.f64 x (*.f64 (pow.f64 x 3) -1/6)))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps))) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps))) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps))) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps))) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(sin.f64 x) |
(+.f64 (*.f64 eps (cos.f64 x)) (sin.f64 x)) |
(fma.f64 eps (cos.f64 x) (sin.f64 x)) |
(-.f64 (+.f64 (*.f64 eps (cos.f64 x)) (sin.f64 x)) (*.f64 1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(+.f64 (fma.f64 eps (cos.f64 x) (sin.f64 x)) (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps)))) |
(+.f64 (sin.f64 x) (fma.f64 eps (cos.f64 x) (*.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 eps eps)))) |
(fma.f64 eps (cos.f64 x) (*.f64 (+.f64 (*.f64 (*.f64 eps eps) -1/2) 1) (sin.f64 x))) |
(fma.f64 eps (cos.f64 x) (*.f64 (+.f64 (*.f64 eps (*.f64 eps -1/2)) 1) (sin.f64 x))) |
(-.f64 (+.f64 (*.f64 eps (cos.f64 x)) (sin.f64 x)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))) |
(-.f64 (fma.f64 eps (cos.f64 x) (sin.f64 x)) (fma.f64 1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 1/2 (*.f64 (sin.f64 x) (*.f64 eps eps))))) |
(+.f64 (sin.f64 x) (+.f64 (*.f64 (cos.f64 x) (-.f64 eps (*.f64 1/6 (pow.f64 eps 3)))) (*.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 eps eps)))) |
(+.f64 (*.f64 (+.f64 (*.f64 (*.f64 eps eps) -1/2) 1) (sin.f64 x)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 (pow.f64 eps 3) -1/6)))) |
(+.f64 (*.f64 (+.f64 (*.f64 eps (*.f64 eps -1/2)) 1) (sin.f64 x)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 (pow.f64 eps 3) -1/6)))) |
(+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) |
11 alts after pruning (11 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 225 | 8 | 233 |
| Fresh | 6 | 3 | 9 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 232 | 11 | 243 |
| Status | Error | Program |
|---|---|---|
| 28.0b | (log.f64 (exp.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))))) | |
| 43.4b | (fma.f64 (sqrt.f64 (sin.f64 x)) (*.f64 (sqrt.f64 (sin.f64 x)) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) | |
| 22.3b | (-.f64 (fma.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 3) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x)) | |
| ▶ | 0.3b | (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
| 52.9b | (*.f64 (+.f64 (sqrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps)))) (sqrt.f64 (sin.f64 x))) (-.f64 (sqrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps)))) (sqrt.f64 (sin.f64 x)))) | |
| 33.4b | (fma.f64 (cos.f64 x) (+.f64 eps (*.f64 (pow.f64 eps 3) -1/6)) (*.f64 eps (*.f64 (*.f64 eps (sin.f64 x)) -1/2))) | |
| 21.8b | (fma.f64 (sin.f64 x) (cos.f64 eps) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) | |
| 22.4b | (*.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))) (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))) 2)) | |
| 42.7b | (fma.f64 (sqrt.f64 (neg.f64 (sin.f64 x))) (sqrt.f64 (neg.f64 (sin.f64 x))) (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps)))) | |
| 23.5b | (/.f64 (-.f64 (pow.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) 2) (pow.f64 (sin.f64 x) 2)) (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)))) | |
| 24.8b | (/.f64 1 (/.f64 (fma.f64 (sin.f64 x) (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) (pow.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) 2)) (-.f64 (pow.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) 3) (pow.f64 (sin.f64 x) 3)))) |
Compiled 5585 to 1521 computations (72.8% saved)
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (sin.f64 x) | |
| ✓ | 0.1b | (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
| ✓ | 0.2b | (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)) |
| ✓ | 2.7b | (+.f64 (cos.f64 eps) -1) |
15 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 6.0ms | x | @ | inf | (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
| 3.0ms | x | @ | -inf | (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
| 3.0ms | eps | @ | inf | (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
| 3.0ms | eps | @ | -inf | (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
| 2.0ms | eps | @ | 0 | (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)) |
| 1× | batch-egg-rewrite |
| 485× | prod-diff_binary64 |
| 209× | expm1-udef_binary64 |
| 209× | log1p-udef_binary64 |
| 189× | fma-def_binary64 |
| 146× | fma-neg_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 36 |
| 1 | 227 | 36 |
| 2 | 2916 | 30 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (cos.f64 eps) -1) |
(*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (cos.f64 eps) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (cos.f64 eps) 2) (+.f64 (cos.f64 eps) 1)) (/.f64 1 (+.f64 (cos.f64 eps) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cos.f64 eps) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (cos.f64 eps) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 2) (cbrt.f64 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (cos.f64 eps) -1)) (sqrt.f64 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -1 (pow.f64 (cos.f64 eps) 3)) (/.f64 1 (-.f64 (fma.f64 (cos.f64 eps) (cos.f64 eps) 1) (*.f64 (cos.f64 eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (/.f64 1 (+.f64 (cos.f64 eps) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (cos.f64 eps)) 1) (-.f64 (sqrt.f64 (cos.f64 eps)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (fma.f64 (cos.f64 eps) (cos.f64 eps) 1) (*.f64 (cos.f64 eps) -1)) (+.f64 -1 (pow.f64 (cos.f64 eps) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (cos.f64 eps) 1) (neg.f64 (pow.f64 (sin.f64 eps) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (sin.f64 eps) 2) (-.f64 -1 (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -1 (pow.f64 (cos.f64 eps) 3)) (-.f64 (fma.f64 (cos.f64 eps) (cos.f64 eps) 1) (*.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -1 (pow.f64 (cos.f64 eps) 3)) (+.f64 1 (-.f64 (pow.f64 (cos.f64 eps) 2) (*.f64 (cos.f64 eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 eps) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 -1 (pow.f64 (cos.f64 eps) 3))) (neg.f64 (-.f64 (fma.f64 (cos.f64 eps) (cos.f64 eps) 1) (*.f64 (cos.f64 eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2))) (neg.f64 (+.f64 (cos.f64 eps) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (cos.f64 eps) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 (cos.f64 eps) -1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (+.f64 (cos.f64 eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (+.f64 (cos.f64 eps) -1)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log.f64 (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (*.f64 (log.f64 (cos.f64 eps)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 eps) 1 -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cos.f64 eps) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (cos.f64 eps)) (pow.f64 (cbrt.f64 (cos.f64 eps)) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 eps)) 2) (cbrt.f64 (cos.f64 eps)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 eps)) (sqrt.f64 (cos.f64 eps)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (sin.f64 x)) (*.f64 (cos.f64 eps) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) 1) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) 3) (pow.f64 (neg.f64 (sin.f64 x)) 3)) (fma.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (cos.f64 eps) (sin.f64 x)) (-.f64 (*.f64 (neg.f64 (sin.f64 x)) (neg.f64 (sin.f64 x))) (*.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (neg.f64 (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (cos.f64 eps) (sin.f64 x))) (*.f64 (neg.f64 (sin.f64 x)) (neg.f64 (sin.f64 x)))) (-.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (pow.f64 (cos.f64 eps) 3)) (sin.f64 x)) (-.f64 (fma.f64 (cos.f64 eps) (cos.f64 eps) 1) (*.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (sin.f64 x)) (+.f64 (cos.f64 eps) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 x) (+.f64 -1 (pow.f64 (cos.f64 eps) 3))) (-.f64 (fma.f64 (cos.f64 eps) (cos.f64 eps) 1) (*.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 x) (neg.f64 (pow.f64 (sin.f64 eps) 2))) (+.f64 (cos.f64 eps) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sin.f64 x)) (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (neg.f64 (sin.f64 x))) (exp.f64 (*.f64 (cos.f64 eps) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3) (pow.f64 (sin.f64 x) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (+.f64 (cos.f64 eps) -1) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 eps) (sin.f64 x) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (sin.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 x) (cos.f64 eps) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 x) -1 (*.f64 (cos.f64 eps) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (cos.f64 eps) (sin.f64 x)) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 (sin.f64 x)) (*.f64 (cos.f64 eps) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 eps)) 2) (*.f64 (cbrt.f64 (cos.f64 eps)) (sin.f64 x)) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (*.f64 (cbrt.f64 (sin.f64 x)) -1) (*.f64 (cos.f64 eps) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (*.f64 (cbrt.f64 (sin.f64 x)) (cos.f64 eps)) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 eps)) (*.f64 (sqrt.f64 (cos.f64 eps)) (sin.f64 x)) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 x)) (*.f64 (sqrt.f64 (sin.f64 x)) -1) (*.f64 (cos.f64 eps) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 x)) (*.f64 (sqrt.f64 (sin.f64 x)) (cos.f64 eps)) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) 1 (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (neg.f64 (sin.f64 x))) (cbrt.f64 (neg.f64 (sin.f64 x)))) (cbrt.f64 (neg.f64 (sin.f64 x))) (*.f64 (cos.f64 eps) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 eps) (sin.f64 x))) (cbrt.f64 (*.f64 (cos.f64 eps) (sin.f64 x)))) (cbrt.f64 (*.f64 (cos.f64 eps) (sin.f64 x))) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (neg.f64 (sin.f64 x))) (sqrt.f64 (neg.f64 (sin.f64 x))) (*.f64 (cos.f64 eps) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (cos.f64 eps) (sin.f64 x))) (sqrt.f64 (*.f64 (cos.f64 eps) (sin.f64 x))) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (sin.f64 x)) (sqrt.f64 (cos.f64 eps))) (*.f64 (sqrt.f64 (sin.f64 x)) (sqrt.f64 (cos.f64 eps))) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (cos.f64 eps)) (sqrt.f64 (sin.f64 x))) (*.f64 (sqrt.f64 (cos.f64 eps)) (sqrt.f64 (sin.f64 x))) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1 (pow.f64 (cbrt.f64 (sin.f64 x)) 2)) (cbrt.f64 (sin.f64 x)) (*.f64 (cos.f64 eps) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1 (sqrt.f64 (sin.f64 x))) (sqrt.f64 (sin.f64 x)) (*.f64 (cos.f64 eps) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 x) (pow.f64 (cbrt.f64 (cos.f64 eps)) 2)) (cbrt.f64 (cos.f64 eps)) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 x) (sqrt.f64 (cos.f64 eps))) (sqrt.f64 (cos.f64 eps)) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 eps) (pow.f64 (cbrt.f64 (sin.f64 x)) 2)) (cbrt.f64 (sin.f64 x)) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 eps) (sqrt.f64 (sin.f64 x))) (sqrt.f64 (sin.f64 x)) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) 1) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (sin.f64 (+.f64 eps x)) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (+.f64 (sin.f64 (+.f64 eps x)) (neg.f64 (sin.f64 x))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sin.f64 (+.f64 eps x)) (neg.f64 (sin.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (sin.f64 (+.f64 eps x)) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 (sin.f64 (+.f64 eps x)) (neg.f64 (sin.f64 x)))) (pow.f64 (cbrt.f64 (+.f64 (sin.f64 (+.f64 eps x)) (neg.f64 (sin.f64 x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 (sin.f64 (+.f64 eps x)) (neg.f64 (sin.f64 x)))) 2) (cbrt.f64 (+.f64 (sin.f64 (+.f64 eps x)) (neg.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (sin.f64 (+.f64 eps x)) (neg.f64 (sin.f64 x)))) (sqrt.f64 (+.f64 (sin.f64 (+.f64 eps x)) (neg.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) 3) (pow.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) 3)) (fma.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x)) (-.f64 (pow.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) 2) (*.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) (pow.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) 2)) (-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (sin.f64 (+.f64 eps x)) (neg.f64 (sin.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 (sin.f64 (+.f64 eps x)) (neg.f64 (sin.f64 x))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 (sin.f64 (+.f64 eps x)) (neg.f64 (sin.f64 x)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 (sin.f64 (+.f64 eps x)) (neg.f64 (sin.f64 x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 (sin.f64 (+.f64 eps x)) (neg.f64 (sin.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 (sin.f64 (+.f64 eps x)) (neg.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (+.f64 (sin.f64 (+.f64 eps x)) (neg.f64 (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 (sin.f64 x)) (+.f64 (cos.f64 eps) -1)) (exp.f64 (*.f64 (sin.f64 eps) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))) (exp.f64 (*.f64 (sin.f64 eps) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (sin.f64 eps) (cos.f64 x))) (+.f64 1 (expm1.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 (sin.f64 (+.f64 eps x)) (neg.f64 (sin.f64 x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (+.f64 (sin.f64 (+.f64 eps x)) (neg.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (+.f64 (sin.f64 (+.f64 eps x)) (neg.f64 (sin.f64 x)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 (sin.f64 (+.f64 eps x)) (neg.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 (sin.f64 (+.f64 eps x)) (neg.f64 (sin.f64 x))))))))) |
| 1× | egg-herbie |
| 638× | fma-def_binary64 |
| 575× | sub-neg_binary64 |
| 424× | cancel-sign-sub-inv_binary64 |
| 273× | associate-*l*_binary64 |
| 256× | associate-*r*_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 106 | 1102 |
| 1 | 327 | 1032 |
| 2 | 1070 | 986 |
| 3 | 4773 | 986 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 -1/2 (pow.f64 eps 2)) |
(-.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 1/2 (pow.f64 eps 2))) |
(-.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 1/720 (pow.f64 eps 6)) (*.f64 1/2 (pow.f64 eps 2)))) |
(-.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 1/40320 (pow.f64 eps 8))) (+.f64 (*.f64 1/720 (pow.f64 eps 6)) (*.f64 1/2 (pow.f64 eps 2)))) |
(-.f64 (cos.f64 eps) 1) |
(-.f64 (cos.f64 eps) 1) |
(-.f64 (cos.f64 eps) 1) |
(-.f64 (cos.f64 eps) 1) |
(-.f64 (cos.f64 eps) 1) |
(-.f64 (cos.f64 eps) 1) |
(-.f64 (cos.f64 eps) 1) |
(-.f64 (cos.f64 eps) 1) |
(*.f64 (-.f64 (cos.f64 eps) 1) x) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (*.f64 1/6 (pow.f64 x 3))) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3))) x)) |
(-.f64 (+.f64 (*.f64 1/120 (*.f64 (cos.f64 eps) (pow.f64 x 5))) (+.f64 (*.f64 (cos.f64 eps) x) (*.f64 1/6 (pow.f64 x 3)))) (+.f64 (*.f64 1/120 (pow.f64 x 5)) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3))) x))) |
(-.f64 (+.f64 (*.f64 1/120 (*.f64 (cos.f64 eps) (pow.f64 x 5))) (+.f64 (*.f64 1/5040 (pow.f64 x 7)) (+.f64 (*.f64 (cos.f64 eps) x) (*.f64 1/6 (pow.f64 x 3))))) (+.f64 (*.f64 1/120 (pow.f64 x 5)) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3))) (+.f64 (*.f64 1/5040 (*.f64 (cos.f64 eps) (pow.f64 x 7))) x)))) |
(*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x)) |
(*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x)) |
(*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x)) |
(*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x)) |
(*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x)) |
(*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x)) |
(*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x)) |
(*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x)) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))) |
(-.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(-.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (*.f64 1/720 (*.f64 (pow.f64 eps 6) (sin.f64 x))) (*.f64 1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))) |
(-.f64 (+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 1/40320 (*.f64 (pow.f64 eps 8) (sin.f64 x)))) (+.f64 (*.f64 1/720 (*.f64 (pow.f64 eps 6) (sin.f64 x))) (*.f64 1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))) |
(*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x)) |
(*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x)) |
(*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x)) |
(*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x)) |
(*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x)) |
(*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x)) |
(*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x)) |
(*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x)) |
(*.f64 eps (cos.f64 x)) |
(-.f64 (*.f64 eps (cos.f64 x)) (*.f64 1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(-.f64 (*.f64 eps (cos.f64 x)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))) |
(-.f64 (+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 eps (cos.f64 x))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) (sin.f64 x)) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) (sin.f64 x)) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) (sin.f64 x)) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) (sin.f64 x)) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) (sin.f64 x)) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) (sin.f64 x)) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) (sin.f64 x)) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) (sin.f64 x)) |
(sin.f64 eps) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) x) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (+.f64 x (*.f64 1/2 (*.f64 (sin.f64 eps) (pow.f64 x 2))))) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (+.f64 (sin.f64 eps) (*.f64 1/6 (pow.f64 x 3)))) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3))) (+.f64 x (*.f64 1/2 (*.f64 (sin.f64 eps) (pow.f64 x 2)))))) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
| Outputs |
|---|
(*.f64 -1/2 (pow.f64 eps 2)) |
(*.f64 -1/2 (*.f64 eps eps)) |
(-.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 1/2 (pow.f64 eps 2))) |
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (*.f64 eps eps))) |
(fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) |
(fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) |
(-.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 1/720 (pow.f64 eps 6)) (*.f64 1/2 (pow.f64 eps 2)))) |
(-.f64 (*.f64 1/24 (pow.f64 eps 4)) (fma.f64 1/720 (pow.f64 eps 6) (*.f64 (*.f64 eps eps) 1/2))) |
(-.f64 (*.f64 1/24 (pow.f64 eps 4)) (fma.f64 (*.f64 eps eps) 1/2 (*.f64 1/720 (pow.f64 eps 6)))) |
(fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/2 (*.f64 eps eps) (*.f64 (pow.f64 eps 6) -1/720))) |
(-.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 1/40320 (pow.f64 eps 8))) (+.f64 (*.f64 1/720 (pow.f64 eps 6)) (*.f64 1/2 (pow.f64 eps 2)))) |
(-.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 1/40320 (pow.f64 eps 8))) (fma.f64 1/720 (pow.f64 eps 6) (*.f64 (*.f64 eps eps) 1/2))) |
(-.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 1/40320 (pow.f64 eps 8))) (fma.f64 (*.f64 eps eps) 1/2 (*.f64 1/720 (pow.f64 eps 6)))) |
(fma.f64 1/40320 (pow.f64 eps 8) (fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/2 (*.f64 eps eps) (*.f64 (pow.f64 eps 6) -1/720)))) |
(-.f64 (cos.f64 eps) 1) |
(+.f64 (cos.f64 eps) -1) |
(-.f64 (cos.f64 eps) 1) |
(+.f64 (cos.f64 eps) -1) |
(-.f64 (cos.f64 eps) 1) |
(+.f64 (cos.f64 eps) -1) |
(-.f64 (cos.f64 eps) 1) |
(+.f64 (cos.f64 eps) -1) |
(-.f64 (cos.f64 eps) 1) |
(+.f64 (cos.f64 eps) -1) |
(-.f64 (cos.f64 eps) 1) |
(+.f64 (cos.f64 eps) -1) |
(-.f64 (cos.f64 eps) 1) |
(+.f64 (cos.f64 eps) -1) |
(-.f64 (cos.f64 eps) 1) |
(+.f64 (cos.f64 eps) -1) |
(*.f64 (-.f64 (cos.f64 eps) 1) x) |
(*.f64 (+.f64 (cos.f64 eps) -1) x) |
(fma.f64 (cos.f64 eps) x (neg.f64 x)) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (*.f64 1/6 (pow.f64 x 3))) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3))) x)) |
(-.f64 (fma.f64 (cos.f64 eps) x (*.f64 1/6 (pow.f64 x 3))) (fma.f64 1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3)) x)) |
(-.f64 (fma.f64 (cos.f64 eps) x (*.f64 (pow.f64 x 3) (-.f64 1/6 (*.f64 (cos.f64 eps) 1/6)))) x) |
(-.f64 (fma.f64 (cos.f64 eps) x (*.f64 (pow.f64 x 3) (+.f64 1/6 (*.f64 (cos.f64 eps) -1/6)))) x) |
(-.f64 (+.f64 (*.f64 1/120 (*.f64 (cos.f64 eps) (pow.f64 x 5))) (+.f64 (*.f64 (cos.f64 eps) x) (*.f64 1/6 (pow.f64 x 3)))) (+.f64 (*.f64 1/120 (pow.f64 x 5)) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3))) x))) |
(-.f64 (fma.f64 1/120 (*.f64 (cos.f64 eps) (pow.f64 x 5)) (fma.f64 (cos.f64 eps) x (*.f64 1/6 (pow.f64 x 3)))) (fma.f64 1/120 (pow.f64 x 5) (fma.f64 1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3)) x))) |
(+.f64 (*.f64 (cos.f64 eps) (fma.f64 1/120 (pow.f64 x 5) x)) (-.f64 (*.f64 (pow.f64 x 3) (-.f64 1/6 (*.f64 (cos.f64 eps) 1/6))) (fma.f64 1/120 (pow.f64 x 5) x))) |
(+.f64 (*.f64 (cos.f64 eps) (fma.f64 1/120 (pow.f64 x 5) x)) (-.f64 (*.f64 (pow.f64 x 3) (+.f64 1/6 (*.f64 (cos.f64 eps) -1/6))) (fma.f64 1/120 (pow.f64 x 5) x))) |
(-.f64 (+.f64 (*.f64 1/120 (*.f64 (cos.f64 eps) (pow.f64 x 5))) (+.f64 (*.f64 1/5040 (pow.f64 x 7)) (+.f64 (*.f64 (cos.f64 eps) x) (*.f64 1/6 (pow.f64 x 3))))) (+.f64 (*.f64 1/120 (pow.f64 x 5)) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3))) (+.f64 (*.f64 1/5040 (*.f64 (cos.f64 eps) (pow.f64 x 7))) x)))) |
(-.f64 (fma.f64 1/120 (*.f64 (cos.f64 eps) (pow.f64 x 5)) (fma.f64 1/5040 (pow.f64 x 7) (fma.f64 (cos.f64 eps) x (*.f64 1/6 (pow.f64 x 3))))) (fma.f64 1/120 (pow.f64 x 5) (fma.f64 1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3)) (fma.f64 1/5040 (*.f64 (cos.f64 eps) (pow.f64 x 7)) x)))) |
(-.f64 (fma.f64 1/5040 (pow.f64 x 7) (fma.f64 1/6 (pow.f64 x 3) (*.f64 (cos.f64 eps) (fma.f64 1/120 (pow.f64 x 5) x)))) (+.f64 x (fma.f64 1/120 (pow.f64 x 5) (*.f64 (cos.f64 eps) (fma.f64 1/5040 (pow.f64 x 7) (*.f64 1/6 (pow.f64 x 3))))))) |
(*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x)) |
(*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) |
(*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x)) |
(*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) |
(*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x)) |
(*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) |
(*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x)) |
(*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) |
(*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x)) |
(*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) |
(*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x)) |
(*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) |
(*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x)) |
(*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) |
(*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x)) |
(*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))) |
(*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))) |
(-.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(fma.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)) (neg.f64 (*.f64 1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))) |
(*.f64 (sin.f64 x) (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps)))) |
(*.f64 (sin.f64 x) (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4)))) |
(-.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (*.f64 1/720 (*.f64 (pow.f64 eps 6) (sin.f64 x))) (*.f64 1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))) |
(-.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (fma.f64 1/720 (*.f64 (pow.f64 eps 6) (sin.f64 x)) (*.f64 1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))) |
(-.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 (sin.f64 x) (fma.f64 (*.f64 eps eps) 1/2 (*.f64 1/720 (pow.f64 eps 6))))) |
(*.f64 (sin.f64 x) (fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/2 (*.f64 eps eps) (*.f64 (pow.f64 eps 6) -1/720)))) |
(-.f64 (+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 1/40320 (*.f64 (pow.f64 eps 8) (sin.f64 x)))) (+.f64 (*.f64 1/720 (*.f64 (pow.f64 eps 6) (sin.f64 x))) (*.f64 1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))) |
(-.f64 (fma.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)) (*.f64 1/40320 (*.f64 (pow.f64 eps 8) (sin.f64 x)))) (fma.f64 1/720 (*.f64 (pow.f64 eps 6) (sin.f64 x)) (*.f64 1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))) |
(-.f64 (*.f64 (sin.f64 x) (fma.f64 1/24 (pow.f64 eps 4) (*.f64 1/40320 (pow.f64 eps 8)))) (*.f64 (sin.f64 x) (fma.f64 (*.f64 eps eps) 1/2 (*.f64 1/720 (pow.f64 eps 6))))) |
(*.f64 (sin.f64 x) (fma.f64 1/40320 (pow.f64 eps 8) (fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/2 (*.f64 eps eps) (*.f64 (pow.f64 eps 6) -1/720))))) |
(*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x)) |
(*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) |
(*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x)) |
(*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) |
(*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x)) |
(*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) |
(*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x)) |
(*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) |
(*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x)) |
(*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) |
(*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x)) |
(*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) |
(*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x)) |
(*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) |
(*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 x)) |
(*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) |
(*.f64 eps (cos.f64 x)) |
(-.f64 (*.f64 eps (cos.f64 x)) (*.f64 1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(+.f64 (*.f64 eps (cos.f64 x)) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)))) |
(fma.f64 eps (cos.f64 x) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)))) |
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)) (*.f64 eps (cos.f64 x))) |
(-.f64 (*.f64 eps (cos.f64 x)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))) |
(-.f64 (*.f64 eps (cos.f64 x)) (fma.f64 1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))) |
(+.f64 (*.f64 (cos.f64 x) (-.f64 eps (*.f64 1/6 (pow.f64 eps 3)))) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)))) |
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 (pow.f64 eps 3) -1/6)) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)))) |
(-.f64 (+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 eps (cos.f64 x))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))) |
(-.f64 (fma.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)) (*.f64 eps (cos.f64 x))) (fma.f64 1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))) |
(fma.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)) (+.f64 (*.f64 (cos.f64 x) (-.f64 eps (*.f64 1/6 (pow.f64 eps 3)))) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))) |
(+.f64 (*.f64 (cos.f64 x) (+.f64 eps (*.f64 (pow.f64 eps 3) -1/6))) (*.f64 (sin.f64 x) (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))))) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) |
(sin.f64 eps) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) x) |
(-.f64 (fma.f64 (cos.f64 eps) x (sin.f64 eps)) x) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (+.f64 x (*.f64 1/2 (*.f64 (sin.f64 eps) (pow.f64 x 2))))) |
(-.f64 (fma.f64 (cos.f64 eps) x (sin.f64 eps)) (+.f64 x (*.f64 1/2 (*.f64 (sin.f64 eps) (*.f64 x x))))) |
(-.f64 (fma.f64 (cos.f64 eps) x (sin.f64 eps)) (fma.f64 1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) x)) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (+.f64 (sin.f64 eps) (*.f64 1/6 (pow.f64 x 3)))) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3))) (+.f64 x (*.f64 1/2 (*.f64 (sin.f64 eps) (pow.f64 x 2)))))) |
(-.f64 (+.f64 (fma.f64 (cos.f64 eps) x (sin.f64 eps)) (*.f64 1/6 (pow.f64 x 3))) (+.f64 (fma.f64 1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3)) x) (*.f64 1/2 (*.f64 (sin.f64 eps) (*.f64 x x))))) |
(-.f64 (fma.f64 (cos.f64 eps) x (fma.f64 1/6 (pow.f64 x 3) (sin.f64 eps))) (fma.f64 1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3)) (fma.f64 1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) x))) |
(+.f64 (fma.f64 (cos.f64 eps) x (sin.f64 eps)) (-.f64 (*.f64 (pow.f64 x 3) (-.f64 1/6 (*.f64 (cos.f64 eps) 1/6))) (fma.f64 1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) x))) |
(+.f64 (fma.f64 (cos.f64 eps) x (sin.f64 eps)) (-.f64 (*.f64 (pow.f64 x 3) (+.f64 1/6 (*.f64 (cos.f64 eps) -1/6))) (fma.f64 1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) x))) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) |
9 alts after pruning (9 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 181 | 5 | 186 |
| Fresh | 6 | 4 | 10 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 188 | 9 | 197 |
| Status | Error | Program |
|---|---|---|
| 0.3b | (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) | |
| ▶ | 0.3b | (fma.f64 (sin.f64 eps) (cos.f64 x) (/.f64 (*.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (sin.f64 x)) (+.f64 (cos.f64 eps) 1))) |
| 22.4b | (*.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))) (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))) 2)) | |
| 15.2b | (/.f64 (-.f64 (*.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) (pow.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) 2)) (-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))) | |
| 20.0b | (/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) 3) (pow.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) 3)) (fma.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x)) (-.f64 (pow.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) 2) (*.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))))) | |
| 43.4b | (fma.f64 (sqrt.f64 (sin.f64 x)) (*.f64 (sqrt.f64 (sin.f64 x)) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) | |
| 22.3b | (fma.f64 (sin.f64 eps) (cos.f64 x) (fma.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (*.f64 (cbrt.f64 (sin.f64 x)) (cos.f64 eps)) (neg.f64 (sin.f64 x)))) | |
| 23.5b | (/.f64 (-.f64 (pow.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) 2) (pow.f64 (sin.f64 x) 2)) (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)))) | |
| 24.8b | (/.f64 1 (/.f64 (fma.f64 (sin.f64 x) (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) (pow.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) 2)) (-.f64 (pow.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) 3) (pow.f64 (sin.f64 x) 3)))) |
Compiled 3970 to 1675 computations (57.8% saved)
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.2b | (/.f64 (*.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (sin.f64 x)) (+.f64 (cos.f64 eps) 1)) |
| ✓ | 0.2b | (pow.f64 (sin.f64 eps) 2) |
| ✓ | 0.2b | (*.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (sin.f64 x)) |
| ✓ | 0.4b | (+.f64 (cos.f64 eps) 1) |
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 11.0ms | x | @ | inf | (/.f64 (*.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (sin.f64 x)) (+.f64 (cos.f64 eps) 1)) |
| 8.0ms | eps | @ | inf | (/.f64 (*.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (sin.f64 x)) (+.f64 (cos.f64 eps) 1)) |
| 8.0ms | eps | @ | -inf | (/.f64 (*.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (sin.f64 x)) (+.f64 (cos.f64 eps) 1)) |
| 8.0ms | x | @ | -inf | (/.f64 (*.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (sin.f64 x)) (+.f64 (cos.f64 eps) 1)) |
| 5.0ms | x | @ | 0 | (/.f64 (*.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (sin.f64 x)) (+.f64 (cos.f64 eps) 1)) |
| 1× | batch-egg-rewrite |
| 208× | log1p-udef_binary64 |
| 207× | expm1-udef_binary64 |
| 175× | log-pow_binary64 |
| 158× | fma-def_binary64 |
| 149× | prod-diff_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 13 | 46 |
| 1 | 275 | 34 |
| 2 | 3600 | 34 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (cos.f64 eps) 1) |
(*.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (sin.f64 x)) |
(pow.f64 (sin.f64 eps) 2) |
(/.f64 (*.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (sin.f64 x)) (+.f64 (cos.f64 eps) 1)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (+.f64 (cos.f64 eps) 1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (+.f64 (cos.f64 eps) 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (cos.f64 eps) 2) (+.f64 (cos.f64 eps) -1)) (/.f64 1 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (cos.f64 eps) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cos.f64 eps) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 1 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 (cos.f64 eps) 1)) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) 1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) 1)) 2) (cbrt.f64 (+.f64 (cos.f64 eps) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) 1)) 2) (neg.f64 (cbrt.f64 (+.f64 (cos.f64 eps) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (cos.f64 eps) 1)) (sqrt.f64 (+.f64 (cos.f64 eps) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (cos.f64 eps) 1)) (neg.f64 (sqrt.f64 (+.f64 (cos.f64 eps) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (pow.f64 (cos.f64 eps) 3)) (/.f64 1 (+.f64 (pow.f64 (cos.f64 eps) 2) (+.f64 (cos.f64 eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 (cos.f64 eps) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (+.f64 (cos.f64 eps) 1))) (sqrt.f64 (+.f64 (cos.f64 eps) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) 1)) 2)) (cbrt.f64 (+.f64 (cos.f64 eps) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) (+.f64 (cos.f64 eps) -1)) (+.f64 1 (pow.f64 (cos.f64 eps) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (cos.f64 eps) -1) (pow.f64 (sin.f64 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (cos.f64 eps) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (sin.f64 eps) 2) (neg.f64 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (cos.f64 eps) 3)) (+.f64 (pow.f64 (cos.f64 eps) 2) (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (cos.f64 eps) 3)) (+.f64 1 (-.f64 (pow.f64 (cos.f64 eps) 2) (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 1 (pow.f64 (cos.f64 eps) 3))) (+.f64 (pow.f64 (cos.f64 eps) 2) (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 1 (pow.f64 (cos.f64 eps) 3))) (neg.f64 (+.f64 (pow.f64 (cos.f64 eps) 2) (+.f64 (cos.f64 eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (cos.f64 eps) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 (cos.f64 eps) 1) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) 1)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 (cos.f64 eps) 1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 (cos.f64 eps) 1))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 (cos.f64 eps) 1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 (cos.f64 eps) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (+.f64 (cos.f64 eps) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 1 (exp.f64 (+.f64 (cos.f64 eps) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (+.f64 (cos.f64 eps) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 1 (/.f64 1 (exp.f64 (+.f64 (cos.f64 eps) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) 1) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log1p.f64 (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log1p.f64 (cos.f64 eps)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 (cos.f64 eps) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 eps) 1 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cos.f64 eps) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (cos.f64 eps)) (cbrt.f64 (pow.f64 (cos.f64 eps) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (cos.f64 eps) 2)) (cbrt.f64 (cos.f64 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (cos.f64 eps) 2)) (*.f64 (cbrt.f64 (cos.f64 eps)) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 eps)) (sqrt.f64 (cos.f64 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 eps)) (*.f64 (sqrt.f64 (cos.f64 eps)) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 (cos.f64 eps) 1))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (pow.f64 (sin.f64 eps) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (sin.f64 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (sin.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (sin.f64 x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (sin.f64 x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 eps) (sqrt.f64 (sin.f64 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (sin.f64 eps) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sin.f64 x)) (pow.f64 (sin.f64 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (sin.f64 x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (pow.f64 (sin.f64 eps) 2) 3) (pow.f64 (sin.f64 x) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (sin.f64 x) 3) (pow.f64 (pow.f64 (sin.f64 eps) 2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (fma.f64 2 (log.f64 (sin.f64 eps)) (log.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (fma.f64 2 (log.f64 (sin.f64 eps)) (log.f64 (sin.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (sin.f64 x)))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (sin.f64 eps) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 (cos.f64 eps) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 1 (pow.f64 (cos.f64 eps) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (pow.f64 (sin.f64 eps) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (pow.f64 (cos.f64 eps) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (sin.f64 eps) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (sin.f64 eps) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cos.f64 eps) 1) (+.f64 (cos.f64 eps) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 eps) (sin.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 eps) (neg.f64 (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sin.f64 eps) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sin.f64 eps) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sin.f64 eps)) 2) (cbrt.f64 (pow.f64 (sin.f64 eps) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sin.f64 eps)) 2) (*.f64 (cbrt.f64 (sin.f64 eps)) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (sin.f64 eps) 4)) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (sin.f64 eps) 4)) (neg.f64 (pow.f64 (cbrt.f64 (sin.f64 eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 eps)) (*.f64 (sqrt.f64 (sin.f64 eps)) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (pow.f64 (sin.f64 eps) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 eps) (sqrt.f64 (sin.f64 eps))) (sqrt.f64 (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sin.f64 eps)) (sin.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cbrt.f64 (pow.f64 (sin.f64 eps) 4))) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 eps) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2)) (cbrt.f64 (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -1 (sin.f64 eps)) (sin.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -1 (cbrt.f64 (pow.f64 (sin.f64 eps) 4))) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 0 (pow.f64 (pow.f64 (sin.f64 eps) 2) 3)) (+.f64 0 (+.f64 (pow.f64 (sin.f64 eps) 4) (*.f64 0 (pow.f64 (sin.f64 eps) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (pow.f64 (cos.f64 eps) 2) 3) 1) (fma.f64 (pow.f64 (cos.f64 eps) 2) (pow.f64 (cos.f64 eps) 2) (+.f64 1 (*.f64 (pow.f64 (cos.f64 eps) 2) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 0 (pow.f64 (sin.f64 eps) 4)) (pow.f64 (sin.f64 eps) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 (cos.f64 eps) 2) (pow.f64 (cos.f64 eps) 2) -1) (+.f64 (pow.f64 (cos.f64 eps) 2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (cos.f64 (-.f64 eps eps)) (cos.f64 (*.f64 2 eps))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (pow.f64 (sin.f64 eps) 2))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (sin.f64 eps) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (sin.f64 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (sin.f64 eps) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (pow.f64 (sin.f64 eps) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (sin.f64 eps) 2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (sin.f64 eps))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (sin.f64 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (*.f64 2 (log.f64 (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 eps) (cos.f64 eps) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (pow.f64 (cos.f64 eps) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (cos.f64 eps) 2)) (*.f64 (cbrt.f64 (cos.f64 eps)) (cos.f64 eps)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 eps)) (*.f64 (sqrt.f64 (cos.f64 eps)) (cos.f64 eps)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (pow.f64 (cos.f64 eps) 2)) (cbrt.f64 (pow.f64 (cos.f64 eps) 2))) (cbrt.f64 (pow.f64 (cos.f64 eps) 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 eps) (sqrt.f64 (cos.f64 eps))) (sqrt.f64 (cos.f64 eps)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 eps) (cbrt.f64 (pow.f64 (cos.f64 eps) 2))) (cbrt.f64 (cos.f64 eps)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (sin.f64 eps) 2))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 0 (/.f64 (+.f64 (cos.f64 eps) 1) (sin.f64 x))) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 1 (/.f64 (+.f64 (cos.f64 eps) 1) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sin.f64 eps) 2) (*.f64 (sin.f64 x) (/.f64 1 (+.f64 (cos.f64 eps) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 x) (*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 1 (+.f64 (cos.f64 eps) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (sin.f64 x)) (/.f64 1 (+.f64 (cos.f64 eps) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (sin.f64 eps) 4))) (*.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (sin.f64 x))) (/.f64 1 (+.f64 (cos.f64 eps) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) (pow.f64 (cbrt.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) 2) (cbrt.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 eps) (sqrt.f64 (sin.f64 x))) (*.f64 (*.f64 (sin.f64 eps) (sqrt.f64 (sin.f64 x))) (/.f64 1 (+.f64 (cos.f64 eps) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) (sqrt.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 (cos.f64 eps) 1)) (*.f64 (pow.f64 (sin.f64 eps) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) 1) (/.f64 (sin.f64 x) (+.f64 (cos.f64 eps) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 x) 1) (+.f64 (cos.f64 eps) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (sin.f64 eps) 4))) 1) (/.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (sin.f64 x))) (+.f64 (cos.f64 eps) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (sin.f64 eps) (sqrt.f64 (sin.f64 x))) 1) (/.f64 (*.f64 (sin.f64 eps) (sqrt.f64 (sin.f64 x))) (+.f64 (cos.f64 eps) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) 1)) 2)) (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (sin.f64 x)) (cbrt.f64 (+.f64 (cos.f64 eps) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) 1)) 2)) (/.f64 (sin.f64 x) (cbrt.f64 (+.f64 (cos.f64 eps) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 x) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) 1)) 2)) (/.f64 (pow.f64 (sin.f64 eps) 2) (cbrt.f64 (+.f64 (cos.f64 eps) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (sin.f64 eps) 4))) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) 1)) 2)) (cbrt.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (sin.f64 eps) (sqrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 eps) 1)) 2)) (/.f64 (*.f64 (sin.f64 eps) (sqrt.f64 (sin.f64 x))) (cbrt.f64 (+.f64 (cos.f64 eps) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (+.f64 (cos.f64 eps) 1))) (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (sin.f64 x)) (sqrt.f64 (+.f64 (cos.f64 eps) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (sqrt.f64 (+.f64 (cos.f64 eps) 1))) (/.f64 (sin.f64 x) (sqrt.f64 (+.f64 (cos.f64 eps) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 x) (sqrt.f64 (+.f64 (cos.f64 eps) 1))) (/.f64 (pow.f64 (sin.f64 eps) 2) (sqrt.f64 (+.f64 (cos.f64 eps) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (sin.f64 eps) 4))) (sqrt.f64 (+.f64 (cos.f64 eps) 1))) (/.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (sin.f64 x))) (sqrt.f64 (+.f64 (cos.f64 eps) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (sin.f64 x)) (+.f64 1 (pow.f64 (cos.f64 eps) 3))) (+.f64 (pow.f64 (cos.f64 eps) 2) (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (sin.f64 x)) (pow.f64 (sin.f64 eps) 2)) (+.f64 (cos.f64 eps) -1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 1 (exp.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (sin.f64 x)) 3) (pow.f64 (+.f64 (cos.f64 eps) 1) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))))))) |
| 1× | egg-herbie |
| 398× | fma-def_binary64 |
| 324× | distribute-rgt-neg-in_binary64 |
| 315× | associate-*l*_binary64 |
| 308× | associate-*r*_binary64 |
| 306× | distribute-lft-neg-in_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 104 | 1302 |
| 1 | 316 | 1254 |
| 2 | 994 | 1198 |
| 3 | 3952 | 1198 |
| 1× | node limit |
| Inputs |
|---|
2 |
(-.f64 2 (*.f64 1/2 (pow.f64 eps 2))) |
(-.f64 (+.f64 2 (*.f64 1/24 (pow.f64 eps 4))) (*.f64 1/2 (pow.f64 eps 2))) |
(-.f64 (+.f64 2 (*.f64 1/24 (pow.f64 eps 4))) (+.f64 (*.f64 1/720 (pow.f64 eps 6)) (*.f64 1/2 (pow.f64 eps 2)))) |
(+.f64 1 (cos.f64 eps)) |
(+.f64 1 (cos.f64 eps)) |
(+.f64 1 (cos.f64 eps)) |
(+.f64 1 (cos.f64 eps)) |
(+.f64 1 (cos.f64 eps)) |
(+.f64 1 (cos.f64 eps)) |
(+.f64 1 (cos.f64 eps)) |
(+.f64 1 (cos.f64 eps)) |
(*.f64 -1 (*.f64 (pow.f64 eps 2) (sin.f64 x))) |
(-.f64 (*.f64 1/3 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 (pow.f64 eps 2) (sin.f64 x))) |
(-.f64 (*.f64 1/3 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (*.f64 2/45 (*.f64 (pow.f64 eps 6) (sin.f64 x))) (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(-.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 1/315 (*.f64 (pow.f64 eps 8) (sin.f64 x)))) (+.f64 (*.f64 2/45 (*.f64 (pow.f64 eps 6) (sin.f64 x))) (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(*.f64 -1 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) |
(*.f64 -1 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) |
(*.f64 -1 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) |
(*.f64 -1 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) |
(*.f64 -1 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) |
(*.f64 -1 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) |
(*.f64 -1 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) |
(*.f64 -1 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) |
(*.f64 -1 (*.f64 (pow.f64 (sin.f64 eps) 2) x)) |
(-.f64 (*.f64 1/6 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 3))) (*.f64 (pow.f64 (sin.f64 eps) 2) x)) |
(-.f64 (*.f64 1/6 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 3))) (+.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) x) (*.f64 1/120 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 5))))) |
(-.f64 (+.f64 (*.f64 1/5040 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 7))) (*.f64 1/6 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 3)))) (+.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) x) (*.f64 1/120 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 5))))) |
(*.f64 -1 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) |
(*.f64 -1 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) |
(*.f64 -1 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) |
(*.f64 -1 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) |
(*.f64 -1 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) |
(*.f64 -1 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) |
(*.f64 -1 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) |
(*.f64 -1 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) |
(pow.f64 eps 2) |
(-.f64 (pow.f64 eps 2) (*.f64 1/3 (pow.f64 eps 4))) |
(-.f64 (+.f64 (*.f64 2/45 (pow.f64 eps 6)) (pow.f64 eps 2)) (*.f64 1/3 (pow.f64 eps 4))) |
(-.f64 (+.f64 (*.f64 2/45 (pow.f64 eps 6)) (pow.f64 eps 2)) (+.f64 (*.f64 1/3 (pow.f64 eps 4)) (*.f64 1/315 (pow.f64 eps 8)))) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))) |
(-.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(-.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (*.f64 1/720 (*.f64 (pow.f64 eps 6) (sin.f64 x))) (*.f64 1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))) |
(-.f64 (+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 1/40320 (*.f64 (pow.f64 eps 8) (sin.f64 x)))) (+.f64 (*.f64 1/720 (*.f64 (pow.f64 eps 6) (sin.f64 x))) (*.f64 1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))) |
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) x) (+.f64 1 (cos.f64 eps)))) |
(-.f64 (*.f64 1/6 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 3)) (+.f64 1 (cos.f64 eps)))) (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) x) (+.f64 1 (cos.f64 eps)))) |
(-.f64 (*.f64 1/6 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 3)) (+.f64 1 (cos.f64 eps)))) (+.f64 (*.f64 1/120 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 5)) (+.f64 1 (cos.f64 eps)))) (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) x) (+.f64 1 (cos.f64 eps))))) |
(-.f64 (+.f64 (*.f64 1/5040 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 7)) (+.f64 1 (cos.f64 eps)))) (*.f64 1/6 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 3)) (+.f64 1 (cos.f64 eps))))) (+.f64 (*.f64 1/120 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 5)) (+.f64 1 (cos.f64 eps)))) (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) x) (+.f64 1 (cos.f64 eps))))) |
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
| Outputs |
|---|
2 |
(-.f64 2 (*.f64 1/2 (pow.f64 eps 2))) |
(+.f64 2 (*.f64 -1/2 (*.f64 eps eps))) |
(+.f64 2 (*.f64 (*.f64 eps eps) -1/2)) |
(fma.f64 (*.f64 eps eps) -1/2 2) |
(-.f64 (+.f64 2 (*.f64 1/24 (pow.f64 eps 4))) (*.f64 1/2 (pow.f64 eps 2))) |
(+.f64 2 (-.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 1/2 (*.f64 eps eps)))) |
(+.f64 2 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 (*.f64 eps eps) -1/2))) |
(fma.f64 1/24 (pow.f64 eps 4) (fma.f64 (*.f64 eps eps) -1/2 2)) |
(-.f64 (+.f64 2 (*.f64 1/24 (pow.f64 eps 4))) (+.f64 (*.f64 1/720 (pow.f64 eps 6)) (*.f64 1/2 (pow.f64 eps 2)))) |
(-.f64 (+.f64 2 (*.f64 1/24 (pow.f64 eps 4))) (fma.f64 1/720 (pow.f64 eps 6) (*.f64 1/2 (*.f64 eps eps)))) |
(-.f64 (fma.f64 1/24 (pow.f64 eps 4) 2) (fma.f64 1/2 (*.f64 eps eps) (*.f64 1/720 (pow.f64 eps 6)))) |
(+.f64 (*.f64 (pow.f64 eps 6) -1/720) (fma.f64 1/24 (pow.f64 eps 4) (fma.f64 (*.f64 eps eps) -1/2 2))) |
(+.f64 1 (cos.f64 eps)) |
(+.f64 1 (cos.f64 eps)) |
(+.f64 1 (cos.f64 eps)) |
(+.f64 1 (cos.f64 eps)) |
(+.f64 1 (cos.f64 eps)) |
(+.f64 1 (cos.f64 eps)) |
(+.f64 1 (cos.f64 eps)) |
(+.f64 1 (cos.f64 eps)) |
(*.f64 -1 (*.f64 (pow.f64 eps 2) (sin.f64 x))) |
(neg.f64 (*.f64 (*.f64 eps eps) (sin.f64 x))) |
(*.f64 (*.f64 eps eps) (neg.f64 (sin.f64 x))) |
(*.f64 eps (*.f64 (neg.f64 eps) (sin.f64 x))) |
(-.f64 (*.f64 1/3 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 (pow.f64 eps 2) (sin.f64 x))) |
(-.f64 (*.f64 1/3 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 (*.f64 eps eps) (sin.f64 x))) |
(*.f64 (sin.f64 x) (-.f64 (*.f64 (pow.f64 eps 4) 1/3) (*.f64 eps eps))) |
(-.f64 (*.f64 1/3 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (*.f64 2/45 (*.f64 (pow.f64 eps 6) (sin.f64 x))) (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(-.f64 (*.f64 1/3 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (fma.f64 2/45 (*.f64 (pow.f64 eps 6) (sin.f64 x)) (*.f64 (*.f64 eps eps) (sin.f64 x)))) |
(-.f64 (*.f64 (pow.f64 eps 4) (*.f64 (sin.f64 x) 1/3)) (*.f64 (sin.f64 x) (fma.f64 eps eps (*.f64 (pow.f64 eps 6) 2/45)))) |
(*.f64 (sin.f64 x) (-.f64 (*.f64 (pow.f64 eps 4) 1/3) (fma.f64 eps eps (*.f64 (pow.f64 eps 6) 2/45)))) |
(-.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 1/315 (*.f64 (pow.f64 eps 8) (sin.f64 x)))) (+.f64 (*.f64 2/45 (*.f64 (pow.f64 eps 6) (sin.f64 x))) (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(-.f64 (fma.f64 1/3 (*.f64 (pow.f64 eps 4) (sin.f64 x)) (*.f64 1/315 (*.f64 (sin.f64 x) (pow.f64 eps 8)))) (fma.f64 2/45 (*.f64 (pow.f64 eps 6) (sin.f64 x)) (*.f64 (*.f64 eps eps) (sin.f64 x)))) |
(-.f64 (*.f64 (sin.f64 x) (fma.f64 (pow.f64 eps 4) 1/3 (*.f64 1/315 (pow.f64 eps 8)))) (*.f64 (sin.f64 x) (fma.f64 eps eps (*.f64 (pow.f64 eps 6) 2/45)))) |
(*.f64 (sin.f64 x) (-.f64 (fma.f64 (pow.f64 eps 4) 1/3 (*.f64 1/315 (pow.f64 eps 8))) (fma.f64 eps eps (*.f64 (pow.f64 eps 6) 2/45)))) |
(*.f64 -1 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) |
(neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) |
(*.f64 (sin.f64 x) (neg.f64 (pow.f64 (sin.f64 eps) 2))) |
(*.f64 -1 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) |
(neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) |
(*.f64 (sin.f64 x) (neg.f64 (pow.f64 (sin.f64 eps) 2))) |
(*.f64 -1 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) |
(neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) |
(*.f64 (sin.f64 x) (neg.f64 (pow.f64 (sin.f64 eps) 2))) |
(*.f64 -1 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) |
(neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) |
(*.f64 (sin.f64 x) (neg.f64 (pow.f64 (sin.f64 eps) 2))) |
(*.f64 -1 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) |
(neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) |
(*.f64 (sin.f64 x) (neg.f64 (pow.f64 (sin.f64 eps) 2))) |
(*.f64 -1 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) |
(neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) |
(*.f64 (sin.f64 x) (neg.f64 (pow.f64 (sin.f64 eps) 2))) |
(*.f64 -1 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) |
(neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) |
(*.f64 (sin.f64 x) (neg.f64 (pow.f64 (sin.f64 eps) 2))) |
(*.f64 -1 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) |
(neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) |
(*.f64 (sin.f64 x) (neg.f64 (pow.f64 (sin.f64 eps) 2))) |
(*.f64 -1 (*.f64 (pow.f64 (sin.f64 eps) 2) x)) |
(neg.f64 (*.f64 x (pow.f64 (sin.f64 eps) 2))) |
(*.f64 x (neg.f64 (pow.f64 (sin.f64 eps) 2))) |
(-.f64 (*.f64 1/6 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 3))) (*.f64 (pow.f64 (sin.f64 eps) 2) x)) |
(-.f64 (*.f64 1/6 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 3))) (*.f64 x (pow.f64 (sin.f64 eps) 2))) |
(-.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (*.f64 (pow.f64 x 3) 1/6)) (*.f64 x (pow.f64 (sin.f64 eps) 2))) |
(*.f64 (pow.f64 (sin.f64 eps) 2) (-.f64 (*.f64 1/6 (pow.f64 x 3)) x)) |
(-.f64 (*.f64 1/6 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 3))) (+.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) x) (*.f64 1/120 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 5))))) |
(-.f64 (*.f64 1/6 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 3))) (fma.f64 (pow.f64 (sin.f64 eps) 2) x (*.f64 1/120 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 5))))) |
(-.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (*.f64 (pow.f64 x 3) 1/6)) (fma.f64 x (pow.f64 (sin.f64 eps) 2) (*.f64 (pow.f64 (sin.f64 eps) 2) (*.f64 (pow.f64 x 5) 1/120)))) |
(+.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (-.f64 (*.f64 1/6 (pow.f64 x 3)) x)) (*.f64 (*.f64 -1/120 (pow.f64 x 5)) (pow.f64 (sin.f64 eps) 2))) |
(+.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (-.f64 (*.f64 1/6 (pow.f64 x 3)) x)) (*.f64 (pow.f64 (sin.f64 eps) 2) (*.f64 (pow.f64 x 5) -1/120))) |
(-.f64 (+.f64 (*.f64 1/5040 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 7))) (*.f64 1/6 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 3)))) (+.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) x) (*.f64 1/120 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 5))))) |
(-.f64 (fma.f64 1/5040 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 7)) (*.f64 1/6 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 3)))) (fma.f64 (pow.f64 (sin.f64 eps) 2) x (*.f64 1/120 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 5))))) |
(-.f64 (fma.f64 1/6 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 3)) (*.f64 (pow.f64 (sin.f64 eps) 2) (*.f64 (pow.f64 x 7) 1/5040))) (fma.f64 x (pow.f64 (sin.f64 eps) 2) (*.f64 (pow.f64 (sin.f64 eps) 2) (*.f64 (pow.f64 x 5) 1/120)))) |
(-.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (*.f64 1/6 (pow.f64 x 3)) (*.f64 1/5040 (pow.f64 x 7)))) (*.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 x (*.f64 1/120 (pow.f64 x 5))))) |
(*.f64 -1 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) |
(neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) |
(*.f64 (sin.f64 x) (neg.f64 (pow.f64 (sin.f64 eps) 2))) |
(*.f64 -1 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) |
(neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) |
(*.f64 (sin.f64 x) (neg.f64 (pow.f64 (sin.f64 eps) 2))) |
(*.f64 -1 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) |
(neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) |
(*.f64 (sin.f64 x) (neg.f64 (pow.f64 (sin.f64 eps) 2))) |
(*.f64 -1 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) |
(neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) |
(*.f64 (sin.f64 x) (neg.f64 (pow.f64 (sin.f64 eps) 2))) |
(*.f64 -1 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) |
(neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) |
(*.f64 (sin.f64 x) (neg.f64 (pow.f64 (sin.f64 eps) 2))) |
(*.f64 -1 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) |
(neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) |
(*.f64 (sin.f64 x) (neg.f64 (pow.f64 (sin.f64 eps) 2))) |
(*.f64 -1 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) |
(neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) |
(*.f64 (sin.f64 x) (neg.f64 (pow.f64 (sin.f64 eps) 2))) |
(*.f64 -1 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) |
(neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) |
(*.f64 (sin.f64 x) (neg.f64 (pow.f64 (sin.f64 eps) 2))) |
(pow.f64 eps 2) |
(*.f64 eps eps) |
(-.f64 (pow.f64 eps 2) (*.f64 1/3 (pow.f64 eps 4))) |
(+.f64 (*.f64 eps eps) (*.f64 -1/3 (pow.f64 eps 4))) |
(fma.f64 eps eps (*.f64 (pow.f64 eps 4) -1/3)) |
(-.f64 (+.f64 (*.f64 2/45 (pow.f64 eps 6)) (pow.f64 eps 2)) (*.f64 1/3 (pow.f64 eps 4))) |
(+.f64 (fma.f64 2/45 (pow.f64 eps 6) (*.f64 eps eps)) (*.f64 -1/3 (pow.f64 eps 4))) |
(fma.f64 (pow.f64 eps 6) 2/45 (fma.f64 eps eps (*.f64 (pow.f64 eps 4) -1/3))) |
(fma.f64 (pow.f64 eps 4) -1/3 (fma.f64 eps eps (*.f64 (pow.f64 eps 6) 2/45))) |
(-.f64 (+.f64 (*.f64 2/45 (pow.f64 eps 6)) (pow.f64 eps 2)) (+.f64 (*.f64 1/3 (pow.f64 eps 4)) (*.f64 1/315 (pow.f64 eps 8)))) |
(-.f64 (fma.f64 2/45 (pow.f64 eps 6) (*.f64 eps eps)) (fma.f64 1/3 (pow.f64 eps 4) (*.f64 1/315 (pow.f64 eps 8)))) |
(-.f64 (fma.f64 eps eps (*.f64 (pow.f64 eps 6) 2/45)) (fma.f64 (pow.f64 eps 4) 1/3 (*.f64 1/315 (pow.f64 eps 8)))) |
(fma.f64 eps eps (fma.f64 (pow.f64 eps 6) 2/45 (fma.f64 (pow.f64 eps 4) -1/3 (*.f64 (pow.f64 eps 8) -1/315)))) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))) |
(*.f64 (*.f64 (*.f64 eps eps) (sin.f64 x)) -1/2) |
(*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)) |
(*.f64 eps (*.f64 eps (*.f64 (sin.f64 x) -1/2))) |
(-.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(-.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)))) |
(*.f64 (sin.f64 x) (fma.f64 1/24 (pow.f64 eps 4) (*.f64 (*.f64 eps eps) -1/2))) |
(*.f64 (sin.f64 x) (fma.f64 1/24 (pow.f64 eps 4) (*.f64 eps (*.f64 eps -1/2)))) |
(-.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (*.f64 1/720 (*.f64 (pow.f64 eps 6) (sin.f64 x))) (*.f64 1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))) |
(-.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (fma.f64 1/720 (*.f64 (pow.f64 eps 6) (sin.f64 x)) (*.f64 1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))) |
(-.f64 (*.f64 (pow.f64 eps 4) (*.f64 1/24 (sin.f64 x))) (*.f64 (sin.f64 x) (fma.f64 1/2 (*.f64 eps eps) (*.f64 1/720 (pow.f64 eps 6))))) |
(*.f64 (sin.f64 x) (fma.f64 1/24 (pow.f64 eps 4) (fma.f64 (*.f64 eps eps) -1/2 (*.f64 (pow.f64 eps 6) -1/720)))) |
(-.f64 (+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 1/40320 (*.f64 (pow.f64 eps 8) (sin.f64 x)))) (+.f64 (*.f64 1/720 (*.f64 (pow.f64 eps 6) (sin.f64 x))) (*.f64 1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))) |
(-.f64 (fma.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)) (*.f64 (*.f64 (sin.f64 x) (pow.f64 eps 8)) 1/40320)) (fma.f64 1/720 (*.f64 (pow.f64 eps 6) (sin.f64 x)) (*.f64 1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))) |
(-.f64 (*.f64 (sin.f64 x) (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 (pow.f64 eps 8) 1/40320))) (*.f64 (sin.f64 x) (fma.f64 1/2 (*.f64 eps eps) (*.f64 1/720 (pow.f64 eps 6))))) |
(*.f64 (sin.f64 x) (-.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 (pow.f64 eps 8) 1/40320)) (fma.f64 1/2 (*.f64 eps eps) (*.f64 1/720 (pow.f64 eps 6))))) |
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(/.f64 (neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) (+.f64 1 (cos.f64 eps))) |
(/.f64 (*.f64 (sin.f64 x) (neg.f64 (pow.f64 (sin.f64 eps) 2))) (+.f64 1 (cos.f64 eps))) |
(/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 1 (cos.f64 eps)) (neg.f64 (sin.f64 x)))) |
(*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (neg.f64 (sin.f64 x)) (+.f64 1 (cos.f64 eps)))) |
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(/.f64 (neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) (+.f64 1 (cos.f64 eps))) |
(/.f64 (*.f64 (sin.f64 x) (neg.f64 (pow.f64 (sin.f64 eps) 2))) (+.f64 1 (cos.f64 eps))) |
(/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 1 (cos.f64 eps)) (neg.f64 (sin.f64 x)))) |
(*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (neg.f64 (sin.f64 x)) (+.f64 1 (cos.f64 eps)))) |
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(/.f64 (neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) (+.f64 1 (cos.f64 eps))) |
(/.f64 (*.f64 (sin.f64 x) (neg.f64 (pow.f64 (sin.f64 eps) 2))) (+.f64 1 (cos.f64 eps))) |
(/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 1 (cos.f64 eps)) (neg.f64 (sin.f64 x)))) |
(*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (neg.f64 (sin.f64 x)) (+.f64 1 (cos.f64 eps)))) |
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(/.f64 (neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) (+.f64 1 (cos.f64 eps))) |
(/.f64 (*.f64 (sin.f64 x) (neg.f64 (pow.f64 (sin.f64 eps) 2))) (+.f64 1 (cos.f64 eps))) |
(/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 1 (cos.f64 eps)) (neg.f64 (sin.f64 x)))) |
(*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (neg.f64 (sin.f64 x)) (+.f64 1 (cos.f64 eps)))) |
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(/.f64 (neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) (+.f64 1 (cos.f64 eps))) |
(/.f64 (*.f64 (sin.f64 x) (neg.f64 (pow.f64 (sin.f64 eps) 2))) (+.f64 1 (cos.f64 eps))) |
(/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 1 (cos.f64 eps)) (neg.f64 (sin.f64 x)))) |
(*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (neg.f64 (sin.f64 x)) (+.f64 1 (cos.f64 eps)))) |
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(/.f64 (neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) (+.f64 1 (cos.f64 eps))) |
(/.f64 (*.f64 (sin.f64 x) (neg.f64 (pow.f64 (sin.f64 eps) 2))) (+.f64 1 (cos.f64 eps))) |
(/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 1 (cos.f64 eps)) (neg.f64 (sin.f64 x)))) |
(*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (neg.f64 (sin.f64 x)) (+.f64 1 (cos.f64 eps)))) |
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(/.f64 (neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) (+.f64 1 (cos.f64 eps))) |
(/.f64 (*.f64 (sin.f64 x) (neg.f64 (pow.f64 (sin.f64 eps) 2))) (+.f64 1 (cos.f64 eps))) |
(/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 1 (cos.f64 eps)) (neg.f64 (sin.f64 x)))) |
(*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (neg.f64 (sin.f64 x)) (+.f64 1 (cos.f64 eps)))) |
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(/.f64 (neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) (+.f64 1 (cos.f64 eps))) |
(/.f64 (*.f64 (sin.f64 x) (neg.f64 (pow.f64 (sin.f64 eps) 2))) (+.f64 1 (cos.f64 eps))) |
(/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 1 (cos.f64 eps)) (neg.f64 (sin.f64 x)))) |
(*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (neg.f64 (sin.f64 x)) (+.f64 1 (cos.f64 eps)))) |
(*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) x) (+.f64 1 (cos.f64 eps)))) |
(neg.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 1 (cos.f64 eps)) x))) |
(/.f64 (*.f64 x (neg.f64 (pow.f64 (sin.f64 eps) 2))) (+.f64 1 (cos.f64 eps))) |
(*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))) (neg.f64 x)) |
(*.f64 x (/.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(-.f64 (*.f64 1/6 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 3)) (+.f64 1 (cos.f64 eps)))) (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) x) (+.f64 1 (cos.f64 eps)))) |
(-.f64 (*.f64 1/6 (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 x 3)))) (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 1 (cos.f64 eps)) x))) |
(-.f64 (/.f64 1/6 (/.f64 (+.f64 1 (cos.f64 eps)) (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 3)))) (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))) x)) |
(-.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 1 (cos.f64 eps)) (*.f64 1/6 (pow.f64 x 3)))) (*.f64 (/.f64 x (+.f64 1 (cos.f64 eps))) (pow.f64 (sin.f64 eps) 2))) |
(-.f64 (*.f64 1/6 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 3)) (+.f64 1 (cos.f64 eps)))) (+.f64 (*.f64 1/120 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 5)) (+.f64 1 (cos.f64 eps)))) (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) x) (+.f64 1 (cos.f64 eps))))) |
(-.f64 (*.f64 1/6 (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 x 3)))) (fma.f64 1/120 (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 x 5))) (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 1 (cos.f64 eps)) x)))) |
(-.f64 (/.f64 1/6 (/.f64 (+.f64 1 (cos.f64 eps)) (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 3)))) (fma.f64 1/120 (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))) (pow.f64 x 5)) (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))) x))) |
(-.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 1 (cos.f64 eps)) (*.f64 1/6 (pow.f64 x 3)))) (fma.f64 1/120 (*.f64 (pow.f64 x 5) (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps)))) (*.f64 (/.f64 x (+.f64 1 (cos.f64 eps))) (pow.f64 (sin.f64 eps) 2)))) |
(-.f64 (+.f64 (*.f64 1/5040 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 7)) (+.f64 1 (cos.f64 eps)))) (*.f64 1/6 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 3)) (+.f64 1 (cos.f64 eps))))) (+.f64 (*.f64 1/120 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 5)) (+.f64 1 (cos.f64 eps)))) (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) x) (+.f64 1 (cos.f64 eps))))) |
(-.f64 (fma.f64 1/5040 (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 x 7))) (*.f64 1/6 (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 x 3))))) (fma.f64 1/120 (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 x 5))) (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 1 (cos.f64 eps)) x)))) |
(-.f64 (fma.f64 1/6 (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))) (pow.f64 x 3)) (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (*.f64 (pow.f64 x 7) 1/5040)) (+.f64 1 (cos.f64 eps)))) (fma.f64 1/120 (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))) (pow.f64 x 5)) (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))) x))) |
(-.f64 (fma.f64 1/6 (*.f64 (pow.f64 x 3) (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps)))) (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 1 (cos.f64 eps)) (*.f64 1/5040 (pow.f64 x 7))))) (fma.f64 1/120 (*.f64 (pow.f64 x 5) (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps)))) (*.f64 (/.f64 x (+.f64 1 (cos.f64 eps))) (pow.f64 (sin.f64 eps) 2)))) |
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(/.f64 (neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) (+.f64 1 (cos.f64 eps))) |
(/.f64 (*.f64 (sin.f64 x) (neg.f64 (pow.f64 (sin.f64 eps) 2))) (+.f64 1 (cos.f64 eps))) |
(/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 1 (cos.f64 eps)) (neg.f64 (sin.f64 x)))) |
(*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (neg.f64 (sin.f64 x)) (+.f64 1 (cos.f64 eps)))) |
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(/.f64 (neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) (+.f64 1 (cos.f64 eps))) |
(/.f64 (*.f64 (sin.f64 x) (neg.f64 (pow.f64 (sin.f64 eps) 2))) (+.f64 1 (cos.f64 eps))) |
(/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 1 (cos.f64 eps)) (neg.f64 (sin.f64 x)))) |
(*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (neg.f64 (sin.f64 x)) (+.f64 1 (cos.f64 eps)))) |
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(/.f64 (neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) (+.f64 1 (cos.f64 eps))) |
(/.f64 (*.f64 (sin.f64 x) (neg.f64 (pow.f64 (sin.f64 eps) 2))) (+.f64 1 (cos.f64 eps))) |
(/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 1 (cos.f64 eps)) (neg.f64 (sin.f64 x)))) |
(*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (neg.f64 (sin.f64 x)) (+.f64 1 (cos.f64 eps)))) |
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(/.f64 (neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) (+.f64 1 (cos.f64 eps))) |
(/.f64 (*.f64 (sin.f64 x) (neg.f64 (pow.f64 (sin.f64 eps) 2))) (+.f64 1 (cos.f64 eps))) |
(/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 1 (cos.f64 eps)) (neg.f64 (sin.f64 x)))) |
(*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (neg.f64 (sin.f64 x)) (+.f64 1 (cos.f64 eps)))) |
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(/.f64 (neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) (+.f64 1 (cos.f64 eps))) |
(/.f64 (*.f64 (sin.f64 x) (neg.f64 (pow.f64 (sin.f64 eps) 2))) (+.f64 1 (cos.f64 eps))) |
(/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 1 (cos.f64 eps)) (neg.f64 (sin.f64 x)))) |
(*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (neg.f64 (sin.f64 x)) (+.f64 1 (cos.f64 eps)))) |
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(/.f64 (neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) (+.f64 1 (cos.f64 eps))) |
(/.f64 (*.f64 (sin.f64 x) (neg.f64 (pow.f64 (sin.f64 eps) 2))) (+.f64 1 (cos.f64 eps))) |
(/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 1 (cos.f64 eps)) (neg.f64 (sin.f64 x)))) |
(*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (neg.f64 (sin.f64 x)) (+.f64 1 (cos.f64 eps)))) |
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(/.f64 (neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) (+.f64 1 (cos.f64 eps))) |
(/.f64 (*.f64 (sin.f64 x) (neg.f64 (pow.f64 (sin.f64 eps) 2))) (+.f64 1 (cos.f64 eps))) |
(/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 1 (cos.f64 eps)) (neg.f64 (sin.f64 x)))) |
(*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (neg.f64 (sin.f64 x)) (+.f64 1 (cos.f64 eps)))) |
(*.f64 -1 (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(/.f64 (neg.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2))) (+.f64 1 (cos.f64 eps))) |
(/.f64 (*.f64 (sin.f64 x) (neg.f64 (pow.f64 (sin.f64 eps) 2))) (+.f64 1 (cos.f64 eps))) |
(/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 1 (cos.f64 eps)) (neg.f64 (sin.f64 x)))) |
(*.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (neg.f64 (sin.f64 x)) (+.f64 1 (cos.f64 eps)))) |
9 alts after pruning (8 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 211 | 0 | 211 |
| Fresh | 0 | 8 | 8 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 211 | 9 | 220 |
| Status | Error | Program |
|---|---|---|
| 0.3b | (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) | |
| ✓ | 0.3b | (fma.f64 (sin.f64 eps) (cos.f64 x) (/.f64 (*.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (sin.f64 x)) (+.f64 (cos.f64 eps) 1))) |
| 22.4b | (*.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))) (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))) 2)) | |
| 15.2b | (/.f64 (-.f64 (*.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) (pow.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) 2)) (-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))) | |
| 20.0b | (/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) 3) (pow.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) 3)) (fma.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x)) (-.f64 (pow.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) 2) (*.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))))) | |
| 43.4b | (fma.f64 (sqrt.f64 (sin.f64 x)) (*.f64 (sqrt.f64 (sin.f64 x)) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) | |
| 22.3b | (fma.f64 (sin.f64 eps) (cos.f64 x) (fma.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (*.f64 (cbrt.f64 (sin.f64 x)) (cos.f64 eps)) (neg.f64 (sin.f64 x)))) | |
| 23.5b | (/.f64 (-.f64 (pow.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) 2) (pow.f64 (sin.f64 x) 2)) (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)))) | |
| 24.8b | (/.f64 1 (/.f64 (fma.f64 (sin.f64 x) (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) (pow.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) 2)) (-.f64 (pow.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) 3) (pow.f64 (sin.f64 x) 3)))) |
Compiled 5249 to 2705 computations (48.5% saved)
Total 0.3b remaining (74%)
Threshold costs 0.3b (74%)
Compiled 17446 to 11433 computations (34.5% saved)
| 1× | egg-herbie |
| 6× | *-commutative_binary64 |
| 5× | +-commutative_binary64 |
| 4× | sub-neg_binary64 |
| 4× | neg-sub0_binary64 |
| 4× | neg-mul-1_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 15 | 29 |
| 1 | 24 | 29 |
| 2 | 34 | 29 |
| 3 | 43 | 29 |
| 4 | 48 | 29 |
| 5 | 50 | 29 |
| 1× | saturated |
| Inputs |
|---|
(fma.f64 (sin.f64 eps) (cos.f64 x) (/.f64 (*.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (sin.f64 x)) (+.f64 (cos.f64 eps) 1))) |
| Outputs |
|---|
(fma.f64 (sin.f64 eps) (cos.f64 x) (/.f64 (*.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (sin.f64 x)) (+.f64 (cos.f64 eps) 1))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (neg.f64 (sin.f64 x))) (+.f64 (cos.f64 eps) 1))) |
| 1× | fuel |
Compiled 321 to 172 computations (46.4% saved)
Loading profile data...