Time bar (total: 14.0s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 0 |
| 100% | 99.9% | 0% | 0.1% | 0% | 0% | 0% | 1 |
Compiled 10 to 7 computations (30% saved)
| 2.3s | 3668× | body | 1024 | valid |
| 1.5s | 1271× | body | 2048 | valid |
| 620.0ms | 1374× | body | 512 | valid |
| 403.0ms | 1938× | body | 256 | valid |
| 9.0ms | 5× | body | 4096 | valid |
| 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 | 199 | 22 |
| 8 | 284 | 22 |
| 9 | 355 | 22 |
| 10 | 407 | 22 |
| 11 | 411 | 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 11 to 8 computations (27.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 | 123 | 11 |
| 8 | 167 | 11 |
| 9 | 203 | 11 |
| 10 | 229 | 11 |
| 11 | 231 | 11 |
| 1× | saturated |
| Inputs |
|---|
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
| Outputs |
|---|
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
Compiled 9 to 6 computations (33.3% saved)
2 alts after pruning (2 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 1 | 1 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 0 | 2 | 2 |
| Status | Error | Program |
|---|---|---|
| ▶ | 36.0b | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
Compiled 9 to 6 computations (33.3% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.6b | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
| ✓ | 1.1b | (sin.f64 (+.f64 x eps)) |
Compiled 20 to 6 computations (70% saved)
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 |
| 587× | unpow-prod-down_binary64 |
| 464× | fma-def_binary64 |
| 445× | log-prod_binary64 |
| 279× | pow-prod-down_binary64 |
| 265× | pow2_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 17 |
| 1 | 173 | 17 |
| 2 | 2745 | 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 (pow.f64 (cbrt.f64 (exp.f64 (sin.f64 (+.f64 x eps)))) 2)) (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 (pow.f64 1 1/3) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 (+.f64 x eps)))) 2) 3) (cbrt.f64 (sin.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (sin.f64 (+.f64 x eps)))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (sin.f64 (+.f64 x eps)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (*.f64 (sin.f64 (+.f64 x eps)) (cbrt.f64 (sin.f64 (+.f64 x eps)))) 2) 1/3) (cbrt.f64 (cbrt.f64 (sin.f64 (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (sqrt.f64 (sin.f64 (+.f64 x eps)))) 1/3) (cbrt.f64 (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)) (+.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 2) (-.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2) (*.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 2) (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2)) (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 (pow.f64 (sin.f64 (+.f64 x eps)) 2) 1/2)))) (#(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 expm1.f64 (log1p.f64 (sin.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.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 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 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) 2) (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 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) 2) (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 +.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 (pow.f64 (cbrt.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) 2)) (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 x (-.f64 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 x (-.f64 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)) 3) (pow.f64 (sin.f64 x) 3)) (pow.f64 (/.f64 1 (fma.f64 (sin.f64 x) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (pow.f64 (sin.f64 (+.f64 x eps)) 2))) 1))))) (#(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 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2)) (pow.f64 (/.f64 1 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 1))))) (#(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 x (-.f64 eps x)) 1/2))) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (+.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 x))) 1) (pow.f64 (-.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 2 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2))) 1) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 3)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (*.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) 2) 1/3) (cbrt.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2) (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) 1/3) (cbrt.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2) 2) 1/3) (cbrt.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 2) 3) (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) 2) 3) (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 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 (pow.f64 (neg.f64 (sin.f64 x)) 2) (*.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) (pow.f64 (neg.f64 (sin.f64 x)) 2)) (-.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)) 2) 1/2)))) (#(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 pow.f64 (/.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))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.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))) -1)))) (#(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 (+.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 (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 expm1.f64 (log1p.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x 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 x (-.f64 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 x (-.f64 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 x (-.f64 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 x (-.f64 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 x (-.f64 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 x (-.f64 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 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) 2) (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 (pow.f64 (cbrt.f64 (neg.f64 (sin.f64 x))) 2) (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 x (-.f64 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 x (-.f64 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 x (-.f64 eps x)) 1/2))) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x))))))) |
| 1× | egg-herbie |
| 889× | fma-neg_binary64 |
| 469× | neg-sub0_binary64 |
| 426× | neg-mul-1_binary64 |
| 346× | distribute-rgt-neg-in_binary64 |
| 302× | distribute-rgt-neg-out_binary64 |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 68 | 580 |
| 1 | 191 | 575 |
| 2 | 466 | 561 |
| 3 | 1747 | 560 |
| 4 | 5053 | 547 |
| 1× | node limit |
| Inputs |
|---|
(sin.f64 eps) |
(+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (cos.f64 eps) x) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3))) (sin.f64 eps)))) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (-.f64 eps (*.f64 -1 x))) |
(sin.f64 (-.f64 eps (*.f64 -1 x))) |
(sin.f64 (-.f64 eps (*.f64 -1 x))) |
(sin.f64 (-.f64 eps (*.f64 -1 x))) |
(sin.f64 x) |
(+.f64 (*.f64 (cos.f64 x) eps) (sin.f64 x)) |
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))) |
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (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 x (*.f64 -1 eps))) |
(sin.f64 (-.f64 x (*.f64 -1 eps))) |
(sin.f64 (-.f64 x (*.f64 -1 eps))) |
(sin.f64 (-.f64 x (*.f64 -1 eps))) |
(sin.f64 eps) |
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (cos.f64 eps)) 1/6) (pow.f64 x 3)) (sin.f64 eps)))) |
(-.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 (*.f64 -1 x))) (sin.f64 x)) |
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)) |
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)) |
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)) |
(*.f64 (cos.f64 x) eps) |
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(+.f64 (*.f64 (cos.f64 x) eps) (+.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 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (*.f64 (cos.f64 x) eps) (+.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 x (*.f64 -1 eps))) (sin.f64 x)) |
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)) |
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)) |
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (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 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps))) |
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (cos.f64 eps) x (sin.f64 eps))) |
(fma.f64 (cos.f64 eps) x (fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (sin.f64 eps))) |
(fma.f64 x (+.f64 (cos.f64 eps) (*.f64 x (*.f64 (sin.f64 eps) -1/2))) (sin.f64 eps)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (cos.f64 eps) x) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3))) (sin.f64 eps)))) |
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (cos.f64 eps) x (fma.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3)) (sin.f64 eps)))) |
(+.f64 (*.f64 (cos.f64 eps) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x)) (fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (sin.f64 eps))) |
(+.f64 (*.f64 (cos.f64 eps) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))) (fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (sin.f64 eps))) |
(fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (fma.f64 (cos.f64 eps) (fma.f64 -1/6 (pow.f64 x 3) x) (sin.f64 eps))) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (-.f64 eps (*.f64 -1 x))) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (-.f64 eps (*.f64 -1 x))) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (-.f64 eps (*.f64 -1 x))) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (-.f64 eps (*.f64 -1 x))) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 x) |
(+.f64 (*.f64 (cos.f64 x) eps) (sin.f64 x)) |
(fma.f64 (cos.f64 x) eps (sin.f64 x)) |
(fma.f64 eps (cos.f64 x) (sin.f64 x)) |
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))) |
(+.f64 (fma.f64 (cos.f64 x) eps (sin.f64 x)) (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps)))) |
(fma.f64 eps (cos.f64 x) (fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (sin.f64 x))) |
(fma.f64 eps (cos.f64 x) (*.f64 (sin.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1))) |
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (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 (cos.f64 x) eps (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 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))) |
(+.f64 (*.f64 (sin.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))))) |
(+.f64 (*.f64 (sin.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1)) (*.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps))) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (-.f64 x (*.f64 -1 eps))) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (-.f64 x (*.f64 -1 eps))) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (-.f64 x (*.f64 -1 eps))) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (-.f64 x (*.f64 -1 eps))) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 eps) |
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)) |
(fma.f64 (-.f64 (cos.f64 eps) 1) x (sin.f64 eps)) |
(fma.f64 x (+.f64 (cos.f64 eps) -1) (sin.f64 eps)) |
(-.f64 (fma.f64 (cos.f64 eps) x (sin.f64 eps)) x) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))) |
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (-.f64 (cos.f64 eps) 1) x (sin.f64 eps))) |
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 x (+.f64 (cos.f64 eps) -1) (sin.f64 eps))) |
(fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (fma.f64 x (+.f64 (cos.f64 eps) -1) (sin.f64 eps))) |
(-.f64 (fma.f64 (cos.f64 eps) x (fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (sin.f64 eps))) x) |
(-.f64 (fma.f64 x (+.f64 (cos.f64 eps) (*.f64 x (*.f64 (sin.f64 eps) -1/2))) (sin.f64 eps)) x) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (cos.f64 eps)) 1/6) (pow.f64 x 3)) (sin.f64 eps)))) |
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (-.f64 (cos.f64 eps) 1) x (fma.f64 (fma.f64 -1/6 (cos.f64 eps) 1/6) (pow.f64 x 3) (sin.f64 eps)))) |
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 x (+.f64 (cos.f64 eps) -1) (fma.f64 (pow.f64 x 3) (fma.f64 (cos.f64 eps) -1/6 1/6) (sin.f64 eps)))) |
(fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (fma.f64 x (+.f64 (cos.f64 eps) -1) (fma.f64 (pow.f64 x 3) (fma.f64 (cos.f64 eps) -1/6 1/6) (sin.f64 eps)))) |
(fma.f64 x (+.f64 (cos.f64 eps) -1) (fma.f64 (*.f64 x x) (+.f64 (*.f64 (sin.f64 eps) -1/2) (*.f64 x (fma.f64 (cos.f64 eps) -1/6 1/6))) (sin.f64 eps))) |
(-.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 (*.f64 -1 x))) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(*.f64 (cos.f64 x) eps) |
(*.f64 eps (cos.f64 x)) |
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(fma.f64 (cos.f64 x) eps (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps)))) |
(fma.f64 eps (cos.f64 x) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))) |
(fma.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps)) (*.f64 eps (cos.f64 x))) |
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 eps (sin.f64 x))))) |
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))) |
(fma.f64 (cos.f64 x) eps (fma.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps))))) |
(+.f64 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))))) |
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps)))) |
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 eps (*.f64 -1/2 (*.f64 eps (sin.f64 x))))) |
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps))) |
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))) |
(fma.f64 1/24 (*.f64 (sin.f64 x) (pow.f64 eps 4)) (fma.f64 (cos.f64 x) eps (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 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))) |
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 (sin.f64 x) (+.f64 (*.f64 eps (*.f64 eps -1/2)) (*.f64 1/24 (pow.f64 eps 4))))) |
(fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 (sin.f64 x) (+.f64 (*.f64 eps (*.f64 eps -1/2)) (*.f64 1/24 (pow.f64 eps 4))))) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
Compiled 3642 to 1131 computations (68.9% saved)
37 alts after pruning (36 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 169 | 36 | 205 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 169 | 37 | 206 |
| Status | Error | Program |
|---|---|---|
| 36.6b | (-.f64 (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 3) (sin.f64 x)) | |
| ▶ | 30.1b | (*.f64 (cos.f64 x) eps) |
| 61.3b | (-.f64 (sin.f64 x) (sin.f64 x)) | |
| 51.6b | (sqrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2)) | |
| 43.5b | (-.f64 (-.f64 (exp.f64 (log1p.f64 (sin.f64 (+.f64 x eps)))) 1) (sin.f64 x)) | |
| 41.9b | (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))) | |
| 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))) | |
| ▶ | 23.4b | (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) |
| 36.0b | (log1p.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) | |
| 51.1b | (pow.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) | |
| 26.9b | (-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 3) (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 3)) (+.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 2) (-.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2) (*.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps)))))) (sin.f64 x)) | |
| 36.2b | (expm1.f64 (log1p.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) | |
| ▶ | 23.4b | (-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x)) |
| 36.4b | (-.f64 (fma.f64 x (+.f64 (cos.f64 eps) (*.f64 x (*.f64 (sin.f64 eps) -1/2))) (sin.f64 eps)) x) | |
| 39.2b | (cbrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 3)) | |
| 23.4b | (-.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x)) | |
| 36.1b | (-.f64 (fma.f64 (cos.f64 eps) x (sin.f64 eps)) x) | |
| 36.2b | (*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2) | |
| 30.0b | (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)) | |
| 36.7b | (-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x)) | |
| 43.7b | (log.f64 (*.f64 (exp.f64 (neg.f64 (sin.f64 x))) (exp.f64 (sin.f64 (+.f64 x eps))))) | |
| 36.0b | (-.f64 (expm1.f64 (log1p.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x)) | |
| 30.2b | (fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 (sin.f64 x) (+.f64 (*.f64 eps (*.f64 eps -1/2)) (*.f64 1/24 (pow.f64 eps 4))))) | |
| 36.2b | (-.f64 (sin.f64 eps) (sin.f64 x)) | |
| 37.1b | (*.f64 (pow.f64 (cbrt.f64 2) 3) (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))) | |
| 45.5b | (-.f64 (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))) (sin.f64 x)) | |
| 30.2b | (fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps))) | |
| ✓ | 36.0b | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
| 24.1b | (-.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) 2) (cbrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x)) | |
| 23.4b | (-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x)) | |
| 43.7b | (-.f64 (log.f64 (exp.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x)) | |
| 30.2b | (*.f64 eps (+.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 eps (sin.f64 x))))) | |
| ▶ | 51.4b | (-.f64 (sqrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (sin.f64 x)) |
| ▶ | 30.3b | (+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
| 23.4b | (fma.f64 (sin.f64 x) (cos.f64 eps) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) | |
| 36.5b | (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3) | |
| 43.6b | (log.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) |
Compiled 1125 to 726 computations (35.5% saved)
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.1b | (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) |
| ✓ | 0.1b | (*.f64 (cos.f64 x) (sin.f64 eps)) |
| ✓ | 1.7b | (-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x)) |
Compiled 40 to 9 computations (77.5% saved)
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 3.0ms | x | @ | inf | (-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x)) |
| 2.0ms | x | @ | -inf | (-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x)) |
| 2.0ms | eps | @ | inf | (-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x)) |
| 2.0ms | eps | @ | -inf | (*.f64 (cos.f64 x) (sin.f64 eps)) |
| 2.0ms | eps | @ | -inf | (-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x)) |
| 1× | batch-egg-rewrite |
| 710× | prod-diff_binary64 |
| 515× | log-prod_binary64 |
| 333× | pow-prod-down_binary64 |
| 289× | pow2_binary64 |
| 281× | fma-def_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 45 |
| 1 | 207 | 45 |
| 2 | 2733 | 25 |
| 1× | node limit |
| Inputs |
|---|
(-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x)) |
(*.f64 (cos.f64 x) (sin.f64 eps)) |
(fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (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 (+.f64 x eps)) (sin.f64 x)) (fma.f64 -1 (sin.f64 x) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2)) (cbrt.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.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 (pow.f64 (cbrt.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) 2)) (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 (-.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 x) (sin.f64 (+.f64 x eps))) (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 x) (sin.f64 (+.f64 x eps)))))))) (#(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 1 (/.f64 (fma.f64 (sin.f64 x) (+.f64 (sin.f64 x) (sin.f64 (+.f64 x eps))) (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 x) (sin.f64 (+.f64 x eps))) (-.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 x) (sin.f64 (+.f64 x eps))) (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 x) (sin.f64 (+.f64 x eps))))))) (#(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 x) (sin.f64 (+.f64 x eps))) (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 x) (sin.f64 (+.f64 x eps)))))))) (#(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 (pow.f64 (neg.f64 (sin.f64 x)) 2) (*.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) (pow.f64 (neg.f64 (sin.f64 x)) 2)) (-.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)) 2) 1/2)))) (#(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 pow.f64 (/.f64 (fma.f64 (sin.f64 x) (+.f64 (sin.f64 x) (sin.f64 (+.f64 x eps))) (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 (sin.f64 x) (sin.f64 (+.f64 x eps))) (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2))) -1)))) (#(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 (+.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 (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 expm1.f64 (log1p.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x 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 (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 (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 (-.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 (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 (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 (-.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 (+.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 (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 (-.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 (-.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 x) (sin.f64 (+.f64 x eps))) (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 x) (sin.f64 (+.f64 x eps))) (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 x) (sin.f64 (+.f64 x eps))) (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 x) (sin.f64 (+.f64 x eps)))) (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 x) (sin.f64 (+.f64 x eps)))) (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 x) (sin.f64 (+.f64 x eps)))) (+.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 x) (cos.f64 eps))) 2) (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 (pow.f64 (cbrt.f64 (neg.f64 (sin.f64 x))) 2) (cbrt.f64 (neg.f64 (sin.f64 x))) (sin.f64 (+.f64 x eps)))))) (#(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 (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 (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 (sin.f64 x) (cbrt.f64 (pow.f64 (cos.f64 eps) 2))) (cbrt.f64 (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 x) (sqrt.f64 (cos.f64 eps))) (sqrt.f64 (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 x)) (sin.f64 eps))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 x)) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 x)) (sin.f64 eps)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 x)) (sin.f64 eps)))))))) (#(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 x eps))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2) 1/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 pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (cos.f64 x)) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cos.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cos.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x 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)) (*.f64 (sin.f64 x) (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 1) (*.f64 (cos.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sin.f64 (+.f64 x eps)))) 2)) (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 (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)) (+.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 2) (-.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2) (*.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 2) (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2)) (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 (pow.f64 (sin.f64 (+.f64 x eps)) 2) 1/2)))) (#(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 (pow.f64 (exp.f64 (cos.f64 x)) (sin.f64 eps)) (exp.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 x) (sin.f64 eps)))) (exp.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (+.f64 1 (expm1.f64 (*.f64 (cos.f64 x) (sin.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 sin.f64 (+.f64 eps x))))) (#(struct:change #<rule egg-rr> (2) ((x sin.f64 (+.f64 x eps))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sin.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.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)))))) |
| 1× | egg-herbie |
| 589× | sub-neg_binary64 |
| 538× | fma-def_binary64 |
| 441× | *-commutative_binary64 |
| 384× | +-commutative_binary64 |
| 346× | unswap-sqr_binary64 |
Useful iterations: 5 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 89 | 1080 |
| 1 | 261 | 1063 |
| 2 | 710 | 977 |
| 3 | 2290 | 973 |
| 4 | 3991 | 973 |
| 5 | 5252 | 972 |
| 6 | 7312 | 972 |
| 1× | node limit |
| Inputs |
|---|
(sin.f64 eps) |
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (cos.f64 eps)) 1/6) (pow.f64 x 3)) (sin.f64 eps)))) |
(-.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 (cos.f64 x) eps) |
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(+.f64 (*.f64 (cos.f64 x) eps) (+.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 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (*.f64 (cos.f64 x) eps) (+.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 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)) |
(sin.f64 eps) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (sin.f64 eps)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 x 4) (sin.f64 eps))) (sin.f64 eps))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 x 4) (sin.f64 eps))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 x 6) (sin.f64 eps))) (sin.f64 eps)))) |
(*.f64 (cos.f64 x) eps) |
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x)))) |
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 5) (cos.f64 x))) (+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))))) |
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 5) (cos.f64 x))) (+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 eps 7) (cos.f64 x))) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x)))))) |
(sin.f64 eps) |
(+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (cos.f64 eps) x) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3))) (sin.f64 eps)))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(sin.f64 x) |
(+.f64 (*.f64 (cos.f64 x) eps) (sin.f64 x)) |
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))) |
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (sin.f64 x) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) |
| Outputs |
|---|
(sin.f64 eps) |
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)) |
(fma.f64 (-.f64 (cos.f64 eps) 1) x (sin.f64 eps)) |
(fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps)) |
(-.f64 (fma.f64 (cos.f64 eps) x (sin.f64 eps)) x) |
(fma.f64 (cos.f64 eps) x (-.f64 (sin.f64 eps) x)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))) |
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (-.f64 (cos.f64 eps) 1) x (sin.f64 eps))) |
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps))) |
(fma.f64 (fma.f64 -1/2 (*.f64 x x) 1) (sin.f64 eps) (*.f64 (+.f64 (cos.f64 eps) -1) x)) |
(-.f64 (fma.f64 (cos.f64 eps) x (*.f64 (sin.f64 eps) (fma.f64 -1/2 (*.f64 x x) 1))) x) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (cos.f64 eps)) 1/6) (pow.f64 x 3)) (sin.f64 eps)))) |
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (-.f64 (cos.f64 eps) 1) x (fma.f64 (fma.f64 -1/6 (cos.f64 eps) 1/6) (pow.f64 x 3) (sin.f64 eps)))) |
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (fma.f64 (fma.f64 (cos.f64 eps) -1/6 1/6) (pow.f64 x 3) (sin.f64 eps)))) |
(+.f64 (*.f64 (sin.f64 eps) (fma.f64 -1/2 (*.f64 x x) 1)) (fma.f64 (fma.f64 (cos.f64 eps) -1/6 1/6) (pow.f64 x 3) (*.f64 (+.f64 (cos.f64 eps) -1) x))) |
(fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (fma.f64 (fma.f64 (cos.f64 eps) -1/6 1/6) (pow.f64 x 3) (sin.f64 eps)))) |
(fma.f64 x (+.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) (*.f64 x -1/2))) (-.f64 (fma.f64 (fma.f64 (cos.f64 eps) -1/6 1/6) (pow.f64 x 3) (sin.f64 eps)) x)) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
(*.f64 (cos.f64 x) eps) |
(*.f64 eps (cos.f64 x)) |
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(fma.f64 (cos.f64 x) eps (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x))) |
(fma.f64 eps (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 eps eps)))) |
(fma.f64 eps (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/2)))) |
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps -1/2)))) |
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 eps (sin.f64 x))))) |
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))) |
(fma.f64 (cos.f64 x) eps (fma.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x)))) |
(+.f64 (*.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 eps eps))) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))))) |
(fma.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/2)) (*.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps))) |
(fma.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 eps eps)) (*.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps))) |
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))) |
(fma.f64 1/24 (*.f64 (sin.f64 x) (pow.f64 eps 4)) (fma.f64 (cos.f64 x) eps (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 (sin.f64 x) (pow.f64 eps 4)) (+.f64 (*.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 eps eps))) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))) |
(fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 (sin.f64 x) (+.f64 (*.f64 eps (*.f64 eps -1/2)) (*.f64 1/24 (pow.f64 eps 4))))) |
(fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 (sin.f64 x) (*.f64 (*.f64 eps eps) (+.f64 -1/2 (*.f64 (*.f64 eps eps) 1/24))))) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
(sin.f64 eps) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (sin.f64 eps)) |
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (sin.f64 eps)) |
(*.f64 (sin.f64 eps) (fma.f64 -1/2 (*.f64 x x) 1)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 x 4) (sin.f64 eps))) (sin.f64 eps))) |
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 1/24 (*.f64 (sin.f64 eps) (pow.f64 x 4)) (sin.f64 eps))) |
(+.f64 (sin.f64 eps) (*.f64 (sin.f64 eps) (+.f64 (*.f64 -1/2 (*.f64 x x)) (*.f64 1/24 (pow.f64 x 4))))) |
(*.f64 (sin.f64 eps) (+.f64 (*.f64 x (*.f64 x -1/2)) (fma.f64 1/24 (pow.f64 x 4) 1))) |
(*.f64 (sin.f64 eps) (+.f64 (*.f64 1/24 (pow.f64 x 4)) (fma.f64 -1/2 (*.f64 x x) 1))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 x 4) (sin.f64 eps))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 x 6) (sin.f64 eps))) (sin.f64 eps)))) |
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 1/24 (*.f64 (sin.f64 eps) (pow.f64 x 4)) (fma.f64 -1/720 (*.f64 (sin.f64 eps) (pow.f64 x 6)) (sin.f64 eps)))) |
(+.f64 (fma.f64 -1/720 (*.f64 (sin.f64 eps) (pow.f64 x 6)) (sin.f64 eps)) (*.f64 (sin.f64 eps) (+.f64 (*.f64 -1/2 (*.f64 x x)) (*.f64 1/24 (pow.f64 x 4))))) |
(fma.f64 (sin.f64 eps) (fma.f64 -1/2 (*.f64 x x) (*.f64 1/24 (pow.f64 x 4))) (*.f64 (sin.f64 eps) (fma.f64 -1/720 (pow.f64 x 6) 1))) |
(*.f64 (sin.f64 eps) (+.f64 (fma.f64 -1/720 (pow.f64 x 6) 1) (fma.f64 -1/2 (*.f64 x x) (*.f64 1/24 (pow.f64 x 4))))) |
(*.f64 (cos.f64 x) eps) |
(*.f64 eps (cos.f64 x)) |
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x)))) |
(fma.f64 (cos.f64 x) eps (*.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) (fma.f64 -1/6 (pow.f64 eps 3) eps)) |
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 5) (cos.f64 x))) (+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))))) |
(fma.f64 1/120 (*.f64 (cos.f64 x) (pow.f64 eps 5)) (fma.f64 (cos.f64 x) eps (*.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3))))) |
(fma.f64 1/120 (*.f64 (cos.f64 x) (pow.f64 eps 5)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))))) |
(*.f64 (cos.f64 x) (+.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 1/120 (pow.f64 eps 5)))) |
(*.f64 (cos.f64 x) (+.f64 (*.f64 1/120 (pow.f64 eps 5)) (fma.f64 -1/6 (pow.f64 eps 3) eps))) |
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 5) (cos.f64 x))) (+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 eps 7) (cos.f64 x))) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x)))))) |
(fma.f64 1/120 (*.f64 (cos.f64 x) (pow.f64 eps 5)) (fma.f64 (cos.f64 x) eps (fma.f64 -1/5040 (*.f64 (cos.f64 x) (pow.f64 eps 7)) (*.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)))))) |
(+.f64 (*.f64 (cos.f64 x) (+.f64 (*.f64 -1/6 (pow.f64 eps 3)) (*.f64 -1/5040 (pow.f64 eps 7)))) (*.f64 (cos.f64 x) (+.f64 (*.f64 1/120 (pow.f64 eps 5)) eps))) |
(*.f64 (cos.f64 x) (+.f64 (fma.f64 -1/6 (pow.f64 eps 3) (*.f64 -1/5040 (pow.f64 eps 7))) (fma.f64 1/120 (pow.f64 eps 5) eps))) |
(*.f64 (cos.f64 x) (+.f64 (fma.f64 1/120 (pow.f64 eps 5) eps) (fma.f64 -1/6 (pow.f64 eps 3) (*.f64 -1/5040 (pow.f64 eps 7))))) |
(sin.f64 eps) |
(+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) |
(fma.f64 (cos.f64 eps) x (sin.f64 eps)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps))) |
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (cos.f64 eps) x (sin.f64 eps))) |
(fma.f64 (cos.f64 eps) x (*.f64 (sin.f64 eps) (fma.f64 -1/2 (*.f64 x x) 1))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (cos.f64 eps) x) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3))) (sin.f64 eps)))) |
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (cos.f64 eps) x (fma.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3)) (sin.f64 eps)))) |
(+.f64 (*.f64 (sin.f64 eps) (fma.f64 -1/2 (*.f64 x x) 1)) (*.f64 (cos.f64 eps) (+.f64 x (*.f64 -1/6 (pow.f64 x 3))))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(sin.f64 x) |
(+.f64 (*.f64 (cos.f64 x) eps) (sin.f64 x)) |
(fma.f64 (cos.f64 x) eps (sin.f64 x)) |
(fma.f64 eps (cos.f64 x) (sin.f64 x)) |
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))) |
(+.f64 (fma.f64 (cos.f64 x) eps (sin.f64 x)) (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x))) |
(fma.f64 eps (cos.f64 x) (fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (sin.f64 x))) |
(fma.f64 eps (cos.f64 x) (*.f64 (sin.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1))) |
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (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 (cos.f64 x) eps (sin.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 (sin.f64 x) (+.f64 (*.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 eps eps))) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))) |
(+.f64 (*.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps)) (*.f64 (sin.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.1b | (*.f64 (cos.f64 x) eps) |
Compiled 10 to 4 computations (60% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 2.0ms | eps | @ | inf | (*.f64 (cos.f64 x) eps) |
| 1.0ms | x | @ | 0 | (*.f64 (cos.f64 x) eps) |
| 1.0ms | eps | @ | 0 | (*.f64 (cos.f64 x) eps) |
| 0.0ms | x | @ | -inf | (*.f64 (cos.f64 x) eps) |
| 0.0ms | x | @ | inf | (*.f64 (cos.f64 x) eps) |
| 1× | batch-egg-rewrite |
| 462× | pow1_binary64 |
| 440× | add-sqr-sqrt_binary64 |
| 435× | *-un-lft-identity_binary64 |
| 422× | add-log-exp_binary64 |
| 422× | log1p-expm1-u_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 5 | 6 |
| 1 | 97 | 6 |
| 2 | 1146 | 6 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (cos.f64 x) eps) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (cos.f64 x) eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 x) eps) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (cos.f64 x) eps)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (cos.f64 x)) eps))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cos.f64 x) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cos.f64 x) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cos.f64 x) eps))))))) |
| 1× | egg-herbie |
| 515× | distribute-lft-out_binary64 |
| 503× | sqr-pow_binary64 |
| 492× | distribute-rgt-out_binary64 |
| 432× | *-commutative_binary64 |
| 398× | associate-+l+_binary64 |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 24 | 94 |
| 1 | 58 | 92 |
| 2 | 145 | 88 |
| 3 | 447 | 82 |
| 4 | 1978 | 81 |
| 5 | 3993 | 81 |
| 6 | 4249 | 81 |
| 7 | 4563 | 81 |
| 8 | 5086 | 81 |
| 9 | 5841 | 81 |
| 10 | 6581 | 81 |
| 11 | 7536 | 81 |
| 12 | 7985 | 81 |
| 1× | node limit |
| Inputs |
|---|
eps |
(+.f64 eps (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(+.f64 eps (+.f64 (*.f64 1/24 (*.f64 eps (pow.f64 x 4))) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))) |
(+.f64 (*.f64 -1/720 (*.f64 eps (pow.f64 x 6))) (+.f64 eps (+.f64 (*.f64 1/24 (*.f64 eps (pow.f64 x 4))) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))))) |
(*.f64 eps (cos.f64 x)) |
(*.f64 eps (cos.f64 x)) |
(*.f64 eps (cos.f64 x)) |
(*.f64 eps (cos.f64 x)) |
| Outputs |
|---|
eps |
(+.f64 eps (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(+.f64 eps (*.f64 -1/2 (*.f64 eps (*.f64 x x)))) |
(fma.f64 -1/2 (*.f64 eps (*.f64 x x)) eps) |
(*.f64 eps (fma.f64 -1/2 (*.f64 x x) 1)) |
(+.f64 eps (+.f64 (*.f64 1/24 (*.f64 eps (pow.f64 x 4))) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))) |
(+.f64 eps (fma.f64 1/24 (*.f64 eps (pow.f64 x 4)) (*.f64 -1/2 (*.f64 eps (*.f64 x x))))) |
(+.f64 eps (fma.f64 -1/2 (*.f64 eps (*.f64 x x)) (*.f64 1/24 (*.f64 eps (pow.f64 x 4))))) |
(fma.f64 (pow.f64 x 4) (*.f64 eps 1/24) (fma.f64 -1/2 (*.f64 eps (*.f64 x x)) eps)) |
(fma.f64 eps (fma.f64 -1/2 (*.f64 x x) (*.f64 1/24 (pow.f64 x 4))) eps) |
(+.f64 (*.f64 -1/720 (*.f64 eps (pow.f64 x 6))) (+.f64 eps (+.f64 (*.f64 1/24 (*.f64 eps (pow.f64 x 4))) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))))) |
(fma.f64 -1/720 (*.f64 eps (pow.f64 x 6)) (+.f64 eps (fma.f64 1/24 (*.f64 eps (pow.f64 x 4)) (*.f64 -1/2 (*.f64 eps (*.f64 x x)))))) |
(+.f64 (fma.f64 -1/2 (*.f64 eps (*.f64 x x)) (*.f64 1/24 (*.f64 eps (pow.f64 x 4)))) (fma.f64 -1/720 (*.f64 eps (pow.f64 x 6)) eps)) |
(fma.f64 -1/720 (*.f64 eps (pow.f64 x 6)) (fma.f64 (pow.f64 x 4) (*.f64 eps 1/24) (fma.f64 -1/2 (*.f64 eps (*.f64 x x)) eps))) |
(fma.f64 eps (fma.f64 -1/2 (*.f64 x x) (*.f64 1/24 (pow.f64 x 4))) (fma.f64 eps (*.f64 -1/720 (pow.f64 x 6)) eps)) |
(*.f64 eps (+.f64 (fma.f64 -1/2 (*.f64 x x) (*.f64 1/24 (pow.f64 x 4))) (fma.f64 -1/720 (pow.f64 x 6) 1))) |
(*.f64 eps (+.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 eps (cos.f64 x)) |
(*.f64 eps (cos.f64 x)) |
(*.f64 eps (cos.f64 x)) |
(*.f64 eps (cos.f64 x)) |
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))) |
| ✓ | 0.0b | (+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
| 0.1b | (*.f64 (cos.f64 x) eps) | |
| ✓ | 4.3b | (*.f64 (pow.f64 eps 2) (sin.f64 x)) |
Compiled 44 to 23 computations (47.7% saved)
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 11.0ms | eps | @ | 0 | (*.f64 (pow.f64 eps 2) (sin.f64 x)) |
| 1.0ms | x | @ | 0 | (*.f64 (pow.f64 eps 2) (sin.f64 x)) |
| 1.0ms | eps | @ | inf | (*.f64 (pow.f64 eps 2) (sin.f64 x)) |
| 1.0ms | x | @ | inf | (+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
| 1.0ms | x | @ | inf | (*.f64 (pow.f64 eps 2) (sin.f64 x)) |
| 1× | batch-egg-rewrite |
| 599× | log-prod_binary64 |
| 398× | pow-prod-down_binary64 |
| 376× | fma-def_binary64 |
| 317× | pow2_binary64 |
| 220× | pow1/3_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 39 |
| 1 | 255 | 39 |
| 2 | 3180 | 39 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (pow.f64 eps 2) (sin.f64 x)) |
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 eps (*.f64 eps (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 eps) (*.f64 eps (sin.f64 x)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 eps) (*.f64 eps (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 eps) (*.f64 eps (sin.f64 x))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 eps) (*.f64 eps (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 eps (*.f64 eps (sin.f64 x))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 eps (*.f64 eps (sin.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 eps (sqrt.f64 (sin.f64 x))) 4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 eps (sqrt.f64 (sin.f64 x))) 6) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 eps (*.f64 eps (sin.f64 x)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 eps (sqrt.f64 (sin.f64 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 eps (sqrt.f64 (sin.f64 x))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 eps) (*.f64 eps (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 eps (*.f64 eps (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 eps (sqrt.f64 (sin.f64 x))) 6))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 eps (*.f64 eps (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 eps (*.f64 eps (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 eps (*.f64 eps (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 eps (*.f64 eps (sin.f64 x)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 eps (sqrt.f64 (sin.f64 x))) 6)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 eps (*.f64 eps (sin.f64 x))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 eps (sqrt.f64 (sin.f64 x)))) 2)))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 eps (cos.f64 x) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 eps (cos.f64 x)) 2) (fma.f64 eps (cos.f64 x) (*.f64 1/2 (*.f64 eps (*.f64 eps (sin.f64 x)))))) (/.f64 (*.f64 1/4 (pow.f64 (*.f64 eps (sqrt.f64 (sin.f64 x))) 4)) (fma.f64 eps (cos.f64 x) (*.f64 1/2 (*.f64 eps (*.f64 eps (sin.f64 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 eps (cos.f64 x) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 eps (cos.f64 x) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 eps (cos.f64 x) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))) (pow.f64 (cbrt.f64 (fma.f64 eps (cos.f64 x) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 eps (cos.f64 x) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))) 2) (cbrt.f64 (fma.f64 eps (cos.f64 x) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 eps (cos.f64 x) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))) (sqrt.f64 (fma.f64 eps (cos.f64 x) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 -1/8 (pow.f64 (*.f64 eps (sqrt.f64 (sin.f64 x))) 6) (pow.f64 (*.f64 eps (cos.f64 x)) 3)) (/.f64 1 (fma.f64 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)) (-.f64 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)) (*.f64 eps (cos.f64 x))) (pow.f64 (*.f64 eps (cos.f64 x)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 eps (cos.f64 x)) 2) (*.f64 1/4 (pow.f64 (*.f64 eps (sqrt.f64 (sin.f64 x))) 4))) (/.f64 1 (fma.f64 eps (cos.f64 x) (*.f64 1/2 (*.f64 eps (*.f64 eps (sin.f64 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)) (-.f64 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)) (*.f64 eps (cos.f64 x))) (pow.f64 (*.f64 eps (cos.f64 x)) 2)) (fma.f64 -1/8 (pow.f64 (*.f64 eps (sqrt.f64 (sin.f64 x))) 6) (pow.f64 (*.f64 eps (cos.f64 x)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 eps (cos.f64 x) (*.f64 1/2 (*.f64 eps (*.f64 eps (sin.f64 x))))) (-.f64 (pow.f64 (*.f64 eps (cos.f64 x)) 2) (*.f64 1/4 (pow.f64 (*.f64 eps (sqrt.f64 (sin.f64 x))) 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 -1/8 (pow.f64 (*.f64 eps (sqrt.f64 (sin.f64 x))) 6) (pow.f64 (*.f64 eps (cos.f64 x)) 3)) (fma.f64 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)) (-.f64 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)) (*.f64 eps (cos.f64 x))) (pow.f64 (*.f64 eps (cos.f64 x)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 -1/8 (pow.f64 (*.f64 eps (sqrt.f64 (sin.f64 x))) 6) (pow.f64 (*.f64 eps (cos.f64 x)) 3)) (fma.f64 1/4 (pow.f64 (*.f64 eps (sqrt.f64 (sin.f64 x))) 4) (-.f64 (pow.f64 (*.f64 eps (cos.f64 x)) 2) (*.f64 eps (*.f64 (cos.f64 x) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 eps (cos.f64 x)) 2) (*.f64 1/4 (pow.f64 (*.f64 eps (sqrt.f64 (sin.f64 x))) 4))) (fma.f64 eps (cos.f64 x) (*.f64 1/2 (*.f64 eps (*.f64 eps (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 -1/8 (pow.f64 (*.f64 eps (sqrt.f64 (sin.f64 x))) 6) (pow.f64 (*.f64 eps (cos.f64 x)) 3))) (neg.f64 (fma.f64 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)) (-.f64 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)) (*.f64 eps (cos.f64 x))) (pow.f64 (*.f64 eps (cos.f64 x)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 eps (cos.f64 x)) 2) (*.f64 1/4 (pow.f64 (*.f64 eps (sqrt.f64 (sin.f64 x))) 4)))) (neg.f64 (fma.f64 eps (cos.f64 x) (*.f64 1/2 (*.f64 eps (*.f64 eps (sin.f64 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 1/4 (pow.f64 (*.f64 eps (sqrt.f64 (sin.f64 x))) 4)) (pow.f64 (*.f64 eps (cos.f64 x)) 2)) (-.f64 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)) (*.f64 eps (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 eps (cos.f64 x) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 eps (cos.f64 x) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 eps (cos.f64 x) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 eps (cos.f64 x) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 eps (cos.f64 x) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)) (-.f64 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)) (*.f64 eps (cos.f64 x))) (pow.f64 (*.f64 eps (cos.f64 x)) 2)) (fma.f64 -1/8 (pow.f64 (*.f64 eps (sqrt.f64 (sin.f64 x))) 6) (pow.f64 (*.f64 eps (cos.f64 x)) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 eps (cos.f64 x) (*.f64 1/2 (*.f64 eps (*.f64 eps (sin.f64 x))))) (-.f64 (pow.f64 (*.f64 eps (cos.f64 x)) 2) (*.f64 1/4 (pow.f64 (*.f64 eps (sqrt.f64 (sin.f64 x))) 4)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 eps (cos.f64 x) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 eps (cos.f64 x) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 eps (cos.f64 x) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 eps (cos.f64 x)))) (pow.f64 (exp.f64 (sin.f64 x)) (*.f64 (*.f64 eps eps) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 (cos.f64 x)) eps) (+.f64 1 (expm1.f64 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 eps (cos.f64 x)))) (+.f64 1 (expm1.f64 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))) (pow.f64 (exp.f64 (cos.f64 x)) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 (sin.f64 x)) (*.f64 (*.f64 eps eps) -1/2)) (+.f64 1 (expm1.f64 (*.f64 eps (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))) (+.f64 1 (expm1.f64 (*.f64 eps (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 eps (cos.f64 x) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 eps (cos.f64 x) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 eps (cos.f64 x) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 eps (cos.f64 x) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 eps (cos.f64 x) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 eps (cos.f64 x) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 eps (cos.f64 x) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 eps (cos.f64 x) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 eps (cos.f64 x) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2) (*.f64 eps (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 x) (*.f64 (*.f64 eps eps) -1/2) (*.f64 eps (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 eps (*.f64 eps (sin.f64 x))) -1/2 (*.f64 eps (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 x) eps (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 eps (cos.f64 x)) 1 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 eps (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)) 1 (*.f64 eps (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 eps (cos.f64 x)) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)) (*.f64 eps (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))) (cbrt.f64 (*.f64 1/4 (pow.f64 (*.f64 eps (sqrt.f64 (sin.f64 x))) 4))) (*.f64 eps (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 (*.f64 eps (sqrt.f64 (sin.f64 x))) 4))) (cbrt.f64 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))) (*.f64 eps (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) eps) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 eps) 2) (*.f64 (cbrt.f64 eps) (cos.f64 x)) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 eps (cos.f64 x))) (pow.f64 (cbrt.f64 (*.f64 eps (cos.f64 x))) 2) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 eps (cos.f64 x))) 2) (cbrt.f64 (*.f64 eps (cos.f64 x))) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 eps (sqrt.f64 (sin.f64 x))) 4)) (*.f64 (cbrt.f64 (*.f64 eps (*.f64 eps (sin.f64 x)))) -1/2) (*.f64 eps (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 -1/2) (*.f64 eps (sqrt.f64 (sin.f64 x)))) (*.f64 (sqrt.f64 -1/2) (*.f64 eps (sqrt.f64 (sin.f64 x)))) (*.f64 eps (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) eps) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 eps) (*.f64 (sqrt.f64 eps) (cos.f64 x)) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 eps (cos.f64 x))) (sqrt.f64 (*.f64 eps (cos.f64 x))) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 eps (sqrt.f64 (sin.f64 x))) (*.f64 (*.f64 eps (sqrt.f64 (sin.f64 x))) -1/2) (*.f64 eps (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 eps eps) -1/2) (sin.f64 x) (*.f64 eps (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 eps eps) (*.f64 eps (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/2 (cbrt.f64 (pow.f64 (*.f64 eps (sqrt.f64 (sin.f64 x))) 4))) (cbrt.f64 (*.f64 eps (*.f64 eps (sin.f64 x)))) (*.f64 eps (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/2 (*.f64 eps (sqrt.f64 (sin.f64 x)))) (*.f64 eps (sqrt.f64 (sin.f64 x))) (*.f64 eps (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 (*.f64 eps eps) -1/2) 1) (sin.f64 x) (*.f64 eps (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 (*.f64 eps eps) -1/2) (pow.f64 (cbrt.f64 (sin.f64 x)) 2)) (cbrt.f64 (sin.f64 x)) (*.f64 eps (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 (*.f64 eps eps) -1/2) (sqrt.f64 (sin.f64 x))) (sqrt.f64 (sin.f64 x)) (*.f64 eps (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 eps (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) (cbrt.f64 (cos.f64 x)) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 eps (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x)) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 x) (pow.f64 (cbrt.f64 eps) 2)) (cbrt.f64 eps) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 x) (sqrt.f64 eps)) (sqrt.f64 eps) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 x)) (*.f64 (*.f64 eps eps) -1/2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 x)) (*.f64 (*.f64 eps eps) -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 x)) (*.f64 (*.f64 eps eps) -1/2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 x)) (*.f64 (*.f64 eps eps) -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/4 (pow.f64 (*.f64 eps (sqrt.f64 (sin.f64 x))) 4)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 -1/2) (*.f64 eps (sqrt.f64 (sin.f64 x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -1/8 (pow.f64 (*.f64 eps (sqrt.f64 (sin.f64 x))) 6)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 1/4 (pow.f64 (*.f64 eps (sqrt.f64 (sin.f64 x))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sin.f64 x)) (*.f64 (*.f64 eps eps) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 -1/8 (pow.f64 (*.f64 eps (sqrt.f64 (sin.f64 x))) 6)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 -1/2) (*.f64 eps (sqrt.f64 (sin.f64 x))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 -1/8 (pow.f64 (*.f64 eps (sqrt.f64 (sin.f64 x))) 6))) 1/3)))))) |
| 1× | egg-herbie |
| 1240× | distribute-lft-out_binary64 |
| 614× | unswap-sqr_binary64 |
| 403× | *-commutative_binary64 |
| 398× | distribute-rgt-out_binary64 |
| 369× | fma-def_binary64 |
Useful iterations: 7 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 55 | 397 |
| 1 | 154 | 395 |
| 2 | 455 | 363 |
| 3 | 1726 | 331 |
| 4 | 3261 | 331 |
| 5 | 4306 | 331 |
| 6 | 4480 | 331 |
| 7 | 4655 | 330 |
| 8 | 4897 | 330 |
| 9 | 5116 | 330 |
| 10 | 7320 | 330 |
| 11 | 7625 | 330 |
| 12 | 7983 | 330 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (pow.f64 eps 2) x) |
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 (pow.f64 eps 2) x)) |
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 2) (pow.f64 x 5))) (*.f64 (pow.f64 eps 2) x))) |
(+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 eps 2) (pow.f64 x 7))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 2) (pow.f64 x 5))) (*.f64 (pow.f64 eps 2) x)))) |
eps |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) eps) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (+.f64 eps (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (+.f64 eps (+.f64 (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) (*.f64 1/12 (*.f64 (pow.f64 eps 2) (pow.f64 x 3)))))) |
(+.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 (pow.f64 eps 2) (sin.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 (pow.f64 eps 2) (sin.f64 x)))) |
(*.f64 (cos.f64 x) eps) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 1/12 (*.f64 (pow.f64 eps 2) (pow.f64 x 3)))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (+.f64 (*.f64 -1/240 (*.f64 (pow.f64 eps 2) (pow.f64 x 5))) (*.f64 1/12 (*.f64 (pow.f64 eps 2) (pow.f64 x 3))))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (+.f64 (*.f64 -1/240 (*.f64 (pow.f64 eps 2) (pow.f64 x 5))) (+.f64 (*.f64 1/10080 (*.f64 (pow.f64 eps 2) (pow.f64 x 7))) (*.f64 1/12 (*.f64 (pow.f64 eps 2) (pow.f64 x 3)))))) |
| Outputs |
|---|
(*.f64 (pow.f64 eps 2) x) |
(*.f64 (*.f64 eps eps) x) |
(*.f64 eps (*.f64 eps x)) |
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 (pow.f64 eps 2) x)) |
(fma.f64 -1/6 (*.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 (*.f64 eps eps) x)) |
(fma.f64 -1/6 (*.f64 eps (*.f64 eps (pow.f64 x 3))) (*.f64 (*.f64 eps eps) x)) |
(*.f64 (*.f64 eps eps) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))) |
(*.f64 eps (*.f64 eps (+.f64 x (*.f64 -1/6 (pow.f64 x 3))))) |
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 2) (pow.f64 x 5))) (*.f64 (pow.f64 eps 2) x))) |
(fma.f64 -1/6 (*.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 1/120 (*.f64 (*.f64 eps eps) (pow.f64 x 5)) (*.f64 (*.f64 eps eps) x))) |
(fma.f64 -1/6 (*.f64 eps (*.f64 eps (pow.f64 x 3))) (fma.f64 (*.f64 eps eps) x (*.f64 (pow.f64 x 5) (*.f64 (*.f64 eps eps) 1/120)))) |
(fma.f64 (*.f64 eps eps) (*.f64 1/120 (pow.f64 x 5)) (*.f64 (*.f64 eps eps) (+.f64 x (*.f64 -1/6 (pow.f64 x 3))))) |
(*.f64 (*.f64 eps eps) (+.f64 x (+.f64 (*.f64 1/120 (pow.f64 x 5)) (*.f64 -1/6 (pow.f64 x 3))))) |
(*.f64 (*.f64 eps eps) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 x (*.f64 1/120 (pow.f64 x 5))))) |
(*.f64 (*.f64 eps eps) (+.f64 (*.f64 1/120 (pow.f64 x 5)) (+.f64 x (*.f64 -1/6 (pow.f64 x 3))))) |
(+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 eps 2) (pow.f64 x 7))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 2) (pow.f64 x 5))) (*.f64 (pow.f64 eps 2) x)))) |
(fma.f64 -1/5040 (*.f64 (*.f64 eps eps) (pow.f64 x 7)) (fma.f64 -1/6 (*.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 1/120 (*.f64 (*.f64 eps eps) (pow.f64 x 5)) (*.f64 (*.f64 eps eps) x)))) |
(fma.f64 -1/5040 (*.f64 (*.f64 eps eps) (pow.f64 x 7)) (fma.f64 -1/6 (*.f64 eps (*.f64 eps (pow.f64 x 3))) (fma.f64 (*.f64 eps eps) x (*.f64 (pow.f64 x 5) (*.f64 (*.f64 eps eps) 1/120))))) |
(+.f64 (*.f64 (*.f64 eps eps) (+.f64 x (*.f64 1/120 (pow.f64 x 5)))) (*.f64 (*.f64 eps eps) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (*.f64 -1/5040 (pow.f64 x 7))))) |
(*.f64 (*.f64 eps eps) (+.f64 (+.f64 x (*.f64 1/120 (pow.f64 x 5))) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (*.f64 -1/5040 (pow.f64 x 7))))) |
(*.f64 (*.f64 eps eps) (+.f64 x (+.f64 (*.f64 1/120 (pow.f64 x 5)) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (*.f64 -1/5040 (pow.f64 x 7)))))) |
eps |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) eps) |
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) eps) |
(fma.f64 (*.f64 (*.f64 eps eps) x) -1/2 eps) |
(fma.f64 (*.f64 eps eps) (*.f64 x -1/2) eps) |
(fma.f64 (*.f64 eps (*.f64 eps x)) -1/2 eps) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (+.f64 eps (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))) |
(+.f64 (fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) eps) (*.f64 -1/2 (*.f64 eps (*.f64 x x)))) |
(fma.f64 (*.f64 (*.f64 eps eps) x) -1/2 (fma.f64 -1/2 (*.f64 x (*.f64 x eps)) eps)) |
(fma.f64 eps (*.f64 x (*.f64 x -1/2)) (fma.f64 (*.f64 eps eps) (*.f64 x -1/2) eps)) |
(+.f64 eps (*.f64 (*.f64 eps (*.f64 x -1/2)) (+.f64 x eps))) |
(+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 (+.f64 eps x))))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (+.f64 eps (+.f64 (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) (*.f64 1/12 (*.f64 (pow.f64 eps 2) (pow.f64 x 3)))))) |
(+.f64 (fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) eps) (fma.f64 -1/2 (*.f64 eps (*.f64 x x)) (*.f64 (*.f64 (*.f64 eps eps) (pow.f64 x 3)) 1/12))) |
(+.f64 (fma.f64 -1/2 (*.f64 x (*.f64 x eps)) eps) (fma.f64 (*.f64 (*.f64 eps eps) 1/12) (pow.f64 x 3) (*.f64 (*.f64 eps eps) (*.f64 x -1/2)))) |
(+.f64 (fma.f64 eps (*.f64 x (*.f64 x -1/2)) eps) (*.f64 (*.f64 eps eps) (+.f64 (*.f64 x -1/2) (*.f64 (pow.f64 x 3) 1/12)))) |
(+.f64 (*.f64 (*.f64 eps (*.f64 x -1/2)) (+.f64 x eps)) (fma.f64 (*.f64 eps eps) (*.f64 (pow.f64 x 3) 1/12) eps)) |
(+.f64 (*.f64 eps (*.f64 x (*.f64 -1/2 (+.f64 eps x)))) (fma.f64 (*.f64 eps eps) (*.f64 (pow.f64 x 3) 1/12) eps)) |
(+.f64 eps (*.f64 eps (+.f64 (*.f64 x (*.f64 -1/2 (+.f64 eps x))) (*.f64 (pow.f64 x 3) (*.f64 eps 1/12))))) |
(*.f64 eps (+.f64 1 (+.f64 (*.f64 1/12 (*.f64 eps (pow.f64 x 3))) (*.f64 x (*.f64 -1/2 (+.f64 eps x)))))) |
(*.f64 eps (+.f64 (*.f64 (pow.f64 x 3) (*.f64 eps 1/12)) (+.f64 1 (*.f64 x (*.f64 -1/2 (+.f64 eps x)))))) |
(+.f64 (*.f64 eps (cos.f64 x)) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(fma.f64 eps (cos.f64 x) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)))) |
(fma.f64 eps (cos.f64 x) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))) |
(fma.f64 eps (cos.f64 x) (*.f64 (*.f64 eps eps) (*.f64 -1/2 (sin.f64 x)))) |
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps -1/2)))) |
(+.f64 (*.f64 eps (cos.f64 x)) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(fma.f64 eps (cos.f64 x) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)))) |
(fma.f64 eps (cos.f64 x) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))) |
(fma.f64 eps (cos.f64 x) (*.f64 (*.f64 eps eps) (*.f64 -1/2 (sin.f64 x)))) |
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps -1/2)))) |
(+.f64 (*.f64 eps (cos.f64 x)) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(fma.f64 eps (cos.f64 x) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)))) |
(fma.f64 eps (cos.f64 x) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))) |
(fma.f64 eps (cos.f64 x) (*.f64 (*.f64 eps eps) (*.f64 -1/2 (sin.f64 x)))) |
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps -1/2)))) |
(+.f64 (*.f64 eps (cos.f64 x)) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(fma.f64 eps (cos.f64 x) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)))) |
(fma.f64 eps (cos.f64 x) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))) |
(fma.f64 eps (cos.f64 x) (*.f64 (*.f64 eps eps) (*.f64 -1/2 (sin.f64 x)))) |
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps -1/2)))) |
(*.f64 (cos.f64 x) eps) |
(*.f64 eps (cos.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 eps eps) (*.f64 (sin.f64 x) -1/2)) |
(*.f64 (*.f64 eps eps) (*.f64 -1/2 (sin.f64 x))) |
(*.f64 eps (*.f64 eps (*.f64 -1/2 (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 eps eps) (*.f64 (sin.f64 x) -1/2)) |
(*.f64 (*.f64 eps eps) (*.f64 -1/2 (sin.f64 x))) |
(*.f64 eps (*.f64 eps (*.f64 -1/2 (sin.f64 x)))) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(*.f64 (*.f64 (*.f64 eps eps) x) -1/2) |
(*.f64 (*.f64 eps eps) (*.f64 x -1/2)) |
(*.f64 eps (*.f64 eps (*.f64 x -1/2))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 1/12 (*.f64 (pow.f64 eps 2) (pow.f64 x 3)))) |
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) (*.f64 (*.f64 (*.f64 eps eps) (pow.f64 x 3)) 1/12)) |
(fma.f64 (*.f64 (*.f64 eps eps) 1/12) (pow.f64 x 3) (*.f64 (*.f64 eps eps) (*.f64 x -1/2))) |
(*.f64 (*.f64 eps eps) (+.f64 (*.f64 x -1/2) (*.f64 (pow.f64 x 3) 1/12))) |
(*.f64 (*.f64 eps eps) (+.f64 (*.f64 (pow.f64 x 3) 1/12) (*.f64 x -1/2))) |
(*.f64 (*.f64 eps (*.f64 eps x)) (+.f64 -1/2 (*.f64 (*.f64 x x) 1/12))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (+.f64 (*.f64 -1/240 (*.f64 (pow.f64 eps 2) (pow.f64 x 5))) (*.f64 1/12 (*.f64 (pow.f64 eps 2) (pow.f64 x 3))))) |
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) (fma.f64 -1/240 (*.f64 (*.f64 eps eps) (pow.f64 x 5)) (*.f64 (*.f64 (*.f64 eps eps) (pow.f64 x 3)) 1/12))) |
(fma.f64 (*.f64 (*.f64 eps eps) x) -1/2 (fma.f64 (*.f64 eps (*.f64 eps (pow.f64 x 3))) 1/12 (*.f64 (pow.f64 x 5) (*.f64 (*.f64 eps eps) -1/240)))) |
(fma.f64 (*.f64 eps eps) (*.f64 (pow.f64 x 5) -1/240) (*.f64 (*.f64 eps eps) (+.f64 (*.f64 x -1/2) (*.f64 (pow.f64 x 3) 1/12)))) |
(*.f64 (*.f64 eps eps) (+.f64 (*.f64 x -1/2) (+.f64 (*.f64 (pow.f64 x 5) -1/240) (*.f64 (pow.f64 x 3) 1/12)))) |
(*.f64 (*.f64 eps eps) (+.f64 (*.f64 (pow.f64 x 5) -1/240) (+.f64 (*.f64 (pow.f64 x 3) 1/12) (*.f64 x -1/2)))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (+.f64 (*.f64 -1/240 (*.f64 (pow.f64 eps 2) (pow.f64 x 5))) (+.f64 (*.f64 1/10080 (*.f64 (pow.f64 eps 2) (pow.f64 x 7))) (*.f64 1/12 (*.f64 (pow.f64 eps 2) (pow.f64 x 3)))))) |
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) (fma.f64 -1/240 (*.f64 (*.f64 eps eps) (pow.f64 x 5)) (fma.f64 1/10080 (*.f64 (*.f64 eps eps) (pow.f64 x 7)) (*.f64 (*.f64 (*.f64 eps eps) (pow.f64 x 3)) 1/12)))) |
(fma.f64 (*.f64 (*.f64 eps eps) x) -1/2 (fma.f64 (*.f64 eps (*.f64 eps (pow.f64 x 5))) -1/240 (fma.f64 (*.f64 eps (*.f64 eps (pow.f64 x 3))) 1/12 (*.f64 (*.f64 eps eps) (*.f64 (pow.f64 x 7) 1/10080))))) |
(+.f64 (*.f64 (*.f64 eps eps) (+.f64 (*.f64 x -1/2) (*.f64 (pow.f64 x 3) 1/12))) (*.f64 (*.f64 eps eps) (+.f64 (*.f64 (pow.f64 x 5) -1/240) (*.f64 (pow.f64 x 7) 1/10080)))) |
(*.f64 (*.f64 eps eps) (+.f64 (+.f64 (*.f64 (pow.f64 x 5) -1/240) (*.f64 (pow.f64 x 7) 1/10080)) (+.f64 (*.f64 (pow.f64 x 3) 1/12) (*.f64 x -1/2)))) |
(*.f64 (*.f64 eps eps) (+.f64 (*.f64 (pow.f64 x 7) 1/10080) (+.f64 (*.f64 (pow.f64 x 5) -1/240) (+.f64 (*.f64 (pow.f64 x 3) 1/12) (*.f64 x -1/2))))) |
(*.f64 (*.f64 eps eps) (+.f64 (*.f64 (pow.f64 x 5) -1/240) (+.f64 (*.f64 (pow.f64 x 3) 1/12) (+.f64 (*.f64 (pow.f64 x 7) 1/10080) (*.f64 x -1/2))))) |
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.1b | (-.f64 (sqrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (sin.f64 x)) |
| ✓ | 0.4b | (pow.f64 (sin.f64 (+.f64 x eps)) 2) |
| 1.1b | (sin.f64 (+.f64 x eps)) | |
| ✓ | 2.2b | (sqrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)) |
Compiled 37 to 15 computations (59.5% saved)
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 9.0ms | x | @ | -inf | (-.f64 (sqrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (sin.f64 x)) |
| 1.0ms | x | @ | 0 | (pow.f64 (sin.f64 (+.f64 x eps)) 2) |
| 1.0ms | eps | @ | 0 | (pow.f64 (sin.f64 (+.f64 x eps)) 2) |
| 1.0ms | eps | @ | -inf | (pow.f64 (sin.f64 (+.f64 x eps)) 2) |
| 1.0ms | x | @ | -inf | (pow.f64 (sin.f64 (+.f64 x eps)) 2) |
| 1× | batch-egg-rewrite |
| 468× | log-prod_binary64 |
| 421× | fma-def_binary64 |
| 309× | pow-prod-down_binary64 |
| 281× | pow2_binary64 |
| 228× | fma-neg_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 26 |
| 1 | 229 | 26 |
| 2 | 2941 | 26 |
| 1× | node limit |
| Inputs |
|---|
(sqrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)) |
(pow.f64 (sin.f64 (+.f64 x eps)) 2) |
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (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 (pow.f64 (cbrt.f64 (exp.f64 (sin.f64 (+.f64 x eps)))) 2)) (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))) (cbrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.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)) (+.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 2) (-.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2) (*.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 2) (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2)) (sin.f64 (-.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sin.f64 (+.f64 x eps)) 1)))) (#(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 pow.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 6) 1/6)))) (#(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 (cbrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sin.f64 (+.f64 x eps)))))) (#(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 (pow.f64 (exp.f64 (sin.f64 eps)) (cos.f64 x)) (pow.f64 (exp.f64 (cos.f64 eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x sin.f64 (+.f64 x eps))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sin.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.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 (*.f64 2 (log.f64 (sin.f64 (+.f64 x eps)))) 1/2))))) (#(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 exp.f64 (*.f64 (*.f64 3 (log.f64 (sin.f64 (+.f64 x eps)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (sin.f64 (+.f64 x eps)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (sin.f64 (+.f64 x eps)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 (sin.f64 (+.f64 x eps)))) 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 (sin.f64 (+.f64 x eps)))) 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sin.f64 (+.f64 x eps))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sin.f64 (+.f64 x eps))) 3) 1/3))))) (#(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 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) 2) (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 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) 2) (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 +.f64 0 (pow.f64 (sin.f64 (+.f64 x eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (sin.f64 (+.f64 x eps))) (*.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 (+.f64 x eps)) (*.f64 (sin.f64 x) (cos.f64 eps))) (*.f64 (sin.f64 (+.f64 x eps)) (*.f64 (cos.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 (+.f64 x eps)) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (sin.f64 (+.f64 x eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (cbrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 4)) (cbrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (pow.f64 (sin.f64 (+.f64 x eps)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3/2) (sqrt.f64 (sin.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 5) (cbrt.f64 (sin.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (cos.f64 (-.f64 (+.f64 x eps) (+.f64 x eps))) (cos.f64 (*.f64 2 (+.f64 x eps)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 6))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 (sin.f64 (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (sin.f64 (+.f64 x eps)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 4)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 6)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 (sin.f64 (+.f64 x eps)))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 (sin.f64 (+.f64 x eps)))) 1/2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sin.f64 (+.f64 x eps))) 1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 (+.f64 x eps)) (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 (+.f64 x eps)) (*.f64 (cos.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (sin.f64 (+.f64 x eps)) (*.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 (+.f64 x eps)))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sin.f64 (+.f64 x eps)) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (sin.f64 (+.f64 x eps)) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (sin.f64 x)) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) 2)) (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 2 (*.f64 (sin.f64 (/.f64 (-.f64 (+.f64 x eps) x) 2)) (cos.f64 (/.f64 (+.f64 (+.f64 x eps) x) 2))))))) (#(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 (-.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 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 (pow.f64 (neg.f64 (sin.f64 x)) 2) (*.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) (pow.f64 (neg.f64 (sin.f64 x)) 2)) (-.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)) 2) 1/2)))) (#(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 pow.f64 (/.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))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.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))) -1)))) (#(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 (neg.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 expm1.f64 (log1p.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 2 (*.f64 (sin.f64 (/.f64 (-.f64 (+.f64 x eps) x) 2)) (cos.f64 (/.f64 (+.f64 (+.f64 x eps) x) 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) 2)) (cos.f64 (/.f64 (+.f64 (+.f64 x eps) 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 2 (*.f64 (sin.f64 (/.f64 (-.f64 (+.f64 x eps) x) 2)) (cos.f64 (/.f64 (+.f64 (+.f64 x eps) x) 2))) (+.f64 (neg.f64 (sin.f64 x)) (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 (cbrt.f64 (sin.f64 (+.f64 x eps))) (cbrt.f64 (pow.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))) (cbrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.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 (cbrt.f64 (pow.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 (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 (-.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 (+.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 (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 (-.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 (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 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) 2) (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 (pow.f64 (cbrt.f64 (neg.f64 (sin.f64 x))) 2) (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))))))) |
| 1× | egg-herbie |
| 683× | distribute-rgt-neg-out_binary64 |
| 648× | fma-def_binary64 |
| 600× | distribute-lft-neg-out_binary64 |
| 523× | associate-*r*_binary64 |
| 506× | associate-*l*_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 107 | 986 |
| 1 | 329 | 973 |
| 2 | 917 | 935 |
| 3 | 4253 | 935 |
| 1× | node limit |
| Inputs |
|---|
(sin.f64 eps) |
(+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (cos.f64 eps) x) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3))) (sin.f64 eps)))) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (-.f64 eps (*.f64 -1 x))) |
(sin.f64 (-.f64 eps (*.f64 -1 x))) |
(sin.f64 (-.f64 eps (*.f64 -1 x))) |
(sin.f64 (-.f64 eps (*.f64 -1 x))) |
(sin.f64 x) |
(+.f64 (*.f64 (cos.f64 x) eps) (sin.f64 x)) |
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))) |
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (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 x (*.f64 -1 eps))) |
(sin.f64 (-.f64 x (*.f64 -1 eps))) |
(sin.f64 (-.f64 x (*.f64 -1 eps))) |
(sin.f64 (-.f64 x (*.f64 -1 eps))) |
(pow.f64 (sin.f64 eps) 2) |
(+.f64 (pow.f64 (sin.f64 eps) 2) (*.f64 2 (*.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x)))) |
(+.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (*.f64 2 (*.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x))) (*.f64 (+.f64 (*.f64 -1 (pow.f64 (sin.f64 eps) 2)) (pow.f64 (cos.f64 eps) 2)) (pow.f64 x 2)))) |
(+.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (*.f64 2 (*.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x))) (+.f64 (*.f64 (+.f64 (*.f64 -1 (*.f64 (cos.f64 eps) (sin.f64 eps))) (*.f64 -1/3 (*.f64 (cos.f64 eps) (sin.f64 eps)))) (pow.f64 x 3)) (*.f64 (+.f64 (*.f64 -1 (pow.f64 (sin.f64 eps) 2)) (pow.f64 (cos.f64 eps) 2)) (pow.f64 x 2))))) |
(pow.f64 (sin.f64 (+.f64 eps x)) 2) |
(pow.f64 (sin.f64 (+.f64 eps x)) 2) |
(pow.f64 (sin.f64 (+.f64 eps x)) 2) |
(pow.f64 (sin.f64 (+.f64 eps x)) 2) |
(pow.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) 2) |
(pow.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) 2) |
(pow.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) 2) |
(pow.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) 2) |
(pow.f64 (sin.f64 x) 2) |
(+.f64 (pow.f64 (sin.f64 x) 2) (*.f64 2 (*.f64 eps (*.f64 (cos.f64 x) (sin.f64 x))))) |
(+.f64 (pow.f64 (sin.f64 x) 2) (+.f64 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1 (pow.f64 (sin.f64 x) 2)) (pow.f64 (cos.f64 x) 2))) (*.f64 2 (*.f64 eps (*.f64 (cos.f64 x) (sin.f64 x)))))) |
(+.f64 (*.f64 (+.f64 (*.f64 -1/3 (*.f64 (cos.f64 x) (sin.f64 x))) (*.f64 -1 (*.f64 (cos.f64 x) (sin.f64 x)))) (pow.f64 eps 3)) (+.f64 (pow.f64 (sin.f64 x) 2) (+.f64 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1 (pow.f64 (sin.f64 x) 2)) (pow.f64 (cos.f64 x) 2))) (*.f64 2 (*.f64 eps (*.f64 (cos.f64 x) (sin.f64 x))))))) |
(pow.f64 (sin.f64 (+.f64 eps x)) 2) |
(pow.f64 (sin.f64 (+.f64 eps x)) 2) |
(pow.f64 (sin.f64 (+.f64 eps x)) 2) |
(pow.f64 (sin.f64 (+.f64 eps x)) 2) |
(pow.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) 2) |
(pow.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) 2) |
(pow.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) 2) |
(pow.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) 2) |
(sin.f64 eps) |
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (cos.f64 eps)) 1/6) (pow.f64 x 3)) (sin.f64 eps)))) |
(-.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 (*.f64 -1 x))) (sin.f64 x)) |
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)) |
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)) |
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)) |
(*.f64 (cos.f64 x) eps) |
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(+.f64 (*.f64 (cos.f64 x) eps) (+.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 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (*.f64 (cos.f64 x) eps) (+.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 x (*.f64 -1 eps))) (sin.f64 x)) |
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)) |
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)) |
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (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 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps))) |
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (cos.f64 eps) x (sin.f64 eps))) |
(fma.f64 (cos.f64 eps) x (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (sin.f64 eps))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (cos.f64 eps) x) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3))) (sin.f64 eps)))) |
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (cos.f64 eps) x (fma.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3)) (sin.f64 eps)))) |
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (cos.f64 eps) x (fma.f64 (*.f64 (cos.f64 eps) -1/6) (pow.f64 x 3) (sin.f64 eps)))) |
(+.f64 (*.f64 (cos.f64 eps) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x)) (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (sin.f64 eps))) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (-.f64 eps (*.f64 -1 x))) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (-.f64 eps (*.f64 -1 x))) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (-.f64 eps (*.f64 -1 x))) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (-.f64 eps (*.f64 -1 x))) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 x) |
(+.f64 (*.f64 (cos.f64 x) eps) (sin.f64 x)) |
(fma.f64 (cos.f64 x) eps (sin.f64 x)) |
(fma.f64 eps (cos.f64 x) (sin.f64 x)) |
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))) |
(+.f64 (fma.f64 (cos.f64 x) eps (sin.f64 x)) (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x))) |
(fma.f64 eps (cos.f64 x) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 eps eps)) 1) (sin.f64 x))) |
(fma.f64 eps (cos.f64 x) (*.f64 (sin.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1))) |
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (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 (cos.f64 x) eps (sin.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 (sin.f64 x) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps))) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))) |
(+.f64 (*.f64 (sin.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))))) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (-.f64 x (*.f64 -1 eps))) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (-.f64 x (*.f64 -1 eps))) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (-.f64 x (*.f64 -1 eps))) |
(sin.f64 (+.f64 eps x)) |
(sin.f64 (-.f64 x (*.f64 -1 eps))) |
(sin.f64 (+.f64 eps x)) |
(pow.f64 (sin.f64 eps) 2) |
(+.f64 (pow.f64 (sin.f64 eps) 2) (*.f64 2 (*.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x)))) |
(+.f64 (pow.f64 (sin.f64 eps) 2) (*.f64 (*.f64 2 (cos.f64 eps)) (*.f64 (sin.f64 eps) x))) |
(fma.f64 2 (*.f64 (sin.f64 eps) (*.f64 (cos.f64 eps) x)) (pow.f64 (sin.f64 eps) 2)) |
(*.f64 (sin.f64 eps) (+.f64 (*.f64 (cos.f64 eps) (*.f64 x 2)) (sin.f64 eps))) |
(*.f64 (sin.f64 eps) (+.f64 (sin.f64 eps) (*.f64 (cos.f64 eps) (*.f64 x 2)))) |
(+.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (*.f64 2 (*.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x))) (*.f64 (+.f64 (*.f64 -1 (pow.f64 (sin.f64 eps) 2)) (pow.f64 (cos.f64 eps) 2)) (pow.f64 x 2)))) |
(+.f64 (pow.f64 (sin.f64 eps) 2) (fma.f64 2 (*.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x)) (*.f64 (*.f64 x x) (fma.f64 -1 (pow.f64 (sin.f64 eps) 2) (pow.f64 (cos.f64 eps) 2))))) |
(+.f64 (pow.f64 (sin.f64 eps) 2) (fma.f64 2 (*.f64 (sin.f64 eps) (*.f64 (cos.f64 eps) x)) (*.f64 (*.f64 x x) (-.f64 (pow.f64 (cos.f64 eps) 2) (pow.f64 (sin.f64 eps) 2))))) |
(fma.f64 x (*.f64 x (-.f64 (pow.f64 (cos.f64 eps) 2) (pow.f64 (sin.f64 eps) 2))) (*.f64 (sin.f64 eps) (+.f64 (*.f64 (cos.f64 eps) (*.f64 x 2)) (sin.f64 eps)))) |
(fma.f64 x (*.f64 x (-.f64 (pow.f64 (cos.f64 eps) 2) (pow.f64 (sin.f64 eps) 2))) (*.f64 (sin.f64 eps) (+.f64 (sin.f64 eps) (*.f64 (cos.f64 eps) (*.f64 x 2))))) |
(+.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (*.f64 2 (*.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x))) (+.f64 (*.f64 (+.f64 (*.f64 -1 (*.f64 (cos.f64 eps) (sin.f64 eps))) (*.f64 -1/3 (*.f64 (cos.f64 eps) (sin.f64 eps)))) (pow.f64 x 3)) (*.f64 (+.f64 (*.f64 -1 (pow.f64 (sin.f64 eps) 2)) (pow.f64 (cos.f64 eps) 2)) (pow.f64 x 2))))) |
(+.f64 (pow.f64 (sin.f64 eps) 2) (fma.f64 2 (*.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x)) (fma.f64 (*.f64 (*.f64 (sin.f64 eps) (cos.f64 eps)) -4/3) (pow.f64 x 3) (*.f64 (*.f64 x x) (fma.f64 -1 (pow.f64 (sin.f64 eps) 2) (pow.f64 (cos.f64 eps) 2)))))) |
(+.f64 (pow.f64 (sin.f64 eps) 2) (fma.f64 2 (*.f64 (sin.f64 eps) (*.f64 (cos.f64 eps) x)) (fma.f64 (*.f64 x x) (-.f64 (pow.f64 (cos.f64 eps) 2) (pow.f64 (sin.f64 eps) 2)) (*.f64 (pow.f64 x 3) (*.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) -4/3)))))) |
(+.f64 (pow.f64 (sin.f64 eps) 2) (fma.f64 x (*.f64 x (-.f64 (pow.f64 (cos.f64 eps) 2) (pow.f64 (sin.f64 eps) 2))) (*.f64 (*.f64 (sin.f64 eps) (cos.f64 eps)) (+.f64 (*.f64 x 2) (*.f64 (pow.f64 x 3) -4/3))))) |
(+.f64 (*.f64 (*.f64 (sin.f64 eps) (cos.f64 eps)) (+.f64 (*.f64 x 2) (*.f64 (pow.f64 x 3) -4/3))) (fma.f64 (*.f64 x x) (-.f64 (pow.f64 (cos.f64 eps) 2) (pow.f64 (sin.f64 eps) 2)) (pow.f64 (sin.f64 eps) 2))) |
(pow.f64 (sin.f64 (+.f64 eps x)) 2) |
(pow.f64 (sin.f64 (+.f64 eps x)) 2) |
(pow.f64 (sin.f64 (+.f64 eps x)) 2) |
(pow.f64 (sin.f64 (+.f64 eps x)) 2) |
(pow.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) 2) |
(pow.f64 (sin.f64 (+.f64 eps x)) 2) |
(pow.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) 2) |
(pow.f64 (sin.f64 (+.f64 eps x)) 2) |
(pow.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) 2) |
(pow.f64 (sin.f64 (+.f64 eps x)) 2) |
(pow.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) 2) |
(pow.f64 (sin.f64 (+.f64 eps x)) 2) |
(pow.f64 (sin.f64 x) 2) |
(+.f64 (pow.f64 (sin.f64 x) 2) (*.f64 2 (*.f64 eps (*.f64 (cos.f64 x) (sin.f64 x))))) |
(+.f64 (pow.f64 (sin.f64 x) 2) (*.f64 (*.f64 2 eps) (*.f64 (sin.f64 x) (cos.f64 x)))) |
(fma.f64 2 (*.f64 eps (*.f64 (sin.f64 x) (cos.f64 x))) (pow.f64 (sin.f64 x) 2)) |
(*.f64 (sin.f64 x) (+.f64 (*.f64 eps (*.f64 2 (cos.f64 x))) (sin.f64 x))) |
(*.f64 (sin.f64 x) (+.f64 (sin.f64 x) (*.f64 eps (*.f64 2 (cos.f64 x))))) |
(+.f64 (pow.f64 (sin.f64 x) 2) (+.f64 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1 (pow.f64 (sin.f64 x) 2)) (pow.f64 (cos.f64 x) 2))) (*.f64 2 (*.f64 eps (*.f64 (cos.f64 x) (sin.f64 x)))))) |
(+.f64 (pow.f64 (sin.f64 x) 2) (fma.f64 (*.f64 eps eps) (fma.f64 -1 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2)) (*.f64 (*.f64 2 eps) (*.f64 (sin.f64 x) (cos.f64 x))))) |
(+.f64 (pow.f64 (sin.f64 x) 2) (fma.f64 2 (*.f64 eps (*.f64 (sin.f64 x) (cos.f64 x))) (*.f64 (*.f64 eps eps) (-.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 (sin.f64 x) 2))))) |
(fma.f64 eps (*.f64 eps (-.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 (sin.f64 x) 2))) (*.f64 (sin.f64 x) (+.f64 (*.f64 eps (*.f64 2 (cos.f64 x))) (sin.f64 x)))) |
(fma.f64 eps (*.f64 eps (-.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 (sin.f64 x) 2))) (*.f64 (sin.f64 x) (+.f64 (sin.f64 x) (*.f64 eps (*.f64 2 (cos.f64 x)))))) |
(+.f64 (*.f64 (+.f64 (*.f64 -1/3 (*.f64 (cos.f64 x) (sin.f64 x))) (*.f64 -1 (*.f64 (cos.f64 x) (sin.f64 x)))) (pow.f64 eps 3)) (+.f64 (pow.f64 (sin.f64 x) 2) (+.f64 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1 (pow.f64 (sin.f64 x) 2)) (pow.f64 (cos.f64 x) 2))) (*.f64 2 (*.f64 eps (*.f64 (cos.f64 x) (sin.f64 x))))))) |
(fma.f64 (*.f64 (*.f64 (sin.f64 x) (cos.f64 x)) -4/3) (pow.f64 eps 3) (+.f64 (pow.f64 (sin.f64 x) 2) (fma.f64 (*.f64 eps eps) (fma.f64 -1 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2)) (*.f64 (*.f64 2 eps) (*.f64 (sin.f64 x) (cos.f64 x)))))) |
(+.f64 (fma.f64 2 (*.f64 eps (*.f64 (sin.f64 x) (cos.f64 x))) (*.f64 (*.f64 eps eps) (-.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 (sin.f64 x) 2)))) (fma.f64 (pow.f64 eps 3) (*.f64 (sin.f64 x) (*.f64 (cos.f64 x) -4/3)) (pow.f64 (sin.f64 x) 2))) |
(+.f64 (fma.f64 eps (*.f64 eps (-.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 (sin.f64 x) 2))) (pow.f64 (sin.f64 x) 2)) (*.f64 (*.f64 (sin.f64 x) (cos.f64 x)) (+.f64 (*.f64 eps 2) (*.f64 (pow.f64 eps 3) -4/3)))) |
(+.f64 (fma.f64 (*.f64 eps eps) (-.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 (sin.f64 x) 2)) (pow.f64 (sin.f64 x) 2)) (*.f64 (*.f64 (sin.f64 x) (cos.f64 x)) (+.f64 (*.f64 eps 2) (*.f64 (pow.f64 eps 3) -4/3)))) |
(pow.f64 (sin.f64 (+.f64 eps x)) 2) |
(pow.f64 (sin.f64 (+.f64 eps x)) 2) |
(pow.f64 (sin.f64 (+.f64 eps x)) 2) |
(pow.f64 (sin.f64 (+.f64 eps x)) 2) |
(pow.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) 2) |
(pow.f64 (sin.f64 (+.f64 eps x)) 2) |
(pow.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) 2) |
(pow.f64 (sin.f64 (+.f64 eps x)) 2) |
(pow.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) 2) |
(pow.f64 (sin.f64 (+.f64 eps x)) 2) |
(pow.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) 2) |
(pow.f64 (sin.f64 (+.f64 eps x)) 2) |
(sin.f64 eps) |
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)) |
(fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps)) |
(fma.f64 x (+.f64 (cos.f64 eps) -1) (sin.f64 eps)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))) |
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps))) |
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 x (+.f64 (cos.f64 eps) -1) (sin.f64 eps))) |
(fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (fma.f64 x (+.f64 (cos.f64 eps) -1) (sin.f64 eps))) |
(-.f64 (fma.f64 (cos.f64 eps) x (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (sin.f64 eps))) x) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (cos.f64 eps)) 1/6) (pow.f64 x 3)) (sin.f64 eps)))) |
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (fma.f64 (fma.f64 -1/6 (cos.f64 eps) 1/6) (pow.f64 x 3) (sin.f64 eps)))) |
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 x (+.f64 (cos.f64 eps) -1) (fma.f64 (pow.f64 x 3) (fma.f64 (cos.f64 eps) -1/6 1/6) (sin.f64 eps)))) |
(fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (fma.f64 x (+.f64 (cos.f64 eps) -1) (fma.f64 (pow.f64 x 3) (fma.f64 (cos.f64 eps) -1/6 1/6) (sin.f64 eps)))) |
(fma.f64 x (+.f64 (cos.f64 eps) -1) (fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (fma.f64 (pow.f64 x 3) (fma.f64 (cos.f64 eps) -1/6 1/6) (sin.f64 eps)))) |
(-.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 (*.f64 -1 x))) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(*.f64 (cos.f64 x) eps) |
(*.f64 eps (cos.f64 x)) |
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(fma.f64 (cos.f64 x) eps (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x))) |
(fma.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps)) (*.f64 eps (cos.f64 x))) |
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 eps (cos.f64 x))) |
(fma.f64 eps (cos.f64 x) (*.f64 eps (*.f64 eps (*.f64 -1/2 (sin.f64 x))))) |
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))) |
(fma.f64 (cos.f64 x) eps (fma.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x)))) |
(+.f64 (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps))) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))))) |
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))))) |
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))) |
(fma.f64 1/24 (*.f64 (sin.f64 x) (pow.f64 eps 4)) (fma.f64 (cos.f64 x) eps (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 (sin.f64 x) (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps))) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))) |
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 (sin.f64 x) (+.f64 (*.f64 eps (*.f64 eps -1/2)) (*.f64 1/24 (pow.f64 eps 4))))) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.1b | (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) |
| 0.1b | (*.f64 (cos.f64 x) (sin.f64 eps)) | |
| ✓ | 0.2b | (*.f64 (sin.f64 x) (cos.f64 eps)) |
| ✓ | 1.7b | (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) |
Compiled 44 to 10 computations (77.3% saved)
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | x | @ | 0 | (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) |
| 1.0ms | x | @ | -inf | (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) |
| 1.0ms | x | @ | inf | (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) |
| 1.0ms | eps | @ | -inf | (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) |
| 1.0ms | eps | @ | inf | (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) |
| 1× | batch-egg-rewrite |
| 664× | fma-def_binary64 |
| 634× | log-prod_binary64 |
| 370× | fma-neg_binary64 |
| 348× | pow2_binary64 |
| 238× | pow1/3_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 42 |
| 1 | 247 | 32 |
| 2 | 3655 | 32 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) |
(*.f64 (sin.f64 x) (cos.f64 eps)) |
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (-.f64 (sin.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 2) (+.f64 (sin.f64 (-.f64 x eps)) (sin.f64 x))) (/.f64 (pow.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) 2) (+.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) 2)) (cos.f64 (/.f64 (+.f64 (+.f64 x eps) x) 2))))))) (#(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)) (/.f64 1 (fma.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) (-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) (*.f64 (sin.f64 x) (cos.f64 eps))) (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (+.f64 (sin.f64 (-.f64 x eps)) (sin.f64 x))) (/.f64 1 (+.f64 (sin.f64 (-.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) (-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) (*.f64 (sin.f64 x) (cos.f64 eps))) (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 2)) (+.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))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (sin.f64 (-.f64 x eps)) (sin.f64 x)) (*.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (+.f64 (sin.f64 (-.f64 x eps)) (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 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) (-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) (*.f64 (sin.f64 x) (cos.f64 eps))) (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 2)))))) (#(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)) (+.f64 (pow.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) 2) (-.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 2) (*.f64 (sin.f64 x) (*.f64 (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 (+.f64 x eps)) (sin.f64 x)) (+.f64 (sin.f64 (-.f64 x eps)) (sin.f64 x))) (+.f64 (sin.f64 (-.f64 x eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.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))) (neg.f64 (fma.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) (-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) (*.f64 (sin.f64 x) (cos.f64 eps))) (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (+.f64 (sin.f64 (-.f64 x eps)) (sin.f64 x)))) (neg.f64 (+.f64 (sin.f64 (-.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (+.f64 (sin.f64 (-.f64 x eps)) (sin.f64 (+.f64 x eps))) (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 2 (-.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 3) (pow.f64 (sin.f64 x) 3)))) (*.f64 2 (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 (fma.f64 (+.f64 (sin.f64 (-.f64 x eps)) (sin.f64 (+.f64 x eps))) (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)) (*.f64 2 (-.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2) (pow.f64 (sin.f64 x) 2)))) (*.f64 2 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 3) (pow.f64 (sin.f64 x) 3)) 2 (*.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 (sin.f64 (-.f64 x eps)) (sin.f64 (+.f64 x eps))))) (*.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)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2) (pow.f64 (sin.f64 x) 2)) 2 (*.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)) (+.f64 (sin.f64 (-.f64 x eps)) (sin.f64 (+.f64 x eps))))) (*.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (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)) (+.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (+.f64 (pow.f64 (sin.f64 x) 2) (*.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)) 2) (pow.f64 (sin.f64 x) 2)) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) 2) (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 2)) (-.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 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 pow.f64 (/.f64 (fma.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) (-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) (*.f64 (sin.f64 x) (cos.f64 eps))) (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 2)) (+.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))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 (sin.f64 (-.f64 x eps)) (sin.f64 x)) (*.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (+.f64 (sin.f64 (-.f64 x eps)) (sin.f64 x)))) -1)))) (#(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 (pow.f64 (exp.f64 (sin.f64 x)) (cos.f64 eps)) (pow.f64 (exp.f64 (cos.f64 x)) (sin.f64 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 (pow.f64 (exp.f64 (sin.f64 x)) (cos.f64 eps)) (pow.f64 (exp.f64 (cos.f64 x)) (sin.f64 eps))) (+.f64 1 (expm1.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (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 (pow.f64 (exp.f64 (sin.f64 x)) (cos.f64 eps)) (+.f64 1 (expm1.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (+.f64 1 (expm1.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))) (pow.f64 (exp.f64 (sin.f64 x)) (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))) (+.f64 1 (expm1.f64 (*.f64 (sin.f64 x) (cos.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))) (+.f64 1 (expm1.f64 (*.f64 (sin.f64 x) (cos.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (sin.f64 (+.f64 x eps))) (exp.f64 (neg.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (*.f64 (pow.f64 (exp.f64 (sin.f64 x)) (cos.f64 eps)) (pow.f64 (exp.f64 (cos.f64 x)) (sin.f64 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 (pow.f64 (exp.f64 (sin.f64 x)) (cos.f64 eps)) (pow.f64 (exp.f64 (cos.f64 x)) (sin.f64 eps))) (/.f64 1 (exp.f64 (sin.f64 x)))))))) (#(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 expm1.f64 (log1p.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 eps) (sin.f64 x) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.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 fma.f64 (cos.f64 x) (sin.f64 eps) (fma.f64 -1 (sin.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (-.f64 (sin.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 eps) (cos.f64 x) (fma.f64 -1 (sin.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 eps) (cos.f64 x) (neg.f64 (-.f64 (sin.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 1 (fma.f64 -1 (sin.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 1 (neg.f64 (-.f64 (sin.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) 1 (*.f64 (sin.f64 x) (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (sin.f64 x) (cos.f64 eps)) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (cos.f64 x) (sin.f64 eps)) (fma.f64 -1 (sin.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (cos.f64 x) (sin.f64 eps)) (neg.f64 (-.f64 (sin.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (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 fma.f64 1 (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 eps)) 2) (*.f64 (cbrt.f64 (sin.f64 eps)) (cos.f64 x)) (fma.f64 -1 (sin.f64 x) (*.f64 (sin.f64 x) (cos.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 (-.f64 (sin.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps)))))))) (#(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)) (fma.f64 (cos.f64 x) (sin.f64 eps) (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)) (fma.f64 -1 (sin.f64 x) (*.f64 (sin.f64 x) (cos.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 (-.f64 (sin.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps)))))))) (#(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))) (fma.f64 -1 (sin.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))))))) (#(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 (-.f64 (sin.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 2)) (fma.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 (sin.f64 x) (cos.f64 eps)) 2)) (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (*.f64 (cbrt.f64 (sin.f64 x)) (cos.f64 eps)) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 (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 (sin.f64 x) (cos.f64 eps)))))) (#(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 (sin.f64 x) (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (sin.f64 eps)) (fma.f64 -1 (sin.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (sin.f64 eps)) (neg.f64 (-.f64 (sin.f64 x) (*.f64 (sin.f64 x) (cos.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)) (fma.f64 -1 (sin.f64 x) (*.f64 (sin.f64 x) (cos.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 (-.f64 (sin.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 eps)) (*.f64 (sqrt.f64 (cos.f64 eps)) (sin.f64 x)) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (fma.f64 -1 (sin.f64 x) (*.f64 (sin.f64 x) (cos.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))) (neg.f64 (-.f64 (sin.f64 x) (*.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))) (fma.f64 (cos.f64 x) (sin.f64 eps) (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)) (cos.f64 eps)) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (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 (sin.f64 x) (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) (sin.f64 eps)) (fma.f64 -1 (sin.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))))))) (#(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 (-.f64 (sin.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sin.f64 (-.f64 x eps)) (sin.f64 (+.f64 x eps))) 1/2 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (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 (sin.f64 x) (cos.f64 eps)))))) (#(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 (sin.f64 x) (cos.f64 eps)))))) (#(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 (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 (fma.f64 (sqrt.f64 (sin.f64 eps)) (sqrt.f64 (cos.f64 x)) (sqrt.f64 (sin.f64 x))) (-.f64 (sqrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (sqrt.f64 (sin.f64 x))) (*.f64 (sin.f64 x) (cos.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)) (fma.f64 -1 (sin.f64 x) (*.f64 (sin.f64 x) (cos.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 (-.f64 (sin.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 x) (sqrt.f64 (sin.f64 eps))) (sqrt.f64 (sin.f64 eps)) (fma.f64 -1 (sin.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))))))) (#(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 (-.f64 (sin.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps)))))))) (#(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)) (fma.f64 -1 (sin.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))))))) (#(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 (-.f64 (sin.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 eps) (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x)) (fma.f64 -1 (sin.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))))))) (#(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 (-.f64 (sin.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps)))))))) (#(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)) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 x) (sqrt.f64 (cos.f64 eps))) (sqrt.f64 (cos.f64 eps)) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 eps) (pow.f64 (cbrt.f64 (sin.f64 x)) 2)) (cbrt.f64 (sin.f64 x)) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 eps) (sqrt.f64 (sin.f64 x))) (sqrt.f64 (sin.f64 x)) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 x) (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 x)) (cos.f64 eps))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 x)) (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 x)) (cos.f64 eps)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 x)) (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 2 (+.f64 (sin.f64 (-.f64 x eps)) (sin.f64 (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (sin.f64 (-.f64 x eps)) (sin.f64 (+.f64 x eps))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (sin.f64 (-.f64 x eps)) (sin.f64 (+.f64 x eps)))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 2 (+.f64 (sin.f64 (-.f64 x eps)) (sin.f64 (+.f64 x eps)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sin.f64 x)) (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sin.f64 x) (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sin.f64 x) (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sin.f64 x) (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 x) (cos.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 (neg.f64 (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))))))))) (#(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 (sin.f64 eps)) (sqrt.f64 (cos.f64 x)) (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 (pow.f64 (neg.f64 (sin.f64 x)) 2) (*.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) (pow.f64 (neg.f64 (sin.f64 x)) 2)) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (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 (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 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 (/.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))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.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))) -1)))) (#(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 log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 x) (sin.f64 eps)))) (exp.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (pow.f64 (exp.f64 (cos.f64 x)) (sin.f64 eps)) (+.f64 1 (expm1.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 x) (sin.f64 eps)))) (+.f64 1 (expm1.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 x) (sin.f64 eps)))) (exp.f64 (neg.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 (cos.f64 x)) (sin.f64 eps)) (/.f64 1 (exp.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 x) (sin.f64 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))) (pow.f64 (exp.f64 (cos.f64 x)) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (exp.f64 (sin.f64 x))) (pow.f64 (exp.f64 (cos.f64 x)) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (neg.f64 (sin.f64 x))) (+.f64 1 (expm1.f64 (*.f64 (cos.f64 x) (sin.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (exp.f64 (sin.f64 x))) (+.f64 1 (expm1.f64 (*.f64 (cos.f64 x) (sin.f64 eps))))))))) (#(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 expm1.f64 (log1p.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (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 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 (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 (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 (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 (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 (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 (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 (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 (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 (-.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 (pow.f64 (cbrt.f64 (neg.f64 (sin.f64 x))) 2) (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 (sin.f64 eps)) (sqrt.f64 (cos.f64 x)) (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 (sin.f64 eps)) (sqrt.f64 (cos.f64 x)) (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 (sin.f64 eps)) (sqrt.f64 (cos.f64 x)) (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)))))) |
| 1× | egg-herbie |
| 542× | fma-def_binary64 |
| 448× | *-commutative_binary64 |
| 401× | fma-neg_binary64 |
| 392× | cancel-sign-sub-inv_binary64 |
| 316× | distribute-rgt-out_binary64 |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 90 | 953 |
| 1 | 262 | 937 |
| 2 | 729 | 868 |
| 3 | 2400 | 856 |
| 4 | 4716 | 854 |
| 5 | 7825 | 854 |
| 1× | node limit |
| Inputs |
|---|
(sin.f64 eps) |
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (cos.f64 eps)) 1/6) (pow.f64 x 3)) (sin.f64 eps)))) |
(-.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 (cos.f64 x) eps) |
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(+.f64 (*.f64 (cos.f64 x) eps) (+.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 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (*.f64 (cos.f64 x) eps) (+.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 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 (cos.f64 eps) x) |
(+.f64 (*.f64 (cos.f64 eps) x) (*.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3)))) |
(+.f64 (*.f64 (cos.f64 eps) x) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3))) (*.f64 1/120 (*.f64 (cos.f64 eps) (pow.f64 x 5))))) |
(+.f64 (*.f64 -1/5040 (*.f64 (cos.f64 eps) (pow.f64 x 7))) (+.f64 (*.f64 (cos.f64 eps) x) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3))) (*.f64 1/120 (*.f64 (cos.f64 eps) (pow.f64 x 5)))))) |
(*.f64 (cos.f64 eps) (sin.f64 x)) |
(*.f64 (cos.f64 eps) (sin.f64 x)) |
(*.f64 (cos.f64 eps) (sin.f64 x)) |
(*.f64 (cos.f64 eps) (sin.f64 x)) |
(*.f64 (cos.f64 eps) (sin.f64 x)) |
(*.f64 (cos.f64 eps) (sin.f64 x)) |
(*.f64 (cos.f64 eps) (sin.f64 x)) |
(*.f64 (cos.f64 eps) (sin.f64 x)) |
(sin.f64 x) |
(+.f64 (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 (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 (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 (cos.f64 eps) (sin.f64 x)) |
(*.f64 (cos.f64 eps) (sin.f64 x)) |
(*.f64 (cos.f64 eps) (sin.f64 x)) |
(*.f64 (cos.f64 eps) (sin.f64 x)) |
(*.f64 (cos.f64 eps) (sin.f64 x)) |
(*.f64 (cos.f64 eps) (sin.f64 x)) |
(*.f64 (cos.f64 eps) (sin.f64 x)) |
(*.f64 (cos.f64 eps) (sin.f64 x)) |
(sin.f64 eps) |
(+.f64 (*.f64 -1 x) (sin.f64 eps)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 -1 x) (sin.f64 eps))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1 x) (sin.f64 eps)))) |
(*.f64 -1 (sin.f64 x)) |
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1 (sin.f64 x))) |
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1 (sin.f64 x)) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))))) |
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 5) (cos.f64 x))) (+.f64 (*.f64 -1 (sin.f64 x)) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x)))))) |
| Outputs |
|---|
(sin.f64 eps) |
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)) |
(fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps)) |
(fma.f64 (cos.f64 eps) x (-.f64 (sin.f64 eps) x)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))) |
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps))) |
(fma.f64 (+.f64 (cos.f64 eps) -1) x (fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (sin.f64 eps))) |
(fma.f64 (+.f64 (cos.f64 eps) -1) x (*.f64 (sin.f64 eps) (+.f64 1 (*.f64 x (*.f64 x -1/2))))) |
(fma.f64 x (+.f64 (*.f64 (sin.f64 eps) (*.f64 x -1/2)) (cos.f64 eps)) (-.f64 (sin.f64 eps) x)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (cos.f64 eps)) 1/6) (pow.f64 x 3)) (sin.f64 eps)))) |
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (fma.f64 (fma.f64 -1/6 (cos.f64 eps) 1/6) (pow.f64 x 3) (sin.f64 eps)))) |
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (fma.f64 (fma.f64 (cos.f64 eps) -1/6 1/6) (pow.f64 x 3) (sin.f64 eps)))) |
(fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (fma.f64 (fma.f64 (cos.f64 eps) -1/6 1/6) (pow.f64 x 3) (sin.f64 eps)))) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
(*.f64 (cos.f64 x) eps) |
(*.f64 eps (cos.f64 x)) |
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(fma.f64 (cos.f64 x) eps (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps)))) |
(fma.f64 eps (cos.f64 x) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))) |
(fma.f64 eps (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/2)))) |
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 eps (sin.f64 x))))) |
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))) |
(fma.f64 (cos.f64 x) eps (fma.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps))))) |
(+.f64 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))))) |
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/2)))) |
(fma.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 eps eps)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))))) |
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))) |
(fma.f64 1/24 (*.f64 (sin.f64 x) (pow.f64 eps 4)) (fma.f64 (cos.f64 x) eps (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 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))) |
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 (sin.f64 x) (+.f64 (*.f64 eps (*.f64 eps -1/2)) (*.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 (*.f64 eps eps)) (*.f64 1/24 (pow.f64 eps 4))))) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
(-.f64 (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (cos.f64 eps) (sin.f64 x))) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
(*.f64 (cos.f64 eps) x) |
(+.f64 (*.f64 (cos.f64 eps) x) (*.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3)))) |
(fma.f64 (cos.f64 eps) x (*.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3)))) |
(fma.f64 (cos.f64 eps) x (*.f64 (cos.f64 eps) (*.f64 (pow.f64 x 3) -1/6))) |
(*.f64 (cos.f64 eps) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))) |
(*.f64 (cos.f64 eps) (-.f64 x (*.f64 1/6 (pow.f64 x 3)))) |
(+.f64 (*.f64 (cos.f64 eps) x) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3))) (*.f64 1/120 (*.f64 (cos.f64 eps) (pow.f64 x 5))))) |
(fma.f64 (cos.f64 eps) x (fma.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3)) (*.f64 1/120 (*.f64 (cos.f64 eps) (pow.f64 x 5))))) |
(fma.f64 (cos.f64 eps) x (fma.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3)) (*.f64 (cos.f64 eps) (*.f64 (pow.f64 x 5) 1/120)))) |
(fma.f64 (cos.f64 eps) x (*.f64 (cos.f64 eps) (+.f64 (*.f64 1/120 (pow.f64 x 5)) (*.f64 -1/6 (pow.f64 x 3))))) |
(*.f64 (cos.f64 eps) (+.f64 x (+.f64 (*.f64 1/120 (pow.f64 x 5)) (*.f64 -1/6 (pow.f64 x 3))))) |
(*.f64 (cos.f64 eps) (+.f64 (-.f64 x (*.f64 1/6 (pow.f64 x 3))) (*.f64 1/120 (pow.f64 x 5)))) |
(+.f64 (*.f64 -1/5040 (*.f64 (cos.f64 eps) (pow.f64 x 7))) (+.f64 (*.f64 (cos.f64 eps) x) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3))) (*.f64 1/120 (*.f64 (cos.f64 eps) (pow.f64 x 5)))))) |
(fma.f64 -1/5040 (*.f64 (cos.f64 eps) (pow.f64 x 7)) (fma.f64 (cos.f64 eps) x (fma.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3)) (*.f64 1/120 (*.f64 (cos.f64 eps) (pow.f64 x 5)))))) |
(fma.f64 -1/5040 (*.f64 (cos.f64 eps) (pow.f64 x 7)) (fma.f64 (cos.f64 eps) x (fma.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 x 3)) (*.f64 (cos.f64 eps) (*.f64 (pow.f64 x 5) 1/120))))) |
(+.f64 (*.f64 (cos.f64 eps) (+.f64 (*.f64 1/120 (pow.f64 x 5)) (*.f64 -1/6 (pow.f64 x 3)))) (*.f64 (cos.f64 eps) (+.f64 (*.f64 -1/5040 (pow.f64 x 7)) x))) |
(*.f64 (cos.f64 eps) (+.f64 (+.f64 (*.f64 1/120 (pow.f64 x 5)) (*.f64 -1/6 (pow.f64 x 3))) (+.f64 x (*.f64 -1/5040 (pow.f64 x 7))))) |
(*.f64 (cos.f64 eps) (+.f64 (-.f64 x (*.f64 1/6 (pow.f64 x 3))) (+.f64 (*.f64 1/120 (pow.f64 x 5)) (*.f64 -1/5040 (pow.f64 x 7))))) |
(*.f64 (cos.f64 eps) (sin.f64 x)) |
(*.f64 (cos.f64 eps) (sin.f64 x)) |
(*.f64 (cos.f64 eps) (sin.f64 x)) |
(*.f64 (cos.f64 eps) (sin.f64 x)) |
(*.f64 (cos.f64 eps) (sin.f64 x)) |
(*.f64 (cos.f64 eps) (sin.f64 x)) |
(*.f64 (cos.f64 eps) (sin.f64 x)) |
(*.f64 (cos.f64 eps) (sin.f64 x)) |
(sin.f64 x) |
(+.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(+.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps)))) |
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 eps eps)) 1) (sin.f64 x)) |
(*.f64 (sin.f64 x) (fma.f64 -1/2 (*.f64 eps eps) 1)) |
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))) |
(fma.f64 1/24 (*.f64 (sin.f64 x) (pow.f64 eps 4)) (+.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps))))) |
(fma.f64 1/24 (*.f64 (sin.f64 x) (pow.f64 eps 4)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 eps eps)) 1) (sin.f64 x))) |
(*.f64 (sin.f64 x) (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (fma.f64 -1/2 (*.f64 eps eps) 1))) |
(*.f64 (sin.f64 x) (+.f64 (*.f64 -1/2 (*.f64 eps eps)) (fma.f64 1/24 (pow.f64 eps 4) 1))) |
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (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)))))) |
(fma.f64 1/24 (*.f64 (sin.f64 x) (pow.f64 eps 4)) (+.f64 (sin.f64 x) (fma.f64 -1/720 (*.f64 (sin.f64 x) (pow.f64 eps 6)) (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps)))))) |
(+.f64 (*.f64 (sin.f64 x) (+.f64 (*.f64 -1/2 (*.f64 eps eps)) (*.f64 -1/720 (pow.f64 eps 6)))) (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 4)) 1) (sin.f64 x))) |
(fma.f64 (sin.f64 x) (fma.f64 -1/2 (*.f64 eps eps) (*.f64 -1/720 (pow.f64 eps 6))) (*.f64 (sin.f64 x) (fma.f64 1/24 (pow.f64 eps 4) 1))) |
(*.f64 (sin.f64 x) (+.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 -1/720 (pow.f64 eps 6))) (fma.f64 1/24 (pow.f64 eps 4) 1))) |
(*.f64 (cos.f64 eps) (sin.f64 x)) |
(*.f64 (cos.f64 eps) (sin.f64 x)) |
(*.f64 (cos.f64 eps) (sin.f64 x)) |
(*.f64 (cos.f64 eps) (sin.f64 x)) |
(*.f64 (cos.f64 eps) (sin.f64 x)) |
(*.f64 (cos.f64 eps) (sin.f64 x)) |
(*.f64 (cos.f64 eps) (sin.f64 x)) |
(*.f64 (cos.f64 eps) (sin.f64 x)) |
(sin.f64 eps) |
(+.f64 (*.f64 -1 x) (sin.f64 eps)) |
(fma.f64 -1 x (sin.f64 eps)) |
(-.f64 (sin.f64 eps) x) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 -1 x) (sin.f64 eps))) |
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 -1 x (sin.f64 eps))) |
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (-.f64 (sin.f64 eps) x)) |
(-.f64 (fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (sin.f64 eps)) x) |
(fma.f64 (*.f64 x x) (*.f64 (sin.f64 eps) -1/2) (-.f64 (sin.f64 eps) x)) |
(fma.f64 x (*.f64 (sin.f64 eps) (*.f64 x -1/2)) (-.f64 (sin.f64 eps) x)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1 x) (sin.f64 eps)))) |
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 1/6 (pow.f64 x 3) (fma.f64 -1 x (sin.f64 eps)))) |
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 1/6 (pow.f64 x 3) (-.f64 (sin.f64 eps) x))) |
(fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (-.f64 (fma.f64 1/6 (pow.f64 x 3) (sin.f64 eps)) x)) |
(fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (fma.f64 1/6 (pow.f64 x 3) (-.f64 (sin.f64 eps) x))) |
(fma.f64 (*.f64 x x) (+.f64 (*.f64 (sin.f64 eps) -1/2) (*.f64 x 1/6)) (-.f64 (sin.f64 eps) x)) |
(*.f64 -1 (sin.f64 x)) |
(neg.f64 (sin.f64 x)) |
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1 (sin.f64 x))) |
(fma.f64 (cos.f64 x) eps (neg.f64 (sin.f64 x))) |
(fma.f64 eps (cos.f64 x) (neg.f64 (sin.f64 x))) |
(-.f64 (*.f64 eps (cos.f64 x)) (sin.f64 x)) |
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1 (sin.f64 x)) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))))) |
(fma.f64 (cos.f64 x) eps (fma.f64 -1 (sin.f64 x) (*.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3))))) |
(+.f64 (neg.f64 (sin.f64 x)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))))) |
(-.f64 (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))) (sin.f64 x)) |
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 eps 5) (cos.f64 x))) (+.f64 (*.f64 -1 (sin.f64 x)) (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x)))))) |
(fma.f64 (cos.f64 x) eps (fma.f64 1/120 (*.f64 (cos.f64 x) (pow.f64 eps 5)) (fma.f64 -1 (sin.f64 x) (*.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)))))) |
(+.f64 (-.f64 (*.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3))) (sin.f64 x)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 1/120 (pow.f64 eps 5))))) |
(-.f64 (*.f64 (cos.f64 x) (+.f64 (+.f64 eps (*.f64 1/120 (pow.f64 eps 5))) (*.f64 -1/6 (pow.f64 eps 3)))) (sin.f64 x)) |
(-.f64 (*.f64 (cos.f64 x) (+.f64 (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 1/120 (pow.f64 eps 5)))) (sin.f64 x)) |
Compiled 18913 to 5993 computations (68.3% saved)
61 alts after pruning (58 fresh and 3 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 949 | 51 | 1000 |
| Fresh | 24 | 7 | 31 |
| Picked | 0 | 1 | 1 |
| Done | 3 | 2 | 5 |
| Total | 976 | 61 | 1037 |
| Status | Error | Program |
|---|---|---|
| ✓ | 30.1b | (*.f64 (cos.f64 x) eps) |
| 54.6b | (-.f64 (sqrt.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 (+.f64 x eps)))))) (sin.f64 x)) | |
| 60.6b | (-.f64 (+.f64 1 (*.f64 (cos.f64 x) eps)) 1) | |
| ✓ | 23.4b | (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) |
| 34.8b | (+.f64 (sin.f64 x) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) | |
| 30.2b | (*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps -1/2)))) | |
| 53.1b | (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 eps (cos.f64 x)) (sin.f64 x))) | |
| 25.1b | (/.f64 (-.f64 (pow.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) 2) (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 2)) (-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) (*.f64 (sin.f64 x) (cos.f64 eps)))) | |
| 30.6b | (+.f64 (*.f64 (cos.f64 x) eps) (-.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))) 1)) | |
| 50.4b | (-.f64 (fabs.f64 (sin.f64 (+.f64 x eps))) (sin.f64 x)) | |
| 43.7b | (-.f64 (log.f64 (exp.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x)) | |
| 59.7b | (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (neg.f64 (sin.f64 x))) | |
| ✓ | 23.4b | (-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x)) |
| 26.9b | (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (cbrt.f64 (pow.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) 3))) | |
| 39.2b | (cbrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 3)) | |
| 30.3b | (+.f64 (*.f64 (cos.f64 x) eps) (+.f64 0 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))) | |
| 36.2b | (*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2) | |
| 54.6b | (/.f64 1 (/.f64 (fma.f64 eps (cos.f64 x) (*.f64 1/2 (*.f64 eps (*.f64 eps (sin.f64 x))))) (-.f64 (pow.f64 (*.f64 eps (cos.f64 x)) 2) (*.f64 1/4 (pow.f64 (*.f64 eps (sqrt.f64 (sin.f64 x))) 4))))) | |
| 36.7b | (-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x)) | |
| 30.6b | (expm1.f64 (log1p.f64 (*.f64 (cos.f64 x) eps))) | |
| 47.2b | eps | |
| 45.6b | (fma.f64 (*.f64 (cos.f64 x) (sqrt.f64 eps)) (sqrt.f64 eps) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))) | |
| 36.2b | (-.f64 (sin.f64 eps) (sin.f64 x)) | |
| 50.6b | (cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3)) | |
| 60.8b | (+.f64 (-.f64 (+.f64 1 (*.f64 (cos.f64 x) eps)) 1) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) | |
| 37.1b | (*.f64 (pow.f64 (cbrt.f64 2) 3) (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))) | |
| ▶ | 36.5b | (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3) |
| ▶ | 40.4b | (fma.f64 (*.f64 eps (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x)) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))) |
| 30.7b | (+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (log.f64 (+.f64 1 (expm1.f64 (*.f64 eps (*.f64 eps (sin.f64 x)))))))) | |
| 23.4b | (-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x)) | |
| 36.7b | (-.f64 (fma.f64 (cos.f64 eps) x (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (sin.f64 eps))) x) | |
| 37.0b | (-.f64 (+.f64 (*.f64 (cos.f64 eps) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x)) (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (sin.f64 eps))) (sin.f64 x)) | |
| 45.5b | (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (pow.f64 (sqrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) 2) (sin.f64 x))) | |
| 36.7b | (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (sin.f64 eps) x)) | |
| 54.2b | (sqrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 2)) | |
| 23.5b | (+.f64 (expm1.f64 (log1p.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) | |
| 30.0b | (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)) | |
| 30.6b | (fma.f64 (*.f64 eps (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) (cbrt.f64 (cos.f64 x)) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))) | |
| 31.0b | (fma.f64 (pow.f64 (cbrt.f64 eps) 2) (*.f64 (cbrt.f64 eps) (cos.f64 x)) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))) | |
| 24.2b | (+.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 3)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) | |
| 36.0b | (-.f64 (expm1.f64 (log1p.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x)) | |
| 60.9b | (-.f64 (sqrt.f64 (pow.f64 (sin.f64 x) 2)) (sin.f64 x)) | |
| 46.9b | (pow.f64 (sqrt.f64 (*.f64 (cos.f64 x) eps)) 2) | |
| 23.4b | (-.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x)) | |
| 23.4b | (fma.f64 (*.f64 (sin.f64 x) (cbrt.f64 (pow.f64 (cos.f64 eps) 2))) (cbrt.f64 (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) | |
| 51.6b | (sqrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2)) | |
| 30.8b | (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 3) | |
| ▶ | 0.3b | (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
| 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))) | |
| 0.3b | (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (-.f64 (sin.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps)))) | |
| ▶ | 57.5b | (pow.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3) 1/3) |
| 30.2b | (fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 (sin.f64 x) (*.f64 (*.f64 eps eps) (+.f64 -1/2 (*.f64 (*.f64 eps eps) 1/24))))) | |
| 29.4b | (sin.f64 eps) | |
| 30.2b | (fma.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 eps eps)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))))) | |
| 36.4b | (fma.f64 x (+.f64 (*.f64 (sin.f64 eps) (*.f64 x -1/2)) (cos.f64 eps)) (-.f64 (sin.f64 eps) x)) | |
| 51.2b | (-.f64 (sqrt.f64 (pow.f64 (sin.f64 eps) 2)) (sin.f64 x)) | |
| 26.7b | (/.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 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) (-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) (*.f64 (sin.f64 x) (cos.f64 eps))) (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 2))) | |
| 23.5b | (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (expm1.f64 (log1p.f64 (*.f64 (cos.f64 x) (sin.f64 eps)))) (sin.f64 x))) | |
| 24.1b | (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (fma.f64 (pow.f64 (cbrt.f64 (sin.f64 eps)) 2) (*.f64 (cbrt.f64 (sin.f64 eps)) (cos.f64 x)) (neg.f64 (sin.f64 x)))) | |
| 36.0b | (log1p.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) | |
| ▶ | 49.9b | (+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 (+.f64 eps x))))) |
Compiled 1906 to 1257 computations (34.1% saved)
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.2b | (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
| ✓ | 0.2b | (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) |
| ✓ | 0.8b | (+.f64 (cos.f64 eps) -1) |
Compiled 36 to 16 computations (55.6% saved)
15 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 3.0ms | eps | @ | -inf | (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) |
| 1.0ms | x | @ | 0 | (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) |
| 1.0ms | eps | @ | inf | (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) |
| 1.0ms | eps | @ | 0 | (+.f64 (cos.f64 eps) -1) |
| 1.0ms | x | @ | -inf | (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
| 1× | batch-egg-rewrite |
| 512× | log-prod_binary64 |
| 405× | exp-prod_binary64 |
| 324× | pow-prod-down_binary64 |
| 323× | prod-diff_binary64 |
| 298× | pow2_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 36 |
| 1 | 221 | 36 |
| 2 | 2725 | 36 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (cos.f64 eps) -1) |
(*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
| 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) 2) 1/2)))) (#(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 pow.f64 (exp.f64 1) (log.f64 (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (fma.f64 (cos.f64 eps) (cos.f64 eps) 1) (*.f64 (cos.f64 eps) -1)) (+.f64 -1 (pow.f64 (cos.f64 eps) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 (cos.f64 eps) 1) (neg.f64 (pow.f64 (sin.f64 eps) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 (cos.f64 eps) -1))) 2)) (cbrt.f64 (log.f64 (+.f64 (cos.f64 eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (+.f64 (cos.f64 eps) -1)))) (sqrt.f64 (log.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 cbrt.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3))))) (#(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 log1p.f64 (expm1.f64 (+.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 exp.f64 (*.f64 (*.f64 3 (log.f64 (+.f64 (cos.f64 eps) -1))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (+.f64 (cos.f64 eps) -1))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (cos.f64 eps) -1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (+.f64 (cos.f64 eps) -1)) 1) 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 +.f64 0 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 eps) (sin.f64 x)) (*.f64 -1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1 (sin.f64 x)) (*.f64 (cos.f64 eps) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 x) -1) (*.f64 (sin.f64 x) (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 x)) (+.f64 (cos.f64 eps) -1))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 x)) (+.f64 (cos.f64 eps) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 x)) (+.f64 (cos.f64 eps) -1)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 x)) (+.f64 (cos.f64 eps) -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 (+.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)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))) 2)) (cbrt.f64 (log.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))))) (sqrt.f64 (log.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sin.f64 x)) (+.f64 (cos.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 eps) (sin.f64 x) (*.f64 -1 (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) (*.f64 (sin.f64 x) -1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 x) -1 (*.f64 (sin.f64 x) (cos.f64 eps))))))) |
((#(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 0 (fma.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 (*.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 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))) (pow.f64 (cbrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))) 2) (cbrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))) (sqrt.f64 (fma.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 (pow.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) 3) (pow.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) 3)) (+.f64 (pow.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) 2) (-.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 (pow.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) 2) (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 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))) 2)) (cbrt.f64 (log.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))) (sqrt.f64 (log.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.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)))) (pow.f64 (exp.f64 (sin.f64 eps)) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.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 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))) 1) 1)))))) |
| 1× | egg-herbie |
| 579× | fma-neg_binary64 |
| 486× | fma-def_binary64 |
| 464× | *-commutative_binary64 |
| 456× | associate-+l+_binary64 |
| 384× | unswap-sqr_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 82 | 1018 |
| 1 | 227 | 995 |
| 2 | 649 | 949 |
| 3 | 2341 | 936 |
| 4 | 5438 | 936 |
| 5 | 7500 | 936 |
| 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/2 (pow.f64 eps 2)) (*.f64 -1/720 (pow.f64 eps 6)))) |
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 (*.f64 -1/720 (pow.f64 eps 6)) (*.f64 1/40320 (pow.f64 eps 8))))) |
(-.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 -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 1/40320 (*.f64 (pow.f64 eps 8) (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 (sin.f64 x) (-.f64 (cos.f64 eps) 1)) |
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)) |
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)) |
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)) |
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)) |
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)) |
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)) |
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)) |
(*.f64 (-.f64 (cos.f64 eps) 1) x) |
(+.f64 (*.f64 -1/6 (*.f64 (-.f64 (cos.f64 eps) 1) (pow.f64 x 3))) (*.f64 (-.f64 (cos.f64 eps) 1) x)) |
(+.f64 (*.f64 -1/6 (*.f64 (-.f64 (cos.f64 eps) 1) (pow.f64 x 3))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (*.f64 1/120 (*.f64 (-.f64 (cos.f64 eps) 1) (pow.f64 x 5))))) |
(+.f64 (*.f64 -1/5040 (*.f64 (-.f64 (cos.f64 eps) 1) (pow.f64 x 7))) (+.f64 (*.f64 -1/6 (*.f64 (-.f64 (cos.f64 eps) 1) (pow.f64 x 3))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (*.f64 1/120 (*.f64 (-.f64 (cos.f64 eps) 1) (pow.f64 x 5)))))) |
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)) |
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)) |
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)) |
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)) |
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)) |
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)) |
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)) |
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)) |
(*.f64 (cos.f64 x) eps) |
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(+.f64 (*.f64 (cos.f64 x) eps) (+.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 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(sin.f64 eps) |
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (+.f64 (*.f64 -1/6 (*.f64 (-.f64 (cos.f64 eps) 1) (pow.f64 x 3))) (sin.f64 eps)))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
| 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))) |
(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/2 (pow.f64 eps 2)) (*.f64 -1/720 (pow.f64 eps 6)))) |
(fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/2 (*.f64 eps eps) (*.f64 -1/720 (pow.f64 eps 6)))) |
(fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 -1/2 (*.f64 eps eps)))) |
(fma.f64 -1/2 (*.f64 eps eps) (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/720 (pow.f64 eps 6)))) |
(+.f64 (*.f64 1/24 (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (+.f64 (*.f64 -1/720 (pow.f64 eps 6)) (*.f64 1/40320 (pow.f64 eps 8))))) |
(fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/2 (*.f64 eps eps) (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 1/40320 (pow.f64 eps 8))))) |
(fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/720 (pow.f64 eps 6) (fma.f64 1/40320 (pow.f64 eps 8) (*.f64 -1/2 (*.f64 eps eps))))) |
(-.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 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))) |
(*.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x)) |
(*.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x)))) |
(*.f64 (*.f64 eps eps) (*.f64 -1/2 (sin.f64 x))) |
(*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))) |
(*.f64 eps (*.f64 (sin.f64 x) (*.f64 -1/2 eps))) |
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(fma.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)) (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x))) |
(*.f64 (sin.f64 x) (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4)))) |
(*.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) (sin.f64 x)) |
(*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (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))))) |
(fma.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)) (fma.f64 -1/720 (*.f64 (pow.f64 eps 6) (sin.f64 x)) (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x)))) |
(fma.f64 (*.f64 1/24 (pow.f64 eps 4)) (sin.f64 x) (*.f64 (sin.f64 x) (fma.f64 -1/2 (*.f64 eps eps) (*.f64 -1/720 (pow.f64 eps 6))))) |
(*.f64 (sin.f64 x) (fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 -1/2 (*.f64 eps eps))))) |
(*.f64 (fma.f64 -1/2 (*.f64 eps eps) (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/720 (pow.f64 eps 6)))) (sin.f64 x)) |
(+.f64 (*.f64 1/40320 (*.f64 (pow.f64 eps 8) (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)))))) |
(fma.f64 1/40320 (*.f64 (pow.f64 eps 8) (sin.f64 x)) (fma.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)) (fma.f64 -1/720 (*.f64 (pow.f64 eps 6) (sin.f64 x)) (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x))))) |
(+.f64 (*.f64 (sin.f64 x) (fma.f64 -1/2 (*.f64 eps eps) (*.f64 -1/720 (pow.f64 eps 6)))) (*.f64 (sin.f64 x) (+.f64 (*.f64 1/40320 (pow.f64 eps 8)) (*.f64 1/24 (pow.f64 eps 4))))) |
(*.f64 (sin.f64 x) (fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/720 (pow.f64 eps 6) (fma.f64 1/40320 (pow.f64 eps 8) (*.f64 -1/2 (*.f64 eps eps)))))) |
(*.f64 (fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/2 (*.f64 eps eps) (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 1/40320 (pow.f64 eps 8))))) (sin.f64 x)) |
(*.f64 (fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/720 (pow.f64 eps 6) (fma.f64 1/40320 (pow.f64 eps 8) (*.f64 -1/2 (*.f64 eps eps))))) (sin.f64 x)) |
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)) |
(*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) |
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)) |
(*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) |
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)) |
(*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) |
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)) |
(*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) |
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)) |
(*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) |
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)) |
(*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) |
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)) |
(*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) |
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)) |
(*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) |
(*.f64 (-.f64 (cos.f64 eps) 1) x) |
(*.f64 (+.f64 (cos.f64 eps) -1) x) |
(-.f64 (*.f64 (cos.f64 eps) x) x) |
(+.f64 (*.f64 -1/6 (*.f64 (-.f64 (cos.f64 eps) 1) (pow.f64 x 3))) (*.f64 (-.f64 (cos.f64 eps) 1) x)) |
(fma.f64 -1/6 (*.f64 (+.f64 (cos.f64 eps) -1) (pow.f64 x 3)) (*.f64 (+.f64 (cos.f64 eps) -1) x)) |
(fma.f64 (+.f64 (cos.f64 eps) -1) x (*.f64 (+.f64 (cos.f64 eps) -1) (*.f64 (pow.f64 x 3) -1/6))) |
(*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x)) |
(*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))) |
(+.f64 (*.f64 -1/6 (*.f64 (-.f64 (cos.f64 eps) 1) (pow.f64 x 3))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (*.f64 1/120 (*.f64 (-.f64 (cos.f64 eps) 1) (pow.f64 x 5))))) |
(fma.f64 -1/6 (*.f64 (+.f64 (cos.f64 eps) -1) (pow.f64 x 3)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (*.f64 (*.f64 1/120 (+.f64 (cos.f64 eps) -1)) (pow.f64 x 5)))) |
(fma.f64 -1/6 (*.f64 (+.f64 (cos.f64 eps) -1) (pow.f64 x 3)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (*.f64 1/120 (*.f64 (+.f64 (cos.f64 eps) -1) (pow.f64 x 5))))) |
(fma.f64 (pow.f64 x 3) (fma.f64 (cos.f64 eps) -1/6 1/6) (*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 x (*.f64 1/120 (pow.f64 x 5))))) |
(*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 (+.f64 x (*.f64 -1/6 (pow.f64 x 3))) (*.f64 1/120 (pow.f64 x 5)))) |
(*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 x (+.f64 (*.f64 1/120 (pow.f64 x 5)) (*.f64 -1/6 (pow.f64 x 3))))) |
(+.f64 (*.f64 -1/5040 (*.f64 (-.f64 (cos.f64 eps) 1) (pow.f64 x 7))) (+.f64 (*.f64 -1/6 (*.f64 (-.f64 (cos.f64 eps) 1) (pow.f64 x 3))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (*.f64 1/120 (*.f64 (-.f64 (cos.f64 eps) 1) (pow.f64 x 5)))))) |
(fma.f64 -1/5040 (*.f64 (+.f64 (cos.f64 eps) -1) (pow.f64 x 7)) (fma.f64 -1/6 (*.f64 (+.f64 (cos.f64 eps) -1) (pow.f64 x 3)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (*.f64 (*.f64 1/120 (+.f64 (cos.f64 eps) -1)) (pow.f64 x 5))))) |
(fma.f64 -1/5040 (*.f64 (+.f64 (cos.f64 eps) -1) (pow.f64 x 7)) (fma.f64 -1/6 (*.f64 (+.f64 (cos.f64 eps) -1) (pow.f64 x 3)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (*.f64 1/120 (*.f64 (+.f64 (cos.f64 eps) -1) (pow.f64 x 5)))))) |
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x)) (*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 (*.f64 1/120 (pow.f64 x 5)) (*.f64 -1/5040 (pow.f64 x 7))))) |
(*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 (+.f64 x (*.f64 -1/6 (pow.f64 x 3))) (+.f64 (*.f64 1/120 (pow.f64 x 5)) (*.f64 -1/5040 (pow.f64 x 7))))) |
(*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 (+.f64 x (*.f64 1/120 (pow.f64 x 5))) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (*.f64 -1/5040 (pow.f64 x 7))))) |
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)) |
(*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) |
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)) |
(*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) |
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)) |
(*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) |
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)) |
(*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) |
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)) |
(*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) |
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)) |
(*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) |
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)) |
(*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) |
(*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1)) |
(*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) |
(*.f64 (cos.f64 x) eps) |
(*.f64 eps (cos.f64 x)) |
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(fma.f64 (cos.f64 x) eps (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x))) |
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 eps (cos.f64 x))) |
(*.f64 eps (+.f64 (*.f64 (sin.f64 x) (*.f64 -1/2 eps)) (cos.f64 x))) |
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))) |
(fma.f64 (cos.f64 x) eps (fma.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x)))) |
(+.f64 (*.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x)))) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))))) |
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 (*.f64 eps eps) (*.f64 -1/2 (sin.f64 x)))) |
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))))) |
(fma.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))))) |
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))) |
(fma.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)) (fma.f64 (cos.f64 x) eps (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 (sin.f64 x) (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))))) |
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 (fma.f64 1/24 (pow.f64 eps 4) (*.f64 -1/2 (*.f64 eps eps))) (sin.f64 x))) |
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(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 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(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 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(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 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(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 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(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 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(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 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(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 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(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) 1) x) (sin.f64 eps)) |
(fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))) |
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps))) |
(fma.f64 -1/2 (*.f64 x (*.f64 x (sin.f64 eps))) (fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (+.f64 (*.f64 -1/6 (*.f64 (-.f64 (cos.f64 eps) 1) (pow.f64 x 3))) (sin.f64 eps)))) |
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (fma.f64 -1/6 (*.f64 (+.f64 (cos.f64 eps) -1) (pow.f64 x 3)) (sin.f64 eps)))) |
(fma.f64 -1/2 (*.f64 x (*.f64 x (sin.f64 eps))) (fma.f64 (+.f64 (cos.f64 eps) -1) x (fma.f64 (+.f64 (*.f64 -1/6 (cos.f64 eps)) 1/6) (pow.f64 x 3) (sin.f64 eps)))) |
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x)) (fma.f64 (sin.f64 eps) (*.f64 -1/2 (*.f64 x x)) (sin.f64 eps))) |
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))) (fma.f64 (*.f64 x x) (*.f64 -1/2 (sin.f64 eps)) (sin.f64 eps))) |
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))) (fma.f64 -1/2 (*.f64 x (*.f64 x (sin.f64 eps))) (sin.f64 eps))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(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 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(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 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(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 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(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 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(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 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(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 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(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 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(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))) |
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (*.f64 x (*.f64 -1/2 (+.f64 eps x))) |
| ✓ | 4.8b | (*.f64 eps (*.f64 x (*.f64 -1/2 (+.f64 eps x)))) |
Compiled 40 to 18 computations (55% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | eps | @ | 0 | (*.f64 eps (*.f64 x (*.f64 -1/2 (+.f64 eps x)))) |
| 1.0ms | eps | @ | inf | (*.f64 eps (*.f64 x (*.f64 -1/2 (+.f64 eps x)))) |
| 1.0ms | x | @ | inf | (*.f64 eps (*.f64 x (*.f64 -1/2 (+.f64 eps x)))) |
| 1.0ms | x | @ | -inf | (*.f64 eps (*.f64 x (*.f64 -1/2 (+.f64 eps x)))) |
| 1.0ms | eps | @ | -inf | (*.f64 eps (*.f64 x (*.f64 -1/2 (+.f64 eps x)))) |
| 1× | batch-egg-rewrite |
| 970× | pow1_binary64 |
| 904× | add-log-exp_binary64 |
| 904× | log1p-expm1-u_binary64 |
| 904× | expm1-log1p-u_binary64 |
| 92× | associate-*r*_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 23 |
| 1 | 178 | 23 |
| 2 | 2497 | 23 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 eps (*.f64 x (*.f64 -1/2 (+.f64 eps x)))) |
(*.f64 x (*.f64 -1/2 (+.f64 eps x))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 eps -1/2) (*.f64 eps x)) (*.f64 (*.f64 x -1/2) (*.f64 eps x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 eps x) (*.f64 eps -1/2)) (*.f64 (*.f64 eps x) (*.f64 x -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 eps) (*.f64 (+.f64 eps x) (*.f64 x -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 eps 3) (pow.f64 (*.f64 (+.f64 eps x) (*.f64 x -1/2)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 (+.f64 eps x) (*.f64 x -1/2)) 3) (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2))))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 eps -1/2) x) (*.f64 (*.f64 x -1/2) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x -1/2) x) (*.f64 (*.f64 x -1/2) eps))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 eps (*.f64 x -1/2)) (*.f64 x (*.f64 x -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 x -1/2)) (*.f64 eps (*.f64 x -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 eps -1/2)) (*.f64 x (*.f64 x -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x -1/2) eps) (*.f64 (*.f64 x -1/2) x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (+.f64 eps x) (*.f64 x -1/2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x -1/2) (+.f64 (pow.f64 eps 3) (pow.f64 x 3))) (fma.f64 eps eps (*.f64 x (-.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x -1/2) (fma.f64 eps eps (neg.f64 (*.f64 x x)))) (-.f64 eps x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 eps x) (*.f64 x -1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (+.f64 eps x) (*.f64 x -1/2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (+.f64 eps x) (*.f64 x -1/2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (+.f64 eps x) (*.f64 x -1/2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (+.f64 eps x) (*.f64 x -1/2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (pow.f64 (exp.f64 -1/2) (+.f64 eps x)) x))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 eps x) (*.f64 x -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (+.f64 eps x) (*.f64 x -1/2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 x 3) (pow.f64 (*.f64 -1/2 (+.f64 eps x)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 -1/2 (+.f64 eps x)) 3) (pow.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (+.f64 eps x) (*.f64 x -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (+.f64 eps x) (*.f64 x -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (+.f64 eps x) (*.f64 x -1/2)))))))) |
| 1× | egg-herbie |
| 871× | fma-def_binary64 |
| 744× | unswap-sqr_binary64 |
| 682× | sqr-pow_binary64 |
| 548× | fabs-mul_binary64 |
| 502× | cube-prod_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 17 | 678 |
| 1 | 47 | 588 |
| 2 | 103 | 516 |
| 3 | 260 | 516 |
| 4 | 1082 | 516 |
| 5 | 2183 | 516 |
| 6 | 3623 | 516 |
| 7 | 3893 | 516 |
| 8 | 3994 | 516 |
| 9 | 4129 | 516 |
| 10 | 4320 | 516 |
| 11 | 4567 | 516 |
| 12 | 4913 | 516 |
| 13 | 5310 | 516 |
| 14 | 5866 | 516 |
| 15 | 6605 | 516 |
| 16 | 7543 | 516 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(*.f64 -1/2 (*.f64 eps x)) |
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 -1/2 (*.f64 eps x))) |
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 -1/2 (*.f64 eps x))) |
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 -1/2 (*.f64 eps x))) |
(*.f64 -1/2 (pow.f64 x 2)) |
(+.f64 (*.f64 -1/2 (*.f64 eps x)) (*.f64 -1/2 (pow.f64 x 2))) |
(+.f64 (*.f64 -1/2 (*.f64 eps x)) (*.f64 -1/2 (pow.f64 x 2))) |
(+.f64 (*.f64 -1/2 (*.f64 eps x)) (*.f64 -1/2 (pow.f64 x 2))) |
(*.f64 -1/2 (pow.f64 x 2)) |
(+.f64 (*.f64 -1/2 (*.f64 eps x)) (*.f64 -1/2 (pow.f64 x 2))) |
(+.f64 (*.f64 -1/2 (*.f64 eps x)) (*.f64 -1/2 (pow.f64 x 2))) |
(+.f64 (*.f64 -1/2 (*.f64 eps x)) (*.f64 -1/2 (pow.f64 x 2))) |
(*.f64 -1/2 (pow.f64 x 2)) |
(+.f64 (*.f64 -1/2 (*.f64 eps x)) (*.f64 -1/2 (pow.f64 x 2))) |
(+.f64 (*.f64 -1/2 (*.f64 eps x)) (*.f64 -1/2 (pow.f64 x 2))) |
(+.f64 (*.f64 -1/2 (*.f64 eps x)) (*.f64 -1/2 (pow.f64 x 2))) |
(*.f64 -1/2 (*.f64 eps x)) |
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 -1/2 (*.f64 eps x))) |
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 -1/2 (*.f64 eps x))) |
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 -1/2 (*.f64 eps x))) |
(*.f64 -1/2 (*.f64 eps x)) |
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 -1/2 (*.f64 eps x))) |
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 -1/2 (*.f64 eps x))) |
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 -1/2 (*.f64 eps x))) |
| Outputs |
|---|
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 (*.f64 -1/2 eps) (*.f64 x x)) |
(*.f64 (*.f64 x (*.f64 -1/2 eps)) x) |
(*.f64 -1/2 (*.f64 eps (*.f64 x x))) |
(*.f64 x (*.f64 x (*.f64 -1/2 eps))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(*.f64 -1/2 (+.f64 (*.f64 x (*.f64 eps eps)) (*.f64 eps (*.f64 x x)))) |
(*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x)))) |
(*.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x))) |
(*.f64 eps (*.f64 (+.f64 eps x) (*.f64 -1/2 x))) |
(*.f64 x (*.f64 eps (*.f64 -1/2 (+.f64 eps x)))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(*.f64 -1/2 (+.f64 (*.f64 x (*.f64 eps eps)) (*.f64 eps (*.f64 x x)))) |
(*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x)))) |
(*.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x))) |
(*.f64 eps (*.f64 (+.f64 eps x) (*.f64 -1/2 x))) |
(*.f64 x (*.f64 eps (*.f64 -1/2 (+.f64 eps x)))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(*.f64 -1/2 (+.f64 (*.f64 x (*.f64 eps eps)) (*.f64 eps (*.f64 x x)))) |
(*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x)))) |
(*.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x))) |
(*.f64 eps (*.f64 (+.f64 eps x) (*.f64 -1/2 x))) |
(*.f64 x (*.f64 eps (*.f64 -1/2 (+.f64 eps x)))) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(*.f64 -1/2 (*.f64 x (*.f64 eps eps))) |
(*.f64 -1/2 (*.f64 eps (*.f64 eps x))) |
(*.f64 eps (*.f64 x (*.f64 -1/2 eps))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(*.f64 -1/2 (+.f64 (*.f64 x (*.f64 eps eps)) (*.f64 eps (*.f64 x x)))) |
(*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x)))) |
(*.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x))) |
(*.f64 eps (*.f64 (+.f64 eps x) (*.f64 -1/2 x))) |
(*.f64 x (*.f64 eps (*.f64 -1/2 (+.f64 eps x)))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(*.f64 -1/2 (+.f64 (*.f64 x (*.f64 eps eps)) (*.f64 eps (*.f64 x x)))) |
(*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x)))) |
(*.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x))) |
(*.f64 eps (*.f64 (+.f64 eps x) (*.f64 -1/2 x))) |
(*.f64 x (*.f64 eps (*.f64 -1/2 (+.f64 eps x)))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(*.f64 -1/2 (+.f64 (*.f64 x (*.f64 eps eps)) (*.f64 eps (*.f64 x x)))) |
(*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x)))) |
(*.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x))) |
(*.f64 eps (*.f64 (+.f64 eps x) (*.f64 -1/2 x))) |
(*.f64 x (*.f64 eps (*.f64 -1/2 (+.f64 eps x)))) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(*.f64 -1/2 (*.f64 x (*.f64 eps eps))) |
(*.f64 -1/2 (*.f64 eps (*.f64 eps x))) |
(*.f64 eps (*.f64 x (*.f64 -1/2 eps))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(*.f64 -1/2 (+.f64 (*.f64 x (*.f64 eps eps)) (*.f64 eps (*.f64 x x)))) |
(*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x)))) |
(*.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x))) |
(*.f64 eps (*.f64 (+.f64 eps x) (*.f64 -1/2 x))) |
(*.f64 x (*.f64 eps (*.f64 -1/2 (+.f64 eps x)))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(*.f64 -1/2 (+.f64 (*.f64 x (*.f64 eps eps)) (*.f64 eps (*.f64 x x)))) |
(*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x)))) |
(*.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x))) |
(*.f64 eps (*.f64 (+.f64 eps x) (*.f64 -1/2 x))) |
(*.f64 x (*.f64 eps (*.f64 -1/2 (+.f64 eps x)))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(*.f64 -1/2 (+.f64 (*.f64 x (*.f64 eps eps)) (*.f64 eps (*.f64 x x)))) |
(*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x)))) |
(*.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x))) |
(*.f64 eps (*.f64 (+.f64 eps x) (*.f64 -1/2 x))) |
(*.f64 x (*.f64 eps (*.f64 -1/2 (+.f64 eps x)))) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(*.f64 -1/2 (*.f64 x (*.f64 eps eps))) |
(*.f64 -1/2 (*.f64 eps (*.f64 eps x))) |
(*.f64 eps (*.f64 x (*.f64 -1/2 eps))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(*.f64 -1/2 (+.f64 (*.f64 x (*.f64 eps eps)) (*.f64 eps (*.f64 x x)))) |
(*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x)))) |
(*.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x))) |
(*.f64 eps (*.f64 (+.f64 eps x) (*.f64 -1/2 x))) |
(*.f64 x (*.f64 eps (*.f64 -1/2 (+.f64 eps x)))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(*.f64 -1/2 (+.f64 (*.f64 x (*.f64 eps eps)) (*.f64 eps (*.f64 x x)))) |
(*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x)))) |
(*.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x))) |
(*.f64 eps (*.f64 (+.f64 eps x) (*.f64 -1/2 x))) |
(*.f64 x (*.f64 eps (*.f64 -1/2 (+.f64 eps x)))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(*.f64 -1/2 (+.f64 (*.f64 x (*.f64 eps eps)) (*.f64 eps (*.f64 x x)))) |
(*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x)))) |
(*.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x))) |
(*.f64 eps (*.f64 (+.f64 eps x) (*.f64 -1/2 x))) |
(*.f64 x (*.f64 eps (*.f64 -1/2 (+.f64 eps x)))) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 (*.f64 -1/2 eps) (*.f64 x x)) |
(*.f64 (*.f64 x (*.f64 -1/2 eps)) x) |
(*.f64 -1/2 (*.f64 eps (*.f64 x x))) |
(*.f64 x (*.f64 x (*.f64 -1/2 eps))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(*.f64 -1/2 (+.f64 (*.f64 x (*.f64 eps eps)) (*.f64 eps (*.f64 x x)))) |
(*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x)))) |
(*.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x))) |
(*.f64 eps (*.f64 (+.f64 eps x) (*.f64 -1/2 x))) |
(*.f64 x (*.f64 eps (*.f64 -1/2 (+.f64 eps x)))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(*.f64 -1/2 (+.f64 (*.f64 x (*.f64 eps eps)) (*.f64 eps (*.f64 x x)))) |
(*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x)))) |
(*.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x))) |
(*.f64 eps (*.f64 (+.f64 eps x) (*.f64 -1/2 x))) |
(*.f64 x (*.f64 eps (*.f64 -1/2 (+.f64 eps x)))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(*.f64 -1/2 (+.f64 (*.f64 x (*.f64 eps eps)) (*.f64 eps (*.f64 x x)))) |
(*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x)))) |
(*.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x))) |
(*.f64 eps (*.f64 (+.f64 eps x) (*.f64 -1/2 x))) |
(*.f64 x (*.f64 eps (*.f64 -1/2 (+.f64 eps x)))) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 (*.f64 -1/2 eps) (*.f64 x x)) |
(*.f64 (*.f64 x (*.f64 -1/2 eps)) x) |
(*.f64 -1/2 (*.f64 eps (*.f64 x x))) |
(*.f64 x (*.f64 x (*.f64 -1/2 eps))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(*.f64 -1/2 (+.f64 (*.f64 x (*.f64 eps eps)) (*.f64 eps (*.f64 x x)))) |
(*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x)))) |
(*.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x))) |
(*.f64 eps (*.f64 (+.f64 eps x) (*.f64 -1/2 x))) |
(*.f64 x (*.f64 eps (*.f64 -1/2 (+.f64 eps x)))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(*.f64 -1/2 (+.f64 (*.f64 x (*.f64 eps eps)) (*.f64 eps (*.f64 x x)))) |
(*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x)))) |
(*.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x))) |
(*.f64 eps (*.f64 (+.f64 eps x) (*.f64 -1/2 x))) |
(*.f64 x (*.f64 eps (*.f64 -1/2 (+.f64 eps x)))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(*.f64 -1/2 (+.f64 (*.f64 x (*.f64 eps eps)) (*.f64 eps (*.f64 x x)))) |
(*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x)))) |
(*.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x))) |
(*.f64 eps (*.f64 (+.f64 eps x) (*.f64 -1/2 x))) |
(*.f64 x (*.f64 eps (*.f64 -1/2 (+.f64 eps x)))) |
(*.f64 -1/2 (*.f64 eps x)) |
(*.f64 (*.f64 -1/2 eps) x) |
(*.f64 x (*.f64 -1/2 eps)) |
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 -1/2 (*.f64 eps x))) |
(*.f64 -1/2 (+.f64 (*.f64 eps x) (*.f64 x x))) |
(*.f64 -1/2 (*.f64 x (+.f64 eps x))) |
(*.f64 (+.f64 eps x) (*.f64 -1/2 x)) |
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 -1/2 (*.f64 eps x))) |
(*.f64 -1/2 (+.f64 (*.f64 eps x) (*.f64 x x))) |
(*.f64 -1/2 (*.f64 x (+.f64 eps x))) |
(*.f64 (+.f64 eps x) (*.f64 -1/2 x)) |
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 -1/2 (*.f64 eps x))) |
(*.f64 -1/2 (+.f64 (*.f64 eps x) (*.f64 x x))) |
(*.f64 -1/2 (*.f64 x (+.f64 eps x))) |
(*.f64 (+.f64 eps x) (*.f64 -1/2 x)) |
(*.f64 -1/2 (pow.f64 x 2)) |
(*.f64 -1/2 (*.f64 x x)) |
(*.f64 (*.f64 -1/2 x) x) |
(*.f64 x (*.f64 -1/2 x)) |
(+.f64 (*.f64 -1/2 (*.f64 eps x)) (*.f64 -1/2 (pow.f64 x 2))) |
(*.f64 -1/2 (+.f64 (*.f64 eps x) (*.f64 x x))) |
(*.f64 -1/2 (*.f64 x (+.f64 eps x))) |
(*.f64 (+.f64 eps x) (*.f64 -1/2 x)) |
(+.f64 (*.f64 -1/2 (*.f64 eps x)) (*.f64 -1/2 (pow.f64 x 2))) |
(*.f64 -1/2 (+.f64 (*.f64 eps x) (*.f64 x x))) |
(*.f64 -1/2 (*.f64 x (+.f64 eps x))) |
(*.f64 (+.f64 eps x) (*.f64 -1/2 x)) |
(+.f64 (*.f64 -1/2 (*.f64 eps x)) (*.f64 -1/2 (pow.f64 x 2))) |
(*.f64 -1/2 (+.f64 (*.f64 eps x) (*.f64 x x))) |
(*.f64 -1/2 (*.f64 x (+.f64 eps x))) |
(*.f64 (+.f64 eps x) (*.f64 -1/2 x)) |
(*.f64 -1/2 (pow.f64 x 2)) |
(*.f64 -1/2 (*.f64 x x)) |
(*.f64 (*.f64 -1/2 x) x) |
(*.f64 x (*.f64 -1/2 x)) |
(+.f64 (*.f64 -1/2 (*.f64 eps x)) (*.f64 -1/2 (pow.f64 x 2))) |
(*.f64 -1/2 (+.f64 (*.f64 eps x) (*.f64 x x))) |
(*.f64 -1/2 (*.f64 x (+.f64 eps x))) |
(*.f64 (+.f64 eps x) (*.f64 -1/2 x)) |
(+.f64 (*.f64 -1/2 (*.f64 eps x)) (*.f64 -1/2 (pow.f64 x 2))) |
(*.f64 -1/2 (+.f64 (*.f64 eps x) (*.f64 x x))) |
(*.f64 -1/2 (*.f64 x (+.f64 eps x))) |
(*.f64 (+.f64 eps x) (*.f64 -1/2 x)) |
(+.f64 (*.f64 -1/2 (*.f64 eps x)) (*.f64 -1/2 (pow.f64 x 2))) |
(*.f64 -1/2 (+.f64 (*.f64 eps x) (*.f64 x x))) |
(*.f64 -1/2 (*.f64 x (+.f64 eps x))) |
(*.f64 (+.f64 eps x) (*.f64 -1/2 x)) |
(*.f64 -1/2 (pow.f64 x 2)) |
(*.f64 -1/2 (*.f64 x x)) |
(*.f64 (*.f64 -1/2 x) x) |
(*.f64 x (*.f64 -1/2 x)) |
(+.f64 (*.f64 -1/2 (*.f64 eps x)) (*.f64 -1/2 (pow.f64 x 2))) |
(*.f64 -1/2 (+.f64 (*.f64 eps x) (*.f64 x x))) |
(*.f64 -1/2 (*.f64 x (+.f64 eps x))) |
(*.f64 (+.f64 eps x) (*.f64 -1/2 x)) |
(+.f64 (*.f64 -1/2 (*.f64 eps x)) (*.f64 -1/2 (pow.f64 x 2))) |
(*.f64 -1/2 (+.f64 (*.f64 eps x) (*.f64 x x))) |
(*.f64 -1/2 (*.f64 x (+.f64 eps x))) |
(*.f64 (+.f64 eps x) (*.f64 -1/2 x)) |
(+.f64 (*.f64 -1/2 (*.f64 eps x)) (*.f64 -1/2 (pow.f64 x 2))) |
(*.f64 -1/2 (+.f64 (*.f64 eps x) (*.f64 x x))) |
(*.f64 -1/2 (*.f64 x (+.f64 eps x))) |
(*.f64 (+.f64 eps x) (*.f64 -1/2 x)) |
(*.f64 -1/2 (*.f64 eps x)) |
(*.f64 (*.f64 -1/2 eps) x) |
(*.f64 x (*.f64 -1/2 eps)) |
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 -1/2 (*.f64 eps x))) |
(*.f64 -1/2 (+.f64 (*.f64 eps x) (*.f64 x x))) |
(*.f64 -1/2 (*.f64 x (+.f64 eps x))) |
(*.f64 (+.f64 eps x) (*.f64 -1/2 x)) |
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 -1/2 (*.f64 eps x))) |
(*.f64 -1/2 (+.f64 (*.f64 eps x) (*.f64 x x))) |
(*.f64 -1/2 (*.f64 x (+.f64 eps x))) |
(*.f64 (+.f64 eps x) (*.f64 -1/2 x)) |
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 -1/2 (*.f64 eps x))) |
(*.f64 -1/2 (+.f64 (*.f64 eps x) (*.f64 x x))) |
(*.f64 -1/2 (*.f64 x (+.f64 eps x))) |
(*.f64 (+.f64 eps x) (*.f64 -1/2 x)) |
(*.f64 -1/2 (*.f64 eps x)) |
(*.f64 (*.f64 -1/2 eps) x) |
(*.f64 x (*.f64 -1/2 eps)) |
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 -1/2 (*.f64 eps x))) |
(*.f64 -1/2 (+.f64 (*.f64 eps x) (*.f64 x x))) |
(*.f64 -1/2 (*.f64 x (+.f64 eps x))) |
(*.f64 (+.f64 eps x) (*.f64 -1/2 x)) |
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 -1/2 (*.f64 eps x))) |
(*.f64 -1/2 (+.f64 (*.f64 eps x) (*.f64 x x))) |
(*.f64 -1/2 (*.f64 x (+.f64 eps x))) |
(*.f64 (+.f64 eps x) (*.f64 -1/2 x)) |
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 -1/2 (*.f64 eps x))) |
(*.f64 -1/2 (+.f64 (*.f64 eps x) (*.f64 x x))) |
(*.f64 -1/2 (*.f64 x (+.f64 eps x))) |
(*.f64 (+.f64 eps x) (*.f64 -1/2 x)) |
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.1b | (*.f64 (cos.f64 x) eps) | |
| ✓ | 0.2b | (pow.f64 (*.f64 (cos.f64 x) eps) 3) |
| ✓ | 38.9b | (pow.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3) 1/3) |
Compiled 26 to 12 computations (53.8% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 6.0ms | x | @ | inf | (pow.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3) 1/3) |
| 4.0ms | x | @ | 0 | (pow.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3) 1/3) |
| 3.0ms | x | @ | -inf | (pow.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3) 1/3) |
| 2.0ms | eps | @ | -inf | (pow.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3) 1/3) |
| 2.0ms | eps | @ | 0 | (pow.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3) 1/3) |
| 1× | batch-egg-rewrite |
| 725× | pow1_binary64 |
| 681× | add-log-exp_binary64 |
| 681× | log1p-expm1-u_binary64 |
| 681× | expm1-log1p-u_binary64 |
| 663× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 15 |
| 1 | 198 | 15 |
| 2 | 1962 | 15 |
| 1× | node limit |
| Inputs |
|---|
(pow.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3) 1/3) |
(pow.f64 (*.f64 (cos.f64 x) eps) 3) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (cos.f64 x) eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 x) eps)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 eps (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 x) eps) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (cos.f64 x) eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) (pow.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 2) (cbrt.f64 (*.f64 (cos.f64 x) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 eps eps)) (*.f64 (cbrt.f64 eps) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (cos.f64 x) eps)) (sqrt.f64 (*.f64 (cos.f64 x) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 eps) (*.f64 (sqrt.f64 eps) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 2) 1/3) (cbrt.f64 (*.f64 (cos.f64 x) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 x) eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3/2) 1/3) (pow.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3/2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 x) (cbrt.f64 (*.f64 eps eps))) (cbrt.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 x) (sqrt.f64 eps)) (sqrt.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 eps (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) (cbrt.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 eps (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (cos.f64 x)) eps))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cos.f64 x) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cos.f64 x) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cos.f64 x) eps))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (pow.f64 (*.f64 (cos.f64 x) eps) 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 x) (*.f64 eps (pow.f64 (*.f64 (cos.f64 x) eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 eps (*.f64 (cos.f64 x) (pow.f64 (*.f64 (cos.f64 x) eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 x) eps) (pow.f64 (*.f64 (cos.f64 x) eps) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (*.f64 (cos.f64 x) eps) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 2) (*.f64 (cos.f64 x) eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 2) (*.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) (pow.f64 (*.f64 (cos.f64 x) eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (cos.f64 x) eps)) (*.f64 (sqrt.f64 (*.f64 (cos.f64 x) eps)) (pow.f64 (*.f64 (cos.f64 x) eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 eps 3) (pow.f64 (cos.f64 x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3/2) (pow.f64 (*.f64 (cos.f64 x) eps) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 2) 3) (*.f64 (cos.f64 x) eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (*.f64 (cos.f64 x) eps)) 3) (pow.f64 (sqrt.f64 (*.f64 (cos.f64 x) eps)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 2) (cos.f64 x)) eps)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 2) eps) (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 2) 1) (*.f64 (cos.f64 x) eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 2) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 2)) (cbrt.f64 (*.f64 (cos.f64 x) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 2) (sqrt.f64 (*.f64 (cos.f64 x) eps))) (sqrt.f64 (*.f64 (cos.f64 x) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 6))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 3 (log.f64 (*.f64 (cos.f64 x) eps)))))))) |
| 1× | egg-herbie |
| 711× | associate-*r*_binary64 |
| 709× | associate-*l*_binary64 |
| 632× | fma-def_binary64 |
| 625× | times-frac_binary64 |
| 319× | distribute-rgt-in_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 94 | 938 |
| 1 | 294 | 886 |
| 2 | 1242 | 719 |
| 1× | node limit |
| Inputs |
|---|
eps |
(+.f64 (*.f64 1/3 (/.f64 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 eps 3)) (*.f64 -1 (pow.f64 eps 3))) (pow.f64 x 2)) (pow.f64 eps 2))) eps) |
(+.f64 (*.f64 1/3 (/.f64 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 eps 3)) (*.f64 -1 (pow.f64 eps 3))) (pow.f64 x 2)) (pow.f64 eps 2))) (+.f64 eps (*.f64 1/3 (/.f64 (*.f64 (-.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 3)) (+.f64 (*.f64 eps (+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 1/12 (pow.f64 eps 2)))) (*.f64 1/2 (pow.f64 eps 3)))) (*.f64 1/3 (/.f64 (pow.f64 (+.f64 (*.f64 -1/2 (pow.f64 eps 3)) (*.f64 -1 (pow.f64 eps 3))) 2) (pow.f64 eps 3)))) (pow.f64 x 4)) (pow.f64 eps 2))))) |
(+.f64 (*.f64 1/3 (/.f64 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 eps 3)) (*.f64 -1 (pow.f64 eps 3))) (pow.f64 x 2)) (pow.f64 eps 2))) (+.f64 eps (+.f64 (*.f64 1/3 (/.f64 (*.f64 (-.f64 (+.f64 (*.f64 -1/720 (pow.f64 eps 3)) (+.f64 (*.f64 eps (+.f64 (*.f64 -1/24 (pow.f64 eps 2)) (*.f64 -1/360 (pow.f64 eps 2)))) (+.f64 (*.f64 -1/24 (pow.f64 eps 3)) (*.f64 -1/2 (*.f64 eps (+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 1/12 (pow.f64 eps 2)))))))) (+.f64 (*.f64 1/3 (/.f64 (*.f64 (-.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 3)) (+.f64 (*.f64 eps (+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 1/12 (pow.f64 eps 2)))) (*.f64 1/2 (pow.f64 eps 3)))) (*.f64 1/3 (/.f64 (pow.f64 (+.f64 (*.f64 -1/2 (pow.f64 eps 3)) (*.f64 -1 (pow.f64 eps 3))) 2) (pow.f64 eps 3)))) (+.f64 (*.f64 -1/2 (pow.f64 eps 3)) (*.f64 -1 (pow.f64 eps 3)))) (pow.f64 eps 3))) (+.f64 (*.f64 1/27 (/.f64 (pow.f64 (+.f64 (*.f64 -1/2 (pow.f64 eps 3)) (*.f64 -1 (pow.f64 eps 3))) 3) (pow.f64 eps 6))) (*.f64 1/3 (/.f64 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 eps 3)) (*.f64 -1 (pow.f64 eps 3))) (-.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 3)) (+.f64 (*.f64 eps (+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 1/12 (pow.f64 eps 2)))) (*.f64 1/2 (pow.f64 eps 3)))) (*.f64 1/3 (/.f64 (pow.f64 (+.f64 (*.f64 -1/2 (pow.f64 eps 3)) (*.f64 -1 (pow.f64 eps 3))) 2) (pow.f64 eps 3))))) (pow.f64 eps 3)))))) (pow.f64 x 6)) (pow.f64 eps 2))) (*.f64 1/3 (/.f64 (*.f64 (-.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 3)) (+.f64 (*.f64 eps (+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 1/12 (pow.f64 eps 2)))) (*.f64 1/2 (pow.f64 eps 3)))) (*.f64 1/3 (/.f64 (pow.f64 (+.f64 (*.f64 -1/2 (pow.f64 eps 3)) (*.f64 -1 (pow.f64 eps 3))) 2) (pow.f64 eps 3)))) (pow.f64 x 4)) (pow.f64 eps 2)))))) |
(*.f64 (cos.f64 x) eps) |
(*.f64 (cos.f64 x) eps) |
(*.f64 (cos.f64 x) eps) |
(*.f64 (cos.f64 x) eps) |
(*.f64 eps (cos.f64 x)) |
(*.f64 eps (cos.f64 x)) |
(*.f64 eps (cos.f64 x)) |
(*.f64 eps (cos.f64 x)) |
(*.f64 (cos.f64 x) eps) |
(*.f64 (cos.f64 x) eps) |
(*.f64 (cos.f64 x) eps) |
(*.f64 (cos.f64 x) eps) |
(*.f64 (cos.f64 x) eps) |
(*.f64 (cos.f64 x) eps) |
(*.f64 (cos.f64 x) eps) |
(*.f64 (cos.f64 x) eps) |
(*.f64 -1 (*.f64 eps (*.f64 (cos.f64 x) (cbrt.f64 -1)))) |
(*.f64 -1 (*.f64 eps (*.f64 (cos.f64 x) (cbrt.f64 -1)))) |
(*.f64 -1 (*.f64 eps (*.f64 (cos.f64 x) (cbrt.f64 -1)))) |
(*.f64 -1 (*.f64 eps (*.f64 (cos.f64 x) (cbrt.f64 -1)))) |
(pow.f64 eps 3) |
(+.f64 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 eps 3)) (*.f64 -1 (pow.f64 eps 3))) (pow.f64 x 2)) (pow.f64 eps 3)) |
(+.f64 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 eps 3)) (*.f64 -1 (pow.f64 eps 3))) (pow.f64 x 2)) (+.f64 (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 3)) (+.f64 (*.f64 eps (+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 1/12 (pow.f64 eps 2)))) (*.f64 1/2 (pow.f64 eps 3)))) (pow.f64 x 4)) (pow.f64 eps 3))) |
(+.f64 (*.f64 (+.f64 (*.f64 eps (+.f64 (*.f64 -1/24 (pow.f64 eps 2)) (*.f64 -1/360 (pow.f64 eps 2)))) (+.f64 (*.f64 -1/720 (pow.f64 eps 3)) (+.f64 (*.f64 -1/24 (pow.f64 eps 3)) (*.f64 -1/2 (*.f64 eps (+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 1/12 (pow.f64 eps 2)))))))) (pow.f64 x 6)) (+.f64 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 eps 3)) (*.f64 -1 (pow.f64 eps 3))) (pow.f64 x 2)) (+.f64 (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 3)) (+.f64 (*.f64 eps (+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 1/12 (pow.f64 eps 2)))) (*.f64 1/2 (pow.f64 eps 3)))) (pow.f64 x 4)) (pow.f64 eps 3)))) |
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3)) |
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3)) |
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3)) |
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3)) |
(*.f64 (pow.f64 eps 3) (pow.f64 (cos.f64 x) 3)) |
(*.f64 (pow.f64 eps 3) (pow.f64 (cos.f64 x) 3)) |
(*.f64 (pow.f64 eps 3) (pow.f64 (cos.f64 x) 3)) |
(*.f64 (pow.f64 eps 3) (pow.f64 (cos.f64 x) 3)) |
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3)) |
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3)) |
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3)) |
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3)) |
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3)) |
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3)) |
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3)) |
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3)) |
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3)) |
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3)) |
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3)) |
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3)) |
| Outputs |
|---|
eps |
(+.f64 (*.f64 1/3 (/.f64 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 eps 3)) (*.f64 -1 (pow.f64 eps 3))) (pow.f64 x 2)) (pow.f64 eps 2))) eps) |
(fma.f64 1/3 (/.f64 (*.f64 (*.f64 (pow.f64 eps 3) -3/2) (*.f64 x x)) (*.f64 eps eps)) eps) |
(fma.f64 1/3 (*.f64 (/.f64 (*.f64 (pow.f64 eps 3) -3/2) eps) (/.f64 (*.f64 x x) eps)) eps) |
(+.f64 eps (*.f64 (/.f64 (*.f64 -1/2 (pow.f64 eps 3)) eps) (/.f64 x (/.f64 eps x)))) |
(+.f64 (*.f64 1/3 (/.f64 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 eps 3)) (*.f64 -1 (pow.f64 eps 3))) (pow.f64 x 2)) (pow.f64 eps 2))) (+.f64 eps (*.f64 1/3 (/.f64 (*.f64 (-.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 3)) (+.f64 (*.f64 eps (+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 1/12 (pow.f64 eps 2)))) (*.f64 1/2 (pow.f64 eps 3)))) (*.f64 1/3 (/.f64 (pow.f64 (+.f64 (*.f64 -1/2 (pow.f64 eps 3)) (*.f64 -1 (pow.f64 eps 3))) 2) (pow.f64 eps 3)))) (pow.f64 x 4)) (pow.f64 eps 2))))) |
(+.f64 (fma.f64 1/3 (/.f64 (*.f64 (*.f64 (pow.f64 eps 3) -3/2) (*.f64 x x)) (*.f64 eps eps)) eps) (*.f64 1/3 (/.f64 (+.f64 (fma.f64 1/24 (pow.f64 eps 3) (fma.f64 eps (*.f64 (*.f64 eps eps) 1/3) (*.f64 (pow.f64 eps 3) 1/2))) (*.f64 -1/3 (/.f64 (pow.f64 (*.f64 (pow.f64 eps 3) -3/2) 2) (pow.f64 eps 3)))) (/.f64 (*.f64 eps eps) (pow.f64 x 4))))) |
(fma.f64 1/3 (*.f64 (/.f64 (*.f64 (pow.f64 eps 3) -3/2) eps) (/.f64 (*.f64 x x) eps)) (fma.f64 1/3 (/.f64 (fma.f64 (pow.f64 eps 3) 1/24 (+.f64 (fma.f64 (pow.f64 eps 3) 1/2 (*.f64 (pow.f64 eps 3) 1/3)) (*.f64 (/.f64 (*.f64 (pow.f64 eps 6) 9/4) (pow.f64 eps 3)) -1/3))) (/.f64 eps (/.f64 (pow.f64 x 4) eps))) eps)) |
(+.f64 eps (*.f64 (/.f64 1/3 eps) (+.f64 (/.f64 (pow.f64 eps 3) (/.f64 eps (*.f64 -3/2 (*.f64 x x)))) (/.f64 (fma.f64 (*.f64 9/4 (pow.f64 eps 3)) -1/3 (fma.f64 (pow.f64 eps 3) 1/3 (*.f64 (pow.f64 eps 3) 13/24))) (/.f64 eps (pow.f64 x 4)))))) |
(+.f64 (*.f64 1/3 (/.f64 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 eps 3)) (*.f64 -1 (pow.f64 eps 3))) (pow.f64 x 2)) (pow.f64 eps 2))) (+.f64 eps (+.f64 (*.f64 1/3 (/.f64 (*.f64 (-.f64 (+.f64 (*.f64 -1/720 (pow.f64 eps 3)) (+.f64 (*.f64 eps (+.f64 (*.f64 -1/24 (pow.f64 eps 2)) (*.f64 -1/360 (pow.f64 eps 2)))) (+.f64 (*.f64 -1/24 (pow.f64 eps 3)) (*.f64 -1/2 (*.f64 eps (+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 1/12 (pow.f64 eps 2)))))))) (+.f64 (*.f64 1/3 (/.f64 (*.f64 (-.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 3)) (+.f64 (*.f64 eps (+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 1/12 (pow.f64 eps 2)))) (*.f64 1/2 (pow.f64 eps 3)))) (*.f64 1/3 (/.f64 (pow.f64 (+.f64 (*.f64 -1/2 (pow.f64 eps 3)) (*.f64 -1 (pow.f64 eps 3))) 2) (pow.f64 eps 3)))) (+.f64 (*.f64 -1/2 (pow.f64 eps 3)) (*.f64 -1 (pow.f64 eps 3)))) (pow.f64 eps 3))) (+.f64 (*.f64 1/27 (/.f64 (pow.f64 (+.f64 (*.f64 -1/2 (pow.f64 eps 3)) (*.f64 -1 (pow.f64 eps 3))) 3) (pow.f64 eps 6))) (*.f64 1/3 (/.f64 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 eps 3)) (*.f64 -1 (pow.f64 eps 3))) (-.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 3)) (+.f64 (*.f64 eps (+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 1/12 (pow.f64 eps 2)))) (*.f64 1/2 (pow.f64 eps 3)))) (*.f64 1/3 (/.f64 (pow.f64 (+.f64 (*.f64 -1/2 (pow.f64 eps 3)) (*.f64 -1 (pow.f64 eps 3))) 2) (pow.f64 eps 3))))) (pow.f64 eps 3)))))) (pow.f64 x 6)) (pow.f64 eps 2))) (*.f64 1/3 (/.f64 (*.f64 (-.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 3)) (+.f64 (*.f64 eps (+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 1/12 (pow.f64 eps 2)))) (*.f64 1/2 (pow.f64 eps 3)))) (*.f64 1/3 (/.f64 (pow.f64 (+.f64 (*.f64 -1/2 (pow.f64 eps 3)) (*.f64 -1 (pow.f64 eps 3))) 2) (pow.f64 eps 3)))) (pow.f64 x 4)) (pow.f64 eps 2)))))) |
(+.f64 (fma.f64 1/3 (/.f64 (*.f64 (*.f64 (pow.f64 eps 3) -3/2) (*.f64 x x)) (*.f64 eps eps)) eps) (*.f64 1/3 (+.f64 (/.f64 (-.f64 (fma.f64 -1/720 (pow.f64 eps 3) (fma.f64 eps (*.f64 (*.f64 eps eps) -2/45) (fma.f64 -1/24 (pow.f64 eps 3) (*.f64 (*.f64 -1/2 eps) (*.f64 (*.f64 eps eps) 1/3))))) (fma.f64 1/3 (/.f64 (*.f64 (pow.f64 eps 3) -3/2) (/.f64 (pow.f64 eps 3) (+.f64 (fma.f64 1/24 (pow.f64 eps 3) (fma.f64 eps (*.f64 (*.f64 eps eps) 1/3) (*.f64 (pow.f64 eps 3) 1/2))) (*.f64 -1/3 (/.f64 (pow.f64 (*.f64 (pow.f64 eps 3) -3/2) 2) (pow.f64 eps 3)))))) (fma.f64 1/27 (/.f64 (pow.f64 (*.f64 (pow.f64 eps 3) -3/2) 3) (pow.f64 eps 6)) (*.f64 1/3 (/.f64 (*.f64 (pow.f64 eps 3) -3/2) (/.f64 (pow.f64 eps 3) (+.f64 (fma.f64 1/24 (pow.f64 eps 3) (fma.f64 eps (*.f64 (*.f64 eps eps) 1/3) (*.f64 (pow.f64 eps 3) 1/2))) (*.f64 -1/3 (/.f64 (pow.f64 (*.f64 (pow.f64 eps 3) -3/2) 2) (pow.f64 eps 3)))))))))) (/.f64 (*.f64 eps eps) (pow.f64 x 6))) (/.f64 (+.f64 (fma.f64 1/24 (pow.f64 eps 3) (fma.f64 eps (*.f64 (*.f64 eps eps) 1/3) (*.f64 (pow.f64 eps 3) 1/2))) (*.f64 -1/3 (/.f64 (pow.f64 (*.f64 (pow.f64 eps 3) -3/2) 2) (pow.f64 eps 3)))) (/.f64 (*.f64 eps eps) (pow.f64 x 4)))))) |
(fma.f64 1/3 (*.f64 (/.f64 (*.f64 (pow.f64 eps 3) -3/2) eps) (/.f64 (*.f64 x x) eps)) (fma.f64 1/3 (+.f64 (/.f64 (fma.f64 (pow.f64 eps 3) 1/24 (+.f64 (fma.f64 (pow.f64 eps 3) 1/2 (*.f64 (pow.f64 eps 3) 1/3)) (*.f64 (/.f64 (*.f64 (pow.f64 eps 6) 9/4) (pow.f64 eps 3)) -1/3))) (/.f64 eps (/.f64 (pow.f64 x 4) eps))) (*.f64 (/.f64 (-.f64 (+.f64 (*.f64 (pow.f64 eps 3) -2/45) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 3) 1/3)) (*.f64 (pow.f64 eps 3) -31/720))) (fma.f64 1/3 (*.f64 (/.f64 (*.f64 (pow.f64 eps 3) -3/2) (pow.f64 eps 3)) (fma.f64 (pow.f64 eps 3) 1/24 (+.f64 (fma.f64 (pow.f64 eps 3) 1/2 (*.f64 (pow.f64 eps 3) 1/3)) (*.f64 (/.f64 (*.f64 (pow.f64 eps 6) 9/4) (pow.f64 eps 3)) -1/3)))) (fma.f64 1/3 (*.f64 (/.f64 (*.f64 (pow.f64 eps 3) -3/2) (pow.f64 eps 3)) (fma.f64 (pow.f64 eps 3) 1/24 (+.f64 (fma.f64 (pow.f64 eps 3) 1/2 (*.f64 (pow.f64 eps 3) 1/3)) (*.f64 (/.f64 (*.f64 (pow.f64 eps 6) 9/4) (pow.f64 eps 3)) -1/3)))) (/.f64 1/27 (/.f64 (pow.f64 eps 6) (*.f64 (pow.f64 (pow.f64 eps 3) 3) -27/8)))))) eps) (/.f64 (pow.f64 x 6) eps))) eps)) |
(+.f64 eps (fma.f64 1/3 (fma.f64 (/.f64 (+.f64 (*.f64 (pow.f64 eps 3) -7/80) (-.f64 (*.f64 (pow.f64 eps 3) -1/6) (fma.f64 1/27 (/.f64 (pow.f64 eps 3) -8/27) (*.f64 (*.f64 -3/2 (fma.f64 (*.f64 9/4 (pow.f64 eps 3)) -1/3 (fma.f64 (pow.f64 eps 3) 1/3 (*.f64 (pow.f64 eps 3) 13/24)))) 2/3)))) eps) (/.f64 (pow.f64 x 6) eps) (*.f64 (/.f64 (fma.f64 (*.f64 9/4 (pow.f64 eps 3)) -1/3 (fma.f64 (pow.f64 eps 3) 1/3 (*.f64 (pow.f64 eps 3) 13/24))) (*.f64 eps eps)) (pow.f64 x 4))) (*.f64 (/.f64 (*.f64 -1/2 (pow.f64 eps 3)) eps) (/.f64 x (/.f64 eps x))))) |
(*.f64 (cos.f64 x) eps) |
(*.f64 eps (cos.f64 x)) |
(*.f64 (cos.f64 x) eps) |
(*.f64 eps (cos.f64 x)) |
(*.f64 (cos.f64 x) eps) |
(*.f64 eps (cos.f64 x)) |
(*.f64 (cos.f64 x) eps) |
(*.f64 eps (cos.f64 x)) |
(*.f64 eps (cos.f64 x)) |
(*.f64 eps (cos.f64 x)) |
(*.f64 eps (cos.f64 x)) |
(*.f64 eps (cos.f64 x)) |
(*.f64 (cos.f64 x) eps) |
(*.f64 eps (cos.f64 x)) |
(*.f64 (cos.f64 x) eps) |
(*.f64 eps (cos.f64 x)) |
(*.f64 (cos.f64 x) eps) |
(*.f64 eps (cos.f64 x)) |
(*.f64 (cos.f64 x) eps) |
(*.f64 eps (cos.f64 x)) |
(*.f64 (cos.f64 x) eps) |
(*.f64 eps (cos.f64 x)) |
(*.f64 (cos.f64 x) eps) |
(*.f64 eps (cos.f64 x)) |
(*.f64 (cos.f64 x) eps) |
(*.f64 eps (cos.f64 x)) |
(*.f64 (cos.f64 x) eps) |
(*.f64 eps (cos.f64 x)) |
(*.f64 -1 (*.f64 eps (*.f64 (cos.f64 x) (cbrt.f64 -1)))) |
(neg.f64 (*.f64 eps (*.f64 (cos.f64 x) (cbrt.f64 -1)))) |
(*.f64 (*.f64 eps (cos.f64 x)) (neg.f64 (cbrt.f64 -1))) |
(*.f64 eps (*.f64 (cos.f64 x) (neg.f64 (cbrt.f64 -1)))) |
(*.f64 -1 (*.f64 eps (*.f64 (cos.f64 x) (cbrt.f64 -1)))) |
(neg.f64 (*.f64 eps (*.f64 (cos.f64 x) (cbrt.f64 -1)))) |
(*.f64 (*.f64 eps (cos.f64 x)) (neg.f64 (cbrt.f64 -1))) |
(*.f64 eps (*.f64 (cos.f64 x) (neg.f64 (cbrt.f64 -1)))) |
(*.f64 -1 (*.f64 eps (*.f64 (cos.f64 x) (cbrt.f64 -1)))) |
(neg.f64 (*.f64 eps (*.f64 (cos.f64 x) (cbrt.f64 -1)))) |
(*.f64 (*.f64 eps (cos.f64 x)) (neg.f64 (cbrt.f64 -1))) |
(*.f64 eps (*.f64 (cos.f64 x) (neg.f64 (cbrt.f64 -1)))) |
(*.f64 -1 (*.f64 eps (*.f64 (cos.f64 x) (cbrt.f64 -1)))) |
(neg.f64 (*.f64 eps (*.f64 (cos.f64 x) (cbrt.f64 -1)))) |
(*.f64 (*.f64 eps (cos.f64 x)) (neg.f64 (cbrt.f64 -1))) |
(*.f64 eps (*.f64 (cos.f64 x) (neg.f64 (cbrt.f64 -1)))) |
(pow.f64 eps 3) |
(+.f64 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 eps 3)) (*.f64 -1 (pow.f64 eps 3))) (pow.f64 x 2)) (pow.f64 eps 3)) |
(fma.f64 (*.f64 (pow.f64 eps 3) -3/2) (*.f64 x x) (pow.f64 eps 3)) |
(fma.f64 (pow.f64 eps 3) (*.f64 -3/2 (*.f64 x x)) (pow.f64 eps 3)) |
(+.f64 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 eps 3)) (*.f64 -1 (pow.f64 eps 3))) (pow.f64 x 2)) (+.f64 (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 3)) (+.f64 (*.f64 eps (+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 1/12 (pow.f64 eps 2)))) (*.f64 1/2 (pow.f64 eps 3)))) (pow.f64 x 4)) (pow.f64 eps 3))) |
(fma.f64 (*.f64 (pow.f64 eps 3) -3/2) (*.f64 x x) (fma.f64 (fma.f64 1/24 (pow.f64 eps 3) (fma.f64 eps (*.f64 (*.f64 eps eps) 1/3) (*.f64 (pow.f64 eps 3) 1/2))) (pow.f64 x 4) (pow.f64 eps 3))) |
(fma.f64 (*.f64 (pow.f64 eps 3) -3/2) (*.f64 x x) (fma.f64 (fma.f64 (pow.f64 eps 3) 1/24 (fma.f64 (pow.f64 eps 3) 1/2 (*.f64 (pow.f64 eps 3) 1/3))) (pow.f64 x 4) (pow.f64 eps 3))) |
(fma.f64 (pow.f64 eps 3) (*.f64 -3/2 (*.f64 x x)) (fma.f64 (fma.f64 (pow.f64 eps 3) 1/3 (*.f64 (pow.f64 eps 3) 13/24)) (pow.f64 x 4) (pow.f64 eps 3))) |
(+.f64 (*.f64 (+.f64 (*.f64 eps (+.f64 (*.f64 -1/24 (pow.f64 eps 2)) (*.f64 -1/360 (pow.f64 eps 2)))) (+.f64 (*.f64 -1/720 (pow.f64 eps 3)) (+.f64 (*.f64 -1/24 (pow.f64 eps 3)) (*.f64 -1/2 (*.f64 eps (+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 1/12 (pow.f64 eps 2)))))))) (pow.f64 x 6)) (+.f64 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 eps 3)) (*.f64 -1 (pow.f64 eps 3))) (pow.f64 x 2)) (+.f64 (*.f64 (+.f64 (*.f64 1/24 (pow.f64 eps 3)) (+.f64 (*.f64 eps (+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 1/12 (pow.f64 eps 2)))) (*.f64 1/2 (pow.f64 eps 3)))) (pow.f64 x 4)) (pow.f64 eps 3)))) |
(fma.f64 (fma.f64 eps (*.f64 (*.f64 eps eps) -2/45) (fma.f64 -1/720 (pow.f64 eps 3) (fma.f64 -1/24 (pow.f64 eps 3) (*.f64 (*.f64 -1/2 eps) (*.f64 (*.f64 eps eps) 1/3))))) (pow.f64 x 6) (fma.f64 (*.f64 (pow.f64 eps 3) -3/2) (*.f64 x x) (fma.f64 (fma.f64 1/24 (pow.f64 eps 3) (fma.f64 eps (*.f64 (*.f64 eps eps) 1/3) (*.f64 (pow.f64 eps 3) 1/2))) (pow.f64 x 4) (pow.f64 eps 3)))) |
(fma.f64 (+.f64 (*.f64 (pow.f64 eps 3) -2/45) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 3) 1/3)) (*.f64 (pow.f64 eps 3) -31/720))) (pow.f64 x 6) (fma.f64 (*.f64 (pow.f64 eps 3) -3/2) (*.f64 x x) (fma.f64 (fma.f64 (pow.f64 eps 3) 1/24 (fma.f64 (pow.f64 eps 3) 1/2 (*.f64 (pow.f64 eps 3) 1/3))) (pow.f64 x 4) (pow.f64 eps 3)))) |
(fma.f64 (+.f64 (*.f64 (pow.f64 eps 3) -7/80) (*.f64 (pow.f64 eps 3) -1/6)) (pow.f64 x 6) (fma.f64 (pow.f64 eps 3) (*.f64 -3/2 (*.f64 x x)) (fma.f64 (fma.f64 (pow.f64 eps 3) 1/3 (*.f64 (pow.f64 eps 3) 13/24)) (pow.f64 x 4) (pow.f64 eps 3)))) |
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3)) |
(*.f64 (pow.f64 eps 3) (pow.f64 (cos.f64 x) 3)) |
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3)) |
(*.f64 (pow.f64 eps 3) (pow.f64 (cos.f64 x) 3)) |
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3)) |
(*.f64 (pow.f64 eps 3) (pow.f64 (cos.f64 x) 3)) |
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3)) |
(*.f64 (pow.f64 eps 3) (pow.f64 (cos.f64 x) 3)) |
(*.f64 (pow.f64 eps 3) (pow.f64 (cos.f64 x) 3)) |
(*.f64 (pow.f64 eps 3) (pow.f64 (cos.f64 x) 3)) |
(*.f64 (pow.f64 eps 3) (pow.f64 (cos.f64 x) 3)) |
(*.f64 (pow.f64 eps 3) (pow.f64 (cos.f64 x) 3)) |
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3)) |
(*.f64 (pow.f64 eps 3) (pow.f64 (cos.f64 x) 3)) |
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3)) |
(*.f64 (pow.f64 eps 3) (pow.f64 (cos.f64 x) 3)) |
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3)) |
(*.f64 (pow.f64 eps 3) (pow.f64 (cos.f64 x) 3)) |
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3)) |
(*.f64 (pow.f64 eps 3) (pow.f64 (cos.f64 x) 3)) |
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3)) |
(*.f64 (pow.f64 eps 3) (pow.f64 (cos.f64 x) 3)) |
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3)) |
(*.f64 (pow.f64 eps 3) (pow.f64 (cos.f64 x) 3)) |
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3)) |
(*.f64 (pow.f64 eps 3) (pow.f64 (cos.f64 x) 3)) |
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3)) |
(*.f64 (pow.f64 eps 3) (pow.f64 (cos.f64 x) 3)) |
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3)) |
(*.f64 (pow.f64 eps 3) (pow.f64 (cos.f64 x) 3)) |
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3)) |
(*.f64 (pow.f64 eps 3) (pow.f64 (cos.f64 x) 3)) |
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3)) |
(*.f64 (pow.f64 eps 3) (pow.f64 (cos.f64 x) 3)) |
(*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 eps 3)) |
(*.f64 (pow.f64 eps 3) (pow.f64 (cos.f64 x) 3)) |
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.4b | (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) |
| ✓ | 0.4b | (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3) |
| 0.6b | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) | |
| 1.1b | (sin.f64 (+.f64 x eps)) |
Compiled 39 to 10 computations (74.4% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 11.0ms | x | @ | -inf | (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3) |
| 7.0ms | x | @ | 0 | (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3) |
| 4.0ms | eps | @ | 0 | (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3) |
| 3.0ms | eps | @ | inf | (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3) |
| 3.0ms | x | @ | inf | (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3) |
| 1× | batch-egg-rewrite |
| 515× | log-prod_binary64 |
| 495× | fma-def_binary64 |
| 338× | pow-prod-down_binary64 |
| 305× | pow2_binary64 |
| 220× | fma-neg_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 24 |
| 1 | 239 | 24 |
| 2 | 3212 | 24 |
| 1× | node limit |
| Inputs |
|---|
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3) |
(cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) |
| Outputs |
|---|
((#(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)) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (sin.f64 x)) (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 (pow.f64 (cbrt.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) 2)) (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 (sin.f64 (+.f64 x eps)) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (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 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) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (/.f64 (pow.f64 (sin.f64 x) 2) (+.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 (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 1 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))) (#(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 (cbrt.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2)) (*.f64 (cbrt.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 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1/6) (*.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1/6) (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2)))))) (#(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 x (-.f64 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 x (-.f64 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 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) 1) (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (cbrt.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))) 2) (cbrt.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1/6)) (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sin.f64 (*.f64 (+.f64 x (-.f64 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 (pow.f64 (neg.f64 (sin.f64 x)) 2) (*.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) (pow.f64 (neg.f64 (sin.f64 x)) 2)) (-.f64 (sin.f64 (+.f64 x eps)) (neg.f64 (sin.f64 x))))))) (#(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 (+.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 (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 expm1.f64 (log1p.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x 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) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (sin.f64 (+.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 (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 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)) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 (sin.f64 x)) (sin.f64 (+.f64 x eps)))))) (#(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 (cbrt.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2)) (*.f64 (cbrt.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 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2)) (*.f64 (cbrt.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 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2)) (*.f64 (cbrt.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 (cbrt.f64 (sin.f64 (+.f64 x eps))) (cbrt.f64 (pow.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))) (cbrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.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 (cbrt.f64 (pow.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 (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)) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1/6) (*.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1/6) (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 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1/6) (*.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1/6) (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 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1/6) (*.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1/6) (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 (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 (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)) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (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 (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 x (-.f64 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 x (-.f64 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 x (-.f64 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 x (-.f64 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 x (-.f64 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 x (-.f64 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) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (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 (pow.f64 (cbrt.f64 (neg.f64 (sin.f64 x))) 2) (cbrt.f64 (neg.f64 (sin.f64 x))) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) 2) (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (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 (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (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 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) 1) (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 (*.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) 1) (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 (*.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) 1) (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 (pow.f64 (*.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (cbrt.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))) 2) (cbrt.f64 (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 (*.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (cbrt.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))) 2) (cbrt.f64 (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 (*.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (cbrt.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))) 2) (cbrt.f64 (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 (*.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1/6)) (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1/6) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1/6)) (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1/6) (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 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1/6)) (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1/6) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 2 (sin.f64 (*.f64 (+.f64 x (-.f64 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 x (-.f64 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 x (-.f64 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 +.f64 0 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) (cbrt.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2)) (cbrt.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1/6) (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 2) (cbrt.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2))) (cbrt.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3))) (cbrt.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 pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 3) 1/9)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2)) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.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/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) 1)))))) |
| 1× | egg-herbie |
| 713× | fma-def_binary64 |
| 603× | distribute-rgt-in_binary64 |
| 601× | distribute-lft-in_binary64 |
| 443× | *-commutative_binary64 |
| 265× | unsub-neg_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 130 | 1894 |
| 1 | 418 | 1799 |
| 2 | 1542 | 1677 |
| 3 | 7056 | 1677 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (pow.f64 1 1/3) (sin.f64 eps)) |
(+.f64 (*.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/9) (-.f64 (cos.f64 eps) 1))) (*.f64 2/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/9) (-.f64 (cos.f64 eps) 1)))) x) (*.f64 (pow.f64 1 1/3) (sin.f64 eps))) |
(+.f64 (*.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/9) (-.f64 (cos.f64 eps) 1))) (*.f64 2/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/9) (-.f64 (cos.f64 eps) 1)))) x) (+.f64 (*.f64 (+.f64 (*.f64 1/3 (*.f64 (-.f64 (*.f64 -1/2 (sin.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2)))) (pow.f64 1 1/3))) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2))) (*.f64 (pow.f64 (*.f64 1 (sin.f64 eps)) 1/3) (+.f64 (*.f64 2/3 (*.f64 (-.f64 (*.f64 -1/2 (sin.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2)))) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/3))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2))))))) (pow.f64 x 2)) (*.f64 (pow.f64 1 1/3) (sin.f64 eps)))) |
(+.f64 (*.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/9) (-.f64 (cos.f64 eps) 1))) (*.f64 2/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/9) (-.f64 (cos.f64 eps) 1)))) x) (+.f64 (*.f64 (+.f64 (*.f64 2/9 (*.f64 (*.f64 (-.f64 (*.f64 -1/2 (sin.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2)))) (-.f64 (cos.f64 eps) 1)) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/9))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (+.f64 (*.f64 -1/6 (cos.f64 eps)) 1/6) (+.f64 (*.f64 1/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/3) (pow.f64 (-.f64 (cos.f64 eps) 1) 3))) (*.f64 2/3 (*.f64 (*.f64 (-.f64 (*.f64 -1/2 (sin.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2)))) (-.f64 (cos.f64 eps) 1)) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/9))))))) (+.f64 (*.f64 (pow.f64 (*.f64 1 (sin.f64 eps)) 1/3) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/3) (-.f64 (+.f64 (*.f64 -1/6 (cos.f64 eps)) 1/6) (+.f64 (*.f64 1/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/3) (pow.f64 (-.f64 (cos.f64 eps) 1) 3))) (*.f64 2/3 (*.f64 (*.f64 (-.f64 (*.f64 -1/2 (sin.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2)))) (-.f64 (cos.f64 eps) 1)) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/9))))))) (*.f64 2/9 (*.f64 (*.f64 (-.f64 (*.f64 -1/2 (sin.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2)))) (-.f64 (cos.f64 eps) 1)) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 8)) 1/9))))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/9) (*.f64 (-.f64 (cos.f64 eps) 1) (+.f64 (*.f64 2/3 (*.f64 (-.f64 (*.f64 -1/2 (sin.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2)))) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/3))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2)))))))))) (pow.f64 x 3)) (+.f64 (*.f64 (+.f64 (*.f64 1/3 (*.f64 (-.f64 (*.f64 -1/2 (sin.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2)))) (pow.f64 1 1/3))) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2))) (*.f64 (pow.f64 (*.f64 1 (sin.f64 eps)) 1/3) (+.f64 (*.f64 2/3 (*.f64 (-.f64 (*.f64 -1/2 (sin.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2)))) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/3))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2))))))) (pow.f64 x 2)) (*.f64 (pow.f64 1 1/3) (sin.f64 eps))))) |
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) |
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) |
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) |
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) |
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))) |
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))) |
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))) |
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))) |
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) |
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) |
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) |
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) |
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x))) |
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x))) |
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x))) |
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x))) |
(pow.f64 (sin.f64 eps) 1/3) |
(+.f64 (pow.f64 (sin.f64 eps) 1/3) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/9) (*.f64 (-.f64 (cos.f64 eps) 1) x)))) |
(+.f64 (*.f64 1/3 (*.f64 (*.f64 (-.f64 (*.f64 -1/2 (sin.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2)))) (pow.f64 x 2)) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/3))) (+.f64 (pow.f64 (sin.f64 eps) 1/3) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/9) (*.f64 (-.f64 (cos.f64 eps) 1) x))))) |
(+.f64 (*.f64 1/3 (*.f64 (*.f64 (-.f64 (*.f64 -1/2 (sin.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2)))) (pow.f64 x 2)) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/3))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/3) (*.f64 (-.f64 (+.f64 (*.f64 -1/6 (cos.f64 eps)) 1/6) (+.f64 (*.f64 1/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/3) (pow.f64 (-.f64 (cos.f64 eps) 1) 3))) (*.f64 2/3 (*.f64 (*.f64 (-.f64 (*.f64 -1/2 (sin.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2)))) (-.f64 (cos.f64 eps) 1)) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/9))))) (pow.f64 x 3)))) (+.f64 (pow.f64 (sin.f64 eps) 1/3) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/9) (*.f64 (-.f64 (cos.f64 eps) 1) x)))))) |
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 1/3) |
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 1/3) |
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 1/3) |
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 1/3) |
(pow.f64 (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)) 1/3) |
(pow.f64 (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)) 1/3) |
(pow.f64 (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)) 1/3) |
(pow.f64 (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)) 1/3) |
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 1/3) |
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 1/3) |
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 1/3) |
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 1/3) |
(pow.f64 (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)) 1/3) |
(pow.f64 (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)) 1/3) |
(pow.f64 (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)) 1/3) |
(pow.f64 (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)) 1/3) |
| Outputs |
|---|
(*.f64 (pow.f64 1 1/3) (sin.f64 eps)) |
(sin.f64 eps) |
(+.f64 (*.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/9) (-.f64 (cos.f64 eps) 1))) (*.f64 2/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/9) (-.f64 (cos.f64 eps) 1)))) x) (*.f64 (pow.f64 1 1/3) (sin.f64 eps))) |
(fma.f64 (*.f64 (*.f64 (*.f64 (pow.f64 (pow.f64 (sin.f64 eps) 4) 1/18) (pow.f64 (pow.f64 (sin.f64 eps) 4) 1/18)) (+.f64 (cos.f64 eps) -1)) 1) x (sin.f64 eps)) |
(fma.f64 (*.f64 (*.f64 (pow.f64 (pow.f64 (sin.f64 eps) 4) 1/18) (pow.f64 (pow.f64 (sin.f64 eps) 4) 1/18)) (+.f64 (cos.f64 eps) -1)) x (sin.f64 eps)) |
(+.f64 (*.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/9) (-.f64 (cos.f64 eps) 1))) (*.f64 2/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/9) (-.f64 (cos.f64 eps) 1)))) x) (+.f64 (*.f64 (+.f64 (*.f64 1/3 (*.f64 (-.f64 (*.f64 -1/2 (sin.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2)))) (pow.f64 1 1/3))) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2))) (*.f64 (pow.f64 (*.f64 1 (sin.f64 eps)) 1/3) (+.f64 (*.f64 2/3 (*.f64 (-.f64 (*.f64 -1/2 (sin.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2)))) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/3))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2))))))) (pow.f64 x 2)) (*.f64 (pow.f64 1 1/3) (sin.f64 eps)))) |
(fma.f64 (*.f64 (*.f64 (*.f64 (pow.f64 (pow.f64 (sin.f64 eps) 4) 1/18) (pow.f64 (pow.f64 (sin.f64 eps) 4) 1/18)) (+.f64 (cos.f64 eps) -1)) 1) x (fma.f64 (fma.f64 1/3 (*.f64 1 (-.f64 (*.f64 (sin.f64 eps) -1/2) (*.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (pow.f64 (+.f64 (cos.f64 eps) -1) 2))))) (fma.f64 2/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (pow.f64 (+.f64 (cos.f64 eps) -1) 2)) (*.f64 (cbrt.f64 (sin.f64 eps)) (fma.f64 2/3 (*.f64 (-.f64 (*.f64 (sin.f64 eps) -1/2) (*.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (pow.f64 (+.f64 (cos.f64 eps) -1) 2)))) (cbrt.f64 (/.f64 1 (sin.f64 eps)))) (*.f64 1/9 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/18)))))))) (*.f64 x x) (sin.f64 eps))) |
(fma.f64 (*.f64 (*.f64 (pow.f64 (pow.f64 (sin.f64 eps) 4) 1/18) (pow.f64 (pow.f64 (sin.f64 eps) 4) 1/18)) (+.f64 (cos.f64 eps) -1)) x (fma.f64 (fma.f64 1/3 (fma.f64 (sin.f64 eps) -1/2 (*.f64 (*.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) -1/3)) (fma.f64 (cbrt.f64 (sin.f64 eps)) (fma.f64 1/9 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/18))) (*.f64 2/3 (*.f64 (fma.f64 (sin.f64 eps) -1/2 (*.f64 (*.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) -1/3)) (cbrt.f64 (/.f64 1 (sin.f64 eps)))))) (*.f64 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) 2/9)))) (*.f64 x x) (sin.f64 eps))) |
(fma.f64 (fma.f64 1/3 (fma.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) -1/3) (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (*.f64 (sin.f64 eps) -1/2)) (fma.f64 2/3 (*.f64 (cbrt.f64 (sin.f64 eps)) (*.f64 (fma.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) -1/3) (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (*.f64 (sin.f64 eps) -1/2)) (cbrt.f64 (/.f64 1 (sin.f64 eps))))) (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (+.f64 (*.f64 (cbrt.f64 (sin.f64 eps)) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/18)))) (*.f64 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) 2/9))))) (*.f64 x x) (fma.f64 (*.f64 (*.f64 (pow.f64 (pow.f64 (sin.f64 eps) 4) 1/18) (pow.f64 (pow.f64 (sin.f64 eps) 4) 1/18)) (+.f64 (cos.f64 eps) -1)) x (sin.f64 eps))) |
(+.f64 (*.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/9) (-.f64 (cos.f64 eps) 1))) (*.f64 2/3 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/9) (-.f64 (cos.f64 eps) 1)))) x) (+.f64 (*.f64 (+.f64 (*.f64 2/9 (*.f64 (*.f64 (-.f64 (*.f64 -1/2 (sin.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2)))) (-.f64 (cos.f64 eps) 1)) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/9))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (+.f64 (*.f64 -1/6 (cos.f64 eps)) 1/6) (+.f64 (*.f64 1/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/3) (pow.f64 (-.f64 (cos.f64 eps) 1) 3))) (*.f64 2/3 (*.f64 (*.f64 (-.f64 (*.f64 -1/2 (sin.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2)))) (-.f64 (cos.f64 eps) 1)) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/9))))))) (+.f64 (*.f64 (pow.f64 (*.f64 1 (sin.f64 eps)) 1/3) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/3) (-.f64 (+.f64 (*.f64 -1/6 (cos.f64 eps)) 1/6) (+.f64 (*.f64 1/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/3) (pow.f64 (-.f64 (cos.f64 eps) 1) 3))) (*.f64 2/3 (*.f64 (*.f64 (-.f64 (*.f64 -1/2 (sin.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2)))) (-.f64 (cos.f64 eps) 1)) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/9))))))) (*.f64 2/9 (*.f64 (*.f64 (-.f64 (*.f64 -1/2 (sin.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2)))) (-.f64 (cos.f64 eps) 1)) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 8)) 1/9))))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/9) (*.f64 (-.f64 (cos.f64 eps) 1) (+.f64 (*.f64 2/3 (*.f64 (-.f64 (*.f64 -1/2 (sin.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2)))) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/3))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2)))))))))) (pow.f64 x 3)) (+.f64 (*.f64 (+.f64 (*.f64 1/3 (*.f64 (-.f64 (*.f64 -1/2 (sin.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2)))) (pow.f64 1 1/3))) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2))) (*.f64 (pow.f64 (*.f64 1 (sin.f64 eps)) 1/3) (+.f64 (*.f64 2/3 (*.f64 (-.f64 (*.f64 -1/2 (sin.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2)))) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/3))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2))))))) (pow.f64 x 2)) (*.f64 (pow.f64 1 1/3) (sin.f64 eps))))) |
(fma.f64 (*.f64 (*.f64 (*.f64 (pow.f64 (pow.f64 (sin.f64 eps) 4) 1/18) (pow.f64 (pow.f64 (sin.f64 eps) 4) 1/18)) (+.f64 (cos.f64 eps) -1)) 1) x (fma.f64 (fma.f64 2/9 (*.f64 (-.f64 (*.f64 (sin.f64 eps) -1/2) (*.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (pow.f64 (+.f64 (cos.f64 eps) -1) 2)))) (*.f64 (+.f64 (cos.f64 eps) -1) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/18)))) (+.f64 (*.f64 1/3 (-.f64 (fma.f64 -1/6 (cos.f64 eps) 1/6) (fma.f64 1/27 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2))) (pow.f64 (+.f64 (cos.f64 eps) -1) 3)) (*.f64 2/3 (*.f64 (-.f64 (*.f64 (sin.f64 eps) -1/2) (*.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (pow.f64 (+.f64 (cos.f64 eps) -1) 2)))) (*.f64 (+.f64 (cos.f64 eps) -1) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/18)))))))) (fma.f64 (cbrt.f64 (sin.f64 eps)) (fma.f64 2/3 (*.f64 (cbrt.f64 (/.f64 1 (sin.f64 eps))) (-.f64 (fma.f64 -1/6 (cos.f64 eps) 1/6) (fma.f64 1/27 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2))) (pow.f64 (+.f64 (cos.f64 eps) -1) 3)) (*.f64 2/3 (*.f64 (-.f64 (*.f64 (sin.f64 eps) -1/2) (*.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (pow.f64 (+.f64 (cos.f64 eps) -1) 2)))) (*.f64 (+.f64 (cos.f64 eps) -1) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/18)))))))) (*.f64 2/9 (*.f64 (-.f64 (*.f64 (sin.f64 eps) -1/2) (*.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (pow.f64 (+.f64 (cos.f64 eps) -1) 2)))) (*.f64 (+.f64 (cos.f64 eps) -1) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 8)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 8)) 1/18)))))) (*.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/18)) (*.f64 (+.f64 (cos.f64 eps) -1) (fma.f64 2/3 (*.f64 (-.f64 (*.f64 (sin.f64 eps) -1/2) (*.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (pow.f64 (+.f64 (cos.f64 eps) -1) 2)))) (cbrt.f64 (/.f64 1 (sin.f64 eps)))) (*.f64 1/9 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/18))))))))))) (pow.f64 x 3) (fma.f64 (fma.f64 1/3 (*.f64 1 (-.f64 (*.f64 (sin.f64 eps) -1/2) (*.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (pow.f64 (+.f64 (cos.f64 eps) -1) 2))))) (fma.f64 2/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (pow.f64 (+.f64 (cos.f64 eps) -1) 2)) (*.f64 (cbrt.f64 (sin.f64 eps)) (fma.f64 2/3 (*.f64 (-.f64 (*.f64 (sin.f64 eps) -1/2) (*.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (pow.f64 (+.f64 (cos.f64 eps) -1) 2)))) (cbrt.f64 (/.f64 1 (sin.f64 eps)))) (*.f64 1/9 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/18)))))))) (*.f64 x x) (sin.f64 eps)))) |
(fma.f64 (*.f64 (*.f64 (pow.f64 (pow.f64 (sin.f64 eps) 4) 1/18) (pow.f64 (pow.f64 (sin.f64 eps) 4) 1/18)) (+.f64 (cos.f64 eps) -1)) x (fma.f64 (fma.f64 2/9 (*.f64 (fma.f64 (sin.f64 eps) -1/2 (*.f64 (*.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) -1/3)) (*.f64 (+.f64 (cos.f64 eps) -1) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/18)))) (fma.f64 1/3 (-.f64 (fma.f64 (cos.f64 eps) -1/6 1/6) (fma.f64 2/3 (*.f64 (fma.f64 (sin.f64 eps) -1/2 (*.f64 (*.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) -1/3)) (*.f64 (+.f64 (cos.f64 eps) -1) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/18)))) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2))) (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3) 1/27)))) (fma.f64 1/3 (*.f64 (+.f64 (cos.f64 eps) -1) (*.f64 (fma.f64 1/9 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/18))) (*.f64 2/3 (*.f64 (fma.f64 (sin.f64 eps) -1/2 (*.f64 (*.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) -1/3)) (cbrt.f64 (/.f64 1 (sin.f64 eps)))))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/18)))) (*.f64 (cbrt.f64 (sin.f64 eps)) (fma.f64 (*.f64 2/3 (cbrt.f64 (/.f64 1 (sin.f64 eps)))) (-.f64 (fma.f64 (cos.f64 eps) -1/6 1/6) (fma.f64 2/3 (*.f64 (fma.f64 (sin.f64 eps) -1/2 (*.f64 (*.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) -1/3)) (*.f64 (+.f64 (cos.f64 eps) -1) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/18)))) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2))) (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3) 1/27)))) (*.f64 (fma.f64 (sin.f64 eps) -1/2 (*.f64 (*.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) -1/3)) (*.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 8)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 8)) 1/18))) 2/9))))))) (pow.f64 x 3) (fma.f64 (fma.f64 1/3 (fma.f64 (sin.f64 eps) -1/2 (*.f64 (*.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) -1/3)) (fma.f64 (cbrt.f64 (sin.f64 eps)) (fma.f64 1/9 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/18))) (*.f64 2/3 (*.f64 (fma.f64 (sin.f64 eps) -1/2 (*.f64 (*.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) -1/3)) (cbrt.f64 (/.f64 1 (sin.f64 eps)))))) (*.f64 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) 2/9)))) (*.f64 x x) (sin.f64 eps)))) |
(fma.f64 (fma.f64 (fma.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) -1/3) (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (*.f64 (sin.f64 eps) -1/2)) (*.f64 2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/18) (*.f64 (+.f64 (cos.f64 eps) -1) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/18)))) (+.f64 (*.f64 (-.f64 (fma.f64 (cos.f64 eps) -1/6 1/6) (fma.f64 (fma.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) -1/3) (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (*.f64 (sin.f64 eps) -1/2)) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/18) (*.f64 (+.f64 (cos.f64 eps) -1) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/18)))) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2))) (*.f64 1/27 (pow.f64 (+.f64 (cos.f64 eps) -1) 3))))) (+.f64 1/3 (*.f64 (cbrt.f64 (sin.f64 eps)) (*.f64 2/3 (cbrt.f64 (/.f64 1 (sin.f64 eps))))))) (fma.f64 2/9 (*.f64 (cbrt.f64 (sin.f64 eps)) (*.f64 (+.f64 (cos.f64 eps) -1) (*.f64 (fma.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) -1/3) (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (*.f64 (sin.f64 eps) -1/2)) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 8)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 8)) 1/18))))) (*.f64 1/3 (*.f64 (fma.f64 1/9 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/18))) (*.f64 2/3 (*.f64 (fma.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) -1/3) (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (*.f64 (sin.f64 eps) -1/2)) (cbrt.f64 (/.f64 1 (sin.f64 eps)))))) (*.f64 (+.f64 (cos.f64 eps) -1) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/18)))))))) (pow.f64 x 3) (fma.f64 (fma.f64 1/3 (fma.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) -1/3) (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (*.f64 (sin.f64 eps) -1/2)) (fma.f64 2/3 (*.f64 (cbrt.f64 (sin.f64 eps)) (*.f64 (fma.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) -1/3) (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (*.f64 (sin.f64 eps) -1/2)) (cbrt.f64 (/.f64 1 (sin.f64 eps))))) (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (+.f64 (*.f64 (cbrt.f64 (sin.f64 eps)) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 4)) 1/18)))) (*.f64 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) 2/9))))) (*.f64 x x) (fma.f64 (*.f64 (*.f64 (pow.f64 (pow.f64 (sin.f64 eps) 4) 1/18) (pow.f64 (pow.f64 (sin.f64 eps) 4) 1/18)) (+.f64 (cos.f64 eps) -1)) x (sin.f64 eps)))) |
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) |
(*.f64 1 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) |
(*.f64 1 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) |
(*.f64 1 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) |
(*.f64 1 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))) |
(*.f64 1 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))) |
(*.f64 1 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))) |
(*.f64 1 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x))) |
(*.f64 1 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) |
(*.f64 1 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) |
(*.f64 1 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) |
(*.f64 1 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) |
(*.f64 1 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x))) |
(*.f64 1 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x))) |
(*.f64 1 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x))) |
(*.f64 1 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(*.f64 (pow.f64 1 1/3) (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x))) |
(*.f64 1 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) |
(-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) |
(pow.f64 (sin.f64 eps) 1/3) |
(cbrt.f64 (sin.f64 eps)) |
(+.f64 (pow.f64 (sin.f64 eps) 1/3) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/9) (*.f64 (-.f64 (cos.f64 eps) 1) x)))) |
(+.f64 (cbrt.f64 (sin.f64 eps)) (*.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/18)) (*.f64 (+.f64 (cos.f64 eps) -1) x)))) |
(fma.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/18) (*.f64 (+.f64 (cos.f64 eps) -1) x))) (cbrt.f64 (sin.f64 eps))) |
(fma.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/18)) (fma.f64 (cos.f64 eps) x (neg.f64 x))) (cbrt.f64 (sin.f64 eps))) |
(+.f64 (*.f64 1/3 (*.f64 (*.f64 (-.f64 (*.f64 -1/2 (sin.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2)))) (pow.f64 x 2)) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/3))) (+.f64 (pow.f64 (sin.f64 eps) 1/3) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/9) (*.f64 (-.f64 (cos.f64 eps) 1) x))))) |
(fma.f64 1/3 (*.f64 (-.f64 (*.f64 (sin.f64 eps) -1/2) (*.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (pow.f64 (+.f64 (cos.f64 eps) -1) 2)))) (*.f64 (*.f64 x x) (cbrt.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2))))) (+.f64 (cbrt.f64 (sin.f64 eps)) (*.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/18)) (*.f64 (+.f64 (cos.f64 eps) -1) x))))) |
(fma.f64 1/3 (*.f64 (fma.f64 (sin.f64 eps) -1/2 (*.f64 (*.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) -1/3)) (*.f64 (*.f64 x x) (cbrt.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2))))) (fma.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/18) (*.f64 (+.f64 (cos.f64 eps) -1) x))) (cbrt.f64 (sin.f64 eps)))) |
(fma.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/18)) (fma.f64 (cos.f64 eps) x (neg.f64 x))) (fma.f64 (*.f64 1/3 (fma.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) -1/3) (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (*.f64 (sin.f64 eps) -1/2))) (*.f64 (*.f64 x x) (cbrt.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)))) (cbrt.f64 (sin.f64 eps)))) |
(+.f64 (*.f64 1/3 (*.f64 (*.f64 (-.f64 (*.f64 -1/2 (sin.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2)))) (pow.f64 x 2)) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/3))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/3) (*.f64 (-.f64 (+.f64 (*.f64 -1/6 (cos.f64 eps)) 1/6) (+.f64 (*.f64 1/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/3) (pow.f64 (-.f64 (cos.f64 eps) 1) 3))) (*.f64 2/3 (*.f64 (*.f64 (-.f64 (*.f64 -1/2 (sin.f64 eps)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/9) (pow.f64 (-.f64 (cos.f64 eps) 1) 2)))) (-.f64 (cos.f64 eps) 1)) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/9))))) (pow.f64 x 3)))) (+.f64 (pow.f64 (sin.f64 eps) 1/3) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/9) (*.f64 (-.f64 (cos.f64 eps) 1) x)))))) |
(fma.f64 1/3 (*.f64 (-.f64 (*.f64 (sin.f64 eps) -1/2) (*.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (pow.f64 (+.f64 (cos.f64 eps) -1) 2)))) (*.f64 (*.f64 x x) (cbrt.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2))))) (fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2))) (*.f64 (-.f64 (fma.f64 -1/6 (cos.f64 eps) 1/6) (fma.f64 1/27 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2))) (pow.f64 (+.f64 (cos.f64 eps) -1) 3)) (*.f64 2/3 (*.f64 (-.f64 (*.f64 (sin.f64 eps) -1/2) (*.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (pow.f64 (+.f64 (cos.f64 eps) -1) 2)))) (*.f64 (+.f64 (cos.f64 eps) -1) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/18))))))) (pow.f64 x 3))) (+.f64 (cbrt.f64 (sin.f64 eps)) (*.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/18)) (*.f64 (+.f64 (cos.f64 eps) -1) x)))))) |
(fma.f64 1/3 (*.f64 (fma.f64 (sin.f64 eps) -1/2 (*.f64 (*.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) -1/3)) (*.f64 (*.f64 x x) (cbrt.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2))))) (fma.f64 1/3 (*.f64 (-.f64 (fma.f64 (cos.f64 eps) -1/6 1/6) (fma.f64 2/3 (*.f64 (fma.f64 (sin.f64 eps) -1/2 (*.f64 (*.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) -1/3)) (*.f64 (+.f64 (cos.f64 eps) -1) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/18)))) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2))) (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 3) 1/27)))) (*.f64 (pow.f64 x 3) (cbrt.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2))))) (fma.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/18) (*.f64 (+.f64 (cos.f64 eps) -1) x))) (cbrt.f64 (sin.f64 eps))))) |
(fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2))) (+.f64 (*.f64 (fma.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) -1/3) (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (*.f64 (sin.f64 eps) -1/2)) (*.f64 x x)) (*.f64 (-.f64 (fma.f64 (cos.f64 eps) -1/6 1/6) (fma.f64 (fma.f64 (*.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) -1/3) (*.f64 (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18) (pow.f64 (/.f64 1 (sin.f64 eps)) 1/18)) (*.f64 (sin.f64 eps) -1/2)) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/18) (*.f64 (+.f64 (cos.f64 eps) -1) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 5)) 1/18)))) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2))) (*.f64 1/27 (pow.f64 (+.f64 (cos.f64 eps) -1) 3))))) (pow.f64 x 3)))) (fma.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sin.f64 eps) 2)) 1/18)) (fma.f64 (cos.f64 eps) x (neg.f64 x))) (cbrt.f64 (sin.f64 eps)))) |
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 1/3) |
(cbrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) |
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 1/3) |
(cbrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) |
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 1/3) |
(cbrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) |
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 1/3) |
(cbrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) |
(pow.f64 (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)) 1/3) |
(cbrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) |
(pow.f64 (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)) 1/3) |
(cbrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) |
(pow.f64 (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)) 1/3) |
(cbrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) |
(pow.f64 (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)) 1/3) |
(cbrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) |
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 1/3) |
(cbrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) |
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 1/3) |
(cbrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) |
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 1/3) |
(cbrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) |
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 1/3) |
(cbrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) |
(pow.f64 (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)) 1/3) |
(cbrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) |
(pow.f64 (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)) 1/3) |
(cbrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) |
(pow.f64 (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)) 1/3) |
(cbrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) |
(pow.f64 (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)) 1/3) |
(cbrt.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x))) |
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (sqrt.f64 (cos.f64 x)) |
| ✓ | 0.0b | (fma.f64 (*.f64 eps (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x)) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))) |
| ✓ | 0.1b | (*.f64 eps (sqrt.f64 (cos.f64 x))) |
| ✓ | 4.4b | (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)) |
Compiled 49 to 17 computations (65.3% saved)
21 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 6.0ms | eps | @ | -inf | (*.f64 eps (sqrt.f64 (cos.f64 x))) |
| 1.0ms | x | @ | inf | (*.f64 eps (sqrt.f64 (cos.f64 x))) |
| 1.0ms | eps | @ | 0 | (*.f64 eps (sqrt.f64 (cos.f64 x))) |
| 1.0ms | x | @ | -inf | (fma.f64 (*.f64 eps (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x)) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))) |
| 1.0ms | x | @ | -inf | (*.f64 eps (sqrt.f64 (cos.f64 x))) |
| 1× | batch-egg-rewrite |
| 598× | log-prod_binary64 |
| 415× | pow-prod-down_binary64 |
| 305× | pow2_binary64 |
| 294× | prod-diff_binary64 |
| 233× | pow-unpow_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 52 |
| 1 | 242 | 45 |
| 2 | 2877 | 43 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)) |
(*.f64 eps (sqrt.f64 (cos.f64 x))) |
(fma.f64 (*.f64 eps (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x)) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))) |
(sqrt.f64 (cos.f64 x)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 eps (*.f64 eps (*.f64 (sin.f64 x) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 -1/2) (*.f64 (*.f64 eps eps) (sin.f64 x)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 -1/2) (*.f64 (*.f64 eps eps) (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 -1/2) (*.f64 (*.f64 eps eps) (sin.f64 x))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 -1/2) (*.f64 (*.f64 eps eps) (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 eps (*.f64 eps (*.f64 (sin.f64 x) -1/2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 eps (*.f64 eps (*.f64 (sin.f64 x) -1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 eps (sqrt.f64 (*.f64 (sin.f64 x) -1/2))) 4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 eps (sqrt.f64 (*.f64 (sin.f64 x) -1/2))) 6) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 eps (*.f64 eps (*.f64 (sin.f64 x) -1/2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 eps (sqrt.f64 (*.f64 (sin.f64 x) -1/2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 eps (sqrt.f64 (*.f64 (sin.f64 x) -1/2))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 -1/2) (*.f64 (*.f64 eps eps) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 eps (*.f64 eps (*.f64 (sin.f64 x) -1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 eps (sqrt.f64 (*.f64 (sin.f64 x) -1/2))) 6))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 eps (*.f64 eps (*.f64 (sin.f64 x) -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 eps (*.f64 eps (*.f64 (sin.f64 x) -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 eps (*.f64 eps (*.f64 (sin.f64 x) -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 eps (*.f64 eps (*.f64 (sin.f64 x) -1/2)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 eps (sqrt.f64 (*.f64 (sin.f64 x) -1/2))) 6)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 eps (*.f64 eps (*.f64 (sin.f64 x) -1/2))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 eps (sqrt.f64 (*.f64 (sin.f64 x) -1/2)))) 2)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 eps (sqrt.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 eps) (sqrt.f64 (cos.f64 x)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 eps) (sqrt.f64 (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 eps) (sqrt.f64 (cos.f64 x))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 eps) (sqrt.f64 (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 eps (sqrt.f64 (cos.f64 x))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 eps (sqrt.f64 (cos.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 eps (sqrt.f64 (cos.f64 x))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 eps (sqrt.f64 (cos.f64 x)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 eps (sqrt.f64 (cos.f64 x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 eps (*.f64 eps (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 eps) (sqrt.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 eps (sqrt.f64 (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 eps (sqrt.f64 (cos.f64 x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 eps (sqrt.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 eps (sqrt.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 eps (sqrt.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 eps (sqrt.f64 (cos.f64 x)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 eps (sqrt.f64 (cos.f64 x))) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 eps (sqrt.f64 (cos.f64 x))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 eps (sqrt.f64 (cos.f64 x))))) 2)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 eps (*.f64 eps (*.f64 (sin.f64 x) -1/2))) (*.f64 eps (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 eps (cos.f64 x)) (*.f64 eps (*.f64 eps (*.f64 (sin.f64 x) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2) (*.f64 eps (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 eps (cos.f64 x)) 1) (*.f64 eps (*.f64 eps (*.f64 (sin.f64 x) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2) (*.f64 eps (cos.f64 x))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2) (*.f64 eps (cos.f64 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2) (*.f64 eps (cos.f64 x)))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2) (*.f64 eps (cos.f64 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2) (*.f64 eps (cos.f64 x))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2) (*.f64 eps (cos.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2) (*.f64 eps (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2) (*.f64 eps (cos.f64 x)))) (cbrt.f64 (pow.f64 (fma.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2) (*.f64 eps (cos.f64 x))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2) (*.f64 eps (cos.f64 x))) 2)) (cbrt.f64 (fma.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2) (*.f64 eps (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2) (*.f64 eps (cos.f64 x)))) (sqrt.f64 (fma.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2) (*.f64 eps (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 eps (cos.f64 x)) 3) (pow.f64 (*.f64 eps (sqrt.f64 (*.f64 (sin.f64 x) -1/2))) 6)) (+.f64 (pow.f64 (*.f64 eps (cos.f64 x)) 2) (-.f64 (pow.f64 (*.f64 eps (sqrt.f64 (*.f64 (sin.f64 x) -1/2))) 4) (*.f64 (*.f64 eps (cos.f64 x)) (*.f64 eps (*.f64 eps (*.f64 (sin.f64 x) -1/2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 eps (cos.f64 x)) 2) (pow.f64 (*.f64 eps (sqrt.f64 (*.f64 (sin.f64 x) -1/2))) 4)) (-.f64 (*.f64 eps (cos.f64 x)) (*.f64 eps (*.f64 eps (*.f64 (sin.f64 x) -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2) (*.f64 eps (cos.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2) (*.f64 eps (cos.f64 x))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2) (*.f64 eps (cos.f64 x))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2) (*.f64 eps (cos.f64 x)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2) (*.f64 eps (cos.f64 x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2) (*.f64 eps (cos.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2) (*.f64 eps (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2) (*.f64 eps (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 -1/2) (*.f64 (*.f64 eps eps) (sin.f64 x))) (exp.f64 (*.f64 eps (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 eps (*.f64 eps (*.f64 (sin.f64 x) -1/2))))) (exp.f64 (*.f64 eps (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 eps (cos.f64 x))) (+.f64 1 (expm1.f64 (*.f64 eps (*.f64 eps (*.f64 (sin.f64 x) -1/2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2) (*.f64 eps (cos.f64 x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2) (*.f64 eps (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2) (*.f64 eps (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2) (*.f64 eps (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2) (*.f64 eps (cos.f64 x)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2) (*.f64 eps (cos.f64 x))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2) (*.f64 eps (cos.f64 x))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2) (*.f64 eps (cos.f64 x))))) 2)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (cos.f64 x)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (cos.f64 x))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (cos.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (cos.f64 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cos.f64 x)) (pow.f64 (cos.f64 x) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cos.f64 x) 1/6) (cbrt.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cos.f64 x) 1/4) (pow.f64 (cos.f64 x) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cos.f64 x) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (cos.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 x) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 x) 3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 x) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cos.f64 x)) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 x) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 x) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (cos.f64 x) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cos.f64 x)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (cos.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/2 (log.f64 (cos.f64 x))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (cos.f64 x) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (cos.f64 x) 1/4)) 2)))))) |
| 1× | egg-herbie |
| 833× | distribute-lft-out_binary64 |
| 683× | *-commutative_binary64 |
| 502× | sqr-pow_binary64 |
| 413× | fma-def_binary64 |
| 404× | distribute-rgt-out_binary64 |
Useful iterations: 7 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 74 | 1015 |
| 1 | 195 | 1009 |
| 2 | 536 | 983 |
| 3 | 1952 | 943 |
| 4 | 3761 | 943 |
| 5 | 4031 | 943 |
| 6 | 4261 | 943 |
| 7 | 4537 | 942 |
| 8 | 4949 | 942 |
| 9 | 5260 | 942 |
| 10 | 6870 | 942 |
| 11 | 7272 | 942 |
| 12 | 7746 | 942 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 1/12 (*.f64 (pow.f64 eps 2) (pow.f64 x 3)))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (+.f64 (*.f64 -1/240 (*.f64 (pow.f64 eps 2) (pow.f64 x 5))) (*.f64 1/12 (*.f64 (pow.f64 eps 2) (pow.f64 x 3))))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (+.f64 (*.f64 -1/240 (*.f64 (pow.f64 eps 2) (pow.f64 x 5))) (+.f64 (*.f64 1/10080 (*.f64 (pow.f64 eps 2) (pow.f64 x 7))) (*.f64 1/12 (*.f64 (pow.f64 eps 2) (pow.f64 x 3)))))) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))) |
(*.f64 (sqrt.f64 (cos.f64 x)) eps) |
(*.f64 (sqrt.f64 (cos.f64 x)) eps) |
(*.f64 (sqrt.f64 (cos.f64 x)) eps) |
(*.f64 (sqrt.f64 (cos.f64 x)) eps) |
(*.f64 (sqrt.f64 (cos.f64 x)) eps) |
(*.f64 (sqrt.f64 (cos.f64 x)) eps) |
(*.f64 (sqrt.f64 (cos.f64 x)) eps) |
(*.f64 (sqrt.f64 (cos.f64 x)) eps) |
(*.f64 (sqrt.f64 (cos.f64 x)) eps) |
(*.f64 (sqrt.f64 (cos.f64 x)) eps) |
(*.f64 (sqrt.f64 (cos.f64 x)) eps) |
(*.f64 (sqrt.f64 (cos.f64 x)) eps) |
eps |
(+.f64 eps (*.f64 -1/4 (*.f64 eps (pow.f64 x 2)))) |
(+.f64 eps (+.f64 (*.f64 -1/96 (*.f64 eps (pow.f64 x 4))) (*.f64 -1/4 (*.f64 eps (pow.f64 x 2))))) |
(+.f64 (*.f64 -19/5760 (*.f64 eps (pow.f64 x 6))) (+.f64 eps (+.f64 (*.f64 -1/96 (*.f64 eps (pow.f64 x 4))) (*.f64 -1/4 (*.f64 eps (pow.f64 x 2)))))) |
(*.f64 (sqrt.f64 (cos.f64 x)) eps) |
(*.f64 (sqrt.f64 (cos.f64 x)) eps) |
(*.f64 (sqrt.f64 (cos.f64 x)) eps) |
(*.f64 (sqrt.f64 (cos.f64 x)) eps) |
(*.f64 (cos.f64 x) eps) |
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))) |
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))) |
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
eps |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) eps) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (+.f64 eps (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (+.f64 eps (+.f64 (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) (*.f64 1/12 (*.f64 (pow.f64 eps 2) (pow.f64 x 3)))))) |
(+.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 (pow.f64 eps 2) (sin.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 (pow.f64 eps 2) (sin.f64 x)))) |
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
1 |
(+.f64 1 (*.f64 -1/4 (pow.f64 x 2))) |
(+.f64 1 (+.f64 (*.f64 -1/4 (pow.f64 x 2)) (*.f64 -1/96 (pow.f64 x 4)))) |
(+.f64 1 (+.f64 (*.f64 -1/4 (pow.f64 x 2)) (+.f64 (*.f64 -1/96 (pow.f64 x 4)) (*.f64 -19/5760 (pow.f64 x 6))))) |
| Outputs |
|---|
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))) |
(*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))) |
(*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)) |
(*.f64 -1/2 (*.f64 eps (*.f64 eps (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 eps eps) (*.f64 (sin.f64 x) -1/2)) |
(*.f64 -1/2 (*.f64 eps (*.f64 eps (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 eps eps) (*.f64 (sin.f64 x) -1/2)) |
(*.f64 -1/2 (*.f64 eps (*.f64 eps (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 eps eps) (*.f64 (sin.f64 x) -1/2)) |
(*.f64 -1/2 (*.f64 eps (*.f64 eps (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 eps eps) (*.f64 (sin.f64 x) -1/2)) |
(*.f64 -1/2 (*.f64 eps (*.f64 eps (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 eps eps) (*.f64 (sin.f64 x) -1/2)) |
(*.f64 -1/2 (*.f64 eps (*.f64 eps (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 eps eps) (*.f64 (sin.f64 x) -1/2)) |
(*.f64 -1/2 (*.f64 eps (*.f64 eps (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 eps eps) (*.f64 (sin.f64 x) -1/2)) |
(*.f64 -1/2 (*.f64 eps (*.f64 eps (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 eps eps) (*.f64 (sin.f64 x) -1/2)) |
(*.f64 -1/2 (*.f64 eps (*.f64 eps (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 eps eps) (*.f64 (sin.f64 x) -1/2)) |
(*.f64 -1/2 (*.f64 eps (*.f64 eps (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 eps eps) (*.f64 (sin.f64 x) -1/2)) |
(*.f64 -1/2 (*.f64 eps (*.f64 eps (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 eps eps) (*.f64 (sin.f64 x) -1/2)) |
(*.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x)))) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x)) |
(*.f64 -1/2 (*.f64 eps (*.f64 eps x))) |
(*.f64 eps (*.f64 x (*.f64 -1/2 eps))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 1/12 (*.f64 (pow.f64 eps 2) (pow.f64 x 3)))) |
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) (*.f64 1/12 (*.f64 (*.f64 eps eps) (pow.f64 x 3)))) |
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) (*.f64 (pow.f64 x 3) (*.f64 (*.f64 eps eps) 1/12))) |
(*.f64 (*.f64 eps eps) (+.f64 (*.f64 -1/2 x) (*.f64 1/12 (pow.f64 x 3)))) |
(*.f64 x (*.f64 (*.f64 eps eps) (+.f64 -1/2 (*.f64 1/12 (*.f64 x x))))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (+.f64 (*.f64 -1/240 (*.f64 (pow.f64 eps 2) (pow.f64 x 5))) (*.f64 1/12 (*.f64 (pow.f64 eps 2) (pow.f64 x 3))))) |
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) (fma.f64 -1/240 (*.f64 (*.f64 eps eps) (pow.f64 x 5)) (*.f64 1/12 (*.f64 (*.f64 eps eps) (pow.f64 x 3))))) |
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) (fma.f64 -1/240 (*.f64 eps (*.f64 eps (pow.f64 x 5))) (*.f64 (pow.f64 x 3) (*.f64 (*.f64 eps eps) 1/12)))) |
(fma.f64 (*.f64 eps eps) (*.f64 -1/240 (pow.f64 x 5)) (*.f64 (*.f64 eps eps) (+.f64 (*.f64 -1/2 x) (*.f64 1/12 (pow.f64 x 3))))) |
(*.f64 (*.f64 eps eps) (+.f64 (*.f64 -1/2 x) (+.f64 (*.f64 -1/240 (pow.f64 x 5)) (*.f64 1/12 (pow.f64 x 3))))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (+.f64 (*.f64 -1/240 (*.f64 (pow.f64 eps 2) (pow.f64 x 5))) (+.f64 (*.f64 1/10080 (*.f64 (pow.f64 eps 2) (pow.f64 x 7))) (*.f64 1/12 (*.f64 (pow.f64 eps 2) (pow.f64 x 3)))))) |
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) (fma.f64 -1/240 (*.f64 (*.f64 eps eps) (pow.f64 x 5)) (fma.f64 1/10080 (*.f64 (*.f64 eps eps) (pow.f64 x 7)) (*.f64 1/12 (*.f64 (*.f64 eps eps) (pow.f64 x 3)))))) |
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) (fma.f64 -1/240 (*.f64 eps (*.f64 eps (pow.f64 x 5))) (fma.f64 1/10080 (*.f64 (*.f64 eps eps) (pow.f64 x 7)) (*.f64 (pow.f64 x 3) (*.f64 (*.f64 eps eps) 1/12))))) |
(+.f64 (*.f64 (*.f64 eps eps) (+.f64 (*.f64 1/12 (pow.f64 x 3)) (*.f64 1/10080 (pow.f64 x 7)))) (*.f64 (*.f64 eps eps) (+.f64 (*.f64 -1/2 x) (*.f64 -1/240 (pow.f64 x 5))))) |
(*.f64 (*.f64 eps eps) (+.f64 (+.f64 (*.f64 -1/2 x) (*.f64 1/12 (pow.f64 x 3))) (+.f64 (*.f64 1/10080 (pow.f64 x 7)) (*.f64 -1/240 (pow.f64 x 5))))) |
(*.f64 (*.f64 eps eps) (+.f64 (*.f64 1/10080 (pow.f64 x 7)) (+.f64 (*.f64 -1/2 x) (+.f64 (*.f64 -1/240 (pow.f64 x 5)) (*.f64 1/12 (pow.f64 x 3)))))) |
(*.f64 (*.f64 eps eps) (+.f64 (*.f64 -1/240 (pow.f64 x 5)) (+.f64 (*.f64 1/10080 (pow.f64 x 7)) (+.f64 (*.f64 -1/2 x) (*.f64 1/12 (pow.f64 x 3)))))) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))) |
(*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))) |
(*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)) |
(*.f64 -1/2 (*.f64 eps (*.f64 eps (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 eps eps) (*.f64 (sin.f64 x) -1/2)) |
(*.f64 -1/2 (*.f64 eps (*.f64 eps (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 eps eps) (*.f64 (sin.f64 x) -1/2)) |
(*.f64 -1/2 (*.f64 eps (*.f64 eps (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 eps eps) (*.f64 (sin.f64 x) -1/2)) |
(*.f64 -1/2 (*.f64 eps (*.f64 eps (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 eps eps) (*.f64 (sin.f64 x) -1/2)) |
(*.f64 -1/2 (*.f64 eps (*.f64 eps (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 eps eps) (*.f64 (sin.f64 x) -1/2)) |
(*.f64 -1/2 (*.f64 eps (*.f64 eps (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 eps eps) (*.f64 (sin.f64 x) -1/2)) |
(*.f64 -1/2 (*.f64 eps (*.f64 eps (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 eps eps) (*.f64 (sin.f64 x) -1/2)) |
(*.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x)))) |
(*.f64 (sqrt.f64 (cos.f64 x)) eps) |
(*.f64 eps (sqrt.f64 (cos.f64 x))) |
(*.f64 (sqrt.f64 (cos.f64 x)) eps) |
(*.f64 eps (sqrt.f64 (cos.f64 x))) |
(*.f64 (sqrt.f64 (cos.f64 x)) eps) |
(*.f64 eps (sqrt.f64 (cos.f64 x))) |
(*.f64 (sqrt.f64 (cos.f64 x)) eps) |
(*.f64 eps (sqrt.f64 (cos.f64 x))) |
(*.f64 (sqrt.f64 (cos.f64 x)) eps) |
(*.f64 eps (sqrt.f64 (cos.f64 x))) |
(*.f64 (sqrt.f64 (cos.f64 x)) eps) |
(*.f64 eps (sqrt.f64 (cos.f64 x))) |
(*.f64 (sqrt.f64 (cos.f64 x)) eps) |
(*.f64 eps (sqrt.f64 (cos.f64 x))) |
(*.f64 (sqrt.f64 (cos.f64 x)) eps) |
(*.f64 eps (sqrt.f64 (cos.f64 x))) |
(*.f64 (sqrt.f64 (cos.f64 x)) eps) |
(*.f64 eps (sqrt.f64 (cos.f64 x))) |
(*.f64 (sqrt.f64 (cos.f64 x)) eps) |
(*.f64 eps (sqrt.f64 (cos.f64 x))) |
(*.f64 (sqrt.f64 (cos.f64 x)) eps) |
(*.f64 eps (sqrt.f64 (cos.f64 x))) |
(*.f64 (sqrt.f64 (cos.f64 x)) eps) |
(*.f64 eps (sqrt.f64 (cos.f64 x))) |
eps |
(+.f64 eps (*.f64 -1/4 (*.f64 eps (pow.f64 x 2)))) |
(+.f64 eps (*.f64 -1/4 (*.f64 eps (*.f64 x x)))) |
(fma.f64 -1/4 (*.f64 eps (*.f64 x x)) eps) |
(*.f64 (fma.f64 -1/4 (*.f64 x x) 1) eps) |
(*.f64 eps (fma.f64 x (*.f64 x -1/4) 1)) |
(+.f64 eps (+.f64 (*.f64 -1/96 (*.f64 eps (pow.f64 x 4))) (*.f64 -1/4 (*.f64 eps (pow.f64 x 2))))) |
(+.f64 eps (fma.f64 -1/96 (*.f64 eps (pow.f64 x 4)) (*.f64 -1/4 (*.f64 eps (*.f64 x x))))) |
(+.f64 (fma.f64 -1/4 (*.f64 eps (*.f64 x x)) eps) (*.f64 (pow.f64 x 4) (*.f64 eps -1/96))) |
(+.f64 eps (*.f64 eps (fma.f64 x (*.f64 x -1/4) (*.f64 -1/96 (pow.f64 x 4))))) |
(*.f64 eps (fma.f64 x (*.f64 x -1/4) (fma.f64 -1/96 (pow.f64 x 4) 1))) |
(+.f64 (*.f64 -19/5760 (*.f64 eps (pow.f64 x 6))) (+.f64 eps (+.f64 (*.f64 -1/96 (*.f64 eps (pow.f64 x 4))) (*.f64 -1/4 (*.f64 eps (pow.f64 x 2)))))) |
(fma.f64 -19/5760 (*.f64 eps (pow.f64 x 6)) (+.f64 eps (fma.f64 -1/96 (*.f64 eps (pow.f64 x 4)) (*.f64 -1/4 (*.f64 eps (*.f64 x x)))))) |
(+.f64 (fma.f64 -1/4 (*.f64 eps (*.f64 x x)) (*.f64 (pow.f64 x 4) (*.f64 eps -1/96))) (fma.f64 (*.f64 eps -19/5760) (pow.f64 x 6) eps)) |
(+.f64 eps (fma.f64 eps (*.f64 -19/5760 (pow.f64 x 6)) (*.f64 eps (fma.f64 x (*.f64 x -1/4) (*.f64 -1/96 (pow.f64 x 4)))))) |
(+.f64 eps (*.f64 eps (fma.f64 x (*.f64 x -1/4) (fma.f64 -1/96 (pow.f64 x 4) (*.f64 -19/5760 (pow.f64 x 6)))))) |
(*.f64 eps (+.f64 1 (fma.f64 x (*.f64 x -1/4) (fma.f64 -1/96 (pow.f64 x 4) (*.f64 -19/5760 (pow.f64 x 6)))))) |
(+.f64 eps (*.f64 (fma.f64 x (*.f64 x -1/4) (fma.f64 -1/96 (pow.f64 x 4) (*.f64 -19/5760 (pow.f64 x 6)))) eps)) |
(*.f64 eps (+.f64 (fma.f64 x (*.f64 x -1/4) 1) (fma.f64 -19/5760 (pow.f64 x 6) (*.f64 -1/96 (pow.f64 x 4))))) |
(*.f64 (sqrt.f64 (cos.f64 x)) eps) |
(*.f64 eps (sqrt.f64 (cos.f64 x))) |
(*.f64 (sqrt.f64 (cos.f64 x)) eps) |
(*.f64 eps (sqrt.f64 (cos.f64 x))) |
(*.f64 (sqrt.f64 (cos.f64 x)) eps) |
(*.f64 eps (sqrt.f64 (cos.f64 x))) |
(*.f64 (sqrt.f64 (cos.f64 x)) eps) |
(*.f64 eps (sqrt.f64 (cos.f64 x))) |
(*.f64 (cos.f64 x) eps) |
(*.f64 eps (cos.f64 x)) |
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (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))) |
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 eps (cos.f64 x))) |
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (cos.f64 x))) |
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 -1/2 eps)))) |
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (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))) |
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 eps (cos.f64 x))) |
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (cos.f64 x))) |
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 -1/2 eps)))) |
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (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))) |
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 eps (cos.f64 x))) |
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (cos.f64 x))) |
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 -1/2 eps)))) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))) |
(*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))) |
(*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)) |
(*.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x)))) |
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (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))) |
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 eps (cos.f64 x))) |
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (cos.f64 x))) |
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 -1/2 eps)))) |
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (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))) |
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 eps (cos.f64 x))) |
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (cos.f64 x))) |
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 -1/2 eps)))) |
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (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))) |
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 eps (cos.f64 x))) |
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (cos.f64 x))) |
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 -1/2 eps)))) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))) |
(*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))) |
(*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)) |
(*.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x)))) |
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (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))) |
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 eps (cos.f64 x))) |
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (cos.f64 x))) |
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 -1/2 eps)))) |
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (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))) |
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 eps (cos.f64 x))) |
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (cos.f64 x))) |
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 -1/2 eps)))) |
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (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))) |
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 eps (cos.f64 x))) |
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (cos.f64 x))) |
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 -1/2 eps)))) |
eps |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) eps) |
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) eps) |
(fma.f64 (*.f64 -1/2 (*.f64 eps eps)) x eps) |
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) eps) |
(fma.f64 (*.f64 eps eps) (*.f64 -1/2 x) eps) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (+.f64 eps (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))) |
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) (+.f64 eps (*.f64 -1/2 (*.f64 eps (*.f64 x x))))) |
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) (fma.f64 (*.f64 -1/2 eps) (*.f64 x x) eps)) |
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) (fma.f64 -1/2 (*.f64 eps (*.f64 x x)) eps)) |
(+.f64 eps (*.f64 x (*.f64 (*.f64 -1/2 eps) (+.f64 eps x)))) |
(+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 (+.f64 eps x))))) |
(+.f64 eps (*.f64 -1/2 (*.f64 x (*.f64 eps (+.f64 eps x))))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (+.f64 eps (+.f64 (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) (*.f64 1/12 (*.f64 (pow.f64 eps 2) (pow.f64 x 3)))))) |
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) (+.f64 eps (fma.f64 -1/2 (*.f64 eps (*.f64 x x)) (*.f64 1/12 (*.f64 (*.f64 eps eps) (pow.f64 x 3)))))) |
(+.f64 (fma.f64 (*.f64 -1/2 (*.f64 eps eps)) x eps) (fma.f64 -1/2 (*.f64 eps (*.f64 x x)) (*.f64 (pow.f64 x 3) (*.f64 (*.f64 eps eps) 1/12)))) |
(+.f64 (*.f64 (*.f64 eps eps) (+.f64 (*.f64 -1/2 x) (*.f64 1/12 (pow.f64 x 3)))) (fma.f64 -1/2 (*.f64 eps (*.f64 x x)) eps)) |
(+.f64 (*.f64 x (*.f64 (*.f64 -1/2 eps) (+.f64 eps x))) (fma.f64 (*.f64 eps eps) (*.f64 1/12 (pow.f64 x 3)) eps)) |
(+.f64 (*.f64 eps (*.f64 x (*.f64 -1/2 (+.f64 eps x)))) (fma.f64 (*.f64 eps eps) (*.f64 1/12 (pow.f64 x 3)) eps)) |
(+.f64 eps (*.f64 eps (+.f64 (*.f64 (pow.f64 x 3) (*.f64 eps 1/12)) (*.f64 x (*.f64 -1/2 (+.f64 eps x)))))) |
(*.f64 eps (+.f64 1 (+.f64 (*.f64 (pow.f64 x 3) (*.f64 eps 1/12)) (*.f64 -1/2 (*.f64 x (+.f64 eps x)))))) |
(+.f64 (*.f64 eps (cos.f64 x)) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (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))) |
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 eps (cos.f64 x))) |
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (cos.f64 x))) |
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 -1/2 eps)))) |
(+.f64 (*.f64 eps (cos.f64 x)) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (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))) |
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 eps (cos.f64 x))) |
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (cos.f64 x))) |
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 -1/2 eps)))) |
(+.f64 (*.f64 eps (cos.f64 x)) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (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))) |
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 eps (cos.f64 x))) |
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (cos.f64 x))) |
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 -1/2 eps)))) |
(+.f64 (*.f64 eps (cos.f64 x)) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (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))) |
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 eps (cos.f64 x))) |
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (cos.f64 x))) |
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 -1/2 eps)))) |
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (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))) |
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 eps (cos.f64 x))) |
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (cos.f64 x))) |
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 -1/2 eps)))) |
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (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))) |
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 eps (cos.f64 x))) |
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (cos.f64 x))) |
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 -1/2 eps)))) |
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (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))) |
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 eps (cos.f64 x))) |
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (cos.f64 x))) |
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 -1/2 eps)))) |
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (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))) |
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 eps (cos.f64 x))) |
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (cos.f64 x))) |
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 -1/2 eps)))) |
1 |
(+.f64 1 (*.f64 -1/4 (pow.f64 x 2))) |
(+.f64 1 (*.f64 -1/4 (*.f64 x x))) |
(fma.f64 -1/4 (*.f64 x x) 1) |
(fma.f64 x (*.f64 x -1/4) 1) |
(+.f64 1 (+.f64 (*.f64 -1/4 (pow.f64 x 2)) (*.f64 -1/96 (pow.f64 x 4)))) |
(+.f64 1 (fma.f64 -1/4 (*.f64 x x) (*.f64 -1/96 (pow.f64 x 4)))) |
(+.f64 (fma.f64 -1/4 (*.f64 x x) 1) (*.f64 -1/96 (pow.f64 x 4))) |
(fma.f64 x (*.f64 x -1/4) (fma.f64 -1/96 (pow.f64 x 4) 1)) |
(+.f64 1 (+.f64 (*.f64 -1/4 (pow.f64 x 2)) (+.f64 (*.f64 -1/96 (pow.f64 x 4)) (*.f64 -19/5760 (pow.f64 x 6))))) |
(+.f64 1 (fma.f64 -1/4 (*.f64 x x) (fma.f64 -1/96 (pow.f64 x 4) (*.f64 -19/5760 (pow.f64 x 6))))) |
(+.f64 (fma.f64 -1/4 (*.f64 x x) 1) (fma.f64 -1/96 (pow.f64 x 4) (*.f64 -19/5760 (pow.f64 x 6)))) |
(+.f64 (fma.f64 -1/4 (*.f64 x x) 1) (fma.f64 -19/5760 (pow.f64 x 6) (*.f64 -1/96 (pow.f64 x 4)))) |
(+.f64 1 (fma.f64 x (*.f64 x -1/4) (fma.f64 -1/96 (pow.f64 x 4) (*.f64 -19/5760 (pow.f64 x 6))))) |
(+.f64 (fma.f64 x (*.f64 x -1/4) 1) (fma.f64 -19/5760 (pow.f64 x 6) (*.f64 -1/96 (pow.f64 x 4)))) |
Compiled 18200 to 8131 computations (55.3% saved)
60 alts after pruning (55 fresh and 5 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 832 | 28 | 860 |
| Fresh | 26 | 27 | 53 |
| Picked | 1 | 0 | 1 |
| Done | 2 | 5 | 7 |
| Total | 861 | 60 | 921 |
| Status | Error | Program |
|---|---|---|
| ✓ | 30.1b | (*.f64 (cos.f64 x) eps) |
| 54.6b | (-.f64 (sqrt.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 (+.f64 x eps)))))) (sin.f64 x)) | |
| 60.6b | (-.f64 (+.f64 1 (*.f64 (cos.f64 x) eps)) 1) | |
| 49.6b | (+.f64 eps (*.f64 x (*.f64 x (*.f64 -1/2 eps)))) | |
| ▶ | 0.2b | (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) |
| 12.8b | (fma.f64 (sin.f64 eps) (cos.f64 x) (-.f64 (*.f64 (cos.f64 eps) x) x)) | |
| ✓ | 23.4b | (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) |
| 34.8b | (+.f64 (sin.f64 x) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) | |
| 36.0b | (log1p.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) | |
| 59.5b | (pow.f64 (pow.f64 eps 3) 1/3) | |
| ✓ | 23.4b | (-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x)) |
| 50.4b | (-.f64 (fabs.f64 (sin.f64 (+.f64 x eps))) (sin.f64 x)) | |
| 43.7b | (-.f64 (log.f64 (exp.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x)) | |
| 25.1b | (/.f64 (-.f64 (pow.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) 2) (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 2)) (-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) (*.f64 (sin.f64 x) (cos.f64 eps)))) | |
| 59.7b | (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (neg.f64 (sin.f64 x))) | |
| 39.2b | (cbrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 3)) | |
| 26.0b | (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x))) | |
| 30.4b | (*.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) eps)) | |
| 49.8b | (+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 x)))) | |
| 1.5b | (pow.f64 (cbrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))) 3) | |
| 30.2b | (*.f64 eps (+.f64 (*.f64 (sin.f64 x) (*.f64 -1/2 eps)) (cos.f64 x))) | |
| 36.2b | (*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2) | |
| 54.6b | (/.f64 1 (/.f64 (fma.f64 eps (cos.f64 x) (*.f64 1/2 (*.f64 eps (*.f64 eps (sin.f64 x))))) (-.f64 (pow.f64 (*.f64 eps (cos.f64 x)) 2) (*.f64 1/4 (pow.f64 (*.f64 eps (sqrt.f64 (sin.f64 x))) 4))))) | |
| 36.7b | (-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x)) | |
| 45.1b | (pow.f64 (pow.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))) 3) 1/3) | |
| 0.3b | (+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) | |
| 0.3b | (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (log1p.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1))) (sin.f64 x))) | |
| 0.3b | (log1p.f64 (expm1.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))) | |
| 36.2b | (-.f64 (sin.f64 eps) (sin.f64 x)) | |
| ▶ | 50.6b | (cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3)) |
| 60.8b | (+.f64 (-.f64 (+.f64 1 (*.f64 (cos.f64 x) eps)) 1) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) | |
| 28.2b | (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x))) | |
| 40.3b | (*.f64 (*.f64 eps (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x))) | |
| 36.7b | (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (sin.f64 eps) x)) | |
| 23.4b | (-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x)) | |
| 36.7b | (-.f64 (fma.f64 (cos.f64 eps) x (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (sin.f64 eps))) x) | |
| 20.4b | (cbrt.f64 (pow.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))) 3)) | |
| 54.2b | (sqrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 2)) | |
| 30.0b | (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)) | |
| ▶ | 30.4b | (*.f64 (*.f64 eps (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) (cbrt.f64 (cos.f64 x))) |
| 24.2b | (+.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 3)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) | |
| 36.0b | (-.f64 (expm1.f64 (log1p.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x)) | |
| 60.9b | (-.f64 (sqrt.f64 (pow.f64 (sin.f64 x) 2)) (sin.f64 x)) | |
| 46.9b | (pow.f64 (sqrt.f64 (*.f64 (cos.f64 x) eps)) 2) | |
| 30.1b | (pow.f64 (cbrt.f64 (sin.f64 eps)) 3) | |
| 45.4b | (*.f64 (*.f64 (cos.f64 x) (sqrt.f64 eps)) (sqrt.f64 eps)) | |
| ▶ | 48.3b | (+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 eps)))) |
| 30.8b | (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 3) | |
| ✓ | 0.3b | (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
| 45.7b | (*.f64 (*.f64 (cos.f64 x) (cbrt.f64 (*.f64 eps eps))) (cbrt.f64 eps)) | |
| ✓ | 57.5b | (pow.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3) 1/3) |
| 30.2b | (fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 (sin.f64 x) (*.f64 (*.f64 eps eps) (+.f64 -1/2 (*.f64 (*.f64 eps eps) 1/24))))) | |
| 29.4b | (sin.f64 eps) | |
| 0.3b | (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (-.f64 -1 (cos.f64 eps))) (sin.f64 x))) | |
| 30.2b | (+.f64 (*.f64 eps (*.f64 eps (*.f64 (sin.f64 x) -1/2))) (*.f64 eps (cos.f64 x))) | |
| 51.6b | (sqrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2)) | |
| ▶ | 51.2b | (-.f64 (sqrt.f64 (pow.f64 (sin.f64 eps) 2)) (sin.f64 x)) |
| 36.8b | (pow.f64 (cbrt.f64 (-.f64 (sin.f64 eps) (sin.f64 x))) 3) | |
| 47.2b | eps | |
| 30.6b | (expm1.f64 (log1p.f64 (*.f64 (cos.f64 x) eps))) |
Compiled 1536 to 1063 computations (30.8% saved)
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.1b | (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) |
| 0.1b | (*.f64 (cos.f64 x) (sin.f64 eps)) | |
| 0.8b | (+.f64 (cos.f64 eps) -1) |
Compiled 34 to 13 computations (61.8% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | eps | @ | inf | (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) |
| 1.0ms | eps | @ | -inf | (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) |
| 1.0ms | x | @ | inf | (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) |
| 0.0ms | eps | @ | 0 | (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) |
| 0.0ms | x | @ | 0 | (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) |
| 1× | batch-egg-rewrite |
| 512× | log-prod_binary64 |
| 405× | exp-prod_binary64 |
| 323× | prod-diff_binary64 |
| 314× | pow-prod-down_binary64 |
| 298× | pow2_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 19 |
| 1 | 221 | 19 |
| 2 | 2713 | 19 |
| 1× | node limit |
| Inputs |
|---|
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) 1) (*.f64 (cos.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))) (pow.f64 (cbrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))) 2) (cbrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))) (sqrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) 3) (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 3)) (+.f64 (pow.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) 2) (-.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2) (*.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) 2) (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2)) (-.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))))) 2)) (cbrt.f64 (log.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))))) (sqrt.f64 (log.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 x) (sin.f64 eps)))) (pow.f64 (exp.f64 (sin.f64 x)) (+.f64 (cos.f64 eps) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 (sin.f64 x)) (+.f64 (cos.f64 eps) -1)) (+.f64 1 (expm1.f64 (*.f64 (cos.f64 x) (sin.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))) 1) 1)))))) |
| 1× | egg-herbie |
| 936× | fma-def_binary64 |
| 754× | distribute-rgt-out_binary64 |
| 746× | distribute-lft-out_binary64 |
| 665× | associate-*l*_binary64 |
| 505× | associate-*r*_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 44 | 478 |
| 1 | 123 | 476 |
| 2 | 329 | 465 |
| 3 | 1055 | 450 |
| 4 | 4501 | 450 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (cos.f64 x) eps) |
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(+.f64 (*.f64 (cos.f64 x) eps) (+.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 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(sin.f64 eps) |
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (+.f64 (*.f64 -1/6 (*.f64 (-.f64 (cos.f64 eps) 1) (pow.f64 x 3))) (sin.f64 eps)))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
| Outputs |
|---|
(*.f64 (cos.f64 x) eps) |
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(fma.f64 (cos.f64 x) eps (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)))) |
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)) (*.f64 (cos.f64 x) eps)) |
(fma.f64 (*.f64 eps eps) (*.f64 -1/2 (sin.f64 x)) (*.f64 (cos.f64 x) eps)) |
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 eps (*.f64 -1/2 (sin.f64 x))))) |
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 eps (sin.f64 x))))) |
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x))))) |
(fma.f64 (cos.f64 x) eps (fma.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 eps 3)) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))) |
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))))) |
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 eps (*.f64 eps (*.f64 -1/2 (sin.f64 x))))) |
(fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))))) |
(fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 eps (*.f64 -1/2 (*.f64 eps (sin.f64 x))))) |
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (+.f64 (*.f64 (cos.f64 x) eps) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 eps 3) (cos.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))))) |
(fma.f64 1/24 (*.f64 (sin.f64 x) (pow.f64 eps 4)) (fma.f64 (cos.f64 x) eps (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 (sin.f64 x) (pow.f64 eps 4)) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))) |
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 (sin.f64 x) (+.f64 (*.f64 -1/2 (*.f64 eps eps)) (*.f64 1/24 (pow.f64 eps 4))))) |
(fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 (sin.f64 x) (fma.f64 eps (*.f64 eps -1/2) (*.f64 1/24 (pow.f64 eps 4))))) |
(fma.f64 (sin.f64 x) (fma.f64 eps (*.f64 eps -1/2) (*.f64 1/24 (pow.f64 eps 4))) (*.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(fma.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1) (*.f64 (cos.f64 x) (sin.f64 eps))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(fma.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1) (*.f64 (cos.f64 x) (sin.f64 eps))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(fma.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1) (*.f64 (cos.f64 x) (sin.f64 eps))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(fma.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1) (*.f64 (cos.f64 x) (sin.f64 eps))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(fma.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1) (*.f64 (cos.f64 x) (sin.f64 eps))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(fma.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1) (*.f64 (cos.f64 x) (sin.f64 eps))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(fma.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1) (*.f64 (cos.f64 x) (sin.f64 eps))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(fma.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1) (*.f64 (cos.f64 x) (sin.f64 eps))) |
(sin.f64 eps) |
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)) |
(fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps)) |
(fma.f64 x (+.f64 (cos.f64 eps) -1) (sin.f64 eps)) |
(fma.f64 x (cos.f64 eps) (-.f64 (sin.f64 eps) x)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps))) |
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (sin.f64 eps))) |
(fma.f64 -1/2 (*.f64 x (*.f64 x (sin.f64 eps))) (fma.f64 x (+.f64 (cos.f64 eps) -1) (sin.f64 eps))) |
(fma.f64 x (+.f64 (cos.f64 eps) -1) (fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (sin.f64 eps))) |
(-.f64 (fma.f64 (fma.f64 x (*.f64 x -1/2) 1) (sin.f64 eps) (*.f64 x (cos.f64 eps))) x) |
(fma.f64 (fma.f64 x (*.f64 x -1/2) 1) (sin.f64 eps) (fma.f64 x (cos.f64 eps) (neg.f64 x))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x 2) (sin.f64 eps))) (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (+.f64 (*.f64 -1/6 (*.f64 (-.f64 (cos.f64 eps) 1) (pow.f64 x 3))) (sin.f64 eps)))) |
(fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (fma.f64 (+.f64 (cos.f64 eps) -1) x (fma.f64 -1/6 (*.f64 (+.f64 (cos.f64 eps) -1) (pow.f64 x 3)) (sin.f64 eps)))) |
(fma.f64 -1/2 (*.f64 x (*.f64 x (sin.f64 eps))) (fma.f64 x (+.f64 (cos.f64 eps) -1) (fma.f64 -1/6 (*.f64 (+.f64 (cos.f64 eps) -1) (pow.f64 x 3)) (sin.f64 eps)))) |
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))) (fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (sin.f64 eps))) |
(fma.f64 (+.f64 (cos.f64 eps) -1) (fma.f64 -1/6 (pow.f64 x 3) x) (*.f64 (sin.f64 eps) (fma.f64 x (*.f64 x -1/2) 1))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(fma.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1) (*.f64 (cos.f64 x) (sin.f64 eps))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(fma.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1) (*.f64 (cos.f64 x) (sin.f64 eps))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(fma.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1) (*.f64 (cos.f64 x) (sin.f64 eps))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(fma.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1) (*.f64 (cos.f64 x) (sin.f64 eps))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(fma.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1) (*.f64 (cos.f64 x) (sin.f64 eps))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(fma.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1) (*.f64 (cos.f64 x) (sin.f64 eps))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(fma.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1) (*.f64 (cos.f64 x) (sin.f64 eps))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (sin.f64 x) (-.f64 (cos.f64 eps) 1))) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1))) |
(fma.f64 (sin.f64 x) (+.f64 (cos.f64 eps) -1) (*.f64 (cos.f64 x) (sin.f64 eps))) |
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 eps)))) |
| ✓ | 0.1b | (*.f64 eps (*.f64 x (*.f64 -1/2 eps))) |
Compiled 29 to 17 computations (41.4% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | eps | @ | 0 | (*.f64 eps (*.f64 x (*.f64 -1/2 eps))) |
| 1.0ms | x | @ | inf | (*.f64 eps (*.f64 x (*.f64 -1/2 eps))) |
| 1.0ms | x | @ | 0 | (*.f64 eps (*.f64 x (*.f64 -1/2 eps))) |
| 1.0ms | eps | @ | inf | (*.f64 eps (*.f64 x (*.f64 -1/2 eps))) |
| 0.0ms | x | @ | -inf | (*.f64 eps (*.f64 x (*.f64 -1/2 eps))) |
| 1× | batch-egg-rewrite |
| 941× | pow1_binary64 |
| 875× | add-log-exp_binary64 |
| 875× | log1p-expm1-u_binary64 |
| 875× | expm1-log1p-u_binary64 |
| 857× | add-exp-log_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 23 |
| 1 | 174 | 21 |
| 2 | 2379 | 21 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 eps (*.f64 x (*.f64 -1/2 eps))) |
(+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 eps)))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 eps (*.f64 eps (*.f64 x -1/2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 eps (*.f64 eps (*.f64 x -1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 eps (*.f64 eps (*.f64 x -1/2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 eps (*.f64 eps (*.f64 x -1/2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 eps (*.f64 eps (*.f64 x -1/2))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 eps (*.f64 eps (*.f64 x -1/2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 eps) (*.f64 eps (*.f64 x -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 eps (*.f64 eps (*.f64 x -1/2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 eps (*.f64 eps (*.f64 x -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 eps (*.f64 eps (*.f64 x -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 eps (*.f64 eps (*.f64 x -1/2))))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 eps (*.f64 eps (*.f64 x -1/2)) eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 eps eps) (-.f64 eps (*.f64 eps (*.f64 eps (*.f64 x -1/2))))) (/.f64 (pow.f64 (*.f64 eps (*.f64 eps (*.f64 x -1/2))) 2) (-.f64 eps (*.f64 eps (*.f64 eps (*.f64 x -1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 eps (+.f64 1 (*.f64 eps (*.f64 x -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 eps (+.f64 (*.f64 eps (*.f64 x -1/2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 eps (*.f64 eps (*.f64 x -1/2)) eps) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 eps (*.f64 eps (*.f64 x -1/2)) eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 eps (*.f64 eps (*.f64 x -1/2)) eps)) (pow.f64 (cbrt.f64 (fma.f64 eps (*.f64 eps (*.f64 x -1/2)) eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 eps (*.f64 eps (*.f64 x -1/2)) eps)) 2) (cbrt.f64 (fma.f64 eps (*.f64 eps (*.f64 x -1/2)) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 eps (*.f64 eps (*.f64 x -1/2)) eps)) (sqrt.f64 (fma.f64 eps (*.f64 eps (*.f64 x -1/2)) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 eps 3) (pow.f64 (*.f64 eps (*.f64 eps (*.f64 x -1/2))) 3)) (/.f64 1 (fma.f64 eps eps (*.f64 (*.f64 eps (*.f64 eps (*.f64 x -1/2))) (-.f64 (*.f64 eps (*.f64 eps (*.f64 x -1/2))) eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 eps eps) (pow.f64 (*.f64 eps (*.f64 eps (*.f64 x -1/2))) 2)) (/.f64 1 (-.f64 eps (*.f64 eps (*.f64 eps (*.f64 x -1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 eps (*.f64 x -1/2)) 1) eps)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 eps eps (*.f64 (*.f64 eps (*.f64 eps (*.f64 x -1/2))) (-.f64 (*.f64 eps (*.f64 eps (*.f64 x -1/2))) eps))) (+.f64 (pow.f64 eps 3) (pow.f64 (*.f64 eps (*.f64 eps (*.f64 x -1/2))) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 eps (*.f64 eps (*.f64 eps (*.f64 x -1/2)))) (-.f64 (*.f64 eps eps) (pow.f64 (*.f64 eps (*.f64 eps (*.f64 x -1/2))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 eps 3) (pow.f64 (*.f64 eps (*.f64 eps (*.f64 x -1/2))) 3)) (fma.f64 eps eps (*.f64 (*.f64 eps (*.f64 eps (*.f64 x -1/2))) (-.f64 (*.f64 eps (*.f64 eps (*.f64 x -1/2))) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 eps 3) (pow.f64 (*.f64 eps (*.f64 eps (*.f64 x -1/2))) 3)) (+.f64 (pow.f64 (*.f64 eps (*.f64 eps (*.f64 x -1/2))) 2) (-.f64 (*.f64 eps eps) (*.f64 (*.f64 eps eps) (*.f64 eps (*.f64 x -1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 eps eps) (pow.f64 (*.f64 eps (*.f64 eps (*.f64 x -1/2))) 2)) (-.f64 eps (*.f64 eps (*.f64 eps (*.f64 x -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 eps 3) (pow.f64 (*.f64 eps (*.f64 eps (*.f64 x -1/2))) 3))) (neg.f64 (fma.f64 eps eps (*.f64 (*.f64 eps (*.f64 eps (*.f64 x -1/2))) (-.f64 (*.f64 eps (*.f64 eps (*.f64 x -1/2))) eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 eps eps) (pow.f64 (*.f64 eps (*.f64 eps (*.f64 x -1/2))) 2))) (neg.f64 (-.f64 eps (*.f64 eps (*.f64 eps (*.f64 x -1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 eps (*.f64 eps (*.f64 x -1/2))) 2) (*.f64 eps eps)) (-.f64 (*.f64 eps (*.f64 eps (*.f64 x -1/2))) eps))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 eps (*.f64 eps (*.f64 x -1/2)) eps) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 eps (*.f64 eps (*.f64 x -1/2)) eps) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 eps (*.f64 eps (*.f64 x -1/2)) eps)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 eps (*.f64 eps (*.f64 x -1/2)) eps)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 eps (*.f64 eps (*.f64 x -1/2)) eps) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 eps (*.f64 eps (*.f64 x -1/2)) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 eps (*.f64 eps (*.f64 x -1/2)) eps) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 eps (*.f64 eps (*.f64 x -1/2)) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 eps (*.f64 eps (*.f64 x -1/2)) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 eps (*.f64 eps (*.f64 x -1/2)) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 eps (*.f64 eps (*.f64 x -1/2)) eps)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 eps (*.f64 x -1/2)) eps eps)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 eps (*.f64 eps (*.f64 eps (*.f64 x -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 eps (*.f64 eps (*.f64 x -1/2))) eps)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 eps) 2) (cbrt.f64 eps) (*.f64 eps (*.f64 eps (*.f64 x -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 eps (*.f64 eps (*.f64 x -1/2)))) 2) (cbrt.f64 (*.f64 eps (*.f64 eps (*.f64 x -1/2)))) eps)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 eps) (sqrt.f64 eps) (*.f64 eps (*.f64 eps (*.f64 x -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 eps (*.f64 eps (*.f64 x -1/2)))) (sqrt.f64 (*.f64 eps (*.f64 eps (*.f64 x -1/2)))) eps)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 eps x) (*.f64 eps -1/2) eps))))) |
| 1× | egg-herbie |
| 1080× | sqr-pow_binary64 |
| 750× | fma-def_binary64 |
| 634× | fabs-mul_binary64 |
| 612× | pow-sqr_binary64 |
| 612× | cube-prod_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 480 |
| 1 | 20 | 480 |
| 2 | 42 | 480 |
| 3 | 94 | 480 |
| 4 | 247 | 480 |
| 5 | 850 | 480 |
| 6 | 1392 | 480 |
| 7 | 2127 | 480 |
| 8 | 2357 | 480 |
| 9 | 2536 | 480 |
| 10 | 2744 | 480 |
| 11 | 3080 | 480 |
| 12 | 3422 | 480 |
| 13 | 3796 | 480 |
| 14 | 4255 | 480 |
| 15 | 4864 | 480 |
| 16 | 5572 | 480 |
| 17 | 6430 | 480 |
| 18 | 6854 | 480 |
| 19 | 7168 | 480 |
| 20 | 7478 | 480 |
| 21 | 7556 | 480 |
| 22 | 7592 | 480 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
eps |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) eps) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) eps) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) eps) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(+.f64 eps (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))) |
(+.f64 eps (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))) |
(+.f64 eps (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(+.f64 eps (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))) |
(+.f64 eps (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))) |
(+.f64 eps (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))) |
eps |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) eps) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) eps) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) eps) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(+.f64 eps (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))) |
(+.f64 eps (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))) |
(+.f64 eps (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(+.f64 eps (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))) |
(+.f64 eps (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))) |
(+.f64 eps (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))) |
| Outputs |
|---|
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x)) |
(*.f64 -1/2 (*.f64 eps (*.f64 eps x))) |
(*.f64 eps (*.f64 x (*.f64 -1/2 eps))) |
(*.f64 eps (*.f64 eps (*.f64 -1/2 x))) |
(*.f64 (*.f64 -1/2 eps) (*.f64 eps x)) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x)) |
(*.f64 -1/2 (*.f64 eps (*.f64 eps x))) |
(*.f64 eps (*.f64 x (*.f64 -1/2 eps))) |
(*.f64 eps (*.f64 eps (*.f64 -1/2 x))) |
(*.f64 (*.f64 -1/2 eps) (*.f64 eps x)) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x)) |
(*.f64 -1/2 (*.f64 eps (*.f64 eps x))) |
(*.f64 eps (*.f64 x (*.f64 -1/2 eps))) |
(*.f64 eps (*.f64 eps (*.f64 -1/2 x))) |
(*.f64 (*.f64 -1/2 eps) (*.f64 eps x)) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x)) |
(*.f64 -1/2 (*.f64 eps (*.f64 eps x))) |
(*.f64 eps (*.f64 x (*.f64 -1/2 eps))) |
(*.f64 eps (*.f64 eps (*.f64 -1/2 x))) |
(*.f64 (*.f64 -1/2 eps) (*.f64 eps x)) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x)) |
(*.f64 -1/2 (*.f64 eps (*.f64 eps x))) |
(*.f64 eps (*.f64 x (*.f64 -1/2 eps))) |
(*.f64 eps (*.f64 eps (*.f64 -1/2 x))) |
(*.f64 (*.f64 -1/2 eps) (*.f64 eps x)) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x)) |
(*.f64 -1/2 (*.f64 eps (*.f64 eps x))) |
(*.f64 eps (*.f64 x (*.f64 -1/2 eps))) |
(*.f64 eps (*.f64 eps (*.f64 -1/2 x))) |
(*.f64 (*.f64 -1/2 eps) (*.f64 eps x)) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x)) |
(*.f64 -1/2 (*.f64 eps (*.f64 eps x))) |
(*.f64 eps (*.f64 x (*.f64 -1/2 eps))) |
(*.f64 eps (*.f64 eps (*.f64 -1/2 x))) |
(*.f64 (*.f64 -1/2 eps) (*.f64 eps x)) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x)) |
(*.f64 -1/2 (*.f64 eps (*.f64 eps x))) |
(*.f64 eps (*.f64 x (*.f64 -1/2 eps))) |
(*.f64 eps (*.f64 eps (*.f64 -1/2 x))) |
(*.f64 (*.f64 -1/2 eps) (*.f64 eps x)) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x)) |
(*.f64 -1/2 (*.f64 eps (*.f64 eps x))) |
(*.f64 eps (*.f64 x (*.f64 -1/2 eps))) |
(*.f64 eps (*.f64 eps (*.f64 -1/2 x))) |
(*.f64 (*.f64 -1/2 eps) (*.f64 eps x)) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x)) |
(*.f64 -1/2 (*.f64 eps (*.f64 eps x))) |
(*.f64 eps (*.f64 x (*.f64 -1/2 eps))) |
(*.f64 eps (*.f64 eps (*.f64 -1/2 x))) |
(*.f64 (*.f64 -1/2 eps) (*.f64 eps x)) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x)) |
(*.f64 -1/2 (*.f64 eps (*.f64 eps x))) |
(*.f64 eps (*.f64 x (*.f64 -1/2 eps))) |
(*.f64 eps (*.f64 eps (*.f64 -1/2 x))) |
(*.f64 (*.f64 -1/2 eps) (*.f64 eps x)) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x)) |
(*.f64 -1/2 (*.f64 eps (*.f64 eps x))) |
(*.f64 eps (*.f64 x (*.f64 -1/2 eps))) |
(*.f64 eps (*.f64 eps (*.f64 -1/2 x))) |
(*.f64 (*.f64 -1/2 eps) (*.f64 eps x)) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x)) |
(*.f64 -1/2 (*.f64 eps (*.f64 eps x))) |
(*.f64 eps (*.f64 x (*.f64 -1/2 eps))) |
(*.f64 eps (*.f64 eps (*.f64 -1/2 x))) |
(*.f64 (*.f64 -1/2 eps) (*.f64 eps x)) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x)) |
(*.f64 -1/2 (*.f64 eps (*.f64 eps x))) |
(*.f64 eps (*.f64 x (*.f64 -1/2 eps))) |
(*.f64 eps (*.f64 eps (*.f64 -1/2 x))) |
(*.f64 (*.f64 -1/2 eps) (*.f64 eps x)) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x)) |
(*.f64 -1/2 (*.f64 eps (*.f64 eps x))) |
(*.f64 eps (*.f64 x (*.f64 -1/2 eps))) |
(*.f64 eps (*.f64 eps (*.f64 -1/2 x))) |
(*.f64 (*.f64 -1/2 eps) (*.f64 eps x)) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x)) |
(*.f64 -1/2 (*.f64 eps (*.f64 eps x))) |
(*.f64 eps (*.f64 x (*.f64 -1/2 eps))) |
(*.f64 eps (*.f64 eps (*.f64 -1/2 x))) |
(*.f64 (*.f64 -1/2 eps) (*.f64 eps x)) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x)) |
(*.f64 -1/2 (*.f64 eps (*.f64 eps x))) |
(*.f64 eps (*.f64 x (*.f64 -1/2 eps))) |
(*.f64 eps (*.f64 eps (*.f64 -1/2 x))) |
(*.f64 (*.f64 -1/2 eps) (*.f64 eps x)) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x)) |
(*.f64 -1/2 (*.f64 eps (*.f64 eps x))) |
(*.f64 eps (*.f64 x (*.f64 -1/2 eps))) |
(*.f64 eps (*.f64 eps (*.f64 -1/2 x))) |
(*.f64 (*.f64 -1/2 eps) (*.f64 eps x)) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x)) |
(*.f64 -1/2 (*.f64 eps (*.f64 eps x))) |
(*.f64 eps (*.f64 x (*.f64 -1/2 eps))) |
(*.f64 eps (*.f64 eps (*.f64 -1/2 x))) |
(*.f64 (*.f64 -1/2 eps) (*.f64 eps x)) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x)) |
(*.f64 -1/2 (*.f64 eps (*.f64 eps x))) |
(*.f64 eps (*.f64 x (*.f64 -1/2 eps))) |
(*.f64 eps (*.f64 eps (*.f64 -1/2 x))) |
(*.f64 (*.f64 -1/2 eps) (*.f64 eps x)) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x)) |
(*.f64 -1/2 (*.f64 eps (*.f64 eps x))) |
(*.f64 eps (*.f64 x (*.f64 -1/2 eps))) |
(*.f64 eps (*.f64 eps (*.f64 -1/2 x))) |
(*.f64 (*.f64 -1/2 eps) (*.f64 eps x)) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x)) |
(*.f64 -1/2 (*.f64 eps (*.f64 eps x))) |
(*.f64 eps (*.f64 x (*.f64 -1/2 eps))) |
(*.f64 eps (*.f64 eps (*.f64 -1/2 x))) |
(*.f64 (*.f64 -1/2 eps) (*.f64 eps x)) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x)) |
(*.f64 -1/2 (*.f64 eps (*.f64 eps x))) |
(*.f64 eps (*.f64 x (*.f64 -1/2 eps))) |
(*.f64 eps (*.f64 eps (*.f64 -1/2 x))) |
(*.f64 (*.f64 -1/2 eps) (*.f64 eps x)) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x)) |
(*.f64 -1/2 (*.f64 eps (*.f64 eps x))) |
(*.f64 eps (*.f64 x (*.f64 -1/2 eps))) |
(*.f64 eps (*.f64 eps (*.f64 -1/2 x))) |
(*.f64 (*.f64 -1/2 eps) (*.f64 eps x)) |
eps |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) eps) |
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) eps) |
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) eps) |
(fma.f64 (*.f64 eps eps) (*.f64 -1/2 x) eps) |
(*.f64 eps (fma.f64 -1/2 (*.f64 eps x) 1)) |
(*.f64 eps (fma.f64 eps (*.f64 -1/2 x) 1)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) eps) |
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) eps) |
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) eps) |
(fma.f64 (*.f64 eps eps) (*.f64 -1/2 x) eps) |
(*.f64 eps (fma.f64 -1/2 (*.f64 eps x) 1)) |
(*.f64 eps (fma.f64 eps (*.f64 -1/2 x) 1)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) eps) |
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) eps) |
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) eps) |
(fma.f64 (*.f64 eps eps) (*.f64 -1/2 x) eps) |
(*.f64 eps (fma.f64 -1/2 (*.f64 eps x) 1)) |
(*.f64 eps (fma.f64 eps (*.f64 -1/2 x) 1)) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x)) |
(*.f64 -1/2 (*.f64 eps (*.f64 eps x))) |
(*.f64 eps (*.f64 x (*.f64 -1/2 eps))) |
(*.f64 eps (*.f64 eps (*.f64 -1/2 x))) |
(*.f64 (*.f64 -1/2 eps) (*.f64 eps x)) |
(+.f64 eps (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))) |
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) eps) |
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) eps) |
(fma.f64 (*.f64 eps eps) (*.f64 -1/2 x) eps) |
(*.f64 eps (fma.f64 -1/2 (*.f64 eps x) 1)) |
(*.f64 eps (fma.f64 eps (*.f64 -1/2 x) 1)) |
(+.f64 eps (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))) |
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) eps) |
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) eps) |
(fma.f64 (*.f64 eps eps) (*.f64 -1/2 x) eps) |
(*.f64 eps (fma.f64 -1/2 (*.f64 eps x) 1)) |
(*.f64 eps (fma.f64 eps (*.f64 -1/2 x) 1)) |
(+.f64 eps (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))) |
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) eps) |
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) eps) |
(fma.f64 (*.f64 eps eps) (*.f64 -1/2 x) eps) |
(*.f64 eps (fma.f64 -1/2 (*.f64 eps x) 1)) |
(*.f64 eps (fma.f64 eps (*.f64 -1/2 x) 1)) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x)) |
(*.f64 -1/2 (*.f64 eps (*.f64 eps x))) |
(*.f64 eps (*.f64 x (*.f64 -1/2 eps))) |
(*.f64 eps (*.f64 eps (*.f64 -1/2 x))) |
(*.f64 (*.f64 -1/2 eps) (*.f64 eps x)) |
(+.f64 eps (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))) |
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) eps) |
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) eps) |
(fma.f64 (*.f64 eps eps) (*.f64 -1/2 x) eps) |
(*.f64 eps (fma.f64 -1/2 (*.f64 eps x) 1)) |
(*.f64 eps (fma.f64 eps (*.f64 -1/2 x) 1)) |
(+.f64 eps (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))) |
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) eps) |
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) eps) |
(fma.f64 (*.f64 eps eps) (*.f64 -1/2 x) eps) |
(*.f64 eps (fma.f64 -1/2 (*.f64 eps x) 1)) |
(*.f64 eps (fma.f64 eps (*.f64 -1/2 x) 1)) |
(+.f64 eps (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))) |
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) eps) |
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) eps) |
(fma.f64 (*.f64 eps eps) (*.f64 -1/2 x) eps) |
(*.f64 eps (fma.f64 -1/2 (*.f64 eps x) 1)) |
(*.f64 eps (fma.f64 eps (*.f64 -1/2 x) 1)) |
eps |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) eps) |
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) eps) |
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) eps) |
(fma.f64 (*.f64 eps eps) (*.f64 -1/2 x) eps) |
(*.f64 eps (fma.f64 -1/2 (*.f64 eps x) 1)) |
(*.f64 eps (fma.f64 eps (*.f64 -1/2 x) 1)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) eps) |
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) eps) |
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) eps) |
(fma.f64 (*.f64 eps eps) (*.f64 -1/2 x) eps) |
(*.f64 eps (fma.f64 -1/2 (*.f64 eps x) 1)) |
(*.f64 eps (fma.f64 eps (*.f64 -1/2 x) 1)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) eps) |
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) eps) |
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) eps) |
(fma.f64 (*.f64 eps eps) (*.f64 -1/2 x) eps) |
(*.f64 eps (fma.f64 -1/2 (*.f64 eps x) 1)) |
(*.f64 eps (fma.f64 eps (*.f64 -1/2 x) 1)) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x)) |
(*.f64 -1/2 (*.f64 eps (*.f64 eps x))) |
(*.f64 eps (*.f64 x (*.f64 -1/2 eps))) |
(*.f64 eps (*.f64 eps (*.f64 -1/2 x))) |
(*.f64 (*.f64 -1/2 eps) (*.f64 eps x)) |
(+.f64 eps (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))) |
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) eps) |
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) eps) |
(fma.f64 (*.f64 eps eps) (*.f64 -1/2 x) eps) |
(*.f64 eps (fma.f64 -1/2 (*.f64 eps x) 1)) |
(*.f64 eps (fma.f64 eps (*.f64 -1/2 x) 1)) |
(+.f64 eps (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))) |
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) eps) |
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) eps) |
(fma.f64 (*.f64 eps eps) (*.f64 -1/2 x) eps) |
(*.f64 eps (fma.f64 -1/2 (*.f64 eps x) 1)) |
(*.f64 eps (fma.f64 eps (*.f64 -1/2 x) 1)) |
(+.f64 eps (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))) |
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) eps) |
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) eps) |
(fma.f64 (*.f64 eps eps) (*.f64 -1/2 x) eps) |
(*.f64 eps (fma.f64 -1/2 (*.f64 eps x) 1)) |
(*.f64 eps (fma.f64 eps (*.f64 -1/2 x) 1)) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(*.f64 -1/2 (*.f64 (*.f64 eps eps) x)) |
(*.f64 -1/2 (*.f64 eps (*.f64 eps x))) |
(*.f64 eps (*.f64 x (*.f64 -1/2 eps))) |
(*.f64 eps (*.f64 eps (*.f64 -1/2 x))) |
(*.f64 (*.f64 -1/2 eps) (*.f64 eps x)) |
(+.f64 eps (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))) |
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) eps) |
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) eps) |
(fma.f64 (*.f64 eps eps) (*.f64 -1/2 x) eps) |
(*.f64 eps (fma.f64 -1/2 (*.f64 eps x) 1)) |
(*.f64 eps (fma.f64 eps (*.f64 -1/2 x) 1)) |
(+.f64 eps (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))) |
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) eps) |
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) eps) |
(fma.f64 (*.f64 eps eps) (*.f64 -1/2 x) eps) |
(*.f64 eps (fma.f64 -1/2 (*.f64 eps x) 1)) |
(*.f64 eps (fma.f64 eps (*.f64 -1/2 x) 1)) |
(+.f64 eps (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))) |
(fma.f64 -1/2 (*.f64 (*.f64 eps eps) x) eps) |
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) eps) |
(fma.f64 (*.f64 eps eps) (*.f64 -1/2 x) eps) |
(*.f64 eps (fma.f64 -1/2 (*.f64 eps x) 1)) |
(*.f64 eps (fma.f64 eps (*.f64 -1/2 x) 1)) |
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.1b | (*.f64 (cos.f64 x) eps) | |
| 0.2b | (pow.f64 (*.f64 (cos.f64 x) eps) 3) | |
| ✓ | 39.1b | (cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3)) |
Compiled 24 to 10 computations (58.3% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 2.0ms | eps | @ | -inf | (cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3)) |
| 0.0ms | x | @ | 0 | (cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3)) |
| 0.0ms | eps | @ | 0 | (cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3)) |
| 0.0ms | x | @ | -inf | (cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3)) |
| 0.0ms | x | @ | inf | (cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3)) |
| 1× | batch-egg-rewrite |
| 645× | pow1_binary64 |
| 603× | add-log-exp_binary64 |
| 603× | log1p-expm1-u_binary64 |
| 603× | expm1-log1p-u_binary64 |
| 586× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 6 |
| 1 | 168 | 6 |
| 2 | 1728 | 6 |
| 1× | node limit |
| Inputs |
|---|
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (cos.f64 x) eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 x) eps)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 eps (cos.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 x) eps) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (cos.f64 x) eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) (pow.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 2) (cbrt.f64 (*.f64 (cos.f64 x) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 eps) 2) (*.f64 (cbrt.f64 eps) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (cos.f64 x) eps)) (sqrt.f64 (*.f64 (cos.f64 x) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 eps) (*.f64 (sqrt.f64 eps) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 2) 1/3) (cbrt.f64 (*.f64 (cos.f64 x) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 x) eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3/2) 1/3) (pow.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3/2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 x) (pow.f64 (cbrt.f64 eps) 2)) (cbrt.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 x) (sqrt.f64 eps)) (sqrt.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 eps (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) (cbrt.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 eps (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 x) eps) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (cos.f64 x) eps)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (cos.f64 x)) eps))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cos.f64 x) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cos.f64 x) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cos.f64 x) eps))))))) |
| 1× | egg-herbie |
| 458× | distribute-rgt-out_binary64 |
| 451× | *-commutative_binary64 |
| 449× | fma-neg_binary64 |
| 397× | associate-*l*_binary64 |
| 372× | fma-def_binary64 |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 30 | 218 |
| 1 | 70 | 216 |
| 2 | 187 | 212 |
| 3 | 542 | 206 |
| 4 | 2089 | 205 |
| 5 | 4162 | 205 |
| 6 | 4458 | 205 |
| 7 | 4805 | 205 |
| 8 | 5609 | 205 |
| 9 | 7060 | 205 |
| 1× | node limit |
| Inputs |
|---|
eps |
(+.f64 eps (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(+.f64 eps (+.f64 (*.f64 1/24 (*.f64 eps (pow.f64 x 4))) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))) |
(+.f64 (*.f64 -1/720 (*.f64 eps (pow.f64 x 6))) (+.f64 eps (+.f64 (*.f64 1/24 (*.f64 eps (pow.f64 x 4))) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))))) |
(*.f64 (cos.f64 x) eps) |
(*.f64 (cos.f64 x) eps) |
(*.f64 (cos.f64 x) eps) |
(*.f64 (cos.f64 x) eps) |
(*.f64 eps (cos.f64 x)) |
(*.f64 eps (cos.f64 x)) |
(*.f64 eps (cos.f64 x)) |
(*.f64 eps (cos.f64 x)) |
(*.f64 (cos.f64 x) eps) |
(*.f64 (cos.f64 x) eps) |
(*.f64 (cos.f64 x) eps) |
(*.f64 (cos.f64 x) eps) |
(*.f64 (cos.f64 x) eps) |
(*.f64 (cos.f64 x) eps) |
(*.f64 (cos.f64 x) eps) |
(*.f64 (cos.f64 x) eps) |
(*.f64 -1 (*.f64 eps (*.f64 (cos.f64 x) (cbrt.f64 -1)))) |
(*.f64 -1 (*.f64 eps (*.f64 (cos.f64 x) (cbrt.f64 -1)))) |
(*.f64 -1 (*.f64 eps (*.f64 (cos.f64 x) (cbrt.f64 -1)))) |
(*.f64 -1 (*.f64 eps (*.f64 (cos.f64 x) (cbrt.f64 -1)))) |
| Outputs |
|---|
eps |
(+.f64 eps (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(+.f64 eps (*.f64 -1/2 (*.f64 eps (*.f64 x x)))) |
(fma.f64 -1/2 (*.f64 eps (*.f64 x x)) eps) |
(fma.f64 eps (*.f64 x (*.f64 x -1/2)) eps) |
(*.f64 eps (fma.f64 -1/2 (*.f64 x x) 1)) |
(fma.f64 x (*.f64 -1/2 (*.f64 eps x)) eps) |
(+.f64 eps (+.f64 (*.f64 1/24 (*.f64 eps (pow.f64 x 4))) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))) |
(+.f64 eps (fma.f64 1/24 (*.f64 eps (pow.f64 x 4)) (*.f64 -1/2 (*.f64 eps (*.f64 x x))))) |
(+.f64 eps (fma.f64 -1/2 (*.f64 eps (*.f64 x x)) (*.f64 eps (*.f64 (pow.f64 x 4) 1/24)))) |
(fma.f64 eps (*.f64 1/24 (pow.f64 x 4)) (fma.f64 eps (*.f64 x (*.f64 x -1/2)) eps)) |
(fma.f64 eps (fma.f64 -1/2 (*.f64 x x) (*.f64 1/24 (pow.f64 x 4))) eps) |
(+.f64 (*.f64 -1/720 (*.f64 eps (pow.f64 x 6))) (+.f64 eps (+.f64 (*.f64 1/24 (*.f64 eps (pow.f64 x 4))) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))))) |
(fma.f64 -1/720 (*.f64 eps (pow.f64 x 6)) (+.f64 eps (fma.f64 1/24 (*.f64 eps (pow.f64 x 4)) (*.f64 -1/2 (*.f64 eps (*.f64 x x)))))) |
(+.f64 (fma.f64 -1/2 (*.f64 eps (*.f64 x x)) (*.f64 eps (*.f64 (pow.f64 x 4) 1/24))) (fma.f64 -1/720 (*.f64 eps (pow.f64 x 6)) eps)) |
(fma.f64 -1/720 (*.f64 eps (pow.f64 x 6)) (fma.f64 eps (*.f64 1/24 (pow.f64 x 4)) (fma.f64 eps (*.f64 x (*.f64 x -1/2)) eps))) |
(fma.f64 eps (fma.f64 -1/2 (*.f64 x x) (*.f64 1/24 (pow.f64 x 4))) (fma.f64 (pow.f64 x 6) (*.f64 eps -1/720) eps)) |
(*.f64 eps (+.f64 (fma.f64 -1/2 (*.f64 x x) (*.f64 1/24 (pow.f64 x 4))) (fma.f64 -1/720 (pow.f64 x 6) 1))) |
(*.f64 eps (+.f64 (fma.f64 -1/720 (pow.f64 x 6) 1) (fma.f64 -1/2 (*.f64 x x) (*.f64 1/24 (pow.f64 x 4))))) |
(*.f64 (cos.f64 x) eps) |
(*.f64 eps (cos.f64 x)) |
(*.f64 (cos.f64 x) eps) |
(*.f64 eps (cos.f64 x)) |
(*.f64 (cos.f64 x) eps) |
(*.f64 eps (cos.f64 x)) |
(*.f64 (cos.f64 x) eps) |
(*.f64 eps (cos.f64 x)) |
(*.f64 eps (cos.f64 x)) |
(*.f64 eps (cos.f64 x)) |
(*.f64 eps (cos.f64 x)) |
(*.f64 eps (cos.f64 x)) |
(*.f64 (cos.f64 x) eps) |
(*.f64 eps (cos.f64 x)) |
(*.f64 (cos.f64 x) eps) |
(*.f64 eps (cos.f64 x)) |
(*.f64 (cos.f64 x) eps) |
(*.f64 eps (cos.f64 x)) |
(*.f64 (cos.f64 x) eps) |
(*.f64 eps (cos.f64 x)) |
(*.f64 (cos.f64 x) eps) |
(*.f64 eps (cos.f64 x)) |
(*.f64 (cos.f64 x) eps) |
(*.f64 eps (cos.f64 x)) |
(*.f64 (cos.f64 x) eps) |
(*.f64 eps (cos.f64 x)) |
(*.f64 (cos.f64 x) eps) |
(*.f64 eps (cos.f64 x)) |
(*.f64 -1 (*.f64 eps (*.f64 (cos.f64 x) (cbrt.f64 -1)))) |
(neg.f64 (*.f64 eps (*.f64 (cos.f64 x) (cbrt.f64 -1)))) |
(*.f64 (*.f64 eps (cos.f64 x)) (neg.f64 (cbrt.f64 -1))) |
(*.f64 (cos.f64 x) (*.f64 (cbrt.f64 -1) (neg.f64 eps))) |
(*.f64 (cos.f64 x) (neg.f64 (*.f64 eps (cbrt.f64 -1)))) |
(*.f64 -1 (*.f64 eps (*.f64 (cos.f64 x) (cbrt.f64 -1)))) |
(neg.f64 (*.f64 eps (*.f64 (cos.f64 x) (cbrt.f64 -1)))) |
(*.f64 (*.f64 eps (cos.f64 x)) (neg.f64 (cbrt.f64 -1))) |
(*.f64 (cos.f64 x) (*.f64 (cbrt.f64 -1) (neg.f64 eps))) |
(*.f64 (cos.f64 x) (neg.f64 (*.f64 eps (cbrt.f64 -1)))) |
(*.f64 -1 (*.f64 eps (*.f64 (cos.f64 x) (cbrt.f64 -1)))) |
(neg.f64 (*.f64 eps (*.f64 (cos.f64 x) (cbrt.f64 -1)))) |
(*.f64 (*.f64 eps (cos.f64 x)) (neg.f64 (cbrt.f64 -1))) |
(*.f64 (cos.f64 x) (*.f64 (cbrt.f64 -1) (neg.f64 eps))) |
(*.f64 (cos.f64 x) (neg.f64 (*.f64 eps (cbrt.f64 -1)))) |
(*.f64 -1 (*.f64 eps (*.f64 (cos.f64 x) (cbrt.f64 -1)))) |
(neg.f64 (*.f64 eps (*.f64 (cos.f64 x) (cbrt.f64 -1)))) |
(*.f64 (*.f64 eps (cos.f64 x)) (neg.f64 (cbrt.f64 -1))) |
(*.f64 (cos.f64 x) (*.f64 (cbrt.f64 -1) (neg.f64 eps))) |
(*.f64 (cos.f64 x) (neg.f64 (*.f64 eps (cbrt.f64 -1)))) |
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.1b | (-.f64 (sqrt.f64 (pow.f64 (sin.f64 eps) 2)) (sin.f64 x)) |
| ✓ | 0.2b | (pow.f64 (sin.f64 eps) 2) |
| ✓ | 15.1b | (sqrt.f64 (pow.f64 (sin.f64 eps) 2)) |
Compiled 26 to 14 computations (46.2% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | eps | @ | 0 | (sqrt.f64 (pow.f64 (sin.f64 eps) 2)) |
| 0.0ms | eps | @ | inf | (pow.f64 (sin.f64 eps) 2) |
| 0.0ms | eps | @ | -inf | (pow.f64 (sin.f64 eps) 2) |
| 0.0ms | eps | @ | 0 | (pow.f64 (sin.f64 eps) 2) |
| 0.0ms | x | @ | 0 | (-.f64 (sqrt.f64 (pow.f64 (sin.f64 eps) 2)) (sin.f64 x)) |
| 1× | batch-egg-rewrite |
| 872× | pow1_binary64 |
| 811× | add-log-exp_binary64 |
| 810× | log1p-expm1-u_binary64 |
| 810× | expm1-log1p-u_binary64 |
| 792× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 17 |
| 1 | 193 | 17 |
| 2 | 2202 | 17 |
| 1× | node limit |
| Inputs |
|---|
(sqrt.f64 (pow.f64 (sin.f64 eps) 2)) |
(pow.f64 (sin.f64 eps) 2) |
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 eps) 2)) (sin.f64 x)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (sin.f64 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 eps) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sin.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sin.f64 eps)) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sin.f64 eps)) 2) (cbrt.f64 (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 eps)) (sqrt.f64 (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (sin.f64 eps) 4))) (sqrt.f64 (pow.f64 (cbrt.f64 (sin.f64 eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sin.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (pow.f64 (sin.f64 eps) 4)) 1/2) (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 eps)) 2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (sin.f64 eps) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sin.f64 eps) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (sin.f64 eps) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sin.f64 eps)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (sin.f64 eps)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sin.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (sin.f64 eps) 3))))) (#(struct:change #<rule egg-rr> (2) ((x sin.f64 eps)))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sin.f64 eps))))))) |
((#(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 (+.f64 1 (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 (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 (cbrt.f64 (pow.f64 (sin.f64 eps) 4)) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2))))) (#(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 (sqrt.f64 (sin.f64 eps)) (*.f64 (sqrt.f64 (sin.f64 eps)) (sin.f64 eps)))))) (#(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 (*.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 (cos.f64 (-.f64 eps eps)) (cos.f64 (+.f64 eps 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 cbrt.f64 (pow.f64 (pow.f64 (sin.f64 eps) 2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (sin.f64 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.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 +.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (sin.f64 eps) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sin.f64 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 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 eps) (sin.f64 x)) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 x))) (sqrt.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (sin.f64 (/.f64 (-.f64 eps x) 2)) (cos.f64 (/.f64 (+.f64 eps x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (sin.f64 eps) (sin.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (sin.f64 eps) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (sin.f64 eps) (sin.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (sin.f64 eps) (sin.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 eps) (sin.f64 x))) 2) (cbrt.f64 (-.f64 (sin.f64 eps) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (sin.f64 eps) (sin.f64 x))) (sqrt.f64 (-.f64 (sin.f64 eps) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (sin.f64 eps) 3) (pow.f64 (sin.f64 x) 3)) (/.f64 1 (+.f64 (pow.f64 (sin.f64 eps) 2) (*.f64 (sin.f64 x) (+.f64 (sin.f64 eps) (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (sin.f64 x) 2)) (/.f64 1 (+.f64 (sin.f64 eps) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (sin.f64 eps)) (sqrt.f64 (sin.f64 x))) (-.f64 (sqrt.f64 (sin.f64 eps)) (sqrt.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (sin.f64 eps) 2) (*.f64 (sin.f64 x) (+.f64 (sin.f64 eps) (sin.f64 x)))) (-.f64 (pow.f64 (sin.f64 eps) 3) (pow.f64 (sin.f64 x) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (sin.f64 eps) (sin.f64 x)) (-.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (sin.f64 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (sin.f64 eps) 3) (pow.f64 (sin.f64 x) 3)) (+.f64 (pow.f64 (sin.f64 eps) 2) (*.f64 (sin.f64 x) (+.f64 (sin.f64 eps) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (sin.f64 x) 2)) (+.f64 (sin.f64 eps) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (sin.f64 eps) 3) (pow.f64 (sin.f64 x) 3))) (neg.f64 (+.f64 (pow.f64 (sin.f64 eps) 2) (*.f64 (sin.f64 x) (+.f64 (sin.f64 eps) (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (sin.f64 eps) 2) (pow.f64 (sin.f64 x) 2))) (neg.f64 (+.f64 (sin.f64 eps) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (sin.f64 eps) 3) (pow.f64 (neg.f64 (sin.f64 x)) 3)) (+.f64 (pow.f64 (sin.f64 eps) 2) (-.f64 (*.f64 (neg.f64 (sin.f64 x)) (neg.f64 (sin.f64 x))) (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (sin.f64 eps) 2) (*.f64 (neg.f64 (sin.f64 x)) (neg.f64 (sin.f64 x)))) (-.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (sin.f64 eps) (sin.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (sin.f64 eps) (sin.f64 x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (sin.f64 eps) (sin.f64 x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (sin.f64 eps) (sin.f64 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 (sin.f64 eps) (sin.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 (sin.f64 eps) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (sin.f64 eps) (sin.f64 x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (sin.f64 eps) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (sin.f64 eps) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (sin.f64 eps) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (sin.f64 eps) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (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 (sqrt.f64 (sin.f64 eps)) (sqrt.f64 (sin.f64 eps)) (neg.f64 (sin.f64 x))))))) |
| 1× | egg-herbie |
| 874× | fma-def_binary64 |
| 654× | associate-*l*_binary64 |
| 650× | distribute-lft-out_binary64 |
| 644× | distribute-rgt-out_binary64 |
| 498× | associate-*r*_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 62 | 365 |
| 1 | 158 | 350 |
| 2 | 387 | 344 |
| 3 | 1224 | 342 |
| 4 | 4619 | 342 |
| 1× | node limit |
| Inputs |
|---|
eps |
(+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) |
(+.f64 eps (+.f64 (*.f64 -1/6 (pow.f64 eps 3)) (*.f64 1/120 (pow.f64 eps 5)))) |
(+.f64 eps (+.f64 (*.f64 -1/6 (pow.f64 eps 3)) (+.f64 (*.f64 1/120 (pow.f64 eps 5)) (*.f64 -1/5040 (pow.f64 eps 7))))) |
(sin.f64 eps) |
(sin.f64 eps) |
(sin.f64 eps) |
(sin.f64 eps) |
(sin.f64 eps) |
(sin.f64 eps) |
(sin.f64 eps) |
(sin.f64 eps) |
(pow.f64 eps 2) |
(+.f64 (pow.f64 eps 2) (*.f64 -1/3 (pow.f64 eps 4))) |
(+.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1/3 (pow.f64 eps 4)) (*.f64 2/45 (pow.f64 eps 6)))) |
(+.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1/315 (pow.f64 eps 8)) (+.f64 (*.f64 -1/3 (pow.f64 eps 4)) (*.f64 2/45 (pow.f64 eps 6))))) |
(*.f64 -1 (sin.f64 x)) |
(+.f64 eps (*.f64 -1 (sin.f64 x))) |
(+.f64 eps (+.f64 (*.f64 -1 (sin.f64 x)) (*.f64 -1/6 (pow.f64 eps 3)))) |
(+.f64 eps (+.f64 (*.f64 -1 (sin.f64 x)) (+.f64 (*.f64 -1/6 (pow.f64 eps 3)) (*.f64 1/120 (pow.f64 eps 5))))) |
(-.f64 (sin.f64 eps) (sin.f64 x)) |
(-.f64 (sin.f64 eps) (sin.f64 x)) |
(-.f64 (sin.f64 eps) (sin.f64 x)) |
(-.f64 (sin.f64 eps) (sin.f64 x)) |
(-.f64 (sin.f64 eps) (sin.f64 x)) |
(-.f64 (sin.f64 eps) (sin.f64 x)) |
(-.f64 (sin.f64 eps) (sin.f64 x)) |
(-.f64 (sin.f64 eps) (sin.f64 x)) |
(sin.f64 eps) |
(+.f64 (*.f64 -1 x) (sin.f64 eps)) |
(+.f64 (*.f64 1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1 x) (sin.f64 eps))) |
(+.f64 (*.f64 1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1 x) (+.f64 (*.f64 -1/120 (pow.f64 x 5)) (sin.f64 eps)))) |
(-.f64 (sin.f64 eps) (sin.f64 x)) |
(-.f64 (sin.f64 eps) (sin.f64 x)) |
(-.f64 (sin.f64 eps) (sin.f64 x)) |
(-.f64 (sin.f64 eps) (sin.f64 x)) |
(-.f64 (sin.f64 eps) (sin.f64 x)) |
(-.f64 (sin.f64 eps) (sin.f64 x)) |
(-.f64 (sin.f64 eps) (sin.f64 x)) |
(-.f64 (sin.f64 eps) (sin.f64 x)) |
| Outputs |
|---|
eps |
(+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) |
(fma.f64 -1/6 (pow.f64 eps 3) eps) |
(+.f64 eps (+.f64 (*.f64 -1/6 (pow.f64 eps 3)) (*.f64 1/120 (pow.f64 eps 5)))) |
(+.f64 eps (fma.f64 -1/6 (pow.f64 eps 3) (*.f64 1/120 (pow.f64 eps 5)))) |
(+.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 1/120 (pow.f64 eps 5))) |
(fma.f64 -1/6 (pow.f64 eps 3) (fma.f64 1/120 (pow.f64 eps 5) eps)) |
(+.f64 eps (+.f64 (*.f64 -1/6 (pow.f64 eps 3)) (+.f64 (*.f64 1/120 (pow.f64 eps 5)) (*.f64 -1/5040 (pow.f64 eps 7))))) |
(+.f64 eps (fma.f64 -1/6 (pow.f64 eps 3) (fma.f64 1/120 (pow.f64 eps 5) (*.f64 -1/5040 (pow.f64 eps 7))))) |
(+.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (fma.f64 1/120 (pow.f64 eps 5) (*.f64 -1/5040 (pow.f64 eps 7)))) |
(+.f64 eps (fma.f64 -1/6 (pow.f64 eps 3) (fma.f64 -1/5040 (pow.f64 eps 7) (*.f64 1/120 (pow.f64 eps 5))))) |
(fma.f64 -1/5040 (pow.f64 eps 7) (fma.f64 -1/6 (pow.f64 eps 3) (fma.f64 1/120 (pow.f64 eps 5) eps))) |
(fma.f64 -1/6 (pow.f64 eps 3) (fma.f64 1/120 (pow.f64 eps 5) (fma.f64 -1/5040 (pow.f64 eps 7) eps))) |
(sin.f64 eps) |
(sin.f64 eps) |
(sin.f64 eps) |
(sin.f64 eps) |
(sin.f64 eps) |
(sin.f64 eps) |
(sin.f64 eps) |
(sin.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 -1/3 (pow.f64 eps 4))) |
(fma.f64 -1/3 (pow.f64 eps 4) (*.f64 eps eps)) |
(fma.f64 eps eps (*.f64 -1/3 (pow.f64 eps 4))) |
(+.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1/3 (pow.f64 eps 4)) (*.f64 2/45 (pow.f64 eps 6)))) |
(+.f64 (*.f64 eps eps) (fma.f64 -1/3 (pow.f64 eps 4) (*.f64 2/45 (pow.f64 eps 6)))) |
(fma.f64 eps eps (fma.f64 -1/3 (pow.f64 eps 4) (*.f64 2/45 (pow.f64 eps 6)))) |
(fma.f64 -1/3 (pow.f64 eps 4) (fma.f64 eps eps (*.f64 2/45 (pow.f64 eps 6)))) |
(+.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1/315 (pow.f64 eps 8)) (+.f64 (*.f64 -1/3 (pow.f64 eps 4)) (*.f64 2/45 (pow.f64 eps 6))))) |
(+.f64 (*.f64 eps eps) (fma.f64 -1/315 (pow.f64 eps 8) (fma.f64 -1/3 (pow.f64 eps 4) (*.f64 2/45 (pow.f64 eps 6))))) |
(fma.f64 eps eps (fma.f64 -1/315 (pow.f64 eps 8) (fma.f64 -1/3 (pow.f64 eps 4) (*.f64 2/45 (pow.f64 eps 6))))) |
(fma.f64 eps eps (fma.f64 -1/3 (pow.f64 eps 4) (fma.f64 -1/315 (pow.f64 eps 8) (*.f64 2/45 (pow.f64 eps 6))))) |
(fma.f64 -1/3 (pow.f64 eps 4) (fma.f64 eps eps (fma.f64 -1/315 (pow.f64 eps 8) (*.f64 2/45 (pow.f64 eps 6))))) |
(fma.f64 -1/3 (pow.f64 eps 4) (fma.f64 eps eps (fma.f64 2/45 (pow.f64 eps 6) (*.f64 -1/315 (pow.f64 eps 8))))) |
(*.f64 -1 (sin.f64 x)) |
(neg.f64 (sin.f64 x)) |
(+.f64 eps (*.f64 -1 (sin.f64 x))) |
(+.f64 eps (neg.f64 (sin.f64 x))) |
(-.f64 eps (sin.f64 x)) |
(+.f64 eps (+.f64 (*.f64 -1 (sin.f64 x)) (*.f64 -1/6 (pow.f64 eps 3)))) |
(+.f64 eps (fma.f64 -1 (sin.f64 x) (*.f64 -1/6 (pow.f64 eps 3)))) |
(+.f64 eps (-.f64 (*.f64 -1/6 (pow.f64 eps 3)) (sin.f64 x))) |
(-.f64 (fma.f64 -1/6 (pow.f64 eps 3) eps) (sin.f64 x)) |
(fma.f64 -1/6 (pow.f64 eps 3) (-.f64 eps (sin.f64 x))) |
(+.f64 eps (+.f64 (*.f64 -1 (sin.f64 x)) (+.f64 (*.f64 -1/6 (pow.f64 eps 3)) (*.f64 1/120 (pow.f64 eps 5))))) |
(+.f64 eps (fma.f64 -1 (sin.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) (*.f64 1/120 (pow.f64 eps 5))))) |
(+.f64 (fma.f64 -1/6 (pow.f64 eps 3) (*.f64 1/120 (pow.f64 eps 5))) (-.f64 eps (sin.f64 x))) |
(-.f64 (fma.f64 -1/6 (pow.f64 eps 3) (fma.f64 1/120 (pow.f64 eps 5) eps)) (sin.f64 x)) |
(-.f64 (sin.f64 eps) (sin.f64 x)) |
(-.f64 (sin.f64 eps) (sin.f64 x)) |
(-.f64 (sin.f64 eps) (sin.f64 x)) |
(-.f64 (sin.f64 eps) (sin.f64 x)) |
(-.f64 (sin.f64 eps) (sin.f64 x)) |
(-.f64 (sin.f64 eps) (sin.f64 x)) |
(-.f64 (sin.f64 eps) (sin.f64 x)) |
(-.f64 (sin.f64 eps) (sin.f64 x)) |
(sin.f64 eps) |
(+.f64 (*.f64 -1 x) (sin.f64 eps)) |
(fma.f64 -1 x (sin.f64 eps)) |
(-.f64 (sin.f64 eps) x) |
(+.f64 (*.f64 1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1 x) (sin.f64 eps))) |
(fma.f64 1/6 (pow.f64 x 3) (fma.f64 -1 x (sin.f64 eps))) |
(fma.f64 1/6 (pow.f64 x 3) (-.f64 (sin.f64 eps) x)) |
(-.f64 (fma.f64 1/6 (pow.f64 x 3) (sin.f64 eps)) x) |
(+.f64 (*.f64 1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1 x) (+.f64 (*.f64 -1/120 (pow.f64 x 5)) (sin.f64 eps)))) |
(fma.f64 1/6 (pow.f64 x 3) (fma.f64 -1 x (fma.f64 -1/120 (pow.f64 x 5) (sin.f64 eps)))) |
(fma.f64 1/6 (pow.f64 x 3) (-.f64 (fma.f64 -1/120 (pow.f64 x 5) (sin.f64 eps)) x)) |
(-.f64 (fma.f64 1/6 (pow.f64 x 3) (fma.f64 -1/120 (pow.f64 x 5) (sin.f64 eps))) x) |
(fma.f64 -1/120 (pow.f64 x 5) (-.f64 (fma.f64 1/6 (pow.f64 x 3) (sin.f64 eps)) x)) |
(-.f64 (sin.f64 eps) (sin.f64 x)) |
(-.f64 (sin.f64 eps) (sin.f64 x)) |
(-.f64 (sin.f64 eps) (sin.f64 x)) |
(-.f64 (sin.f64 eps) (sin.f64 x)) |
(-.f64 (sin.f64 eps) (sin.f64 x)) |
(-.f64 (sin.f64 eps) (sin.f64 x)) |
(-.f64 (sin.f64 eps) (sin.f64 x)) |
(-.f64 (sin.f64 eps) (sin.f64 x)) |
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.1b | (*.f64 eps (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) |
| ✓ | 0.2b | (*.f64 (*.f64 eps (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) (cbrt.f64 (cos.f64 x))) |
| ✓ | 0.3b | (pow.f64 (cbrt.f64 (cos.f64 x)) 2) |
| ✓ | 0.3b | (cbrt.f64 (cos.f64 x)) |
Compiled 33 to 14 computations (57.6% saved)
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 2.0ms | eps | @ | 0 | (*.f64 eps (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) |
| 2.0ms | x | @ | inf | (*.f64 eps (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) |
| 2.0ms | x | @ | -inf | (*.f64 eps (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) |
| 2.0ms | eps | @ | 0 | (*.f64 (*.f64 eps (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) (cbrt.f64 (cos.f64 x))) |
| 2.0ms | x | @ | inf | (cbrt.f64 (cos.f64 x)) |
| 1× | batch-egg-rewrite |
| 766× | pow1_binary64 |
| 705× | add-log-exp_binary64 |
| 705× | log1p-expm1-u_binary64 |
| 705× | expm1-log1p-u_binary64 |
| 688× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 30 |
| 1 | 181 | 30 |
| 2 | 2011 | 30 |
| 1× | node limit |
| Inputs |
|---|
(cbrt.f64 (cos.f64 x)) |
(pow.f64 (cbrt.f64 (cos.f64 x)) 2) |
(*.f64 (*.f64 eps (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) (cbrt.f64 (cos.f64 x))) |
(*.f64 eps (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 (cos.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cos.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 x))) 2) (cbrt.f64 (cbrt.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (cos.f64 x))) (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cos.f64 x) 1/6) (pow.f64 (cos.f64 x) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 4))) (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 x))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (cos.f64 x)) 1/3) (pow.f64 (sqrt.f64 (cos.f64 x)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cos.f64 x) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cos.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 x) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (cbrt.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (cos.f64 x)))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cos.f64 x)) (cbrt.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (cbrt.f64 (cos.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 x))) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 x))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (cos.f64 x))) (cbrt.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 4)) (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 x)) (pow.f64 (cos.f64 x) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cos.f64 x) 1/6) (*.f64 (pow.f64 (cos.f64 x) 1/6) (cbrt.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (cos.f64 x)) (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 x))) 2)) (cbrt.f64 (cbrt.f64 (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (cos.f64 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 (cbrt.f64 (cos.f64 x))))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (cos.f64 x) eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 x) eps) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (cos.f64 x) eps)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 eps) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (cos.f64 x) (*.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 2) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 eps 3) (pow.f64 (cos.f64 x) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cos.f64 x) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cos.f64 x) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cos.f64 x) eps))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) eps) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 2) eps) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) eps)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cbrt.f64 (cos.f64 x)) (sqrt.f64 eps)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 4) (*.f64 eps eps)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 eps) (pow.f64 (cbrt.f64 (cos.f64 x)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 2) eps))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 eps 3) (pow.f64 (cos.f64 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) eps))))))) |
| 1× | egg-herbie |
| 1924× | fma-def_binary64 |
| 724× | sqr-pow_binary64 |
| 430× | *-commutative_binary64 |
| 420× | cube-prod_binary64 |
| 327× | pow-sqr_binary64 |
Useful iterations: 8 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 68 | 684 |
| 1 | 172 | 672 |
| 2 | 433 | 662 |
| 3 | 1334 | 657 |
| 4 | 1963 | 655 |
| 5 | 2855 | 655 |
| 6 | 2995 | 655 |
| 7 | 3200 | 655 |
| 8 | 3419 | 646 |
| 9 | 5309 | 646 |
| 10 | 5733 | 646 |
| 11 | 6251 | 646 |
| 12 | 6843 | 646 |
| 13 | 7531 | 646 |
| 14 | 7866 | 646 |
| 1× | node limit |
| Inputs |
|---|
1 |
(+.f64 1 (*.f64 -1/6 (pow.f64 x 2))) |
(+.f64 (*.f64 -1/72 (pow.f64 x 4)) (+.f64 1 (*.f64 -1/6 (pow.f64 x 2)))) |
(+.f64 (*.f64 -1/72 (pow.f64 x 4)) (+.f64 1 (+.f64 (*.f64 -1/6 (pow.f64 x 2)) (*.f64 -23/6480 (pow.f64 x 6))))) |
(pow.f64 (cos.f64 x) 1/3) |
(pow.f64 (cos.f64 x) 1/3) |
(pow.f64 (cos.f64 x) 1/3) |
(pow.f64 (cos.f64 x) 1/3) |
(pow.f64 (cos.f64 x) 1/3) |
(pow.f64 (cos.f64 x) 1/3) |
(pow.f64 (cos.f64 x) 1/3) |
(pow.f64 (cos.f64 x) 1/3) |
1 |
(+.f64 (*.f64 -1/3 (pow.f64 x 2)) 1) |
(+.f64 (*.f64 -1/3 (pow.f64 x 2)) (+.f64 1 (*.f64 -1/405 (pow.f64 x 6)))) |
(+.f64 (*.f64 -1/3 (pow.f64 x 2)) (+.f64 1 (+.f64 (*.f64 -1/405 (pow.f64 x 6)) (*.f64 -1/1701 (pow.f64 x 8))))) |
(pow.f64 (pow.f64 (cos.f64 x) 2) 1/3) |
(pow.f64 (pow.f64 (cos.f64 x) 2) 1/3) |
(pow.f64 (pow.f64 (cos.f64 x) 2) 1/3) |
(pow.f64 (pow.f64 (cos.f64 x) 2) 1/3) |
(pow.f64 (pow.f64 (cos.f64 x) 2) 1/3) |
(pow.f64 (pow.f64 (cos.f64 x) 2) 1/3) |
(pow.f64 (pow.f64 (cos.f64 x) 2) 1/3) |
(pow.f64 (pow.f64 (cos.f64 x) 2) 1/3) |
(*.f64 (cos.f64 x) eps) |
(*.f64 (cos.f64 x) eps) |
(*.f64 (cos.f64 x) eps) |
(*.f64 (cos.f64 x) eps) |
(*.f64 (cos.f64 x) eps) |
(*.f64 (cos.f64 x) eps) |
(*.f64 (cos.f64 x) eps) |
(*.f64 (cos.f64 x) eps) |
(*.f64 (cos.f64 x) eps) |
(*.f64 (cos.f64 x) eps) |
(*.f64 (cos.f64 x) eps) |
(*.f64 (cos.f64 x) eps) |
eps |
(+.f64 eps (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(+.f64 eps (+.f64 (*.f64 1/24 (*.f64 eps (pow.f64 x 4))) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))) |
(+.f64 (*.f64 -1/720 (*.f64 eps (pow.f64 x 6))) (+.f64 eps (+.f64 (*.f64 1/24 (*.f64 eps (pow.f64 x 4))) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))))) |
(*.f64 (cos.f64 x) eps) |
(*.f64 (cos.f64 x) eps) |
(*.f64 (cos.f64 x) eps) |
(*.f64 (cos.f64 x) eps) |
(*.f64 eps (cos.f64 x)) |
(*.f64 eps (cos.f64 x)) |
(*.f64 eps (cos.f64 x)) |
(*.f64 eps (cos.f64 x)) |
(*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3) eps) |
(*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3) eps) |
(*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3) eps) |
(*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3) eps) |
(*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3) eps) |
(*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3) eps) |
(*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3) eps) |
(*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3) eps) |
(*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3) eps) |
(*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3) eps) |
(*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3) eps) |
(*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3) eps) |
eps |
(+.f64 (*.f64 -1/3 (*.f64 eps (pow.f64 x 2))) eps) |
(+.f64 (*.f64 -1/3 (*.f64 eps (pow.f64 x 2))) (+.f64 eps (*.f64 -1/405 (*.f64 eps (pow.f64 x 6))))) |
(+.f64 (*.f64 -1/3 (*.f64 eps (pow.f64 x 2))) (+.f64 (*.f64 -1/1701 (*.f64 eps (pow.f64 x 8))) (+.f64 eps (*.f64 -1/405 (*.f64 eps (pow.f64 x 6)))))) |
(*.f64 eps (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3)) |
(*.f64 eps (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3)) |
(*.f64 eps (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3)) |
(*.f64 eps (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3)) |
(*.f64 eps (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3)) |
(*.f64 eps (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3)) |
(*.f64 eps (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3)) |
(*.f64 eps (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3)) |
| Outputs |
|---|
1 |
(+.f64 1 (*.f64 -1/6 (pow.f64 x 2))) |
(+.f64 1 (*.f64 -1/6 (*.f64 x x))) |
(fma.f64 -1/6 (*.f64 x x) 1) |
(+.f64 (*.f64 -1/72 (pow.f64 x 4)) (+.f64 1 (*.f64 -1/6 (pow.f64 x 2)))) |
(fma.f64 -1/72 (pow.f64 x 4) (+.f64 1 (*.f64 -1/6 (*.f64 x x)))) |
(fma.f64 -1/72 (pow.f64 x 4) (fma.f64 -1/6 (*.f64 x x) 1)) |
(fma.f64 -1/6 (*.f64 x x) (fma.f64 -1/72 (pow.f64 x 4) 1)) |
(+.f64 (*.f64 -1/72 (pow.f64 x 4)) (+.f64 1 (+.f64 (*.f64 -1/6 (pow.f64 x 2)) (*.f64 -23/6480 (pow.f64 x 6))))) |
(fma.f64 -1/72 (pow.f64 x 4) (+.f64 1 (fma.f64 -1/6 (*.f64 x x) (*.f64 -23/6480 (pow.f64 x 6))))) |
(+.f64 (fma.f64 -23/6480 (pow.f64 x 6) (*.f64 -1/6 (*.f64 x x))) (fma.f64 -1/72 (pow.f64 x 4) 1)) |
(fma.f64 -1/72 (pow.f64 x 4) (fma.f64 -1/6 (*.f64 x x) (fma.f64 -23/6480 (pow.f64 x 6) 1))) |
(fma.f64 -1/6 (*.f64 x x) (fma.f64 -1/72 (pow.f64 x 4) (fma.f64 -23/6480 (pow.f64 x 6) 1))) |
(fma.f64 -23/6480 (pow.f64 x 6) (fma.f64 -1/6 (*.f64 x x) (fma.f64 -1/72 (pow.f64 x 4) 1))) |
(pow.f64 (cos.f64 x) 1/3) |
(cbrt.f64 (cos.f64 x)) |
(pow.f64 (cos.f64 x) 1/3) |
(cbrt.f64 (cos.f64 x)) |
(pow.f64 (cos.f64 x) 1/3) |
(cbrt.f64 (cos.f64 x)) |
(pow.f64 (cos.f64 x) 1/3) |
(cbrt.f64 (cos.f64 x)) |
(pow.f64 (cos.f64 x) 1/3) |
(cbrt.f64 (cos.f64 x)) |
(pow.f64 (cos.f64 x) 1/3) |
(cbrt.f64 (cos.f64 x)) |
(pow.f64 (cos.f64 x) 1/3) |
(cbrt.f64 (cos.f64 x)) |
(pow.f64 (cos.f64 x) 1/3) |
(cbrt.f64 (cos.f64 x)) |
1 |
(+.f64 (*.f64 -1/3 (pow.f64 x 2)) 1) |
(fma.f64 -1/3 (*.f64 x x) 1) |
(fma.f64 (*.f64 x x) -1/3 1) |
(fma.f64 x (*.f64 x -1/3) 1) |
(+.f64 (*.f64 -1/3 (pow.f64 x 2)) (+.f64 1 (*.f64 -1/405 (pow.f64 x 6)))) |
(+.f64 (fma.f64 -1/3 (*.f64 x x) 1) (*.f64 (pow.f64 x 6) -1/405)) |
(fma.f64 (*.f64 x x) -1/3 (fma.f64 (pow.f64 x 6) -1/405 1)) |
(fma.f64 x (*.f64 x -1/3) (fma.f64 (pow.f64 x 6) -1/405 1)) |
(+.f64 (*.f64 -1/3 (pow.f64 x 2)) (+.f64 1 (+.f64 (*.f64 -1/405 (pow.f64 x 6)) (*.f64 -1/1701 (pow.f64 x 8))))) |
(+.f64 (fma.f64 -1/3 (*.f64 x x) 1) (fma.f64 -1/405 (pow.f64 x 6) (*.f64 -1/1701 (pow.f64 x 8)))) |
(+.f64 (fma.f64 (*.f64 x x) -1/3 1) (fma.f64 (pow.f64 x 6) -1/405 (*.f64 -1/1701 (pow.f64 x 8)))) |
(fma.f64 x (*.f64 x -1/3) (fma.f64 (pow.f64 x 6) -1/405 (fma.f64 -1/1701 (pow.f64 x 8) 1))) |
(fma.f64 (*.f64 x x) (fma.f64 (pow.f64 x 6) -1/1701 -1/3) (fma.f64 (pow.f64 x 6) -1/405 1)) |
(pow.f64 (pow.f64 (cos.f64 x) 2) 1/3) |
(cbrt.f64 (pow.f64 (cos.f64 x) 2)) |
(pow.f64 (pow.f64 (cos.f64 x) 2) 1/3) |
(cbrt.f64 (pow.f64 (cos.f64 x) 2)) |
(pow.f64 (pow.f64 (cos.f64 x) 2) 1/3) |
(cbrt.f64 (pow.f64 (cos.f64 x) 2)) |
(pow.f64 (pow.f64 (cos.f64 x) 2) 1/3) |
(cbrt.f64 (pow.f64 (cos.f64 x) 2)) |
(pow.f64 (pow.f64 (cos.f64 x) 2) 1/3) |
(cbrt.f64 (pow.f64 (cos.f64 x) 2)) |
(pow.f64 (pow.f64 (cos.f64 x) 2) 1/3) |
(cbrt.f64 (pow.f64 (cos.f64 x) 2)) |
(pow.f64 (pow.f64 (cos.f64 x) 2) 1/3) |
(cbrt.f64 (pow.f64 (cos.f64 x) 2)) |
(pow.f64 (pow.f64 (cos.f64 x) 2) 1/3) |
(cbrt.f64 (pow.f64 (cos.f64 x) 2)) |
(*.f64 (cos.f64 x) eps) |
(*.f64 (cos.f64 x) eps) |
(*.f64 (cos.f64 x) eps) |
(*.f64 (cos.f64 x) eps) |
(*.f64 (cos.f64 x) eps) |
(*.f64 (cos.f64 x) eps) |
(*.f64 (cos.f64 x) eps) |
(*.f64 (cos.f64 x) eps) |
(*.f64 (cos.f64 x) eps) |
(*.f64 (cos.f64 x) eps) |
(*.f64 (cos.f64 x) eps) |
(*.f64 (cos.f64 x) eps) |
eps |
(+.f64 eps (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(+.f64 eps (*.f64 -1/2 (*.f64 (*.f64 x x) eps))) |
(fma.f64 -1/2 (*.f64 x (*.f64 x eps)) eps) |
(fma.f64 (*.f64 x x) (*.f64 eps -1/2) eps) |
(fma.f64 x (*.f64 x (*.f64 eps -1/2)) eps) |
(+.f64 eps (+.f64 (*.f64 1/24 (*.f64 eps (pow.f64 x 4))) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))) |
(+.f64 eps (fma.f64 1/24 (*.f64 (pow.f64 x 4) eps) (*.f64 -1/2 (*.f64 (*.f64 x x) eps)))) |
(+.f64 eps (fma.f64 -1/2 (*.f64 x (*.f64 x eps)) (*.f64 (pow.f64 x 4) (*.f64 eps 1/24)))) |
(fma.f64 (*.f64 x x) (*.f64 eps -1/2) (fma.f64 (pow.f64 x 4) (*.f64 eps 1/24) eps)) |
(fma.f64 (pow.f64 x 4) (*.f64 eps 1/24) (fma.f64 (*.f64 x x) (*.f64 eps -1/2) eps)) |
(*.f64 eps (fma.f64 x (*.f64 x -1/2) (fma.f64 (pow.f64 x 4) 1/24 1))) |
(+.f64 (*.f64 -1/720 (*.f64 eps (pow.f64 x 6))) (+.f64 eps (+.f64 (*.f64 1/24 (*.f64 eps (pow.f64 x 4))) (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))))) |
(fma.f64 -1/720 (*.f64 (pow.f64 x 6) eps) (+.f64 eps (fma.f64 1/24 (*.f64 (pow.f64 x 4) eps) (*.f64 -1/2 (*.f64 (*.f64 x x) eps))))) |
(+.f64 (fma.f64 -1/2 (*.f64 x (*.f64 x eps)) (*.f64 (pow.f64 x 4) (*.f64 eps 1/24))) (fma.f64 (*.f64 eps -1/720) (pow.f64 x 6) eps)) |
(fma.f64 (pow.f64 x 6) (*.f64 eps -1/720) (fma.f64 (*.f64 x x) (*.f64 eps -1/2) (fma.f64 (pow.f64 x 4) (*.f64 eps 1/24) eps))) |
(fma.f64 (pow.f64 x 6) (*.f64 eps -1/720) (fma.f64 (pow.f64 x 4) (*.f64 eps 1/24) (fma.f64 (*.f64 x x) (*.f64 eps -1/2) eps))) |
(*.f64 eps (fma.f64 x (fma.f64 1/24 (pow.f64 x 3) (*.f64 x -1/2)) (fma.f64 (pow.f64 x 6) -1/720 1))) |
(*.f64 (cos.f64 x) eps) |
(*.f64 (cos.f64 x) eps) |
(*.f64 (cos.f64 x) eps) |
(*.f64 (cos.f64 x) eps) |
(*.f64 eps (cos.f64 x)) |
(*.f64 (cos.f64 x) eps) |
(*.f64 eps (cos.f64 x)) |
(*.f64 (cos.f64 x) eps) |
(*.f64 eps (cos.f64 x)) |
(*.f64 (cos.f64 x) eps) |
(*.f64 eps (cos.f64 x)) |
(*.f64 (cos.f64 x) eps) |
(*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3) eps) |
(*.f64 eps (cbrt.f64 (pow.f64 (cos.f64 x) 2))) |
(*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3) eps) |
(*.f64 eps (cbrt.f64 (pow.f64 (cos.f64 x) 2))) |
(*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3) eps) |
(*.f64 eps (cbrt.f64 (pow.f64 (cos.f64 x) 2))) |
(*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3) eps) |
(*.f64 eps (cbrt.f64 (pow.f64 (cos.f64 x) 2))) |
(*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3) eps) |
(*.f64 eps (cbrt.f64 (pow.f64 (cos.f64 x) 2))) |
(*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3) eps) |
(*.f64 eps (cbrt.f64 (pow.f64 (cos.f64 x) 2))) |
(*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3) eps) |
(*.f64 eps (cbrt.f64 (pow.f64 (cos.f64 x) 2))) |
(*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3) eps) |
(*.f64 eps (cbrt.f64 (pow.f64 (cos.f64 x) 2))) |
(*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3) eps) |
(*.f64 eps (cbrt.f64 (pow.f64 (cos.f64 x) 2))) |
(*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3) eps) |
(*.f64 eps (cbrt.f64 (pow.f64 (cos.f64 x) 2))) |
(*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3) eps) |
(*.f64 eps (cbrt.f64 (pow.f64 (cos.f64 x) 2))) |
(*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3) eps) |
(*.f64 eps (cbrt.f64 (pow.f64 (cos.f64 x) 2))) |
eps |
(+.f64 (*.f64 -1/3 (*.f64 eps (pow.f64 x 2))) eps) |
(fma.f64 -1/3 (*.f64 (*.f64 x x) eps) eps) |
(fma.f64 -1/3 (*.f64 x (*.f64 x eps)) eps) |
(fma.f64 (*.f64 x x) (*.f64 -1/3 eps) eps) |
(fma.f64 x (*.f64 x (*.f64 -1/3 eps)) eps) |
(+.f64 (*.f64 -1/3 (*.f64 eps (pow.f64 x 2))) (+.f64 eps (*.f64 -1/405 (*.f64 eps (pow.f64 x 6))))) |
(+.f64 (fma.f64 -1/3 (*.f64 (*.f64 x x) eps) eps) (*.f64 (*.f64 -1/405 eps) (pow.f64 x 6))) |
(fma.f64 -1/3 (*.f64 x (*.f64 x eps)) (fma.f64 (*.f64 -1/405 eps) (pow.f64 x 6) eps)) |
(+.f64 eps (*.f64 eps (fma.f64 x (*.f64 x -1/3) (*.f64 (pow.f64 x 6) -1/405)))) |
(*.f64 eps (fma.f64 x (*.f64 x -1/3) (fma.f64 (pow.f64 x 6) -1/405 1))) |
(*.f64 (fma.f64 x (*.f64 x -1/3) (fma.f64 (pow.f64 x 6) -1/405 1)) eps) |
(+.f64 (*.f64 -1/3 (*.f64 eps (pow.f64 x 2))) (+.f64 (*.f64 -1/1701 (*.f64 eps (pow.f64 x 8))) (+.f64 eps (*.f64 -1/405 (*.f64 eps (pow.f64 x 6)))))) |
(fma.f64 -1/3 (*.f64 (*.f64 x x) eps) (fma.f64 -1/1701 (*.f64 (pow.f64 x 8) eps) (+.f64 eps (*.f64 (*.f64 -1/405 eps) (pow.f64 x 6))))) |
(fma.f64 -1/3 (*.f64 x (*.f64 x eps)) (fma.f64 -1/1701 (*.f64 (pow.f64 x 8) eps) (fma.f64 (*.f64 -1/405 eps) (pow.f64 x 6) eps))) |
(+.f64 (fma.f64 (*.f64 x x) (*.f64 -1/3 eps) eps) (*.f64 eps (fma.f64 (pow.f64 x 6) -1/405 (*.f64 -1/1701 (pow.f64 x 8))))) |
(+.f64 eps (*.f64 eps (fma.f64 x (*.f64 x -1/3) (fma.f64 (pow.f64 x 6) -1/405 (*.f64 -1/1701 (pow.f64 x 8)))))) |
(*.f64 eps (fma.f64 x (*.f64 x -1/3) (fma.f64 (pow.f64 x 6) -1/405 (fma.f64 -1/1701 (pow.f64 x 8) 1)))) |
(*.f64 (fma.f64 x (*.f64 x -1/3) (fma.f64 (pow.f64 x 6) -1/405 (fma.f64 -1/1701 (pow.f64 x 8) 1))) eps) |
(*.f64 (fma.f64 (*.f64 x x) (fma.f64 (pow.f64 x 6) -1/1701 -1/3) (fma.f64 (pow.f64 x 6) -1/405 1)) eps) |
(fma.f64 eps (fma.f64 x (*.f64 x -1/3) (*.f64 (pow.f64 x 6) (fma.f64 (*.f64 x x) -1/1701 -1/405))) eps) |
(*.f64 eps (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3)) |
(*.f64 eps (cbrt.f64 (pow.f64 (cos.f64 x) 2))) |
(*.f64 eps (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3)) |
(*.f64 eps (cbrt.f64 (pow.f64 (cos.f64 x) 2))) |
(*.f64 eps (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3)) |
(*.f64 eps (cbrt.f64 (pow.f64 (cos.f64 x) 2))) |
(*.f64 eps (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3)) |
(*.f64 eps (cbrt.f64 (pow.f64 (cos.f64 x) 2))) |
(*.f64 eps (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3)) |
(*.f64 eps (cbrt.f64 (pow.f64 (cos.f64 x) 2))) |
(*.f64 eps (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3)) |
(*.f64 eps (cbrt.f64 (pow.f64 (cos.f64 x) 2))) |
(*.f64 eps (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3)) |
(*.f64 eps (cbrt.f64 (pow.f64 (cos.f64 x) 2))) |
(*.f64 eps (pow.f64 (*.f64 (pow.f64 (cos.f64 x) 2) 1) 1/3)) |
(*.f64 eps (cbrt.f64 (pow.f64 (cos.f64 x) 2))) |
Compiled 7551 to 3738 computations (50.5% saved)
67 alts after pruning (58 fresh and 9 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 487 | 23 | 510 |
| Fresh | 15 | 35 | 50 |
| Picked | 0 | 1 | 1 |
| Done | 1 | 8 | 9 |
| Total | 503 | 67 | 570 |
| Status | Error | Program |
|---|---|---|
| 36.3b | (-.f64 (expm1.f64 (log1p.f64 (sin.f64 eps))) (sin.f64 x)) | |
| ✓ | 30.1b | (*.f64 (cos.f64 x) eps) |
| 60.6b | (-.f64 (+.f64 1 (*.f64 (cos.f64 x) eps)) 1) | |
| 49.6b | (+.f64 eps (*.f64 x (*.f64 x (*.f64 -1/2 eps)))) | |
| 37.7b | (-.f64 (sin.f64 eps) x) | |
| ✓ | 0.2b | (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) |
| 12.8b | (fma.f64 (sin.f64 eps) (cos.f64 x) (-.f64 (*.f64 (cos.f64 eps) x) x)) | |
| ✓ | 23.4b | (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) |
| 34.8b | (+.f64 (sin.f64 x) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) | |
| 43.3b | (-.f64 (log.f64 (exp.f64 (sin.f64 eps))) (sin.f64 x)) | |
| 30.1b | (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps))) | |
| 50.3b | (-.f64 (fabs.f64 (sin.f64 eps)) (sin.f64 x)) | |
| 38.9b | (cbrt.f64 (pow.f64 (-.f64 (sin.f64 eps) (sin.f64 x)) 3)) | |
| 51.6b | (sqrt.f64 (pow.f64 (-.f64 (sin.f64 eps) (sin.f64 x)) 2)) | |
| 50.4b | (-.f64 (fabs.f64 (sin.f64 (+.f64 x eps))) (sin.f64 x)) | |
| 59.5b | (pow.f64 (pow.f64 eps 3) 1/3) | |
| ✓ | 23.4b | (-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x)) |
| 25.1b | (/.f64 (-.f64 (pow.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) 2) (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 2)) (-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) (*.f64 (sin.f64 x) (cos.f64 eps)))) | |
| 54.2b | (sqrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 2)) | |
| 59.7b | (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (neg.f64 (sin.f64 x))) | |
| 36.8b | (-.f64 (pow.f64 (cbrt.f64 (sin.f64 eps)) 3) (sin.f64 x)) | |
| 46.9b | (pow.f64 (sqrt.f64 (*.f64 (cos.f64 x) eps)) 2) | |
| 36.4b | (*.f64 2 (*.f64 (sin.f64 (/.f64 (-.f64 eps x) 2)) (cos.f64 (/.f64 (+.f64 eps x) 2)))) | |
| 30.8b | (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 3) | |
| 30.6b | (expm1.f64 (log1p.f64 (*.f64 (cos.f64 x) eps))) | |
| 49.8b | (+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 x)))) | |
| 43.3b | (-.f64 (-.f64 (+.f64 1 (sin.f64 eps)) 1) (sin.f64 x)) | |
| 1.5b | (pow.f64 (cbrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))) 3) | |
| 60.1b | (neg.f64 (sin.f64 x)) | |
| 30.2b | (*.f64 eps (+.f64 (*.f64 (sin.f64 x) (*.f64 -1/2 eps)) (cos.f64 x))) | |
| 36.7b | (-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x)) | |
| 45.1b | (pow.f64 (pow.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))) 3) 1/3) | |
| 0.3b | (+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) | |
| 0.3b | (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (log1p.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1))) (sin.f64 x))) | |
| 0.3b | (log1p.f64 (expm1.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))) | |
| 36.2b | (-.f64 (sin.f64 eps) (sin.f64 x)) | |
| ✓ | 50.6b | (cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3)) |
| 38.3b | (+.f64 (*.f64 1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1 x) (sin.f64 eps))) | |
| 60.8b | (+.f64 (-.f64 (+.f64 1 (*.f64 (cos.f64 x) eps)) 1) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) | |
| 30.0b | (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)) | |
| 28.2b | (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x))) | |
| 40.3b | (*.f64 (*.f64 eps (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x))) | |
| 36.7b | (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (sin.f64 eps) x)) | |
| 23.4b | (-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x)) | |
| 26.0b | (fma.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) | |
| 36.7b | (-.f64 (fma.f64 (cos.f64 eps) x (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (sin.f64 eps))) x) | |
| 36.3b | (log1p.f64 (expm1.f64 (-.f64 (sin.f64 eps) (sin.f64 x)))) | |
| 20.4b | (cbrt.f64 (pow.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))) 3)) | |
| ✓ | 30.4b | (*.f64 (*.f64 eps (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) (cbrt.f64 (cos.f64 x))) |
| 60.9b | (-.f64 (sqrt.f64 (pow.f64 (sin.f64 x) 2)) (sin.f64 x)) | |
| 24.2b | (+.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 3)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) | |
| 30.1b | (pow.f64 (cbrt.f64 (sin.f64 eps)) 3) | |
| 45.4b | (*.f64 (*.f64 (cos.f64 x) (sqrt.f64 eps)) (sqrt.f64 eps)) | |
| 45.7b | (*.f64 (*.f64 (cos.f64 x) (cbrt.f64 (*.f64 eps eps))) (cbrt.f64 eps)) | |
| 47.2b | eps | |
| ✓ | 48.3b | (+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 eps)))) |
| ✓ | 0.3b | (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
| ✓ | 57.5b | (pow.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3) 1/3) |
| 30.2b | (fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 (sin.f64 x) (*.f64 (*.f64 eps eps) (+.f64 -1/2 (*.f64 (*.f64 eps eps) 1/24))))) | |
| 29.4b | (sin.f64 eps) | |
| 0.3b | (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (-.f64 -1 (cos.f64 eps))) (sin.f64 x))) | |
| 30.2b | (+.f64 (*.f64 eps (*.f64 eps (*.f64 (sin.f64 x) -1/2))) (*.f64 eps (cos.f64 x))) | |
| 30.8b | (*.f64 (pow.f64 (cbrt.f64 eps) 2) (*.f64 (cbrt.f64 eps) (cos.f64 x))) | |
| 47.0b | (*.f64 (*.f64 eps (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) 1) | |
| 50.6b | (cbrt.f64 (*.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 2) (cos.f64 x)) eps)) | |
| 36.8b | (pow.f64 (cbrt.f64 (-.f64 (sin.f64 eps) (sin.f64 x))) 3) | |
| 36.3b | (-.f64 (log1p.f64 (expm1.f64 (sin.f64 eps))) (sin.f64 x)) |
Compiled 832 to 583 computations (29.9% saved)
| Inputs |
|---|
eps |
eps |
eps |
(+.f64 eps (*.f64 x (*.f64 x (*.f64 -1/2 eps)))) |
(+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 x)))) |
(+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 eps)))) |
(+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 (+.f64 eps x))))) |
(sin.f64 eps) |
(neg.f64 (sin.f64 x)) |
(-.f64 (sin.f64 eps) x) |
(*.f64 (cos.f64 x) eps) |
(-.f64 (+.f64 1 (*.f64 (cos.f64 x) eps)) 1) |
(pow.f64 (pow.f64 eps 3) 1/3) |
(-.f64 (sin.f64 x) (sin.f64 x)) |
(-.f64 (sin.f64 eps) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
(-.f64 (-.f64 (+.f64 1 (sin.f64 eps)) 1) (sin.f64 x)) |
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)) |
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)) |
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)) |
(*.f64 eps (+.f64 (*.f64 (sin.f64 x) (*.f64 -1/2 eps)) (cos.f64 x))) |
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps -1/2)))) |
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 eps (sin.f64 x))))) |
(+.f64 (*.f64 1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1 x) (sin.f64 eps))) |
(+.f64 (*.f64 eps (*.f64 eps (*.f64 (sin.f64 x) -1/2))) (*.f64 eps (cos.f64 x))) |
(*.f64 2 (*.f64 (sin.f64 (/.f64 (-.f64 eps x) 2)) (cos.f64 (/.f64 (+.f64 eps x) 2)))) |
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 0 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))) |
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2) |
(pow.f64 (cbrt.f64 (sin.f64 eps)) 3) |
(-.f64 (fabs.f64 (sin.f64 eps)) (sin.f64 x)) |
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 x) eps))) |
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 x) eps))) |
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 2)) |
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 x) eps)) 2) |
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 3) |
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3)) |
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 2)) |
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 x) eps)) 2) |
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 3) |
(*.f64 (*.f64 (cos.f64 x) (sqrt.f64 eps)) (sqrt.f64 eps)) |
(-.f64 (fabs.f64 (sin.f64 (+.f64 x eps))) (sin.f64 x)) |
(pow.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3) 1/3) |
(-.f64 (fma.f64 (cos.f64 eps) x (sin.f64 eps)) x) |
(*.f64 (*.f64 eps (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) 1) |
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (neg.f64 (sin.f64 x))) |
(*.f64 (*.f64 (cos.f64 x) (cbrt.f64 (*.f64 eps eps))) (cbrt.f64 eps)) |
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (sin.f64 eps) x)) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x)) |
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(-.f64 (sqrt.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 (+.f64 x eps)))))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 eps) x (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (sin.f64 eps))) x) |
(+.f64 (-.f64 (+.f64 1 (*.f64 (cos.f64 x) eps)) 1) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(-.f64 (expm1.f64 (log1p.f64 (sin.f64 eps))) (sin.f64 x)) |
(-.f64 (log.f64 (exp.f64 (sin.f64 eps))) (sin.f64 x)) |
(log1p.f64 (expm1.f64 (-.f64 (sin.f64 eps) (sin.f64 x)))) |
(-.f64 (log1p.f64 (expm1.f64 (sin.f64 eps))) (sin.f64 x)) |
(cbrt.f64 (pow.f64 (-.f64 (sin.f64 eps) (sin.f64 x)) 3)) |
(sqrt.f64 (pow.f64 (-.f64 (sin.f64 eps) (sin.f64 x)) 2)) |
(-.f64 (pow.f64 (cbrt.f64 (sin.f64 eps)) 3) (sin.f64 x)) |
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 eps) (sin.f64 x))) 3) |
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 x) 2)) (sin.f64 x)) |
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 eps) 2)) (sin.f64 x)) |
(log1p.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) |
(*.f64 (*.f64 eps (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x))) |
(-.f64 (log.f64 (exp.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x)) |
(-.f64 (expm1.f64 (log1p.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x)) |
(log1p.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) |
(expm1.f64 (log1p.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) |
(-.f64 (expm1.f64 (log1p.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x)) |
(-.f64 (log.f64 (exp.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x)) |
(log.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) |
(*.f64 (pow.f64 (cbrt.f64 eps) 2) (*.f64 (cbrt.f64 eps) (cos.f64 x))) |
(sqrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2)) |
(sqrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2)) |
(-.f64 (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 3) (sin.f64 x)) |
(sqrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2)) |
(pow.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) |
(cbrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 3)) |
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (sin.f64 x)) |
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (-.f64 (*.f64 (cos.f64 eps) x) x)) |
(+.f64 (sin.f64 x) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) |
(-.f64 (-.f64 (exp.f64 (log1p.f64 (sin.f64 (+.f64 x eps)))) 1) (sin.f64 x)) |
(cbrt.f64 (*.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 2) (cos.f64 x)) eps)) |
(fma.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x))) |
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) |
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 eps (cos.f64 x)) (sin.f64 x))) |
(fma.f64 x (+.f64 (*.f64 (sin.f64 eps) (*.f64 x -1/2)) (cos.f64 eps)) (-.f64 (sin.f64 eps) x)) |
(-.f64 (fma.f64 x (+.f64 (cos.f64 eps) (*.f64 x (*.f64 (sin.f64 eps) -1/2))) (sin.f64 eps)) x) |
(+.f64 (*.f64 (cos.f64 x) eps) (-.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))) 1)) |
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (log.f64 (+.f64 1 (expm1.f64 (*.f64 eps (*.f64 eps (sin.f64 x)))))))) |
(fma.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 eps eps)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))))) |
(*.f64 (pow.f64 (cbrt.f64 2) 3) (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x)) (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (sin.f64 eps))) (sin.f64 x)) |
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) eps)) |
(*.f64 (*.f64 eps (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) (cbrt.f64 (cos.f64 x))) |
(log.f64 (*.f64 (exp.f64 (neg.f64 (sin.f64 x))) (exp.f64 (sin.f64 (+.f64 x eps))))) |
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
(-.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x)) |
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (-.f64 (sin.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps)))) |
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) |
(-.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x)) |
(fma.f64 (*.f64 (cos.f64 x) (sqrt.f64 eps)) (sqrt.f64 eps) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))) |
(fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (*.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps))) |
(fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 (sin.f64 x) (*.f64 (*.f64 eps eps) (+.f64 -1/2 (*.f64 (*.f64 eps eps) 1/24))))) |
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x)) |
(-.f64 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x)) |
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x)) |
(fma.f64 (sin.f64 x) (cos.f64 eps) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) |
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps))) |
(fma.f64 (*.f64 eps (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x)) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (fma.f64 -1/2 (*.f64 eps eps) (*.f64 1/24 (pow.f64 eps 4))) (sin.f64 x))) |
(fma.f64 (pow.f64 (cbrt.f64 eps) 2) (*.f64 (cbrt.f64 eps) (cos.f64 x)) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))) |
(fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 (sin.f64 x) (+.f64 (*.f64 eps (*.f64 eps -1/2)) (*.f64 1/24 (pow.f64 eps 4))))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (log1p.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1))) (sin.f64 x))) |
(log1p.f64 (expm1.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))) |
(pow.f64 (cbrt.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x)))) 3) |
(cbrt.f64 (pow.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))) 3)) |
(pow.f64 (pow.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))) 3) 1/3) |
(+.f64 (expm1.f64 (log1p.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) |
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (expm1.f64 (log1p.f64 (*.f64 (cos.f64 x) (sin.f64 eps)))) (sin.f64 x))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (/.f64 (pow.f64 (sin.f64 eps) 2) (-.f64 -1 (cos.f64 eps))) (sin.f64 x))) |
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (pow.f64 (sqrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) 2) (sin.f64 x))) |
(+.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 3)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) |
(fma.f64 (*.f64 eps (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) (cbrt.f64 (cos.f64 x)) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))) |
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (cbrt.f64 (pow.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) 3))) |
(/.f64 1 (/.f64 (fma.f64 eps (cos.f64 x) (*.f64 1/2 (*.f64 eps (*.f64 eps (sin.f64 x))))) (-.f64 (pow.f64 (*.f64 eps (cos.f64 x)) 2) (*.f64 1/4 (pow.f64 (*.f64 eps (sqrt.f64 (sin.f64 x))) 4))))) |
(fma.f64 (*.f64 (sin.f64 x) (cbrt.f64 (pow.f64 (cos.f64 eps) 2))) (cbrt.f64 (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 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))) |
(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))) |
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (fma.f64 (pow.f64 (cbrt.f64 (sin.f64 eps)) 2) (*.f64 (cbrt.f64 (sin.f64 eps)) (cos.f64 x)) (neg.f64 (sin.f64 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))) |
(-.f64 (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))) (sin.f64 x)) |
(-.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) 2) (cbrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x)) |
(/.f64 (-.f64 (pow.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) 2) (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 2)) (-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) (*.f64 (sin.f64 x) (cos.f64 eps)))) |
(-.f64 (/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 3) (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 3)) (+.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 2) (-.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2) (*.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps)))))) (sin.f64 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 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) (-.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) (*.f64 (sin.f64 x) (cos.f64 eps))) (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 2))) |
| Outputs |
|---|
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) |
4 calls:
| 125.0ms | eps |
| 97.0ms | x |
| 62.0ms | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
| 47.0ms | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
| Error | Segments | Branch |
|---|---|---|
| 0.2b | 1 | x |
| 0.2b | 1 | eps |
| 0.2b | 1 | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
| 0.2b | 1 | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
Compiled 1748 to 613 computations (64.9% saved)
| Inputs |
|---|
eps |
eps |
eps |
(+.f64 eps (*.f64 x (*.f64 x (*.f64 -1/2 eps)))) |
(+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 x)))) |
(+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 eps)))) |
(+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 (+.f64 eps x))))) |
(sin.f64 eps) |
(neg.f64 (sin.f64 x)) |
(-.f64 (sin.f64 eps) x) |
(*.f64 (cos.f64 x) eps) |
(-.f64 (+.f64 1 (*.f64 (cos.f64 x) eps)) 1) |
(pow.f64 (pow.f64 eps 3) 1/3) |
(-.f64 (sin.f64 x) (sin.f64 x)) |
(-.f64 (sin.f64 eps) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
(-.f64 (-.f64 (+.f64 1 (sin.f64 eps)) 1) (sin.f64 x)) |
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)) |
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)) |
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)) |
(*.f64 eps (+.f64 (*.f64 (sin.f64 x) (*.f64 -1/2 eps)) (cos.f64 x))) |
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps -1/2)))) |
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 eps (sin.f64 x))))) |
(+.f64 (*.f64 1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1 x) (sin.f64 eps))) |
(+.f64 (*.f64 eps (*.f64 eps (*.f64 (sin.f64 x) -1/2))) (*.f64 eps (cos.f64 x))) |
(*.f64 2 (*.f64 (sin.f64 (/.f64 (-.f64 eps x) 2)) (cos.f64 (/.f64 (+.f64 eps x) 2)))) |
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 0 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))) |
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2) |
(pow.f64 (cbrt.f64 (sin.f64 eps)) 3) |
(-.f64 (fabs.f64 (sin.f64 eps)) (sin.f64 x)) |
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 x) eps))) |
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 x) eps))) |
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 2)) |
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 x) eps)) 2) |
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 3) |
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3)) |
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 2)) |
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 x) eps)) 2) |
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 3) |
(*.f64 (*.f64 (cos.f64 x) (sqrt.f64 eps)) (sqrt.f64 eps)) |
(-.f64 (fabs.f64 (sin.f64 (+.f64 x eps))) (sin.f64 x)) |
(pow.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3) 1/3) |
(-.f64 (fma.f64 (cos.f64 eps) x (sin.f64 eps)) x) |
(*.f64 (*.f64 eps (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) 1) |
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (neg.f64 (sin.f64 x))) |
(*.f64 (*.f64 (cos.f64 x) (cbrt.f64 (*.f64 eps eps))) (cbrt.f64 eps)) |
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (sin.f64 eps) x)) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x)) |
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(-.f64 (sqrt.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 (+.f64 x eps)))))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 eps) x (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (sin.f64 eps))) x) |
(+.f64 (-.f64 (+.f64 1 (*.f64 (cos.f64 x) eps)) 1) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(-.f64 (expm1.f64 (log1p.f64 (sin.f64 eps))) (sin.f64 x)) |
(-.f64 (log.f64 (exp.f64 (sin.f64 eps))) (sin.f64 x)) |
(log1p.f64 (expm1.f64 (-.f64 (sin.f64 eps) (sin.f64 x)))) |
(-.f64 (log1p.f64 (expm1.f64 (sin.f64 eps))) (sin.f64 x)) |
(cbrt.f64 (pow.f64 (-.f64 (sin.f64 eps) (sin.f64 x)) 3)) |
(sqrt.f64 (pow.f64 (-.f64 (sin.f64 eps) (sin.f64 x)) 2)) |
(-.f64 (pow.f64 (cbrt.f64 (sin.f64 eps)) 3) (sin.f64 x)) |
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 eps) (sin.f64 x))) 3) |
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 x) 2)) (sin.f64 x)) |
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 eps) 2)) (sin.f64 x)) |
(log1p.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) |
(*.f64 (*.f64 eps (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x))) |
(-.f64 (log.f64 (exp.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x)) |
(-.f64 (expm1.f64 (log1p.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x)) |
(log1p.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) |
(expm1.f64 (log1p.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) |
(-.f64 (expm1.f64 (log1p.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x)) |
(-.f64 (log.f64 (exp.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x)) |
(log.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) |
(*.f64 (pow.f64 (cbrt.f64 eps) 2) (*.f64 (cbrt.f64 eps) (cos.f64 x))) |
(sqrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2)) |
(sqrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2)) |
(-.f64 (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 3) (sin.f64 x)) |
(sqrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2)) |
(pow.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) |
(cbrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 3)) |
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (sin.f64 x)) |
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (-.f64 (*.f64 (cos.f64 eps) x) x)) |
(+.f64 (sin.f64 x) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) |
(-.f64 (-.f64 (exp.f64 (log1p.f64 (sin.f64 (+.f64 x eps)))) 1) (sin.f64 x)) |
(cbrt.f64 (*.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 2) (cos.f64 x)) eps)) |
(fma.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x))) |
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) |
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 eps (cos.f64 x)) (sin.f64 x))) |
(fma.f64 x (+.f64 (*.f64 (sin.f64 eps) (*.f64 x -1/2)) (cos.f64 eps)) (-.f64 (sin.f64 eps) x)) |
(-.f64 (fma.f64 x (+.f64 (cos.f64 eps) (*.f64 x (*.f64 (sin.f64 eps) -1/2))) (sin.f64 eps)) x) |
(+.f64 (*.f64 (cos.f64 x) eps) (-.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))) 1)) |
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (log.f64 (+.f64 1 (expm1.f64 (*.f64 eps (*.f64 eps (sin.f64 x)))))))) |
(fma.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 eps eps)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))))) |
(*.f64 (pow.f64 (cbrt.f64 2) 3) (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x)) (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (sin.f64 eps))) (sin.f64 x)) |
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) eps)) |
(*.f64 (*.f64 eps (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) (cbrt.f64 (cos.f64 x))) |
(log.f64 (*.f64 (exp.f64 (neg.f64 (sin.f64 x))) (exp.f64 (sin.f64 (+.f64 x eps))))) |
| Outputs |
|---|
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) |
4 calls:
| 62.0ms | eps |
| 58.0ms | x |
| 40.0ms | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
| 37.0ms | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
| Error | Segments | Branch |
|---|---|---|
| 0.3b | 1 | x |
| 0.3b | 1 | eps |
| 0.3b | 1 | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
| 0.3b | 1 | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
Compiled 970 to 396 computations (59.2% saved)
| Inputs |
|---|
eps |
eps |
eps |
(+.f64 eps (*.f64 x (*.f64 x (*.f64 -1/2 eps)))) |
(+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 x)))) |
(+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 eps)))) |
(+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 (+.f64 eps x))))) |
(sin.f64 eps) |
(neg.f64 (sin.f64 x)) |
(-.f64 (sin.f64 eps) x) |
(*.f64 (cos.f64 x) eps) |
(-.f64 (+.f64 1 (*.f64 (cos.f64 x) eps)) 1) |
(pow.f64 (pow.f64 eps 3) 1/3) |
(-.f64 (sin.f64 x) (sin.f64 x)) |
(-.f64 (sin.f64 eps) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
(-.f64 (-.f64 (+.f64 1 (sin.f64 eps)) 1) (sin.f64 x)) |
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)) |
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)) |
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)) |
(*.f64 eps (+.f64 (*.f64 (sin.f64 x) (*.f64 -1/2 eps)) (cos.f64 x))) |
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps -1/2)))) |
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 eps (sin.f64 x))))) |
(+.f64 (*.f64 1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1 x) (sin.f64 eps))) |
(+.f64 (*.f64 eps (*.f64 eps (*.f64 (sin.f64 x) -1/2))) (*.f64 eps (cos.f64 x))) |
(*.f64 2 (*.f64 (sin.f64 (/.f64 (-.f64 eps x) 2)) (cos.f64 (/.f64 (+.f64 eps x) 2)))) |
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 0 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))) |
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2) |
(pow.f64 (cbrt.f64 (sin.f64 eps)) 3) |
(-.f64 (fabs.f64 (sin.f64 eps)) (sin.f64 x)) |
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 x) eps))) |
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 x) eps))) |
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 2)) |
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 x) eps)) 2) |
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 3) |
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3)) |
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 2)) |
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 x) eps)) 2) |
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 3) |
(*.f64 (*.f64 (cos.f64 x) (sqrt.f64 eps)) (sqrt.f64 eps)) |
(-.f64 (fabs.f64 (sin.f64 (+.f64 x eps))) (sin.f64 x)) |
(pow.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3) 1/3) |
(-.f64 (fma.f64 (cos.f64 eps) x (sin.f64 eps)) x) |
(*.f64 (*.f64 eps (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) 1) |
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (neg.f64 (sin.f64 x))) |
(*.f64 (*.f64 (cos.f64 x) (cbrt.f64 (*.f64 eps eps))) (cbrt.f64 eps)) |
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (sin.f64 eps) x)) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x)) |
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(-.f64 (sqrt.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 (+.f64 x eps)))))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 eps) x (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (sin.f64 eps))) x) |
(+.f64 (-.f64 (+.f64 1 (*.f64 (cos.f64 x) eps)) 1) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(-.f64 (expm1.f64 (log1p.f64 (sin.f64 eps))) (sin.f64 x)) |
(-.f64 (log.f64 (exp.f64 (sin.f64 eps))) (sin.f64 x)) |
(log1p.f64 (expm1.f64 (-.f64 (sin.f64 eps) (sin.f64 x)))) |
(-.f64 (log1p.f64 (expm1.f64 (sin.f64 eps))) (sin.f64 x)) |
(cbrt.f64 (pow.f64 (-.f64 (sin.f64 eps) (sin.f64 x)) 3)) |
(sqrt.f64 (pow.f64 (-.f64 (sin.f64 eps) (sin.f64 x)) 2)) |
(-.f64 (pow.f64 (cbrt.f64 (sin.f64 eps)) 3) (sin.f64 x)) |
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 eps) (sin.f64 x))) 3) |
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 x) 2)) (sin.f64 x)) |
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 eps) 2)) (sin.f64 x)) |
(log1p.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) |
(*.f64 (*.f64 eps (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x))) |
(-.f64 (log.f64 (exp.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x)) |
(-.f64 (expm1.f64 (log1p.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x)) |
(log1p.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) |
(expm1.f64 (log1p.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) |
(-.f64 (expm1.f64 (log1p.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x)) |
(-.f64 (log.f64 (exp.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x)) |
(log.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) |
(*.f64 (pow.f64 (cbrt.f64 eps) 2) (*.f64 (cbrt.f64 eps) (cos.f64 x))) |
(sqrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2)) |
(sqrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2)) |
(-.f64 (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 3) (sin.f64 x)) |
(sqrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2)) |
(pow.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) |
(cbrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 3)) |
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (sin.f64 x)) |
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (-.f64 (*.f64 (cos.f64 eps) x) x)) |
(+.f64 (sin.f64 x) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) |
(-.f64 (-.f64 (exp.f64 (log1p.f64 (sin.f64 (+.f64 x eps)))) 1) (sin.f64 x)) |
(cbrt.f64 (*.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 2) (cos.f64 x)) eps)) |
(fma.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x))) |
| Outputs |
|---|
(+.f64 (sin.f64 x) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x))) |
(+.f64 (sin.f64 x) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) |
4 calls:
| 130.0ms | eps |
| 47.0ms | x |
| 36.0ms | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
| 31.0ms | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
| Error | Segments | Branch |
|---|---|---|
| 12.8b | 1 | x |
| 11.4b | 3 | eps |
| 12.8b | 1 | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
| 12.8b | 1 | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
Compiled 783 to 316 computations (59.6% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 75.0ms | 1.0556431116860713e+37 | 4.32074551794446e+39 |
| 61.0ms | -24.337863054659543 | -1.6044258178957098 |
Compiled 14 to 10 computations (28.6% saved)
| Inputs |
|---|
eps |
eps |
eps |
(+.f64 eps (*.f64 x (*.f64 x (*.f64 -1/2 eps)))) |
(+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 x)))) |
(+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 eps)))) |
(+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 (+.f64 eps x))))) |
(sin.f64 eps) |
(neg.f64 (sin.f64 x)) |
(-.f64 (sin.f64 eps) x) |
(*.f64 (cos.f64 x) eps) |
(-.f64 (+.f64 1 (*.f64 (cos.f64 x) eps)) 1) |
(pow.f64 (pow.f64 eps 3) 1/3) |
(-.f64 (sin.f64 x) (sin.f64 x)) |
(-.f64 (sin.f64 eps) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
(-.f64 (-.f64 (+.f64 1 (sin.f64 eps)) 1) (sin.f64 x)) |
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)) |
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)) |
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)) |
(*.f64 eps (+.f64 (*.f64 (sin.f64 x) (*.f64 -1/2 eps)) (cos.f64 x))) |
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps -1/2)))) |
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 eps (sin.f64 x))))) |
(+.f64 (*.f64 1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1 x) (sin.f64 eps))) |
(+.f64 (*.f64 eps (*.f64 eps (*.f64 (sin.f64 x) -1/2))) (*.f64 eps (cos.f64 x))) |
(*.f64 2 (*.f64 (sin.f64 (/.f64 (-.f64 eps x) 2)) (cos.f64 (/.f64 (+.f64 eps x) 2)))) |
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 0 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))) |
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2) |
(pow.f64 (cbrt.f64 (sin.f64 eps)) 3) |
(-.f64 (fabs.f64 (sin.f64 eps)) (sin.f64 x)) |
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 x) eps))) |
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 x) eps))) |
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 2)) |
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 x) eps)) 2) |
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 3) |
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3)) |
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 2)) |
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 x) eps)) 2) |
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 3) |
(*.f64 (*.f64 (cos.f64 x) (sqrt.f64 eps)) (sqrt.f64 eps)) |
(-.f64 (fabs.f64 (sin.f64 (+.f64 x eps))) (sin.f64 x)) |
(pow.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3) 1/3) |
(-.f64 (fma.f64 (cos.f64 eps) x (sin.f64 eps)) x) |
(*.f64 (*.f64 eps (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) 1) |
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (neg.f64 (sin.f64 x))) |
(*.f64 (*.f64 (cos.f64 x) (cbrt.f64 (*.f64 eps eps))) (cbrt.f64 eps)) |
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (sin.f64 eps) x)) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x)) |
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(-.f64 (sqrt.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 (+.f64 x eps)))))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 eps) x (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (sin.f64 eps))) x) |
(+.f64 (-.f64 (+.f64 1 (*.f64 (cos.f64 x) eps)) 1) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(-.f64 (expm1.f64 (log1p.f64 (sin.f64 eps))) (sin.f64 x)) |
(-.f64 (log.f64 (exp.f64 (sin.f64 eps))) (sin.f64 x)) |
(log1p.f64 (expm1.f64 (-.f64 (sin.f64 eps) (sin.f64 x)))) |
(-.f64 (log1p.f64 (expm1.f64 (sin.f64 eps))) (sin.f64 x)) |
(cbrt.f64 (pow.f64 (-.f64 (sin.f64 eps) (sin.f64 x)) 3)) |
(sqrt.f64 (pow.f64 (-.f64 (sin.f64 eps) (sin.f64 x)) 2)) |
(-.f64 (pow.f64 (cbrt.f64 (sin.f64 eps)) 3) (sin.f64 x)) |
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 eps) (sin.f64 x))) 3) |
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 x) 2)) (sin.f64 x)) |
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 eps) 2)) (sin.f64 x)) |
(log1p.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) |
(*.f64 (*.f64 eps (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x))) |
(-.f64 (log.f64 (exp.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x)) |
(-.f64 (expm1.f64 (log1p.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x)) |
(log1p.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) |
(expm1.f64 (log1p.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) |
(-.f64 (expm1.f64 (log1p.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x)) |
(-.f64 (log.f64 (exp.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x)) |
(log.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) |
(*.f64 (pow.f64 (cbrt.f64 eps) 2) (*.f64 (cbrt.f64 eps) (cos.f64 x))) |
(sqrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2)) |
(sqrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2)) |
(-.f64 (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 3) (sin.f64 x)) |
(sqrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2)) |
(pow.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) |
(cbrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 3)) |
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (sin.f64 x)) |
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (-.f64 (*.f64 (cos.f64 eps) x) x)) |
(+.f64 (sin.f64 x) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) |
(-.f64 (-.f64 (exp.f64 (log1p.f64 (sin.f64 (+.f64 x eps)))) 1) (sin.f64 x)) |
(cbrt.f64 (*.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 2) (cos.f64 x)) eps)) |
(fma.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) |
| Outputs |
|---|
(+.f64 (sin.f64 x) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) |
(fma.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) |
(+.f64 (sin.f64 x) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) |
4 calls:
| 151.0ms | eps |
| 46.0ms | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
| 45.0ms | x |
| 35.0ms | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
| Error | Segments | Branch |
|---|---|---|
| 12.8b | 1 | x |
| 11.4b | 3 | eps |
| 12.8b | 1 | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
| 12.8b | 1 | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
Compiled 770 to 312 computations (59.5% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 51.0ms | 1.0556431116860713e+37 | 4.32074551794446e+39 |
| 56.0ms | -24.337863054659543 | -1.6044258178957098 |
Compiled 14 to 10 computations (28.6% saved)
| Inputs |
|---|
eps |
eps |
eps |
(+.f64 eps (*.f64 x (*.f64 x (*.f64 -1/2 eps)))) |
(+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 x)))) |
(+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 eps)))) |
(+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 (+.f64 eps x))))) |
(sin.f64 eps) |
(neg.f64 (sin.f64 x)) |
(-.f64 (sin.f64 eps) x) |
(*.f64 (cos.f64 x) eps) |
(-.f64 (+.f64 1 (*.f64 (cos.f64 x) eps)) 1) |
(pow.f64 (pow.f64 eps 3) 1/3) |
(-.f64 (sin.f64 x) (sin.f64 x)) |
(-.f64 (sin.f64 eps) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
(-.f64 (-.f64 (+.f64 1 (sin.f64 eps)) 1) (sin.f64 x)) |
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)) |
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)) |
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)) |
(*.f64 eps (+.f64 (*.f64 (sin.f64 x) (*.f64 -1/2 eps)) (cos.f64 x))) |
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps -1/2)))) |
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 eps (sin.f64 x))))) |
(+.f64 (*.f64 1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1 x) (sin.f64 eps))) |
(+.f64 (*.f64 eps (*.f64 eps (*.f64 (sin.f64 x) -1/2))) (*.f64 eps (cos.f64 x))) |
(*.f64 2 (*.f64 (sin.f64 (/.f64 (-.f64 eps x) 2)) (cos.f64 (/.f64 (+.f64 eps x) 2)))) |
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 0 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))) |
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2) |
(pow.f64 (cbrt.f64 (sin.f64 eps)) 3) |
(-.f64 (fabs.f64 (sin.f64 eps)) (sin.f64 x)) |
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 x) eps))) |
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 x) eps))) |
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 2)) |
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 x) eps)) 2) |
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 3) |
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3)) |
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 2)) |
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 x) eps)) 2) |
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 3) |
(*.f64 (*.f64 (cos.f64 x) (sqrt.f64 eps)) (sqrt.f64 eps)) |
(-.f64 (fabs.f64 (sin.f64 (+.f64 x eps))) (sin.f64 x)) |
(pow.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3) 1/3) |
(-.f64 (fma.f64 (cos.f64 eps) x (sin.f64 eps)) x) |
(*.f64 (*.f64 eps (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) 1) |
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (neg.f64 (sin.f64 x))) |
(*.f64 (*.f64 (cos.f64 x) (cbrt.f64 (*.f64 eps eps))) (cbrt.f64 eps)) |
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (sin.f64 eps) x)) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x)) |
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(-.f64 (sqrt.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 (+.f64 x eps)))))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 eps) x (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (sin.f64 eps))) x) |
(+.f64 (-.f64 (+.f64 1 (*.f64 (cos.f64 x) eps)) 1) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(-.f64 (expm1.f64 (log1p.f64 (sin.f64 eps))) (sin.f64 x)) |
(-.f64 (log.f64 (exp.f64 (sin.f64 eps))) (sin.f64 x)) |
(log1p.f64 (expm1.f64 (-.f64 (sin.f64 eps) (sin.f64 x)))) |
(-.f64 (log1p.f64 (expm1.f64 (sin.f64 eps))) (sin.f64 x)) |
(cbrt.f64 (pow.f64 (-.f64 (sin.f64 eps) (sin.f64 x)) 3)) |
(sqrt.f64 (pow.f64 (-.f64 (sin.f64 eps) (sin.f64 x)) 2)) |
(-.f64 (pow.f64 (cbrt.f64 (sin.f64 eps)) 3) (sin.f64 x)) |
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 eps) (sin.f64 x))) 3) |
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 x) 2)) (sin.f64 x)) |
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 eps) 2)) (sin.f64 x)) |
(log1p.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) |
(*.f64 (*.f64 eps (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x))) |
(-.f64 (log.f64 (exp.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x)) |
(-.f64 (expm1.f64 (log1p.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x)) |
(log1p.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) |
(expm1.f64 (log1p.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) |
(-.f64 (expm1.f64 (log1p.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x)) |
(-.f64 (log.f64 (exp.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x)) |
(log.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) |
(*.f64 (pow.f64 (cbrt.f64 eps) 2) (*.f64 (cbrt.f64 eps) (cos.f64 x))) |
(sqrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2)) |
(sqrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2)) |
(-.f64 (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 3) (sin.f64 x)) |
(sqrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2)) |
(pow.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) |
(cbrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 3)) |
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (sin.f64 x)) |
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (-.f64 (*.f64 (cos.f64 eps) x) x)) |
(+.f64 (sin.f64 x) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) |
(-.f64 (-.f64 (exp.f64 (log1p.f64 (sin.f64 (+.f64 x eps)))) 1) (sin.f64 x)) |
(cbrt.f64 (*.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 2) (cos.f64 x)) eps)) |
| Outputs |
|---|
(fma.f64 (sin.f64 eps) (cos.f64 x) (-.f64 (*.f64 (cos.f64 eps) x) x)) |
4 calls:
| 41.0ms | x |
| 40.0ms | eps |
| 32.0ms | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
| 28.0ms | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
| Error | Segments | Branch |
|---|---|---|
| 12.8b | 1 | x |
| 12.8b | 1 | eps |
| 12.8b | 1 | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
| 12.8b | 1 | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
Compiled 757 to 309 computations (59.2% saved)
| Inputs |
|---|
eps |
eps |
eps |
(+.f64 eps (*.f64 x (*.f64 x (*.f64 -1/2 eps)))) |
(+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 x)))) |
(+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 eps)))) |
(+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 (+.f64 eps x))))) |
(sin.f64 eps) |
(neg.f64 (sin.f64 x)) |
(-.f64 (sin.f64 eps) x) |
(*.f64 (cos.f64 x) eps) |
(-.f64 (+.f64 1 (*.f64 (cos.f64 x) eps)) 1) |
(pow.f64 (pow.f64 eps 3) 1/3) |
(-.f64 (sin.f64 x) (sin.f64 x)) |
(-.f64 (sin.f64 eps) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
(-.f64 (-.f64 (+.f64 1 (sin.f64 eps)) 1) (sin.f64 x)) |
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)) |
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)) |
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)) |
(*.f64 eps (+.f64 (*.f64 (sin.f64 x) (*.f64 -1/2 eps)) (cos.f64 x))) |
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps -1/2)))) |
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 eps (sin.f64 x))))) |
(+.f64 (*.f64 1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1 x) (sin.f64 eps))) |
(+.f64 (*.f64 eps (*.f64 eps (*.f64 (sin.f64 x) -1/2))) (*.f64 eps (cos.f64 x))) |
(*.f64 2 (*.f64 (sin.f64 (/.f64 (-.f64 eps x) 2)) (cos.f64 (/.f64 (+.f64 eps x) 2)))) |
(+.f64 (*.f64 (cos.f64 x) eps) (+.f64 0 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))) |
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2) |
(pow.f64 (cbrt.f64 (sin.f64 eps)) 3) |
(-.f64 (fabs.f64 (sin.f64 eps)) (sin.f64 x)) |
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 x) eps))) |
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 x) eps))) |
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 2)) |
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 x) eps)) 2) |
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 3) |
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3)) |
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 2)) |
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 x) eps)) 2) |
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 3) |
(*.f64 (*.f64 (cos.f64 x) (sqrt.f64 eps)) (sqrt.f64 eps)) |
(-.f64 (fabs.f64 (sin.f64 (+.f64 x eps))) (sin.f64 x)) |
(pow.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3) 1/3) |
(-.f64 (fma.f64 (cos.f64 eps) x (sin.f64 eps)) x) |
(*.f64 (*.f64 eps (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) 1) |
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (neg.f64 (sin.f64 x))) |
(*.f64 (*.f64 (cos.f64 x) (cbrt.f64 (*.f64 eps eps))) (cbrt.f64 eps)) |
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (sin.f64 eps) x)) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x)) |
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(-.f64 (sqrt.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 (+.f64 x eps)))))) (sin.f64 x)) |
(-.f64 (fma.f64 (cos.f64 eps) x (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (sin.f64 eps))) x) |
(+.f64 (-.f64 (+.f64 1 (*.f64 (cos.f64 x) eps)) 1) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(-.f64 (expm1.f64 (log1p.f64 (sin.f64 eps))) (sin.f64 x)) |
(-.f64 (log.f64 (exp.f64 (sin.f64 eps))) (sin.f64 x)) |
(log1p.f64 (expm1.f64 (-.f64 (sin.f64 eps) (sin.f64 x)))) |
(-.f64 (log1p.f64 (expm1.f64 (sin.f64 eps))) (sin.f64 x)) |
(cbrt.f64 (pow.f64 (-.f64 (sin.f64 eps) (sin.f64 x)) 3)) |
(sqrt.f64 (pow.f64 (-.f64 (sin.f64 eps) (sin.f64 x)) 2)) |
(-.f64 (pow.f64 (cbrt.f64 (sin.f64 eps)) 3) (sin.f64 x)) |
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 eps) (sin.f64 x))) 3) |
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 x) 2)) (sin.f64 x)) |
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 eps) 2)) (sin.f64 x)) |
(log1p.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) |
(*.f64 (*.f64 eps (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x))) |
(-.f64 (log.f64 (exp.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x)) |
(-.f64 (expm1.f64 (log1p.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x)) |
(log1p.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) |
(expm1.f64 (log1p.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) |
(-.f64 (expm1.f64 (log1p.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x)) |
(-.f64 (log.f64 (exp.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x)) |
(log.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) |
(*.f64 (pow.f64 (cbrt.f64 eps) 2) (*.f64 (cbrt.f64 eps) (cos.f64 x))) |
(sqrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2)) |
(sqrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2)) |
(-.f64 (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 3) (sin.f64 x)) |
(sqrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2)) |
(pow.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) |
(cbrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 3)) |
(-.f64 (sqrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (sin.f64 x)) |
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3) |
| Outputs |
|---|
(-.f64 (sin.f64 eps) (sin.f64 x)) |
(+.f64 (*.f64 eps (*.f64 eps (*.f64 (sin.f64 x) -1/2))) (*.f64 eps (cos.f64 x))) |
(-.f64 (sin.f64 eps) (sin.f64 x)) |
4 calls:
| 122.0ms | eps |
| 112.0ms | x |
| 70.0ms | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
| 64.0ms | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
| Error | Segments | Branch |
|---|---|---|
| 12.7b | 3 | x |
| 12.0b | 3 | eps |
| 12.5b | 3 | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
| 12.5b | 3 | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
Compiled 712 to 295 computations (58.6% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 57.0ms | 0.0008569044353900222 | 5.962625102886873 |
| 59.0ms | -0.0004093905845400458 | -3.029191699827036e-5 |
Compiled 14 to 10 computations (28.6% saved)
| Inputs |
|---|
eps |
eps |
eps |
(+.f64 eps (*.f64 x (*.f64 x (*.f64 -1/2 eps)))) |
(+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 x)))) |
(+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 eps)))) |
(+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 (+.f64 eps x))))) |
(sin.f64 eps) |
(neg.f64 (sin.f64 x)) |
(-.f64 (sin.f64 eps) x) |
(*.f64 (cos.f64 x) eps) |
(-.f64 (+.f64 1 (*.f64 (cos.f64 x) eps)) 1) |
(pow.f64 (pow.f64 eps 3) 1/3) |
(-.f64 (sin.f64 x) (sin.f64 x)) |
(-.f64 (sin.f64 eps) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
(-.f64 (-.f64 (+.f64 1 (sin.f64 eps)) 1) (sin.f64 x)) |
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)) |
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)) |
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)) |
(*.f64 eps (+.f64 (*.f64 (sin.f64 x) (*.f64 -1/2 eps)) (cos.f64 x))) |
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps -1/2)))) |
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 eps (sin.f64 x))))) |
(+.f64 (*.f64 1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1 x) (sin.f64 eps))) |
| Outputs |
|---|
(-.f64 (sin.f64 eps) (sin.f64 x)) |
(*.f64 eps (+.f64 (*.f64 (sin.f64 x) (*.f64 -1/2 eps)) (cos.f64 x))) |
(-.f64 (sin.f64 eps) (sin.f64 x)) |
3 calls:
| 33.0ms | eps |
| 32.0ms | x |
| 20.0ms | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
| Error | Segments | Branch |
|---|---|---|
| 12.7b | 3 | x |
| 12.0b | 3 | eps |
| 12.5b | 3 | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
Compiled 182 to 93 computations (48.9% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 56.0ms | 0.0008569044353900222 | 5.962625102886873 |
| 57.0ms | -0.0004093905845400458 | -3.029191699827036e-5 |
Compiled 14 to 10 computations (28.6% saved)
| Inputs |
|---|
eps |
eps |
eps |
(+.f64 eps (*.f64 x (*.f64 x (*.f64 -1/2 eps)))) |
(+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 x)))) |
(+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 eps)))) |
(+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 (+.f64 eps x))))) |
(sin.f64 eps) |
(neg.f64 (sin.f64 x)) |
(-.f64 (sin.f64 eps) x) |
(*.f64 (cos.f64 x) eps) |
(-.f64 (+.f64 1 (*.f64 (cos.f64 x) eps)) 1) |
(pow.f64 (pow.f64 eps 3) 1/3) |
(-.f64 (sin.f64 x) (sin.f64 x)) |
(-.f64 (sin.f64 eps) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
(-.f64 (-.f64 (+.f64 1 (sin.f64 eps)) 1) (sin.f64 x)) |
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)) |
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)) |
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)) |
| Outputs |
|---|
(-.f64 (sin.f64 eps) (sin.f64 x)) |
(*.f64 (cos.f64 x) eps) |
(-.f64 (sin.f64 eps) (sin.f64 x)) |
3 calls:
| 28.0ms | eps |
| 27.0ms | x |
| 17.0ms | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
| Error | Segments | Branch |
|---|---|---|
| 12.7b | 3 | x |
| 12.1b | 3 | eps |
| 12.6b | 3 | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
Compiled 137 to 70 computations (48.9% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 57.0ms | 0.0008569044353900222 | 5.962625102886873 |
| 57.0ms | -0.0004093905845400458 | -3.029191699827036e-5 |
Compiled 14 to 10 computations (28.6% saved)
| Inputs |
|---|
eps |
eps |
eps |
(+.f64 eps (*.f64 x (*.f64 x (*.f64 -1/2 eps)))) |
(+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 x)))) |
(+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 eps)))) |
(+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 (+.f64 eps x))))) |
(sin.f64 eps) |
(neg.f64 (sin.f64 x)) |
(-.f64 (sin.f64 eps) x) |
(*.f64 (cos.f64 x) eps) |
(-.f64 (+.f64 1 (*.f64 (cos.f64 x) eps)) 1) |
(pow.f64 (pow.f64 eps 3) 1/3) |
(-.f64 (sin.f64 x) (sin.f64 x)) |
| Outputs |
|---|
(sin.f64 eps) |
(*.f64 (cos.f64 x) eps) |
(sin.f64 eps) |
2 calls:
| 20.0ms | eps |
| 19.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 13.1b | 3 | x |
| 12.3b | 3 | eps |
Compiled 80 to 42 computations (47.5% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 65.0ms | 1.4478825126045238e-27 | 3.866108660305141e-27 |
| 57.0ms | -0.0004093905845400458 | -3.029191699827036e-5 |
Compiled 14 to 10 computations (28.6% saved)
| Inputs |
|---|
eps |
eps |
eps |
(+.f64 eps (*.f64 x (*.f64 x (*.f64 -1/2 eps)))) |
(+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 x)))) |
(+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 eps)))) |
(+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 (+.f64 eps x))))) |
(sin.f64 eps) |
(neg.f64 (sin.f64 x)) |
(-.f64 (sin.f64 eps) x) |
| Outputs |
|---|
(sin.f64 eps) |
2 calls:
| 7.0ms | x |
| 6.0ms | eps |
| Error | Segments | Branch |
|---|---|---|
| 29.4b | 1 | x |
| 29.4b | 1 | eps |
Compiled 58 to 31 computations (46.6% saved)
Total -2.8b remaining (-5.9%)
Threshold costs -2.8b (-5.9%)
| Inputs |
|---|
eps |
eps |
eps |
(+.f64 eps (*.f64 x (*.f64 x (*.f64 -1/2 eps)))) |
(+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 x)))) |
(+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 eps)))) |
(+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 (+.f64 eps x))))) |
| Outputs |
|---|
eps |
2 calls:
| 5.0ms | x |
| 5.0ms | eps |
| Error | Segments | Branch |
|---|---|---|
| 47.2b | 1 | x |
| 47.2b | 1 | eps |
Compiled 49 to 27 computations (44.9% saved)
| 1× | egg-herbie |
| 14× | *-commutative_binary64 |
| 10× | +-commutative_binary64 |
| 5× | sub-neg_binary64 |
| 2× | neg-sub0_binary64 |
| 2× | neg-mul-1_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 59 | 348 |
| 1 | 81 | 348 |
| 2 | 89 | 348 |
| 3 | 93 | 348 |
| 4 | 95 | 348 |
| 1× | fuel |
| 1× | saturated |
| Inputs |
|---|
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) |
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) |
(if (<=.f64 eps -3425249718248715/140737488355328) (+.f64 (sin.f64 x) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) (if (<=.f64 eps 10556431116860712842650417394184355840) (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x))) (+.f64 (sin.f64 x) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))))) |
(if (<=.f64 eps -3425249718248715/140737488355328) (+.f64 (sin.f64 x) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) (if (<=.f64 eps 10556431116860712842650417394184355840) (fma.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) (+.f64 (sin.f64 x) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (-.f64 (*.f64 (cos.f64 eps) x) x)) |
(if (<=.f64 eps -7551923339196579/18446744073709551616) (-.f64 (sin.f64 eps) (sin.f64 x)) (if (<=.f64 eps 7903548407633161/9223372036854775808) (+.f64 (*.f64 eps (*.f64 eps (*.f64 (sin.f64 x) -1/2))) (*.f64 eps (cos.f64 x))) (-.f64 (sin.f64 eps) (sin.f64 x)))) |
(if (<=.f64 eps -7551923339196579/18446744073709551616) (-.f64 (sin.f64 eps) (sin.f64 x)) (if (<=.f64 eps 7903548407633161/9223372036854775808) (*.f64 eps (+.f64 (*.f64 (sin.f64 x) (*.f64 -1/2 eps)) (cos.f64 x))) (-.f64 (sin.f64 eps) (sin.f64 x)))) |
(if (<=.f64 eps -7551923339196579/18446744073709551616) (-.f64 (sin.f64 eps) (sin.f64 x)) (if (<=.f64 eps 7903548407633161/9223372036854775808) (*.f64 (cos.f64 x) eps) (-.f64 (sin.f64 eps) (sin.f64 x)))) |
(if (<=.f64 eps -7551923339196579/18446744073709551616) (sin.f64 eps) (if (<=.f64 eps 8072214747750447/5575186299632655785383929568162090376495104) (*.f64 (cos.f64 x) eps) (sin.f64 eps))) |
(sin.f64 eps) |
eps |
| Outputs |
|---|
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) |
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
(if (<=.f64 eps -3425249718248715/140737488355328) (+.f64 (sin.f64 x) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) (if (<=.f64 eps 10556431116860712842650417394184355840) (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x))) (+.f64 (sin.f64 x) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))))) |
(if (<=.f64 eps -3425249718248715/140737488355328) (+.f64 (sin.f64 x) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) (if (<=.f64 eps 10556431116860712842650417394184355840) (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 eps eps)))) (+.f64 (sin.f64 x) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))))) |
(if (<=.f64 eps -3425249718248715/140737488355328) (+.f64 (sin.f64 x) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) (if (<=.f64 eps 10556431116860712842650417394184355840) (fma.f64 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) (+.f64 (sin.f64 x) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (-.f64 (*.f64 (cos.f64 eps) x) x)) |
(if (<=.f64 eps -7551923339196579/18446744073709551616) (-.f64 (sin.f64 eps) (sin.f64 x)) (if (<=.f64 eps 7903548407633161/9223372036854775808) (+.f64 (*.f64 eps (*.f64 eps (*.f64 (sin.f64 x) -1/2))) (*.f64 eps (cos.f64 x))) (-.f64 (sin.f64 eps) (sin.f64 x)))) |
(if (<=.f64 eps -7551923339196579/18446744073709551616) (-.f64 (sin.f64 eps) (sin.f64 x)) (if (<=.f64 eps 7903548407633161/9223372036854775808) (*.f64 eps (+.f64 (*.f64 (sin.f64 x) (*.f64 -1/2 eps)) (cos.f64 x))) (-.f64 (sin.f64 eps) (sin.f64 x)))) |
(if (<=.f64 eps -7551923339196579/18446744073709551616) (-.f64 (sin.f64 eps) (sin.f64 x)) (if (<=.f64 eps 7903548407633161/9223372036854775808) (*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps -1/2)))) (-.f64 (sin.f64 eps) (sin.f64 x)))) |
(if (<=.f64 eps -7551923339196579/18446744073709551616) (-.f64 (sin.f64 eps) (sin.f64 x)) (if (<=.f64 eps 7903548407633161/9223372036854775808) (*.f64 (cos.f64 x) eps) (-.f64 (sin.f64 eps) (sin.f64 x)))) |
(if (<=.f64 eps -7551923339196579/18446744073709551616) (-.f64 (sin.f64 eps) (sin.f64 x)) (if (<=.f64 eps 7903548407633161/9223372036854775808) (*.f64 eps (cos.f64 x)) (-.f64 (sin.f64 eps) (sin.f64 x)))) |
(if (<=.f64 eps -7551923339196579/18446744073709551616) (sin.f64 eps) (if (<=.f64 eps 8072214747750447/5575186299632655785383929568162090376495104) (*.f64 (cos.f64 x) eps) (sin.f64 eps))) |
(if (<=.f64 eps -7551923339196579/18446744073709551616) (sin.f64 eps) (if (<=.f64 eps 8072214747750447/5575186299632655785383929568162090376495104) (*.f64 eps (cos.f64 x)) (sin.f64 eps))) |
(sin.f64 eps) |
eps |
Compiled 245 to 130 computations (46.9% saved)
| 2× | egg-herbie |
| 589× | sub-neg_binary64 |
| 579× | fma-neg_binary64 |
| 538× | fma-def_binary64 |
| 486× | fma-def_binary64 |
| 464× | *-commutative_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 89 | 1080 |
| 1 | 261 | 1063 |
| 2 | 710 | 977 |
| 3 | 2290 | 973 |
| 4 | 3991 | 973 |
| 5 | 5252 | 972 |
| 6 | 7312 | 972 |
| 0 | 82 | 1018 |
| 1 | 227 | 995 |
| 2 | 649 | 949 |
| 3 | 2341 | 936 |
| 4 | 5438 | 936 |
| 5 | 7500 | 936 |
| 1× | node limit |
| 1× | node limit |
Compiled 225 to 155 computations (31.1% saved)
Compiled 225 to 75 computations (66.7% saved)
Loading profile data...