Time bar (total: 6.8s)
| 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 | 3605× | body | 1024 | valid |
| 1.6s | 1271× | body | 2048 | valid |
| 540.0ms | 1392× | body | 512 | valid |
| 221.0ms | 1337× | body | 128 | valid |
| 187.0ms | 649× | 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 |
|---|---|---|
| ▶ | 35.8b | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
Compiled 27 to 18 computations (33.3% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 1.2b | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
| ✓ | 3.4b | (sin.f64 (+.f64 x eps)) |
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | x | @ | 0 | (sin.f64 (+.f64 x eps)) |
| 1.0ms | eps | @ | inf | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
| 1.0ms | eps | @ | 0 | (sin.f64 (+.f64 x eps)) |
| 1.0ms | eps | @ | 0 | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
| 0.0ms | x | @ | 0 | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
| 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 | 17 |
| 1 | 173 | 17 |
| 2 | 2737 | 17 |
| 1× | node limit |
| Inputs |
|---|
(sin.f64 (+.f64 x eps)) |
(-.f64 (sin.f64 (+.f64 x eps)) (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 log1p.f64 (expm1.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 expm1.f64 (log1p.f64 (sin.f64 (+.f64 x eps))))))) (#(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 +.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 log1p.f64 (expm1.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 expm1.f64 (log1p.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(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)))))) |
| 1× | egg-herbie |
| 730× | fma-neg_binary64 |
| 266× | cancel-sign-sub-inv_binary64 |
| 264× | associate-+l-_binary64 |
| 245× | distribute-rgt-neg-in_binary64 |
| 243× | sub-neg_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 53 | 602 |
| 1 | 172 | 587 |
| 2 | 566 | 572 |
| 3 | 2209 | 569 |
| 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)) |
| 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 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 -1/2 x) x) 1) (sin.f64 eps))) |
(fma.f64 (cos.f64 eps) x (*.f64 (+.f64 (*.f64 (*.f64 x x) -1/2) 1) (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/6 (*.f64 (cos.f64 eps) (pow.f64 x 3)) (*.f64 (sin.f64 eps) (*.f64 (*.f64 x x) 1/2)))) |
(+.f64 (*.f64 (+.f64 (*.f64 (*.f64 -1/2 x) x) 1) (sin.f64 eps)) (*.f64 (cos.f64 eps) (-.f64 x (*.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 (pow.f64 x 3) -1/6)))) |
(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 (sin.f64 x) (fma.f64 eps (cos.f64 x) (*.f64 (*.f64 eps (*.f64 eps (sin.f64 x))) -1/2))) |
(fma.f64 eps (cos.f64 x) (*.f64 (+.f64 (*.f64 (*.f64 -1/2 eps) eps) 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 eps (*.f64 eps (sin.f64 x))) -1/2))) |
(+.f64 (sin.f64 x) (fma.f64 (cos.f64 x) (-.f64 eps (*.f64 1/6 (pow.f64 eps 3))) (*.f64 (sin.f64 x) (*.f64 (*.f64 -1/2 eps) eps)))) |
(+.f64 (sin.f64 x) (fma.f64 (cos.f64 x) (-.f64 eps (*.f64 1/6 (pow.f64 eps 3))) (*.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -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 (-.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 (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 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 (+.f64 (fma.f64 (cos.f64 eps) x (sin.f64 eps)) (*.f64 (pow.f64 x 3) (-.f64 1/6 (*.f64 (cos.f64 eps) 1/6)))) (fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x 1/2)) x)) |
(+.f64 (fma.f64 (cos.f64 eps) x (sin.f64 eps)) (-.f64 (*.f64 (*.f64 x x) (-.f64 (*.f64 x (-.f64 1/6 (*.f64 (cos.f64 eps) 1/6))) (*.f64 (sin.f64 eps) 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 eps (*.f64 eps (sin.f64 x))) -1/2)) |
(fma.f64 eps (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 (*.f64 -1/2 eps) eps))) |
(*.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 eps (*.f64 eps (sin.f64 x))) -1/2)) |
(fma.f64 (cos.f64 x) (-.f64 eps (*.f64 1/6 (pow.f64 eps 3))) (*.f64 (sin.f64 x) (*.f64 (*.f64 -1/2 eps) eps))) |
(fma.f64 (cos.f64 x) (-.f64 eps (*.f64 1/6 (pow.f64 eps 3))) (*.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -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 eps (*.f64 eps (sin.f64 x))) -1/2))) |
(fma.f64 (sin.f64 x) (*.f64 1/24 (pow.f64 eps 4)) (fma.f64 (cos.f64 x) (-.f64 eps (*.f64 1/6 (pow.f64 eps 3))) (*.f64 (sin.f64 x) (*.f64 (*.f64 -1/2 eps) eps)))) |
(+.f64 (*.f64 (cos.f64 x) (-.f64 eps (*.f64 1/6 (pow.f64 eps 3)))) (*.f64 (*.f64 eps (*.f64 eps (sin.f64 x))) (-.f64 (*.f64 1/24 (*.f64 eps eps)) 1/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)) |
6 alts after pruning (6 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 174 | 6 | 180 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 175 | 6 | 181 |
| Status | Error | Program |
|---|---|---|
| 23.9b | (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))) | |
| 43.7b | (-.f64 (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))) (sin.f64 x)) | |
| 23.3b | (-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x)) | |
| ▶ | 23.2b | (fma.f64 (sin.f64 x) (cos.f64 eps) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) |
| 30.5b | (fma.f64 (cos.f64 x) (-.f64 eps (*.f64 1/6 (pow.f64 eps 3))) (*.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/2)))) | |
| 23.9b | (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))) |
Compiled 3455 to 1057 computations (69.4% saved)
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (cos.f64 x) |
| ✓ | 0.1b | (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) |
| ✓ | 0.2b | (*.f64 (cos.f64 x) (sin.f64 eps)) |
| ✓ | 2.8b | (fma.f64 (sin.f64 x) (cos.f64 eps) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) |
21 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 2.0ms | x | @ | inf | (fma.f64 (sin.f64 x) (cos.f64 eps) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) |
| 1.0ms | eps | @ | inf | (fma.f64 (sin.f64 x) (cos.f64 eps) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) |
| 1.0ms | x | @ | -inf | (fma.f64 (sin.f64 x) (cos.f64 eps) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) |
| 1.0ms | eps | @ | -inf | (fma.f64 (sin.f64 x) (cos.f64 eps) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) |
| 1.0ms | x | @ | 0 | (*.f64 (cos.f64 x) (sin.f64 eps)) |
| 1× | batch-egg-rewrite |
| 817× | prod-diff_binary64 |
| 300× | fma-def_binary64 |
| 198× | expm1-udef_binary64 |
| 198× | log1p-udef_binary64 |
| 174× | fma-neg_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 45 |
| 1 | 208 | 45 |
| 2 | 2740 | 45 |
| 1× | node limit |
| Inputs |
|---|
(fma.f64 (sin.f64 x) (cos.f64 eps) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) |
(*.f64 (cos.f64 x) (sin.f64 eps)) |
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) |
(cos.f64 x) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) (*.f64 (sin.f64 x) (cos.f64 eps)))))) (#(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 (*.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 1) (fma.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))) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.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 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) (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)))) 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 (*.f64 (sin.f64 x) (cos.f64 eps)) 3) (pow.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) 3)) (fma.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (pow.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) 2) (*.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 (-.f64 (*.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (cos.f64 eps))) (pow.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) 2)) (-.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 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 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 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 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 -.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 (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 pow.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 3) 1/3)))) (#(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 log1p.f64 (expm1.f64 (*.f64 (cos.f64 x) (sin.f64 eps))))))) (#(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 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 +.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (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 (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 (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 (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 (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 (neg.f64 (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (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 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))) (pow.f64 (cbrt.f64 (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 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))) 2) (cbrt.f64 (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 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))) (sqrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 3) (pow.f64 (sin.f64 x) 3)) (/.f64 1 (fma.f64 (sin.f64 x) (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)) (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2) (pow.f64 (sin.f64 x) 2)) (/.f64 1 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (sqrt.f64 (cos.f64 x)) (sqrt.f64 (sin.f64 eps)) (sqrt.f64 (sin.f64 x))) (-.f64 (sqrt.f64 (*.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 (cos.f64 x) (sin.f64 eps) (sin.f64 x)) (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2)) (-.f64 (pow.f64 (*.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 (cos.f64 x) (sin.f64 eps) (sin.f64 x)) (-.f64 (pow.f64 (*.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 (*.f64 (cos.f64 x) (sin.f64 eps)) 3) (pow.f64 (sin.f64 x) 3)) (fma.f64 (sin.f64 x) (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)) (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2) (pow.f64 (sin.f64 x) 2)) (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 3) (pow.f64 (sin.f64 x) 3))) (neg.f64 (fma.f64 (sin.f64 x) (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)) (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2) (pow.f64 (sin.f64 x) 2))) (neg.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 3) (pow.f64 (neg.f64 (sin.f64 x)) 3)) (+.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2) (-.f64 (*.f64 (neg.f64 (sin.f64 x)) (neg.f64 (sin.f64 x))) (*.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (neg.f64 (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2) (*.f64 (neg.f64 (sin.f64 x)) (neg.f64 (sin.f64 x)))) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (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 (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 (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 (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 (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 (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 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 eps) (cos.f64 x) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 1 (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.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 (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 (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 (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 (*.f64 (cos.f64 x) (sin.f64 eps)) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.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 (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 (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 (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 (neg.f64 (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2)) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2)) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2)) (cbrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2)) (cbrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))) (pow.f64 (cbrt.f64 (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 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))) (pow.f64 (cbrt.f64 (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 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))) (pow.f64 (cbrt.f64 (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 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))) 2) (cbrt.f64 (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 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))) 2) (cbrt.f64 (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 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))) 2) (cbrt.f64 (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 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.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 (cos.f64 x)) 2) (*.f64 (cbrt.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))) (*.f64 (cos.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (sin.f64 eps)) 2) (*.f64 (cbrt.f64 (sin.f64 eps)) (cos.f64 x)) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (sin.f64 eps)) 2) (*.f64 (cbrt.f64 (sin.f64 eps)) (cos.f64 x)) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(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))) (neg.f64 (sin.f64 x)))))) (#(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 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))) (sqrt.f64 (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 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))) (sqrt.f64 (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 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))) (sqrt.f64 (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 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) (sin.f64 eps)) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.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))) (*.f64 (cos.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 eps)) (*.f64 (sqrt.f64 (sin.f64 eps)) (cos.f64 x)) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 eps)) (*.f64 (sqrt.f64 (sin.f64 eps)) (cos.f64 x)) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 3) (pow.f64 (sin.f64 x) 3)) (/.f64 1 (fma.f64 (sin.f64 x) (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)) (pow.f64 (*.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 (*.f64 (cos.f64 x) (sin.f64 eps)) 3) (pow.f64 (sin.f64 x) 3)) (/.f64 1 (fma.f64 (sin.f64 x) (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)) (pow.f64 (*.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 (*.f64 (cos.f64 x) (sin.f64 eps)) 3) (pow.f64 (sin.f64 x) 3)) (/.f64 1 (fma.f64 (sin.f64 x) (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)) (pow.f64 (*.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 (*.f64 (cos.f64 x) (sin.f64 eps)) 2) (pow.f64 (sin.f64 x) 2)) (/.f64 1 (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 (*.f64 (cos.f64 x) (sin.f64 eps)) 2) (pow.f64 (sin.f64 x) 2)) (/.f64 1 (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 (*.f64 (cos.f64 x) (sin.f64 eps)) 2) (pow.f64 (sin.f64 x) 2)) (/.f64 1 (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 (neg.f64 (sin.f64 x))) (cbrt.f64 (neg.f64 (sin.f64 x)))) (cbrt.f64 (neg.f64 (sin.f64 x))) (*.f64 (cos.f64 x) (sin.f64 eps)))))) (#(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 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)) (*.f64 (cos.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (sqrt.f64 (cos.f64 x)) (sqrt.f64 (sin.f64 eps)) (sqrt.f64 (sin.f64 x))) (-.f64 (sqrt.f64 (*.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 (fma.f64 (sqrt.f64 (cos.f64 x)) (sqrt.f64 (sin.f64 eps)) (sqrt.f64 (sin.f64 x))) (-.f64 (sqrt.f64 (*.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 (fma.f64 (sqrt.f64 (cos.f64 x)) (sqrt.f64 (sin.f64 eps)) (sqrt.f64 (sin.f64 x))) (-.f64 (sqrt.f64 (*.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 (neg.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2)) (cbrt.f64 (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 x) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2)) (cbrt.f64 (sin.f64 eps)) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 x) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2)) (cbrt.f64 (sin.f64 eps)) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 x) (sqrt.f64 (sin.f64 eps))) (sqrt.f64 (sin.f64 eps)) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 x) (sqrt.f64 (sin.f64 eps))) (sqrt.f64 (sin.f64 eps)) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 eps) (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) (cbrt.f64 (cos.f64 x)) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 eps) (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) (cbrt.f64 (cos.f64 x)) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 eps) (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x)) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 eps) (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x)) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (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 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))) 1)))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cos.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cos.f64 x)) (pow.f64 (cbrt.f64 (cos.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cbrt.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 x)) (sqrt.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cos.f64 x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cos.f64 x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (cos.f64 x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cos.f64 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (cos.f64 x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cos.f64 x)) 1)))))) |
| 1× | egg-herbie |
| 423× | fma-def_binary64 |
| 420× | distribute-rgt-neg-in_binary64 |
| 407× | distribute-lft-neg-in_binary64 |
| 388× | sub-neg_binary64 |
| 337× | cancel-sign-sub-inv_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 101 | 1070 |
| 1 | 312 | 1028 |
| 2 | 957 | 945 |
| 3 | 3769 | 945 |
| 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 (sin.f64 x) (cos.f64 eps))) (sin.f64 x)) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x)) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x)) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (cos.f64 eps))) (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 (sin.f64 eps) x) |
(-.f64 (sin.f64 eps) (+.f64 x (*.f64 1/2 (*.f64 (sin.f64 eps) (pow.f64 x 2))))) |
(-.f64 (+.f64 (sin.f64 eps) (*.f64 1/6 (pow.f64 x 3))) (+.f64 x (*.f64 1/2 (*.f64 (sin.f64 eps) (pow.f64 x 2))))) |
(*.f64 -1 (sin.f64 x)) |
(-.f64 (*.f64 eps (cos.f64 x)) (sin.f64 x)) |
(-.f64 (*.f64 eps (cos.f64 x)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (sin.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))) (sin.f64 x))) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (sin.f64 x)) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (sin.f64 x)) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (sin.f64 x)) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (sin.f64 x)) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (sin.f64 x)) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (sin.f64 x)) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (sin.f64 x)) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (sin.f64 x)) |
1 |
(-.f64 1 (*.f64 1/2 (pow.f64 x 2))) |
(-.f64 (+.f64 (*.f64 1/24 (pow.f64 x 4)) 1) (*.f64 1/2 (pow.f64 x 2))) |
(-.f64 (+.f64 (*.f64 1/24 (pow.f64 x 4)) 1) (+.f64 (*.f64 1/720 (pow.f64 x 6)) (*.f64 1/2 (pow.f64 x 2)))) |
| Outputs |
|---|
(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 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)) |
(fma.f64 (cos.f64 eps) x (-.f64 (*.f64 (fma.f64 (*.f64 x -1/2) x 1) (sin.f64 eps)) 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 (sin.f64 eps) (*.f64 x (*.f64 x 1/2)) 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 (sin.f64 eps) (*.f64 x (*.f64 x 1/2)) 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 eps) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.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 eps) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.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 eps) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.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 eps) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.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 (sin.f64 x) (cos.f64 eps))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 eps) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.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 (sin.f64 x) (cos.f64 eps))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 eps) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.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 (sin.f64 x) (cos.f64 eps))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 eps) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.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 (sin.f64 x) (cos.f64 eps))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 eps) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.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 (sin.f64 x) (*.f64 (*.f64 eps eps) -1/2))) |
(fma.f64 eps (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/2)))) |
(-.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 (sin.f64 x) (*.f64 (*.f64 eps eps) -1/2))) |
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 (pow.f64 eps 3) -1/6)) (*.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -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 (sin.f64 x) (*.f64 (*.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 (sin.f64 x) (*.f64 eps (*.f64 eps -1/2))))) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 eps) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.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 eps) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.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 eps) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.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 eps) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.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 eps) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.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 eps) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.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 eps) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.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 eps) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.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 (fma.f64 (*.f64 x -1/2) x 1) (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) (fma.f64 1/24 (pow.f64 x 4) (*.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 1/720 (pow.f64 x 6))))) |
(+.f64 (*.f64 (fma.f64 (*.f64 x -1/2) x 1) (sin.f64 eps)) (*.f64 (sin.f64 eps) (fma.f64 1/24 (pow.f64 x 4) (*.f64 (pow.f64 x 6) -1/720)))) |
(+.f64 (*.f64 (fma.f64 1/24 (pow.f64 x 4) 1) (sin.f64 eps)) (*.f64 (sin.f64 eps) (fma.f64 (*.f64 x x) -1/2 (*.f64 (pow.f64 x 6) -1/720)))) |
(*.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 (fma.f64 1/120 (pow.f64 eps 5) 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 (*.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/5040 (pow.f64 eps 7)) (*.f64 1/6 (pow.f64 eps 3))))) |
(*.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 (sin.f64 eps) x) |
(-.f64 (sin.f64 eps) (+.f64 x (*.f64 1/2 (*.f64 (sin.f64 eps) (pow.f64 x 2))))) |
(-.f64 (sin.f64 eps) (+.f64 x (*.f64 1/2 (*.f64 (sin.f64 eps) (*.f64 x x))))) |
(-.f64 (sin.f64 eps) (fma.f64 1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) x)) |
(-.f64 (*.f64 (fma.f64 (*.f64 x -1/2) x 1) (sin.f64 eps)) x) |
(-.f64 (+.f64 (sin.f64 eps) (*.f64 1/6 (pow.f64 x 3))) (+.f64 x (*.f64 1/2 (*.f64 (sin.f64 eps) (pow.f64 x 2))))) |
(-.f64 (+.f64 (sin.f64 eps) (*.f64 1/6 (pow.f64 x 3))) (+.f64 x (*.f64 1/2 (*.f64 (sin.f64 eps) (*.f64 x x))))) |
(-.f64 (fma.f64 1/6 (pow.f64 x 3) (sin.f64 eps)) (fma.f64 1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) x)) |
(fma.f64 1/6 (pow.f64 x 3) (-.f64 (*.f64 (fma.f64 (*.f64 x -1/2) x 1) (sin.f64 eps)) x)) |
(*.f64 -1 (sin.f64 x)) |
(neg.f64 (sin.f64 x)) |
(-.f64 (*.f64 eps (cos.f64 x)) (sin.f64 x)) |
(fma.f64 eps (cos.f64 x) (neg.f64 (sin.f64 x))) |
(-.f64 (*.f64 eps (cos.f64 x)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (sin.f64 x))) |
(-.f64 (*.f64 eps (cos.f64 x)) (fma.f64 1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (sin.f64 x))) |
(-.f64 (*.f64 (cos.f64 x) (-.f64 eps (*.f64 1/6 (pow.f64 eps 3)))) (sin.f64 x)) |
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 (pow.f64 eps 3) -1/6)) (neg.f64 (sin.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))) (sin.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)) (sin.f64 x))) |
(-.f64 (*.f64 (cos.f64 x) (+.f64 eps (*.f64 1/120 (pow.f64 eps 5)))) (fma.f64 1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (sin.f64 x))) |
(-.f64 (*.f64 (cos.f64 x) (-.f64 (fma.f64 1/120 (pow.f64 eps 5) eps) (*.f64 1/6 (pow.f64 eps 3)))) (sin.f64 x)) |
(-.f64 (*.f64 (cos.f64 x) (+.f64 (fma.f64 1/120 (pow.f64 eps 5) eps) (*.f64 (pow.f64 eps 3) -1/6))) (sin.f64 x)) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (neg.f64 (sin.f64 x))) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (neg.f64 (sin.f64 x))) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (neg.f64 (sin.f64 x))) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (neg.f64 (sin.f64 x))) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (neg.f64 (sin.f64 x))) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (neg.f64 (sin.f64 x))) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (neg.f64 (sin.f64 x))) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (neg.f64 (sin.f64 x))) |
1 |
(-.f64 1 (*.f64 1/2 (pow.f64 x 2))) |
(+.f64 1 (*.f64 -1/2 (*.f64 x x))) |
(+.f64 1 (*.f64 (*.f64 x x) -1/2)) |
(fma.f64 (*.f64 x -1/2) x 1) |
(-.f64 (+.f64 (*.f64 1/24 (pow.f64 x 4)) 1) (*.f64 1/2 (pow.f64 x 2))) |
(+.f64 (fma.f64 1/24 (pow.f64 x 4) 1) (*.f64 -1/2 (*.f64 x x))) |
(+.f64 (fma.f64 1/24 (pow.f64 x 4) 1) (*.f64 (*.f64 x x) -1/2)) |
(fma.f64 (*.f64 x x) -1/2 (fma.f64 1/24 (pow.f64 x 4) 1)) |
(-.f64 (+.f64 (*.f64 1/24 (pow.f64 x 4)) 1) (+.f64 (*.f64 1/720 (pow.f64 x 6)) (*.f64 1/2 (pow.f64 x 2)))) |
(-.f64 (fma.f64 1/24 (pow.f64 x 4) 1) (fma.f64 1/720 (pow.f64 x 6) (*.f64 1/2 (*.f64 x x)))) |
(-.f64 (fma.f64 1/24 (pow.f64 x 4) 1) (fma.f64 1/2 (*.f64 x x) (*.f64 1/720 (pow.f64 x 6)))) |
(+.f64 (fma.f64 1/24 (pow.f64 x 4) 1) (fma.f64 (*.f64 x x) -1/2 (*.f64 (pow.f64 x 6) -1/720))) |
(+.f64 1 (fma.f64 1/24 (pow.f64 x 4) (fma.f64 (*.f64 x x) -1/2 (*.f64 (pow.f64 x 6) -1/720)))) |
11 alts after pruning (11 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 198 | 9 | 207 |
| Fresh | 3 | 2 | 5 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 202 | 11 | 213 |
| Status | Error | Program |
|---|---|---|
| 23.9b | (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) | |
| ▶ | 0.4b | (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
| 45.0b | (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) | |
| 43.7b | (-.f64 (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))) (sin.f64 x)) | |
| 24.4b | (/.f64 (-.f64 (*.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (cos.f64 eps))) (pow.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) 2)) (-.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))) | |
| 25.6b | (/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 3) (pow.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) 3)) (fma.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (pow.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) 2) (*.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))))) | |
| 23.2b | (fma.f64 (sin.f64 x) (cos.f64 eps) (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (neg.f64 (sin.f64 x)))) | |
| 30.8b | (fma.f64 (sin.f64 x) (cos.f64 eps) (-.f64 (log.f64 (pow.f64 (exp.f64 (cos.f64 x)) (sin.f64 eps))) (sin.f64 x))) | |
| 30.5b | (fma.f64 (cos.f64 x) (-.f64 eps (*.f64 1/6 (pow.f64 eps 3))) (*.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/2)))) | |
| 25.5b | (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)) | |
| 30.7b | (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)))))) |
Compiled 4856 to 1498 computations (69.2% saved)
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (cos.f64 x) | |
| ✓ | 0.1b | (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)) |
| ✓ | 0.2b | (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
| ✓ | 1.9b | (+.f64 (cos.f64 eps) -1) |
15 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 2.0ms | eps | @ | -inf | (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
| 1.0ms | x | @ | -inf | (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
| 1.0ms | x | @ | 0 | (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1)) |
| 1.0ms | x | @ | inf | (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
| 1.0ms | eps | @ | 0 | (+.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) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(*.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 log1p.f64 (expm1.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)) (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 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 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 +.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 (+.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 (+.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 log1p.f64 (expm1.f64 (+.f64 (sin.f64 (+.f64 eps x)) (neg.f64 (sin.f64 x)))))))) (#(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 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 +.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 (+.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 (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 log1p.f64 (expm1.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 (cbrt.f64 (pow.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 (cbrt.f64 (pow.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 (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 (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 (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 (*.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 (cbrt.f64 (pow.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) (cbrt.f64 (pow.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 expm1.f64 (log1p.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))))))) (#(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)))))) |
| 1× | egg-herbie |
| 630× | fma-def_binary64 |
| 575× | sub-neg_binary64 |
| 424× | cancel-sign-sub-inv_binary64 |
| 273× | associate-*l*_binary64 |
| 257× | associate-*r*_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 106 | 1102 |
| 1 | 327 | 1032 |
| 2 | 1070 | 986 |
| 3 | 4767 | 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 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)) |
(*.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)) |
| 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/24 (pow.f64 eps 4) (fma.f64 1/40320 (pow.f64 eps 8) (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 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 eps) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) (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 eps) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) (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 eps) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) (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 eps) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) (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 eps) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) (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 eps) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) (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 eps) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) (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 eps) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) (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) |
(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 x (*.f64 x (sin.f64 eps))) x)) |
(-.f64 (fma.f64 (cos.f64 eps) x (sin.f64 eps)) (fma.f64 (sin.f64 eps) (*.f64 1/2 (*.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 x (*.f64 x (sin.f64 eps))) 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 (sin.f64 eps) (*.f64 1/2 (*.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 (sin.f64 eps) (*.f64 1/2 (*.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 eps) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) (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 eps) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) (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 eps) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) (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 eps) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) (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 eps) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) (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 eps) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) (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 eps) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) (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 eps) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) (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 (cos.f64 eps) 1) x) |
(*.f64 (+.f64 (cos.f64 eps) -1) x) |
(-.f64 (*.f64 (cos.f64 eps) x) 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/6 (pow.f64 x 3) (*.f64 1/5040 (pow.f64 x 7))))))) |
(*.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)))) |
(+.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 -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 (pow.f64 eps 4) (*.f64 (sin.f64 x) 1/24)) (*.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/24 (pow.f64 eps 4) (fma.f64 1/40320 (pow.f64 eps 8) (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)) |
12 alts after pruning (12 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 174 | 8 | 182 |
| Fresh | 6 | 4 | 10 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 181 | 12 | 193 |
| Status | Error | Program |
|---|---|---|
| ▶ | 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))) |
| 0.4b | (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) | |
| 43.7b | (-.f64 (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))) (sin.f64 x)) | |
| 0.6b | (fma.f64 (sin.f64 eps) (log.f64 (exp.f64 (cos.f64 x))) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) | |
| 25.5b | (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)) | |
| 0.6b | (fma.f64 (sin.f64 eps) (log.f64 (+.f64 1 (expm1.f64 (cos.f64 x)))) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) | |
| 30.7b | (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)))))) | |
| 0.5b | (fma.f64 (sin.f64 eps) (log1p.f64 (expm1.f64 (cos.f64 x))) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) | |
| 14.4b | (fma.f64 (sin.f64 eps) (cos.f64 x) (fma.f64 (sqrt.f64 (cos.f64 eps)) (*.f64 (sqrt.f64 (cos.f64 eps)) (sin.f64 x)) (neg.f64 (sin.f64 x)))) | |
| 30.8b | (fma.f64 (sin.f64 x) (cos.f64 eps) (-.f64 (log.f64 (pow.f64 (exp.f64 (cos.f64 x)) (sin.f64 eps))) (sin.f64 x))) | |
| 29.8b | (fma.f64 (sin.f64 eps) (fma.f64 (*.f64 x -1/2) x 1) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) | |
| 0.5b | (fma.f64 (sin.f64 eps) (cbrt.f64 (pow.f64 (cos.f64 x) 3)) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
Compiled 3750 to 1649 computations (56% saved)
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.2b | (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))) |
| ✓ | 0.2b | (*.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (sin.f64 x)) |
| ✓ | 0.2b | (pow.f64 (sin.f64 eps) 2) |
| ✓ | 0.3b | (+.f64 (cos.f64 eps) 1) |
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 8.0ms | x | @ | 0 | (*.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (sin.f64 x)) |
| 3.0ms | x | @ | 0 | (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))) |
| 1.0ms | x | @ | inf | (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))) |
| 1.0ms | x | @ | -inf | (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))) |
| 1.0ms | eps | @ | -inf | (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))) |
| 1× | batch-egg-rewrite |
| 474× | prod-diff_binary64 |
| 158× | add-sqr-sqrt_binary64 |
| 154× | pow1_binary64 |
| 153× | *-un-lft-identity_binary64 |
| 146× | add-log-exp_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 15 | 54 |
| 1 | 315 | 42 |
| 2 | 4100 | 42 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (cos.f64 eps) 1) |
(pow.f64 (sin.f64 eps) 2) |
(*.f64 (neg.f64 (pow.f64 (sin.f64 eps) 2)) (sin.f64 x)) |
(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 |
|---|
((#(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)) (cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) 1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) 1) 2)) (cbrt.f64 (+.f64 (cos.f64 eps) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.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 1 (cos.f64 eps)))))))) (#(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 (cbrt.f64 (pow.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 1 (cos.f64 eps))) (+.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 1 (cos.f64 eps))))))) (#(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 1 (cos.f64 eps))))))) (#(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 1 (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 (cos.f64 eps) 2)) (-.f64 1 (cos.f64 eps)))))) (#(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 cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) 1) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 (cos.f64 eps) 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 (pow.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 expm1.f64 (log1p.f64 (+.f64 (cos.f64 eps) 1)))))) (#(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 +.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 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 (cos.f64 (-.f64 eps eps)) (cos.f64 (+.f64 eps 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) (+.f64 (*.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 (-.f64 (*.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 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 cbrt.f64 (pow.f64 (pow.f64 (sin.f64 eps) 2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (sin.f64 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 eps) (cos.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 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 -.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 (pow.f64 (sin.f64 eps) 2)) (sin.f64 x)))))) (#(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 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 log1p.f64 (expm1.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (sin.f64 x))))))) (#(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 exp.f64 (log.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (sin.f64 x))) 1)))))) |
((#(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 (exp.f64 (log1p.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))) (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))) 2) (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))) (sqrt.f64 (fma.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 (pow.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) 3) (pow.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) 3)) (+.f64 (*.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 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))) 1)))))) |
| 1× | egg-herbie |
| 490× | distribute-rgt-neg-in_binary64 |
| 381× | associate-*l*_binary64 |
| 379× | associate-*r*_binary64 |
| 362× | fma-def_binary64 |
| 303× | cancel-sign-sub-inv_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 105 | 1312 |
| 1 | 315 | 1272 |
| 2 | 985 | 1224 |
| 3 | 4038 | 1224 |
| 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)) |
(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 (*.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))) |
(*.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 (sin.f64 eps) (cos.f64 x)) (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(sin.f64 eps) |
(-.f64 (sin.f64 eps) (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) x) (+.f64 1 (cos.f64 eps)))) |
(-.f64 (sin.f64 eps) (+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) x) (+.f64 1 (cos.f64 eps))) (*.f64 1/2 (*.f64 (sin.f64 eps) (pow.f64 x 2))))) |
(-.f64 (+.f64 (*.f64 1/6 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 3)) (+.f64 1 (cos.f64 eps)))) (sin.f64 eps)) (+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) x) (+.f64 1 (cos.f64 eps))) (*.f64 1/2 (*.f64 (sin.f64 eps) (pow.f64 x 2))))) |
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (/.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 (*.f64 eps eps) -1/2 (fma.f64 1/24 (pow.f64 eps 4) 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 2 (-.f64 (*.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 2 (fma.f64 1/24 (pow.f64 eps 4) (fma.f64 (*.f64 eps eps) -1/2 (*.f64 (pow.f64 eps 6) -1/720)))) |
(+.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)) |
(pow.f64 eps 2) |
(*.f64 eps eps) |
(-.f64 (pow.f64 eps 2) (*.f64 1/3 (pow.f64 eps 4))) |
(-.f64 (*.f64 eps eps) (*.f64 (pow.f64 eps 4) 1/3)) |
(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 (pow.f64 eps 6) 2/45 (fma.f64 eps eps (*.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)))) |
(fma.f64 (pow.f64 eps 6) 2/45 (fma.f64 eps eps (fma.f64 (pow.f64 eps 4) -1/3 (*.f64 (pow.f64 eps 8) -1/315)))) |
(*.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 (neg.f64 eps) (*.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 (*.f64 (pow.f64 eps 4) 1/3) (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 (sin.f64 x) (fma.f64 (pow.f64 eps 4) 1/3 (*.f64 eps (neg.f64 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 (*.f64 (pow.f64 eps 4) 1/3) (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 1/3 (sin.f64 x))) (*.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 (*.f64 1/315 (pow.f64 eps 8)) (sin.f64 x))) (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 (pow.f64 (sin.f64 eps) 2) (neg.f64 (sin.f64 x))) |
(*.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 (pow.f64 (sin.f64 eps) 2) (neg.f64 (sin.f64 x))) |
(*.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 (pow.f64 (sin.f64 eps) 2) (neg.f64 (sin.f64 x))) |
(*.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 (pow.f64 (sin.f64 eps) 2) (neg.f64 (sin.f64 x))) |
(*.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 (pow.f64 (sin.f64 eps) 2) (neg.f64 (sin.f64 x))) |
(*.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 (pow.f64 (sin.f64 eps) 2) (neg.f64 (sin.f64 x))) |
(*.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 (pow.f64 (sin.f64 eps) 2) (neg.f64 (sin.f64 x))) |
(*.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 (pow.f64 (sin.f64 eps) 2) (neg.f64 (sin.f64 x))) |
(*.f64 -1 (*.f64 (pow.f64 (sin.f64 eps) 2) x)) |
(neg.f64 (*.f64 x (pow.f64 (sin.f64 eps) 2))) |
(*.f64 (pow.f64 (sin.f64 eps) 2) (neg.f64 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 x (pow.f64 (sin.f64 eps) 2))) |
(fma.f64 1/6 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 3)) (*.f64 (pow.f64 (sin.f64 eps) 2) (neg.f64 x))) |
(*.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 1/6 (pow.f64 x 3))) (*.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 x (*.f64 1/120 (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 (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 (pow.f64 (sin.f64 eps) 2) (neg.f64 (sin.f64 x))) |
(*.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 (pow.f64 (sin.f64 eps) 2) (neg.f64 (sin.f64 x))) |
(*.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 (pow.f64 (sin.f64 eps) 2) (neg.f64 (sin.f64 x))) |
(*.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 (pow.f64 (sin.f64 eps) 2) (neg.f64 (sin.f64 x))) |
(*.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 (pow.f64 (sin.f64 eps) 2) (neg.f64 (sin.f64 x))) |
(*.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 (pow.f64 (sin.f64 eps) 2) (neg.f64 (sin.f64 x))) |
(*.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 (pow.f64 (sin.f64 eps) 2) (neg.f64 (sin.f64 x))) |
(*.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 (pow.f64 (sin.f64 eps) 2) (neg.f64 (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/2 (*.f64 eps eps)) (sin.f64 x))) |
(fma.f64 eps (cos.f64 x) (*.f64 (*.f64 eps (*.f64 eps (sin.f64 x))) -1/2)) |
(fma.f64 (*.f64 (sin.f64 x) -1/2) (*.f64 eps eps) (*.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 (*.f64 1/2 (*.f64 eps eps)) (sin.f64 x)))) |
(+.f64 (*.f64 (cos.f64 x) (-.f64 eps (*.f64 1/6 (pow.f64 eps 3)))) (*.f64 (*.f64 eps (*.f64 eps (sin.f64 x))) -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 (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 (*.f64 1/2 (*.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 (*.f64 eps (*.f64 eps (sin.f64 x))) -1/2))) |
(fma.f64 1/24 (*.f64 (pow.f64 eps 4) (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)))) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (/.f64 (sin.f64 x) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 (sin.f64 eps) 2)))) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (/.f64 (sin.f64 x) (+.f64 1 (cos.f64 eps))) (pow.f64 (sin.f64 eps) 2))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (/.f64 (neg.f64 (sin.f64 x)) (+.f64 1 (cos.f64 eps))) (pow.f64 (sin.f64 eps) 2))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))) (neg.f64 (sin.f64 x)))) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (/.f64 (sin.f64 x) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 (sin.f64 eps) 2)))) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (/.f64 (sin.f64 x) (+.f64 1 (cos.f64 eps))) (pow.f64 (sin.f64 eps) 2))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (/.f64 (neg.f64 (sin.f64 x)) (+.f64 1 (cos.f64 eps))) (pow.f64 (sin.f64 eps) 2))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))) (neg.f64 (sin.f64 x)))) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (/.f64 (sin.f64 x) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 (sin.f64 eps) 2)))) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (/.f64 (sin.f64 x) (+.f64 1 (cos.f64 eps))) (pow.f64 (sin.f64 eps) 2))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (/.f64 (neg.f64 (sin.f64 x)) (+.f64 1 (cos.f64 eps))) (pow.f64 (sin.f64 eps) 2))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))) (neg.f64 (sin.f64 x)))) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (/.f64 (sin.f64 x) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 (sin.f64 eps) 2)))) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (/.f64 (sin.f64 x) (+.f64 1 (cos.f64 eps))) (pow.f64 (sin.f64 eps) 2))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (/.f64 (neg.f64 (sin.f64 x)) (+.f64 1 (cos.f64 eps))) (pow.f64 (sin.f64 eps) 2))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))) (neg.f64 (sin.f64 x)))) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (/.f64 (sin.f64 x) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 (sin.f64 eps) 2)))) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (/.f64 (sin.f64 x) (+.f64 1 (cos.f64 eps))) (pow.f64 (sin.f64 eps) 2))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (/.f64 (neg.f64 (sin.f64 x)) (+.f64 1 (cos.f64 eps))) (pow.f64 (sin.f64 eps) 2))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))) (neg.f64 (sin.f64 x)))) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (/.f64 (sin.f64 x) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 (sin.f64 eps) 2)))) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (/.f64 (sin.f64 x) (+.f64 1 (cos.f64 eps))) (pow.f64 (sin.f64 eps) 2))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (/.f64 (neg.f64 (sin.f64 x)) (+.f64 1 (cos.f64 eps))) (pow.f64 (sin.f64 eps) 2))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))) (neg.f64 (sin.f64 x)))) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (/.f64 (sin.f64 x) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 (sin.f64 eps) 2)))) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (/.f64 (sin.f64 x) (+.f64 1 (cos.f64 eps))) (pow.f64 (sin.f64 eps) 2))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (/.f64 (neg.f64 (sin.f64 x)) (+.f64 1 (cos.f64 eps))) (pow.f64 (sin.f64 eps) 2))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))) (neg.f64 (sin.f64 x)))) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (/.f64 (sin.f64 x) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 (sin.f64 eps) 2)))) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (/.f64 (sin.f64 x) (+.f64 1 (cos.f64 eps))) (pow.f64 (sin.f64 eps) 2))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (/.f64 (neg.f64 (sin.f64 x)) (+.f64 1 (cos.f64 eps))) (pow.f64 (sin.f64 eps) 2))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))) (neg.f64 (sin.f64 x)))) |
(sin.f64 eps) |
(-.f64 (sin.f64 eps) (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) x) (+.f64 1 (cos.f64 eps)))) |
(-.f64 (sin.f64 eps) (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 1 (cos.f64 eps)) x))) |
(-.f64 (sin.f64 eps) (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))) x)) |
(-.f64 (sin.f64 eps) (*.f64 x (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))))) |
(-.f64 (sin.f64 eps) (+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) x) (+.f64 1 (cos.f64 eps))) (*.f64 1/2 (*.f64 (sin.f64 eps) (pow.f64 x 2))))) |
(-.f64 (sin.f64 eps) (+.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 1 (cos.f64 eps)) x)) (*.f64 1/2 (*.f64 (sin.f64 eps) (*.f64 x x))))) |
(-.f64 (sin.f64 eps) (fma.f64 1/2 (*.f64 x (*.f64 x (sin.f64 eps))) (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))) x))) |
(-.f64 (sin.f64 eps) (*.f64 x (+.f64 (*.f64 (sin.f64 eps) (*.f64 1/2 x)) (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps)))))) |
(-.f64 (+.f64 (*.f64 1/6 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 x 3)) (+.f64 1 (cos.f64 eps)))) (sin.f64 eps)) (+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 eps) 2) x) (+.f64 1 (cos.f64 eps))) (*.f64 1/2 (*.f64 (sin.f64 eps) (pow.f64 x 2))))) |
(-.f64 (-.f64 (fma.f64 1/6 (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 x 3))) (sin.f64 eps)) (/.f64 (pow.f64 (sin.f64 eps) 2) (/.f64 (+.f64 1 (cos.f64 eps)) x))) (*.f64 1/2 (*.f64 (sin.f64 eps) (*.f64 x x)))) |
(-.f64 (fma.f64 1/6 (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))) (pow.f64 x 3)) (sin.f64 eps)) (fma.f64 1/2 (*.f64 x (*.f64 x (sin.f64 eps))) (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))) x))) |
(fma.f64 1/6 (*.f64 (pow.f64 x 3) (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps)))) (-.f64 (sin.f64 eps) (*.f64 x (+.f64 (*.f64 (sin.f64 eps) (*.f64 1/2 x)) (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))))))) |
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (/.f64 (sin.f64 x) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 (sin.f64 eps) 2)))) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (/.f64 (sin.f64 x) (+.f64 1 (cos.f64 eps))) (pow.f64 (sin.f64 eps) 2))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (/.f64 (neg.f64 (sin.f64 x)) (+.f64 1 (cos.f64 eps))) (pow.f64 (sin.f64 eps) 2))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))) (neg.f64 (sin.f64 x)))) |
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (/.f64 (sin.f64 x) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 (sin.f64 eps) 2)))) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (/.f64 (sin.f64 x) (+.f64 1 (cos.f64 eps))) (pow.f64 (sin.f64 eps) 2))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (/.f64 (neg.f64 (sin.f64 x)) (+.f64 1 (cos.f64 eps))) (pow.f64 (sin.f64 eps) 2))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))) (neg.f64 (sin.f64 x)))) |
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (/.f64 (sin.f64 x) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 (sin.f64 eps) 2)))) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (/.f64 (sin.f64 x) (+.f64 1 (cos.f64 eps))) (pow.f64 (sin.f64 eps) 2))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (/.f64 (neg.f64 (sin.f64 x)) (+.f64 1 (cos.f64 eps))) (pow.f64 (sin.f64 eps) 2))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))) (neg.f64 (sin.f64 x)))) |
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (/.f64 (sin.f64 x) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 (sin.f64 eps) 2)))) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (/.f64 (sin.f64 x) (+.f64 1 (cos.f64 eps))) (pow.f64 (sin.f64 eps) 2))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (/.f64 (neg.f64 (sin.f64 x)) (+.f64 1 (cos.f64 eps))) (pow.f64 (sin.f64 eps) 2))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))) (neg.f64 (sin.f64 x)))) |
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (/.f64 (sin.f64 x) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 (sin.f64 eps) 2)))) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (/.f64 (sin.f64 x) (+.f64 1 (cos.f64 eps))) (pow.f64 (sin.f64 eps) 2))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (/.f64 (neg.f64 (sin.f64 x)) (+.f64 1 (cos.f64 eps))) (pow.f64 (sin.f64 eps) 2))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))) (neg.f64 (sin.f64 x)))) |
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (/.f64 (sin.f64 x) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 (sin.f64 eps) 2)))) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (/.f64 (sin.f64 x) (+.f64 1 (cos.f64 eps))) (pow.f64 (sin.f64 eps) 2))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (/.f64 (neg.f64 (sin.f64 x)) (+.f64 1 (cos.f64 eps))) (pow.f64 (sin.f64 eps) 2))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))) (neg.f64 (sin.f64 x)))) |
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (/.f64 (sin.f64 x) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 (sin.f64 eps) 2)))) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (/.f64 (sin.f64 x) (+.f64 1 (cos.f64 eps))) (pow.f64 (sin.f64 eps) 2))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (/.f64 (neg.f64 (sin.f64 x)) (+.f64 1 (cos.f64 eps))) (pow.f64 (sin.f64 eps) 2))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))) (neg.f64 (sin.f64 x)))) |
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (/.f64 (sin.f64 x) (/.f64 (+.f64 1 (cos.f64 eps)) (pow.f64 (sin.f64 eps) 2)))) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (/.f64 (sin.f64 x) (+.f64 1 (cos.f64 eps))) (pow.f64 (sin.f64 eps) 2))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (/.f64 (neg.f64 (sin.f64 x)) (+.f64 1 (cos.f64 eps))) (pow.f64 (sin.f64 eps) 2))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 1 (cos.f64 eps))) (neg.f64 (sin.f64 x)))) |
11 alts after pruning (11 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 168 | 3 | 171 |
| Fresh | 3 | 8 | 11 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 172 | 11 | 183 |
| Status | Error | Program |
|---|---|---|
| 0.5b | (fma.f64 (sin.f64 eps) (log1p.f64 (expm1.f64 (cos.f64 x))) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) | |
| 0.3b | (-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) | |
| 14.4b | (fma.f64 (sin.f64 eps) (cos.f64 x) (fma.f64 (sqrt.f64 (cos.f64 eps)) (*.f64 (sqrt.f64 (cos.f64 eps)) (sin.f64 x)) (neg.f64 (sin.f64 x)))) | |
| 20.7b | (cbrt.f64 (pow.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) 3)) | |
| 33.4b | (pow.f64 (sqrt.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))) 2) | |
| 30.8b | (fma.f64 (sin.f64 x) (cos.f64 eps) (-.f64 (log.f64 (pow.f64 (exp.f64 (cos.f64 x)) (sin.f64 eps))) (sin.f64 x))) | |
| 0.6b | (fma.f64 (sin.f64 eps) (log.f64 (+.f64 1 (expm1.f64 (cos.f64 x)))) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) | |
| 30.7b | (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)))))) | |
| 29.8b | (fma.f64 (sin.f64 eps) (fma.f64 (*.f64 x -1/2) x 1) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) | |
| 0.6b | (fma.f64 (sin.f64 eps) (log.f64 (exp.f64 (cos.f64 x))) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) | |
| 0.5b | (fma.f64 (sin.f64 eps) (cbrt.f64 (pow.f64 (cos.f64 x) 3)) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
Compiled 4066 to 2114 computations (48% saved)
Total 0.3b remaining (80.6%)
Threshold costs 0.3b (80.6%)
Compiled 3547 to 1165 computations (67.2% saved)
| 1× | egg-herbie |
| 6× | +-commutative_binary64 |
| 6× | *-commutative_binary64 |
| 5× | sub-neg_binary64 |
| 4× | neg-sub0_binary64 |
| 4× | neg-mul-1_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 15 | 29 |
| 1 | 22 | 29 |
| 2 | 28 | 29 |
| 3 | 38 | 29 |
| 4 | 45 | 29 |
| 5 | 50 | 29 |
| 6 | 52 | 29 |
| 1× | saturated |
| Inputs |
|---|
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
| Outputs |
|---|
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (/.f64 (*.f64 (sin.f64 x) (pow.f64 (sin.f64 eps) 2)) (+.f64 1 (cos.f64 eps)))) |
| 1× | fuel |
Compiled 233 to 165 computations (29.2% saved)
Loading profile data...