Time bar (total: 14.7s)
| 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.4s | 3655× | body | 1024 | valid |
| 1.3s | 1249× | body | 2048 | valid |
| 573.0ms | 1958× | body | 256 | valid |
| 526.0ms | 1394× | body | 512 | 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 |
|---|---|---|
| ▶ | 35.2b | (-.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 |
|---|---|---|
| ✓ | 1.2b | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
| ✓ | 2.8b | (sin.f64 (+.f64 x eps)) |
Compiled 20 to 6 computations (70% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | eps | @ | inf | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
| 1.0ms | eps | @ | 0 | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
| 1.0ms | x | @ | 0 | (sin.f64 (+.f64 x eps)) |
| 1.0ms | eps | @ | 0 | (sin.f64 (+.f64 x eps)) |
| 1.0ms | x | @ | -inf | (-.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)
32 alts after pruning (31 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 174 | 31 | 205 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 174 | 32 | 206 |
| Status | Error | Program |
|---|---|---|
| 35.5b | (*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2) | |
| 35.3b | (-.f64 (log1p.f64 (expm1.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x)) | |
| 24.2b | (-.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x)) | |
| 36.2b | (-.f64 (fma.f64 x (+.f64 (cos.f64 eps) (*.f64 x (*.f64 (sin.f64 eps) -1/2))) (sin.f64 eps)) x) | |
| 24.8b | (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))) | |
| 24.8b | (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))) | |
| ▶ | 36.4b | (*.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)))) |
| ✓ | 35.2b | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
| 35.2b | (log1p.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) | |
| 47.7b | (pow.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) | |
| ▶ | 39.6b | (-.f64 (cbrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3)) (sin.f64 x)) |
| 36.4b | (-.f64 (fma.f64 (cos.f64 eps) x (sin.f64 eps)) (sin.f64 x)) | |
| 35.7b | (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3) | |
| 33.4b | (-.f64 (log.f64 (*.f64 (exp.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (exp.f64 (*.f64 (sin.f64 x) (cos.f64 eps))))) (sin.f64 x)) | |
| 27.9b | (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)) | |
| 36.4b | (-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x)) | |
| 39.3b | (cbrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 3)) | |
| 35.9b | (-.f64 (sin.f64 eps) (sin.f64 x)) | |
| 48.4b | (fma.f64 (sqrt.f64 (sin.f64 x)) (*.f64 (sqrt.f64 (sin.f64 x)) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) | |
| 24.2b | (-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x)) | |
| 44.2b | (-.f64 (log.f64 (exp.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x)) | |
| 48.1b | (-.f64 (sqrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (sin.f64 x)) | |
| 28.4b | (*.f64 eps (+.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 eps (sin.f64 x))))) | |
| 48.3b | (-.f64 (fma.f64 (sqrt.f64 (sin.f64 x)) (*.f64 (sqrt.f64 (sin.f64 x)) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x)) | |
| 36.2b | (-.f64 (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 3) (sin.f64 x)) | |
| 24.2b | (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) | |
| ▶ | 28.2b | (*.f64 (cos.f64 x) eps) |
| 61.2b | (-.f64 (sin.f64 x) (sin.f64 x)) | |
| ▶ | 24.2b | (fma.f64 (sin.f64 x) (cos.f64 eps) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) |
| 48.2b | (sqrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2)) | |
| ▶ | 28.5b | (+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
| 48.8b | (-.f64 (pow.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) 2) (sin.f64 x)) |
Compiled 891 to 594 computations (33.3% saved)
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.1b | (*.f64 (cos.f64 x) (sin.f64 eps)) |
| ✓ | 0.1b | (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) |
| ✓ | 1.8b | (fma.f64 (sin.f64 x) (cos.f64 eps) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) |
Compiled 38 to 9 computations (76.3% saved)
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 3.0ms | x | @ | inf | (fma.f64 (sin.f64 x) (cos.f64 eps) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) |
| 1.0ms | eps | @ | inf | (fma.f64 (sin.f64 x) (cos.f64 eps) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) |
| 1.0ms | x | @ | -inf | (fma.f64 (sin.f64 x) (cos.f64 eps) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) |
| 1.0ms | eps | @ | -inf | (fma.f64 (sin.f64 x) (cos.f64 eps) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) |
| 1.0ms | x | @ | 0 | (fma.f64 (sin.f64 x) (cos.f64 eps) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) |
| 1× | batch-egg-rewrite |
| 817× | prod-diff_binary64 |
| 519× | log-prod_binary64 |
| 339× | pow-prod-down_binary64 |
| 300× | fma-def_binary64 |
| 289× | pow2_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 42 |
| 1 | 208 | 42 |
| 2 | 2743 | 32 |
| 1× | node limit |
| Inputs |
|---|
(fma.f64 (sin.f64 x) (cos.f64 eps) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) |
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) |
(*.f64 (cos.f64 x) (sin.f64 eps)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) (*.f64 (sin.f64 x) (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))) (#(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 (*.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 1) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (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 (exp.f64 (log1p.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.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 (*.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 (*.f64 (sin.f64 x) (cos.f64 eps)) 2) (-.f64 (pow.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) 2) (*.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 2) (pow.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) 2)) (-.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.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 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 (exp.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))) (exp.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))))) (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 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.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 +.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) (fma.f64 -1 (sin.f64 x) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2)) (cbrt.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 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 (cos.f64 x)) (sqrt.f64 (sin.f64 eps)) (sqrt.f64 (sin.f64 x))) (-.f64 (sqrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (sqrt.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (sin.f64 x) (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)) (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2)) (-.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 3) (pow.f64 (sin.f64 x) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)) (-.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2) (pow.f64 (sin.f64 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 3) (pow.f64 (sin.f64 x) 3)) (fma.f64 (sin.f64 x) (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)) (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2) (pow.f64 (sin.f64 x) 2)) (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 3) (pow.f64 (sin.f64 x) 3))) (neg.f64 (fma.f64 (sin.f64 x) (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)) (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2) (pow.f64 (sin.f64 x) 2))) (neg.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 3) (pow.f64 (neg.f64 (sin.f64 x)) 3)) (+.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2) (-.f64 (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)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) 2) 1/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 (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 (/.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 (+.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 (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 (cbrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2)) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2)) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2)) (cbrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2)) (cbrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))) (pow.f64 (cbrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))) 2) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))) (pow.f64 (cbrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))) 2) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))) (pow.f64 (cbrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))) 2) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))) 2) (cbrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))) 2) (cbrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))) 2) (cbrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (sin.f64 eps)) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (sin.f64 eps)) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (neg.f64 (cbrt.f64 (sin.f64 x))) (*.f64 (cos.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (sin.f64 eps)) 2) (*.f64 (cbrt.f64 (sin.f64 eps)) (cos.f64 x)) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (sin.f64 eps)) 2) (*.f64 (cbrt.f64 (sin.f64 eps)) (cos.f64 x)) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (sqrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))) (sqrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))) (sqrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))) (sqrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) (sin.f64 eps)) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) (sin.f64 eps)) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 x)) (neg.f64 (sqrt.f64 (sin.f64 x))) (*.f64 (cos.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 eps)) (*.f64 (sqrt.f64 (sin.f64 eps)) (cos.f64 x)) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 eps)) (*.f64 (sqrt.f64 (sin.f64 eps)) (cos.f64 x)) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 3) (pow.f64 (sin.f64 x) 3)) (/.f64 1 (fma.f64 (sin.f64 x) (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)) (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2))) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 3) (pow.f64 (sin.f64 x) 3)) (/.f64 1 (fma.f64 (sin.f64 x) (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)) (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 3) (pow.f64 (sin.f64 x) 3)) (/.f64 1 (fma.f64 (sin.f64 x) (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)) (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2))) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2) (pow.f64 (sin.f64 x) 2)) (/.f64 1 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2) (pow.f64 (sin.f64 x) 2)) (/.f64 1 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2) (pow.f64 (sin.f64 x) 2)) (/.f64 1 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (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 (cos.f64 x)) (sqrt.f64 (sin.f64 eps)) (sqrt.f64 (sin.f64 x))) (-.f64 (sqrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (sqrt.f64 (sin.f64 x))) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (sqrt.f64 (cos.f64 x)) (sqrt.f64 (sin.f64 eps)) (sqrt.f64 (sin.f64 x))) (-.f64 (sqrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (sqrt.f64 (sin.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (sqrt.f64 (cos.f64 x)) (sqrt.f64 (sin.f64 eps)) (sqrt.f64 (sin.f64 x))) (-.f64 (sqrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (sqrt.f64 (sin.f64 x))) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2)) (cbrt.f64 (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 x) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2)) (cbrt.f64 (sin.f64 eps)) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 x) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2)) (cbrt.f64 (sin.f64 eps)) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 x) (sqrt.f64 (sin.f64 eps))) (sqrt.f64 (sin.f64 eps)) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 x) (sqrt.f64 (sin.f64 eps))) (sqrt.f64 (sin.f64 eps)) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 eps) (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) (cbrt.f64 (cos.f64 x)) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 eps) (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) (cbrt.f64 (cos.f64 x)) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 eps) (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x)) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 eps) (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x)) (*.f64 (neg.f64 (sin.f64 x)) 1)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.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 eps x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (cos.f64 x)) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x 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)))))) |
| 1× | egg-herbie |
| 547× | fma-def_binary64 |
| 415× | *-commutative_binary64 |
| 391× | fma-neg_binary64 |
| 375× | cancel-sign-sub-inv_binary64 |
| 346× | unswap-sqr_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 89 | 819 |
| 1 | 263 | 798 |
| 2 | 720 | 710 |
| 3 | 2405 | 706 |
| 4 | 4761 | 706 |
| 5 | 7944 | 706 |
| 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 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)))))) |
(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)))))) |
| 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 (*.f64 (sin.f64 eps) (fma.f64 -1/2 (*.f64 x x) 1))) |
(fma.f64 (cos.f64 eps) x (-.f64 (*.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) x) 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 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (fma.f64 (cos.f64 eps) x (-.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 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps)))) |
(fma.f64 eps (cos.f64 x) (*.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))))) |
(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 (*.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 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x)))) (*.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) (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 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps)))))) |
(fma.f64 1/24 (*.f64 (sin.f64 x) (pow.f64 eps 4)) (+.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) (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 -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))) |
(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 (*.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 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 1/6 (pow.f64 x 3) (-.f64 (*.f64 (sin.f64 eps) (fma.f64 -1/2 (*.f64 x x) 1)) x)) |
(fma.f64 (sin.f64 eps) (fma.f64 -1/2 (*.f64 x x) 1) (-.f64 (*.f64 1/6 (pow.f64 x 3)) 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) (fma.f64 -1/6 (pow.f64 eps 3) eps)) (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 (cos.f64 x) (*.f64 1/120 (pow.f64 eps 5))) (sin.f64 x)) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))))) |
(-.f64 (*.f64 (cos.f64 x) (+.f64 (fma.f64 1/120 (pow.f64 eps 5) eps) (*.f64 -1/6 (pow.f64 eps 3)))) (sin.f64 x)) |
(fma.f64 (cos.f64 x) (+.f64 (*.f64 1/120 (pow.f64 eps 5)) (fma.f64 -1/6 (pow.f64 eps 3) eps)) (neg.f64 (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 1 (fma.f64 -1/2 (*.f64 x x) (*.f64 1/24 (pow.f64 x 4))))) |
(+.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 (*.f64 (sin.f64 eps) (+.f64 (*.f64 1/24 (pow.f64 x 4)) (*.f64 -1/720 (pow.f64 x 6)))) (fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (sin.f64 eps))) |
(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/120 (pow.f64 eps 5) eps) (*.f64 -1/6 (pow.f64 eps 3)))) |
(*.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 eps (*.f64 1/120 (pow.f64 eps 5))))) |
(*.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))) |
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 | @ | 0 | (*.f64 (cos.f64 x) eps) |
| 1.0ms | x | @ | 0 | (*.f64 (cos.f64 x) eps) |
| 1.0ms | eps | @ | inf | (*.f64 (cos.f64 x) eps) |
| 1.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) | |
| ✓ | 3.4b | (*.f64 (pow.f64 eps 2) (sin.f64 x)) |
Compiled 44 to 23 computations (47.7% saved)
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | eps | @ | 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 | @ | 0 | (*.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.5b | (pow.f64 (sin.f64 (+.f64 x eps)) 3) |
| ✓ | 1.2b | (-.f64 (cbrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3)) (sin.f64 x)) |
| 2.8b | (sin.f64 (+.f64 x eps)) | |
| ✓ | 7.8b | (cbrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3)) |
Compiled 37 to 15 computations (59.5% saved)
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | eps | @ | 0 | (pow.f64 (sin.f64 (+.f64 x eps)) 3) |
| 1.0ms | x | @ | 0 | (pow.f64 (sin.f64 (+.f64 x eps)) 3) |
| 1.0ms | eps | @ | inf | (pow.f64 (sin.f64 (+.f64 x eps)) 3) |
| 1.0ms | eps | @ | -inf | (pow.f64 (sin.f64 (+.f64 x eps)) 3) |
| 1.0ms | x | @ | -inf | (pow.f64 (sin.f64 (+.f64 x eps)) 3) |
| 1× | batch-egg-rewrite |
| 477× | log-prod_binary64 |
| 415× | fma-def_binary64 |
| 326× | pow-prod-down_binary64 |
| 283× | pow2_binary64 |
| 228× | fma-neg_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 26 |
| 1 | 231 | 26 |
| 2 | 2957 | 26 |
| 1× | node limit |
| Inputs |
|---|
(cbrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3)) |
(-.f64 (cbrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3)) (sin.f64 x)) |
(pow.f64 (sin.f64 (+.f64 x eps)) 3) |
| 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 (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)) 2) 1/2)))) (#(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 (pow.f64 (sin.f64 (+.f64 x eps)) 9) 1/9)))) (#(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 pow.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3/2) 2/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)) (pow.f64 (exp.f64 (sin.f64 x)) (cos.f64 eps))))))) (#(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))))) (#(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 (log.f64 (cbrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2))) 3/2))))) (#(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 (*.f64 3 (log.f64 (sin.f64 (+.f64 x eps)))) 1/3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 3 (log.f64 (sin.f64 (+.f64 x eps)))) 1) 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 (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 (-.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 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 (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 (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 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 (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))) (-.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 (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 (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 +.f64 0 (pow.f64 (sin.f64 (+.f64 x eps)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (*.f64 (*.f64 (cos.f64 x) (sin.f64 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) (*.f64 (sin.f64 x) (cos.f64 eps))) (*.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (*.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)) 3))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 (+.f64 x eps)) (pow.f64 (sin.f64 (+.f64 x eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (sin.f64 (+.f64 x eps)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (*.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) (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)) 5/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3/2) (pow.f64 (sin.f64 (+.f64 x eps)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 5/2) (sqrt.f64 (sin.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) 1) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (sin.f64 (+.f64 x eps)) (cbrt.f64 (sin.f64 (+.f64 x eps)))) 2) (cbrt.f64 (sin.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 6))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 9))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 3 (log.f64 (sin.f64 (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (sin.f64 (+.f64 x eps)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (sin.f64 (+.f64 x eps)))) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 9)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/2 (log.f64 (sin.f64 (+.f64 x eps)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sin.f64 (+.f64 x eps))) 1) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 3 (log.f64 (sin.f64 (+.f64 x eps)))) 1/3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 3 (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/2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (*.f64 (cos.f64 x) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (pow.f64 (sin.f64 (+.f64 x eps)) 2) (*.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (pow.f64 (sin.f64 (+.f64 x eps)) 2))))))) |
| 1× | egg-herbie |
| 725× | associate-*l*_binary64 |
| 714× | associate-*r*_binary64 |
| 640× | unsub-neg_binary64 |
| 545× | fma-neg_binary64 |
| 436× | associate-+l+_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 136 | 1216 |
| 1 | 460 | 1182 |
| 2 | 1410 | 1106 |
| 3 | 6582 | 1106 |
| 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)) |
(pow.f64 (sin.f64 eps) 3) |
(+.f64 (pow.f64 (sin.f64 eps) 3) (*.f64 (+.f64 (*.f64 (cos.f64 eps) (pow.f64 (sin.f64 eps) 2)) (*.f64 2 (*.f64 (cos.f64 eps) (pow.f64 (sin.f64 eps) 2)))) x)) |
(+.f64 (pow.f64 (sin.f64 eps) 3) (+.f64 (*.f64 (+.f64 (*.f64 (cos.f64 eps) (pow.f64 (sin.f64 eps) 2)) (*.f64 2 (*.f64 (cos.f64 eps) (pow.f64 (sin.f64 eps) 2)))) x) (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 -1 (pow.f64 (sin.f64 eps) 2)) (pow.f64 (cos.f64 eps) 2)) (sin.f64 eps)) (+.f64 (*.f64 -1/2 (pow.f64 (sin.f64 eps) 3)) (*.f64 2 (*.f64 (pow.f64 (cos.f64 eps) 2) (sin.f64 eps))))) (pow.f64 x 2)))) |
(+.f64 (pow.f64 (sin.f64 eps) 3) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 -1 (*.f64 (cos.f64 eps) (sin.f64 eps))) (*.f64 -1/3 (*.f64 (cos.f64 eps) (sin.f64 eps)))) (sin.f64 eps)) (+.f64 (*.f64 -1 (*.f64 (cos.f64 eps) (pow.f64 (sin.f64 eps) 2))) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 (sin.f64 eps) 2))) (*.f64 (cos.f64 eps) (+.f64 (*.f64 -1 (pow.f64 (sin.f64 eps) 2)) (pow.f64 (cos.f64 eps) 2)))))) (pow.f64 x 3)) (+.f64 (*.f64 (+.f64 (*.f64 (cos.f64 eps) (pow.f64 (sin.f64 eps) 2)) (*.f64 2 (*.f64 (cos.f64 eps) (pow.f64 (sin.f64 eps) 2)))) x) (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 -1 (pow.f64 (sin.f64 eps) 2)) (pow.f64 (cos.f64 eps) 2)) (sin.f64 eps)) (+.f64 (*.f64 -1/2 (pow.f64 (sin.f64 eps) 3)) (*.f64 2 (*.f64 (pow.f64 (cos.f64 eps) 2) (sin.f64 eps))))) (pow.f64 x 2))))) |
(pow.f64 (sin.f64 (+.f64 eps x)) 3) |
(pow.f64 (sin.f64 (+.f64 eps x)) 3) |
(pow.f64 (sin.f64 (+.f64 eps x)) 3) |
(pow.f64 (sin.f64 (+.f64 eps x)) 3) |
(pow.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) 3) |
(pow.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) 3) |
(pow.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) 3) |
(pow.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) 3) |
(pow.f64 (sin.f64 x) 3) |
(+.f64 (*.f64 (+.f64 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2)) (*.f64 2 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2)))) eps) (pow.f64 (sin.f64 x) 3)) |
(+.f64 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1/2 (pow.f64 (sin.f64 x) 3)) (+.f64 (*.f64 (sin.f64 x) (+.f64 (*.f64 -1 (pow.f64 (sin.f64 x) 2)) (pow.f64 (cos.f64 x) 2))) (*.f64 2 (*.f64 (pow.f64 (cos.f64 x) 2) (sin.f64 x)))))) (+.f64 (*.f64 (+.f64 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2)) (*.f64 2 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2)))) eps) (pow.f64 (sin.f64 x) 3))) |
(+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 (cos.f64 x) (+.f64 (*.f64 -1 (pow.f64 (sin.f64 x) 2)) (pow.f64 (cos.f64 x) 2))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2))) (+.f64 (*.f64 (+.f64 (*.f64 -1/3 (*.f64 (cos.f64 x) (sin.f64 x))) (*.f64 -1 (*.f64 (cos.f64 x) (sin.f64 x)))) (sin.f64 x)) (*.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2))))))) (+.f64 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1/2 (pow.f64 (sin.f64 x) 3)) (+.f64 (*.f64 (sin.f64 x) (+.f64 (*.f64 -1 (pow.f64 (sin.f64 x) 2)) (pow.f64 (cos.f64 x) 2))) (*.f64 2 (*.f64 (pow.f64 (cos.f64 x) 2) (sin.f64 x)))))) (+.f64 (*.f64 (+.f64 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2)) (*.f64 2 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2)))) eps) (pow.f64 (sin.f64 x) 3)))) |
(pow.f64 (sin.f64 (+.f64 eps x)) 3) |
(pow.f64 (sin.f64 (+.f64 eps x)) 3) |
(pow.f64 (sin.f64 (+.f64 eps x)) 3) |
(pow.f64 (sin.f64 (+.f64 eps x)) 3) |
(pow.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) 3) |
(pow.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) 3) |
(pow.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) 3) |
(pow.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) 3) |
| Outputs |
|---|
(sin.f64 eps) |
(+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) |
(fma.f64 (cos.f64 eps) x (sin.f64 eps)) |
(+.f64 (*.f64 -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))) |
(+.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 x (*.f64 -1/6 (pow.f64 x 3)))) (*.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 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps)))) |
(fma.f64 eps (cos.f64 x) (fma.f64 -1/2 (*.f64 (sin.f64 x) (*.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))) |
(+.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 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps))) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))))) |
(+.f64 (fma.f64 -1/2 (*.f64 eps (*.f64 eps (sin.f64 x))) (sin.f64 x)) (*.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)) |
(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))) |
(+.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)))) |
(-.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 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps)) (*.f64 eps (cos.f64 x))) |
(fma.f64 eps (cos.f64 x) (*.f64 (*.f64 eps 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 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps))))) |
(+.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 (*.f64 eps eps) (*.f64 -1/2 (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 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps)))))) |
(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)))))) |
(+.f64 (*.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)) |
(pow.f64 (sin.f64 eps) 3) |
(+.f64 (pow.f64 (sin.f64 eps) 3) (*.f64 (+.f64 (*.f64 (cos.f64 eps) (pow.f64 (sin.f64 eps) 2)) (*.f64 2 (*.f64 (cos.f64 eps) (pow.f64 (sin.f64 eps) 2)))) x)) |
(+.f64 (pow.f64 (sin.f64 eps) 3) (*.f64 x (*.f64 3 (*.f64 (cos.f64 eps) (pow.f64 (sin.f64 eps) 2))))) |
(fma.f64 x (*.f64 3 (*.f64 (cos.f64 eps) (pow.f64 (sin.f64 eps) 2))) (pow.f64 (sin.f64 eps) 3)) |
(fma.f64 x (*.f64 (cos.f64 eps) (*.f64 3 (pow.f64 (sin.f64 eps) 2))) (pow.f64 (sin.f64 eps) 3)) |
(+.f64 (pow.f64 (sin.f64 eps) 3) (+.f64 (*.f64 (+.f64 (*.f64 (cos.f64 eps) (pow.f64 (sin.f64 eps) 2)) (*.f64 2 (*.f64 (cos.f64 eps) (pow.f64 (sin.f64 eps) 2)))) x) (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 -1 (pow.f64 (sin.f64 eps) 2)) (pow.f64 (cos.f64 eps) 2)) (sin.f64 eps)) (+.f64 (*.f64 -1/2 (pow.f64 (sin.f64 eps) 3)) (*.f64 2 (*.f64 (pow.f64 (cos.f64 eps) 2) (sin.f64 eps))))) (pow.f64 x 2)))) |
(+.f64 (pow.f64 (sin.f64 eps) 3) (fma.f64 (*.f64 3 (*.f64 (cos.f64 eps) (pow.f64 (sin.f64 eps) 2))) x (*.f64 (*.f64 x x) (fma.f64 (fma.f64 -1 (pow.f64 (sin.f64 eps) 2) (pow.f64 (cos.f64 eps) 2)) (sin.f64 eps) (fma.f64 -1/2 (pow.f64 (sin.f64 eps) 3) (*.f64 2 (*.f64 (sin.f64 eps) (pow.f64 (cos.f64 eps) 2)))))))) |
(+.f64 (pow.f64 (sin.f64 eps) 3) (fma.f64 (*.f64 x x) (fma.f64 (sin.f64 eps) (-.f64 (pow.f64 (cos.f64 eps) 2) (pow.f64 (sin.f64 eps) 2)) (fma.f64 -1/2 (pow.f64 (sin.f64 eps) 3) (*.f64 (sin.f64 eps) (*.f64 2 (pow.f64 (cos.f64 eps) 2))))) (*.f64 x (*.f64 3 (*.f64 (cos.f64 eps) (pow.f64 (sin.f64 eps) 2)))))) |
(+.f64 (pow.f64 (sin.f64 eps) 3) (*.f64 x (+.f64 (*.f64 (cos.f64 eps) (*.f64 3 (pow.f64 (sin.f64 eps) 2))) (*.f64 x (+.f64 (*.f64 -1/2 (pow.f64 (sin.f64 eps) 3)) (*.f64 (sin.f64 eps) (+.f64 (-.f64 (pow.f64 (cos.f64 eps) 2) (pow.f64 (sin.f64 eps) 2)) (*.f64 2 (pow.f64 (cos.f64 eps) 2))))))))) |
(+.f64 (pow.f64 (sin.f64 eps) 3) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 -1 (*.f64 (cos.f64 eps) (sin.f64 eps))) (*.f64 -1/3 (*.f64 (cos.f64 eps) (sin.f64 eps)))) (sin.f64 eps)) (+.f64 (*.f64 -1 (*.f64 (cos.f64 eps) (pow.f64 (sin.f64 eps) 2))) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 (sin.f64 eps) 2))) (*.f64 (cos.f64 eps) (+.f64 (*.f64 -1 (pow.f64 (sin.f64 eps) 2)) (pow.f64 (cos.f64 eps) 2)))))) (pow.f64 x 3)) (+.f64 (*.f64 (+.f64 (*.f64 (cos.f64 eps) (pow.f64 (sin.f64 eps) 2)) (*.f64 2 (*.f64 (cos.f64 eps) (pow.f64 (sin.f64 eps) 2)))) x) (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 -1 (pow.f64 (sin.f64 eps) 2)) (pow.f64 (cos.f64 eps) 2)) (sin.f64 eps)) (+.f64 (*.f64 -1/2 (pow.f64 (sin.f64 eps) 3)) (*.f64 2 (*.f64 (pow.f64 (cos.f64 eps) 2) (sin.f64 eps))))) (pow.f64 x 2))))) |
(+.f64 (pow.f64 (sin.f64 eps) 3) (fma.f64 (fma.f64 (*.f64 (*.f64 (sin.f64 eps) (cos.f64 eps)) -4/3) (sin.f64 eps) (fma.f64 -1 (*.f64 (cos.f64 eps) (pow.f64 (sin.f64 eps) 2)) (fma.f64 -1/6 (*.f64 (cos.f64 eps) (pow.f64 (sin.f64 eps) 2)) (*.f64 (cos.f64 eps) (fma.f64 -1 (pow.f64 (sin.f64 eps) 2) (pow.f64 (cos.f64 eps) 2)))))) (pow.f64 x 3) (fma.f64 (*.f64 3 (*.f64 (cos.f64 eps) (pow.f64 (sin.f64 eps) 2))) x (*.f64 (*.f64 x x) (fma.f64 (fma.f64 -1 (pow.f64 (sin.f64 eps) 2) (pow.f64 (cos.f64 eps) 2)) (sin.f64 eps) (fma.f64 -1/2 (pow.f64 (sin.f64 eps) 3) (*.f64 2 (*.f64 (sin.f64 eps) (pow.f64 (cos.f64 eps) 2))))))))) |
(+.f64 (pow.f64 (sin.f64 eps) 3) (fma.f64 (pow.f64 x 3) (+.f64 (+.f64 (*.f64 (*.f64 (cos.f64 eps) (pow.f64 (sin.f64 eps) 2)) -7/6) (pow.f64 (cos.f64 eps) 3)) (-.f64 (*.f64 (*.f64 (cos.f64 eps) (pow.f64 (sin.f64 eps) 2)) -4/3) (*.f64 (cos.f64 eps) (pow.f64 (sin.f64 eps) 2)))) (fma.f64 (*.f64 x x) (fma.f64 (sin.f64 eps) (-.f64 (pow.f64 (cos.f64 eps) 2) (pow.f64 (sin.f64 eps) 2)) (fma.f64 -1/2 (pow.f64 (sin.f64 eps) 3) (*.f64 (sin.f64 eps) (*.f64 2 (pow.f64 (cos.f64 eps) 2))))) (*.f64 x (*.f64 3 (*.f64 (cos.f64 eps) (pow.f64 (sin.f64 eps) 2))))))) |
(+.f64 (pow.f64 (sin.f64 eps) 3) (fma.f64 (pow.f64 x 3) (+.f64 (-.f64 (pow.f64 (cos.f64 eps) 3) (*.f64 (cos.f64 eps) (pow.f64 (sin.f64 eps) 2))) (*.f64 (*.f64 (cos.f64 eps) (pow.f64 (sin.f64 eps) 2)) -5/2)) (*.f64 x (+.f64 (*.f64 (cos.f64 eps) (*.f64 3 (pow.f64 (sin.f64 eps) 2))) (*.f64 x (+.f64 (*.f64 -1/2 (pow.f64 (sin.f64 eps) 3)) (*.f64 (sin.f64 eps) (+.f64 (-.f64 (pow.f64 (cos.f64 eps) 2) (pow.f64 (sin.f64 eps) 2)) (*.f64 2 (pow.f64 (cos.f64 eps) 2)))))))))) |
(pow.f64 (sin.f64 (+.f64 eps x)) 3) |
(pow.f64 (sin.f64 (+.f64 eps x)) 3) |
(pow.f64 (sin.f64 (+.f64 eps x)) 3) |
(pow.f64 (sin.f64 (+.f64 eps x)) 3) |
(pow.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) 3) |
(pow.f64 (sin.f64 (+.f64 eps x)) 3) |
(pow.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) 3) |
(pow.f64 (sin.f64 (+.f64 eps x)) 3) |
(pow.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) 3) |
(pow.f64 (sin.f64 (+.f64 eps x)) 3) |
(pow.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) 3) |
(pow.f64 (sin.f64 (+.f64 eps x)) 3) |
(pow.f64 (sin.f64 x) 3) |
(+.f64 (*.f64 (+.f64 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2)) (*.f64 2 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2)))) eps) (pow.f64 (sin.f64 x) 3)) |
(fma.f64 (*.f64 3 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2))) eps (pow.f64 (sin.f64 x) 3)) |
(fma.f64 eps (*.f64 3 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2))) (pow.f64 (sin.f64 x) 3)) |
(+.f64 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1/2 (pow.f64 (sin.f64 x) 3)) (+.f64 (*.f64 (sin.f64 x) (+.f64 (*.f64 -1 (pow.f64 (sin.f64 x) 2)) (pow.f64 (cos.f64 x) 2))) (*.f64 2 (*.f64 (pow.f64 (cos.f64 x) 2) (sin.f64 x)))))) (+.f64 (*.f64 (+.f64 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2)) (*.f64 2 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2)))) eps) (pow.f64 (sin.f64 x) 3))) |
(fma.f64 (*.f64 eps eps) (fma.f64 -1/2 (pow.f64 (sin.f64 x) 3) (fma.f64 (sin.f64 x) (fma.f64 -1 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2)) (*.f64 2 (*.f64 (sin.f64 x) (pow.f64 (cos.f64 x) 2))))) (fma.f64 (*.f64 3 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2))) eps (pow.f64 (sin.f64 x) 3))) |
(fma.f64 (*.f64 eps eps) (fma.f64 -1/2 (pow.f64 (sin.f64 x) 3) (*.f64 (sin.f64 x) (+.f64 (-.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 (sin.f64 x) 2)) (*.f64 2 (pow.f64 (cos.f64 x) 2))))) (fma.f64 eps (*.f64 3 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2))) (pow.f64 (sin.f64 x) 3))) |
(fma.f64 (*.f64 eps eps) (+.f64 (*.f64 (pow.f64 (sin.f64 x) 3) -3/2) (*.f64 3 (*.f64 (sin.f64 x) (pow.f64 (cos.f64 x) 2)))) (fma.f64 eps (*.f64 3 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2))) (pow.f64 (sin.f64 x) 3))) |
(+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 (cos.f64 x) (+.f64 (*.f64 -1 (pow.f64 (sin.f64 x) 2)) (pow.f64 (cos.f64 x) 2))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2))) (+.f64 (*.f64 (+.f64 (*.f64 -1/3 (*.f64 (cos.f64 x) (sin.f64 x))) (*.f64 -1 (*.f64 (cos.f64 x) (sin.f64 x)))) (sin.f64 x)) (*.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2))))))) (+.f64 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1/2 (pow.f64 (sin.f64 x) 3)) (+.f64 (*.f64 (sin.f64 x) (+.f64 (*.f64 -1 (pow.f64 (sin.f64 x) 2)) (pow.f64 (cos.f64 x) 2))) (*.f64 2 (*.f64 (pow.f64 (cos.f64 x) 2) (sin.f64 x)))))) (+.f64 (*.f64 (+.f64 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2)) (*.f64 2 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2)))) eps) (pow.f64 (sin.f64 x) 3)))) |
(fma.f64 (pow.f64 eps 3) (fma.f64 (cos.f64 x) (fma.f64 -1 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2)) (fma.f64 -1 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2)) (fma.f64 (*.f64 (*.f64 (sin.f64 x) (cos.f64 x)) -4/3) (sin.f64 x) (*.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2)))))) (fma.f64 (*.f64 eps eps) (fma.f64 -1/2 (pow.f64 (sin.f64 x) 3) (fma.f64 (sin.f64 x) (fma.f64 -1 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2)) (*.f64 2 (*.f64 (sin.f64 x) (pow.f64 (cos.f64 x) 2))))) (fma.f64 (*.f64 3 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2))) eps (pow.f64 (sin.f64 x) 3)))) |
(fma.f64 (pow.f64 eps 3) (fma.f64 (cos.f64 x) (-.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 (sin.f64 x) 2)) (-.f64 (fma.f64 -1/6 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2)) (*.f64 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2)) -4/3)) (*.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2)))) (fma.f64 (*.f64 eps eps) (fma.f64 -1/2 (pow.f64 (sin.f64 x) 3) (*.f64 (sin.f64 x) (+.f64 (-.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 (sin.f64 x) 2)) (*.f64 2 (pow.f64 (cos.f64 x) 2))))) (fma.f64 eps (*.f64 3 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2))) (pow.f64 (sin.f64 x) 3)))) |
(fma.f64 (pow.f64 eps 3) (+.f64 (pow.f64 (cos.f64 x) 3) (+.f64 (*.f64 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2)) -7/3) (*.f64 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2)) -7/6))) (fma.f64 (*.f64 eps eps) (+.f64 (*.f64 (pow.f64 (sin.f64 x) 3) -3/2) (*.f64 3 (*.f64 (sin.f64 x) (pow.f64 (cos.f64 x) 2)))) (fma.f64 eps (*.f64 3 (*.f64 (cos.f64 x) (pow.f64 (sin.f64 x) 2))) (pow.f64 (sin.f64 x) 3)))) |
(pow.f64 (sin.f64 (+.f64 eps x)) 3) |
(pow.f64 (sin.f64 (+.f64 eps x)) 3) |
(pow.f64 (sin.f64 (+.f64 eps x)) 3) |
(pow.f64 (sin.f64 (+.f64 eps x)) 3) |
(pow.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) 3) |
(pow.f64 (sin.f64 (+.f64 eps x)) 3) |
(pow.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) 3) |
(pow.f64 (sin.f64 (+.f64 eps x)) 3) |
(pow.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) 3) |
(pow.f64 (sin.f64 (+.f64 eps x)) 3) |
(pow.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) 3) |
(pow.f64 (sin.f64 (+.f64 eps x)) 3) |
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.1b | (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) |
| ✓ | 1.0b | (cbrt.f64 2) |
| ✓ | 2.1b | (+.f64 x (-.f64 eps x)) |
| ✓ | 2.8b | (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) |
Compiled 98 to 44 computations (55.1% saved)
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 6.0ms | x | @ | 0 | (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) |
| 2.0ms | x | @ | inf | (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) |
| 2.0ms | x | @ | -inf | (+.f64 x (-.f64 eps x)) |
| 1.0ms | x | @ | 0 | (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) |
| 1.0ms | eps | @ | 0 | (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) |
| 1× | batch-egg-rewrite |
| 464× | fma-neg_binary64 |
| 317× | expm1-udef_binary64 |
| 317× | log1p-udef_binary64 |
| 251× | log-pow_binary64 |
| 181× | add-sqr-sqrt_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 15 | 48 |
| 1 | 343 | 48 |
| 2 | 5096 | 48 |
| 1× | node limit |
| Inputs |
|---|
(cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) |
(+.f64 x (-.f64 eps x)) |
(cbrt.f64 2) |
(*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 (exp.f64 (log1p.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))) (cos.f64 1)) (*.f64 (sin.f64 (exp.f64 (log1p.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))) (sin.f64 1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 (*.f64 x 1/2)) (cos.f64 (*.f64 (+.f64 x eps) 1/2))) (*.f64 (sin.f64 (*.f64 x 1/2)) (sin.f64 (*.f64 (+.f64 x eps) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 (*.f64 (+.f64 x eps) 1/2)) (cos.f64 (*.f64 x 1/2))) (*.f64 (sin.f64 (*.f64 (+.f64 x eps) 1/2)) (sin.f64 (*.f64 x 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 (*.f64 (+.f64 x x) 1/2)) (cos.f64 (*.f64 eps 1/2))) (*.f64 (sin.f64 (*.f64 (+.f64 x x) 1/2)) (sin.f64 (*.f64 eps 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 (*.f64 1/2 x)) (cos.f64 (*.f64 1/2 (+.f64 x eps)))) (*.f64 (sin.f64 (*.f64 1/2 x)) (sin.f64 (*.f64 1/2 (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 (*.f64 1/2 (+.f64 x eps))) (cos.f64 (*.f64 1/2 x))) (*.f64 (sin.f64 (*.f64 1/2 (+.f64 x eps))) (sin.f64 (*.f64 1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 (*.f64 1/2 (+.f64 x x))) (cos.f64 (*.f64 1/2 eps))) (*.f64 (sin.f64 (*.f64 1/2 (+.f64 x x))) (sin.f64 (*.f64 1/2 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) (cbrt.f64 (pow.f64 (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) 2)) (cbrt.f64 (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) (sqrt.f64 (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 1)))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 eps (-.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x eps) x)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (+.f64 x (-.f64 eps x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 x x) (+.f64 (-.f64 x eps) x)) (/.f64 (pow.f64 (-.f64 eps x) 2) (+.f64 (-.f64 x eps) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (-.f64 eps x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x (-.f64 eps x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 x (-.f64 eps x))) (pow.f64 (cbrt.f64 (+.f64 x (-.f64 eps x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 x (-.f64 eps x))) 2) (cbrt.f64 (+.f64 x (-.f64 eps x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 x (-.f64 eps x))) (sqrt.f64 (+.f64 x (-.f64 eps x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 x 3) (pow.f64 (-.f64 eps x) 3)) (/.f64 1 (fma.f64 x x (*.f64 (-.f64 eps x) (-.f64 (-.f64 eps x) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x x) (pow.f64 (-.f64 eps x) 2)) (/.f64 1 (+.f64 (-.f64 x eps) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (+.f64 x eps)) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 x eps)) (sqrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 x x (*.f64 (-.f64 eps x) (-.f64 (-.f64 eps x) x))) (+.f64 (pow.f64 x 3) (pow.f64 (-.f64 eps x) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (-.f64 x eps) x) (-.f64 (*.f64 x x) (pow.f64 (-.f64 eps x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 (-.f64 eps x) 3)) (fma.f64 x x (*.f64 (-.f64 eps x) (-.f64 (-.f64 eps x) x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 (-.f64 eps x) 3)) (+.f64 (pow.f64 (-.f64 eps x) 2) (-.f64 (*.f64 x x) (*.f64 x (-.f64 eps x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (pow.f64 (-.f64 eps x) 2)) (+.f64 (-.f64 x eps) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 x 3) (pow.f64 (-.f64 eps x) 3))) (neg.f64 (fma.f64 x x (*.f64 (-.f64 eps x) (-.f64 (-.f64 eps x) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 (-.f64 eps x) 2))) (neg.f64 (+.f64 (-.f64 x eps) x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 x eps) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (+.f64 x eps) 2) (+.f64 (*.f64 x x) (*.f64 x (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 x eps) 2) (*.f64 x x)) (+.f64 x (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (-.f64 eps x) 2) (*.f64 x x)) (-.f64 (-.f64 eps x) x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 x (-.f64 eps x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 x (-.f64 eps x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 x (-.f64 eps x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 x (-.f64 eps x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 x (-.f64 eps x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 x (-.f64 eps x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (+.f64 x (-.f64 eps x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (+.f64 x eps))) (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (+.f64 x eps)) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (+.f64 x eps))) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (exp.f64 (-.f64 eps x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 x) (+.f64 1 (expm1.f64 (-.f64 eps x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (+.f64 1 (expm1.f64 (-.f64 eps x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (+.f64 x eps)) (exp.f64 (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (+.f64 x eps))) (exp.f64 (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (+.f64 x eps)) (/.f64 1 (exp.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (+.f64 x eps))) (/.f64 1 (exp.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (-.f64 eps x))) (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (-.f64 eps x)) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (-.f64 eps x))) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 x (-.f64 eps x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 x (-.f64 eps x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 x (-.f64 eps x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (+.f64 x (-.f64 eps x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (+.f64 x (-.f64 eps x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 eps 1 (neg.f64 (-.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 x eps) 1 (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (-.f64 eps x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 eps (neg.f64 (-.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 x eps) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 eps x) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 eps x)) 2) (cbrt.f64 (-.f64 eps x)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 eps) (pow.f64 (cbrt.f64 eps) 2) (neg.f64 (-.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 eps) 2) (cbrt.f64 eps) (neg.f64 (-.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x x)) (cbrt.f64 x) (-.f64 eps x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (+.f64 x eps)) (pow.f64 (cbrt.f64 (+.f64 x eps)) 2) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 x eps)) 2) (cbrt.f64 (+.f64 x eps)) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 eps x)) (sqrt.f64 (-.f64 eps x)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 eps) (sqrt.f64 eps) (neg.f64 (-.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (-.f64 eps x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 x eps)) (sqrt.f64 (+.f64 x eps)) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 eps 3) (pow.f64 x 3)) (/.f64 1 (fma.f64 x x (*.f64 eps (-.f64 eps x)))) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 x x) (*.f64 eps eps)) (/.f64 1 (-.f64 x eps)) (neg.f64 x)))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cbrt.f64 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 2)) (cbrt.f64 (cbrt.f64 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 4)) (cbrt.f64 (cbrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 2 1/6) (pow.f64 2 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 2 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 2 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (cbrt.f64 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 2)) 1)))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) (sin.f64 (*.f64 1/2 (+.f64 x (-.f64 eps x))))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 2 (+.f64 (sin.f64 (*.f64 1/2 (-.f64 (+.f64 x (-.f64 eps x)) (+.f64 x (+.f64 x eps))))) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x (-.f64 eps x)) (+.f64 x (+.f64 x eps))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (sin.f64 (*.f64 1/2 (-.f64 (+.f64 x (-.f64 eps x)) (+.f64 x (+.f64 x eps))))) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x (-.f64 eps x)) (+.f64 x (+.f64 x eps)))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (sin.f64 (*.f64 1/2 (-.f64 (+.f64 x (-.f64 eps x)) (+.f64 x (+.f64 x eps))))) (sin.f64 (*.f64 1/2 (+.f64 (+.f64 x (-.f64 eps x)) (+.f64 x (+.f64 x eps))))))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) (sin.f64 (*.f64 1/2 (+.f64 x (-.f64 eps x))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) (sin.f64 (*.f64 1/2 (+.f64 x (-.f64 eps x))))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) (sin.f64 (*.f64 1/2 (+.f64 x (-.f64 eps x)))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) (sin.f64 (*.f64 1/2 (+.f64 x (-.f64 eps x)))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) (sin.f64 (*.f64 1/2 (+.f64 x (-.f64 eps x))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sin.f64 (*.f64 1/2 (+.f64 x (-.f64 eps x))))) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) (sin.f64 (*.f64 1/2 (+.f64 x (-.f64 eps x))))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) (sin.f64 (*.f64 1/2 (+.f64 x (-.f64 eps x))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) 3) (pow.f64 (sin.f64 (*.f64 1/2 (+.f64 x (-.f64 eps x)))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 (+.f64 x (-.f64 eps x)))) 3) (pow.f64 (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) (sin.f64 (*.f64 1/2 (+.f64 x (-.f64 eps x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) (sin.f64 (*.f64 1/2 (+.f64 x (-.f64 eps x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) (sin.f64 (*.f64 1/2 (+.f64 x (-.f64 eps x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) (sin.f64 (*.f64 1/2 (+.f64 x (-.f64 eps x)))))) 1)))))) |
| 1× | egg-herbie |
| 640× | fma-def_binary64 |
| 581× | neg-sub0_binary64 |
| 542× | neg-mul-1_binary64 |
| 363× | associate-*l*_binary64 |
| 358× | associate-*r*_binary64 |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 94 | 993 |
| 1 | 270 | 919 |
| 2 | 748 | 767 |
| 3 | 2991 | 756 |
| 4 | 7093 | 746 |
| 1× | node limit |
| Inputs |
|---|
(cos.f64 (*.f64 1/2 eps)) |
(+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 1/2 eps)) x)) (cos.f64 (*.f64 1/2 eps))) |
(+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 1/2 eps)) x)) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 2))) (cos.f64 (*.f64 1/2 eps)))) |
(+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 1/2 eps)) x)) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 2))) (+.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 1/6 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 3)))))) |
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) |
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) |
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) |
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) |
(cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) |
(cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) |
(cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) |
(cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) |
(cos.f64 x) |
(+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (cos.f64 x)) |
(+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (cos.f64 x))) |
(+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (+.f64 (cos.f64 x) (*.f64 1/48 (*.f64 (pow.f64 eps 3) (sin.f64 x)))))) |
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) |
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) |
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) |
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) |
(cos.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))) |
(cos.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))) |
(cos.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))) |
(cos.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))) |
eps |
eps |
eps |
eps |
eps |
eps |
eps |
eps |
eps |
eps |
eps |
eps |
eps |
eps |
eps |
eps |
eps |
eps |
eps |
eps |
eps |
eps |
eps |
eps |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 eps))) |
(+.f64 (*.f64 -1 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 eps)))) |
(+.f64 (*.f64 -1 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) x)) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 2)))) (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 eps))))) |
(+.f64 (*.f64 -1 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) x)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 3))) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 2)))) (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 eps)))))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))) |
(*.f64 (cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))) |
(*.f64 (cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))) |
(*.f64 (cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))) |
(*.f64 (cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))) |
(*.f64 1/2 (*.f64 eps (cos.f64 x))) |
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 eps 2) (sin.f64 x))) (*.f64 1/2 (*.f64 eps (cos.f64 x)))) |
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 eps 2) (sin.f64 x))) (+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/16 (cos.f64 x)) (*.f64 -1/48 (cos.f64 x)))))) |
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 eps 2) (sin.f64 x))) (+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/16 (cos.f64 x)) (*.f64 -1/48 (cos.f64 x)))) (*.f64 1/48 (*.f64 (pow.f64 eps 4) (sin.f64 x)))))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))) |
| Outputs |
|---|
(cos.f64 (*.f64 1/2 eps)) |
(+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 1/2 eps)) x)) (cos.f64 (*.f64 1/2 eps))) |
(fma.f64 -1 (*.f64 (sin.f64 (*.f64 1/2 eps)) x) (cos.f64 (*.f64 1/2 eps))) |
(-.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 (sin.f64 (*.f64 1/2 eps)) x)) |
(fma.f64 x (sin.f64 (*.f64 eps -1/2)) (cos.f64 (*.f64 1/2 eps))) |
(+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 1/2 eps)) x)) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 2))) (cos.f64 (*.f64 1/2 eps)))) |
(fma.f64 -1 (*.f64 (sin.f64 (*.f64 1/2 eps)) x) (fma.f64 -1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 x x)) (cos.f64 (*.f64 1/2 eps)))) |
(-.f64 (fma.f64 -1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 x x)) (cos.f64 (*.f64 1/2 eps))) (*.f64 (sin.f64 (*.f64 1/2 eps)) x)) |
(-.f64 (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (cos.f64 (*.f64 1/2 eps))) (*.f64 (sin.f64 (*.f64 1/2 eps)) x)) |
(-.f64 (*.f64 (+.f64 1 (*.f64 x (*.f64 x -1/2))) (cos.f64 (*.f64 1/2 eps))) (*.f64 (sin.f64 (*.f64 1/2 eps)) x)) |
(fma.f64 (+.f64 1 (*.f64 x (*.f64 x -1/2))) (cos.f64 (*.f64 1/2 eps)) (*.f64 x (sin.f64 (*.f64 eps -1/2)))) |
(+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 1/2 eps)) x)) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 2))) (+.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 1/6 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 3)))))) |
(fma.f64 -1 (*.f64 (sin.f64 (*.f64 1/2 eps)) x) (+.f64 (fma.f64 -1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 x x)) (cos.f64 (*.f64 1/2 eps))) (*.f64 1/6 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 3))))) |
(-.f64 (fma.f64 -1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 x x)) (fma.f64 1/6 (*.f64 (sin.f64 (*.f64 1/2 eps)) (pow.f64 x 3)) (cos.f64 (*.f64 1/2 eps)))) (*.f64 (sin.f64 (*.f64 1/2 eps)) x)) |
(+.f64 (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (cos.f64 (*.f64 1/2 eps))) (*.f64 (sin.f64 (*.f64 1/2 eps)) (+.f64 (*.f64 1/6 (pow.f64 x 3)) (neg.f64 x)))) |
(+.f64 (*.f64 (+.f64 1 (*.f64 x (*.f64 x -1/2))) (cos.f64 (*.f64 1/2 eps))) (*.f64 (sin.f64 (*.f64 1/2 eps)) (-.f64 (*.f64 1/6 (pow.f64 x 3)) x))) |
(fma.f64 (+.f64 1 (*.f64 x (*.f64 x -1/2))) (cos.f64 (*.f64 1/2 eps)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (-.f64 (*.f64 1/6 (pow.f64 x 3)) x))) |
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) |
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))) |
(cos.f64 (fma.f64 1/2 eps (*.f64 x 1))) |
(cos.f64 (fma.f64 1/2 eps x)) |
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) |
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))) |
(cos.f64 (fma.f64 1/2 eps (*.f64 x 1))) |
(cos.f64 (fma.f64 1/2 eps x)) |
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) |
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))) |
(cos.f64 (fma.f64 1/2 eps (*.f64 x 1))) |
(cos.f64 (fma.f64 1/2 eps x)) |
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) |
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))) |
(cos.f64 (fma.f64 1/2 eps (*.f64 x 1))) |
(cos.f64 (fma.f64 1/2 eps x)) |
(cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) |
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))) |
(cos.f64 (fma.f64 1/2 eps (*.f64 x 1))) |
(cos.f64 (fma.f64 1/2 eps x)) |
(cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) |
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))) |
(cos.f64 (fma.f64 1/2 eps (*.f64 x 1))) |
(cos.f64 (fma.f64 1/2 eps x)) |
(cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) |
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))) |
(cos.f64 (fma.f64 1/2 eps (*.f64 x 1))) |
(cos.f64 (fma.f64 1/2 eps x)) |
(cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) |
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))) |
(cos.f64 (fma.f64 1/2 eps (*.f64 x 1))) |
(cos.f64 (fma.f64 1/2 eps x)) |
(cos.f64 x) |
(+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (cos.f64 x)) |
(fma.f64 -1/2 (*.f64 eps (sin.f64 x)) (cos.f64 x)) |
(fma.f64 eps (*.f64 -1/2 (sin.f64 x)) (cos.f64 x)) |
(+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (cos.f64 x))) |
(fma.f64 -1/2 (*.f64 eps (sin.f64 x)) (fma.f64 -1/8 (*.f64 (cos.f64 x) (*.f64 eps eps)) (cos.f64 x))) |
(fma.f64 -1/2 (*.f64 eps (sin.f64 x)) (fma.f64 -1/8 (*.f64 eps (*.f64 eps (cos.f64 x))) (cos.f64 x))) |
(fma.f64 eps (*.f64 -1/2 (sin.f64 x)) (*.f64 (cos.f64 x) (fma.f64 -1/8 (*.f64 eps eps) 1))) |
(fma.f64 (fma.f64 -1/8 (*.f64 eps eps) 1) (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps -1/2))) |
(+.f64 (*.f64 -1/2 (*.f64 eps (sin.f64 x))) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 eps 2) (cos.f64 x))) (+.f64 (cos.f64 x) (*.f64 1/48 (*.f64 (pow.f64 eps 3) (sin.f64 x)))))) |
(fma.f64 -1/2 (*.f64 eps (sin.f64 x)) (+.f64 (fma.f64 -1/8 (*.f64 (cos.f64 x) (*.f64 eps eps)) (cos.f64 x)) (*.f64 1/48 (*.f64 (sin.f64 x) (pow.f64 eps 3))))) |
(fma.f64 -1/2 (*.f64 eps (sin.f64 x)) (fma.f64 -1/8 (*.f64 eps (*.f64 eps (cos.f64 x))) (fma.f64 1/48 (*.f64 (sin.f64 x) (pow.f64 eps 3)) (cos.f64 x)))) |
(fma.f64 (fma.f64 -1/8 (*.f64 eps eps) 1) (cos.f64 x) (*.f64 (sin.f64 x) (+.f64 (*.f64 1/48 (pow.f64 eps 3)) (*.f64 eps -1/2)))) |
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) |
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))) |
(cos.f64 (fma.f64 1/2 eps (*.f64 x 1))) |
(cos.f64 (fma.f64 1/2 eps x)) |
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) |
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))) |
(cos.f64 (fma.f64 1/2 eps (*.f64 x 1))) |
(cos.f64 (fma.f64 1/2 eps x)) |
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) |
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))) |
(cos.f64 (fma.f64 1/2 eps (*.f64 x 1))) |
(cos.f64 (fma.f64 1/2 eps x)) |
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x)))) |
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))) |
(cos.f64 (fma.f64 1/2 eps (*.f64 x 1))) |
(cos.f64 (fma.f64 1/2 eps x)) |
(cos.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))) |
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))) |
(cos.f64 (fma.f64 1/2 eps (*.f64 x 1))) |
(cos.f64 (fma.f64 1/2 eps x)) |
(cos.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))) |
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))) |
(cos.f64 (fma.f64 1/2 eps (*.f64 x 1))) |
(cos.f64 (fma.f64 1/2 eps x)) |
(cos.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))) |
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))) |
(cos.f64 (fma.f64 1/2 eps (*.f64 x 1))) |
(cos.f64 (fma.f64 1/2 eps x)) |
(cos.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps)))) |
(cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2)))) |
(cos.f64 (fma.f64 1/2 eps (*.f64 x 1))) |
(cos.f64 (fma.f64 1/2 eps x)) |
eps |
eps |
eps |
eps |
eps |
eps |
eps |
eps |
eps |
eps |
eps |
eps |
eps |
eps |
eps |
eps |
eps |
eps |
eps |
eps |
eps |
eps |
eps |
eps |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 eps))) |
(*.f64 (cos.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 eps))) |
(+.f64 (*.f64 -1 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) x)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 eps)))) |
(fma.f64 -1 (*.f64 x (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 eps)))) |
(-.f64 (*.f64 (cos.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 eps))) (*.f64 x (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (-.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 (sin.f64 (*.f64 1/2 eps)) x))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 x (sin.f64 (*.f64 eps -1/2)) (cos.f64 (*.f64 1/2 eps)))) |
(+.f64 (*.f64 -1 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) x)) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 2)))) (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 eps))))) |
(fma.f64 -1 (*.f64 x (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (fma.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 x x))) (*.f64 (cos.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 eps))))) |
(-.f64 (fma.f64 (cos.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 eps)) (*.f64 -1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x x))))) (*.f64 x (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) |
(-.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (cos.f64 (*.f64 1/2 eps)))) (*.f64 x (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (-.f64 (*.f64 (+.f64 1 (*.f64 x (*.f64 x -1/2))) (cos.f64 (*.f64 1/2 eps))) (*.f64 (sin.f64 (*.f64 1/2 eps)) x))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (fma.f64 (+.f64 1 (*.f64 x (*.f64 x -1/2))) (cos.f64 (*.f64 1/2 eps)) (*.f64 x (sin.f64 (*.f64 eps -1/2))))) |
(+.f64 (*.f64 -1 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) x)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (pow.f64 x 3))) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (pow.f64 x 2)))) (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 eps)))))) |
(fma.f64 -1 (*.f64 x (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (fma.f64 1/6 (*.f64 (pow.f64 x 3) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (fma.f64 -1/2 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 x x))) (*.f64 (cos.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 eps)))))) |
(-.f64 (fma.f64 1/6 (*.f64 (pow.f64 x 3) (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2)) (fma.f64 (cos.f64 (*.f64 1/2 eps)) (sin.f64 (*.f64 1/2 eps)) (*.f64 -1/2 (*.f64 (cos.f64 (*.f64 1/2 eps)) (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 x x)))))) (*.f64 x (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2))) |
(+.f64 (*.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (+.f64 (*.f64 x (*.f64 x -1/2)) 1) (cos.f64 (*.f64 1/2 eps)))) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (+.f64 (*.f64 1/6 (pow.f64 x 3)) (neg.f64 x)))) |
(fma.f64 (sin.f64 (*.f64 1/2 eps)) (*.f64 (+.f64 1 (*.f64 x (*.f64 x -1/2))) (cos.f64 (*.f64 1/2 eps))) (*.f64 (pow.f64 (sin.f64 (*.f64 1/2 eps)) 2) (-.f64 (*.f64 1/6 (pow.f64 x 3)) x))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (fma.f64 1/2 eps (*.f64 x 1)))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (fma.f64 1/2 eps x))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (fma.f64 1/2 eps (*.f64 x 1)))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (fma.f64 1/2 eps x))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (fma.f64 1/2 eps (*.f64 x 1)))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (fma.f64 1/2 eps x))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (fma.f64 1/2 eps (*.f64 x 1)))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (fma.f64 1/2 eps x))) |
(*.f64 (cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (fma.f64 1/2 eps (*.f64 x 1)))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (fma.f64 1/2 eps x))) |
(*.f64 (cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (fma.f64 1/2 eps (*.f64 x 1)))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (fma.f64 1/2 eps x))) |
(*.f64 (cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (fma.f64 1/2 eps (*.f64 x 1)))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (fma.f64 1/2 eps x))) |
(*.f64 (cos.f64 (*.f64 1/2 (-.f64 eps (*.f64 -2 x)))) (sin.f64 (*.f64 1/2 eps))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (fma.f64 1/2 eps (*.f64 x 1)))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (fma.f64 1/2 eps x))) |
(*.f64 1/2 (*.f64 eps (cos.f64 x))) |
(*.f64 (*.f64 1/2 eps) (cos.f64 x)) |
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 eps 2) (sin.f64 x))) (*.f64 1/2 (*.f64 eps (cos.f64 x)))) |
(fma.f64 -1/4 (*.f64 (sin.f64 x) (*.f64 eps eps)) (*.f64 1/2 (*.f64 eps (cos.f64 x)))) |
(fma.f64 1/2 (*.f64 eps (cos.f64 x)) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/4))) |
(fma.f64 (sin.f64 x) (*.f64 (*.f64 eps eps) -1/4) (*.f64 (*.f64 1/2 eps) (cos.f64 x))) |
(*.f64 eps (+.f64 (*.f64 1/2 (cos.f64 x)) (*.f64 -1/4 (*.f64 eps (sin.f64 x))))) |
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 eps 2) (sin.f64 x))) (+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/16 (cos.f64 x)) (*.f64 -1/48 (cos.f64 x)))))) |
(fma.f64 -1/4 (*.f64 (sin.f64 x) (*.f64 eps eps)) (fma.f64 1/2 (*.f64 eps (cos.f64 x)) (*.f64 (pow.f64 eps 3) (*.f64 (cos.f64 x) -1/12)))) |
(fma.f64 -1/4 (*.f64 eps (*.f64 eps (sin.f64 x))) (fma.f64 1/2 (*.f64 eps (cos.f64 x)) (*.f64 (pow.f64 eps 3) (*.f64 (cos.f64 x) -1/12)))) |
(fma.f64 (sin.f64 x) (*.f64 (*.f64 eps eps) -1/4) (*.f64 (cos.f64 x) (+.f64 (*.f64 1/2 eps) (*.f64 (pow.f64 eps 3) -1/12)))) |
(*.f64 eps (+.f64 (*.f64 eps (*.f64 (sin.f64 x) -1/4)) (*.f64 (cos.f64 x) (+.f64 1/2 (*.f64 (*.f64 eps eps) -1/12))))) |
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 eps 2) (sin.f64 x))) (+.f64 (*.f64 1/2 (*.f64 eps (cos.f64 x))) (+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/16 (cos.f64 x)) (*.f64 -1/48 (cos.f64 x)))) (*.f64 1/48 (*.f64 (pow.f64 eps 4) (sin.f64 x)))))) |
(fma.f64 -1/4 (*.f64 (sin.f64 x) (*.f64 eps eps)) (fma.f64 1/2 (*.f64 eps (cos.f64 x)) (fma.f64 (pow.f64 eps 3) (*.f64 (cos.f64 x) -1/12) (*.f64 1/48 (*.f64 (sin.f64 x) (pow.f64 eps 4)))))) |
(fma.f64 -1/4 (*.f64 eps (*.f64 eps (sin.f64 x))) (fma.f64 1/2 (*.f64 eps (cos.f64 x)) (fma.f64 1/48 (*.f64 (sin.f64 x) (pow.f64 eps 4)) (*.f64 (pow.f64 eps 3) (*.f64 (cos.f64 x) -1/12))))) |
(+.f64 (*.f64 (cos.f64 x) (+.f64 (*.f64 1/2 eps) (*.f64 (pow.f64 eps 3) -1/12))) (*.f64 (sin.f64 x) (+.f64 (*.f64 1/48 (pow.f64 eps 4)) (*.f64 (*.f64 eps eps) -1/4)))) |
(+.f64 (*.f64 eps (*.f64 (cos.f64 x) (+.f64 1/2 (*.f64 (*.f64 eps eps) -1/12)))) (*.f64 (*.f64 eps (*.f64 eps (sin.f64 x))) (+.f64 (*.f64 (*.f64 eps eps) 1/48) -1/4))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (fma.f64 1/2 eps (*.f64 x 1)))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (fma.f64 1/2 eps x))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (fma.f64 1/2 eps (*.f64 x 1)))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (fma.f64 1/2 eps x))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (fma.f64 1/2 eps (*.f64 x 1)))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (fma.f64 1/2 eps x))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 2 x))))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (fma.f64 1/2 eps (*.f64 x 1)))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (fma.f64 1/2 eps x))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (fma.f64 1/2 eps (*.f64 x 1)))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (fma.f64 1/2 eps x))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (fma.f64 1/2 eps (*.f64 x 1)))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (fma.f64 1/2 eps x))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (fma.f64 1/2 eps (*.f64 x 1)))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (fma.f64 1/2 eps x))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (-.f64 (*.f64 2 x) (*.f64 -1 eps))))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 (+.f64 eps (*.f64 x 2))))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (fma.f64 1/2 eps (*.f64 x 1)))) |
(*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (fma.f64 1/2 eps x))) |
Compiled 17718 to 7463 computations (57.9% saved)
56 alts after pruning (53 fresh and 3 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 810 | 47 | 857 |
| Fresh | 20 | 6 | 26 |
| Picked | 1 | 0 | 1 |
| Done | 2 | 3 | 5 |
| Total | 833 | 56 | 889 |
| Status | Error | Program |
|---|---|---|
| 33.2b | (log.f64 (*.f64 (exp.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))) (exp.f64 (*.f64 (sin.f64 x) (cos.f64 eps))))) | |
| ▶ | 24.2b | (-.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x)) |
| ▶ | 48.2b | (sqrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2)) |
| 28.7b | (-.f64 (cbrt.f64 (pow.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) 3)) (sin.f64 x)) | |
| 27.3b | (sin.f64 eps) | |
| 47.5b | (exp.f64 (log.f64 (*.f64 (cos.f64 x) eps))) | |
| 28.5b | (*.f64 (pow.f64 (cbrt.f64 2) 3) (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 eps)))) | |
| 35.5b | (*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2) | |
| 35.3b | (-.f64 (log1p.f64 (expm1.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x)) | |
| 24.2b | (-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x)) | |
| 13.0b | (*.f64 (pow.f64 (cbrt.f64 2) 3) (*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))) | |
| 28.5b | (+.f64 (*.f64 (cos.f64 x) eps) (+.f64 0 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))) | |
| ▶ | 46.6b | (+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 (+.f64 eps x))))) |
| ✓ | 35.2b | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
| 39.8b | (-.f64 (cbrt.f64 (pow.f64 (sin.f64 eps) 3)) (sin.f64 x)) | |
| 51.6b | (cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3)) | |
| 50.9b | (*.f64 (pow.f64 (cbrt.f64 2) 3) (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 x))) | |
| 28.4b | (*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps -1/2)))) | |
| 47.7b | (pow.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) | |
| 27.9b | (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)) | |
| 24.2b | (+.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) (*.f64 (sin.f64 x) (cos.f64 eps))) | |
| 39.3b | (cbrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 3)) | |
| 35.9b | (-.f64 (sin.f64 eps) (sin.f64 x)) | |
| 45.9b | (fma.f64 (*.f64 (cos.f64 x) (sqrt.f64 eps)) (sqrt.f64 eps) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))) | |
| 35.7b | (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3) | |
| 46.0b | (pow.f64 (sqrt.f64 (*.f64 (cos.f64 x) eps)) 2) | |
| 44.2b | (-.f64 (log.f64 (exp.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x)) | |
| 48.1b | (-.f64 (sqrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (sin.f64 x)) | |
| 28.8b | (+.f64 (*.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))))) | |
| 44.3b | eps | |
| 29.0b | (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 3) | |
| 28.3b | (fma.f64 (sin.f64 x) (cos.f64 eps) (-.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 3)) (sin.f64 x))) | |
| 32.1b | (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (*.f64 (sin.f64 eps) (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x)) (neg.f64 (sin.f64 x)))) | |
| 25.3b | (fma.f64 (sin.f64 x) (cos.f64 eps) (pow.f64 (cbrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))) 3)) | |
| 35.2b | (log1p.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) | |
| 59.8b | (fma.f64 (sin.f64 x) (cos.f64 eps) (neg.f64 (sin.f64 x))) | |
| ▶ | 0.3b | (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
| ▶ | 57.4b | (pow.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3) 1/3) |
| 33.1b | (fma.f64 (sin.f64 x) (cos.f64 eps) (-.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 x) (sin.f64 eps))))) (sin.f64 x))) | |
| 28.8b | (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))) | |
| 36.4b | (-.f64 (fma.f64 (cos.f64 eps) x (sin.f64 eps)) (sin.f64 x)) | |
| 30.0b | (*.f64 (pow.f64 (cbrt.f64 2) 3) (+.f64 (*.f64 eps (*.f64 (cos.f64 x) (+.f64 1/2 (*.f64 (*.f64 eps eps) -1/12)))) (*.f64 (*.f64 eps (*.f64 eps (sin.f64 x))) (+.f64 (*.f64 (*.f64 eps eps) 1/48) -1/4)))) | |
| 36.3b | (fma.f64 (*.f64 eps (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x)) (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2))) | |
| 48.8b | (-.f64 (pow.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) 2) (sin.f64 x)) | |
| 28.5b | (fma.f64 (*.f64 (*.f64 eps eps) -1/2) (sin.f64 x) (*.f64 eps (cos.f64 x))) | |
| 28.7b | (+.f64 (*.f64 (*.f64 eps eps) (*.f64 -1/2 (sin.f64 x))) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))))) | |
| 61.4b | (*.f64 eps (*.f64 eps (*.f64 -1/2 (sin.f64 x)))) | |
| 36.4b | (-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x)) | |
| 43.4b | (fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (*.f64 (cos.f64 x) (sqrt.f64 (sin.f64 eps))) (sqrt.f64 (sin.f64 eps)) (neg.f64 (sin.f64 x)))) | |
| 28.8b | (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))) | |
| 33.6b | (fma.f64 (sin.f64 x) (cos.f64 eps) (+.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)))))))) | |
| 36.4b | (fma.f64 (cos.f64 eps) x (-.f64 (*.f64 (sin.f64 eps) (fma.f64 -1/2 (*.f64 x x) 1)) x)) | |
| 24.2b | (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) | |
| ✓ | 28.2b | (*.f64 (cos.f64 x) eps) |
| ✓ | 24.2b | (fma.f64 (sin.f64 x) (cos.f64 eps) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) |
| 61.2b | (-.f64 (cbrt.f64 (pow.f64 (sin.f64 x) 3)) (sin.f64 x)) |
Compiled 1603 to 1089 computations (32.1% saved)
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.1b | (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) |
| ✓ | 0.1b | (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
| ✓ | 1.6b | (+.f64 (cos.f64 eps) -1) |
Compiled 36 to 16 computations (55.6% saved)
15 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | x | @ | -inf | (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
| 1.0ms | eps | @ | -inf | (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
| 1.0ms | x | @ | inf | (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
| 1.0ms | eps | @ | inf | (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
| 1.0ms | eps | @ | 0 | (+.f64 (cos.f64 eps) -1) |
| 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) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.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 (*.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 (cos.f64 x)) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 (cos.f64 x)) (sin.f64 eps)) (+.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)))))) |
((#(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 (+.f64 (cos.f64 eps) -1)) (sin.f64 x))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)) (sin.f64 x)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 (cos.f64 eps) -1)) (sin.f64 x)))))))) (#(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 (+.f64 (cos.f64 eps) -1)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x 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))))))) |
| 1× | egg-herbie |
| 579× | fma-neg_binary64 |
| 487× | *-commutative_binary64 |
| 486× | fma-def_binary64 |
| 453× | 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 | 2331 | 936 |
| 4 | 5452 | 936 |
| 5 | 7514 | 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 (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))) |
(*.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)) |
| 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/2 (*.f64 eps eps) (fma.f64 1/24 (pow.f64 eps 4) (fma.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 (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 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 (*.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 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 -1/2 eps)))) |
(+.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 (*.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 (*.f64 -1/2 (*.f64 eps eps)) (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 eps eps) (*.f64 -1/2 (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 -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)))) (*.f64 (+.f64 (*.f64 x (*.f64 -1/2 x)) 1) (sin.f64 eps))) |
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))) (*.f64 (sin.f64 eps) (+.f64 1 (*.f64 -1/2 (*.f64 x 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))) |
(*.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 (*.f64 eps eps) (sin.f64 x))) |
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(fma.f64 1/24 (*.f64 (pow.f64 eps 4) (sin.f64 x)) (*.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 1/24 (*.f64 (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/2 (*.f64 eps eps) (fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 1/40320 (pow.f64 eps 8)))))) |
(*.f64 (fma.f64 -1/2 (*.f64 eps eps) (fma.f64 1/24 (pow.f64 eps 4) (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 1/40320 (pow.f64 eps 8))))) (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 -1/6 (*.f64 (+.f64 (cos.f64 eps) -1) (pow.f64 x 3)))) |
(*.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 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 (cos.f64 eps) -1) (*.f64 (pow.f64 x 5) 1/120)))) |
(fma.f64 (pow.f64 x 5) (fma.f64 (cos.f64 eps) 1/120 -1/120) (*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 x (*.f64 -1/6 (pow.f64 x 3))))) |
(*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 x (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (*.f64 1/120 (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)))))) |
(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)))))) |
(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 (cos.f64 eps) -1) (*.f64 (pow.f64 x 5) 1/120))))) |
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))) (*.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/5040 (pow.f64 x 7)) (*.f64 1/120 (pow.f64 x 5))))) |
(*.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)) |
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (*.f64 x (*.f64 -1/2 (+.f64 eps x))) |
| ✓ | 0.0b | (+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 (+.f64 eps x))))) |
| ✓ | 3.4b | (*.f64 eps (*.f64 x (*.f64 -1/2 (+.f64 eps x)))) |
Compiled 40 to 18 computations (55% saved)
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | x | @ | inf | (*.f64 eps (*.f64 x (*.f64 -1/2 (+.f64 eps x)))) |
| 1.0ms | eps | @ | 0 | (*.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.0ms | eps | @ | -inf | (*.f64 eps (*.f64 x (*.f64 -1/2 (+.f64 eps x)))) |
| 1× | batch-egg-rewrite |
| 559× | log-prod_binary64 |
| 465× | fma-def_binary64 |
| 418× | pow-prod-down_binary64 |
| 276× | pow2_binary64 |
| 222× | pow-unpow_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 39 |
| 1 | 207 | 37 |
| 2 | 3105 | 37 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 eps (*.f64 x (*.f64 -1/2 (+.f64 eps x)))) |
(+.f64 eps (*.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 0 (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2))))))) (#(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 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 eps) (*.f64 (+.f64 eps x) (*.f64 x -1/2)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 eps) (*.f64 (+.f64 eps x) (*.f64 x -1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 eps) (*.f64 (+.f64 eps x) (*.f64 x -1/2))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 eps) (*.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))) 2) 1/2)))) (#(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 pow.f64 (pow.f64 (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2))) 3) 1/3)))) (#(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 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 exp.f64 (*.f64 (log.f64 (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 eps x) (*.f64 eps -1/2) (*.f64 (*.f64 eps x) (*.f64 x -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 eps -1/2) (*.f64 eps x) (*.f64 (*.f64 x -1/2) (*.f64 eps x))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 eps (fma.f64 (+.f64 eps x) (*.f64 x -1/2) 1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 eps eps) (-.f64 eps (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2))))) (/.f64 (pow.f64 (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2))) 2) (-.f64 eps (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 eps (+.f64 1 (*.f64 (+.f64 eps x) (*.f64 x -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 eps (fma.f64 (+.f64 eps x) (*.f64 x -1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 eps (fma.f64 (+.f64 eps x) (*.f64 x -1/2) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 eps (fma.f64 (+.f64 eps x) (*.f64 x -1/2) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 eps (fma.f64 (+.f64 eps x) (*.f64 x -1/2) 1))) (pow.f64 (cbrt.f64 (*.f64 eps (fma.f64 (+.f64 eps x) (*.f64 x -1/2) 1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 eps (fma.f64 (+.f64 eps x) (*.f64 x -1/2) 1))) 2) (cbrt.f64 (*.f64 eps (fma.f64 (+.f64 eps x) (*.f64 x -1/2) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 eps (fma.f64 (+.f64 eps x) (*.f64 x -1/2) 1))) (sqrt.f64 (*.f64 eps (fma.f64 (+.f64 eps x) (*.f64 x -1/2) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 eps 3) (pow.f64 (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2))) 3)) (/.f64 1 (fma.f64 (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2))) (fma.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2)) (neg.f64 eps)) (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 eps eps) (pow.f64 (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2))) 2)) (/.f64 1 (-.f64 eps (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (+.f64 eps x) (*.f64 x -1/2) 1) eps)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2))) (fma.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2)) (neg.f64 eps)) (*.f64 eps eps)) (+.f64 (pow.f64 eps 3) (pow.f64 (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2))) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 eps (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2)))) (-.f64 (*.f64 eps eps) (pow.f64 (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 eps 3) (pow.f64 (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2))) 3)) (fma.f64 (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2))) (fma.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2)) (neg.f64 eps)) (*.f64 eps eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 eps 3) (pow.f64 (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2))) 3)) (+.f64 (pow.f64 (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2))) 2) (-.f64 (*.f64 eps eps) (*.f64 (*.f64 eps eps) (*.f64 (+.f64 eps x) (*.f64 x -1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 eps eps) (pow.f64 (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2))) 2)) (-.f64 eps (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 eps 3) (pow.f64 (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2))) 3))) (neg.f64 (fma.f64 (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2))) (fma.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2)) (neg.f64 eps)) (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 eps eps) (pow.f64 (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2))) 2))) (neg.f64 (-.f64 eps (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2))) 2) (*.f64 eps eps)) (fma.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2)) (neg.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 eps (fma.f64 (+.f64 eps x) (*.f64 x -1/2) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 eps (fma.f64 (+.f64 eps x) (*.f64 x -1/2) 1)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 eps (fma.f64 (+.f64 eps x) (*.f64 x -1/2) 1)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 eps (fma.f64 (+.f64 eps x) (*.f64 x -1/2) 1))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 eps (fma.f64 (+.f64 eps x) (*.f64 x -1/2) 1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2))) (fma.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2)) (neg.f64 eps)) (*.f64 eps eps)) (+.f64 (pow.f64 eps 3) (pow.f64 (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2))) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 eps (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2)))) (-.f64 (*.f64 eps eps) (pow.f64 (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2))) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 eps (fma.f64 (+.f64 eps x) (*.f64 x -1/2) 1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 eps) (fma.f64 (+.f64 eps x) (*.f64 x -1/2) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 eps (fma.f64 (+.f64 eps x) (*.f64 x -1/2) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 eps)) (pow.f64 (exp.f64 eps) (*.f64 (+.f64 eps x) (*.f64 x -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 eps) (+.f64 1 (expm1.f64 (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 eps)) (+.f64 1 (expm1.f64 (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2))))) (exp.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 eps) (*.f64 (+.f64 eps x) (*.f64 x -1/2))) (+.f64 1 (expm1.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2))))) (+.f64 1 (expm1.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 eps (fma.f64 (+.f64 eps x) (*.f64 x -1/2) 1)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 eps (fma.f64 (+.f64 eps x) (*.f64 x -1/2) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 eps (fma.f64 (+.f64 eps x) (*.f64 x -1/2) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 eps (fma.f64 (+.f64 eps x) (*.f64 x -1/2) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 eps (fma.f64 (+.f64 eps x) (*.f64 x -1/2) 1))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 eps (fma.f64 (+.f64 eps x) (*.f64 x -1/2) 1)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 eps (fma.f64 (+.f64 eps x) (*.f64 x -1/2) 1)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 eps (fma.f64 (+.f64 eps x) (*.f64 x -1/2) 1)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2)) eps)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 eps 1 (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (*.f64 (*.f64 -1/2 (+.f64 eps x)) eps) eps)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/2 (+.f64 eps x)) (*.f64 eps x) eps)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 eps x) (*.f64 x -1/2)) eps eps)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2))) 1 eps)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 eps (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2))) eps)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2)))) (pow.f64 (cbrt.f64 (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2)))) 2) eps)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2)))) 2) (cbrt.f64 (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2)))) eps)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 eps) (pow.f64 (cbrt.f64 eps) 2) (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 eps) 2) (cbrt.f64 eps) (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 eps) 2) (*.f64 (cbrt.f64 eps) (*.f64 (+.f64 eps x) (*.f64 x -1/2))) eps)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 eps x) (*.f64 x -1/2)) 2)) (*.f64 (cbrt.f64 (*.f64 (+.f64 eps x) (*.f64 x -1/2))) eps) eps)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2)))) (sqrt.f64 (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2)))) eps)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 eps) (sqrt.f64 eps) (*.f64 eps (*.f64 (+.f64 eps x) (*.f64 x -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 eps) (*.f64 (sqrt.f64 eps) (*.f64 (+.f64 eps x) (*.f64 x -1/2))) eps)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (+.f64 eps x) (*.f64 x -1/2))) (*.f64 (sqrt.f64 (*.f64 (+.f64 eps x) (*.f64 x -1/2))) eps) eps)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 eps x) (*.f64 -1/2 (+.f64 eps x)) eps)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x -1/2) (*.f64 (+.f64 eps x) eps) eps)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 eps (*.f64 x -1/2)) (+.f64 eps x) eps)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 eps (*.f64 -1/2 (+.f64 eps x))) x eps)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 eps (cbrt.f64 (pow.f64 (*.f64 (+.f64 eps x) (*.f64 x -1/2)) 2))) (cbrt.f64 (*.f64 (+.f64 eps x) (*.f64 x -1/2))) eps)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 eps (sqrt.f64 (*.f64 (+.f64 eps x) (*.f64 x -1/2)))) (sqrt.f64 (*.f64 (+.f64 eps x) (*.f64 x -1/2))) eps)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 (+.f64 eps x) (*.f64 x -1/2)) (pow.f64 (cbrt.f64 eps) 2)) (cbrt.f64 eps) eps)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 (+.f64 eps x) (*.f64 x -1/2)) (sqrt.f64 eps)) (sqrt.f64 eps) eps)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 eps x) -1/2) (+.f64 eps x) eps)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 eps x) (+.f64 eps x)) -1/2 eps)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 eps x) 1) (*.f64 -1/2 (+.f64 eps x)) eps)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 eps x) (pow.f64 (cbrt.f64 (*.f64 -1/2 (+.f64 eps x))) 2)) (cbrt.f64 (*.f64 -1/2 (+.f64 eps x))) eps)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 eps x) (sqrt.f64 (*.f64 -1/2 (+.f64 eps x)))) (sqrt.f64 (*.f64 -1/2 (+.f64 eps x))) eps))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 eps x) (*.f64 x -1/2)))))) (#(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 (*.f64 eps -1/2) x) (*.f64 (*.f64 x -1/2) x))))) (#(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 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 eps x)) (*.f64 x -1/2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 eps x)) (*.f64 x -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 eps x)) (*.f64 x -1/2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 eps x)) (*.f64 x -1/2)))))))) (#(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) (-.f64 (*.f64 eps eps) (*.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)) 2) 1/2)))) (#(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 (exp.f64 (+.f64 eps x)) (*.f64 x -1/2)))))) (#(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 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))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 eps x) (*.f64 x -1/2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (+.f64 eps x) (*.f64 x -1/2)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (+.f64 eps x) (*.f64 x -1/2)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 eps x) (*.f64 x -1/2)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 eps (*.f64 x -1/2) (*.f64 x (*.f64 x -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (*.f64 x -1/2) (*.f64 eps (*.f64 x -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (*.f64 eps -1/2) (*.f64 x (*.f64 x -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x -1/2) eps (*.f64 (*.f64 x -1/2) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x -1/2) x (*.f64 (*.f64 x -1/2) eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 eps -1/2) x (*.f64 (*.f64 x -1/2) x)))))) |
| 1× | egg-herbie |
| 732× | fma-neg_binary64 |
| 512× | associate-*l*_binary64 |
| 434× | distribute-rgt-out--_binary64 |
| 379× | unsub-neg_binary64 |
| 371× | associate-*r*_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 32 | 1126 |
| 1 | 90 | 985 |
| 2 | 200 | 815 |
| 3 | 607 | 815 |
| 4 | 2599 | 815 |
| 5 | 6584 | 815 |
| 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 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(+.f64 (*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))) |
(+.f64 (*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))) |
(+.f64 (*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))) |
(*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1 (*.f64 eps (-.f64 (*.f64 1/2 (pow.f64 x 2)) 1)))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1 (*.f64 eps (-.f64 (*.f64 1/2 (pow.f64 x 2)) 1)))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1 (*.f64 eps (-.f64 (*.f64 1/2 (pow.f64 x 2)) 1)))) |
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 -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 eps (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (+.f64 eps (*.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 eps (*.f64 -1/2 (*.f64 eps (pow.f64 x 2))))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (+.f64 eps (*.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 -1/2 (*.f64 eps (*.f64 x x))) |
(*.f64 (*.f64 x x) (*.f64 -1/2 eps)) |
(*.f64 x (*.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 (*.f64 -1/2 (*.f64 eps x)) (+.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 (*.f64 -1/2 (*.f64 eps x)) (+.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 (*.f64 -1/2 (*.f64 eps x)) (+.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 (*.f64 eps 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 (*.f64 -1/2 (*.f64 eps x)) (+.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 (*.f64 -1/2 (*.f64 eps x)) (+.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 (*.f64 -1/2 (*.f64 eps x)) (+.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 (*.f64 eps 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 (*.f64 -1/2 (*.f64 eps x)) (+.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 (*.f64 -1/2 (*.f64 eps x)) (+.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 (*.f64 -1/2 (*.f64 eps x)) (+.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 (*.f64 eps 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 (*.f64 -1/2 (*.f64 eps x)) (+.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 (*.f64 -1/2 (*.f64 eps x)) (+.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 (*.f64 -1/2 (*.f64 eps x)) (+.f64 eps x)) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 -1/2 (*.f64 eps (*.f64 x x))) |
(*.f64 (*.f64 x x) (*.f64 -1/2 eps)) |
(*.f64 x (*.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 (*.f64 -1/2 (*.f64 eps x)) (+.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 (*.f64 -1/2 (*.f64 eps x)) (+.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 (*.f64 -1/2 (*.f64 eps x)) (+.f64 eps x)) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 -1/2 (*.f64 eps (*.f64 x x))) |
(*.f64 (*.f64 x x) (*.f64 -1/2 eps)) |
(*.f64 x (*.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 (*.f64 -1/2 (*.f64 eps x)) (+.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 (*.f64 -1/2 (*.f64 eps x)) (+.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 (*.f64 -1/2 (*.f64 eps x)) (+.f64 eps x)) |
(*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) |
(*.f64 eps (+.f64 1 (*.f64 -1/2 (*.f64 x x)))) |
(fma.f64 -1/2 (*.f64 eps (*.f64 x x)) eps) |
(fma.f64 (*.f64 x x) (*.f64 -1/2 eps) eps) |
(*.f64 eps (fma.f64 -1/2 (*.f64 x x) 1)) |
(fma.f64 x (*.f64 -1/2 (*.f64 eps x)) eps) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))) |
(fma.f64 -1/2 (*.f64 x (*.f64 eps eps)) (*.f64 eps (+.f64 1 (*.f64 -1/2 (*.f64 x x))))) |
(+.f64 eps (*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x))))) |
(fma.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x)) eps) |
(fma.f64 -1/2 (*.f64 x (*.f64 eps (+.f64 eps x))) eps) |
(fma.f64 (*.f64 -1/2 (*.f64 eps x)) (+.f64 eps x) eps) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))) |
(fma.f64 -1/2 (*.f64 x (*.f64 eps eps)) (*.f64 eps (+.f64 1 (*.f64 -1/2 (*.f64 x x))))) |
(+.f64 eps (*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x))))) |
(fma.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x)) eps) |
(fma.f64 -1/2 (*.f64 x (*.f64 eps (+.f64 eps x))) eps) |
(fma.f64 (*.f64 -1/2 (*.f64 eps x)) (+.f64 eps x) eps) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))))) |
(fma.f64 -1/2 (*.f64 x (*.f64 eps eps)) (*.f64 eps (+.f64 1 (*.f64 -1/2 (*.f64 x x))))) |
(+.f64 eps (*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x))))) |
(fma.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x)) eps) |
(fma.f64 -1/2 (*.f64 x (*.f64 eps (+.f64 eps x))) eps) |
(fma.f64 (*.f64 -1/2 (*.f64 eps x)) (+.f64 eps x) eps) |
(*.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 (*.f64 eps x) (*.f64 -1/2 eps)) |
(+.f64 (*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))) |
(fma.f64 -1/2 (*.f64 x (*.f64 eps eps)) (*.f64 eps (+.f64 1 (*.f64 -1/2 (*.f64 x x))))) |
(+.f64 eps (*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x))))) |
(fma.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x)) eps) |
(fma.f64 -1/2 (*.f64 x (*.f64 eps (+.f64 eps x))) eps) |
(fma.f64 (*.f64 -1/2 (*.f64 eps x)) (+.f64 eps x) eps) |
(+.f64 (*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))) |
(fma.f64 -1/2 (*.f64 x (*.f64 eps eps)) (*.f64 eps (+.f64 1 (*.f64 -1/2 (*.f64 x x))))) |
(+.f64 eps (*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x))))) |
(fma.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x)) eps) |
(fma.f64 -1/2 (*.f64 x (*.f64 eps (+.f64 eps x))) eps) |
(fma.f64 (*.f64 -1/2 (*.f64 eps x)) (+.f64 eps x) eps) |
(+.f64 (*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x))) |
(fma.f64 -1/2 (*.f64 x (*.f64 eps eps)) (*.f64 eps (+.f64 1 (*.f64 -1/2 (*.f64 x x))))) |
(+.f64 eps (*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x))))) |
(fma.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x)) eps) |
(fma.f64 -1/2 (*.f64 x (*.f64 eps (+.f64 eps x))) eps) |
(fma.f64 (*.f64 -1/2 (*.f64 eps x)) (+.f64 eps x) eps) |
(*.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 (*.f64 eps x) (*.f64 -1/2 eps)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1 (*.f64 eps (-.f64 (*.f64 1/2 (pow.f64 x 2)) 1)))) |
(fma.f64 -1/2 (*.f64 x (*.f64 eps eps)) (*.f64 eps (+.f64 1 (*.f64 -1/2 (*.f64 x x))))) |
(+.f64 eps (*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x))))) |
(fma.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x)) eps) |
(fma.f64 -1/2 (*.f64 x (*.f64 eps (+.f64 eps x))) eps) |
(fma.f64 (*.f64 -1/2 (*.f64 eps x)) (+.f64 eps x) eps) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1 (*.f64 eps (-.f64 (*.f64 1/2 (pow.f64 x 2)) 1)))) |
(fma.f64 -1/2 (*.f64 x (*.f64 eps eps)) (*.f64 eps (+.f64 1 (*.f64 -1/2 (*.f64 x x))))) |
(+.f64 eps (*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x))))) |
(fma.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x)) eps) |
(fma.f64 -1/2 (*.f64 x (*.f64 eps (+.f64 eps x))) eps) |
(fma.f64 (*.f64 -1/2 (*.f64 eps x)) (+.f64 eps x) eps) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) (*.f64 -1 (*.f64 eps (-.f64 (*.f64 1/2 (pow.f64 x 2)) 1)))) |
(fma.f64 -1/2 (*.f64 x (*.f64 eps eps)) (*.f64 eps (+.f64 1 (*.f64 -1/2 (*.f64 x x))))) |
(+.f64 eps (*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x))))) |
(fma.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x)) eps) |
(fma.f64 -1/2 (*.f64 x (*.f64 eps (+.f64 eps x))) eps) |
(fma.f64 (*.f64 -1/2 (*.f64 eps x)) (+.f64 eps x) eps) |
eps |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 eps 2) x)) eps) |
(fma.f64 -1/2 (*.f64 x (*.f64 eps eps)) eps) |
(fma.f64 -1/2 (*.f64 eps (*.f64 eps x)) eps) |
(fma.f64 eps (*.f64 -1/2 (*.f64 eps 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 x (*.f64 eps eps)) (*.f64 eps (+.f64 1 (*.f64 -1/2 (*.f64 x x))))) |
(+.f64 eps (*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x))))) |
(fma.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x)) eps) |
(fma.f64 -1/2 (*.f64 x (*.f64 eps (+.f64 eps x))) eps) |
(fma.f64 (*.f64 -1/2 (*.f64 eps x)) (+.f64 eps 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 x (*.f64 eps eps)) (*.f64 eps (+.f64 1 (*.f64 -1/2 (*.f64 x x))))) |
(+.f64 eps (*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x))))) |
(fma.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x)) eps) |
(fma.f64 -1/2 (*.f64 x (*.f64 eps (+.f64 eps x))) eps) |
(fma.f64 (*.f64 -1/2 (*.f64 eps x)) (+.f64 eps x) eps) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 -1/2 (*.f64 eps (*.f64 x x))) |
(*.f64 (*.f64 x x) (*.f64 -1/2 eps)) |
(*.f64 x (*.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 (*.f64 -1/2 (*.f64 eps x)) (+.f64 eps x)) |
(+.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 x (*.f64 eps eps)) (*.f64 eps (+.f64 1 (*.f64 -1/2 (*.f64 x x))))) |
(+.f64 eps (*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x))))) |
(fma.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x)) eps) |
(fma.f64 -1/2 (*.f64 x (*.f64 eps (+.f64 eps x))) eps) |
(fma.f64 (*.f64 -1/2 (*.f64 eps x)) (+.f64 eps 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 x (*.f64 eps eps)) (*.f64 eps (+.f64 1 (*.f64 -1/2 (*.f64 x x))))) |
(+.f64 eps (*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x))))) |
(fma.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x)) eps) |
(fma.f64 -1/2 (*.f64 x (*.f64 eps (+.f64 eps x))) eps) |
(fma.f64 (*.f64 -1/2 (*.f64 eps x)) (+.f64 eps x) eps) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 -1/2 (*.f64 eps (*.f64 x x))) |
(*.f64 (*.f64 x x) (*.f64 -1/2 eps)) |
(*.f64 x (*.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 (*.f64 -1/2 (*.f64 eps x)) (+.f64 eps x)) |
(+.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 x (*.f64 eps eps)) (*.f64 eps (+.f64 1 (*.f64 -1/2 (*.f64 x x))))) |
(+.f64 eps (*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x))))) |
(fma.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x)) eps) |
(fma.f64 -1/2 (*.f64 x (*.f64 eps (+.f64 eps x))) eps) |
(fma.f64 (*.f64 -1/2 (*.f64 eps x)) (+.f64 eps 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 x (*.f64 eps eps)) (*.f64 eps (+.f64 1 (*.f64 -1/2 (*.f64 x x))))) |
(+.f64 eps (*.f64 -1/2 (fma.f64 x (*.f64 eps eps) (*.f64 eps (*.f64 x x))))) |
(fma.f64 -1/2 (*.f64 (*.f64 eps x) (+.f64 eps x)) eps) |
(fma.f64 -1/2 (*.f64 x (*.f64 eps (+.f64 eps x))) eps) |
(fma.f64 (*.f64 -1/2 (*.f64 eps x)) (+.f64 eps x) eps) |
(*.f64 -1/2 (*.f64 eps 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 x eps))) |
(*.f64 -1/2 (*.f64 x (+.f64 eps x))) |
(*.f64 x (*.f64 -1/2 (+.f64 eps 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 x eps))) |
(*.f64 -1/2 (*.f64 x (+.f64 eps x))) |
(*.f64 x (*.f64 -1/2 (+.f64 eps 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 x eps))) |
(*.f64 -1/2 (*.f64 x (+.f64 eps x))) |
(*.f64 x (*.f64 -1/2 (+.f64 eps x))) |
(*.f64 -1/2 (pow.f64 x 2)) |
(*.f64 -1/2 (*.f64 x 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 x eps))) |
(*.f64 -1/2 (*.f64 x (+.f64 eps x))) |
(*.f64 x (*.f64 -1/2 (+.f64 eps 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 x eps))) |
(*.f64 -1/2 (*.f64 x (+.f64 eps x))) |
(*.f64 x (*.f64 -1/2 (+.f64 eps 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 x eps))) |
(*.f64 -1/2 (*.f64 x (+.f64 eps x))) |
(*.f64 x (*.f64 -1/2 (+.f64 eps x))) |
(*.f64 -1/2 (pow.f64 x 2)) |
(*.f64 -1/2 (*.f64 x 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 x eps))) |
(*.f64 -1/2 (*.f64 x (+.f64 eps x))) |
(*.f64 x (*.f64 -1/2 (+.f64 eps 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 x eps))) |
(*.f64 -1/2 (*.f64 x (+.f64 eps x))) |
(*.f64 x (*.f64 -1/2 (+.f64 eps 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 x eps))) |
(*.f64 -1/2 (*.f64 x (+.f64 eps x))) |
(*.f64 x (*.f64 -1/2 (+.f64 eps x))) |
(*.f64 -1/2 (pow.f64 x 2)) |
(*.f64 -1/2 (*.f64 x 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 x eps))) |
(*.f64 -1/2 (*.f64 x (+.f64 eps x))) |
(*.f64 x (*.f64 -1/2 (+.f64 eps 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 x eps))) |
(*.f64 -1/2 (*.f64 x (+.f64 eps x))) |
(*.f64 x (*.f64 -1/2 (+.f64 eps 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 x eps))) |
(*.f64 -1/2 (*.f64 x (+.f64 eps x))) |
(*.f64 x (*.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 -1/2 (+.f64 (*.f64 eps x) (*.f64 x x))) |
(*.f64 -1/2 (*.f64 x (+.f64 x eps))) |
(*.f64 -1/2 (*.f64 x (+.f64 eps x))) |
(*.f64 x (*.f64 -1/2 (+.f64 eps 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 x eps))) |
(*.f64 -1/2 (*.f64 x (+.f64 eps x))) |
(*.f64 x (*.f64 -1/2 (+.f64 eps 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 x eps))) |
(*.f64 -1/2 (*.f64 x (+.f64 eps x))) |
(*.f64 x (*.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 -1/2 (+.f64 (*.f64 eps x) (*.f64 x x))) |
(*.f64 -1/2 (*.f64 x (+.f64 x eps))) |
(*.f64 -1/2 (*.f64 x (+.f64 eps x))) |
(*.f64 x (*.f64 -1/2 (+.f64 eps 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 x eps))) |
(*.f64 -1/2 (*.f64 x (+.f64 eps x))) |
(*.f64 x (*.f64 -1/2 (+.f64 eps 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 x eps))) |
(*.f64 -1/2 (*.f64 x (+.f64 eps x))) |
(*.f64 x (*.f64 -1/2 (+.f64 eps x))) |
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.1b | (pow.f64 (*.f64 (cos.f64 x) eps) 3) |
| 0.1b | (*.f64 (cos.f64 x) eps) | |
| ✓ | 41.0b | (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 | |
|---|---|---|---|---|
| 8.0ms | x | @ | -inf | (pow.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3) 1/3) |
| 5.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) |
| 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.2b | (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2) |
| 1.2b | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) | |
| ✓ | 2.3b | (sqrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2)) |
| 2.8b | (sin.f64 (+.f64 x eps)) |
Compiled 40 to 12 computations (70% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | x | @ | 0 | (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2) |
| 1.0ms | eps | @ | 0 | (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2) |
| 1.0ms | x | @ | -inf | (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2) |
| 1.0ms | eps | @ | -inf | (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2) |
| 1.0ms | x | @ | inf | (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2) |
| 1× | batch-egg-rewrite |
| 504× | log-prod_binary64 |
| 494× | fma-def_binary64 |
| 326× | pow-prod-down_binary64 |
| 302× | pow2_binary64 |
| 220× | fma-neg_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 25 |
| 1 | 236 | 25 |
| 2 | 3159 | 25 |
| 1× | node limit |
| Inputs |
|---|
(sqrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2)) |
(pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2) |
| 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)) (-.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 (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 2 (*.f64 (sin.f64 (*.f64 (-.f64 (+.f64 x eps) x) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 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 (sin.f64 (*.f64 (-.f64 (+.f64 x eps) x) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3)) (/.f64 1 (fma.f64 (sin.f64 x) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (pow.f64 (sin.f64 (+.f64 x eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2)) (/.f64 1 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 x))) (-.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sin.f64 (*.f64 (-.f64 (+.f64 x eps) x) 1/2))) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (sin.f64 x) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3)) (fma.f64 (sin.f64 x) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (pow.f64 (sin.f64 (+.f64 x eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2)) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3))) (neg.f64 (fma.f64 (sin.f64 x) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (pow.f64 (sin.f64 (+.f64 x eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2))) (neg.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (neg.f64 (sin.f64 x)) 3)) (+.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (-.f64 (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)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 6) 1/6)))) (#(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 (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 (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 fabs.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))) (#(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 exp.f64 (*.f64 (*.f64 2 (log.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) 1/2))))) (#(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 2 (*.f64 (sin.f64 (*.f64 (-.f64 (+.f64 x eps) x) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 2 (*.f64 (sin.f64 (*.f64 (-.f64 (+.f64 x eps) x) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 2 (*.f64 (sin.f64 (*.f64 (-.f64 (+.f64 x eps) x) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 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 (*.f64 (sin.f64 (*.f64 (-.f64 (+.f64 x eps) x) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2 (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 (*.f64 (-.f64 (+.f64 x eps) x) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2 (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 (*.f64 (-.f64 (+.f64 x eps) x) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2 (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 eps) (sin.f64 x) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3)) (/.f64 1 (fma.f64 (sin.f64 x) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (pow.f64 (sin.f64 (+.f64 x eps)) 2))) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3)) (/.f64 1 (fma.f64 (sin.f64 x) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (pow.f64 (sin.f64 (+.f64 x eps)) 2))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3)) (/.f64 1 (fma.f64 (sin.f64 x) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (pow.f64 (sin.f64 (+.f64 x eps)) 2))) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2)) (/.f64 1 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2)) (/.f64 1 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2)) (/.f64 1 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (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))) (-.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 (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 (sqrt.f64 (sin.f64 x))) (sqrt.f64 (sin.f64 x)) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 1 1/2) (-.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 1 1/2) (-.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 1 1/2) (-.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 (sin.f64 x) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 x))) (-.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 x))) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 x))) (-.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 x))) (-.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 x))) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2)) (cbrt.f64 (sin.f64 x)) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 2 (sin.f64 (*.f64 (-.f64 (+.f64 x eps) x) 1/2))) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) (fma.f64 (neg.f64 (sin.f64 x)) 1 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 2 (sin.f64 (*.f64 (-.f64 (+.f64 x eps) x) 1/2))) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 2 (sin.f64 (*.f64 (-.f64 (+.f64 x eps) x) 1/2))) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)) (+.f64 (neg.f64 (sin.f64 x)) (sin.f64 x))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 (+.f64 x eps)) (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (*.f64 (neg.f64 (sin.f64 x)) (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (sin.f64 (+.f64 x eps))) (*.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((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 2 (*.f64 (*.f64 (sin.f64 (*.f64 (-.f64 (+.f64 x eps) x) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) (-.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)) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (pow.f64 (*.f64 (sin.f64 (*.f64 (-.f64 (+.f64 x eps) x) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 4) (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) (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 3/2) (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2) (*.f64 (sin.f64 (*.f64 (-.f64 (+.f64 x eps) x) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 5) (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3)) 2) (pow.f64 (fma.f64 (sin.f64 x) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (pow.f64 (sin.f64 (+.f64 x eps)) 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2)) 2) (pow.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2)) (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3))) (*.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (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 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3)) (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2))) (*.f64 (fma.f64 (sin.f64 x) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (sin.f64 x) 3)) (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (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 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (pow.f64 (sin.f64 x) 2)) (-.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 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (-.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 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (-.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 sqrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 6))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (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)) (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (*.f64 (neg.f64 (sin.f64 x)) (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (sin.f64 (+.f64 x eps)) (*.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (neg.f64 (sin.f64 x)))))))) |
| 1× | egg-herbie |
| 544× | distribute-rgt-neg-out_binary64 |
| 525× | fma-def_binary64 |
| 484× | associate-*r*_binary64 |
| 478× | distribute-lft-neg-out_binary64 |
| 471× | associate-*l*_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 101 | 901 |
| 1 | 292 | 887 |
| 2 | 867 | 850 |
| 3 | 4356 | 847 |
| 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 (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)) |
(pow.f64 (sin.f64 eps) 2) |
(+.f64 (pow.f64 (sin.f64 eps) 2) (*.f64 2 (*.f64 (-.f64 (cos.f64 eps) 1) (*.f64 (sin.f64 eps) x)))) |
(+.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (*.f64 (+.f64 (pow.f64 (-.f64 (cos.f64 eps) 1) 2) (*.f64 -1 (pow.f64 (sin.f64 eps) 2))) (pow.f64 x 2)) (*.f64 2 (*.f64 (-.f64 (cos.f64 eps) 1) (*.f64 (sin.f64 eps) x))))) |
(+.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (*.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (cos.f64 eps)) 1/6) (sin.f64 eps))) (*.f64 -1 (*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 eps)))) (pow.f64 x 3)) (+.f64 (*.f64 (+.f64 (pow.f64 (-.f64 (cos.f64 eps) 1) 2) (*.f64 -1 (pow.f64 (sin.f64 eps) 2))) (pow.f64 x 2)) (*.f64 2 (*.f64 (-.f64 (cos.f64 eps) 1) (*.f64 (sin.f64 eps) x)))))) |
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 2) |
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 2) |
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 2) |
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 2) |
(pow.f64 (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)) 2) |
(pow.f64 (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)) 2) |
(pow.f64 (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)) 2) |
(pow.f64 (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)) 2) |
(*.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 eps 2)) |
(+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 3) (*.f64 (cos.f64 x) (sin.f64 x)))) (*.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 eps 2))) |
(+.f64 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 (cos.f64 x) 2)) (*.f64 1/4 (pow.f64 (sin.f64 x) 2))) (pow.f64 eps 4)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 3) (*.f64 (cos.f64 x) (sin.f64 x)))) (*.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 eps 2)))) |
(+.f64 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 (cos.f64 x) 2)) (*.f64 1/4 (pow.f64 (sin.f64 x) 2))) (pow.f64 eps 4)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 3) (*.f64 (cos.f64 x) (sin.f64 x)))) (+.f64 (*.f64 (+.f64 (*.f64 1/12 (*.f64 (cos.f64 x) (sin.f64 x))) (*.f64 1/6 (*.f64 (cos.f64 x) (sin.f64 x)))) (pow.f64 eps 5)) (*.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 eps 2))))) |
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 2) |
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 2) |
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 2) |
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 2) |
(pow.f64 (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)) 2) |
(pow.f64 (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)) 2) |
(pow.f64 (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)) 2) |
(pow.f64 (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)) 2) |
| 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)) |
(+.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 (*.f64 x x) (*.f64 (sin.f64 eps) -1/2) (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)))) |
(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 (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 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 -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 -1/2 (*.f64 (sin.f64 x) (*.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 (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)) |
(pow.f64 (sin.f64 eps) 2) |
(+.f64 (pow.f64 (sin.f64 eps) 2) (*.f64 2 (*.f64 (-.f64 (cos.f64 eps) 1) (*.f64 (sin.f64 eps) x)))) |
(+.f64 (pow.f64 (sin.f64 eps) 2) (*.f64 (*.f64 2 (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) x))) |
(fma.f64 2 (*.f64 (+.f64 (cos.f64 eps) -1) (*.f64 (sin.f64 eps) x)) (pow.f64 (sin.f64 eps) 2)) |
(*.f64 (sin.f64 eps) (+.f64 (sin.f64 eps) (*.f64 x (fma.f64 (cos.f64 eps) 2 -2)))) |
(+.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (*.f64 (+.f64 (pow.f64 (-.f64 (cos.f64 eps) 1) 2) (*.f64 -1 (pow.f64 (sin.f64 eps) 2))) (pow.f64 x 2)) (*.f64 2 (*.f64 (-.f64 (cos.f64 eps) 1) (*.f64 (sin.f64 eps) x))))) |
(+.f64 (pow.f64 (sin.f64 eps) 2) (fma.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (neg.f64 (pow.f64 (sin.f64 eps) 2))) (*.f64 x x) (*.f64 (*.f64 2 (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) x)))) |
(+.f64 (pow.f64 (sin.f64 eps) 2) (fma.f64 2 (*.f64 (+.f64 (cos.f64 eps) -1) (*.f64 (sin.f64 eps) x)) (*.f64 x (*.f64 x (-.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (pow.f64 (sin.f64 eps) 2)))))) |
(fma.f64 x (*.f64 x (-.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (pow.f64 (sin.f64 eps) 2))) (*.f64 (sin.f64 eps) (+.f64 (sin.f64 eps) (*.f64 x (fma.f64 (cos.f64 eps) 2 -2))))) |
(+.f64 (pow.f64 (sin.f64 eps) 2) (+.f64 (*.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (cos.f64 eps)) 1/6) (sin.f64 eps))) (*.f64 -1 (*.f64 (-.f64 (cos.f64 eps) 1) (sin.f64 eps)))) (pow.f64 x 3)) (+.f64 (*.f64 (+.f64 (pow.f64 (-.f64 (cos.f64 eps) 1) 2) (*.f64 -1 (pow.f64 (sin.f64 eps) 2))) (pow.f64 x 2)) (*.f64 2 (*.f64 (-.f64 (cos.f64 eps) 1) (*.f64 (sin.f64 eps) x)))))) |
(+.f64 (pow.f64 (sin.f64 eps) 2) (fma.f64 (fma.f64 2 (*.f64 (sin.f64 eps) (fma.f64 -1/6 (cos.f64 eps) 1/6)) (neg.f64 (*.f64 (sin.f64 eps) (+.f64 (cos.f64 eps) -1)))) (pow.f64 x 3) (fma.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (neg.f64 (pow.f64 (sin.f64 eps) 2))) (*.f64 x x) (*.f64 (*.f64 2 (+.f64 (cos.f64 eps) -1)) (*.f64 (sin.f64 eps) x))))) |
(+.f64 (pow.f64 (sin.f64 eps) 2) (fma.f64 (pow.f64 x 3) (*.f64 (sin.f64 eps) (+.f64 (*.f64 2 (fma.f64 (cos.f64 eps) -1/6 1/6)) (neg.f64 (+.f64 (cos.f64 eps) -1)))) (fma.f64 2 (*.f64 (+.f64 (cos.f64 eps) -1) (*.f64 (sin.f64 eps) x)) (*.f64 x (*.f64 x (-.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (pow.f64 (sin.f64 eps) 2))))))) |
(fma.f64 (pow.f64 x 3) (*.f64 (sin.f64 eps) (fma.f64 2 (fma.f64 (cos.f64 eps) -1/6 1/6) (fma.f64 (cos.f64 eps) -1 1))) (fma.f64 x (*.f64 x (-.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (pow.f64 (sin.f64 eps) 2))) (*.f64 (sin.f64 eps) (+.f64 (sin.f64 eps) (*.f64 x (fma.f64 (cos.f64 eps) 2 -2)))))) |
(fma.f64 (pow.f64 x 3) (*.f64 (sin.f64 eps) (fma.f64 2 (fma.f64 (cos.f64 eps) -1/6 1/6) (-.f64 1 (cos.f64 eps)))) (fma.f64 x (*.f64 x (-.f64 (pow.f64 (+.f64 (cos.f64 eps) -1) 2) (pow.f64 (sin.f64 eps) 2))) (*.f64 (sin.f64 eps) (+.f64 (sin.f64 eps) (*.f64 x (fma.f64 (cos.f64 eps) 2 -2)))))) |
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 2) |
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 2) |
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 2) |
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 2) |
(pow.f64 (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)) 2) |
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 2) |
(pow.f64 (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)) 2) |
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 2) |
(pow.f64 (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)) 2) |
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 2) |
(pow.f64 (-.f64 (sin.f64 (-.f64 eps (*.f64 -1 x))) (sin.f64 x)) 2) |
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 2) |
(*.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 eps 2)) |
(*.f64 (*.f64 eps eps) (pow.f64 (cos.f64 x) 2)) |
(*.f64 eps (*.f64 eps (pow.f64 (cos.f64 x) 2))) |
(+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 3) (*.f64 (cos.f64 x) (sin.f64 x)))) (*.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 eps 2))) |
(fma.f64 -1 (*.f64 (pow.f64 eps 3) (*.f64 (sin.f64 x) (cos.f64 x))) (*.f64 (*.f64 eps eps) (pow.f64 (cos.f64 x) 2))) |
(-.f64 (*.f64 (*.f64 eps eps) (pow.f64 (cos.f64 x) 2)) (*.f64 (sin.f64 x) (*.f64 (cos.f64 x) (pow.f64 eps 3)))) |
(*.f64 (cos.f64 x) (-.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (*.f64 (sin.f64 x) (pow.f64 eps 3)))) |
(*.f64 (cos.f64 x) (fma.f64 (cos.f64 x) (*.f64 eps eps) (*.f64 (sin.f64 x) (pow.f64 (neg.f64 eps) 3)))) |
(+.f64 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 (cos.f64 x) 2)) (*.f64 1/4 (pow.f64 (sin.f64 x) 2))) (pow.f64 eps 4)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 3) (*.f64 (cos.f64 x) (sin.f64 x)))) (*.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 eps 2)))) |
(fma.f64 (fma.f64 -1/3 (pow.f64 (cos.f64 x) 2) (*.f64 1/4 (pow.f64 (sin.f64 x) 2))) (pow.f64 eps 4) (fma.f64 -1 (*.f64 (pow.f64 eps 3) (*.f64 (sin.f64 x) (cos.f64 x))) (*.f64 (*.f64 eps eps) (pow.f64 (cos.f64 x) 2)))) |
(fma.f64 (pow.f64 eps 4) (fma.f64 (pow.f64 (cos.f64 x) 2) -1/3 (*.f64 1/4 (pow.f64 (sin.f64 x) 2))) (-.f64 (*.f64 (*.f64 eps eps) (pow.f64 (cos.f64 x) 2)) (*.f64 (sin.f64 x) (*.f64 (cos.f64 x) (pow.f64 eps 3))))) |
(fma.f64 (pow.f64 eps 4) (fma.f64 (pow.f64 (cos.f64 x) 2) -1/3 (*.f64 1/4 (pow.f64 (sin.f64 x) 2))) (*.f64 (cos.f64 x) (-.f64 (*.f64 eps (*.f64 eps (cos.f64 x))) (*.f64 (sin.f64 x) (pow.f64 eps 3))))) |
(fma.f64 (pow.f64 eps 4) (fma.f64 (pow.f64 (cos.f64 x) 2) -1/3 (*.f64 1/4 (pow.f64 (sin.f64 x) 2))) (*.f64 (cos.f64 x) (fma.f64 (cos.f64 x) (*.f64 eps eps) (*.f64 (sin.f64 x) (pow.f64 (neg.f64 eps) 3))))) |
(+.f64 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 (cos.f64 x) 2)) (*.f64 1/4 (pow.f64 (sin.f64 x) 2))) (pow.f64 eps 4)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 eps 3) (*.f64 (cos.f64 x) (sin.f64 x)))) (+.f64 (*.f64 (+.f64 (*.f64 1/12 (*.f64 (cos.f64 x) (sin.f64 x))) (*.f64 1/6 (*.f64 (cos.f64 x) (sin.f64 x)))) (pow.f64 eps 5)) (*.f64 (pow.f64 (cos.f64 x) 2) (pow.f64 eps 2))))) |
(fma.f64 (fma.f64 -1/3 (pow.f64 (cos.f64 x) 2) (*.f64 1/4 (pow.f64 (sin.f64 x) 2))) (pow.f64 eps 4) (fma.f64 -1 (*.f64 (pow.f64 eps 3) (*.f64 (sin.f64 x) (cos.f64 x))) (fma.f64 (*.f64 (*.f64 (sin.f64 x) (cos.f64 x)) 1/4) (pow.f64 eps 5) (*.f64 (*.f64 eps eps) (pow.f64 (cos.f64 x) 2))))) |
(fma.f64 (pow.f64 eps 4) (fma.f64 (pow.f64 (cos.f64 x) 2) -1/3 (*.f64 1/4 (pow.f64 (sin.f64 x) 2))) (-.f64 (fma.f64 (*.f64 eps eps) (pow.f64 (cos.f64 x) 2) (*.f64 (*.f64 (sin.f64 x) (cos.f64 x)) (*.f64 1/4 (pow.f64 eps 5)))) (*.f64 (sin.f64 x) (*.f64 (cos.f64 x) (pow.f64 eps 3))))) |
(fma.f64 (pow.f64 eps 4) (fma.f64 (pow.f64 (cos.f64 x) 2) -1/3 (*.f64 1/4 (pow.f64 (sin.f64 x) 2))) (fma.f64 eps (*.f64 eps (pow.f64 (cos.f64 x) 2)) (*.f64 (*.f64 (sin.f64 x) (cos.f64 x)) (+.f64 (neg.f64 (pow.f64 eps 3)) (*.f64 1/4 (pow.f64 eps 5)))))) |
(fma.f64 (pow.f64 eps 4) (fma.f64 (pow.f64 (cos.f64 x) 2) -1/3 (*.f64 1/4 (pow.f64 (sin.f64 x) 2))) (fma.f64 eps (*.f64 eps (pow.f64 (cos.f64 x) 2)) (*.f64 (*.f64 (sin.f64 x) (cos.f64 x)) (-.f64 (*.f64 1/4 (pow.f64 eps 5)) (pow.f64 eps 3))))) |
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 2) |
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 2) |
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 2) |
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 2) |
(pow.f64 (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)) 2) |
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 2) |
(pow.f64 (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)) 2) |
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 2) |
(pow.f64 (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)) 2) |
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 2) |
(pow.f64 (-.f64 (sin.f64 (-.f64 x (*.f64 -1 eps))) (sin.f64 x)) 2) |
(pow.f64 (-.f64 (sin.f64 (+.f64 eps x)) (sin.f64 x)) 2) |
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.1b | (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) |
| 0.1b | (*.f64 (cos.f64 x) (sin.f64 eps)) | |
| ✓ | 0.1b | (*.f64 (sin.f64 x) (cos.f64 eps)) |
| ✓ | 1.8b | (-.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x)) |
Compiled 47 to 10 computations (78.7% saved)
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | x | @ | 0 | (-.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x)) |
| 1.0ms | x | @ | inf | (-.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x)) |
| 1.0ms | x | @ | -inf | (-.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x)) |
| 1.0ms | eps | @ | -inf | (-.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x)) |
| 1.0ms | eps | @ | inf | (-.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x)) |
| 1× | batch-egg-rewrite |
| 762× | fma-def_binary64 |
| 632× | log-prod_binary64 |
| 381× | fma-neg_binary64 |
| 236× | pow1/3_binary64 |
| 235× | expm1-udef_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 45 |
| 1 | 246 | 25 |
| 2 | 3683 | 25 |
| 1× | node limit |
| Inputs |
|---|
(-.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x)) |
(*.f64 (sin.f64 x) (cos.f64 eps)) |
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) |
| Outputs |
|---|
((#(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 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (fma.f64 (sin.f64 x) (cos.f64 eps) (neg.f64 (sin.f64 x))))))) (#(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 (neg.f64 (sin.f64 x)) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) (*.f64 (sin.f64 x) (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) (cbrt.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))) (log.f64 (cbrt.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))) (log.f64 (sqrt.f64 (exp.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (sin.f64 (/.f64 (-.f64 (+.f64 x eps) x) 2)) (cos.f64 (/.f64 (+.f64 (+.f64 x eps) 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 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 (*.f64 (sin.f64 x) (cos.f64 eps)) 3) (pow.f64 (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) 3)) (+.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 2) (-.f64 (*.f64 (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 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 (+.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) (pow.f64 (neg.f64 (sin.f64 x)) 3)) (+.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (-.f64 (*.f64 (neg.f64 (sin.f64 x)) (neg.f64 (sin.f64 x))) (*.f64 (sin.f64 (+.f64 x eps)) (neg.f64 (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 2) (*.f64 (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 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 (-.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2) (*.f64 (neg.f64 (sin.f64 x)) (neg.f64 (sin.f64 x)))) (-.f64 (sin.f64 (+.f64 x eps)) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x 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 (*.f64 (sin.f64 x) (cos.f64 eps)))) (exp.f64 (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 (sin.f64 x)) (cos.f64 eps)) (/.f64 (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 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (/.f64 (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 (+.f64 1 (expm1.f64 (sin.f64 (+.f64 x eps)))) (exp.f64 (neg.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (sin.f64 (+.f64 x eps))) (/.f64 1 (exp.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (sin.f64 (+.f64 x eps)))) (/.f64 1 (exp.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (neg.f64 (sin.f64 x))) (exp.f64 (sin.f64 (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (exp.f64 (sin.f64 x))) (exp.f64 (sin.f64 (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (neg.f64 (sin.f64 x))) (+.f64 1 (expm1.f64 (sin.f64 (+.f64 x eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (exp.f64 (sin.f64 x))) (+.f64 1 (expm1.f64 (sin.f64 (+.f64 x eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) (pow.f64 (exp.f64 (sin.f64 x)) (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 (pow.f64 (exp.f64 (cos.f64 x)) (sin.f64 eps)) (exp.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 (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (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 (pow.f64 (exp.f64 (cos.f64 x)) (sin.f64 eps)) (exp.f64 (sin.f64 x))) (+.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 (+.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 (sin.f64 x) (cos.f64 eps) (*.f64 (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) 1))))) (#(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 (cos.f64 eps) (sin.f64 x) (*.f64 (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) 1))))) (#(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)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 1 (*.f64 (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 x) (sin.f64 eps) (fma.f64 (sin.f64 x) (cos.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 eps) (cos.f64 x) (fma.f64 (sin.f64 x) (cos.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 1 (fma.f64 (sin.f64 x) (cos.f64 eps) (neg.f64 (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 (*.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 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (cos.f64 x) (sin.f64 eps)) (fma.f64 (sin.f64 x) (cos.f64 eps) (neg.f64 (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 (neg.f64 (sin.f64 x)) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (*.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 (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 (pow.f64 (cbrt.f64 (sin.f64 eps)) 2) (*.f64 (cbrt.f64 (sin.f64 eps)) (cos.f64 x)) (fma.f64 (sin.f64 x) (cos.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 eps)) 2) (*.f64 (cbrt.f64 (cos.f64 eps)) (sin.f64 x)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 eps)) 2) (*.f64 (cbrt.f64 (cos.f64 eps)) (sin.f64 x)) (*.f64 (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (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)) (fma.f64 (sin.f64 x) (cos.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))) (fma.f64 (sin.f64 x) (cos.f64 eps) (neg.f64 (sin.f64 x))))))) (#(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)) (-.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 x) (cos.f64 eps))) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 2)) (*.f64 (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) 1))))) (#(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))) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (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))) (*.f64 (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (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 (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (*.f64 (cbrt.f64 (sin.f64 x)) (cos.f64 eps)) (*.f64 (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) 1))))) (#(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 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (sin.f64 eps)) (fma.f64 (sin.f64 x) (cos.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 (sqrt.f64 (sin.f64 eps)) (*.f64 (sqrt.f64 (sin.f64 eps)) (cos.f64 x)) (fma.f64 (sin.f64 x) (cos.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 eps)) (*.f64 (sqrt.f64 (cos.f64 eps)) (sin.f64 x)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 eps)) (*.f64 (sqrt.f64 (cos.f64 eps)) (sin.f64 x)) (*.f64 (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (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))) (fma.f64 (sin.f64 x) (cos.f64 eps) (neg.f64 (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 (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (*.f64 (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (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 (sin.f64 x)) (*.f64 (sqrt.f64 (sin.f64 x)) (cos.f64 eps)) (*.f64 (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) 1))))) (#(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 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) (sin.f64 eps)) (fma.f64 (sin.f64 x) (cos.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 (-.f64 x eps))) 1/2 (-.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 (-.f64 x eps))) 1/2 (*.f64 (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) 1))))) (#(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 (*.f64 (sin.f64 x) (cos.f64 eps)) 3) (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 3)) (/.f64 1 (fma.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 (-.f64 eps x)) (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 2))) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 3) (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 3)) (/.f64 1 (fma.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 (-.f64 eps x)) (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 2))) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(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 (*.f64 (sin.f64 (+.f64 x eps)) (sin.f64 (-.f64 x eps))) (/.f64 1 (sin.f64 (-.f64 x eps))) (neg.f64 (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 (+.f64 x eps)) (sin.f64 (-.f64 x eps))) (/.f64 1 (sin.f64 (-.f64 x eps))) (*.f64 (neg.f64 (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) (cbrt.f64 (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))) (cbrt.f64 (-.f64 (*.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 (*.f64 (cbrt.f64 (neg.f64 (sin.f64 x))) (cbrt.f64 (neg.f64 (sin.f64 x)))) (cbrt.f64 (neg.f64 (sin.f64 x))) (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) (sqrt.f64 (-.f64 (*.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 (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 (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 (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 (cos.f64 x) (pow.f64 (cbrt.f64 (sin.f64 eps)) 2)) (cbrt.f64 (sin.f64 eps)) (fma.f64 (sin.f64 x) (cos.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)) (fma.f64 (sin.f64 x) (cos.f64 eps) (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)) (fma.f64 (sin.f64 x) (cos.f64 eps) (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)) (fma.f64 (sin.f64 x) (cos.f64 eps) (neg.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 x) (pow.f64 (cbrt.f64 (cos.f64 eps)) 2)) (cbrt.f64 (cos.f64 eps)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 x) (pow.f64 (cbrt.f64 (cos.f64 eps)) 2)) (cbrt.f64 (cos.f64 eps)) (*.f64 (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) 1))))) (#(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 fma.f64 (*.f64 (sin.f64 x) (sqrt.f64 (cos.f64 eps))) (sqrt.f64 (cos.f64 eps)) (*.f64 (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) 1))))) (#(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)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (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)) (*.f64 (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 eps) (sqrt.f64 (sin.f64 x))) (sqrt.f64 (sin.f64 x)) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (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)) (*.f64 (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) 1)))))) |
((#(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 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 x)) (cos.f64 eps))) (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 x)) (cos.f64 eps))))) (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 (exp.f64 (log1p.f64 (sin.f64 (+.f64 x eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 2) (sin.f64 (-.f64 x eps))) (/.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2) (sin.f64 (-.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 (+.f64 x eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 2) (cbrt.f64 (sin.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 3) (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 3)) (/.f64 1 (fma.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 (-.f64 eps x)) (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 (+.f64 x eps)) (sin.f64 (-.f64 x eps))) (/.f64 1 (sin.f64 (-.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 (-.f64 eps x)) (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 2)) (+.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 3) (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sin.f64 (-.f64 x eps)) (*.f64 (sin.f64 (+.f64 x eps)) (sin.f64 (-.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 3) (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 3)) (fma.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 (-.f64 eps x)) (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 (*.f64 (cos.f64 x) (sin.f64 eps)) 3)) (+.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2) (-.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.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 (sin.f64 (+.f64 x eps)) (sin.f64 (-.f64 x eps))) (sin.f64 (-.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 3) (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 3))) (neg.f64 (fma.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 (-.f64 eps x)) (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (sin.f64 (+.f64 x eps)) (sin.f64 (-.f64 x eps)))) (neg.f64 (sin.f64 (-.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2) (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 2)) (sin.f64 (-.f64 eps x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sin.f64 (+.f64 x eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 (-.f64 eps x)) (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 2)) (+.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 3) (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sin.f64 (-.f64 x eps)) (*.f64 (sin.f64 (+.f64 x eps)) (sin.f64 (-.f64 x eps)))) -1)))) (#(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 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (pow.f64 (exp.f64 (cos.f64 x)) (sin.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.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 log.f64 (*.f64 (+.f64 1 (expm1.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 log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 x) (sin.f64 eps)))) (pow.f64 (exp.f64 (sin.f64 x)) (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 (cos.f64 x)) (sin.f64 eps)) (+.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 (*.f64 (cos.f64 x) (sin.f64 eps)))) (+.f64 1 (expm1.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 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))))) (#(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 (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 (cos.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 x) (sin.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 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)) (*.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 eps)) 2) (*.f64 (cbrt.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 (cos.f64 eps)) 2) (*.f64 (cbrt.f64 (cos.f64 eps)) (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2)) (*.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))) (*.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)) (*.f64 (cos.f64 x) (sin.f64 eps)))))) (#(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))) (*.f64 (cos.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (*.f64 (cbrt.f64 (sin.f64 x)) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) (sin.f64 eps)) (*.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)) (*.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)) (*.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 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 (sqrt.f64 (cos.f64 x)) (*.f64 (sqrt.f64 (cos.f64 x)) (sin.f64 eps)) (*.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 (*.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)) (*.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)) (*.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)) (*.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)) (*.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)) (*.f64 (cos.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 x) (sqrt.f64 (cos.f64 eps))) (sqrt.f64 (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps)))))) (#(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)) (*.f64 (cos.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 eps) (sqrt.f64 (sin.f64 x))) (sqrt.f64 (sin.f64 x)) (*.f64 (cos.f64 x) (sin.f64 eps))))))) |
| 1× | egg-herbie |
| 588× | sub-neg_binary64 |
| 513× | distribute-neg-in_binary64 |
| 495× | fma-def_binary64 |
| 396× | *-commutative_binary64 |
| 384× | +-commutative_binary64 |
Useful iterations: 5 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 83 | 1214 |
| 1 | 241 | 1202 |
| 2 | 653 | 1133 |
| 3 | 2116 | 1121 |
| 4 | 3699 | 1121 |
| 5 | 4848 | 1119 |
| 6 | 6902 | 1119 |
| 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 (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)) |
(-.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 (+.f64 (cos.f64 eps) -1) x (*.f64 (+.f64 (*.f64 -1/2 (*.f64 x x)) 1) (sin.f64 eps))) |
(-.f64 (fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (fma.f64 (cos.f64 eps) x (sin.f64 eps))) x) |
(fma.f64 x (+.f64 (cos.f64 eps) (*.f64 x (*.f64 (sin.f64 eps) -1/2))) (-.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 (+.f64 (cos.f64 eps) -1) x (fma.f64 (sin.f64 eps) (*.f64 -1/2 (*.f64 x 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)))) |
(fma.f64 x (+.f64 (cos.f64 eps) (*.f64 x (*.f64 (sin.f64 eps) -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))) |
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.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))) |
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.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))) |
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.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))) |
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.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))) |
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.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))) |
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.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))) |
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.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))) |
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (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 (cos.f64 x) eps (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps)))) |
(fma.f64 eps (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 eps eps)))) |
(*.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 (sin.f64 x) (*.f64 -1/2 (*.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))))) |
(fma.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/2)) (*.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 (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) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (*.f64 (sin.f64 x) (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 -1/2 (*.f64 eps eps))))) |
(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 (+.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))) |
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.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))) |
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.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))) |
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.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))) |
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.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))) |
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.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))) |
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.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))) |
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.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))) |
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.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)))) |
(*.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) (*.f64 -1/6 (pow.f64 x 3)) (*.f64 (cos.f64 eps) (+.f64 (*.f64 1/120 (pow.f64 x 5)) x))) |
(*.f64 (cos.f64 eps) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 x (*.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 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) (+.f64 (+.f64 x (*.f64 -1/5040 (pow.f64 x 7))) (+.f64 (*.f64 1/120 (pow.f64 x 5)) (*.f64 -1/6 (pow.f64 x 3))))) |
(*.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 eps (*.f64 eps -1/2)) (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/720 (pow.f64 eps 6) (*.f64 -1/2 (*.f64 eps eps))) (*.f64 (sin.f64 x) (fma.f64 1/24 (pow.f64 eps 4) 1))) |
(*.f64 (sin.f64 x) (+.f64 (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 eps (*.f64 eps -1/2))) (fma.f64 1/24 (pow.f64 eps 4) 1))) |
(*.f64 (sin.f64 x) (+.f64 (fma.f64 1/24 (pow.f64 eps 4) 1) (fma.f64 -1/720 (pow.f64 eps 6) (*.f64 eps (*.f64 eps -1/2))))) |
(*.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 (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 (sin.f64 eps) (*.f64 -1/2 (*.f64 x x)) (fma.f64 (cos.f64 eps) x (sin.f64 eps))) |
(fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (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) (+.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 x (*.f64 -1/6 (pow.f64 x 3)))) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 x x)) 1) (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))) |
(+.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 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps)))) |
(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 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps))))) |
(+.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 (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 (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))) |
Compiled 21411 to 8348 computations (61% saved)
58 alts after pruning (54 fresh and 4 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 1093 | 33 | 1126 |
| Fresh | 27 | 21 | 48 |
| Picked | 1 | 0 | 1 |
| Done | 3 | 4 | 7 |
| Total | 1124 | 58 | 1182 |
| Status | Error | Program |
|---|---|---|
| 45.8b | (*.f64 (*.f64 (cos.f64 x) (sqrt.f64 eps)) (sqrt.f64 eps)) | |
| 46.4b | (+.f64 eps (*.f64 x (*.f64 -1/2 (*.f64 eps x)))) | |
| ✓ | 24.2b | (fma.f64 (sin.f64 x) (cos.f64 eps) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) |
| ▶ | 46.4b | (+.f64 eps (*.f64 eps (*.f64 -1/2 (*.f64 x x)))) |
| 30.1b | (+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))) (*.f64 (sin.f64 eps) (+.f64 1 (*.f64 -1/2 (*.f64 x x))))) | |
| 13.0b | (fma.f64 (sin.f64 eps) (cos.f64 x) (exp.f64 (log.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))))) | |
| 0.4b | (fma.f64 (sin.f64 eps) (cos.f64 x) (pow.f64 (cbrt.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) 3)) | |
| 46.7b | (sqrt.f64 (pow.f64 (sin.f64 eps) 2)) | |
| 61.2b | (-.f64 (cbrt.f64 (pow.f64 (sin.f64 x) 3)) (sin.f64 x)) | |
| 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))) | |
| 28.6b | (*.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) eps)) | |
| 46.6b | (*.f64 eps (+.f64 1 (*.f64 (+.f64 eps x) (*.f64 x -1/2)))) | |
| 27.3b | (sin.f64 eps) | |
| 0.3b | (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (log1p.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1))) (sin.f64 x))) | |
| 34.5b | (-.f64 (+.f64 (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x)) | |
| 39.3b | (cbrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 3)) | |
| ▶ | 35.3b | (-.f64 (log1p.f64 (expm1.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x)) |
| 51.6b | (cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3)) | |
| 24.2b | (+.f64 (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) (*.f64 (sin.f64 x) (cos.f64 eps))) | |
| 0.3b | (fma.f64 (sin.f64 eps) (cos.f64 x) (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) -1))) | |
| 28.5b | (+.f64 (*.f64 (cos.f64 x) eps) (+.f64 0 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))) | |
| 39.8b | (-.f64 (cbrt.f64 (pow.f64 (sin.f64 eps) 3)) (sin.f64 x)) | |
| ✓ | 35.2b | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
| 35.4b | (*.f64 (*.f64 (sin.f64 (*.f64 (-.f64 (+.f64 x eps) x) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2) | |
| 1.8b | (expm1.f64 (log1p.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))) | |
| 15.0b | (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (expm1.f64 (log.f64 (cos.f64 eps))) (sin.f64 x))) | |
| 28.4b | (*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps -1/2)))) | |
| 47.7b | (pow.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) | |
| 0.4b | (fma.f64 (sin.f64 eps) (cos.f64 x) (log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))))) | |
| 23.4b | (cbrt.f64 (pow.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))) 3)) | |
| ▶ | 24.2b | (+.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) (*.f64 (sin.f64 x) (cos.f64 eps))) |
| 24.2b | (-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x)) | |
| 35.9b | (-.f64 (sin.f64 eps) (sin.f64 x)) | |
| 35.7b | (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3) | |
| 46.0b | (pow.f64 (sqrt.f64 (*.f64 (cos.f64 x) eps)) 2) | |
| 44.2b | (-.f64 (log.f64 (exp.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x)) | |
| 48.1b | (-.f64 (sqrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (sin.f64 x)) | |
| 45.3b | (+.f64 eps (*.f64 (*.f64 eps x) (*.f64 -1/2 eps))) | |
| ▶ | 0.3b | (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))) |
| 0.3b | (+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) | |
| ▶ | 29.0b | (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 3) |
| 36.2b | (*.f64 (*.f64 eps (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x))) | |
| 59.8b | (fma.f64 (sin.f64 x) (cos.f64 eps) (neg.f64 (sin.f64 x))) | |
| 35.2b | (log1p.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) | |
| ✓ | 0.3b | (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
| 0.3b | (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (fma.f64 (sin.f64 x) (cos.f64 eps) (neg.f64 (sin.f64 x)))) | |
| 36.4b | (-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x)) | |
| 27.9b | (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)) | |
| 28.6b | (*.f64 (*.f64 eps (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) (cbrt.f64 (cos.f64 x))) | |
| 48.8b | (-.f64 (pow.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) 2) (sin.f64 x)) | |
| 28.5b | (fma.f64 (*.f64 (*.f64 eps eps) -1/2) (sin.f64 x) (*.f64 eps (cos.f64 x))) | |
| 0.3b | (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (log.f64 (exp.f64 (+.f64 (cos.f64 eps) -1))) (sin.f64 x))) | |
| 28.7b | (+.f64 (*.f64 (*.f64 eps eps) (*.f64 -1/2 (sin.f64 x))) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))))) | |
| 61.4b | (*.f64 eps (*.f64 eps (*.f64 -1/2 (sin.f64 x)))) | |
| 44.3b | eps | |
| 33.1b | (log.f64 (exp.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))) | |
| 33.6b | (fma.f64 (sin.f64 x) (cos.f64 eps) (+.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)))))))) | |
| ✓ | 28.2b | (*.f64 (cos.f64 x) eps) |
Compiled 1491 to 1029 computations (31% saved)
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.1b | (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))) |
| ✓ | 0.1b | (*.f64 (sin.f64 eps) (cos.f64 x)) |
| 1.6b | (+.f64 (cos.f64 eps) -1) |
Compiled 34 to 13 computations (61.8% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | x | @ | inf | (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))) |
| 1.0ms | eps | @ | -inf | (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))) |
| 0.0ms | eps | @ | 0 | (*.f64 (sin.f64 eps) (cos.f64 x)) |
| 0.0ms | x | @ | 0 | (*.f64 (sin.f64 eps) (cos.f64 x)) |
| 0.0ms | x | @ | 0 | (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))) |
| 1× | batch-egg-rewrite |
| 530× | log-prod_binary64 |
| 504× | prod-diff_binary64 |
| 332× | pow-prod-down_binary64 |
| 314× | pow2_binary64 |
| 231× | fma-def_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 27 |
| 1 | 228 | 27 |
| 2 | 2925 | 27 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (sin.f64 eps) (cos.f64 x)) |
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 eps) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 eps)) (cos.f64 x))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 eps)) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 eps)) (cos.f64 x)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 eps)) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 eps) (cos.f64 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 2 (+.f64 (sin.f64 (-.f64 eps x)) (sin.f64 (+.f64 eps x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (sin.f64 (-.f64 eps x)) (sin.f64 (+.f64 eps x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (sin.f64 (-.f64 eps x)) (sin.f64 (+.f64 eps x)))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sin.f64 eps) (cos.f64 x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sin.f64 eps) (cos.f64 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 2 (+.f64 (sin.f64 (-.f64 eps x)) (sin.f64 (+.f64 eps x)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sin.f64 eps)) (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 eps) (cos.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sin.f64 eps) (cos.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 eps) (cos.f64 x))) 1)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.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 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) 1) (*.f64 (sin.f64 eps) (cos.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 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) 3) (pow.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) 3)) (+.f64 (pow.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) 2) (-.f64 (pow.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) 2) (*.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 (pow.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) 2) (pow.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) 2)) (-.f64 (*.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 (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 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 (pow.f64 (exp.f64 (sin.f64 eps)) (cos.f64 x)) (exp.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 eps) (cos.f64 x)))) (exp.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) (+.f64 1 (expm1.f64 (*.f64 (sin.f64 eps) (cos.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)))))) |
| 1× | egg-herbie |
| 426× | *-commutative_binary64 |
| 413× | distribute-lft-in_binary64 |
| 399× | fma-def_binary64 |
| 392× | distribute-rgt-in_binary64 |
| 348× | unswap-sqr_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 73 | 786 |
| 1 | 210 | 772 |
| 2 | 586 | 725 |
| 3 | 1974 | 721 |
| 4 | 3756 | 721 |
| 5 | 5345 | 721 |
| 1× | node limit |
| Inputs |
|---|
(*.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)))))) |
(*.f64 (cos.f64 x) (sin.f64 eps)) |
(*.f64 (cos.f64 x) (sin.f64 eps)) |
(*.f64 (cos.f64 x) (sin.f64 eps)) |
(*.f64 (cos.f64 x) (sin.f64 eps)) |
(*.f64 (cos.f64 x) (sin.f64 eps)) |
(*.f64 (cos.f64 x) (sin.f64 eps)) |
(*.f64 (cos.f64 x) (sin.f64 eps)) |
(*.f64 (cos.f64 x) (sin.f64 eps)) |
(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) (sin.f64 eps)) |
(*.f64 (cos.f64 x) (sin.f64 eps)) |
(*.f64 (cos.f64 x) (sin.f64 eps)) |
(*.f64 (cos.f64 x) (sin.f64 eps)) |
(*.f64 (cos.f64 x) (sin.f64 eps)) |
(*.f64 (cos.f64 x) (sin.f64 eps)) |
(*.f64 (cos.f64 x) (sin.f64 eps)) |
(*.f64 (cos.f64 x) (sin.f64 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 (*.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/6 (*.f64 (pow.f64 eps 3) (cos.f64 x)))) |
(fma.f64 (cos.f64 x) eps (*.f64 (*.f64 -1/6 (pow.f64 eps 3)) (cos.f64 x))) |
(*.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 (*.f64 -1/6 (pow.f64 eps 3)) (cos.f64 x)))) |
(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 (*.f64 -1/6 (pow.f64 eps 3)) (fma.f64 1/120 (pow.f64 eps 5) eps))) |
(*.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 (*.f64 -1/6 (pow.f64 eps 3)) (cos.f64 x))))) |
(+.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) (sin.f64 eps)) |
(*.f64 (cos.f64 x) (sin.f64 eps)) |
(*.f64 (cos.f64 x) (sin.f64 eps)) |
(*.f64 (cos.f64 x) (sin.f64 eps)) |
(*.f64 (cos.f64 x) (sin.f64 eps)) |
(*.f64 (cos.f64 x) (sin.f64 eps)) |
(*.f64 (cos.f64 x) (sin.f64 eps)) |
(*.f64 (cos.f64 x) (sin.f64 eps)) |
(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)) |
(fma.f64 -1/2 (*.f64 x (*.f64 x (sin.f64 eps))) (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 -1/2 (*.f64 x x)) (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))) |
(fma.f64 (sin.f64 eps) (fma.f64 -1/2 (*.f64 x x) (*.f64 1/24 (pow.f64 x 4))) (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)))) |
(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/24 (pow.f64 x 4) (*.f64 -1/720 (pow.f64 x 6))) (*.f64 (sin.f64 eps) (fma.f64 -1/2 (*.f64 x x) 1))) |
(*.f64 (sin.f64 eps) (+.f64 (fma.f64 -1/2 (*.f64 x x) 1) (fma.f64 1/24 (pow.f64 x 4) (*.f64 -1/720 (pow.f64 x 6))))) |
(*.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) (sin.f64 eps)) |
(*.f64 (cos.f64 x) (sin.f64 eps)) |
(*.f64 (cos.f64 x) (sin.f64 eps)) |
(*.f64 (cos.f64 x) (sin.f64 eps)) |
(*.f64 (cos.f64 x) (sin.f64 eps)) |
(*.f64 (cos.f64 x) (sin.f64 eps)) |
(*.f64 (cos.f64 x) (sin.f64 eps)) |
(*.f64 (cos.f64 x) (sin.f64 eps)) |
(*.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 (*.f64 -1/2 (*.f64 eps eps)) (sin.f64 x))) |
(fma.f64 (cos.f64 x) eps (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)))) |
(fma.f64 (cos.f64 x) eps (*.f64 eps (*.f64 eps (*.f64 -1/2 (sin.f64 x))))) |
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 -1/2 (*.f64 eps (sin.f64 x))))) |
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps -1/2)))) |
(+.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 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x)))) |
(fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.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 eps (*.f64 -1/2 (*.f64 eps (sin.f64 x))))) |
(fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/2)))) |
(+.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 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3)))) (*.f64 -1/2 (*.f64 (*.f64 eps eps) (sin.f64 x))))) |
(fma.f64 (cos.f64 x) (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 (*.f64 eps (*.f64 eps (sin.f64 x))) (+.f64 -1/2 (*.f64 eps (*.f64 eps 1/24))))) |
(fma.f64 (cos.f64 x) (fma.f64 -1/6 (pow.f64 eps 3) eps) (*.f64 (sin.f64 x) (+.f64 (*.f64 1/24 (pow.f64 eps 4)) (*.f64 eps (*.f64 eps -1/2))))) |
(+.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))) |
(+.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))) |
(+.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))) |
(+.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))) |
(+.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))) |
(+.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))) |
(+.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))) |
(+.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))) |
(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 x (*.f64 x (sin.f64 eps))) (fma.f64 x (+.f64 (cos.f64 eps) -1) (sin.f64 eps))) |
(fma.f64 (fma.f64 -1/2 (*.f64 x x) 1) (sin.f64 eps) (fma.f64 x (cos.f64 eps) (neg.f64 x))) |
(fma.f64 x (+.f64 (cos.f64 eps) -1) (*.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 (-.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 (sin.f64 eps) (fma.f64 -1/2 (*.f64 x x) 1)) (*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 x (*.f64 -1/6 (pow.f64 x 3))))) |
(+.f64 (*.f64 (sin.f64 eps) (fma.f64 -1/2 (*.f64 x x) 1)) (*.f64 (+.f64 (cos.f64 eps) -1) (-.f64 x (*.f64 (pow.f64 x 3) 1/6)))) |
(+.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))) |
(+.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))) |
(+.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))) |
(+.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))) |
(+.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))) |
(+.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))) |
(+.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))) |
(+.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))) |
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 eps (*.f64 eps (*.f64 -1/2 (*.f64 x x)))) |
| ✓ | 0.0b | (*.f64 -1/2 (*.f64 x x)) |
| ✓ | 8.7b | (*.f64 eps (*.f64 -1/2 (*.f64 x x))) |
Compiled 29 to 13 computations (55.2% saved)
15 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 2.0ms | eps | @ | 0 | (*.f64 eps (*.f64 -1/2 (*.f64 x x))) |
| 1.0ms | x | @ | 0 | (*.f64 eps (*.f64 -1/2 (*.f64 x x))) |
| 1.0ms | eps | @ | inf | (*.f64 eps (*.f64 -1/2 (*.f64 x x))) |
| 1.0ms | x | @ | inf | (*.f64 eps (*.f64 -1/2 (*.f64 x x))) |
| 1.0ms | x | @ | inf | (*.f64 -1/2 (*.f64 x x)) |
| 1× | batch-egg-rewrite |
| 906× | pow1_binary64 |
| 844× | add-log-exp_binary64 |
| 844× | log1p-expm1-u_binary64 |
| 844× | expm1-log1p-u_binary64 |
| 826× | add-exp-log_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 30 |
| 1 | 174 | 28 |
| 2 | 2338 | 28 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 eps (*.f64 -1/2 (*.f64 x x))) |
(*.f64 -1/2 (*.f64 x x)) |
(+.f64 eps (*.f64 eps (*.f64 -1/2 (*.f64 x x)))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 eps (*.f64 -1/2 (*.f64 x x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 eps (*.f64 -1/2 (*.f64 x x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 eps (*.f64 -1/2 (*.f64 x x)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (*.f64 eps -1/2)) x) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 eps (*.f64 -1/2 (*.f64 x x))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 eps (*.f64 -1/2 (*.f64 x x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 eps) (*.f64 -1/2 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 eps (*.f64 -1/2 (*.f64 x x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 eps (*.f64 -1/2 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 eps (*.f64 -1/2 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 eps (*.f64 -1/2 (*.f64 x x))))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 -1/2 (*.f64 x x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -1/2 (*.f64 x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 -1/2 (*.f64 x x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 -1/2 (*.f64 x x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (sqrt.f64 -1/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 x 4) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (*.f64 x x)) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 -1/2 (*.f64 x x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 -1/2 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 -1/2 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 -1/2 (*.f64 x x)))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 eps (*.f64 -1/2 (*.f64 x x)) eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 eps eps) (-.f64 eps (*.f64 eps (*.f64 -1/2 (*.f64 x x))))) (/.f64 (pow.f64 (*.f64 eps (*.f64 -1/2 (*.f64 x x))) 2) (-.f64 eps (*.f64 eps (*.f64 -1/2 (*.f64 x x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 eps (+.f64 1 (*.f64 -1/2 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 eps (+.f64 (*.f64 -1/2 (*.f64 x x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 eps (*.f64 -1/2 (*.f64 x x)) eps) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 eps (*.f64 -1/2 (*.f64 x x)) eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 eps (*.f64 -1/2 (*.f64 x x)) eps)) (pow.f64 (cbrt.f64 (fma.f64 eps (*.f64 -1/2 (*.f64 x x)) eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 eps (*.f64 -1/2 (*.f64 x x)) eps)) 2) (cbrt.f64 (fma.f64 eps (*.f64 -1/2 (*.f64 x x)) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 eps (*.f64 -1/2 (*.f64 x x)) eps)) (sqrt.f64 (fma.f64 eps (*.f64 -1/2 (*.f64 x x)) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 eps 3) (pow.f64 (*.f64 eps (*.f64 -1/2 (*.f64 x x))) 3)) (/.f64 1 (fma.f64 eps eps (*.f64 (*.f64 eps (*.f64 -1/2 (*.f64 x x))) (-.f64 (*.f64 eps (*.f64 -1/2 (*.f64 x x))) eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 eps eps) (pow.f64 (*.f64 eps (*.f64 -1/2 (*.f64 x x))) 2)) (/.f64 1 (-.f64 eps (*.f64 eps (*.f64 -1/2 (*.f64 x x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 -1/2 (*.f64 x x)) 1) eps)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 eps eps (*.f64 (*.f64 eps (*.f64 -1/2 (*.f64 x x))) (-.f64 (*.f64 eps (*.f64 -1/2 (*.f64 x x))) eps))) (+.f64 (pow.f64 eps 3) (pow.f64 (*.f64 eps (*.f64 -1/2 (*.f64 x x))) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 eps (*.f64 eps (*.f64 -1/2 (*.f64 x x)))) (-.f64 (*.f64 eps eps) (pow.f64 (*.f64 eps (*.f64 -1/2 (*.f64 x x))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 eps 3) (pow.f64 (*.f64 eps (*.f64 -1/2 (*.f64 x x))) 3)) (fma.f64 eps eps (*.f64 (*.f64 eps (*.f64 -1/2 (*.f64 x x))) (-.f64 (*.f64 eps (*.f64 -1/2 (*.f64 x x))) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 eps 3) (pow.f64 (*.f64 eps (*.f64 -1/2 (*.f64 x x))) 3)) (+.f64 (pow.f64 (*.f64 eps (*.f64 -1/2 (*.f64 x x))) 2) (-.f64 (*.f64 eps eps) (*.f64 eps (*.f64 eps (*.f64 -1/2 (*.f64 x x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 eps eps) (pow.f64 (*.f64 eps (*.f64 -1/2 (*.f64 x x))) 2)) (-.f64 eps (*.f64 eps (*.f64 -1/2 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 eps 3) (pow.f64 (*.f64 eps (*.f64 -1/2 (*.f64 x x))) 3))) (neg.f64 (fma.f64 eps eps (*.f64 (*.f64 eps (*.f64 -1/2 (*.f64 x x))) (-.f64 (*.f64 eps (*.f64 -1/2 (*.f64 x x))) eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 eps eps) (pow.f64 (*.f64 eps (*.f64 -1/2 (*.f64 x x))) 2))) (neg.f64 (-.f64 eps (*.f64 eps (*.f64 -1/2 (*.f64 x x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 eps (*.f64 -1/2 (*.f64 x x))) 2) (*.f64 eps eps)) (-.f64 (*.f64 eps (*.f64 -1/2 (*.f64 x x))) eps))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 eps (*.f64 -1/2 (*.f64 x x)) eps) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 eps (*.f64 -1/2 (*.f64 x x)) eps) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 eps (*.f64 -1/2 (*.f64 x x)) eps)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 eps (*.f64 -1/2 (*.f64 x x)) eps)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 eps (*.f64 -1/2 (*.f64 x x)) eps) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 eps (*.f64 -1/2 (*.f64 x x)) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 eps (*.f64 -1/2 (*.f64 x x)) eps) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 eps (*.f64 -1/2 (*.f64 x x)) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 eps (*.f64 -1/2 (*.f64 x x)) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 eps (*.f64 -1/2 (*.f64 x x)) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 eps (*.f64 -1/2 (*.f64 x x)) eps)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/2 (*.f64 x x)) eps eps)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 eps (*.f64 eps (*.f64 -1/2 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 eps (*.f64 -1/2 (*.f64 x x))) eps)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 eps) 2) (cbrt.f64 eps) (*.f64 eps (*.f64 -1/2 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 eps (*.f64 -1/2 (*.f64 x x)))) 2) (cbrt.f64 (*.f64 eps (*.f64 -1/2 (*.f64 x x)))) eps)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 eps) (sqrt.f64 eps) (*.f64 eps (*.f64 -1/2 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (*.f64 eps -1/2)) x) (*.f64 (sqrt.f64 (*.f64 eps -1/2)) x) eps)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 eps -1/2) (*.f64 x x) eps))))) |
| 1× | egg-herbie |
| 1076× | fma-def_binary64 |
| 835× | fma-neg_binary64 |
| 418× | distribute-rgt-neg-in_binary64 |
| 405× | unswap-sqr_binary64 |
| 314× | distribute-lft-neg-in_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 19 | 618 |
| 1 | 48 | 576 |
| 2 | 107 | 576 |
| 3 | 316 | 576 |
| 4 | 999 | 576 |
| 5 | 2031 | 576 |
| 6 | 3437 | 576 |
| 7 | 4982 | 576 |
| 8 | 5959 | 576 |
| 9 | 6598 | 576 |
| 10 | 7025 | 576 |
| 11 | 7341 | 576 |
| 12 | 7752 | 576 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 -1/2 (pow.f64 x 2)) |
(*.f64 -1/2 (pow.f64 x 2)) |
(*.f64 -1/2 (pow.f64 x 2)) |
(*.f64 -1/2 (pow.f64 x 2)) |
(*.f64 -1/2 (pow.f64 x 2)) |
(*.f64 -1/2 (pow.f64 x 2)) |
(*.f64 -1/2 (pow.f64 x 2)) |
(*.f64 -1/2 (pow.f64 x 2)) |
(*.f64 -1/2 (pow.f64 x 2)) |
(*.f64 -1/2 (pow.f64 x 2)) |
(*.f64 -1/2 (pow.f64 x 2)) |
(*.f64 -1/2 (pow.f64 x 2)) |
(*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) |
(*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) |
(*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) |
(*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) |
(*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) |
(*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) |
(*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) |
(*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) |
(*.f64 -1 (*.f64 eps (-.f64 (*.f64 1/2 (pow.f64 x 2)) 1))) |
(*.f64 -1 (*.f64 eps (-.f64 (*.f64 1/2 (pow.f64 x 2)) 1))) |
(*.f64 -1 (*.f64 eps (-.f64 (*.f64 1/2 (pow.f64 x 2)) 1))) |
(*.f64 -1 (*.f64 eps (-.f64 (*.f64 1/2 (pow.f64 x 2)) 1))) |
eps |
(+.f64 eps (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(+.f64 eps (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(+.f64 eps (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(+.f64 eps (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(+.f64 eps (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(+.f64 eps (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(+.f64 eps (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(+.f64 eps (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(+.f64 eps (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
| Outputs |
|---|
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 -1/2 (*.f64 eps (*.f64 x x))) |
(*.f64 (*.f64 x x) (*.f64 -1/2 eps)) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 -1/2 (*.f64 eps (*.f64 x x))) |
(*.f64 (*.f64 x x) (*.f64 -1/2 eps)) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 -1/2 (*.f64 eps (*.f64 x x))) |
(*.f64 (*.f64 x x) (*.f64 -1/2 eps)) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 -1/2 (*.f64 eps (*.f64 x x))) |
(*.f64 (*.f64 x x) (*.f64 -1/2 eps)) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 -1/2 (*.f64 eps (*.f64 x x))) |
(*.f64 (*.f64 x x) (*.f64 -1/2 eps)) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 -1/2 (*.f64 eps (*.f64 x x))) |
(*.f64 (*.f64 x x) (*.f64 -1/2 eps)) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 -1/2 (*.f64 eps (*.f64 x x))) |
(*.f64 (*.f64 x x) (*.f64 -1/2 eps)) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 -1/2 (*.f64 eps (*.f64 x x))) |
(*.f64 (*.f64 x x) (*.f64 -1/2 eps)) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 -1/2 (*.f64 eps (*.f64 x x))) |
(*.f64 (*.f64 x x) (*.f64 -1/2 eps)) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 -1/2 (*.f64 eps (*.f64 x x))) |
(*.f64 (*.f64 x x) (*.f64 -1/2 eps)) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 -1/2 (*.f64 eps (*.f64 x x))) |
(*.f64 (*.f64 x x) (*.f64 -1/2 eps)) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 -1/2 (*.f64 eps (*.f64 x x))) |
(*.f64 (*.f64 x x) (*.f64 -1/2 eps)) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 -1/2 (*.f64 eps (*.f64 x x))) |
(*.f64 (*.f64 x x) (*.f64 -1/2 eps)) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 -1/2 (*.f64 eps (*.f64 x x))) |
(*.f64 (*.f64 x x) (*.f64 -1/2 eps)) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 -1/2 (*.f64 eps (*.f64 x x))) |
(*.f64 (*.f64 x x) (*.f64 -1/2 eps)) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 -1/2 (*.f64 eps (*.f64 x x))) |
(*.f64 (*.f64 x x) (*.f64 -1/2 eps)) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 -1/2 (*.f64 eps (*.f64 x x))) |
(*.f64 (*.f64 x x) (*.f64 -1/2 eps)) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 -1/2 (*.f64 eps (*.f64 x x))) |
(*.f64 (*.f64 x x) (*.f64 -1/2 eps)) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 -1/2 (*.f64 eps (*.f64 x x))) |
(*.f64 (*.f64 x x) (*.f64 -1/2 eps)) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 -1/2 (*.f64 eps (*.f64 x x))) |
(*.f64 (*.f64 x x) (*.f64 -1/2 eps)) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 -1/2 (*.f64 eps (*.f64 x x))) |
(*.f64 (*.f64 x x) (*.f64 -1/2 eps)) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 -1/2 (*.f64 eps (*.f64 x x))) |
(*.f64 (*.f64 x x) (*.f64 -1/2 eps)) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 -1/2 (*.f64 eps (*.f64 x x))) |
(*.f64 (*.f64 x x) (*.f64 -1/2 eps)) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 -1/2 (*.f64 eps (*.f64 x x))) |
(*.f64 (*.f64 x x) (*.f64 -1/2 eps)) |
(*.f64 -1/2 (pow.f64 x 2)) |
(*.f64 -1/2 (*.f64 x x)) |
(*.f64 x (*.f64 -1/2 x)) |
(*.f64 -1/2 (pow.f64 x 2)) |
(*.f64 -1/2 (*.f64 x x)) |
(*.f64 x (*.f64 -1/2 x)) |
(*.f64 -1/2 (pow.f64 x 2)) |
(*.f64 -1/2 (*.f64 x x)) |
(*.f64 x (*.f64 -1/2 x)) |
(*.f64 -1/2 (pow.f64 x 2)) |
(*.f64 -1/2 (*.f64 x x)) |
(*.f64 x (*.f64 -1/2 x)) |
(*.f64 -1/2 (pow.f64 x 2)) |
(*.f64 -1/2 (*.f64 x x)) |
(*.f64 x (*.f64 -1/2 x)) |
(*.f64 -1/2 (pow.f64 x 2)) |
(*.f64 -1/2 (*.f64 x x)) |
(*.f64 x (*.f64 -1/2 x)) |
(*.f64 -1/2 (pow.f64 x 2)) |
(*.f64 -1/2 (*.f64 x x)) |
(*.f64 x (*.f64 -1/2 x)) |
(*.f64 -1/2 (pow.f64 x 2)) |
(*.f64 -1/2 (*.f64 x x)) |
(*.f64 x (*.f64 -1/2 x)) |
(*.f64 -1/2 (pow.f64 x 2)) |
(*.f64 -1/2 (*.f64 x x)) |
(*.f64 x (*.f64 -1/2 x)) |
(*.f64 -1/2 (pow.f64 x 2)) |
(*.f64 -1/2 (*.f64 x x)) |
(*.f64 x (*.f64 -1/2 x)) |
(*.f64 -1/2 (pow.f64 x 2)) |
(*.f64 -1/2 (*.f64 x x)) |
(*.f64 x (*.f64 -1/2 x)) |
(*.f64 -1/2 (pow.f64 x 2)) |
(*.f64 -1/2 (*.f64 x x)) |
(*.f64 x (*.f64 -1/2 x)) |
(*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) |
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 x x)) 1)) |
(*.f64 eps (fma.f64 -1/2 (*.f64 x x) 1)) |
(fma.f64 -1/2 (*.f64 eps (*.f64 x x)) eps) |
(*.f64 eps (fma.f64 x (*.f64 -1/2 x) 1)) |
(*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) |
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 x x)) 1)) |
(*.f64 eps (fma.f64 -1/2 (*.f64 x x) 1)) |
(fma.f64 -1/2 (*.f64 eps (*.f64 x x)) eps) |
(*.f64 eps (fma.f64 x (*.f64 -1/2 x) 1)) |
(*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) |
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 x x)) 1)) |
(*.f64 eps (fma.f64 -1/2 (*.f64 x x) 1)) |
(fma.f64 -1/2 (*.f64 eps (*.f64 x x)) eps) |
(*.f64 eps (fma.f64 x (*.f64 -1/2 x) 1)) |
(*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) |
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 x x)) 1)) |
(*.f64 eps (fma.f64 -1/2 (*.f64 x x) 1)) |
(fma.f64 -1/2 (*.f64 eps (*.f64 x x)) eps) |
(*.f64 eps (fma.f64 x (*.f64 -1/2 x) 1)) |
(*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) |
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 x x)) 1)) |
(*.f64 eps (fma.f64 -1/2 (*.f64 x x) 1)) |
(fma.f64 -1/2 (*.f64 eps (*.f64 x x)) eps) |
(*.f64 eps (fma.f64 x (*.f64 -1/2 x) 1)) |
(*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) |
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 x x)) 1)) |
(*.f64 eps (fma.f64 -1/2 (*.f64 x x) 1)) |
(fma.f64 -1/2 (*.f64 eps (*.f64 x x)) eps) |
(*.f64 eps (fma.f64 x (*.f64 -1/2 x) 1)) |
(*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) |
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 x x)) 1)) |
(*.f64 eps (fma.f64 -1/2 (*.f64 x x) 1)) |
(fma.f64 -1/2 (*.f64 eps (*.f64 x x)) eps) |
(*.f64 eps (fma.f64 x (*.f64 -1/2 x) 1)) |
(*.f64 eps (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) |
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 x x)) 1)) |
(*.f64 eps (fma.f64 -1/2 (*.f64 x x) 1)) |
(fma.f64 -1/2 (*.f64 eps (*.f64 x x)) eps) |
(*.f64 eps (fma.f64 x (*.f64 -1/2 x) 1)) |
(*.f64 -1 (*.f64 eps (-.f64 (*.f64 1/2 (pow.f64 x 2)) 1))) |
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 x x)) 1)) |
(*.f64 eps (fma.f64 -1/2 (*.f64 x x) 1)) |
(fma.f64 -1/2 (*.f64 eps (*.f64 x x)) eps) |
(*.f64 eps (fma.f64 x (*.f64 -1/2 x) 1)) |
(*.f64 -1 (*.f64 eps (-.f64 (*.f64 1/2 (pow.f64 x 2)) 1))) |
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 x x)) 1)) |
(*.f64 eps (fma.f64 -1/2 (*.f64 x x) 1)) |
(fma.f64 -1/2 (*.f64 eps (*.f64 x x)) eps) |
(*.f64 eps (fma.f64 x (*.f64 -1/2 x) 1)) |
(*.f64 -1 (*.f64 eps (-.f64 (*.f64 1/2 (pow.f64 x 2)) 1))) |
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 x x)) 1)) |
(*.f64 eps (fma.f64 -1/2 (*.f64 x x) 1)) |
(fma.f64 -1/2 (*.f64 eps (*.f64 x x)) eps) |
(*.f64 eps (fma.f64 x (*.f64 -1/2 x) 1)) |
(*.f64 -1 (*.f64 eps (-.f64 (*.f64 1/2 (pow.f64 x 2)) 1))) |
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 x x)) 1)) |
(*.f64 eps (fma.f64 -1/2 (*.f64 x x) 1)) |
(fma.f64 -1/2 (*.f64 eps (*.f64 x x)) eps) |
(*.f64 eps (fma.f64 x (*.f64 -1/2 x) 1)) |
eps |
(+.f64 eps (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 x x)) 1)) |
(*.f64 eps (fma.f64 -1/2 (*.f64 x x) 1)) |
(fma.f64 -1/2 (*.f64 eps (*.f64 x x)) eps) |
(*.f64 eps (fma.f64 x (*.f64 -1/2 x) 1)) |
(+.f64 eps (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 x x)) 1)) |
(*.f64 eps (fma.f64 -1/2 (*.f64 x x) 1)) |
(fma.f64 -1/2 (*.f64 eps (*.f64 x x)) eps) |
(*.f64 eps (fma.f64 x (*.f64 -1/2 x) 1)) |
(+.f64 eps (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 x x)) 1)) |
(*.f64 eps (fma.f64 -1/2 (*.f64 x x) 1)) |
(fma.f64 -1/2 (*.f64 eps (*.f64 x x)) eps) |
(*.f64 eps (fma.f64 x (*.f64 -1/2 x) 1)) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 -1/2 (*.f64 eps (*.f64 x x))) |
(*.f64 (*.f64 x x) (*.f64 -1/2 eps)) |
(+.f64 eps (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 x x)) 1)) |
(*.f64 eps (fma.f64 -1/2 (*.f64 x x) 1)) |
(fma.f64 -1/2 (*.f64 eps (*.f64 x x)) eps) |
(*.f64 eps (fma.f64 x (*.f64 -1/2 x) 1)) |
(+.f64 eps (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 x x)) 1)) |
(*.f64 eps (fma.f64 -1/2 (*.f64 x x) 1)) |
(fma.f64 -1/2 (*.f64 eps (*.f64 x x)) eps) |
(*.f64 eps (fma.f64 x (*.f64 -1/2 x) 1)) |
(+.f64 eps (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 x x)) 1)) |
(*.f64 eps (fma.f64 -1/2 (*.f64 x x) 1)) |
(fma.f64 -1/2 (*.f64 eps (*.f64 x x)) eps) |
(*.f64 eps (fma.f64 x (*.f64 -1/2 x) 1)) |
(*.f64 -1/2 (*.f64 eps (pow.f64 x 2))) |
(*.f64 -1/2 (*.f64 eps (*.f64 x x))) |
(*.f64 (*.f64 x x) (*.f64 -1/2 eps)) |
(+.f64 eps (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 x x)) 1)) |
(*.f64 eps (fma.f64 -1/2 (*.f64 x x) 1)) |
(fma.f64 -1/2 (*.f64 eps (*.f64 x x)) eps) |
(*.f64 eps (fma.f64 x (*.f64 -1/2 x) 1)) |
(+.f64 eps (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 x x)) 1)) |
(*.f64 eps (fma.f64 -1/2 (*.f64 x x) 1)) |
(fma.f64 -1/2 (*.f64 eps (*.f64 x x)) eps) |
(*.f64 eps (fma.f64 x (*.f64 -1/2 x) 1)) |
(+.f64 eps (*.f64 -1/2 (*.f64 eps (pow.f64 x 2)))) |
(*.f64 eps (+.f64 (*.f64 -1/2 (*.f64 x x)) 1)) |
(*.f64 eps (fma.f64 -1/2 (*.f64 x x) 1)) |
(fma.f64 -1/2 (*.f64 eps (*.f64 x x)) eps) |
(*.f64 eps (fma.f64 x (*.f64 -1/2 x) 1)) |
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.1b | (*.f64 (cos.f64 x) eps) | |
| ✓ | 0.6b | (cbrt.f64 (*.f64 (cos.f64 x) eps)) |
| ✓ | 0.7b | (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 3) |
Compiled 23 to 8 computations (65.2% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 6.0ms | x | @ | 0 | (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 3) |
| 4.0ms | x | @ | inf | (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 3) |
| 4.0ms | x | @ | -inf | (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 3) |
| 4.0ms | eps | @ | -inf | (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 3) |
| 2.0ms | eps | @ | 0 | (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 3) |
| 1× | batch-egg-rewrite |
| 638× | pow1_binary64 |
| 596× | add-log-exp_binary64 |
| 596× | log1p-expm1-u_binary64 |
| 596× | expm1-log1p-u_binary64 |
| 581× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 14 |
| 1 | 166 | 14 |
| 2 | 1669 | 14 |
| 1× | node limit |
| Inputs |
|---|
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 3) |
(cbrt.f64 (*.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 *.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 (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 1 (*.f64 (cos.f64 x) eps))))) (#(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 (cbrt.f64 (*.f64 (cos.f64 x) eps))) 2) (*.f64 (cbrt.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 (cos.f64 x)) (*.f64 (cbrt.f64 eps) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 2)))))) (#(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 (pow.f64 (*.f64 (cos.f64 x) eps) 1/6) (*.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 1/6) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 2)))))) (#(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 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps))) 2) 3) (cbrt.f64 (*.f64 (cos.f64 x) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 1/6) 3) (pow.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 1/6) 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 *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 2) 1) (cbrt.f64 (*.f64 (cos.f64 x) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps))) 2)) (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 2) (cbrt.f64 (cos.f64 x))) (cbrt.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 2) (pow.f64 (*.f64 (cos.f64 x) eps) 1/6)) (pow.f64 (*.f64 (cos.f64 x) eps) 1/6))))) (#(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 (cbrt.f64 (*.f64 (cos.f64 x) eps))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (*.f64 (cos.f64 x) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps))) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps))) 2) (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cos.f64 x)) (cbrt.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 eps) (cbrt.f64 (cos.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 1/6) (pow.f64 (*.f64 (cos.f64 x) eps) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 (cos.f64 x) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (*.f64 (cos.f64 x) eps)) 1/3) (pow.f64 (sqrt.f64 (*.f64 (cos.f64 x) eps)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 x) eps) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)))))))) |
| 1× | egg-herbie |
| 653× | associate-*l*_binary64 |
| 651× | associate-*r*_binary64 |
| 537× | fma-def_binary64 |
| 404× | distribute-rgt-out_binary64 |
| 242× | distribute-rgt-in_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 94 | 500 |
| 1 | 309 | 464 |
| 2 | 1003 | 400 |
| 3 | 5875 | 392 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 eps (pow.f64 1 1/3)) |
(+.f64 (*.f64 (+.f64 (*.f64 -1/6 (*.f64 eps (pow.f64 1 1/3))) (*.f64 -1/3 (*.f64 eps (pow.f64 1 1/3)))) (pow.f64 x 2)) (*.f64 eps (pow.f64 1 1/3))) |
(+.f64 (*.f64 (+.f64 (*.f64 -1/6 (*.f64 eps (pow.f64 1 1/3))) (*.f64 -1/3 (*.f64 eps (pow.f64 1 1/3)))) (pow.f64 x 2)) (+.f64 (*.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 1/24 eps) (*.f64 1/12 eps)))) (+.f64 (*.f64 1/18 (*.f64 eps (pow.f64 1 1/3))) (*.f64 (+.f64 (*.f64 1/36 (pow.f64 (*.f64 (pow.f64 eps 2) 1) 1/3)) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 eps) 1/3) (-.f64 (*.f64 1/24 eps) (*.f64 1/12 eps))))) (pow.f64 (*.f64 eps 1) 1/3)))) (pow.f64 x 4)) (*.f64 eps (pow.f64 1 1/3)))) |
(+.f64 (*.f64 (+.f64 (*.f64 -1/6 (*.f64 eps (pow.f64 1 1/3))) (*.f64 -1/3 (*.f64 eps (pow.f64 1 1/3)))) (pow.f64 x 2)) (+.f64 (*.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 1/24 eps) (*.f64 1/12 eps)))) (+.f64 (*.f64 1/18 (*.f64 eps (pow.f64 1 1/3))) (*.f64 (+.f64 (*.f64 1/36 (pow.f64 (*.f64 (pow.f64 eps 2) 1) 1/3)) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 eps) 1/3) (-.f64 (*.f64 1/24 eps) (*.f64 1/12 eps))))) (pow.f64 (*.f64 eps 1) 1/3)))) (pow.f64 x 4)) (+.f64 (*.f64 eps (pow.f64 1 1/3)) (*.f64 (pow.f64 x 6) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 -1/720 eps) (+.f64 (*.f64 -1/216 eps) (*.f64 -1/3 (-.f64 (*.f64 1/24 eps) (*.f64 1/12 eps))))))) (+.f64 (*.f64 -1/9 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 1/24 eps) (*.f64 1/12 eps)))) (+.f64 (*.f64 (pow.f64 (*.f64 eps 1) 1/3) (+.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 eps) 1/3) (-.f64 (*.f64 1/24 eps) (*.f64 1/12 eps)))) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 eps) 1/3) (-.f64 (*.f64 -1/720 eps) (+.f64 (*.f64 -1/216 eps) (*.f64 -1/3 (-.f64 (*.f64 1/24 eps) (*.f64 1/12 eps))))))))) (*.f64 -1/6 (*.f64 (+.f64 (*.f64 1/36 (pow.f64 (*.f64 (pow.f64 eps 2) 1) 1/3)) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 eps) 1/3) (-.f64 (*.f64 1/24 eps) (*.f64 1/12 eps))))) (pow.f64 (*.f64 eps 1) 1/3)))))))))) |
(*.f64 (*.f64 (cos.f64 x) eps) (pow.f64 1 1/3)) |
(*.f64 (*.f64 (cos.f64 x) eps) (pow.f64 1 1/3)) |
(*.f64 (*.f64 (cos.f64 x) eps) (pow.f64 1 1/3)) |
(*.f64 (*.f64 (cos.f64 x) eps) (pow.f64 1 1/3)) |
(*.f64 (pow.f64 1 1/3) (*.f64 eps (cos.f64 x))) |
(*.f64 (pow.f64 1 1/3) (*.f64 eps (cos.f64 x))) |
(*.f64 (pow.f64 1 1/3) (*.f64 eps (cos.f64 x))) |
(*.f64 (pow.f64 1 1/3) (*.f64 eps (cos.f64 x))) |
(pow.f64 eps 1/3) |
(+.f64 (pow.f64 eps 1/3) (*.f64 -1/6 (*.f64 (pow.f64 (*.f64 eps 1) 1/3) (pow.f64 x 2)))) |
(+.f64 (pow.f64 eps 1/3) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (*.f64 eps 1) 1/3) (pow.f64 x 2))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 2)) 1/3) (*.f64 (-.f64 (*.f64 1/24 eps) (*.f64 1/12 eps)) (pow.f64 x 4)))))) |
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 2)) 1/3) (*.f64 (-.f64 (*.f64 -1/720 eps) (+.f64 (*.f64 -1/216 eps) (*.f64 -1/3 (-.f64 (*.f64 1/24 eps) (*.f64 1/12 eps))))) (pow.f64 x 6)))) (+.f64 (pow.f64 eps 1/3) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (*.f64 eps 1) 1/3) (pow.f64 x 2))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 2)) 1/3) (*.f64 (-.f64 (*.f64 1/24 eps) (*.f64 1/12 eps)) (pow.f64 x 4))))))) |
(pow.f64 (*.f64 (cos.f64 x) eps) 1/3) |
(pow.f64 (*.f64 (cos.f64 x) eps) 1/3) |
(pow.f64 (*.f64 (cos.f64 x) eps) 1/3) |
(pow.f64 (*.f64 (cos.f64 x) eps) 1/3) |
(pow.f64 (*.f64 eps (cos.f64 x)) 1/3) |
(pow.f64 (*.f64 eps (cos.f64 x)) 1/3) |
(pow.f64 (*.f64 eps (cos.f64 x)) 1/3) |
(pow.f64 (*.f64 eps (cos.f64 x)) 1/3) |
| Outputs |
|---|
(*.f64 eps (pow.f64 1 1/3)) |
eps |
(+.f64 (*.f64 (+.f64 (*.f64 -1/6 (*.f64 eps (pow.f64 1 1/3))) (*.f64 -1/3 (*.f64 eps (pow.f64 1 1/3)))) (pow.f64 x 2)) (*.f64 eps (pow.f64 1 1/3))) |
(fma.f64 (*.f64 eps -1/2) (*.f64 x x) eps) |
(fma.f64 eps (*.f64 (*.f64 x x) -1/2) eps) |
(+.f64 (*.f64 (+.f64 (*.f64 -1/6 (*.f64 eps (pow.f64 1 1/3))) (*.f64 -1/3 (*.f64 eps (pow.f64 1 1/3)))) (pow.f64 x 2)) (+.f64 (*.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 1/24 eps) (*.f64 1/12 eps)))) (+.f64 (*.f64 1/18 (*.f64 eps (pow.f64 1 1/3))) (*.f64 (+.f64 (*.f64 1/36 (pow.f64 (*.f64 (pow.f64 eps 2) 1) 1/3)) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 eps) 1/3) (-.f64 (*.f64 1/24 eps) (*.f64 1/12 eps))))) (pow.f64 (*.f64 eps 1) 1/3)))) (pow.f64 x 4)) (*.f64 eps (pow.f64 1 1/3)))) |
(fma.f64 (*.f64 eps -1/2) (*.f64 x x) (fma.f64 (+.f64 (*.f64 1/3 (*.f64 eps -1/24)) (fma.f64 1/18 eps (*.f64 (fma.f64 1/36 (cbrt.f64 (*.f64 eps eps)) (*.f64 (*.f64 2/3 (cbrt.f64 (/.f64 1 eps))) (*.f64 eps -1/24))) (cbrt.f64 eps)))) (pow.f64 x 4) eps)) |
(fma.f64 (*.f64 eps -1/2) (*.f64 x x) (fma.f64 (fma.f64 1/3 (*.f64 eps -1/24) (fma.f64 (fma.f64 1/36 (cbrt.f64 (*.f64 eps eps)) (*.f64 (*.f64 eps -1/24) (*.f64 2/3 (cbrt.f64 (/.f64 1 eps))))) (cbrt.f64 eps) (*.f64 eps 1/18))) (pow.f64 x 4) eps)) |
(fma.f64 (fma.f64 eps 1/18 (fma.f64 (fma.f64 1/36 (cbrt.f64 (*.f64 eps eps)) (*.f64 (cbrt.f64 (/.f64 1 eps)) (*.f64 eps -1/36))) (cbrt.f64 eps) (*.f64 eps -1/72))) (pow.f64 x 4) (fma.f64 eps (*.f64 (*.f64 x x) -1/2) eps)) |
(fma.f64 (fma.f64 (fma.f64 1/36 (cbrt.f64 (*.f64 eps eps)) (*.f64 (cbrt.f64 (/.f64 1 eps)) (*.f64 eps -1/36))) (cbrt.f64 eps) (*.f64 eps 1/24)) (pow.f64 x 4) (fma.f64 eps (*.f64 (*.f64 x x) -1/2) eps)) |
(+.f64 (*.f64 (+.f64 (*.f64 -1/6 (*.f64 eps (pow.f64 1 1/3))) (*.f64 -1/3 (*.f64 eps (pow.f64 1 1/3)))) (pow.f64 x 2)) (+.f64 (*.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 1/24 eps) (*.f64 1/12 eps)))) (+.f64 (*.f64 1/18 (*.f64 eps (pow.f64 1 1/3))) (*.f64 (+.f64 (*.f64 1/36 (pow.f64 (*.f64 (pow.f64 eps 2) 1) 1/3)) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 eps) 1/3) (-.f64 (*.f64 1/24 eps) (*.f64 1/12 eps))))) (pow.f64 (*.f64 eps 1) 1/3)))) (pow.f64 x 4)) (+.f64 (*.f64 eps (pow.f64 1 1/3)) (*.f64 (pow.f64 x 6) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 -1/720 eps) (+.f64 (*.f64 -1/216 eps) (*.f64 -1/3 (-.f64 (*.f64 1/24 eps) (*.f64 1/12 eps))))))) (+.f64 (*.f64 -1/9 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 1/24 eps) (*.f64 1/12 eps)))) (+.f64 (*.f64 (pow.f64 (*.f64 eps 1) 1/3) (+.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 eps) 1/3) (-.f64 (*.f64 1/24 eps) (*.f64 1/12 eps)))) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 eps) 1/3) (-.f64 (*.f64 -1/720 eps) (+.f64 (*.f64 -1/216 eps) (*.f64 -1/3 (-.f64 (*.f64 1/24 eps) (*.f64 1/12 eps))))))))) (*.f64 -1/6 (*.f64 (+.f64 (*.f64 1/36 (pow.f64 (*.f64 (pow.f64 eps 2) 1) 1/3)) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 eps) 1/3) (-.f64 (*.f64 1/24 eps) (*.f64 1/12 eps))))) (pow.f64 (*.f64 eps 1) 1/3)))))))))) |
(fma.f64 (*.f64 eps -1/2) (*.f64 x x) (+.f64 (fma.f64 (+.f64 (*.f64 1/3 (*.f64 eps -1/24)) (fma.f64 1/18 eps (*.f64 (fma.f64 1/36 (cbrt.f64 (*.f64 eps eps)) (*.f64 (*.f64 2/3 (cbrt.f64 (/.f64 1 eps))) (*.f64 eps -1/24))) (cbrt.f64 eps)))) (pow.f64 x 4) eps) (*.f64 (pow.f64 x 6) (+.f64 (+.f64 (*.f64 1/3 (-.f64 (*.f64 eps -1/720) (fma.f64 -1/216 eps (*.f64 -1/3 (*.f64 eps -1/24))))) (*.f64 -1/9 (*.f64 eps -1/24))) (fma.f64 (cbrt.f64 eps) (fma.f64 -1/9 (*.f64 (*.f64 eps -1/24) (cbrt.f64 (/.f64 1 eps))) (*.f64 (*.f64 2/3 (cbrt.f64 (/.f64 1 eps))) (-.f64 (*.f64 eps -1/720) (fma.f64 -1/216 eps (*.f64 -1/3 (*.f64 eps -1/24)))))) (*.f64 -1/6 (*.f64 (fma.f64 1/36 (cbrt.f64 (*.f64 eps eps)) (*.f64 (*.f64 2/3 (cbrt.f64 (/.f64 1 eps))) (*.f64 eps -1/24))) (cbrt.f64 eps)))))))) |
(fma.f64 (*.f64 eps -1/2) (*.f64 x x) (fma.f64 (fma.f64 1/3 (*.f64 eps -1/24) (fma.f64 (fma.f64 1/36 (cbrt.f64 (*.f64 eps eps)) (*.f64 (*.f64 eps -1/24) (*.f64 2/3 (cbrt.f64 (/.f64 1 eps))))) (cbrt.f64 eps) (*.f64 eps 1/18))) (pow.f64 x 4) (fma.f64 (pow.f64 x 6) (fma.f64 1/3 (-.f64 (*.f64 eps 7/2160) (*.f64 eps 1/72)) (fma.f64 (*.f64 eps -1/24) -1/9 (*.f64 (cbrt.f64 eps) (+.f64 (fma.f64 2/3 (*.f64 (cbrt.f64 (/.f64 1 eps)) (-.f64 (*.f64 eps 7/2160) (*.f64 eps 1/72))) (*.f64 (*.f64 eps -1/24) (*.f64 (cbrt.f64 (/.f64 1 eps)) -1/9))) (*.f64 -1/6 (fma.f64 1/36 (cbrt.f64 (*.f64 eps eps)) (*.f64 (*.f64 eps -1/24) (*.f64 2/3 (cbrt.f64 (/.f64 1 eps)))))))))) eps))) |
(fma.f64 (fma.f64 eps 1/18 (fma.f64 (fma.f64 1/36 (cbrt.f64 (*.f64 eps eps)) (*.f64 (cbrt.f64 (/.f64 1 eps)) (*.f64 eps -1/36))) (cbrt.f64 eps) (*.f64 eps -1/72))) (pow.f64 x 4) (fma.f64 eps (*.f64 (*.f64 x x) -1/2) (fma.f64 (pow.f64 x 6) (fma.f64 (cbrt.f64 eps) (fma.f64 -1/6 (fma.f64 1/36 (cbrt.f64 (*.f64 eps eps)) (*.f64 (cbrt.f64 (/.f64 1 eps)) (*.f64 eps -1/36))) (*.f64 (cbrt.f64 (/.f64 1 eps)) (+.f64 (*.f64 eps 1/216) (*.f64 2/3 (*.f64 eps -23/2160))))) (fma.f64 1/3 (*.f64 eps -23/2160) (*.f64 eps 1/216))) eps))) |
(fma.f64 (fma.f64 (fma.f64 1/36 (cbrt.f64 (*.f64 eps eps)) (*.f64 (cbrt.f64 (/.f64 1 eps)) (*.f64 eps -1/36))) (cbrt.f64 eps) (*.f64 eps 1/24)) (pow.f64 x 4) (fma.f64 eps (*.f64 (*.f64 x x) -1/2) (fma.f64 (pow.f64 x 6) (fma.f64 (cbrt.f64 eps) (fma.f64 -1/6 (fma.f64 1/36 (cbrt.f64 (*.f64 eps eps)) (*.f64 (cbrt.f64 (/.f64 1 eps)) (*.f64 eps -1/36))) (*.f64 (cbrt.f64 (/.f64 1 eps)) (+.f64 (*.f64 eps 1/216) (*.f64 2/3 (*.f64 eps -23/2160))))) (fma.f64 1/3 (*.f64 eps -23/2160) (*.f64 eps 1/216))) eps))) |
(*.f64 (*.f64 (cos.f64 x) eps) (pow.f64 1 1/3)) |
(*.f64 eps (cos.f64 x)) |
(*.f64 (*.f64 (cos.f64 x) eps) (pow.f64 1 1/3)) |
(*.f64 eps (cos.f64 x)) |
(*.f64 (*.f64 (cos.f64 x) eps) (pow.f64 1 1/3)) |
(*.f64 eps (cos.f64 x)) |
(*.f64 (*.f64 (cos.f64 x) eps) (pow.f64 1 1/3)) |
(*.f64 eps (cos.f64 x)) |
(*.f64 (pow.f64 1 1/3) (*.f64 eps (cos.f64 x))) |
(*.f64 eps (cos.f64 x)) |
(*.f64 (pow.f64 1 1/3) (*.f64 eps (cos.f64 x))) |
(*.f64 eps (cos.f64 x)) |
(*.f64 (pow.f64 1 1/3) (*.f64 eps (cos.f64 x))) |
(*.f64 eps (cos.f64 x)) |
(*.f64 (pow.f64 1 1/3) (*.f64 eps (cos.f64 x))) |
(*.f64 eps (cos.f64 x)) |
(pow.f64 eps 1/3) |
(cbrt.f64 eps) |
(+.f64 (pow.f64 eps 1/3) (*.f64 -1/6 (*.f64 (pow.f64 (*.f64 eps 1) 1/3) (pow.f64 x 2)))) |
(+.f64 (cbrt.f64 eps) (*.f64 -1/6 (*.f64 (*.f64 x x) (cbrt.f64 eps)))) |
(fma.f64 -1/6 (*.f64 x (*.f64 x (cbrt.f64 eps))) (cbrt.f64 eps)) |
(*.f64 (+.f64 (*.f64 -1/6 (*.f64 x x)) 1) (cbrt.f64 eps)) |
(+.f64 (pow.f64 eps 1/3) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (*.f64 eps 1) 1/3) (pow.f64 x 2))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 2)) 1/3) (*.f64 (-.f64 (*.f64 1/24 eps) (*.f64 1/12 eps)) (pow.f64 x 4)))))) |
(+.f64 (cbrt.f64 eps) (fma.f64 -1/6 (*.f64 (*.f64 x x) (cbrt.f64 eps)) (*.f64 (*.f64 1/3 (cbrt.f64 (/.f64 1 (*.f64 eps eps)))) (*.f64 (*.f64 eps -1/24) (pow.f64 x 4))))) |
(+.f64 (cbrt.f64 eps) (fma.f64 1/3 (*.f64 (pow.f64 x 4) (*.f64 (*.f64 eps -1/24) (cbrt.f64 (/.f64 1 (*.f64 eps eps))))) (*.f64 -1/6 (*.f64 x (*.f64 x (cbrt.f64 eps)))))) |
(fma.f64 (cbrt.f64 (/.f64 1 (*.f64 eps eps))) (*.f64 (*.f64 eps (pow.f64 x 4)) -1/72) (*.f64 (+.f64 (*.f64 -1/6 (*.f64 x x)) 1) (cbrt.f64 eps))) |
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 2)) 1/3) (*.f64 (-.f64 (*.f64 -1/720 eps) (+.f64 (*.f64 -1/216 eps) (*.f64 -1/3 (-.f64 (*.f64 1/24 eps) (*.f64 1/12 eps))))) (pow.f64 x 6)))) (+.f64 (pow.f64 eps 1/3) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (*.f64 eps 1) 1/3) (pow.f64 x 2))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 2)) 1/3) (*.f64 (-.f64 (*.f64 1/24 eps) (*.f64 1/12 eps)) (pow.f64 x 4))))))) |
(fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 eps eps))) (*.f64 (pow.f64 x 6) (-.f64 (*.f64 eps -1/720) (fma.f64 -1/216 eps (*.f64 -1/3 (*.f64 eps -1/24)))))) (+.f64 (cbrt.f64 eps) (fma.f64 -1/6 (*.f64 (*.f64 x x) (cbrt.f64 eps)) (*.f64 (*.f64 1/3 (cbrt.f64 (/.f64 1 (*.f64 eps eps)))) (*.f64 (*.f64 eps -1/24) (pow.f64 x 4)))))) |
(fma.f64 1/3 (*.f64 (-.f64 (*.f64 eps 7/2160) (*.f64 eps 1/72)) (*.f64 (pow.f64 x 6) (cbrt.f64 (/.f64 1 (*.f64 eps eps))))) (+.f64 (cbrt.f64 eps) (fma.f64 1/3 (*.f64 (pow.f64 x 4) (*.f64 (*.f64 eps -1/24) (cbrt.f64 (/.f64 1 (*.f64 eps eps))))) (*.f64 -1/6 (*.f64 x (*.f64 x (cbrt.f64 eps))))))) |
(+.f64 (*.f64 (+.f64 (*.f64 -1/6 (*.f64 x x)) 1) (cbrt.f64 eps)) (*.f64 (cbrt.f64 (/.f64 1 (*.f64 eps eps))) (+.f64 (*.f64 (*.f64 eps (pow.f64 x 4)) -1/72) (*.f64 1/3 (*.f64 (pow.f64 x 6) (*.f64 eps -23/2160)))))) |
(pow.f64 (*.f64 (cos.f64 x) eps) 1/3) |
(cbrt.f64 (*.f64 eps (cos.f64 x))) |
(pow.f64 (*.f64 (cos.f64 x) eps) 1/3) |
(cbrt.f64 (*.f64 eps (cos.f64 x))) |
(pow.f64 (*.f64 (cos.f64 x) eps) 1/3) |
(cbrt.f64 (*.f64 eps (cos.f64 x))) |
(pow.f64 (*.f64 (cos.f64 x) eps) 1/3) |
(cbrt.f64 (*.f64 eps (cos.f64 x))) |
(pow.f64 (*.f64 eps (cos.f64 x)) 1/3) |
(cbrt.f64 (*.f64 eps (cos.f64 x))) |
(pow.f64 (*.f64 eps (cos.f64 x)) 1/3) |
(cbrt.f64 (*.f64 eps (cos.f64 x))) |
(pow.f64 (*.f64 eps (cos.f64 x)) 1/3) |
(cbrt.f64 (*.f64 eps (cos.f64 x))) |
(pow.f64 (*.f64 eps (cos.f64 x)) 1/3) |
(cbrt.f64 (*.f64 eps (cos.f64 x))) |
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.2b | (expm1.f64 (sin.f64 (+.f64 x eps))) |
| ✓ | 0.3b | (log1p.f64 (expm1.f64 (sin.f64 (+.f64 x eps)))) |
| 2.8b | (sin.f64 (+.f64 x eps)) | |
| ✓ | 6.0b | (-.f64 (log1p.f64 (expm1.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x)) |
Compiled 33 to 8 computations (75.8% saved)
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | x | @ | 0 | (expm1.f64 (sin.f64 (+.f64 x eps))) |
| 1.0ms | eps | @ | 0 | (expm1.f64 (sin.f64 (+.f64 x eps))) |
| 1.0ms | x | @ | 0 | (-.f64 (log1p.f64 (expm1.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x)) |
| 0.0ms | eps | @ | -inf | (expm1.f64 (sin.f64 (+.f64 x eps))) |
| 0.0ms | x | @ | -inf | (-.f64 (log1p.f64 (expm1.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x)) |
| 1× | batch-egg-rewrite |
| 449× | log-prod_binary64 |
| 388× | fma-def_binary64 |
| 343× | exp-prod_binary64 |
| 296× | pow-prod-down_binary64 |
| 263× | pow2_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 25 |
| 1 | 186 | 25 |
| 2 | 2707 | 25 |
| 1× | node limit |
| Inputs |
|---|
(-.f64 (log1p.f64 (expm1.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x)) |
(log1p.f64 (expm1.f64 (sin.f64 (+.f64 x eps)))) |
(expm1.f64 (sin.f64 (+.f64 x 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 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 (+.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 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 (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 (exp.f64 1) (log.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))))) (#(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 pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) 2)) (cbrt.f64 (log.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))))) (sqrt.f64 (log.f64 (-.f64 (sin.f64 (+.f64 x eps)) (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 (exp.f64 (sin.f64 (+.f64 x eps))) (+.f64 1 (expm1.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 exp.f64 (*.f64 (*.f64 3 (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)))) 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 (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 (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 (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))) (-.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 (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 (sqrt.f64 (sin.f64 x))) (sqrt.f64 (sin.f64 x)) (sin.f64 (+.f64 x eps)))))) (#(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 -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 +.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 (log1p.f64 (pow.f64 (expm1.f64 (sin.f64 (+.f64 x eps))) 3)) (log.f64 (+.f64 1 (-.f64 (pow.f64 (expm1.f64 (sin.f64 (+.f64 x eps))) 2) (expm1.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 (log.f64 (-.f64 1 (pow.f64 (expm1.f64 (sin.f64 (+.f64 x eps))) 2))) (log.f64 (-.f64 1 (expm1.f64 (sin.f64 (+.f64 x eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 (+.f64 x eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sin.f64 (+.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sin.f64 (+.f64 x eps))) 2) (cbrt.f64 (sin.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 3) (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 3)) (+.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 pow.f64 (exp.f64 1) (log.f64 (sin.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sin.f64 (+.f64 x eps)))) 2)) (cbrt.f64 (log.f64 (sin.f64 (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sin.f64 (+.f64 x eps))))) (sqrt.f64 (log.f64 (sin.f64 (+.f64 x eps)))))))) (#(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 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 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 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 3 (log.f64 (sin.f64 (+.f64 x eps)))) 1/3))))) (#(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 (exp.f64 (sin.f64 (+.f64 x eps))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (expm1.f64 (sin.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (expm1.f64 (sin.f64 (+.f64 x eps))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (expm1.f64 (sin.f64 (+.f64 x eps)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (expm1.f64 (sin.f64 (+.f64 x eps)))))) (log.f64 (sqrt.f64 (exp.f64 (expm1.f64 (sin.f64 (+.f64 x eps)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (sin.f64 (+.f64 x eps))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (expm1.f64 (sin.f64 (+.f64 x eps))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (expm1.f64 (sin.f64 (+.f64 x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (expm1.f64 (sin.f64 (+.f64 x eps)))) (pow.f64 (cbrt.f64 (expm1.f64 (sin.f64 (+.f64 x eps)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (expm1.f64 (sin.f64 (+.f64 x eps)))) 2) (cbrt.f64 (expm1.f64 (sin.f64 (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (expm1.f64 (sin.f64 (+.f64 x eps)))) (sqrt.f64 (expm1.f64 (sin.f64 (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (exp.f64 (sin.f64 (+.f64 x eps))) 3) 1) (+.f64 (pow.f64 (exp.f64 (sin.f64 (+.f64 x eps))) 2) (+.f64 1 (*.f64 (exp.f64 (sin.f64 (+.f64 x eps))) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (exp.f64 (sin.f64 (+.f64 x eps))) 2) 1) (+.f64 (exp.f64 (sin.f64 (+.f64 x eps))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (expm1.f64 (sin.f64 (+.f64 x eps))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (expm1.f64 (sin.f64 (+.f64 x eps))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (expm1.f64 (sin.f64 (+.f64 x eps))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (expm1.f64 (sin.f64 (+.f64 x eps)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (expm1.f64 (sin.f64 (+.f64 x eps)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (expm1.f64 (sin.f64 (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (expm1.f64 (sin.f64 (+.f64 x eps))))) 2)) (cbrt.f64 (log.f64 (expm1.f64 (sin.f64 (+.f64 x eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (expm1.f64 (sin.f64 (+.f64 x eps)))))) (sqrt.f64 (log.f64 (expm1.f64 (sin.f64 (+.f64 x eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (expm1.f64 (sin.f64 (+.f64 x eps))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (expm1.f64 (sin.f64 (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (expm1.f64 (sin.f64 (+.f64 x eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (expm1.f64 (sin.f64 (+.f64 x eps))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (expm1.f64 (sin.f64 (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (expm1.f64 (sin.f64 (+.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (expm1.f64 (sin.f64 (+.f64 x eps)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (expm1.f64 (sin.f64 (+.f64 x eps))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (expm1.f64 (sin.f64 (+.f64 x eps))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (expm1.f64 (sin.f64 (+.f64 x eps))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (expm1.f64 (sin.f64 (+.f64 x eps)))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (exp.f64 (sin.f64 (+.f64 x eps))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (exp.f64 (cos.f64 eps)) (sin.f64 x)) (pow.f64 (exp.f64 (cos.f64 x)) (sin.f64 eps)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (exp.f64 (sin.f64 (+.f64 x eps)))) 2) (cbrt.f64 (exp.f64 (sin.f64 (+.f64 x eps)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (exp.f64 (sin.f64 (+.f64 x eps)))) (sqrt.f64 (exp.f64 (sin.f64 (+.f64 x eps)))) -1))))) |
| 1× | egg-herbie |
| 787× | distribute-rgt-neg-out_binary64 |
| 756× | fma-def_binary64 |
| 536× | associate-*r*_binary64 |
| 521× | associate-*l*_binary64 |
| 480× | fma-neg_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 126 | 1039 |
| 1 | 377 | 1010 |
| 2 | 1070 | 954 |
| 3 | 5408 | 952 |
| 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 (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)) |
(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))) |
(-.f64 (exp.f64 (sin.f64 eps)) 1) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) (*.f64 x (exp.f64 (sin.f64 eps)))) (exp.f64 (sin.f64 eps))) 1) |
(-.f64 (+.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 (cos.f64 eps) 2)) (*.f64 -1/2 (sin.f64 eps))) (*.f64 (pow.f64 x 2) (exp.f64 (sin.f64 eps)))) (+.f64 (*.f64 (cos.f64 eps) (*.f64 x (exp.f64 (sin.f64 eps)))) (exp.f64 (sin.f64 eps)))) 1) |
(-.f64 (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (cos.f64 eps)) (+.f64 (*.f64 1/6 (pow.f64 (cos.f64 eps) 3)) (*.f64 -1/2 (*.f64 (cos.f64 eps) (sin.f64 eps))))) (*.f64 (pow.f64 x 3) (exp.f64 (sin.f64 eps)))) (+.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 (cos.f64 eps) 2)) (*.f64 -1/2 (sin.f64 eps))) (*.f64 (pow.f64 x 2) (exp.f64 (sin.f64 eps)))) (+.f64 (*.f64 (cos.f64 eps) (*.f64 x (exp.f64 (sin.f64 eps)))) (exp.f64 (sin.f64 eps))))) 1) |
(-.f64 (exp.f64 (sin.f64 (+.f64 eps x))) 1) |
(-.f64 (exp.f64 (sin.f64 (+.f64 eps x))) 1) |
(-.f64 (exp.f64 (sin.f64 (+.f64 eps x))) 1) |
(-.f64 (exp.f64 (sin.f64 (+.f64 eps x))) 1) |
(-.f64 (exp.f64 (sin.f64 (-.f64 eps (*.f64 -1 x)))) 1) |
(-.f64 (exp.f64 (sin.f64 (-.f64 eps (*.f64 -1 x)))) 1) |
(-.f64 (exp.f64 (sin.f64 (-.f64 eps (*.f64 -1 x)))) 1) |
(-.f64 (exp.f64 (sin.f64 (-.f64 eps (*.f64 -1 x)))) 1) |
(-.f64 (exp.f64 (sin.f64 x)) 1) |
(-.f64 (+.f64 (exp.f64 (sin.f64 x)) (*.f64 (cos.f64 x) (*.f64 eps (exp.f64 (sin.f64 x))))) 1) |
(-.f64 (+.f64 (exp.f64 (sin.f64 x)) (+.f64 (*.f64 (cos.f64 x) (*.f64 eps (exp.f64 (sin.f64 x)))) (*.f64 (pow.f64 eps 2) (*.f64 (exp.f64 (sin.f64 x)) (+.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 1/2 (pow.f64 (cos.f64 x) 2))))))) 1) |
(-.f64 (+.f64 (exp.f64 (sin.f64 x)) (+.f64 (*.f64 (pow.f64 eps 3) (*.f64 (exp.f64 (sin.f64 x)) (+.f64 (*.f64 1/6 (pow.f64 (cos.f64 x) 3)) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 x) (sin.f64 x))) (*.f64 -1/6 (cos.f64 x)))))) (+.f64 (*.f64 (cos.f64 x) (*.f64 eps (exp.f64 (sin.f64 x)))) (*.f64 (pow.f64 eps 2) (*.f64 (exp.f64 (sin.f64 x)) (+.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 1/2 (pow.f64 (cos.f64 x) 2)))))))) 1) |
(-.f64 (exp.f64 (sin.f64 (+.f64 eps x))) 1) |
(-.f64 (exp.f64 (sin.f64 (+.f64 eps x))) 1) |
(-.f64 (exp.f64 (sin.f64 (+.f64 eps x))) 1) |
(-.f64 (exp.f64 (sin.f64 (+.f64 eps x))) 1) |
(-.f64 (exp.f64 (sin.f64 (-.f64 x (*.f64 -1 eps)))) 1) |
(-.f64 (exp.f64 (sin.f64 (-.f64 x (*.f64 -1 eps)))) 1) |
(-.f64 (exp.f64 (sin.f64 (-.f64 x (*.f64 -1 eps)))) 1) |
(-.f64 (exp.f64 (sin.f64 (-.f64 x (*.f64 -1 eps)))) 1) |
| 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)) |
(-.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 (+.f64 (cos.f64 eps) -1) x (fma.f64 -1/2 (*.f64 (sin.f64 eps) (*.f64 x x)) (sin.f64 eps))) |
(-.f64 (fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (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) (+.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 (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 (sin.f64 x) (*.f64 -1/2 (*.f64 eps eps)))) |
(fma.f64 eps (cos.f64 x) (*.f64 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps)))) |
(+.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 (sin.f64 x) (*.f64 -1/2 (*.f64 eps eps))) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))))) |
(fma.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 -1/2 (*.f64 (sin.f64 x) (*.f64 eps eps)))))) |
(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) (+.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 (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)) |
(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 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (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) (+.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 (sin.f64 eps) (fma.f64 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (*.f64 (cos.f64 eps) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))))) |
(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) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 eps eps)) 1) (sin.f64 x))) |
(fma.f64 (fma.f64 -1/2 (*.f64 eps eps) 1) (sin.f64 x) (*.f64 eps (cos.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 (sin.f64 x) (*.f64 -1/2 (*.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)) |
(-.f64 (exp.f64 (sin.f64 eps)) 1) |
(expm1.f64 (sin.f64 eps)) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) (*.f64 x (exp.f64 (sin.f64 eps)))) (exp.f64 (sin.f64 eps))) 1) |
(+.f64 (*.f64 (cos.f64 eps) (*.f64 x (exp.f64 (sin.f64 eps)))) (expm1.f64 (sin.f64 eps))) |
(fma.f64 (*.f64 (cos.f64 eps) x) (exp.f64 (sin.f64 eps)) (expm1.f64 (sin.f64 eps))) |
(fma.f64 (fma.f64 (cos.f64 eps) x 1) (exp.f64 (sin.f64 eps)) -1) |
(fma.f64 (exp.f64 (sin.f64 eps)) (fma.f64 (cos.f64 eps) x 1) -1) |
(-.f64 (+.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 (cos.f64 eps) 2)) (*.f64 -1/2 (sin.f64 eps))) (*.f64 (pow.f64 x 2) (exp.f64 (sin.f64 eps)))) (+.f64 (*.f64 (cos.f64 eps) (*.f64 x (exp.f64 (sin.f64 eps)))) (exp.f64 (sin.f64 eps)))) 1) |
(+.f64 (fma.f64 (fma.f64 1/2 (pow.f64 (cos.f64 eps) 2) (*.f64 (sin.f64 eps) -1/2)) (*.f64 (*.f64 x x) (exp.f64 (sin.f64 eps))) (fma.f64 (cos.f64 eps) (*.f64 x (exp.f64 (sin.f64 eps))) (exp.f64 (sin.f64 eps)))) -1) |
(+.f64 (*.f64 (exp.f64 (sin.f64 eps)) (+.f64 (*.f64 (*.f64 x x) (fma.f64 (sin.f64 eps) -1/2 (*.f64 1/2 (pow.f64 (cos.f64 eps) 2)))) (*.f64 (cos.f64 eps) x))) (expm1.f64 (sin.f64 eps))) |
(fma.f64 (exp.f64 (sin.f64 eps)) (*.f64 x (+.f64 (*.f64 x (fma.f64 (sin.f64 eps) -1/2 (*.f64 1/2 (pow.f64 (cos.f64 eps) 2)))) (cos.f64 eps))) (expm1.f64 (sin.f64 eps))) |
(-.f64 (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (cos.f64 eps)) (+.f64 (*.f64 1/6 (pow.f64 (cos.f64 eps) 3)) (*.f64 -1/2 (*.f64 (cos.f64 eps) (sin.f64 eps))))) (*.f64 (pow.f64 x 3) (exp.f64 (sin.f64 eps)))) (+.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 (cos.f64 eps) 2)) (*.f64 -1/2 (sin.f64 eps))) (*.f64 (pow.f64 x 2) (exp.f64 (sin.f64 eps)))) (+.f64 (*.f64 (cos.f64 eps) (*.f64 x (exp.f64 (sin.f64 eps)))) (exp.f64 (sin.f64 eps))))) 1) |
(+.f64 (fma.f64 (fma.f64 -1/6 (cos.f64 eps) (fma.f64 1/6 (pow.f64 (cos.f64 eps) 3) (*.f64 -1/2 (*.f64 (sin.f64 eps) (cos.f64 eps))))) (*.f64 (pow.f64 x 3) (exp.f64 (sin.f64 eps))) (fma.f64 (fma.f64 1/2 (pow.f64 (cos.f64 eps) 2) (*.f64 (sin.f64 eps) -1/2)) (*.f64 (*.f64 x x) (exp.f64 (sin.f64 eps))) (fma.f64 (cos.f64 eps) (*.f64 x (exp.f64 (sin.f64 eps))) (exp.f64 (sin.f64 eps))))) -1) |
(+.f64 (*.f64 (exp.f64 (sin.f64 eps)) (+.f64 (*.f64 (pow.f64 x 3) (fma.f64 (cos.f64 eps) -1/6 (fma.f64 -1/2 (*.f64 (sin.f64 eps) (cos.f64 eps)) (*.f64 1/6 (pow.f64 (cos.f64 eps) 3))))) (*.f64 (*.f64 x x) (fma.f64 (sin.f64 eps) -1/2 (*.f64 1/2 (pow.f64 (cos.f64 eps) 2)))))) (fma.f64 (*.f64 (cos.f64 eps) x) (exp.f64 (sin.f64 eps)) (expm1.f64 (sin.f64 eps)))) |
(+.f64 (*.f64 (exp.f64 (sin.f64 eps)) (+.f64 (*.f64 (pow.f64 x 3) (fma.f64 1/6 (pow.f64 (cos.f64 eps) 3) (*.f64 (cos.f64 eps) (+.f64 (*.f64 (sin.f64 eps) -1/2) -1/6)))) (*.f64 x (+.f64 (*.f64 x (fma.f64 (sin.f64 eps) -1/2 (*.f64 1/2 (pow.f64 (cos.f64 eps) 2)))) (cos.f64 eps))))) (expm1.f64 (sin.f64 eps))) |
(-.f64 (exp.f64 (sin.f64 (+.f64 eps x))) 1) |
(expm1.f64 (sin.f64 (+.f64 eps x))) |
(-.f64 (exp.f64 (sin.f64 (+.f64 eps x))) 1) |
(expm1.f64 (sin.f64 (+.f64 eps x))) |
(-.f64 (exp.f64 (sin.f64 (+.f64 eps x))) 1) |
(expm1.f64 (sin.f64 (+.f64 eps x))) |
(-.f64 (exp.f64 (sin.f64 (+.f64 eps x))) 1) |
(expm1.f64 (sin.f64 (+.f64 eps x))) |
(-.f64 (exp.f64 (sin.f64 (-.f64 eps (*.f64 -1 x)))) 1) |
(expm1.f64 (sin.f64 (+.f64 eps x))) |
(-.f64 (exp.f64 (sin.f64 (-.f64 eps (*.f64 -1 x)))) 1) |
(expm1.f64 (sin.f64 (+.f64 eps x))) |
(-.f64 (exp.f64 (sin.f64 (-.f64 eps (*.f64 -1 x)))) 1) |
(expm1.f64 (sin.f64 (+.f64 eps x))) |
(-.f64 (exp.f64 (sin.f64 (-.f64 eps (*.f64 -1 x)))) 1) |
(expm1.f64 (sin.f64 (+.f64 eps x))) |
(-.f64 (exp.f64 (sin.f64 x)) 1) |
(expm1.f64 (sin.f64 x)) |
(-.f64 (+.f64 (exp.f64 (sin.f64 x)) (*.f64 (cos.f64 x) (*.f64 eps (exp.f64 (sin.f64 x))))) 1) |
(+.f64 (exp.f64 (sin.f64 x)) (-.f64 (*.f64 (cos.f64 x) (*.f64 eps (exp.f64 (sin.f64 x)))) 1)) |
(+.f64 -1 (*.f64 (+.f64 (*.f64 eps (cos.f64 x)) 1) (exp.f64 (sin.f64 x)))) |
(fma.f64 (fma.f64 eps (cos.f64 x) 1) (exp.f64 (sin.f64 x)) -1) |
(fma.f64 (exp.f64 (sin.f64 x)) (fma.f64 eps (cos.f64 x) 1) -1) |
(-.f64 (+.f64 (exp.f64 (sin.f64 x)) (+.f64 (*.f64 (cos.f64 x) (*.f64 eps (exp.f64 (sin.f64 x)))) (*.f64 (pow.f64 eps 2) (*.f64 (exp.f64 (sin.f64 x)) (+.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 1/2 (pow.f64 (cos.f64 x) 2))))))) 1) |
(+.f64 (exp.f64 (sin.f64 x)) (-.f64 (fma.f64 (cos.f64 x) (*.f64 eps (exp.f64 (sin.f64 x))) (*.f64 (*.f64 (*.f64 eps eps) (exp.f64 (sin.f64 x))) (fma.f64 -1/2 (sin.f64 x) (*.f64 1/2 (pow.f64 (cos.f64 x) 2))))) 1)) |
(+.f64 (fma.f64 (cos.f64 x) (*.f64 eps (exp.f64 (sin.f64 x))) (*.f64 (*.f64 eps eps) (*.f64 (exp.f64 (sin.f64 x)) (fma.f64 -1/2 (sin.f64 x) (*.f64 1/2 (pow.f64 (cos.f64 x) 2)))))) (expm1.f64 (sin.f64 x))) |
(+.f64 -1 (*.f64 (exp.f64 (sin.f64 x)) (+.f64 (fma.f64 eps (cos.f64 x) 1) (*.f64 (*.f64 eps eps) (fma.f64 -1/2 (sin.f64 x) (*.f64 1/2 (pow.f64 (cos.f64 x) 2))))))) |
(fma.f64 (exp.f64 (sin.f64 x)) (+.f64 (fma.f64 eps (cos.f64 x) 1) (*.f64 (*.f64 eps eps) (fma.f64 -1/2 (sin.f64 x) (*.f64 1/2 (pow.f64 (cos.f64 x) 2))))) -1) |
(-.f64 (+.f64 (exp.f64 (sin.f64 x)) (+.f64 (*.f64 (pow.f64 eps 3) (*.f64 (exp.f64 (sin.f64 x)) (+.f64 (*.f64 1/6 (pow.f64 (cos.f64 x) 3)) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 x) (sin.f64 x))) (*.f64 -1/6 (cos.f64 x)))))) (+.f64 (*.f64 (cos.f64 x) (*.f64 eps (exp.f64 (sin.f64 x)))) (*.f64 (pow.f64 eps 2) (*.f64 (exp.f64 (sin.f64 x)) (+.f64 (*.f64 -1/2 (sin.f64 x)) (*.f64 1/2 (pow.f64 (cos.f64 x) 2)))))))) 1) |
(+.f64 (exp.f64 (sin.f64 x)) (-.f64 (fma.f64 (pow.f64 eps 3) (*.f64 (exp.f64 (sin.f64 x)) (fma.f64 1/6 (pow.f64 (cos.f64 x) 3) (fma.f64 -1/2 (*.f64 (sin.f64 x) (cos.f64 x)) (*.f64 -1/6 (cos.f64 x))))) (fma.f64 (cos.f64 x) (*.f64 eps (exp.f64 (sin.f64 x))) (*.f64 (*.f64 (*.f64 eps eps) (exp.f64 (sin.f64 x))) (fma.f64 -1/2 (sin.f64 x) (*.f64 1/2 (pow.f64 (cos.f64 x) 2)))))) 1)) |
(+.f64 (fma.f64 (pow.f64 eps 3) (*.f64 (exp.f64 (sin.f64 x)) (fma.f64 1/6 (pow.f64 (cos.f64 x) 3) (fma.f64 -1/2 (*.f64 (sin.f64 x) (cos.f64 x)) (*.f64 -1/6 (cos.f64 x))))) (fma.f64 (cos.f64 x) (*.f64 eps (exp.f64 (sin.f64 x))) (*.f64 (*.f64 eps eps) (*.f64 (exp.f64 (sin.f64 x)) (fma.f64 -1/2 (sin.f64 x) (*.f64 1/2 (pow.f64 (cos.f64 x) 2))))))) (expm1.f64 (sin.f64 x))) |
(+.f64 (*.f64 (exp.f64 (sin.f64 x)) (+.f64 (fma.f64 eps (cos.f64 x) 1) (*.f64 (*.f64 eps eps) (fma.f64 -1/2 (sin.f64 x) (*.f64 1/2 (pow.f64 (cos.f64 x) 2)))))) (fma.f64 (fma.f64 1/6 (pow.f64 (cos.f64 x) 3) (*.f64 (cos.f64 x) (+.f64 (*.f64 -1/2 (sin.f64 x)) -1/6))) (*.f64 (pow.f64 eps 3) (exp.f64 (sin.f64 x))) -1)) |
(-.f64 (exp.f64 (sin.f64 (+.f64 eps x))) 1) |
(expm1.f64 (sin.f64 (+.f64 eps x))) |
(-.f64 (exp.f64 (sin.f64 (+.f64 eps x))) 1) |
(expm1.f64 (sin.f64 (+.f64 eps x))) |
(-.f64 (exp.f64 (sin.f64 (+.f64 eps x))) 1) |
(expm1.f64 (sin.f64 (+.f64 eps x))) |
(-.f64 (exp.f64 (sin.f64 (+.f64 eps x))) 1) |
(expm1.f64 (sin.f64 (+.f64 eps x))) |
(-.f64 (exp.f64 (sin.f64 (-.f64 x (*.f64 -1 eps)))) 1) |
(expm1.f64 (sin.f64 (+.f64 eps x))) |
(-.f64 (exp.f64 (sin.f64 (-.f64 x (*.f64 -1 eps)))) 1) |
(expm1.f64 (sin.f64 (+.f64 eps x))) |
(-.f64 (exp.f64 (sin.f64 (-.f64 x (*.f64 -1 eps)))) 1) |
(expm1.f64 (sin.f64 (+.f64 eps x))) |
(-.f64 (exp.f64 (sin.f64 (-.f64 x (*.f64 -1 eps)))) 1) |
(expm1.f64 (sin.f64 (+.f64 eps x))) |
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.1b | (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) |
| 0.1b | (*.f64 (sin.f64 x) (cos.f64 eps)) | |
| ✓ | 1.8b | (+.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) (*.f64 (sin.f64 x) (cos.f64 eps))) |
Compiled 42 to 10 computations (76.2% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 2.0ms | x | @ | 0 | (+.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) (*.f64 (sin.f64 x) (cos.f64 eps))) |
| 0.0ms | x | @ | inf | (+.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) (*.f64 (sin.f64 x) (cos.f64 eps))) |
| 0.0ms | eps | @ | inf | (+.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) (*.f64 (sin.f64 x) (cos.f64 eps))) |
| 0.0ms | eps | @ | -inf | (+.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) (*.f64 (sin.f64 x) (cos.f64 eps))) |
| 0.0ms | x | @ | -inf | (+.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) (*.f64 (sin.f64 x) (cos.f64 eps))) |
| 1× | batch-egg-rewrite |
| 536× | log-prod_binary64 |
| 429× | fma-def_binary64 |
| 350× | pow-prod-down_binary64 |
| 299× | pow2_binary64 |
| 219× | fma-neg_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 36 |
| 1 | 236 | 22 |
| 2 | 3315 | 22 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) (*.f64 (sin.f64 x) (cos.f64 eps))) |
(fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (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 -.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 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)) 2) (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (/.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 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 (pow.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2) (/.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 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)) 3) (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 3)) (/.f64 1 (-.f64 (pow.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2) (*.f64 (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 *.f64 (+.f64 (sqrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (-.f64 (sqrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (pow.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2) (*.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 x) (cos.f64 eps)))) (+.f64 (pow.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)) 3) (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 1 (+.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)) 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) (sin.f64 x)) 3) (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 3)) (-.f64 (pow.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2) (*.f64 (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 /.f64 (+.f64 (pow.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)) 3) (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 3)) (+.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 2) (-.f64 (pow.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)) 2) (*.f64 (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 /.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)) 3) (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 3))) (neg.f64 (-.f64 (pow.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2) (*.f64 (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 /.f64 (neg.f64 (pow.f64 (+.f64 (sin.f64 (+.f64 x eps)) (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 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)) 3) (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 3)) (+.f64 (pow.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)) 2) (+.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 2) (*.f64 (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 /.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 2) (pow.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)) 2)) (-.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x 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 (-.f64 (pow.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2) (*.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 x) (cos.f64 eps)))) (+.f64 (pow.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)) 3) (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (+.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 1 (expm1.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)))) (pow.f64 (exp.f64 (cos.f64 eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (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) (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) (sin.f64 x)))) (pow.f64 (exp.f64 (cos.f64 eps)) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (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) (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 (*.f64 (sin.f64 x) (cos.f64 eps)))) (exp.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 (cos.f64 eps)) (sin.f64 x)) (+.f64 1 (expm1.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (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) (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.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 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 (cos.f64 x) (sin.f64 eps) (+.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) (+.f64 (sin.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)) 1 (*.f64 (sin.f64 x) (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)) 1 (*.f64 (neg.f64 (cos.f64 eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)) 1 (*.f64 -1 (*.f64 (sin.f64 x) (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)) 1 (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) 2)) (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)) 1 (*.f64 (neg.f64 (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 eps) (sin.f64 x) (fma.f64 (cos.f64 x) (sin.f64 eps) (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) (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 (cos.f64 eps)) (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 x)) 1 (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps))))))) (#(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 (*.f64 (sin.f64 x) (cos.f64 eps)))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) 2) (*.f64 (sin.f64 x) (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1 (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (*.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) (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) (sin.f64 x)) (*.f64 (neg.f64 (cos.f64 eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)) (*.f64 -1 (*.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) (sin.f64 x)) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) 2)) (cbrt.f64 (*.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) (sin.f64 x)) (*.f64 (neg.f64 (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (sqrt.f64 (*.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) (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 (cos.f64 eps)) (sin.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps))))))) (#(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 (*.f64 (sin.f64 x) (cos.f64 eps)))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) 2) (*.f64 (sin.f64 x) (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (*.f64 (sin.f64 x) (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.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 fma.f64 1 (sin.f64 (+.f64 x eps)) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2) (/.f64 1 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (fma.f64 (neg.f64 (cos.f64 eps)) (sin.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2) (/.f64 1 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2) (/.f64 1 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) 2) (*.f64 (sin.f64 x) (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2) (/.f64 1 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (*.f64 (sin.f64 x) (cos.f64 eps))))))) (#(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 (cos.f64 eps)) (sin.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))))))) (#(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 (sin.f64 x) (cos.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps))))))) (#(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 (*.f64 (sin.f64 x) (cos.f64 eps)))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) 2) (*.f64 (sin.f64 x) (cos.f64 eps))))))) (#(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 (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (sqrt.f64 (*.f64 (sin.f64 x) (cos.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 (+.f64 x eps)) (sin.f64 x))) 2) (cbrt.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (fma.f64 (neg.f64 (cos.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 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) (cbrt.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (fma.f64 (sin.f64 x) (cos.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 (+.f64 x eps)) (sin.f64 x))) 2) (cbrt.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) 2) (*.f64 (sin.f64 x) (cos.f64 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 (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (*.f64 (sin.f64 x) (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) (pow.f64 (cbrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) 2) (*.f64 (sin.f64 x) (cos.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) (pow.f64 (cbrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) 2) (*.f64 (neg.f64 (cos.f64 eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) (pow.f64 (cbrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) 2) (*.f64 -1 (*.f64 (sin.f64 x) (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) (pow.f64 (cbrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) 2) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) 2)) (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) (pow.f64 (cbrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) 2) (*.f64 (neg.f64 (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (sqrt.f64 (*.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) (sin.f64 x))) 2) (cbrt.f64 (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 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) 2) (cbrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) (*.f64 (neg.f64 (cos.f64 eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) 2) (cbrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) (*.f64 -1 (*.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) (sin.f64 x))) 2) (cbrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) 2)) (cbrt.f64 (*.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) (sin.f64 x))) 2) (cbrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) (*.f64 (neg.f64 (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (cos.f64 eps) 2)) (*.f64 (cbrt.f64 (cos.f64 eps)) (sin.f64 x)) (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (*.f64 (cbrt.f64 (sin.f64 x)) (cos.f64 eps)) (fma.f64 (cos.f64 x) (sin.f64 eps) (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 (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))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) 2) (fma.f64 (cos.f64 x) (sin.f64 eps) (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))) (fma.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 (cos.f64 eps)) (sin.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))))))) (#(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 (sin.f64 x) (cos.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps))))))) (#(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 (*.f64 (sin.f64 x) (cos.f64 eps)))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) 2) (*.f64 (sin.f64 x) (cos.f64 eps))))))) (#(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 (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (*.f64 (sin.f64 x) (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) (sqrt.f64 (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 (sqrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) (sqrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) (*.f64 (neg.f64 (cos.f64 eps)) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) (sqrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) (*.f64 -1 (*.f64 (sin.f64 x) (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) (sqrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) 2)) (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) (sqrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) (*.f64 (neg.f64 (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (sqrt.f64 (*.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) (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) (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 (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) (sin.f64 x)))))) (#(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) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)) 3) (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 3)) (/.f64 1 (-.f64 (pow.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2) (*.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 x) (cos.f64 eps))))) (fma.f64 (neg.f64 (cos.f64 eps)) (sin.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)) 3) (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 3)) (/.f64 1 (-.f64 (pow.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2) (*.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 x) (cos.f64 eps))))) (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)) 3) (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 3)) (/.f64 1 (-.f64 (pow.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2) (*.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 x) (cos.f64 eps))))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) 2) (*.f64 (sin.f64 x) (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)) 3) (pow.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) 3)) (/.f64 1 (-.f64 (pow.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 2) (*.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)) (*.f64 (sin.f64 x) (cos.f64 eps))))) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (*.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))) (sin.f64 x))))) (#(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) (*.f64 (sin.f64 x) (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) (sqrt.f64 (sin.f64 (+.f64 x eps))) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (-.f64 (sqrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (fma.f64 (neg.f64 (cos.f64 eps)) (sin.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (-.f64 (sqrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (fma.f64 (sin.f64 x) (cos.f64 eps) (*.f64 (sin.f64 x) (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (-.f64 (sqrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) 2) (*.f64 (sin.f64 x) (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (-.f64 (sqrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps)))) (sqrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) (*.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))) (+.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)) (+.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)) (+.f64 (sin.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 x) (cbrt.f64 (pow.f64 (cos.f64 eps) 2))) (cbrt.f64 (cos.f64 eps)) (fma.f64 (cos.f64 x) (sin.f64 eps) (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) (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) (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) (sin.f64 x))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 1) (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) (sin.f64 x)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (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) (sin.f64 x))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) 0) (sin.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) (pow.f64 (cbrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) 2) (cbrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) (sqrt.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 (sin.f64 x) 3)) (+.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 2) (-.f64 (pow.f64 (sin.f64 x) 2) (*.f64 (*.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)) 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 pow.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (exp.f64 (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.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 (exp.f64 (sin.f64 x)) (exp.f64 (*.f64 (cos.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (sin.f64 x))) (exp.f64 (*.f64 (cos.f64 x) (sin.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (+.f64 1 (expm1.f64 (sin.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (sin.f64 x))) 1)))))) |
| 1× | egg-herbie |
| 728× | fma-neg_binary64 |
| 678× | cancel-sign-sub-inv_binary64 |
| 640× | associate-*l*_binary64 |
| 518× | distribute-rgt-neg-in_binary64 |
| 504× | associate-*r*_binary64 |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 66 | 847 |
| 1 | 194 | 838 |
| 2 | 502 | 792 |
| 3 | 1593 | 791 |
| 4 | 4905 | 789 |
| 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 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 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) |
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) |
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) |
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) |
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) |
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) |
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) |
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) |
(*.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)))))) |
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) |
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) |
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) |
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) |
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) |
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) |
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) |
(-.f64 (*.f64 (cos.f64 x) (sin.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 (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 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (sin.f64 eps))) |
(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)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (fma.f64 (cos.f64 eps) (sin.f64 x) (neg.f64 (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)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (fma.f64 (cos.f64 eps) (sin.f64 x) (neg.f64 (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)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (fma.f64 (cos.f64 eps) (sin.f64 x) (neg.f64 (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)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (fma.f64 (cos.f64 eps) (sin.f64 x) (neg.f64 (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)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (fma.f64 (cos.f64 eps) (sin.f64 x) (neg.f64 (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)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (fma.f64 (cos.f64 eps) (sin.f64 x) (neg.f64 (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)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (fma.f64 (cos.f64 eps) (sin.f64 x) (neg.f64 (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)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (fma.f64 (cos.f64 eps) (sin.f64 x) (neg.f64 (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 (*.f64 -1/2 (sin.f64 x)) (*.f64 eps eps))) |
(fma.f64 eps (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 -1/2 (*.f64 eps eps)))) |
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps -1/2)))) |
(+.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 (*.f64 -1/2 (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))))) |
(fma.f64 (sin.f64 x) (*.f64 eps (*.f64 eps -1/2)) (*.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 (*.f64 -1/2 (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 -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 (sin.f64 x) (+.f64 (*.f64 eps (*.f64 eps -1/2)) (*.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)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (fma.f64 (cos.f64 eps) (sin.f64 x) (neg.f64 (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)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (fma.f64 (cos.f64 eps) (sin.f64 x) (neg.f64 (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)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (fma.f64 (cos.f64 eps) (sin.f64 x) (neg.f64 (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)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (fma.f64 (cos.f64 eps) (sin.f64 x) (neg.f64 (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)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (fma.f64 (cos.f64 eps) (sin.f64 x) (neg.f64 (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)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (fma.f64 (cos.f64 eps) (sin.f64 x) (neg.f64 (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)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (fma.f64 (cos.f64 eps) (sin.f64 x) (neg.f64 (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)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (fma.f64 (cos.f64 eps) (sin.f64 x) (neg.f64 (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 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 (sin.f64 eps) (*.f64 x (*.f64 x -1/2)) (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 x (*.f64 x (+.f64 (*.f64 x 1/6) (*.f64 (sin.f64 eps) -1/2))) (-.f64 (sin.f64 eps) x)) |
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (neg.f64 (sin.f64 x))) |
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (neg.f64 (sin.f64 x))) |
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (neg.f64 (sin.f64 x))) |
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (neg.f64 (sin.f64 x))) |
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (neg.f64 (sin.f64 x))) |
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (neg.f64 (sin.f64 x))) |
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (neg.f64 (sin.f64 x))) |
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (neg.f64 (sin.f64 x))) |
(*.f64 -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))) |
(-.f64 (*.f64 eps (cos.f64 x)) (sin.f64 x)) |
(fma.f64 eps (cos.f64 x) (neg.f64 (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))))) |
(fma.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))) (neg.f64 (sin.f64 x))) |
(-.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 (*.f64 -1/6 (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)) |
(fma.f64 (cos.f64 x) (+.f64 eps (+.f64 (*.f64 1/120 (pow.f64 eps 5)) (*.f64 -1/6 (pow.f64 eps 3)))) (neg.f64 (sin.f64 x))) |
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (neg.f64 (sin.f64 x))) |
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (neg.f64 (sin.f64 x))) |
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (neg.f64 (sin.f64 x))) |
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (neg.f64 (sin.f64 x))) |
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (neg.f64 (sin.f64 x))) |
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (neg.f64 (sin.f64 x))) |
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (neg.f64 (sin.f64 x))) |
(-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) |
(-.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (sin.f64 x)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (neg.f64 (sin.f64 x))) |
Compiled 15406 to 5381 computations (65.1% saved)
66 alts after pruning (58 fresh and 8 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 818 | 18 | 836 |
| Fresh | 9 | 40 | 49 |
| Picked | 0 | 1 | 1 |
| Done | 1 | 7 | 8 |
| Total | 828 | 66 | 894 |
| Status | Error | Program |
|---|---|---|
| 45.8b | (*.f64 (*.f64 (cos.f64 x) (sqrt.f64 eps)) (sqrt.f64 eps)) | |
| 28.9b | (*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 2) (cbrt.f64 (cos.f64 x))) (cbrt.f64 eps)) | |
| 46.4b | (+.f64 eps (*.f64 x (*.f64 -1/2 (*.f64 eps x)))) | |
| 24.2b | (+.f64 (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) (*.f64 (sin.f64 x) (cos.f64 eps))) | |
| ✓ | 46.4b | (+.f64 eps (*.f64 eps (*.f64 -1/2 (*.f64 x x)))) |
| 54.7b | (pow.f64 (pow.f64 eps 1/3) 3) | |
| ✓ | 24.2b | (fma.f64 (sin.f64 x) (cos.f64 eps) (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x))) |
| 30.1b | (+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))) (*.f64 (sin.f64 eps) (+.f64 1 (*.f64 -1/2 (*.f64 x x))))) | |
| 13.0b | (fma.f64 (sin.f64 eps) (cos.f64 x) (exp.f64 (log.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))))) | |
| 0.4b | (fma.f64 (sin.f64 eps) (cos.f64 x) (pow.f64 (cbrt.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) 3)) | |
| 46.7b | (sqrt.f64 (pow.f64 (sin.f64 eps) 2)) | |
| 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))) | |
| 0.3b | (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (log1p.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1))) (sin.f64 x))) | |
| 23.4b | (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) 3))) | |
| 46.6b | (*.f64 eps (+.f64 1 (*.f64 (+.f64 eps x) (*.f64 x -1/2)))) | |
| 27.3b | (sin.f64 eps) | |
| 34.5b | (-.f64 (+.f64 (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x)) | |
| 36.6b | (*.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1) | |
| 51.6b | (cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3)) | |
| 45.4b | (-.f64 (exp.f64 (log1p.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) 1) | |
| 0.3b | (fma.f64 (sin.f64 eps) (cos.f64 x) (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) -1))) | |
| 28.5b | (+.f64 (*.f64 (cos.f64 x) eps) (+.f64 0 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))) | |
| 39.8b | (-.f64 (cbrt.f64 (pow.f64 (sin.f64 eps) 3)) (sin.f64 x)) | |
| ✓ | 35.2b | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
| 1.8b | (expm1.f64 (log1p.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))) | |
| 15.0b | (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (expm1.f64 (log.f64 (cos.f64 eps))) (sin.f64 x))) | |
| 28.4b | (*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps -1/2)))) | |
| 47.7b | (pow.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) | |
| 0.4b | (fma.f64 (sin.f64 eps) (cos.f64 x) (log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)))))) | |
| ✓ | 24.2b | (+.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) (*.f64 (sin.f64 x) (cos.f64 eps))) |
| 44.7b | (pow.f64 (cbrt.f64 eps) 3) | |
| 24.2b | (-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x)) | |
| 26.7b | (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (sin.f64 eps)) | |
| 35.9b | (-.f64 (sin.f64 eps) (sin.f64 x)) | |
| 1.5b | (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 eps) (cos.f64 x))) 3)) | |
| 35.7b | (pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3) | |
| 46.0b | (pow.f64 (sqrt.f64 (*.f64 (cos.f64 x) eps)) 2) | |
| 44.7b | (log.f64 (exp.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) | |
| 36.6b | (/.f64 1 (/.f64 1 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) | |
| 46.2b | (+.f64 eps (-.f64 (+.f64 1 (*.f64 eps (*.f64 -1/2 (*.f64 x x)))) 1)) | |
| 48.1b | (-.f64 (sqrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 2)) (sin.f64 x)) | |
| 45.3b | (+.f64 eps (*.f64 (*.f64 eps x) (*.f64 -1/2 eps))) | |
| ✓ | 0.3b | (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))) |
| 0.3b | (+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) | |
| ✓ | 29.0b | (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 3) |
| 36.2b | (*.f64 (*.f64 eps (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x))) | |
| 59.8b | (fma.f64 (sin.f64 x) (cos.f64 eps) (neg.f64 (sin.f64 x))) | |
| 35.2b | (log1p.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) | |
| ✓ | 0.3b | (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
| 27.9b | (+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)) | |
| 24.8b | (+.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) 3)) | |
| 0.3b | (+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (fma.f64 (sin.f64 x) (cos.f64 eps) (neg.f64 (sin.f64 x)))) | |
| 36.4b | (-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x)) | |
| 28.6b | (*.f64 (*.f64 eps (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) (cbrt.f64 (cos.f64 x))) | |
| 36.4b | (*.f64 2 (*.f64 (sin.f64 (/.f64 (+.f64 (+.f64 x eps) x) 2)) (cos.f64 (/.f64 (-.f64 (+.f64 x eps) x) 2)))) | |
| 59.8b | (+.f64 (neg.f64 (sin.f64 x)) (*.f64 (sin.f64 x) (cos.f64 eps))) | |
| 28.5b | (fma.f64 (*.f64 (*.f64 eps eps) -1/2) (sin.f64 x) (*.f64 eps (cos.f64 x))) | |
| 0.3b | (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (log.f64 (exp.f64 (+.f64 (cos.f64 eps) -1))) (sin.f64 x))) | |
| 28.7b | (+.f64 (*.f64 (*.f64 eps eps) (*.f64 -1/2 (sin.f64 x))) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))))) | |
| 61.4b | (*.f64 eps (*.f64 eps (*.f64 -1/2 (sin.f64 x)))) | |
| 28.6b | (*.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) eps)) | |
| 44.3b | eps | |
| 37.1b | (pow.f64 (cbrt.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3) | |
| 33.1b | (log.f64 (exp.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))) | |
| 36.0b | (-.f64 (log1p.f64 (expm1.f64 (sin.f64 eps))) (sin.f64 x)) | |
| ✓ | 28.2b | (*.f64 (cos.f64 x) eps) |
Compiled 854 to 602 computations (29.5% saved)
| Inputs |
|---|
eps |
eps |
(+.f64 eps (*.f64 x (*.f64 -1/2 (*.f64 eps x)))) |
(+.f64 eps (*.f64 eps (*.f64 -1/2 (*.f64 x x)))) |
(+.f64 eps (*.f64 (*.f64 eps x) (*.f64 -1/2 eps))) |
(*.f64 eps (+.f64 1 (*.f64 (+.f64 eps x) (*.f64 x -1/2)))) |
(+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 (+.f64 eps x))))) |
(+.f64 eps (-.f64 (+.f64 1 (*.f64 eps (*.f64 -1/2 (*.f64 x x)))) 1)) |
(sin.f64 eps) |
(*.f64 (cos.f64 x) eps) |
(*.f64 eps (*.f64 eps (*.f64 -1/2 (sin.f64 x)))) |
(pow.f64 (cbrt.f64 eps) 3) |
(pow.f64 (pow.f64 eps 1/3) 3) |
(-.f64 (sin.f64 eps) (sin.f64 x)) |
(-.f64 (sin.f64 x) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
(*.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1) |
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)) |
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)) |
(/.f64 1 (/.f64 1 (+.f64 (sin.f64 (+.f64 x eps)) (sin.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 (cos.f64 x) eps) (+.f64 0 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))) |
(*.f64 2 (*.f64 (sin.f64 (/.f64 (+.f64 (+.f64 x eps) x) 2)) (cos.f64 (/.f64 (-.f64 (+.f64 x eps) x) 2)))) |
(*.f64 (*.f64 (sin.f64 (*.f64 (-.f64 (+.f64 x eps) x) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2) |
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2) |
(sqrt.f64 (pow.f64 (sin.f64 eps) 2)) |
(exp.f64 (log.f64 (*.f64 (cos.f64 x) eps))) |
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3)) |
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3)) |
(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)) |
(pow.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3) 1/3) |
(+.f64 (neg.f64 (sin.f64 x)) (*.f64 (sin.f64 x) (cos.f64 eps))) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x)) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x)) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x)) |
(fma.f64 (*.f64 (*.f64 eps eps) -1/2) (sin.f64 x) (*.f64 eps (cos.f64 x))) |
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(+.f64 (*.f64 (*.f64 eps eps) (*.f64 -1/2 (sin.f64 x))) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))))) |
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))) (*.f64 (sin.f64 eps) (+.f64 1 (*.f64 -1/2 (*.f64 x x))))) |
(-.f64 (log1p.f64 (expm1.f64 (sin.f64 eps))) (sin.f64 x)) |
(-.f64 (cbrt.f64 (pow.f64 (sin.f64 eps) 3)) (sin.f64 x)) |
(fma.f64 (sin.f64 x) (cos.f64 eps) (neg.f64 (sin.f64 x))) |
(-.f64 (cbrt.f64 (pow.f64 (sin.f64 x) 3)) (sin.f64 x)) |
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (sin.f64 eps)) |
(log.f64 (exp.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) |
(*.f64 (*.f64 eps (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x))) |
(log1p.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) |
(-.f64 (fma.f64 (cos.f64 eps) x (sin.f64 eps)) (sin.f64 x)) |
(-.f64 (log1p.f64 (expm1.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x)) |
(log1p.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) |
(-.f64 (fma.f64 (cos.f64 eps) x (sin.f64 eps)) (sin.f64 x)) |
(-.f64 (log.f64 (exp.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x)) |
(pow.f64 (cbrt.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3) |
(cbrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 3)) |
(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) |
(pow.f64 (cbrt.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)) |
(-.f64 (pow.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) 2) (sin.f64 x)) |
(pow.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) |
(-.f64 (cbrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3)) (sin.f64 x)) |
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3) |
(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)) |
(-.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)) |
(-.f64 (pow.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) 2) (sin.f64 x)) |
(-.f64 (exp.f64 (log1p.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) 1) |
(-.f64 (+.f64 (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x)) |
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) |
(*.f64 (pow.f64 (cbrt.f64 2) 3) (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 eps)))) |
(fma.f64 (cos.f64 eps) x (-.f64 (*.f64 (sin.f64 eps) (fma.f64 -1/2 (*.f64 x x) 1)) x)) |
(-.f64 (fma.f64 x (+.f64 (cos.f64 eps) (*.f64 x (*.f64 (sin.f64 eps) -1/2))) (sin.f64 eps)) x) |
(*.f64 (pow.f64 (cbrt.f64 2) 3) (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 x))) |
(*.f64 (pow.f64 (cbrt.f64 2) 3) (*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))) |
(*.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 (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 (pow.f64 (cbrt.f64 2) 3) (+.f64 (*.f64 eps (*.f64 (cos.f64 x) (+.f64 1/2 (*.f64 (*.f64 eps eps) -1/12)))) (*.f64 (*.f64 eps (*.f64 eps (sin.f64 x))) (+.f64 (*.f64 (*.f64 eps eps) 1/48) -1/4)))) |
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) eps)) |
(*.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))) |
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))) |
(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)) (sin.f64 x)) (*.f64 (sin.f64 x) (cos.f64 eps))) |
(+.f64 (-.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (sin.f64 x)) (*.f64 (sin.f64 x) (cos.f64 eps))) |
(-.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x)) |
(+.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)) |
(+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (-.f64 (*.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))) |
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (cos.f64 eps))) (sin.f64 x)) |
(-.f64 (fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (sin.f64 x) (cos.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))) |
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) eps)) 2) (cbrt.f64 (cos.f64 x))) (cbrt.f64 eps)) |
(+.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) (fma.f64 (sin.f64 x) (cos.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))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (sin.f64 x) -1))) |
(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 (expm1.f64 (log.f64 (cos.f64 eps))) (sin.f64 x))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (exp.f64 (log.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (log1p.f64 (expm1.f64 (+.f64 (cos.f64 eps) -1))) (sin.f64 x))) |
(expm1.f64 (log1p.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (*.f64 (log.f64 (exp.f64 (+.f64 (cos.f64 eps) -1))) (sin.f64 x))) |
(log.f64 (exp.f64 (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))))) |
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) 3))) |
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 eps) (cos.f64 x))) 3)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (pow.f64 (cbrt.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.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)) |
(fma.f64 (sin.f64 eps) (cos.f64 x) (log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (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 (cbrt.f64 (pow.f64 (+.f64 (*.f64 (sin.f64 x) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) 3)) (sin.f64 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))) |
(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))) |
(fma.f64 (sin.f64 x) (cos.f64 eps) (-.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) (sin.f64 eps)) 3)) (sin.f64 x))) |
(+.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 x) (cos.f64 eps))) 3)) |
(fma.f64 (sin.f64 x) (cos.f64 eps) (-.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 x) (sin.f64 eps))))) (sin.f64 x))) |
(-.f64 (log.f64 (*.f64 (exp.f64 (*.f64 (cos.f64 x) (sin.f64 eps))) (exp.f64 (*.f64 (sin.f64 x) (cos.f64 eps))))) (sin.f64 x)) |
(fma.f64 (sin.f64 x) (cos.f64 eps) (pow.f64 (cbrt.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))) 3)) |
(log.f64 (*.f64 (exp.f64 (fma.f64 (cos.f64 x) (sin.f64 eps) (neg.f64 (sin.f64 x)))) (exp.f64 (*.f64 (sin.f64 x) (cos.f64 eps))))) |
(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))) |
(-.f64 (fma.f64 (sqrt.f64 (sin.f64 x)) (*.f64 (sqrt.f64 (sin.f64 x)) (cos.f64 eps)) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x)) |
(fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (*.f64 (sin.f64 eps) (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x)) (neg.f64 (sin.f64 x)))) |
(fma.f64 (sin.f64 x) (cos.f64 eps) (fma.f64 (*.f64 (cos.f64 x) (sqrt.f64 (sin.f64 eps))) (sqrt.f64 (sin.f64 eps)) (neg.f64 (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 (*.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))) |
(fma.f64 (sin.f64 x) (cos.f64 eps) (+.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)))))))) |
| Outputs |
|---|
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))) |
4 calls:
| 70.0ms | x |
| 69.0ms | eps |
| 55.0ms | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
| 48.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 1633 to 568 computations (65.2% saved)
| Inputs |
|---|
eps |
eps |
(+.f64 eps (*.f64 x (*.f64 -1/2 (*.f64 eps x)))) |
(+.f64 eps (*.f64 eps (*.f64 -1/2 (*.f64 x x)))) |
(+.f64 eps (*.f64 (*.f64 eps x) (*.f64 -1/2 eps))) |
(*.f64 eps (+.f64 1 (*.f64 (+.f64 eps x) (*.f64 x -1/2)))) |
(+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 (+.f64 eps x))))) |
(+.f64 eps (-.f64 (+.f64 1 (*.f64 eps (*.f64 -1/2 (*.f64 x x)))) 1)) |
(sin.f64 eps) |
(*.f64 (cos.f64 x) eps) |
(*.f64 eps (*.f64 eps (*.f64 -1/2 (sin.f64 x)))) |
(pow.f64 (cbrt.f64 eps) 3) |
(pow.f64 (pow.f64 eps 1/3) 3) |
(-.f64 (sin.f64 eps) (sin.f64 x)) |
(-.f64 (sin.f64 x) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
(*.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1) |
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)) |
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)) |
(/.f64 1 (/.f64 1 (+.f64 (sin.f64 (+.f64 x eps)) (sin.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 (cos.f64 x) eps) (+.f64 0 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))) |
(*.f64 2 (*.f64 (sin.f64 (/.f64 (+.f64 (+.f64 x eps) x) 2)) (cos.f64 (/.f64 (-.f64 (+.f64 x eps) x) 2)))) |
(*.f64 (*.f64 (sin.f64 (*.f64 (-.f64 (+.f64 x eps) x) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2) |
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2) |
(sqrt.f64 (pow.f64 (sin.f64 eps) 2)) |
(exp.f64 (log.f64 (*.f64 (cos.f64 x) eps))) |
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3)) |
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3)) |
(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)) |
(pow.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3) 1/3) |
(+.f64 (neg.f64 (sin.f64 x)) (*.f64 (sin.f64 x) (cos.f64 eps))) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x)) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x)) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x)) |
(fma.f64 (*.f64 (*.f64 eps eps) -1/2) (sin.f64 x) (*.f64 eps (cos.f64 x))) |
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(+.f64 (*.f64 (*.f64 eps eps) (*.f64 -1/2 (sin.f64 x))) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))))) |
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))) (*.f64 (sin.f64 eps) (+.f64 1 (*.f64 -1/2 (*.f64 x x))))) |
(-.f64 (log1p.f64 (expm1.f64 (sin.f64 eps))) (sin.f64 x)) |
(-.f64 (cbrt.f64 (pow.f64 (sin.f64 eps) 3)) (sin.f64 x)) |
(fma.f64 (sin.f64 x) (cos.f64 eps) (neg.f64 (sin.f64 x))) |
(-.f64 (cbrt.f64 (pow.f64 (sin.f64 x) 3)) (sin.f64 x)) |
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (sin.f64 eps)) |
(log.f64 (exp.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) |
(*.f64 (*.f64 eps (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x))) |
(log1p.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) |
(-.f64 (fma.f64 (cos.f64 eps) x (sin.f64 eps)) (sin.f64 x)) |
(-.f64 (log1p.f64 (expm1.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x)) |
(log1p.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) |
(-.f64 (fma.f64 (cos.f64 eps) x (sin.f64 eps)) (sin.f64 x)) |
(-.f64 (log.f64 (exp.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x)) |
(pow.f64 (cbrt.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3) |
(cbrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 3)) |
(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) |
(pow.f64 (cbrt.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)) |
(-.f64 (pow.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) 2) (sin.f64 x)) |
(pow.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) |
(-.f64 (cbrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3)) (sin.f64 x)) |
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3) |
(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)) |
(-.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)) |
(-.f64 (pow.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) 2) (sin.f64 x)) |
(-.f64 (exp.f64 (log1p.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) 1) |
(-.f64 (+.f64 (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x)) |
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) |
(*.f64 (pow.f64 (cbrt.f64 2) 3) (*.f64 (sin.f64 (*.f64 1/2 eps)) (cos.f64 (*.f64 1/2 eps)))) |
(fma.f64 (cos.f64 eps) x (-.f64 (*.f64 (sin.f64 eps) (fma.f64 -1/2 (*.f64 x x) 1)) x)) |
(-.f64 (fma.f64 x (+.f64 (cos.f64 eps) (*.f64 x (*.f64 (sin.f64 eps) -1/2))) (sin.f64 eps)) x) |
(*.f64 (pow.f64 (cbrt.f64 2) 3) (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 x))) |
(*.f64 (pow.f64 (cbrt.f64 2) 3) (*.f64 (sin.f64 (*.f64 eps 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2)))) |
(*.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 (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 (pow.f64 (cbrt.f64 2) 3) (+.f64 (*.f64 eps (*.f64 (cos.f64 x) (+.f64 1/2 (*.f64 (*.f64 eps eps) -1/12)))) (*.f64 (*.f64 eps (*.f64 eps (sin.f64 x))) (+.f64 (*.f64 (*.f64 eps eps) 1/48) -1/4)))) |
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (*.f64 (cbrt.f64 (cos.f64 x)) eps)) |
(*.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))) |
| Outputs |
|---|
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) |
4 calls:
| 48.0ms | x |
| 41.0ms | eps |
| 33.0ms | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
| 31.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 910 to 394 computations (56.7% saved)
| Inputs |
|---|
eps |
eps |
(+.f64 eps (*.f64 x (*.f64 -1/2 (*.f64 eps x)))) |
(+.f64 eps (*.f64 eps (*.f64 -1/2 (*.f64 x x)))) |
(+.f64 eps (*.f64 (*.f64 eps x) (*.f64 -1/2 eps))) |
(*.f64 eps (+.f64 1 (*.f64 (+.f64 eps x) (*.f64 x -1/2)))) |
(+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 (+.f64 eps x))))) |
(+.f64 eps (-.f64 (+.f64 1 (*.f64 eps (*.f64 -1/2 (*.f64 x x)))) 1)) |
(sin.f64 eps) |
(*.f64 (cos.f64 x) eps) |
(*.f64 eps (*.f64 eps (*.f64 -1/2 (sin.f64 x)))) |
(pow.f64 (cbrt.f64 eps) 3) |
(pow.f64 (pow.f64 eps 1/3) 3) |
(-.f64 (sin.f64 eps) (sin.f64 x)) |
(-.f64 (sin.f64 x) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
(*.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1) |
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)) |
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)) |
(/.f64 1 (/.f64 1 (+.f64 (sin.f64 (+.f64 x eps)) (sin.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 (cos.f64 x) eps) (+.f64 0 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))) |
(*.f64 2 (*.f64 (sin.f64 (/.f64 (+.f64 (+.f64 x eps) x) 2)) (cos.f64 (/.f64 (-.f64 (+.f64 x eps) x) 2)))) |
(*.f64 (*.f64 (sin.f64 (*.f64 (-.f64 (+.f64 x eps) x) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2) |
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2) |
(sqrt.f64 (pow.f64 (sin.f64 eps) 2)) |
(exp.f64 (log.f64 (*.f64 (cos.f64 x) eps))) |
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3)) |
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3)) |
(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)) |
(pow.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3) 1/3) |
(+.f64 (neg.f64 (sin.f64 x)) (*.f64 (sin.f64 x) (cos.f64 eps))) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x)) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x)) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x)) |
(fma.f64 (*.f64 (*.f64 eps eps) -1/2) (sin.f64 x) (*.f64 eps (cos.f64 x))) |
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(+.f64 (*.f64 (*.f64 eps eps) (*.f64 -1/2 (sin.f64 x))) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))))) |
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))) (*.f64 (sin.f64 eps) (+.f64 1 (*.f64 -1/2 (*.f64 x x))))) |
(-.f64 (log1p.f64 (expm1.f64 (sin.f64 eps))) (sin.f64 x)) |
(-.f64 (cbrt.f64 (pow.f64 (sin.f64 eps) 3)) (sin.f64 x)) |
(fma.f64 (sin.f64 x) (cos.f64 eps) (neg.f64 (sin.f64 x))) |
(-.f64 (cbrt.f64 (pow.f64 (sin.f64 x) 3)) (sin.f64 x)) |
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (sin.f64 eps)) |
(log.f64 (exp.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) |
(*.f64 (*.f64 eps (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x))) |
(log1p.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) |
(-.f64 (fma.f64 (cos.f64 eps) x (sin.f64 eps)) (sin.f64 x)) |
(-.f64 (log1p.f64 (expm1.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x)) |
(log1p.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) |
(-.f64 (fma.f64 (cos.f64 eps) x (sin.f64 eps)) (sin.f64 x)) |
(-.f64 (log.f64 (exp.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x)) |
(pow.f64 (cbrt.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3) |
(cbrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 3)) |
(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) |
(pow.f64 (cbrt.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)) |
(-.f64 (pow.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) 2) (sin.f64 x)) |
(pow.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) |
(-.f64 (cbrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3)) (sin.f64 x)) |
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3) |
(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)) |
(-.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)) |
(-.f64 (pow.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) 2) (sin.f64 x)) |
(-.f64 (exp.f64 (log1p.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) 1) |
(-.f64 (+.f64 (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x)) |
| Outputs |
|---|
(-.f64 (+.f64 (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x)) |
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps -1/2)))) |
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (sin.f64 eps)) |
4 calls:
| 121.0ms | x |
| 99.0ms | eps |
| 71.0ms | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
| 62.0ms | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
| Error | Segments | Branch |
|---|---|---|
| 11.7b | 3 | x |
| 10.4b | 3 | eps |
| 10.6b | 3 | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
| 10.6b | 3 | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
Compiled 707 to 286 computations (59.5% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 62.0ms | 2.469950189001108e-34 | 1.6005093841287322e-17 |
| 53.0ms | -4643945245.859508 | -18942572.719046965 |
Compiled 14 to 10 computations (28.6% saved)
| Inputs |
|---|
eps |
eps |
(+.f64 eps (*.f64 x (*.f64 -1/2 (*.f64 eps x)))) |
(+.f64 eps (*.f64 eps (*.f64 -1/2 (*.f64 x x)))) |
(+.f64 eps (*.f64 (*.f64 eps x) (*.f64 -1/2 eps))) |
(*.f64 eps (+.f64 1 (*.f64 (+.f64 eps x) (*.f64 x -1/2)))) |
(+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 (+.f64 eps x))))) |
(+.f64 eps (-.f64 (+.f64 1 (*.f64 eps (*.f64 -1/2 (*.f64 x x)))) 1)) |
(sin.f64 eps) |
(*.f64 (cos.f64 x) eps) |
(*.f64 eps (*.f64 eps (*.f64 -1/2 (sin.f64 x)))) |
(pow.f64 (cbrt.f64 eps) 3) |
(pow.f64 (pow.f64 eps 1/3) 3) |
(-.f64 (sin.f64 eps) (sin.f64 x)) |
(-.f64 (sin.f64 x) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
(*.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1) |
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)) |
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)) |
(/.f64 1 (/.f64 1 (+.f64 (sin.f64 (+.f64 x eps)) (sin.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 (cos.f64 x) eps) (+.f64 0 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))) |
(*.f64 2 (*.f64 (sin.f64 (/.f64 (+.f64 (+.f64 x eps) x) 2)) (cos.f64 (/.f64 (-.f64 (+.f64 x eps) x) 2)))) |
(*.f64 (*.f64 (sin.f64 (*.f64 (-.f64 (+.f64 x eps) x) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2) |
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2) |
(sqrt.f64 (pow.f64 (sin.f64 eps) 2)) |
(exp.f64 (log.f64 (*.f64 (cos.f64 x) eps))) |
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3)) |
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3)) |
(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)) |
(pow.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3) 1/3) |
(+.f64 (neg.f64 (sin.f64 x)) (*.f64 (sin.f64 x) (cos.f64 eps))) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x)) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x)) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x)) |
(fma.f64 (*.f64 (*.f64 eps eps) -1/2) (sin.f64 x) (*.f64 eps (cos.f64 x))) |
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(+.f64 (*.f64 (*.f64 eps eps) (*.f64 -1/2 (sin.f64 x))) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))))) |
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))) (*.f64 (sin.f64 eps) (+.f64 1 (*.f64 -1/2 (*.f64 x x))))) |
(-.f64 (log1p.f64 (expm1.f64 (sin.f64 eps))) (sin.f64 x)) |
(-.f64 (cbrt.f64 (pow.f64 (sin.f64 eps) 3)) (sin.f64 x)) |
(fma.f64 (sin.f64 x) (cos.f64 eps) (neg.f64 (sin.f64 x))) |
(-.f64 (cbrt.f64 (pow.f64 (sin.f64 x) 3)) (sin.f64 x)) |
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (sin.f64 eps)) |
(log.f64 (exp.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) |
(*.f64 (*.f64 eps (sqrt.f64 (cos.f64 x))) (sqrt.f64 (cos.f64 x))) |
(log1p.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) |
(-.f64 (fma.f64 (cos.f64 eps) x (sin.f64 eps)) (sin.f64 x)) |
(-.f64 (log1p.f64 (expm1.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x)) |
(log1p.f64 (expm1.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) |
(-.f64 (fma.f64 (cos.f64 eps) x (sin.f64 eps)) (sin.f64 x)) |
(-.f64 (log.f64 (exp.f64 (sin.f64 (+.f64 x eps)))) (sin.f64 x)) |
(pow.f64 (cbrt.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3) |
(cbrt.f64 (pow.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 3)) |
(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) |
(pow.f64 (cbrt.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)) |
(-.f64 (pow.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) 2) (sin.f64 x)) |
(pow.f64 (sqrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 2) |
(-.f64 (cbrt.f64 (pow.f64 (sin.f64 (+.f64 x eps)) 3)) (sin.f64 x)) |
(pow.f64 (cbrt.f64 (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x))) 3) |
(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)) |
(-.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)) |
(-.f64 (pow.f64 (sqrt.f64 (sin.f64 (+.f64 x eps))) 2) (sin.f64 x)) |
(-.f64 (exp.f64 (log1p.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) 1) |
| Outputs |
|---|
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (sin.f64 eps)) |
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps -1/2)))) |
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (sin.f64 eps)) |
4 calls:
| 105.0ms | eps |
| 99.0ms | x |
| 62.0ms | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
| 59.0ms | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
| Error | Segments | Branch |
|---|---|---|
| 11.7b | 3 | x |
| 10.5b | 3 | eps |
| 10.8b | 3 | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
| 10.8b | 3 | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
Compiled 696 to 283 computations (59.3% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 60.0ms | 2.469950189001108e-34 | 1.6005093841287322e-17 |
| 51.0ms | -4643945245.859508 | -18942572.719046965 |
Compiled 14 to 10 computations (28.6% saved)
| Inputs |
|---|
eps |
eps |
(+.f64 eps (*.f64 x (*.f64 -1/2 (*.f64 eps x)))) |
(+.f64 eps (*.f64 eps (*.f64 -1/2 (*.f64 x x)))) |
(+.f64 eps (*.f64 (*.f64 eps x) (*.f64 -1/2 eps))) |
(*.f64 eps (+.f64 1 (*.f64 (+.f64 eps x) (*.f64 x -1/2)))) |
(+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 (+.f64 eps x))))) |
(+.f64 eps (-.f64 (+.f64 1 (*.f64 eps (*.f64 -1/2 (*.f64 x x)))) 1)) |
(sin.f64 eps) |
(*.f64 (cos.f64 x) eps) |
(*.f64 eps (*.f64 eps (*.f64 -1/2 (sin.f64 x)))) |
(pow.f64 (cbrt.f64 eps) 3) |
(pow.f64 (pow.f64 eps 1/3) 3) |
(-.f64 (sin.f64 eps) (sin.f64 x)) |
(-.f64 (sin.f64 x) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
(*.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1) |
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)) |
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)) |
(/.f64 1 (/.f64 1 (+.f64 (sin.f64 (+.f64 x eps)) (sin.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 (cos.f64 x) eps) (+.f64 0 (*.f64 (*.f64 eps eps) (*.f64 (sin.f64 x) -1/2)))) |
(*.f64 2 (*.f64 (sin.f64 (/.f64 (+.f64 (+.f64 x eps) x) 2)) (cos.f64 (/.f64 (-.f64 (+.f64 x eps) x) 2)))) |
(*.f64 (*.f64 (sin.f64 (*.f64 (-.f64 (+.f64 x eps) x) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2) |
(*.f64 (*.f64 (sin.f64 (*.f64 (+.f64 x (-.f64 eps x)) 1/2)) (cos.f64 (*.f64 (+.f64 x (+.f64 x eps)) 1/2))) 2) |
(sqrt.f64 (pow.f64 (sin.f64 eps) 2)) |
(exp.f64 (log.f64 (*.f64 (cos.f64 x) eps))) |
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3)) |
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3)) |
(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)) |
(pow.f64 (pow.f64 (*.f64 (cos.f64 x) eps) 3) 1/3) |
(+.f64 (neg.f64 (sin.f64 x)) (*.f64 (sin.f64 x) (cos.f64 eps))) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x)) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x)) |
(-.f64 (+.f64 (*.f64 (cos.f64 eps) x) (sin.f64 eps)) (sin.f64 x)) |
(fma.f64 (*.f64 (*.f64 eps eps) -1/2) (sin.f64 x) (*.f64 eps (cos.f64 x))) |
(+.f64 (*.f64 (cos.f64 x) eps) (*.f64 -1/2 (*.f64 (pow.f64 eps 2) (sin.f64 x)))) |
(+.f64 (*.f64 (*.f64 eps eps) (*.f64 -1/2 (sin.f64 x))) (*.f64 (cos.f64 x) (+.f64 eps (*.f64 -1/6 (pow.f64 eps 3))))) |
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))) (*.f64 (sin.f64 eps) (+.f64 1 (*.f64 -1/2 (*.f64 x x))))) |
(-.f64 (log1p.f64 (expm1.f64 (sin.f64 eps))) (sin.f64 x)) |
(-.f64 (cbrt.f64 (pow.f64 (sin.f64 eps) 3)) (sin.f64 x)) |
(fma.f64 (sin.f64 x) (cos.f64 eps) (neg.f64 (sin.f64 x))) |
(-.f64 (cbrt.f64 (pow.f64 (sin.f64 x) 3)) (sin.f64 x)) |
| Outputs |
|---|
(-.f64 (sin.f64 eps) (sin.f64 x)) |
(*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps -1/2)))) |
(-.f64 (sin.f64 eps) (sin.f64 x)) |
3 calls:
| 64.0ms | eps |
| 60.0ms | x |
| 41.0ms | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
| Error | Segments | Branch |
|---|---|---|
| 11.7b | 3 | x |
| 10.7b | 3 | eps |
| 11.0b | 3 | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
Compiled 445 to 207 computations (53.5% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 58.0ms | 2.469950189001108e-34 | 1.6005093841287322e-17 |
| 51.0ms | -18942572.719046965 | -0.1475656321457925 |
Compiled 14 to 10 computations (28.6% saved)
| Inputs |
|---|
eps |
eps |
(+.f64 eps (*.f64 x (*.f64 -1/2 (*.f64 eps x)))) |
(+.f64 eps (*.f64 eps (*.f64 -1/2 (*.f64 x x)))) |
(+.f64 eps (*.f64 (*.f64 eps x) (*.f64 -1/2 eps))) |
(*.f64 eps (+.f64 1 (*.f64 (+.f64 eps x) (*.f64 x -1/2)))) |
(+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 (+.f64 eps x))))) |
(+.f64 eps (-.f64 (+.f64 1 (*.f64 eps (*.f64 -1/2 (*.f64 x x)))) 1)) |
(sin.f64 eps) |
(*.f64 (cos.f64 x) eps) |
(*.f64 eps (*.f64 eps (*.f64 -1/2 (sin.f64 x)))) |
(pow.f64 (cbrt.f64 eps) 3) |
(pow.f64 (pow.f64 eps 1/3) 3) |
(-.f64 (sin.f64 eps) (sin.f64 x)) |
(-.f64 (sin.f64 x) (sin.f64 x)) |
(-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
(*.f64 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) 1) |
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)) |
(+.f64 (*.f64 (-.f64 (cos.f64 eps) 1) x) (sin.f64 eps)) |
(/.f64 1 (/.f64 1 (+.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)))) |
| Outputs |
|---|
(-.f64 (sin.f64 eps) (sin.f64 x)) |
(*.f64 (cos.f64 x) eps) |
(-.f64 (sin.f64 eps) (sin.f64 x)) |
3 calls:
| 28.0ms | x |
| 27.0ms | eps |
| 18.0ms | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
| Error | Segments | Branch |
|---|---|---|
| 11.8b | 3 | x |
| 10.8b | 3 | eps |
| 11.1b | 3 | (-.f64 (sin.f64 (+.f64 x eps)) (sin.f64 x)) |
Compiled 159 to 82 computations (48.4% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 59.0ms | 2.469950189001108e-34 | 1.6005093841287322e-17 |
| 50.0ms | -18942572.719046965 | -0.1475656321457925 |
Compiled 14 to 10 computations (28.6% saved)
| Inputs |
|---|
eps |
eps |
(+.f64 eps (*.f64 x (*.f64 -1/2 (*.f64 eps x)))) |
(+.f64 eps (*.f64 eps (*.f64 -1/2 (*.f64 x x)))) |
(+.f64 eps (*.f64 (*.f64 eps x) (*.f64 -1/2 eps))) |
(*.f64 eps (+.f64 1 (*.f64 (+.f64 eps x) (*.f64 x -1/2)))) |
(+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 (+.f64 eps x))))) |
(+.f64 eps (-.f64 (+.f64 1 (*.f64 eps (*.f64 -1/2 (*.f64 x x)))) 1)) |
(sin.f64 eps) |
(*.f64 (cos.f64 x) eps) |
(*.f64 eps (*.f64 eps (*.f64 -1/2 (sin.f64 x)))) |
(pow.f64 (cbrt.f64 eps) 3) |
(pow.f64 (pow.f64 eps 1/3) 3) |
| Outputs |
|---|
(sin.f64 eps) |
(*.f64 (cos.f64 x) eps) |
(sin.f64 eps) |
2 calls:
| 20.0ms | x |
| 20.0ms | eps |
| Error | Segments | Branch |
|---|---|---|
| 12.1b | 3 | x |
| 11.2b | 3 | eps |
Compiled 95 to 55 computations (42.1% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 61.0ms | 2.469950189001108e-34 | 1.6005093841287322e-17 |
| 52.0ms | -18942572.719046965 | -0.1475656321457925 |
Compiled 14 to 10 computations (28.6% saved)
| Inputs |
|---|
eps |
eps |
(+.f64 eps (*.f64 x (*.f64 -1/2 (*.f64 eps x)))) |
(+.f64 eps (*.f64 eps (*.f64 -1/2 (*.f64 x x)))) |
(+.f64 eps (*.f64 (*.f64 eps x) (*.f64 -1/2 eps))) |
(*.f64 eps (+.f64 1 (*.f64 (+.f64 eps x) (*.f64 x -1/2)))) |
(+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 (+.f64 eps x))))) |
(+.f64 eps (-.f64 (+.f64 1 (*.f64 eps (*.f64 -1/2 (*.f64 x x)))) 1)) |
(sin.f64 eps) |
| Outputs |
|---|
(sin.f64 eps) |
2 calls:
| 6.0ms | x |
| 6.0ms | eps |
| Error | Segments | Branch |
|---|---|---|
| 27.3b | 1 | x |
| 27.3b | 1 | eps |
Compiled 74 to 41 computations (44.6% saved)
Total -2.7b remaining (-6.1%)
Threshold costs -2.7b (-6.1%)
| Inputs |
|---|
eps |
eps |
(+.f64 eps (*.f64 x (*.f64 -1/2 (*.f64 eps x)))) |
(+.f64 eps (*.f64 eps (*.f64 -1/2 (*.f64 x x)))) |
(+.f64 eps (*.f64 (*.f64 eps x) (*.f64 -1/2 eps))) |
(*.f64 eps (+.f64 1 (*.f64 (+.f64 eps x) (*.f64 x -1/2)))) |
(+.f64 eps (*.f64 eps (*.f64 x (*.f64 -1/2 (+.f64 eps x))))) |
(+.f64 eps (-.f64 (+.f64 1 (*.f64 eps (*.f64 -1/2 (*.f64 x x)))) 1)) |
| Outputs |
|---|
eps |
2 calls:
| 5.0ms | x |
| 5.0ms | eps |
| Error | Segments | Branch |
|---|---|---|
| 44.3b | 1 | x |
| 44.3b | 1 | eps |
Compiled 72 to 40 computations (44.4% saved)
| 1× | egg-herbie |
| 7× | +-commutative_binary64 |
| 7× | *-commutative_binary64 |
| 3× | sub-neg_binary64 |
| 1× | neg-sub0_binary64 |
| 1× | neg-mul-1_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 40 | 265 |
| 1 | 53 | 265 |
| 2 | 58 | 265 |
| 3 | 60 | 265 |
| 4 | 61 | 265 |
| 1× | fuel |
| 1× | saturated |
| Inputs |
|---|
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))) |
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) |
(if (<=.f64 eps -4869529530122379/1048576) (-.f64 (+.f64 (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x)) (if (<=.f64 eps 1443934498140357/5846006549323611672814739330865132078623730171904) (*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps -1/2)))) (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (sin.f64 eps)))) |
(if (<=.f64 eps -4869529530122379/1048576) (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (sin.f64 eps)) (if (<=.f64 eps 1443934498140357/5846006549323611672814739330865132078623730171904) (*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps -1/2)))) (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (sin.f64 eps)))) |
(if (<=.f64 eps -1271214536412633/67108864) (-.f64 (sin.f64 eps) (sin.f64 x)) (if (<=.f64 eps 1443934498140357/5846006549323611672814739330865132078623730171904) (*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps -1/2)))) (-.f64 (sin.f64 eps) (sin.f64 x)))) |
(if (<=.f64 eps -1271214536412633/67108864) (-.f64 (sin.f64 eps) (sin.f64 x)) (if (<=.f64 eps 1443934498140357/5846006549323611672814739330865132078623730171904) (*.f64 (cos.f64 x) eps) (-.f64 (sin.f64 eps) (sin.f64 x)))) |
(if (<=.f64 eps -1271214536412633/67108864) (sin.f64 eps) (if (<=.f64 eps 1443934498140357/5846006549323611672814739330865132078623730171904) (*.f64 (cos.f64 x) eps) (sin.f64 eps))) |
(sin.f64 eps) |
eps |
| Outputs |
|---|
(fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))) |
(+.f64 (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x)) (*.f64 (sin.f64 eps) (cos.f64 x))) |
(+.f64 (*.f64 (sin.f64 eps) (cos.f64 x)) (*.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x))) |
(if (<=.f64 eps -4869529530122379/1048576) (-.f64 (+.f64 (sin.f64 x) (*.f64 (cos.f64 x) (sin.f64 eps))) (sin.f64 x)) (if (<=.f64 eps 1443934498140357/5846006549323611672814739330865132078623730171904) (*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps -1/2)))) (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (sin.f64 eps)))) |
(if (<=.f64 eps -4869529530122379/1048576) (-.f64 (+.f64 (sin.f64 x) (*.f64 (sin.f64 eps) (cos.f64 x))) (sin.f64 x)) (if (<=.f64 eps 1443934498140357/5846006549323611672814739330865132078623730171904) (*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps -1/2)))) (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (sin.f64 eps)))) |
(if (<=.f64 eps -4869529530122379/1048576) (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (sin.f64 eps)) (if (<=.f64 eps 1443934498140357/5846006549323611672814739330865132078623730171904) (*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps -1/2)))) (fma.f64 (+.f64 (cos.f64 eps) -1) (sin.f64 x) (sin.f64 eps)))) |
(if (<=.f64 eps -1271214536412633/67108864) (-.f64 (sin.f64 eps) (sin.f64 x)) (if (<=.f64 eps 1443934498140357/5846006549323611672814739330865132078623730171904) (*.f64 eps (+.f64 (cos.f64 x) (*.f64 (sin.f64 x) (*.f64 eps -1/2)))) (-.f64 (sin.f64 eps) (sin.f64 x)))) |
(if (<=.f64 eps -1271214536412633/67108864) (-.f64 (sin.f64 eps) (sin.f64 x)) (if (<=.f64 eps 1443934498140357/5846006549323611672814739330865132078623730171904) (*.f64 (cos.f64 x) eps) (-.f64 (sin.f64 eps) (sin.f64 x)))) |
(if (<=.f64 eps -1271214536412633/67108864) (-.f64 (sin.f64 eps) (sin.f64 x)) (if (<=.f64 eps 1443934498140357/5846006549323611672814739330865132078623730171904) (*.f64 eps (cos.f64 x)) (-.f64 (sin.f64 eps) (sin.f64 x)))) |
(if (<=.f64 eps -1271214536412633/67108864) (sin.f64 eps) (if (<=.f64 eps 1443934498140357/5846006549323611672814739330865132078623730171904) (*.f64 (cos.f64 x) eps) (sin.f64 eps))) |
(if (<=.f64 eps -1271214536412633/67108864) (sin.f64 eps) (if (<=.f64 eps 1443934498140357/5846006549323611672814739330865132078623730171904) (*.f64 eps (cos.f64 x)) (sin.f64 eps))) |
(sin.f64 eps) |
eps |
Compiled 189 to 113 computations (40.2% saved)
| 1× | egg-herbie |
| 588× | sub-neg_binary64 |
| 513× | distribute-neg-in_binary64 |
| 495× | fma-def_binary64 |
| 396× | *-commutative_binary64 |
| 384× | +-commutative_binary64 |
Useful iterations: 5 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 83 | 1214 |
| 1 | 241 | 1202 |
| 2 | 653 | 1133 |
| 3 | 2116 | 1121 |
| 4 | 3699 | 1121 |
| 5 | 4848 | 1119 |
| 6 | 6902 | 1119 |
| 1× | node limit |
Compiled 153 to 105 computations (31.4% saved)
Compiled 173 to 72 computations (58.4% saved)
Loading profile data...