Time bar (total: 5.7s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 0 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 1 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 2 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 3 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 4 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 5 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 6 |
| 12.5% | 12.5% | 87.4% | 0.1% | 0% | 0% | 0% | 7 |
| 18.8% | 18.7% | 81.1% | 0.1% | 0% | 0% | 0% | 8 |
| 25.8% | 25% | 71.8% | 0.1% | 3.1% | 0% | 0% | 9 |
| 36.4% | 34.3% | 60.1% | 0.1% | 5.5% | 0% | 0% | 10 |
| 44.5% | 41.3% | 51.5% | 0.1% | 7% | 0% | 0% | 11 |
| 51.5% | 46.8% | 44.1% | 0.1% | 9% | 0% | 0% | 12 |
Compiled 13 to 9 computations (30.8% saved)
| 1.5s | 8256× | body | 256 | valid |
| 163.0ms | 1277× | body | 256 | infinite |
| 2× | egg-herbie |
| 1340× | rational_best-simplify-1 |
| 726× | rational_best-simplify-73 |
| 578× | rational_best-simplify-38 |
| 568× | rational_best-simplify-57 |
| 462× | rational_best-simplify-75 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 21 | 100 |
| 1 | 32 | 100 |
| 2 | 50 | 100 |
| 3 | 71 | 100 |
| 4 | 147 | 100 |
| 5 | 379 | 92 |
| 6 | 1305 | 76 |
| 7 | 6941 | 76 |
| 0 | 3 | 3 |
| 1× | saturated |
| 1× | node limit |
| Inputs |
|---|
0 |
1 |
2 |
| Outputs |
|---|
0 |
1 |
2 |
| Inputs |
|---|
(+.f64 (*.f64 x y) (*.f64 (-.f64 1 x) z)) |
(+.f64 (*.f64 y x) (*.f64 (-.f64 1 y) z)) |
(+.f64 (*.f64 z y) (*.f64 (-.f64 1 z) x)) |
(+.f64 (*.f64 x z) (*.f64 (-.f64 1 x) y)) |
| Outputs |
|---|
(+.f64 (*.f64 x y) (*.f64 (-.f64 1 x) z)) |
(+.f64 (*.f64 (-.f64 1 x) z) (*.f64 x y)) |
(+.f64 (-.f64 z (*.f64 x z)) (*.f64 x y)) |
(+.f64 z (*.f64 x (+.f64 (neg.f64 z) y))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(+.f64 (*.f64 y x) (*.f64 (-.f64 1 y) z)) |
(+.f64 (*.f64 x y) (*.f64 z (-.f64 1 y))) |
(+.f64 (*.f64 x y) (-.f64 z (*.f64 y z))) |
(+.f64 z (*.f64 y (+.f64 (neg.f64 z) x))) |
(+.f64 z (*.f64 y (-.f64 x z))) |
(+.f64 (*.f64 z y) (*.f64 (-.f64 1 z) x)) |
(+.f64 (*.f64 y z) (*.f64 x (-.f64 1 z))) |
(+.f64 (*.f64 y z) (-.f64 x (*.f64 x z))) |
(+.f64 x (*.f64 z (+.f64 (neg.f64 x) y))) |
(+.f64 x (*.f64 z (-.f64 y x))) |
(+.f64 (*.f64 x z) (*.f64 (-.f64 1 x) y)) |
(+.f64 (*.f64 x z) (*.f64 y (-.f64 1 x))) |
(+.f64 (*.f64 x z) (-.f64 y (*.f64 x y))) |
(+.f64 y (*.f64 x (+.f64 (neg.f64 y) z))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
Compiled 15 to 11 computations (26.7% saved)
| 1× | egg-herbie |
| 1000× | rational_best-simplify-49 |
| 1000× | rational_best-simplify-47 |
| 990× | rational_best-simplify-57 |
| 758× | rational_best-simplify-65 |
| 734× | rational_best-simplify-58 |
Useful iterations: 5 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 25 |
| 1 | 13 | 25 |
| 2 | 20 | 25 |
| 3 | 29 | 25 |
| 4 | 52 | 25 |
| 5 | 132 | 23 |
| 6 | 388 | 23 |
| 7 | 1799 | 23 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 x y) (*.f64 (-.f64 1 x) z)) |
| Outputs |
|---|
(+.f64 (*.f64 x y) (*.f64 (-.f64 1 x) z)) |
(+.f64 (*.f64 x y) (-.f64 z (*.f64 x z))) |
(+.f64 z (*.f64 x (+.f64 (neg.f64 z) y))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
Compiled 37 to 18 computations (51.4% saved)
3 alts after pruning (3 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 2 | 2 | 4 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 2 | 3 | 5 |
| Status | Error | Program |
|---|---|---|
| ▶ | 0.0b | (+.f64 (*.f64 x y) (*.f64 (-.f64 1 x) z)) |
| ▶ | 0.0b | (+.f64 z (*.f64 x (+.f64 (neg.f64 z) y))) |
Compiled 23 to 15 computations (34.8% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 z (*.f64 x (+.f64 (neg.f64 z) y))) |
Compiled 26 to 7 computations (73.1% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | x | @ | -inf | (+.f64 z (*.f64 x (+.f64 (neg.f64 z) y))) |
| 0.0ms | z | @ | inf | (+.f64 z (*.f64 x (+.f64 (neg.f64 z) y))) |
| 0.0ms | x | @ | inf | (+.f64 z (*.f64 x (+.f64 (neg.f64 z) y))) |
| 0.0ms | y | @ | -inf | (+.f64 z (*.f64 x (+.f64 (neg.f64 z) y))) |
| 0.0ms | z | @ | -inf | (+.f64 z (*.f64 x (+.f64 (neg.f64 z) y))) |
| 1× | batch-egg-rewrite |
| 1378× | rational_best-4 |
| 1378× | rational_best-2 |
| 1378× | rational_best-3 |
| 1378× | rational_best-1 |
| 1376× | exponential-1 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 23 |
| 1 | 72 | 19 |
| 2 | 204 | 19 |
| 3 | 860 | 19 |
| 4 | 4252 | 19 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 z (*.f64 x (+.f64 (neg.f64 z) y))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 z (*.f64 x (-.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (-.f64 y z)) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 z (*.f64 x (-.f64 y z))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (*.f64 x (-.f64 z y)) z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x y) (-.f64 (*.f64 z x) z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (neg.f64 z) (+.f64 x -1)) (*.f64 x (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (+.f64 z y)) (+.f64 (neg.f64 z) (*.f64 x (+.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (*.f64 (-.f64 y z) 1/2)) (-.f64 (neg.f64 z) (*.f64 x (*.f64 (-.f64 y z) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 z 1/2) (-.f64 (*.f64 x (-.f64 z y)) (*.f64 z 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 z (*.f64 x (*.f64 (-.f64 y z) 1/2))) (neg.f64 (*.f64 x (*.f64 (-.f64 y z) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 x (-.f64 y z)) (*.f64 z 1/2)) (*.f64 z -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 x y) (*.f64 z 1/2)) (-.f64 (*.f64 z x) (*.f64 z 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 x (+.f64 z y)) (*.f64 z 1/2)) (-.f64 (*.f64 x (+.f64 z z)) (*.f64 z 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 z (*.f64 x (-.f64 z y))) (*.f64 (*.f64 x (-.f64 y z)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (neg.f64 z) (*.f64 x (-.f64 y z))) (*.f64 z -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 z (*.f64 x (-.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (*.f64 x (-.f64 z y)) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x (-.f64 z y)) z) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 (-.f64 z y) (*.f64 x 1/2)) (*.f64 z 1/2)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 (neg.f64 x) (*.f64 (-.f64 y z) 1/2)) (*.f64 z 1/2)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (neg.f64 (*.f64 x (*.f64 (-.f64 y z) 1/2))) (*.f64 z 1/2)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 z -1/2) (*.f64 x (*.f64 (-.f64 y z) 1/2))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x (-.f64 z y)) z) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 2)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) -2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 2)) (*.f64 2 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 2))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) -2) (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) -2)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 z -2) (*.f64 (*.f64 x (-.f64 y z)) -2)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (+.f64 x x) (*.f64 (-.f64 y z) 2)) (*.f64 2 (+.f64 z z))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (*.f64 x (-.f64 z y)) z)))))) |
| 1× | egg-herbie |
| 1208× | rational_best-simplify-65 |
| 1184× | rational_best-simplify-38 |
| 1080× | rational_best-simplify-1 |
| 746× | rational_best-simplify-44 |
| 686× | rational_best-simplify-78 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 126 | 1984 |
| 1 | 288 | 1984 |
| 2 | 727 | 1582 |
| 3 | 3157 | 1322 |
| 4 | 7350 | 1322 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 y x) |
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 x)) z) (*.f64 y x)) |
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 x)) z) (*.f64 y x)) |
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 x)) z) (*.f64 y x)) |
(*.f64 (+.f64 1 (*.f64 -1 x)) z) |
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 x)) z) (*.f64 y x)) |
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 x)) z) (*.f64 y x)) |
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 x)) z) (*.f64 y x)) |
(*.f64 -1 (*.f64 (-.f64 x 1) z)) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (-.f64 x 1) z))) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (-.f64 x 1) z))) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (-.f64 x 1) z))) |
z |
(+.f64 (*.f64 (-.f64 y z) x) z) |
(+.f64 (*.f64 (-.f64 y z) x) z) |
(+.f64 (*.f64 (-.f64 y z) x) z) |
(*.f64 (-.f64 y z) x) |
(+.f64 (*.f64 (-.f64 y z) x) z) |
(+.f64 (*.f64 (-.f64 y z) x) z) |
(+.f64 (*.f64 (-.f64 y z) x) z) |
(*.f64 (-.f64 y z) x) |
(+.f64 (*.f64 (-.f64 y z) x) z) |
(+.f64 (*.f64 (-.f64 y z) x) z) |
(+.f64 (*.f64 (-.f64 y z) x) z) |
(+.f64 (*.f64 -1 (*.f64 z x)) z) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 -1 (*.f64 z x)))) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 -1 (*.f64 z x)))) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 -1 (*.f64 z x)))) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 -1 (*.f64 z x)))) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 -1 (*.f64 z x)))) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 -1 (*.f64 z x)))) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 -1 (*.f64 z x)) z)) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 -1 (*.f64 z x)) z)) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 -1 (*.f64 z x)) z)) |
(-.f64 z (*.f64 x (-.f64 z y))) |
(-.f64 (*.f64 x (-.f64 y z)) (neg.f64 z)) |
(-.f64 (+.f64 z (*.f64 x (-.f64 y z))) 0) |
(-.f64 0 (-.f64 (*.f64 x (-.f64 z y)) z)) |
(-.f64 (*.f64 x y) (-.f64 (*.f64 z x) z)) |
(-.f64 (*.f64 (neg.f64 z) (+.f64 x -1)) (*.f64 x (neg.f64 y))) |
(-.f64 (*.f64 x (+.f64 z y)) (+.f64 (neg.f64 z) (*.f64 x (+.f64 z z)))) |
(-.f64 (*.f64 x (*.f64 (-.f64 y z) 1/2)) (-.f64 (neg.f64 z) (*.f64 x (*.f64 (-.f64 y z) 1/2)))) |
(-.f64 (*.f64 z 1/2) (-.f64 (*.f64 x (-.f64 z y)) (*.f64 z 1/2))) |
(-.f64 (+.f64 z (*.f64 x (*.f64 (-.f64 y z) 1/2))) (neg.f64 (*.f64 x (*.f64 (-.f64 y z) 1/2)))) |
(-.f64 (+.f64 (*.f64 x (-.f64 y z)) (*.f64 z 1/2)) (*.f64 z -1/2)) |
(-.f64 (+.f64 (*.f64 x y) (*.f64 z 1/2)) (-.f64 (*.f64 z x) (*.f64 z 1/2))) |
(-.f64 (+.f64 (*.f64 x (+.f64 z y)) (*.f64 z 1/2)) (-.f64 (*.f64 x (+.f64 z z)) (*.f64 z 1/2))) |
(-.f64 (+.f64 z (*.f64 x (-.f64 z y))) (*.f64 (*.f64 x (-.f64 y z)) -2)) |
(-.f64 (+.f64 (neg.f64 z) (*.f64 x (-.f64 y z))) (*.f64 z -2)) |
(*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1) |
(*.f64 1 (+.f64 z (*.f64 x (-.f64 y z)))) |
(*.f64 -1 (-.f64 (*.f64 x (-.f64 z y)) z)) |
(*.f64 2 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1/2)) |
(*.f64 (-.f64 (*.f64 x (-.f64 z y)) z) -1) |
(*.f64 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 2) 1/2) |
(*.f64 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1/2) 2) |
(*.f64 1/2 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 2)) |
(*.f64 (-.f64 (*.f64 (-.f64 z y) (*.f64 x 1/2)) (*.f64 z 1/2)) -2) |
(*.f64 (-.f64 (*.f64 (neg.f64 x) (*.f64 (-.f64 y z) 1/2)) (*.f64 z 1/2)) -2) |
(*.f64 (-.f64 (neg.f64 (*.f64 x (*.f64 (-.f64 y z) 1/2))) (*.f64 z 1/2)) -2) |
(*.f64 (-.f64 (*.f64 z -1/2) (*.f64 x (*.f64 (-.f64 y z) 1/2))) -2) |
(/.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1) |
(/.f64 (-.f64 (*.f64 x (-.f64 z y)) z) -1) |
(/.f64 (*.f64 2 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 2)) 4) |
(/.f64 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) -2) -2) |
(/.f64 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 2) 2) |
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 2)) (*.f64 2 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 2))) 8) |
(/.f64 (+.f64 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) -2) (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) -2)) -4) |
(/.f64 (+.f64 (*.f64 z -2) (*.f64 (*.f64 x (-.f64 y z)) -2)) -2) |
(/.f64 (+.f64 (*.f64 (+.f64 x x) (*.f64 (-.f64 y z) 2)) (*.f64 2 (+.f64 z z))) 4) |
(pow.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1) |
(neg.f64 (-.f64 (*.f64 x (-.f64 z y)) z)) |
| Outputs |
|---|
(*.f64 y x) |
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 x)) z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 x)) z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 x)) z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(*.f64 (+.f64 1 (*.f64 -1 x)) z) |
(*.f64 (+.f64 1 (neg.f64 x)) z) |
(+.f64 z (*.f64 (neg.f64 x) z)) |
(-.f64 z (*.f64 x z)) |
(*.f64 z (-.f64 1 x)) |
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 x)) z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 x)) z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 x)) z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(*.f64 -1 (*.f64 (-.f64 x 1) z)) |
(*.f64 (+.f64 1 (neg.f64 x)) z) |
(+.f64 z (*.f64 (neg.f64 x) z)) |
(-.f64 z (*.f64 x z)) |
(*.f64 z (-.f64 1 x)) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (-.f64 x 1) z))) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (-.f64 x 1) z))) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (-.f64 x 1) z))) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
z |
(+.f64 (*.f64 (-.f64 y z) x) z) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(+.f64 (*.f64 (-.f64 y z) x) z) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(+.f64 (*.f64 (-.f64 y z) x) z) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(*.f64 (-.f64 y z) x) |
(*.f64 x (-.f64 y z)) |
(+.f64 (*.f64 (-.f64 y z) x) z) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(+.f64 (*.f64 (-.f64 y z) x) z) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(+.f64 (*.f64 (-.f64 y z) x) z) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(*.f64 (-.f64 y z) x) |
(*.f64 x (-.f64 y z)) |
(+.f64 (*.f64 (-.f64 y z) x) z) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(+.f64 (*.f64 (-.f64 y z) x) z) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(+.f64 (*.f64 (-.f64 y z) x) z) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(+.f64 (*.f64 -1 (*.f64 z x)) z) |
(*.f64 (+.f64 1 (neg.f64 x)) z) |
(+.f64 z (*.f64 (neg.f64 x) z)) |
(-.f64 z (*.f64 x z)) |
(*.f64 z (-.f64 1 x)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 -1 (*.f64 z x)))) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 -1 (*.f64 z x)))) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 -1 (*.f64 z x)))) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 -1 (*.f64 z x)))) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 -1 (*.f64 z x)))) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 -1 (*.f64 z x)))) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 -1 (*.f64 z x)) z)) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 -1 (*.f64 z x)) z)) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 -1 (*.f64 z x)) z)) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(-.f64 z (*.f64 x (-.f64 z y))) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(-.f64 (*.f64 x (-.f64 y z)) (neg.f64 z)) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(-.f64 (+.f64 z (*.f64 x (-.f64 y z))) 0) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(-.f64 0 (-.f64 (*.f64 x (-.f64 z y)) z)) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(-.f64 (*.f64 x y) (-.f64 (*.f64 z x) z)) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(-.f64 (*.f64 (neg.f64 z) (+.f64 x -1)) (*.f64 x (neg.f64 y))) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(-.f64 (*.f64 x (+.f64 z y)) (+.f64 (neg.f64 z) (*.f64 x (+.f64 z z)))) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(-.f64 (*.f64 x (*.f64 (-.f64 y z) 1/2)) (-.f64 (neg.f64 z) (*.f64 x (*.f64 (-.f64 y z) 1/2)))) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(-.f64 (*.f64 z 1/2) (-.f64 (*.f64 x (-.f64 z y)) (*.f64 z 1/2))) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(-.f64 (+.f64 z (*.f64 x (*.f64 (-.f64 y z) 1/2))) (neg.f64 (*.f64 x (*.f64 (-.f64 y z) 1/2)))) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(-.f64 (+.f64 (*.f64 x (-.f64 y z)) (*.f64 z 1/2)) (*.f64 z -1/2)) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(-.f64 (+.f64 (*.f64 x y) (*.f64 z 1/2)) (-.f64 (*.f64 z x) (*.f64 z 1/2))) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(-.f64 (+.f64 (*.f64 x (+.f64 z y)) (*.f64 z 1/2)) (-.f64 (*.f64 x (+.f64 z z)) (*.f64 z 1/2))) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(-.f64 (+.f64 z (*.f64 x (-.f64 z y))) (*.f64 (*.f64 x (-.f64 y z)) -2)) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(-.f64 (+.f64 (neg.f64 z) (*.f64 x (-.f64 y z))) (*.f64 z -2)) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(*.f64 1 (+.f64 z (*.f64 x (-.f64 y z)))) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(*.f64 -1 (-.f64 (*.f64 x (-.f64 z y)) z)) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(*.f64 2 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1/2)) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(*.f64 (-.f64 (*.f64 x (-.f64 z y)) z) -1) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(*.f64 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 2) 1/2) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(*.f64 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1/2) 2) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(*.f64 1/2 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 2)) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(*.f64 (-.f64 (*.f64 (-.f64 z y) (*.f64 x 1/2)) (*.f64 z 1/2)) -2) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(*.f64 (-.f64 (*.f64 (neg.f64 x) (*.f64 (-.f64 y z) 1/2)) (*.f64 z 1/2)) -2) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(*.f64 (-.f64 (neg.f64 (*.f64 x (*.f64 (-.f64 y z) 1/2))) (*.f64 z 1/2)) -2) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(*.f64 (-.f64 (*.f64 z -1/2) (*.f64 x (*.f64 (-.f64 y z) 1/2))) -2) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(/.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(/.f64 (-.f64 (*.f64 x (-.f64 z y)) z) -1) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(/.f64 (*.f64 2 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 2)) 4) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(/.f64 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) -2) -2) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(/.f64 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 2) 2) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 2)) (*.f64 2 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 2))) 8) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(/.f64 (+.f64 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) -2) (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) -2)) -4) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(/.f64 (+.f64 (*.f64 z -2) (*.f64 (*.f64 x (-.f64 y z)) -2)) -2) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(/.f64 (+.f64 (*.f64 (+.f64 x x) (*.f64 (-.f64 y z) 2)) (*.f64 2 (+.f64 z z))) 4) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(pow.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(neg.f64 (-.f64 (*.f64 x (-.f64 z y)) z)) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (neg.f64 x)) z)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 (neg.f64 x) z))) |
(+.f64 z (*.f64 x (+.f64 y (neg.f64 z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (*.f64 (-.f64 1 x) z) |
Compiled 27 to 14 computations (48.1% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | x | @ | inf | (*.f64 (-.f64 1 x) z) |
| 0.0ms | z | @ | 0 | (*.f64 (-.f64 1 x) z) |
| 0.0ms | z | @ | inf | (*.f64 (-.f64 1 x) z) |
| 0.0ms | z | @ | -inf | (*.f64 (-.f64 1 x) z) |
| 0.0ms | x | @ | 0 | (*.f64 (-.f64 1 x) z) |
| 1× | batch-egg-rewrite |
| 914× | rational_best-simplify-55 |
| 820× | rational_best-simplify-47 |
| 758× | rational_best-simplify-62 |
| 746× | rational_best-simplify-49 |
| 728× | rational_best-simplify-57 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 13 |
| 1 | 44 | 13 |
| 2 | 110 | 13 |
| 3 | 483 | 13 |
| 4 | 1926 | 13 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (-.f64 1 x) z) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 z (*.f64 x (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 z (*.f64 x z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 z (*.f64 x z)) (+.f64 (*.f64 (-.f64 1 x) (*.f64 z -2)) (*.f64 (-.f64 1 x) (+.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 z (*.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 z z) (-.f64 (neg.f64 z) (*.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 1 x) (+.f64 z z)) (-.f64 (*.f64 x z) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x z) z) (*.f64 (-.f64 1 x) (+.f64 z z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 z) (+.f64 (*.f64 x z) (*.f64 (-.f64 1 x) (+.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 z) (+.f64 (+.f64 z z) (*.f64 x (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x z) (+.f64 (neg.f64 z) (*.f64 (-.f64 1 x) (+.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (neg.f64 z)) z)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z 1/2) (-.f64 (*.f64 z 1/2) (*.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z 1/2) (+.f64 (*.f64 z 1/2) (*.f64 x (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 1 x) (*.f64 z 1/2)) (*.f64 (-.f64 1 x) (*.f64 z 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x (neg.f64 z)) (*.f64 x (neg.f64 z))) (-.f64 (*.f64 x z) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z -1/2) (+.f64 (-.f64 (*.f64 x z) (*.f64 z 1/2)) (*.f64 (-.f64 1 x) (+.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z -1/2) (+.f64 (+.f64 z (*.f64 z 1/2)) (*.f64 x (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 z -1/2)) (+.f64 (*.f64 z 1/2) (*.f64 (-.f64 1 x) (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 z -1/2)) (+.f64 (*.f64 x (*.f64 z -1/2)) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 1 x) (*.f64 z -1/2)) (+.f64 (*.f64 (-.f64 1 x) (*.f64 z -1/2)) (*.f64 (-.f64 1 x) (+.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (-.f64 z (*.f64 x z)) 4) (+.f64 (/.f64 (-.f64 z (*.f64 x z)) 4) (*.f64 (-.f64 1 x) (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 z (*.f64 (-.f64 1 x) (*.f64 z 1/2))) (-.f64 (*.f64 (-.f64 1 x) (*.f64 z 1/2)) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (-.f64 1 x) (*.f64 (-.f64 1 x) (*.f64 z 1/2))) (-.f64 x (-.f64 1 (*.f64 (-.f64 1 x) (*.f64 z 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 z 1/2) (*.f64 x z)) (*.f64 z 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (-.f64 1 (*.f64 (-.f64 1 x) (*.f64 z 1/2)))) (+.f64 (-.f64 1 x) (*.f64 (-.f64 1 x) (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (-.f64 1 (*.f64 (-.f64 1 x) (*.f64 z 1/2)))) (+.f64 (+.f64 (-.f64 1 x) (*.f64 (-.f64 1 x) (*.f64 z 1/2))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 (-.f64 1 x) (*.f64 z 1/2)) z) (+.f64 z (*.f64 (-.f64 1 x) (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 (-.f64 1 x) (*.f64 z 1/2)) z) (+.f64 (+.f64 z (*.f64 (-.f64 1 x) (*.f64 z 1/2))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (-.f64 1 (*.f64 z 1/2))) (+.f64 (+.f64 (-.f64 1 x) (*.f64 z 1/2)) (*.f64 x (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x z) (neg.f64 z)) (+.f64 (*.f64 x (neg.f64 z)) (*.f64 x (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x z) (neg.f64 z)) (+.f64 (+.f64 (*.f64 x (neg.f64 z)) (*.f64 x (neg.f64 z))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (neg.f64 z) (*.f64 x z)) (+.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (neg.f64 z) (*.f64 x z)) (+.f64 (*.f64 x (+.f64 z z)) (*.f64 (-.f64 1 x) (+.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 1 (+.f64 (+.f64 (-.f64 1 x) (-.f64 (*.f64 x z) z)) x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 1 x) (+.f64 (-.f64 1 x) (-.f64 (*.f64 x z) z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 1 x) (+.f64 (+.f64 (-.f64 1 x) (-.f64 (*.f64 x z) z)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 1 x) (+.f64 (*.f64 x z) (-.f64 (-.f64 1 z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 1 x) (+.f64 (*.f64 (-.f64 1 x) (*.f64 z -2)) (+.f64 (-.f64 1 x) (-.f64 z (*.f64 x z)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 z (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 z (+.f64 (-.f64 (*.f64 x z) (neg.f64 z)) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 z (+.f64 (*.f64 (-.f64 1 x) (*.f64 z -2)) (-.f64 (+.f64 z z) (*.f64 x z))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 z (*.f64 x z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 z (*.f64 x z)) (-.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (*.f64 x z) z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (+.f64 (+.f64 (-.f64 1 x) (-.f64 (*.f64 x z) z)) (+.f64 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (+.f64 (-.f64 (*.f64 x z) (neg.f64 z)) (*.f64 z -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 z z) (-.f64 (*.f64 x z) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 z z) (+.f64 (-.f64 (*.f64 x z) (neg.f64 z)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 1 x) (+.f64 z z)) (-.f64 z (*.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 1 x) (+.f64 z z)) (-.f64 (+.f64 (*.f64 x (neg.f64 z)) (*.f64 x z)) (-.f64 (*.f64 x z) z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 x z) z) (*.f64 (-.f64 1 x) (*.f64 z -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 x) (+.f64 (+.f64 (-.f64 1 x) (-.f64 (*.f64 x z) z)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 z) (-.f64 0 (-.f64 (+.f64 z z) (*.f64 x z))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 z) (+.f64 (*.f64 (-.f64 1 x) (*.f64 z -2)) (*.f64 x (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x z) (+.f64 (*.f64 (-.f64 1 x) (*.f64 z -2)) z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (neg.f64 z)) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 z 1/2) (-.f64 (*.f64 x z) (*.f64 z 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 z 1/2) (+.f64 (-.f64 (*.f64 x z) (neg.f64 z)) (-.f64 (*.f64 z -1/2) z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 z 1/2) (+.f64 (*.f64 (-.f64 1 x) (*.f64 z -1/2)) (*.f64 x (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1/2 (*.f64 x -1/2)) (+.f64 (+.f64 (-.f64 1 x) (-.f64 (*.f64 x z) z)) (-.f64 -1/2 (*.f64 x -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 1 x) (*.f64 z 1/2)) (*.f64 (-.f64 1 x) (*.f64 z -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 1 x) (*.f64 z 1/2)) (+.f64 (*.f64 (-.f64 1 x) (*.f64 z -1/2)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 1 x) (*.f64 z 1/2)) (-.f64 z (+.f64 z (*.f64 (-.f64 1 x) (*.f64 z 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 1 x) (*.f64 z 1/2)) (-.f64 (-.f64 1 x) (+.f64 (-.f64 1 x) (*.f64 (-.f64 1 x) (*.f64 z 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (+.f64 z z) (*.f64 x z)) z)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (+.f64 z z) (*.f64 x z)) (-.f64 (*.f64 x z) (-.f64 (*.f64 x z) z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 z (*.f64 z 1/2)) (+.f64 (-.f64 (*.f64 x z) (neg.f64 z)) (*.f64 z -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (-.f64 1 x) (-.f64 (*.f64 x z) z)) (+.f64 (*.f64 (-.f64 1 x) (*.f64 z -2)) (-.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (-.f64 1 z) x) (-.f64 (-.f64 1 x) (-.f64 (+.f64 z z) (*.f64 x z))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (-.f64 1 x) (-.f64 z (*.f64 x z))) (-.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 x z) (*.f64 z 1/2)) (+.f64 (*.f64 (-.f64 1 x) (*.f64 z -2)) (*.f64 z 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 1 (*.f64 x 1/2)) (+.f64 (+.f64 (-.f64 1 x) (-.f64 (*.f64 x z) z)) (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 1 x) (*.f64 z -1/2)) (+.f64 (*.f64 (-.f64 1 x) (*.f64 z -2)) (*.f64 (-.f64 1 x) (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 z (*.f64 (-.f64 1 x) (*.f64 z 1/2))) (-.f64 z (*.f64 (-.f64 1 x) (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (-.f64 1 x) (*.f64 (-.f64 1 x) (*.f64 z 1/2))) (-.f64 (-.f64 1 x) (*.f64 (-.f64 1 x) (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 z 1/2) (*.f64 x z)) (*.f64 z -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 z (+.f64 (-.f64 1 x) (*.f64 x z))) (+.f64 x -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 x z) (neg.f64 z)) (*.f64 x (+.f64 z z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 z (*.f64 x z)) (*.f64 x (+.f64 z z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (neg.f64 z) (*.f64 x z)) (*.f64 z -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z)) (-.f64 (*.f64 x z) z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 1 (+.f64 (-.f64 1 x) (-.f64 (*.f64 x z) z))) x)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (neg.f64 x) (+.f64 (-.f64 1 x) (-.f64 (*.f64 x z) z))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (+.f64 1/2 (*.f64 x -1/2)) (+.f64 (-.f64 1 x) (-.f64 (*.f64 x z) z))) (-.f64 -1/2 (*.f64 x -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (-.f64 1 (*.f64 x 1/2)) (+.f64 (-.f64 1 x) (-.f64 (*.f64 x z) z))) (*.f64 x 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (-.f64 1 x) (*.f64 x z)) (-.f64 (-.f64 1 z) x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 z (-.f64 (*.f64 x z) (neg.f64 z))) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 z 1/2) (-.f64 (*.f64 x z) (neg.f64 z))) (-.f64 (*.f64 z -1/2) z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (+.f64 z (*.f64 z 1/2)) (-.f64 (*.f64 x z) (neg.f64 z))) (*.f64 z -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (-.f64 1 x) (*.f64 (-.f64 1 x) (*.f64 z -2))) (+.f64 (-.f64 1 x) (-.f64 z (*.f64 x z))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 z (*.f64 (-.f64 1 x) (*.f64 z -2))) (-.f64 (+.f64 z z) (*.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (neg.f64 z) (*.f64 (-.f64 1 x) (*.f64 z -2))) (*.f64 x (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 (-.f64 1 x) (*.f64 z -1/2)) (*.f64 (-.f64 1 x) (*.f64 z -2))) (*.f64 (-.f64 1 x) (*.f64 z 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (-.f64 (*.f64 x z) (*.f64 z 1/2)) (*.f64 (-.f64 1 x) (*.f64 z -2))) (*.f64 z 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 z 1/2) (*.f64 (-.f64 1 x) (*.f64 z -1/2))) (*.f64 x (*.f64 z 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 z (*.f64 x (*.f64 z 1/2))) (*.f64 x (*.f64 z 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (-.f64 (+.f64 z z) (*.f64 x z)) (neg.f64 z)) (+.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (-.f64 (+.f64 z z) (*.f64 x z)) (*.f64 z 1/2)) (*.f64 z 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (-.f64 (+.f64 z z) (*.f64 x z)) (*.f64 z -1/2)) (+.f64 z (*.f64 z 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (-.f64 (+.f64 z z) (*.f64 x z)) (-.f64 x (-.f64 1 (*.f64 z 1/2)))) (+.f64 (-.f64 1 x) (*.f64 z 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (+.f64 z (*.f64 x z)) (*.f64 x z)) (*.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 z (*.f64 x z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 x) (+.f64 z z)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x z) z) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 x) (*.f64 z 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (-.f64 1 x) (*.f64 z 4)) (*.f64 (-.f64 1 x) (*.f64 z 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x -1) (*.f64 z 4)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 x) (*.f64 z -2)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 2 (+.f64 x x)) (*.f64 z 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (+.f64 (*.f64 (-.f64 1 x) (*.f64 z 4)) (*.f64 (-.f64 1 x) (*.f64 z 4))) (+.f64 (*.f64 (-.f64 1 x) (*.f64 z 4)) (*.f64 (-.f64 1 x) (*.f64 z 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (+.f64 x -1) (*.f64 z 4)) (*.f64 (+.f64 x -1) (*.f64 z 4))) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 x z) z) 2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (-.f64 1 x) (*.f64 z -1/2)) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (-.f64 1 x) 4) (*.f64 z 1/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 (-.f64 1 x) 4) (*.f64 (-.f64 1 x) 4)) (*.f64 z 1/2)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (*.f64 (-.f64 1 x) 4)) (*.f64 z 1/2)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (*.f64 z 4)) (+.f64 x -1)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (*.f64 (-.f64 1 x) 4)) (neg.f64 z)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 z 4) (+.f64 1/2 (*.f64 x -1/2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 z 4) (*.f64 z 4)) (+.f64 1/2 (*.f64 x -1/2))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (*.f64 z 4)) (+.f64 1/2 (*.f64 x -1/2))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 z 4) (*.f64 z 4)) (-.f64 1 x)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (*.f64 z 4)) (-.f64 1 x)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 (-.f64 1 x) 4) (*.f64 (-.f64 1 x) 4)) z) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (*.f64 (-.f64 1 x) 4)) z) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (-.f64 1 x) (*.f64 z 4)) 2) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (-.f64 1 x) (*.f64 z -2)) 2) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (+.f64 x -1) (*.f64 z 4)) -1) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 z (*.f64 x z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (*.f64 x z) z)))))) |
| 1× | egg-herbie |
| 1106× | rational_best-simplify-65 |
| 1008× | rational_best-simplify-3 |
| 894× | rational_best-simplify-61 |
| 818× | rational_best-simplify-63 |
| 796× | rational_best-simplify-53 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 297 | 2810 |
| 1 | 927 | 2186 |
| 2 | 2868 | 2122 |
| 1× | node limit |
| Inputs |
|---|
z |
(+.f64 (*.f64 -1 (*.f64 z x)) z) |
(+.f64 (*.f64 -1 (*.f64 z x)) z) |
(+.f64 (*.f64 -1 (*.f64 z x)) z) |
(*.f64 -1 (*.f64 z x)) |
(+.f64 z (*.f64 -1 (*.f64 z x))) |
(+.f64 z (*.f64 -1 (*.f64 z x))) |
(+.f64 z (*.f64 -1 (*.f64 z x))) |
(*.f64 -1 (*.f64 z x)) |
(+.f64 z (*.f64 -1 (*.f64 z x))) |
(+.f64 z (*.f64 -1 (*.f64 z x))) |
(+.f64 z (*.f64 -1 (*.f64 z x))) |
(*.f64 z (-.f64 1 x)) |
(*.f64 z (-.f64 1 x)) |
(*.f64 z (-.f64 1 x)) |
(*.f64 z (-.f64 1 x)) |
(*.f64 z (-.f64 1 x)) |
(*.f64 z (-.f64 1 x)) |
(*.f64 z (-.f64 1 x)) |
(*.f64 z (-.f64 1 x)) |
(*.f64 z (-.f64 1 x)) |
(*.f64 z (-.f64 1 x)) |
(*.f64 z (-.f64 1 x)) |
(*.f64 z (-.f64 1 x)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(+.f64 (-.f64 z (*.f64 x z)) 0) |
(+.f64 (-.f64 z (*.f64 x z)) (+.f64 (*.f64 (-.f64 1 x) (*.f64 z -2)) (*.f64 (-.f64 1 x) (+.f64 z z)))) |
(+.f64 0 (-.f64 z (*.f64 x z))) |
(+.f64 (+.f64 z z) (-.f64 (neg.f64 z) (*.f64 x z))) |
(+.f64 (*.f64 (-.f64 1 x) (+.f64 z z)) (-.f64 (*.f64 x z) z)) |
(+.f64 (-.f64 (*.f64 x z) z) (*.f64 (-.f64 1 x) (+.f64 z z))) |
(+.f64 (neg.f64 z) (+.f64 (*.f64 x z) (*.f64 (-.f64 1 x) (+.f64 z z)))) |
(+.f64 (neg.f64 z) (+.f64 (+.f64 z z) (*.f64 x (neg.f64 z)))) |
(+.f64 (*.f64 x z) (+.f64 (neg.f64 z) (*.f64 (-.f64 1 x) (+.f64 z z)))) |
(+.f64 (*.f64 x (neg.f64 z)) z) |
(+.f64 (*.f64 z 1/2) (-.f64 (*.f64 z 1/2) (*.f64 x z))) |
(+.f64 (*.f64 z 1/2) (+.f64 (*.f64 z 1/2) (*.f64 x (neg.f64 z)))) |
(+.f64 (*.f64 (-.f64 1 x) (*.f64 z 1/2)) (*.f64 (-.f64 1 x) (*.f64 z 1/2))) |
(+.f64 (+.f64 (*.f64 x (neg.f64 z)) (*.f64 x (neg.f64 z))) (-.f64 (*.f64 x z) (neg.f64 z))) |
(+.f64 (*.f64 z -1/2) (+.f64 (-.f64 (*.f64 x z) (*.f64 z 1/2)) (*.f64 (-.f64 1 x) (+.f64 z z)))) |
(+.f64 (*.f64 z -1/2) (+.f64 (+.f64 z (*.f64 z 1/2)) (*.f64 x (neg.f64 z)))) |
(+.f64 (*.f64 x (*.f64 z -1/2)) (+.f64 (*.f64 z 1/2) (*.f64 (-.f64 1 x) (*.f64 z 1/2)))) |
(+.f64 (*.f64 x (*.f64 z -1/2)) (+.f64 (*.f64 x (*.f64 z -1/2)) z)) |
(+.f64 (*.f64 (-.f64 1 x) (*.f64 z -1/2)) (+.f64 (*.f64 (-.f64 1 x) (*.f64 z -1/2)) (*.f64 (-.f64 1 x) (+.f64 z z)))) |
(+.f64 (/.f64 (-.f64 z (*.f64 x z)) 4) (+.f64 (/.f64 (-.f64 z (*.f64 x z)) 4) (*.f64 (-.f64 1 x) (*.f64 z 1/2)))) |
(+.f64 (+.f64 z (*.f64 (-.f64 1 x) (*.f64 z 1/2))) (-.f64 (*.f64 (-.f64 1 x) (*.f64 z 1/2)) z)) |
(+.f64 (+.f64 (-.f64 1 x) (*.f64 (-.f64 1 x) (*.f64 z 1/2))) (-.f64 x (-.f64 1 (*.f64 (-.f64 1 x) (*.f64 z 1/2))))) |
(+.f64 (-.f64 (*.f64 z 1/2) (*.f64 x z)) (*.f64 z 1/2)) |
(+.f64 (-.f64 x (-.f64 1 (*.f64 (-.f64 1 x) (*.f64 z 1/2)))) (+.f64 (-.f64 1 x) (*.f64 (-.f64 1 x) (*.f64 z 1/2)))) |
(+.f64 (-.f64 x (-.f64 1 (*.f64 (-.f64 1 x) (*.f64 z 1/2)))) (+.f64 (+.f64 (-.f64 1 x) (*.f64 (-.f64 1 x) (*.f64 z 1/2))) 0)) |
(+.f64 (-.f64 (*.f64 (-.f64 1 x) (*.f64 z 1/2)) z) (+.f64 z (*.f64 (-.f64 1 x) (*.f64 z 1/2)))) |
(+.f64 (-.f64 (*.f64 (-.f64 1 x) (*.f64 z 1/2)) z) (+.f64 (+.f64 z (*.f64 (-.f64 1 x) (*.f64 z 1/2))) 0)) |
(+.f64 (-.f64 x (-.f64 1 (*.f64 z 1/2))) (+.f64 (+.f64 (-.f64 1 x) (*.f64 z 1/2)) (*.f64 x (neg.f64 z)))) |
(+.f64 (-.f64 (*.f64 x z) (neg.f64 z)) (+.f64 (*.f64 x (neg.f64 z)) (*.f64 x (neg.f64 z)))) |
(+.f64 (-.f64 (*.f64 x z) (neg.f64 z)) (+.f64 (+.f64 (*.f64 x (neg.f64 z)) (*.f64 x (neg.f64 z))) 0)) |
(+.f64 (-.f64 (neg.f64 z) (*.f64 x z)) (+.f64 z z)) |
(+.f64 (-.f64 (neg.f64 z) (*.f64 x z)) (+.f64 (*.f64 x (+.f64 z z)) (*.f64 (-.f64 1 x) (+.f64 z z)))) |
(-.f64 1 (+.f64 (+.f64 (-.f64 1 x) (-.f64 (*.f64 x z) z)) x)) |
(-.f64 (-.f64 1 x) (+.f64 (-.f64 1 x) (-.f64 (*.f64 x z) z))) |
(-.f64 (-.f64 1 x) (+.f64 (+.f64 (-.f64 1 x) (-.f64 (*.f64 x z) z)) 0)) |
(-.f64 (-.f64 1 x) (+.f64 (*.f64 x z) (-.f64 (-.f64 1 z) x))) |
(-.f64 (-.f64 1 x) (+.f64 (*.f64 (-.f64 1 x) (*.f64 z -2)) (+.f64 (-.f64 1 x) (-.f64 z (*.f64 x z))))) |
(-.f64 z (*.f64 x z)) |
(-.f64 z (+.f64 (-.f64 (*.f64 x z) (neg.f64 z)) (neg.f64 z))) |
(-.f64 z (+.f64 (*.f64 (-.f64 1 x) (*.f64 z -2)) (-.f64 (+.f64 z z) (*.f64 x z)))) |
(-.f64 (-.f64 z (*.f64 x z)) 0) |
(-.f64 (-.f64 z (*.f64 x z)) (-.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z))) |
(-.f64 0 (-.f64 (*.f64 x z) z)) |
(-.f64 0 (+.f64 (+.f64 (-.f64 1 x) (-.f64 (*.f64 x z) z)) (+.f64 x -1))) |
(-.f64 0 (+.f64 (-.f64 (*.f64 x z) (neg.f64 z)) (*.f64 z -2))) |
(-.f64 (+.f64 z z) (-.f64 (*.f64 x z) (neg.f64 z))) |
(-.f64 (+.f64 z z) (+.f64 (-.f64 (*.f64 x z) (neg.f64 z)) 0)) |
(-.f64 (*.f64 (-.f64 1 x) (+.f64 z z)) (-.f64 z (*.f64 x z))) |
(-.f64 (*.f64 (-.f64 1 x) (+.f64 z z)) (-.f64 (+.f64 (*.f64 x (neg.f64 z)) (*.f64 x z)) (-.f64 (*.f64 x z) z))) |
(-.f64 (-.f64 (*.f64 x z) z) (*.f64 (-.f64 1 x) (*.f64 z -2))) |
(-.f64 (neg.f64 x) (+.f64 (+.f64 (-.f64 1 x) (-.f64 (*.f64 x z) z)) -1)) |
(-.f64 (neg.f64 z) (-.f64 0 (-.f64 (+.f64 z z) (*.f64 x z)))) |
(-.f64 (neg.f64 z) (+.f64 (*.f64 (-.f64 1 x) (*.f64 z -2)) (*.f64 x (neg.f64 z)))) |
(-.f64 (*.f64 x z) (+.f64 (*.f64 (-.f64 1 x) (*.f64 z -2)) z)) |
(-.f64 (*.f64 x (neg.f64 z)) (neg.f64 z)) |
(-.f64 (*.f64 z 1/2) (-.f64 (*.f64 x z) (*.f64 z 1/2))) |
(-.f64 (*.f64 z 1/2) (+.f64 (-.f64 (*.f64 x z) (neg.f64 z)) (-.f64 (*.f64 z -1/2) z))) |
(-.f64 (*.f64 z 1/2) (+.f64 (*.f64 (-.f64 1 x) (*.f64 z -1/2)) (*.f64 x (*.f64 z 1/2)))) |
(-.f64 (+.f64 1/2 (*.f64 x -1/2)) (+.f64 (+.f64 (-.f64 1 x) (-.f64 (*.f64 x z) z)) (-.f64 -1/2 (*.f64 x -1/2)))) |
(-.f64 (*.f64 (-.f64 1 x) (*.f64 z 1/2)) (*.f64 (-.f64 1 x) (*.f64 z -1/2))) |
(-.f64 (*.f64 (-.f64 1 x) (*.f64 z 1/2)) (+.f64 (*.f64 (-.f64 1 x) (*.f64 z -1/2)) 0)) |
(-.f64 (*.f64 (-.f64 1 x) (*.f64 z 1/2)) (-.f64 z (+.f64 z (*.f64 (-.f64 1 x) (*.f64 z 1/2))))) |
(-.f64 (*.f64 (-.f64 1 x) (*.f64 z 1/2)) (-.f64 (-.f64 1 x) (+.f64 (-.f64 1 x) (*.f64 (-.f64 1 x) (*.f64 z 1/2))))) |
(-.f64 (-.f64 (+.f64 z z) (*.f64 x z)) z) |
(-.f64 (-.f64 (+.f64 z z) (*.f64 x z)) (-.f64 (*.f64 x z) (-.f64 (*.f64 x z) z))) |
(-.f64 (+.f64 z (*.f64 z 1/2)) (+.f64 (-.f64 (*.f64 x z) (neg.f64 z)) (*.f64 z -1/2))) |
(-.f64 (+.f64 (-.f64 1 x) (-.f64 (*.f64 x z) z)) (+.f64 (*.f64 (-.f64 1 x) (*.f64 z -2)) (-.f64 1 x))) |
(-.f64 (-.f64 (-.f64 1 z) x) (-.f64 (-.f64 1 x) (-.f64 (+.f64 z z) (*.f64 x z)))) |
(-.f64 (+.f64 (-.f64 1 x) (-.f64 z (*.f64 x z))) (-.f64 1 x)) |
(-.f64 (-.f64 (*.f64 x z) (*.f64 z 1/2)) (+.f64 (*.f64 (-.f64 1 x) (*.f64 z -2)) (*.f64 z 1/2))) |
(-.f64 (-.f64 1 (*.f64 x 1/2)) (+.f64 (+.f64 (-.f64 1 x) (-.f64 (*.f64 x z) z)) (*.f64 x 1/2))) |
(-.f64 (*.f64 (-.f64 1 x) (*.f64 z -1/2)) (+.f64 (*.f64 (-.f64 1 x) (*.f64 z -2)) (*.f64 (-.f64 1 x) (*.f64 z 1/2)))) |
(-.f64 (+.f64 z (*.f64 (-.f64 1 x) (*.f64 z 1/2))) (-.f64 z (*.f64 (-.f64 1 x) (*.f64 z 1/2)))) |
(-.f64 (+.f64 (-.f64 1 x) (*.f64 (-.f64 1 x) (*.f64 z 1/2))) (-.f64 (-.f64 1 x) (*.f64 (-.f64 1 x) (*.f64 z 1/2)))) |
(-.f64 (-.f64 (*.f64 z 1/2) (*.f64 x z)) (*.f64 z -1/2)) |
(-.f64 (-.f64 z (+.f64 (-.f64 1 x) (*.f64 x z))) (+.f64 x -1)) |
(-.f64 (-.f64 (*.f64 x z) (neg.f64 z)) (*.f64 x (+.f64 z z))) |
(-.f64 (+.f64 z (*.f64 x z)) (*.f64 x (+.f64 z z))) |
(-.f64 (-.f64 (neg.f64 z) (*.f64 x z)) (*.f64 z -2)) |
(-.f64 (-.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z)) (-.f64 (*.f64 x z) z)) |
(-.f64 (-.f64 1 (+.f64 (-.f64 1 x) (-.f64 (*.f64 x z) z))) x) |
(-.f64 (-.f64 (neg.f64 x) (+.f64 (-.f64 1 x) (-.f64 (*.f64 x z) z))) -1) |
(-.f64 (-.f64 (+.f64 1/2 (*.f64 x -1/2)) (+.f64 (-.f64 1 x) (-.f64 (*.f64 x z) z))) (-.f64 -1/2 (*.f64 x -1/2))) |
(-.f64 (-.f64 (-.f64 1 (*.f64 x 1/2)) (+.f64 (-.f64 1 x) (-.f64 (*.f64 x z) z))) (*.f64 x 1/2)) |
(-.f64 (-.f64 (-.f64 1 x) (*.f64 x z)) (-.f64 (-.f64 1 z) x)) |
(-.f64 (-.f64 z (-.f64 (*.f64 x z) (neg.f64 z))) (neg.f64 z)) |
(-.f64 (-.f64 (*.f64 z 1/2) (-.f64 (*.f64 x z) (neg.f64 z))) (-.f64 (*.f64 z -1/2) z)) |
(-.f64 (-.f64 (+.f64 z (*.f64 z 1/2)) (-.f64 (*.f64 x z) (neg.f64 z))) (*.f64 z -1/2)) |
(-.f64 (-.f64 (-.f64 1 x) (*.f64 (-.f64 1 x) (*.f64 z -2))) (+.f64 (-.f64 1 x) (-.f64 z (*.f64 x z)))) |
(-.f64 (-.f64 z (*.f64 (-.f64 1 x) (*.f64 z -2))) (-.f64 (+.f64 z z) (*.f64 x z))) |
(-.f64 (-.f64 (neg.f64 z) (*.f64 (-.f64 1 x) (*.f64 z -2))) (*.f64 x (neg.f64 z))) |
(-.f64 (-.f64 (*.f64 (-.f64 1 x) (*.f64 z -1/2)) (*.f64 (-.f64 1 x) (*.f64 z -2))) (*.f64 (-.f64 1 x) (*.f64 z 1/2))) |
(-.f64 (-.f64 (-.f64 (*.f64 x z) (*.f64 z 1/2)) (*.f64 (-.f64 1 x) (*.f64 z -2))) (*.f64 z 1/2)) |
(-.f64 (-.f64 (*.f64 z 1/2) (*.f64 (-.f64 1 x) (*.f64 z -1/2))) (*.f64 x (*.f64 z 1/2))) |
(-.f64 (-.f64 z (*.f64 x (*.f64 z 1/2))) (*.f64 x (*.f64 z 1/2))) |
(-.f64 (-.f64 (-.f64 (+.f64 z z) (*.f64 x z)) (neg.f64 z)) (+.f64 z z)) |
(-.f64 (-.f64 (-.f64 (+.f64 z z) (*.f64 x z)) (*.f64 z 1/2)) (*.f64 z 1/2)) |
(-.f64 (-.f64 (-.f64 (+.f64 z z) (*.f64 x z)) (*.f64 z -1/2)) (+.f64 z (*.f64 z 1/2))) |
(-.f64 (-.f64 (-.f64 (+.f64 z z) (*.f64 x z)) (-.f64 x (-.f64 1 (*.f64 z 1/2)))) (+.f64 (-.f64 1 x) (*.f64 z 1/2))) |
(-.f64 (-.f64 (+.f64 z (*.f64 x z)) (*.f64 x z)) (*.f64 x z)) |
(/.f64 (-.f64 z (*.f64 x z)) 1) |
(/.f64 (*.f64 (-.f64 1 x) (+.f64 z z)) 2) |
(/.f64 (-.f64 (*.f64 x z) z) -1) |
(/.f64 (*.f64 (-.f64 1 x) (*.f64 z 4)) 4) |
(/.f64 (+.f64 (*.f64 (-.f64 1 x) (*.f64 z 4)) (*.f64 (-.f64 1 x) (*.f64 z 4))) 8) |
(/.f64 (*.f64 (+.f64 x -1) (*.f64 z 4)) -4) |
(/.f64 (*.f64 (-.f64 1 x) (*.f64 z -2)) -2) |
(/.f64 (*.f64 (-.f64 2 (+.f64 x x)) (*.f64 z 4)) 8) |
(/.f64 (+.f64 (+.f64 (*.f64 (-.f64 1 x) (*.f64 z 4)) (*.f64 (-.f64 1 x) (*.f64 z 4))) (+.f64 (*.f64 (-.f64 1 x) (*.f64 z 4)) (*.f64 (-.f64 1 x) (*.f64 z 4)))) 16) |
(/.f64 (+.f64 (*.f64 (+.f64 x -1) (*.f64 z 4)) (*.f64 (+.f64 x -1) (*.f64 z 4))) -8) |
(/.f64 (*.f64 (-.f64 (*.f64 x z) z) 2) -2) |
(/.f64 (*.f64 (*.f64 (-.f64 1 x) (*.f64 z -1/2)) 2) -1) |
(/.f64 (*.f64 (*.f64 (-.f64 1 x) 4) (*.f64 z 1/2)) 2) |
(/.f64 (*.f64 (+.f64 (*.f64 (-.f64 1 x) 4) (*.f64 (-.f64 1 x) 4)) (*.f64 z 1/2)) 4) |
(/.f64 (*.f64 (neg.f64 (*.f64 (-.f64 1 x) 4)) (*.f64 z 1/2)) -2) |
(/.f64 (*.f64 (neg.f64 (*.f64 z 4)) (+.f64 x -1)) 4) |
(/.f64 (*.f64 (neg.f64 (*.f64 (-.f64 1 x) 4)) (neg.f64 z)) 4) |
(/.f64 (*.f64 (*.f64 z 4) (+.f64 1/2 (*.f64 x -1/2))) 2) |
(/.f64 (*.f64 (+.f64 (*.f64 z 4) (*.f64 z 4)) (+.f64 1/2 (*.f64 x -1/2))) 4) |
(/.f64 (*.f64 (neg.f64 (*.f64 z 4)) (+.f64 1/2 (*.f64 x -1/2))) -2) |
(/.f64 (*.f64 (+.f64 (*.f64 z 4) (*.f64 z 4)) (-.f64 1 x)) 8) |
(/.f64 (*.f64 (neg.f64 (*.f64 z 4)) (-.f64 1 x)) -4) |
(/.f64 (*.f64 (+.f64 (*.f64 (-.f64 1 x) 4) (*.f64 (-.f64 1 x) 4)) z) 8) |
(/.f64 (*.f64 (neg.f64 (*.f64 (-.f64 1 x) 4)) z) -4) |
(/.f64 (*.f64 (*.f64 (-.f64 1 x) (*.f64 z 4)) 2) 8) |
(/.f64 (*.f64 (*.f64 (-.f64 1 x) (*.f64 z -2)) 2) -4) |
(/.f64 (*.f64 (*.f64 (+.f64 x -1) (*.f64 z 4)) -1) 4) |
(pow.f64 (-.f64 z (*.f64 x z)) 1) |
(neg.f64 (-.f64 (*.f64 x z) z)) |
| Outputs |
|---|
z |
(+.f64 (*.f64 -1 (*.f64 z x)) z) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 z x)) z) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 z x)) z) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(*.f64 -1 (*.f64 z x)) |
(*.f64 x (neg.f64 z)) |
(*.f64 z (neg.f64 x)) |
(+.f64 z (*.f64 -1 (*.f64 z x))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 z (*.f64 -1 (*.f64 z x))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 z (*.f64 -1 (*.f64 z x))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(*.f64 -1 (*.f64 z x)) |
(*.f64 x (neg.f64 z)) |
(*.f64 z (neg.f64 x)) |
(+.f64 z (*.f64 -1 (*.f64 z x))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 z (*.f64 -1 (*.f64 z x))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 z (*.f64 -1 (*.f64 z x))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(*.f64 z (-.f64 1 x)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(*.f64 z (-.f64 1 x)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(*.f64 z (-.f64 1 x)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(*.f64 z (-.f64 1 x)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(*.f64 z (-.f64 1 x)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(*.f64 z (-.f64 1 x)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(*.f64 z (-.f64 1 x)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(*.f64 z (-.f64 1 x)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(*.f64 z (-.f64 1 x)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(*.f64 z (-.f64 1 x)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(*.f64 z (-.f64 1 x)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(*.f64 z (-.f64 1 x)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (-.f64 z (*.f64 x z)) 0) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (-.f64 z (*.f64 x z)) (+.f64 (*.f64 (-.f64 1 x) (*.f64 z -2)) (*.f64 (-.f64 1 x) (+.f64 z z)))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 0 (-.f64 z (*.f64 x z))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (+.f64 z z) (-.f64 (neg.f64 z) (*.f64 x z))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (*.f64 (-.f64 1 x) (+.f64 z z)) (-.f64 (*.f64 x z) z)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (-.f64 (*.f64 x z) z) (*.f64 (-.f64 1 x) (+.f64 z z))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (neg.f64 z) (+.f64 (*.f64 x z) (*.f64 (-.f64 1 x) (+.f64 z z)))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (neg.f64 z) (+.f64 (+.f64 z z) (*.f64 x (neg.f64 z)))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (*.f64 x z) (+.f64 (neg.f64 z) (*.f64 (-.f64 1 x) (+.f64 z z)))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (*.f64 x (neg.f64 z)) z) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (*.f64 z 1/2) (-.f64 (*.f64 z 1/2) (*.f64 x z))) |
(+.f64 (*.f64 z 1/2) (-.f64 (*.f64 z 1/2) (*.f64 z x))) |
(+.f64 (*.f64 z 1/2) (*.f64 z (-.f64 1/2 x))) |
(+.f64 (*.f64 z 1/2) (+.f64 (*.f64 z 1/2) (*.f64 x (neg.f64 z)))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (*.f64 (-.f64 1 x) (*.f64 z 1/2)) (*.f64 (-.f64 1 x) (*.f64 z 1/2))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (+.f64 (*.f64 x (neg.f64 z)) (*.f64 x (neg.f64 z))) (-.f64 (*.f64 x z) (neg.f64 z))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (*.f64 z -1/2) (+.f64 (-.f64 (*.f64 x z) (*.f64 z 1/2)) (*.f64 (-.f64 1 x) (+.f64 z z)))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (*.f64 z -1/2) (+.f64 (+.f64 z (*.f64 z 1/2)) (*.f64 x (neg.f64 z)))) |
(+.f64 (*.f64 x (neg.f64 z)) (+.f64 (+.f64 z (*.f64 z 1/2)) (*.f64 z -1/2))) |
(+.f64 (*.f64 z -1/2) (+.f64 (*.f64 z 1/2) (-.f64 z (*.f64 z x)))) |
(+.f64 (*.f64 z -1/2) (+.f64 (-.f64 z (*.f64 z x)) (*.f64 z 1/2))) |
(+.f64 (*.f64 x (*.f64 z -1/2)) (+.f64 (*.f64 z 1/2) (*.f64 (-.f64 1 x) (*.f64 z 1/2)))) |
(+.f64 (*.f64 z 1/2) (+.f64 (*.f64 z (*.f64 1/2 (-.f64 1 x))) (*.f64 x (*.f64 z -1/2)))) |
(+.f64 (*.f64 z 1/2) (*.f64 -1/2 (+.f64 (neg.f64 z) (*.f64 z (+.f64 x x))))) |
(+.f64 (*.f64 x (*.f64 z -1/2)) (+.f64 (*.f64 x (*.f64 z -1/2)) z)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (*.f64 (-.f64 1 x) (*.f64 z -1/2)) (+.f64 (*.f64 (-.f64 1 x) (*.f64 z -1/2)) (*.f64 (-.f64 1 x) (+.f64 z z)))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (/.f64 (-.f64 z (*.f64 x z)) 4) (+.f64 (/.f64 (-.f64 z (*.f64 x z)) 4) (*.f64 (-.f64 1 x) (*.f64 z 1/2)))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (+.f64 z (*.f64 (-.f64 1 x) (*.f64 z 1/2))) (-.f64 (*.f64 (-.f64 1 x) (*.f64 z 1/2)) z)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (+.f64 (-.f64 1 x) (*.f64 (-.f64 1 x) (*.f64 z 1/2))) (-.f64 x (-.f64 1 (*.f64 (-.f64 1 x) (*.f64 z 1/2))))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (-.f64 (*.f64 z 1/2) (*.f64 x z)) (*.f64 z 1/2)) |
(+.f64 (*.f64 z 1/2) (-.f64 (*.f64 z 1/2) (*.f64 z x))) |
(+.f64 (*.f64 z 1/2) (*.f64 z (-.f64 1/2 x))) |
(+.f64 (-.f64 x (-.f64 1 (*.f64 (-.f64 1 x) (*.f64 z 1/2)))) (+.f64 (-.f64 1 x) (*.f64 (-.f64 1 x) (*.f64 z 1/2)))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (-.f64 x (-.f64 1 (*.f64 (-.f64 1 x) (*.f64 z 1/2)))) (+.f64 (+.f64 (-.f64 1 x) (*.f64 (-.f64 1 x) (*.f64 z 1/2))) 0)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (-.f64 (*.f64 (-.f64 1 x) (*.f64 z 1/2)) z) (+.f64 z (*.f64 (-.f64 1 x) (*.f64 z 1/2)))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (-.f64 (*.f64 (-.f64 1 x) (*.f64 z 1/2)) z) (+.f64 (+.f64 z (*.f64 (-.f64 1 x) (*.f64 z 1/2))) 0)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (-.f64 x (-.f64 1 (*.f64 z 1/2))) (+.f64 (+.f64 (-.f64 1 x) (*.f64 z 1/2)) (*.f64 x (neg.f64 z)))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (-.f64 (*.f64 x z) (neg.f64 z)) (+.f64 (*.f64 x (neg.f64 z)) (*.f64 x (neg.f64 z)))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (-.f64 (*.f64 x z) (neg.f64 z)) (+.f64 (+.f64 (*.f64 x (neg.f64 z)) (*.f64 x (neg.f64 z))) 0)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (-.f64 (neg.f64 z) (*.f64 x z)) (+.f64 z z)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (-.f64 (neg.f64 z) (*.f64 x z)) (+.f64 (*.f64 x (+.f64 z z)) (*.f64 (-.f64 1 x) (+.f64 z z)))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 1 (+.f64 (+.f64 (-.f64 1 x) (-.f64 (*.f64 x z) z)) x)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 1 x) (+.f64 (-.f64 1 x) (-.f64 (*.f64 x z) z))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 1 x) (+.f64 (+.f64 (-.f64 1 x) (-.f64 (*.f64 x z) z)) 0)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 1 x) (+.f64 (*.f64 x z) (-.f64 (-.f64 1 z) x))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 1 x) (+.f64 (*.f64 (-.f64 1 x) (*.f64 z -2)) (+.f64 (-.f64 1 x) (-.f64 z (*.f64 x z))))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 z (*.f64 x z)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 z (+.f64 (-.f64 (*.f64 x z) (neg.f64 z)) (neg.f64 z))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 z (+.f64 (*.f64 (-.f64 1 x) (*.f64 z -2)) (-.f64 (+.f64 z z) (*.f64 x z)))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 z (*.f64 x z)) 0) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 z (*.f64 x z)) (-.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 0 (-.f64 (*.f64 x z) z)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 0 (+.f64 (+.f64 (-.f64 1 x) (-.f64 (*.f64 x z) z)) (+.f64 x -1))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 0 (+.f64 (-.f64 (*.f64 x z) (neg.f64 z)) (*.f64 z -2))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (+.f64 z z) (-.f64 (*.f64 x z) (neg.f64 z))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (+.f64 z z) (+.f64 (-.f64 (*.f64 x z) (neg.f64 z)) 0)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (*.f64 (-.f64 1 x) (+.f64 z z)) (-.f64 z (*.f64 x z))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (*.f64 (-.f64 1 x) (+.f64 z z)) (-.f64 (+.f64 (*.f64 x (neg.f64 z)) (*.f64 x z)) (-.f64 (*.f64 x z) z))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 (*.f64 x z) z) (*.f64 (-.f64 1 x) (*.f64 z -2))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (neg.f64 x) (+.f64 (+.f64 (-.f64 1 x) (-.f64 (*.f64 x z) z)) -1)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (neg.f64 z) (-.f64 0 (-.f64 (+.f64 z z) (*.f64 x z)))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (neg.f64 z) (+.f64 (*.f64 (-.f64 1 x) (*.f64 z -2)) (*.f64 x (neg.f64 z)))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (*.f64 x z) (+.f64 (*.f64 (-.f64 1 x) (*.f64 z -2)) z)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (*.f64 x (neg.f64 z)) (neg.f64 z)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (*.f64 z 1/2) (-.f64 (*.f64 x z) (*.f64 z 1/2))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (*.f64 z 1/2) (+.f64 (-.f64 (*.f64 x z) (neg.f64 z)) (-.f64 (*.f64 z -1/2) z))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (*.f64 z 1/2) (+.f64 (*.f64 (-.f64 1 x) (*.f64 z -1/2)) (*.f64 x (*.f64 z 1/2)))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (+.f64 1/2 (*.f64 x -1/2)) (+.f64 (+.f64 (-.f64 1 x) (-.f64 (*.f64 x z) z)) (-.f64 -1/2 (*.f64 x -1/2)))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (*.f64 (-.f64 1 x) (*.f64 z 1/2)) (*.f64 (-.f64 1 x) (*.f64 z -1/2))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (*.f64 (-.f64 1 x) (*.f64 z 1/2)) (+.f64 (*.f64 (-.f64 1 x) (*.f64 z -1/2)) 0)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (*.f64 (-.f64 1 x) (*.f64 z 1/2)) (-.f64 z (+.f64 z (*.f64 (-.f64 1 x) (*.f64 z 1/2))))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (*.f64 (-.f64 1 x) (*.f64 z 1/2)) (-.f64 (-.f64 1 x) (+.f64 (-.f64 1 x) (*.f64 (-.f64 1 x) (*.f64 z 1/2))))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 (+.f64 z z) (*.f64 x z)) z) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 (+.f64 z z) (*.f64 x z)) (-.f64 (*.f64 x z) (-.f64 (*.f64 x z) z))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (+.f64 z (*.f64 z 1/2)) (+.f64 (-.f64 (*.f64 x z) (neg.f64 z)) (*.f64 z -1/2))) |
(-.f64 (+.f64 z (*.f64 z 1/2)) (+.f64 (-.f64 (*.f64 z x) (neg.f64 z)) (*.f64 z -1/2))) |
(-.f64 (neg.f64 z) (+.f64 (*.f64 z -1/2) (-.f64 (*.f64 z (-.f64 x 1/2)) z))) |
(-.f64 0 (*.f64 z (+.f64 -1/2 (-.f64 x 1/2)))) |
(-.f64 (+.f64 (-.f64 1 x) (-.f64 (*.f64 x z) z)) (+.f64 (*.f64 (-.f64 1 x) (*.f64 z -2)) (-.f64 1 x))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 (-.f64 1 z) x) (-.f64 (-.f64 1 x) (-.f64 (+.f64 z z) (*.f64 x z)))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (+.f64 (-.f64 1 x) (-.f64 z (*.f64 x z))) (-.f64 1 x)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 (*.f64 x z) (*.f64 z 1/2)) (+.f64 (*.f64 (-.f64 1 x) (*.f64 z -2)) (*.f64 z 1/2))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 1 (*.f64 x 1/2)) (+.f64 (+.f64 (-.f64 1 x) (-.f64 (*.f64 x z) z)) (*.f64 x 1/2))) |
(-.f64 1 (+.f64 (+.f64 (+.f64 (-.f64 1 x) (-.f64 (*.f64 z x) z)) (*.f64 x 1/2)) (*.f64 x 1/2))) |
(-.f64 (-.f64 x (-.f64 (*.f64 z x) z)) (+.f64 (*.f64 x 1/2) (*.f64 x 1/2))) |
(+.f64 (-.f64 z (*.f64 z x)) (-.f64 x (*.f64 x 1))) |
(-.f64 (*.f64 (-.f64 1 x) (*.f64 z -1/2)) (+.f64 (*.f64 (-.f64 1 x) (*.f64 z -2)) (*.f64 (-.f64 1 x) (*.f64 z 1/2)))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (+.f64 z (*.f64 (-.f64 1 x) (*.f64 z 1/2))) (-.f64 z (*.f64 (-.f64 1 x) (*.f64 z 1/2)))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (+.f64 (-.f64 1 x) (*.f64 (-.f64 1 x) (*.f64 z 1/2))) (-.f64 (-.f64 1 x) (*.f64 (-.f64 1 x) (*.f64 z 1/2)))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 (*.f64 z 1/2) (*.f64 x z)) (*.f64 z -1/2)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 z (+.f64 (-.f64 1 x) (*.f64 x z))) (+.f64 x -1)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 (*.f64 x z) (neg.f64 z)) (*.f64 x (+.f64 z z))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (+.f64 z (*.f64 x z)) (*.f64 x (+.f64 z z))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 (neg.f64 z) (*.f64 x z)) (*.f64 z -2)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 (-.f64 (*.f64 x z) z) (-.f64 (*.f64 x z) z)) (-.f64 (*.f64 x z) z)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 1 (+.f64 (-.f64 1 x) (-.f64 (*.f64 x z) z))) x) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 (neg.f64 x) (+.f64 (-.f64 1 x) (-.f64 (*.f64 x z) z))) -1) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 (+.f64 1/2 (*.f64 x -1/2)) (+.f64 (-.f64 1 x) (-.f64 (*.f64 x z) z))) (-.f64 -1/2 (*.f64 x -1/2))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 (-.f64 1 (*.f64 x 1/2)) (+.f64 (-.f64 1 x) (-.f64 (*.f64 x z) z))) (*.f64 x 1/2)) |
(-.f64 1 (+.f64 (+.f64 (+.f64 (-.f64 1 x) (-.f64 (*.f64 z x) z)) (*.f64 x 1/2)) (*.f64 x 1/2))) |
(-.f64 (-.f64 x (-.f64 (*.f64 z x) z)) (+.f64 (*.f64 x 1/2) (*.f64 x 1/2))) |
(+.f64 (-.f64 z (*.f64 z x)) (-.f64 x (*.f64 x 1))) |
(-.f64 (-.f64 (-.f64 1 x) (*.f64 x z)) (-.f64 (-.f64 1 z) x)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 z (-.f64 (*.f64 x z) (neg.f64 z))) (neg.f64 z)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 (*.f64 z 1/2) (-.f64 (*.f64 x z) (neg.f64 z))) (-.f64 (*.f64 z -1/2) z)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 (+.f64 z (*.f64 z 1/2)) (-.f64 (*.f64 x z) (neg.f64 z))) (*.f64 z -1/2)) |
(-.f64 (+.f64 z (*.f64 z 1/2)) (+.f64 (-.f64 (*.f64 z x) (neg.f64 z)) (*.f64 z -1/2))) |
(-.f64 (neg.f64 z) (+.f64 (*.f64 z -1/2) (-.f64 (*.f64 z (-.f64 x 1/2)) z))) |
(-.f64 0 (*.f64 z (+.f64 -1/2 (-.f64 x 1/2)))) |
(-.f64 (-.f64 (-.f64 1 x) (*.f64 (-.f64 1 x) (*.f64 z -2))) (+.f64 (-.f64 1 x) (-.f64 z (*.f64 x z)))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 z (*.f64 (-.f64 1 x) (*.f64 z -2))) (-.f64 (+.f64 z z) (*.f64 x z))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 (neg.f64 z) (*.f64 (-.f64 1 x) (*.f64 z -2))) (*.f64 x (neg.f64 z))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 (*.f64 (-.f64 1 x) (*.f64 z -1/2)) (*.f64 (-.f64 1 x) (*.f64 z -2))) (*.f64 (-.f64 1 x) (*.f64 z 1/2))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 (-.f64 (*.f64 x z) (*.f64 z 1/2)) (*.f64 (-.f64 1 x) (*.f64 z -2))) (*.f64 z 1/2)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 (*.f64 z 1/2) (*.f64 (-.f64 1 x) (*.f64 z -1/2))) (*.f64 x (*.f64 z 1/2))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 z (*.f64 x (*.f64 z 1/2))) (*.f64 x (*.f64 z 1/2))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 (-.f64 (+.f64 z z) (*.f64 x z)) (neg.f64 z)) (+.f64 z z)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 (-.f64 (+.f64 z z) (*.f64 x z)) (*.f64 z 1/2)) (*.f64 z 1/2)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 (-.f64 (+.f64 z z) (*.f64 x z)) (*.f64 z -1/2)) (+.f64 z (*.f64 z 1/2))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 (-.f64 (+.f64 z z) (*.f64 x z)) (-.f64 x (-.f64 1 (*.f64 z 1/2)))) (+.f64 (-.f64 1 x) (*.f64 z 1/2))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 (+.f64 z (*.f64 x z)) (*.f64 x z)) (*.f64 x z)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(/.f64 (-.f64 z (*.f64 x z)) 1) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(/.f64 (*.f64 (-.f64 1 x) (+.f64 z z)) 2) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(/.f64 (-.f64 (*.f64 x z) z) -1) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(/.f64 (*.f64 (-.f64 1 x) (*.f64 z 4)) 4) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(/.f64 (+.f64 (*.f64 (-.f64 1 x) (*.f64 z 4)) (*.f64 (-.f64 1 x) (*.f64 z 4))) 8) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(/.f64 (*.f64 (+.f64 x -1) (*.f64 z 4)) -4) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(/.f64 (*.f64 (-.f64 1 x) (*.f64 z -2)) -2) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(/.f64 (*.f64 (-.f64 2 (+.f64 x x)) (*.f64 z 4)) 8) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(/.f64 (+.f64 (+.f64 (*.f64 (-.f64 1 x) (*.f64 z 4)) (*.f64 (-.f64 1 x) (*.f64 z 4))) (+.f64 (*.f64 (-.f64 1 x) (*.f64 z 4)) (*.f64 (-.f64 1 x) (*.f64 z 4)))) 16) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(/.f64 (+.f64 (*.f64 (+.f64 x -1) (*.f64 z 4)) (*.f64 (+.f64 x -1) (*.f64 z 4))) -8) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(/.f64 (*.f64 (-.f64 (*.f64 x z) z) 2) -2) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(/.f64 (*.f64 (*.f64 (-.f64 1 x) (*.f64 z -1/2)) 2) -1) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(/.f64 (*.f64 (*.f64 (-.f64 1 x) 4) (*.f64 z 1/2)) 2) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(/.f64 (*.f64 (+.f64 (*.f64 (-.f64 1 x) 4) (*.f64 (-.f64 1 x) 4)) (*.f64 z 1/2)) 4) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(/.f64 (*.f64 (neg.f64 (*.f64 (-.f64 1 x) 4)) (*.f64 z 1/2)) -2) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(/.f64 (*.f64 (neg.f64 (*.f64 z 4)) (+.f64 x -1)) 4) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(/.f64 (*.f64 (neg.f64 (*.f64 (-.f64 1 x) 4)) (neg.f64 z)) 4) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(/.f64 (*.f64 (*.f64 z 4) (+.f64 1/2 (*.f64 x -1/2))) 2) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(/.f64 (*.f64 (+.f64 (*.f64 z 4) (*.f64 z 4)) (+.f64 1/2 (*.f64 x -1/2))) 4) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(/.f64 (*.f64 (neg.f64 (*.f64 z 4)) (+.f64 1/2 (*.f64 x -1/2))) -2) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(/.f64 (*.f64 (+.f64 (*.f64 z 4) (*.f64 z 4)) (-.f64 1 x)) 8) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(/.f64 (*.f64 (neg.f64 (*.f64 z 4)) (-.f64 1 x)) -4) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(/.f64 (*.f64 (+.f64 (*.f64 (-.f64 1 x) 4) (*.f64 (-.f64 1 x) 4)) z) 8) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(/.f64 (*.f64 (neg.f64 (*.f64 (-.f64 1 x) 4)) z) -4) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(/.f64 (*.f64 (*.f64 (-.f64 1 x) (*.f64 z 4)) 2) 8) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(/.f64 (*.f64 (*.f64 (-.f64 1 x) (*.f64 z -2)) 2) -4) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(/.f64 (*.f64 (*.f64 (+.f64 x -1) (*.f64 z 4)) -1) 4) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(pow.f64 (-.f64 z (*.f64 x z)) 1) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(neg.f64 (-.f64 (*.f64 x z) z)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
Compiled 3320 to 1501 computations (54.8% saved)
7 alts after pruning (7 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 202 | 7 | 209 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 1 | 0 | 1 |
| Total | 204 | 7 | 211 |
| Status | Error | Program |
|---|---|---|
| ▶ | 0.0b | (-.f64 z (*.f64 x (-.f64 z y))) |
| 21.3b | (-.f64 z (*.f64 x z)) | |
| ▶ | 16.2b | (+.f64 (*.f64 x y) z) |
| ▶ | 26.5b | (*.f64 (-.f64 y z) x) |
| ▶ | 21.3b | (*.f64 z (-.f64 1 x)) |
| ▶ | 42.1b | (*.f64 y x) |
| 36.6b | z |
Compiled 100 to 65 computations (35% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (-.f64 z (*.f64 x (-.f64 z y))) |
Compiled 21 to 6 computations (71.4% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | x | @ | -inf | (-.f64 z (*.f64 x (-.f64 z y))) |
| 0.0ms | z | @ | 0 | (-.f64 z (*.f64 x (-.f64 z y))) |
| 0.0ms | z | @ | inf | (-.f64 z (*.f64 x (-.f64 z y))) |
| 0.0ms | z | @ | -inf | (-.f64 z (*.f64 x (-.f64 z y))) |
| 0.0ms | y | @ | 0 | (-.f64 z (*.f64 x (-.f64 z y))) |
| 1× | batch-egg-rewrite |
| 1190× | rational_best-4 |
| 1190× | rational_best-2 |
| 1190× | rational_best-3 |
| 1190× | rational_best-1 |
| 1190× | exponential-1 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 19 |
| 1 | 58 | 19 |
| 2 | 184 | 19 |
| 3 | 793 | 19 |
| 4 | 4133 | 19 |
| 1× | node limit |
| Inputs |
|---|
(-.f64 z (*.f64 x (-.f64 z y))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 z (*.f64 x (-.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 z (*.f64 x (-.f64 y z))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 z (*.f64 x (-.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x y) (-.f64 z (*.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 2) (-.f64 (*.f64 x (-.f64 z y)) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 z z) (-.f64 (*.f64 x (-.f64 y z)) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x (-.f64 z y)) z) (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (-.f64 y z)) z)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 z y) (*.f64 x -2)) (-.f64 z (*.f64 x (-.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 z (*.f64 z x)) (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 z (*.f64 x y)) (*.f64 z (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (+.f64 y y)) (-.f64 (-.f64 z (*.f64 z x)) (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (neg.f64 x)) (+.f64 z (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (neg.f64 x)) (-.f64 z (*.f64 x (neg.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1/2) (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z 1/2) (+.f64 (*.f64 x (-.f64 y z)) (*.f64 z 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z 1/2) (-.f64 (*.f64 z 1/2) (*.f64 x (-.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x (-.f64 y z)) (*.f64 z 1/2)) (*.f64 z 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 x (-.f64 y z)) 2) (/.f64 (+.f64 z (+.f64 z (*.f64 x (-.f64 y z)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 z (*.f64 x (-.f64 y z))) (*.f64 (-.f64 z y) (*.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 z (*.f64 x (neg.f64 y))) (*.f64 z (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 z (*.f64 (-.f64 z y) (*.f64 x 1/2))) (/.f64 (*.f64 x (-.f64 z y)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 x (-.f64 z y)) -2) (-.f64 z (*.f64 (-.f64 z y) (*.f64 x 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (+.f64 z (+.f64 z (*.f64 x (-.f64 y z)))) 2) (/.f64 (*.f64 x (-.f64 y z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x y) (*.f64 z 1/2)) (-.f64 (*.f64 z 1/2) (*.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 z 1/2) (*.f64 z x)) (+.f64 (*.f64 x y) (*.f64 z 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 z 1/2) (*.f64 x (-.f64 z y))) (*.f64 z 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 z (neg.f64 x)) (*.f64 z 1/2)) (-.f64 (*.f64 z 1/2) (*.f64 x (neg.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 z 1/2) (*.f64 x (neg.f64 y))) (+.f64 (*.f64 z (neg.f64 x)) (*.f64 z 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (-.f64 z y) (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1/2)) (-.f64 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1/2) (-.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1/2) (-.f64 z y)) (+.f64 (-.f64 z y) (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1/2)) (-.f64 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1/2) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1/2) x) (+.f64 x (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x (-.f64 y z)) z) (+.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (-.f64 z (*.f64 z x)) (*.f64 x y)) (*.f64 x (+.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 z (*.f64 x (-.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (*.f64 x (-.f64 z y)) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x (-.f64 z y)) z) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (-.f64 (*.f64 (-.f64 z y) (*.f64 x 1/2)) (*.f64 z 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 (-.f64 z y) (*.f64 x 1/2)) (*.f64 z 1/2)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (/.f64 z -2) (*.f64 (-.f64 y z) (*.f64 x 1/2))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (/.f64 z -2) (*.f64 (neg.f64 x) (*.f64 (-.f64 z y) 1/2))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (/.f64 z -2) (/.f64 (*.f64 x (-.f64 z y)) -2)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x (-.f64 z y)) z) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 2)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) -2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 2)) (*.f64 2 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 2))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) -2) (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) -2)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 2)) (*.f64 2 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 2))) (+.f64 (*.f64 2 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 2)) (*.f64 2 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 2)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (+.f64 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) -2) (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) -2)) (+.f64 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) -2) (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) -2))) -8)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (*.f64 x (-.f64 z y)) z)))))) |
| 1× | egg-herbie |
| 1348× | rational_best-simplify-1 |
| 1088× | rational_best-simplify-44 |
| 996× | rational_best-simplify-47 |
| 922× | rational_best-simplify-71 |
| 632× | rational_best-simplify-77 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 147 | 1839 |
| 1 | 323 | 1839 |
| 2 | 894 | 1839 |
| 3 | 5215 | 1839 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 x))) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 x))) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 x))) |
(*.f64 z (-.f64 1 x)) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 x))) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 x))) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 x))) |
(*.f64 (+.f64 1 (*.f64 -1 x)) z) |
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 x)) z) (*.f64 y x)) |
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 x)) z) (*.f64 y x)) |
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 x)) z) (*.f64 y x)) |
z |
(+.f64 (*.f64 (-.f64 y z) x) z) |
(+.f64 (*.f64 (-.f64 y z) x) z) |
(+.f64 (*.f64 (-.f64 y z) x) z) |
(*.f64 (-.f64 y z) x) |
(+.f64 (*.f64 (-.f64 y z) x) z) |
(+.f64 (*.f64 (-.f64 y z) x) z) |
(+.f64 (*.f64 (-.f64 y z) x) z) |
(*.f64 -1 (*.f64 (-.f64 z y) x)) |
(+.f64 z (*.f64 -1 (*.f64 (-.f64 z y) x))) |
(+.f64 z (*.f64 -1 (*.f64 (-.f64 z y) x))) |
(+.f64 z (*.f64 -1 (*.f64 (-.f64 z y) x))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (+.f64 (*.f64 y x) z) (*.f64 z x)) |
(-.f64 (+.f64 (*.f64 y x) z) (*.f64 z x)) |
(-.f64 (+.f64 (*.f64 y x) z) (*.f64 z x)) |
(*.f64 y x) |
(-.f64 (+.f64 (*.f64 y x) z) (*.f64 z x)) |
(-.f64 (+.f64 (*.f64 y x) z) (*.f64 z x)) |
(-.f64 (+.f64 (*.f64 y x) z) (*.f64 z x)) |
(*.f64 y x) |
(-.f64 (+.f64 (*.f64 y x) z) (*.f64 z x)) |
(-.f64 (+.f64 (*.f64 y x) z) (*.f64 z x)) |
(-.f64 (+.f64 (*.f64 y x) z) (*.f64 z x)) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(+.f64 (+.f64 z (*.f64 x (-.f64 y z))) 0) |
(+.f64 0 (+.f64 z (*.f64 x (-.f64 y z)))) |
(+.f64 (*.f64 x y) (-.f64 z (*.f64 z x))) |
(+.f64 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 2) (-.f64 (*.f64 x (-.f64 z y)) z)) |
(+.f64 (+.f64 z z) (-.f64 (*.f64 x (-.f64 y z)) z)) |
(+.f64 (-.f64 (*.f64 x (-.f64 z y)) z) (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 2)) |
(+.f64 (*.f64 x (-.f64 y z)) z) |
(+.f64 (*.f64 (-.f64 z y) (*.f64 x -2)) (-.f64 z (*.f64 x (-.f64 y z)))) |
(+.f64 (-.f64 z (*.f64 z x)) (*.f64 x y)) |
(+.f64 (+.f64 z (*.f64 x y)) (*.f64 z (neg.f64 x))) |
(+.f64 (*.f64 x (+.f64 y y)) (-.f64 (-.f64 z (*.f64 z x)) (*.f64 x y))) |
(+.f64 (*.f64 z (neg.f64 x)) (+.f64 z (*.f64 x y))) |
(+.f64 (*.f64 z (neg.f64 x)) (-.f64 z (*.f64 x (neg.f64 y)))) |
(+.f64 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1/2) (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1/2)) |
(+.f64 (*.f64 z 1/2) (+.f64 (*.f64 x (-.f64 y z)) (*.f64 z 1/2))) |
(+.f64 (*.f64 z 1/2) (-.f64 (*.f64 z 1/2) (*.f64 x (-.f64 z y)))) |
(+.f64 (+.f64 (*.f64 x (-.f64 y z)) (*.f64 z 1/2)) (*.f64 z 1/2)) |
(+.f64 (/.f64 (*.f64 x (-.f64 y z)) 2) (/.f64 (+.f64 z (+.f64 z (*.f64 x (-.f64 y z)))) 2)) |
(+.f64 (-.f64 z (*.f64 x (-.f64 y z))) (*.f64 (-.f64 z y) (*.f64 x -2))) |
(+.f64 (-.f64 z (*.f64 x (neg.f64 y))) (*.f64 z (neg.f64 x))) |
(+.f64 (-.f64 z (*.f64 (-.f64 z y) (*.f64 x 1/2))) (/.f64 (*.f64 x (-.f64 z y)) -2)) |
(+.f64 (/.f64 (*.f64 x (-.f64 z y)) -2) (-.f64 z (*.f64 (-.f64 z y) (*.f64 x 1/2)))) |
(+.f64 (/.f64 (+.f64 z (+.f64 z (*.f64 x (-.f64 y z)))) 2) (/.f64 (*.f64 x (-.f64 y z)) 2)) |
(+.f64 (+.f64 (*.f64 x y) (*.f64 z 1/2)) (-.f64 (*.f64 z 1/2) (*.f64 z x))) |
(+.f64 (-.f64 (*.f64 z 1/2) (*.f64 z x)) (+.f64 (*.f64 x y) (*.f64 z 1/2))) |
(+.f64 (-.f64 (*.f64 z 1/2) (*.f64 x (-.f64 z y))) (*.f64 z 1/2)) |
(+.f64 (+.f64 (*.f64 z (neg.f64 x)) (*.f64 z 1/2)) (-.f64 (*.f64 z 1/2) (*.f64 x (neg.f64 y)))) |
(+.f64 (-.f64 (*.f64 z 1/2) (*.f64 x (neg.f64 y))) (+.f64 (*.f64 z (neg.f64 x)) (*.f64 z 1/2))) |
(+.f64 (+.f64 (-.f64 z y) (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1/2)) (-.f64 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1/2) (-.f64 z y))) |
(+.f64 (-.f64 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1/2) (-.f64 z y)) (+.f64 (-.f64 z y) (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1/2))) |
(+.f64 (+.f64 x (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1/2)) (-.f64 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1/2) x)) |
(+.f64 (-.f64 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1/2) x) (+.f64 x (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1/2))) |
(+.f64 (-.f64 (*.f64 x (-.f64 y z)) z) (+.f64 z z)) |
(+.f64 (-.f64 (-.f64 z (*.f64 z x)) (*.f64 x y)) (*.f64 x (+.f64 y y))) |
(*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1) |
(*.f64 1 (+.f64 z (*.f64 x (-.f64 y z)))) |
(*.f64 -1 (-.f64 (*.f64 x (-.f64 z y)) z)) |
(*.f64 2 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1/2)) |
(*.f64 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 2) 1/2) |
(*.f64 (-.f64 (*.f64 x (-.f64 z y)) z) -1) |
(*.f64 -2 (-.f64 (*.f64 (-.f64 z y) (*.f64 x 1/2)) (*.f64 z 1/2))) |
(*.f64 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1/2) 2) |
(*.f64 (-.f64 (*.f64 (-.f64 z y) (*.f64 x 1/2)) (*.f64 z 1/2)) -2) |
(*.f64 1/2 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 2)) |
(*.f64 (-.f64 (/.f64 z -2) (*.f64 (-.f64 y z) (*.f64 x 1/2))) -2) |
(*.f64 (-.f64 (/.f64 z -2) (*.f64 (neg.f64 x) (*.f64 (-.f64 z y) 1/2))) -2) |
(*.f64 (-.f64 (/.f64 z -2) (/.f64 (*.f64 x (-.f64 z y)) -2)) -2) |
(/.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1) |
(/.f64 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 2) 2) |
(/.f64 (-.f64 (*.f64 x (-.f64 z y)) z) -1) |
(/.f64 (*.f64 2 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 2)) 4) |
(/.f64 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) -2) -2) |
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 2)) (*.f64 2 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 2))) 8) |
(/.f64 (+.f64 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) -2) (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) -2)) -4) |
(/.f64 (+.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 2)) (*.f64 2 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 2))) (+.f64 (*.f64 2 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 2)) (*.f64 2 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 2)))) 16) |
(/.f64 (+.f64 (+.f64 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) -2) (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) -2)) (+.f64 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) -2) (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) -2))) -8) |
(pow.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1) |
(neg.f64 (-.f64 (*.f64 x (-.f64 z y)) z)) |
| Outputs |
|---|
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 x))) |
(+.f64 (*.f64 z (-.f64 1 x)) (*.f64 y x)) |
(+.f64 (-.f64 z (*.f64 x z)) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 x))) |
(+.f64 (*.f64 z (-.f64 1 x)) (*.f64 y x)) |
(+.f64 (-.f64 z (*.f64 x z)) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 x))) |
(+.f64 (*.f64 z (-.f64 1 x)) (*.f64 y x)) |
(+.f64 (-.f64 z (*.f64 x z)) (*.f64 y x)) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 x z)) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 x))) |
(+.f64 (*.f64 z (-.f64 1 x)) (*.f64 y x)) |
(+.f64 (-.f64 z (*.f64 x z)) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 x))) |
(+.f64 (*.f64 z (-.f64 1 x)) (*.f64 y x)) |
(+.f64 (-.f64 z (*.f64 x z)) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 z (-.f64 1 x))) |
(+.f64 (*.f64 z (-.f64 1 x)) (*.f64 y x)) |
(+.f64 (-.f64 z (*.f64 x z)) (*.f64 y x)) |
(*.f64 (+.f64 1 (*.f64 -1 x)) z) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 x z)) |
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 x)) z) (*.f64 y x)) |
(+.f64 (*.f64 z (-.f64 1 x)) (*.f64 y x)) |
(+.f64 (-.f64 z (*.f64 x z)) (*.f64 y x)) |
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 x)) z) (*.f64 y x)) |
(+.f64 (*.f64 z (-.f64 1 x)) (*.f64 y x)) |
(+.f64 (-.f64 z (*.f64 x z)) (*.f64 y x)) |
(+.f64 (*.f64 (+.f64 1 (*.f64 -1 x)) z) (*.f64 y x)) |
(+.f64 (*.f64 z (-.f64 1 x)) (*.f64 y x)) |
(+.f64 (-.f64 z (*.f64 x z)) (*.f64 y x)) |
z |
(+.f64 (*.f64 (-.f64 y z) x) z) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(+.f64 (*.f64 (-.f64 y z) x) z) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(+.f64 (*.f64 (-.f64 y z) x) z) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(*.f64 (-.f64 y z) x) |
(*.f64 x (-.f64 y z)) |
(+.f64 (*.f64 (-.f64 y z) x) z) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(+.f64 (*.f64 (-.f64 y z) x) z) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(+.f64 (*.f64 (-.f64 y z) x) z) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(*.f64 -1 (*.f64 (-.f64 z y) x)) |
(*.f64 x (-.f64 y z)) |
(+.f64 z (*.f64 -1 (*.f64 (-.f64 z y) x))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(+.f64 z (*.f64 -1 (*.f64 (-.f64 z y) x))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(+.f64 z (*.f64 -1 (*.f64 (-.f64 z y) x))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(-.f64 z (*.f64 z x)) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 x z)) |
(-.f64 (+.f64 (*.f64 y x) z) (*.f64 z x)) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(-.f64 (+.f64 (*.f64 y x) z) (*.f64 z x)) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(-.f64 (+.f64 (*.f64 y x) z) (*.f64 z x)) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(*.f64 y x) |
(-.f64 (+.f64 (*.f64 y x) z) (*.f64 z x)) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(-.f64 (+.f64 (*.f64 y x) z) (*.f64 z x)) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(-.f64 (+.f64 (*.f64 y x) z) (*.f64 z x)) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(*.f64 y x) |
(-.f64 (+.f64 (*.f64 y x) z) (*.f64 z x)) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(-.f64 (+.f64 (*.f64 y x) z) (*.f64 z x)) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(-.f64 (+.f64 (*.f64 y x) z) (*.f64 z x)) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(+.f64 (+.f64 z (*.f64 x (-.f64 y z))) 0) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(+.f64 0 (+.f64 z (*.f64 x (-.f64 y z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(+.f64 (*.f64 x y) (-.f64 z (*.f64 z x))) |
(+.f64 (*.f64 z (-.f64 1 x)) (*.f64 y x)) |
(+.f64 (-.f64 z (*.f64 x z)) (*.f64 y x)) |
(+.f64 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 2) (-.f64 (*.f64 x (-.f64 z y)) z)) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(+.f64 (+.f64 z z) (-.f64 (*.f64 x (-.f64 y z)) z)) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(+.f64 (-.f64 (*.f64 x (-.f64 z y)) z) (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 2)) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(+.f64 (*.f64 x (-.f64 y z)) z) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(+.f64 (*.f64 (-.f64 z y) (*.f64 x -2)) (-.f64 z (*.f64 x (-.f64 y z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(+.f64 (-.f64 z (*.f64 z x)) (*.f64 x y)) |
(+.f64 (*.f64 z (-.f64 1 x)) (*.f64 y x)) |
(+.f64 (-.f64 z (*.f64 x z)) (*.f64 y x)) |
(+.f64 (+.f64 z (*.f64 x y)) (*.f64 z (neg.f64 x))) |
(+.f64 (*.f64 z (-.f64 1 x)) (*.f64 y x)) |
(+.f64 (-.f64 z (*.f64 x z)) (*.f64 y x)) |
(+.f64 (*.f64 x (+.f64 y y)) (-.f64 (-.f64 z (*.f64 z x)) (*.f64 x y))) |
(+.f64 (*.f64 z (-.f64 1 x)) (*.f64 y x)) |
(+.f64 (-.f64 z (*.f64 x z)) (*.f64 y x)) |
(+.f64 (*.f64 z (neg.f64 x)) (+.f64 z (*.f64 x y))) |
(+.f64 (*.f64 z (-.f64 1 x)) (*.f64 y x)) |
(+.f64 (-.f64 z (*.f64 x z)) (*.f64 y x)) |
(+.f64 (*.f64 z (neg.f64 x)) (-.f64 z (*.f64 x (neg.f64 y)))) |
(+.f64 (*.f64 x (neg.f64 z)) (-.f64 z (*.f64 x (neg.f64 y)))) |
(+.f64 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1/2) (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1/2)) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(+.f64 (*.f64 z 1/2) (+.f64 (*.f64 x (-.f64 y z)) (*.f64 z 1/2))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(+.f64 (*.f64 z 1/2) (-.f64 (*.f64 z 1/2) (*.f64 x (-.f64 z y)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(+.f64 (+.f64 (*.f64 x (-.f64 y z)) (*.f64 z 1/2)) (*.f64 z 1/2)) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(+.f64 (/.f64 (*.f64 x (-.f64 y z)) 2) (/.f64 (+.f64 z (+.f64 z (*.f64 x (-.f64 y z)))) 2)) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(+.f64 (-.f64 z (*.f64 x (-.f64 y z))) (*.f64 (-.f64 z y) (*.f64 x -2))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(+.f64 (-.f64 z (*.f64 x (neg.f64 y))) (*.f64 z (neg.f64 x))) |
(+.f64 (*.f64 z (neg.f64 x)) (-.f64 z (*.f64 x (neg.f64 y)))) |
(+.f64 (*.f64 x (neg.f64 z)) (-.f64 z (*.f64 x (neg.f64 y)))) |
(+.f64 (-.f64 z (*.f64 (-.f64 z y) (*.f64 x 1/2))) (/.f64 (*.f64 x (-.f64 z y)) -2)) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(+.f64 (/.f64 (*.f64 x (-.f64 z y)) -2) (-.f64 z (*.f64 (-.f64 z y) (*.f64 x 1/2)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(+.f64 (/.f64 (+.f64 z (+.f64 z (*.f64 x (-.f64 y z)))) 2) (/.f64 (*.f64 x (-.f64 y z)) 2)) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(+.f64 (+.f64 (*.f64 x y) (*.f64 z 1/2)) (-.f64 (*.f64 z 1/2) (*.f64 z x))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(+.f64 (-.f64 (*.f64 z 1/2) (*.f64 z x)) (+.f64 (*.f64 x y) (*.f64 z 1/2))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(+.f64 (-.f64 (*.f64 z 1/2) (*.f64 x (-.f64 z y))) (*.f64 z 1/2)) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(+.f64 (+.f64 (*.f64 z (neg.f64 x)) (*.f64 z 1/2)) (-.f64 (*.f64 z 1/2) (*.f64 x (neg.f64 y)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(+.f64 (-.f64 (*.f64 z 1/2) (*.f64 x (neg.f64 y))) (+.f64 (*.f64 z (neg.f64 x)) (*.f64 z 1/2))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(+.f64 (+.f64 (-.f64 z y) (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1/2)) (-.f64 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1/2) (-.f64 z y))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(+.f64 (-.f64 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1/2) (-.f64 z y)) (+.f64 (-.f64 z y) (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1/2))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(+.f64 (+.f64 x (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1/2)) (-.f64 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1/2) x)) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(+.f64 (-.f64 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1/2) x) (+.f64 x (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1/2))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(+.f64 (-.f64 (*.f64 x (-.f64 y z)) z) (+.f64 z z)) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(+.f64 (-.f64 (-.f64 z (*.f64 z x)) (*.f64 x y)) (*.f64 x (+.f64 y y))) |
(+.f64 (*.f64 z (-.f64 1 x)) (*.f64 y x)) |
(+.f64 (-.f64 z (*.f64 x z)) (*.f64 y x)) |
(*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(*.f64 1 (+.f64 z (*.f64 x (-.f64 y z)))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(*.f64 -1 (-.f64 (*.f64 x (-.f64 z y)) z)) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(*.f64 2 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1/2)) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(*.f64 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 2) 1/2) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(*.f64 (-.f64 (*.f64 x (-.f64 z y)) z) -1) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(*.f64 -2 (-.f64 (*.f64 (-.f64 z y) (*.f64 x 1/2)) (*.f64 z 1/2))) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(*.f64 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1/2) 2) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(*.f64 (-.f64 (*.f64 (-.f64 z y) (*.f64 x 1/2)) (*.f64 z 1/2)) -2) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(*.f64 1/2 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 2)) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(*.f64 (-.f64 (/.f64 z -2) (*.f64 (-.f64 y z) (*.f64 x 1/2))) -2) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(*.f64 (-.f64 (/.f64 z -2) (*.f64 (neg.f64 x) (*.f64 (-.f64 z y) 1/2))) -2) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(*.f64 (-.f64 (/.f64 z -2) (/.f64 (*.f64 x (-.f64 z y)) -2)) -2) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(/.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(/.f64 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 2) 2) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(/.f64 (-.f64 (*.f64 x (-.f64 z y)) z) -1) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(/.f64 (*.f64 2 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 2)) 4) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(/.f64 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) -2) -2) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 2)) (*.f64 2 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 2))) 8) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(/.f64 (+.f64 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) -2) (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) -2)) -4) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(/.f64 (+.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 2)) (*.f64 2 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 2))) (+.f64 (*.f64 2 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 2)) (*.f64 2 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) 2)))) 16) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(/.f64 (+.f64 (+.f64 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) -2) (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) -2)) (+.f64 (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) -2) (*.f64 (+.f64 z (*.f64 x (-.f64 y z))) -2))) -8) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(pow.f64 (+.f64 z (*.f64 x (-.f64 y z))) 1) |
(+.f64 z (*.f64 x (-.f64 y z))) |
(neg.f64 (-.f64 (*.f64 x (-.f64 z y)) z)) |
(+.f64 z (*.f64 x (-.f64 y z))) |
Compiled 8 to 4 computations (50% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (*.f64 z (-.f64 1 x)) |
Compiled 14 to 9 computations (35.7% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | x | @ | -inf | (*.f64 z (-.f64 1 x)) |
| 0.0ms | z | @ | 0 | (*.f64 z (-.f64 1 x)) |
| 0.0ms | z | @ | inf | (*.f64 z (-.f64 1 x)) |
| 0.0ms | x | @ | inf | (*.f64 z (-.f64 1 x)) |
| 0.0ms | z | @ | -inf | (*.f64 z (-.f64 1 x)) |
| 1× | batch-egg-rewrite |
| 1050× | rational_best-simplify-55 |
| 994× | rational_best-simplify-47 |
| 918× | rational_best-simplify-49 |
| 856× | rational_best-simplify-57 |
| 762× | rational_best-simplify-58 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 13 |
| 1 | 51 | 13 |
| 2 | 152 | 13 |
| 3 | 571 | 13 |
| 4 | 2279 | 13 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 z (-.f64 1 x)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 z (*.f64 x (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 z (*.f64 z x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 z (*.f64 z x)) (+.f64 (*.f64 z (+.f64 x (+.f64 x -2))) (*.f64 z (+.f64 2 (*.f64 x -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 z (*.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 z) (+.f64 (+.f64 z z) (*.f64 x (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 z) (+.f64 (*.f64 z x) (*.f64 z (+.f64 2 (*.f64 x -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z x) (+.f64 (neg.f64 z) (*.f64 z (+.f64 2 (*.f64 x -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 z z) (-.f64 (neg.f64 z) (*.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (+.f64 2 (*.f64 x -2))) (-.f64 (*.f64 z x) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 z x) z) (*.f64 z (+.f64 2 (*.f64 x -2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (neg.f64 z)) z)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z 1/2) (-.f64 (*.f64 z 1/2) (*.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z 1/2) (+.f64 (*.f64 x (neg.f64 z)) (*.f64 z 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z 1/2) (+.f64 (+.f64 (*.f64 x (neg.f64 z)) (*.f64 z 1/2)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z 1/2) (+.f64 (/.f64 (*.f64 z x) -2) (*.f64 (-.f64 1 x) (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 1 x) (*.f64 z 1/2)) (*.f64 (-.f64 1 x) (*.f64 z 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x (neg.f64 z)) (*.f64 x (neg.f64 z))) (+.f64 z (*.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 z -2) (+.f64 (-.f64 (*.f64 z x) (*.f64 z 1/2)) (*.f64 z (+.f64 2 (*.f64 x -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 z -2) (+.f64 (+.f64 z (*.f64 z 1/2)) (*.f64 x (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (neg.f64 z) (+.f64 1/2 (/.f64 x -2))) (+.f64 (*.f64 (neg.f64 z) (+.f64 1/2 (/.f64 x -2))) (*.f64 z (+.f64 2 (*.f64 x -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 x -1) (*.f64 z 1/2)) (+.f64 (*.f64 (+.f64 x -1) (*.f64 z 1/2)) (*.f64 z (+.f64 2 (*.f64 x -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (neg.f64 x) (*.f64 z 1/2)) (+.f64 (*.f64 (neg.f64 x) (*.f64 z 1/2)) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (neg.f64 z) (*.f64 x 1/2)) (+.f64 (*.f64 (neg.f64 z) (*.f64 x 1/2)) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (-.f64 z (*.f64 z x)) -2) (+.f64 (/.f64 (-.f64 z (*.f64 z x)) -2) (*.f64 z (+.f64 2 (*.f64 x -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 z x) -2) (+.f64 (*.f64 z 1/2) (*.f64 (-.f64 1 x) (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (-.f64 (*.f64 z x) z) -4) (+.f64 (/.f64 (-.f64 (*.f64 z x) z) -4) (*.f64 (-.f64 1 x) (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 z 4) (+.f64 (/.f64 z 4) (+.f64 (*.f64 x (neg.f64 z)) (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 z (*.f64 (-.f64 1 x) (*.f64 z 1/2))) (-.f64 (*.f64 (-.f64 1 x) (*.f64 z 1/2)) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (-.f64 1 x) (*.f64 (-.f64 1 x) (*.f64 z 1/2))) (-.f64 x (-.f64 1 (*.f64 (-.f64 1 x) (*.f64 z 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (neg.f64 z) (*.f64 z x)) (+.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (neg.f64 z) (*.f64 z x)) (+.f64 (*.f64 z (+.f64 x x)) (*.f64 z (+.f64 2 (*.f64 x -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (-.f64 1 (*.f64 z 1/2))) (+.f64 (+.f64 (-.f64 1 x) (*.f64 z 1/2)) (*.f64 x (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 z 1/2) (*.f64 z x)) (*.f64 z 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x (neg.f64 z)) (*.f64 z 1/2)) (*.f64 z 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (-.f64 1 (*.f64 (-.f64 1 x) (*.f64 z 1/2)))) (+.f64 (-.f64 1 x) (*.f64 (-.f64 1 x) (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (-.f64 1 (*.f64 (-.f64 1 x) (*.f64 z 1/2)))) (+.f64 (+.f64 (-.f64 1 x) (*.f64 (-.f64 1 x) (*.f64 z 1/2))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 (-.f64 1 x) (*.f64 z 1/2)) z) (+.f64 z (*.f64 (-.f64 1 x) (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 (-.f64 1 x) (*.f64 z 1/2)) z) (+.f64 (+.f64 z (*.f64 (-.f64 1 x) (*.f64 z 1/2))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 z (*.f64 z x)) (+.f64 (*.f64 x (neg.f64 z)) (*.f64 x (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 z (*.f64 z x)) (+.f64 (+.f64 (*.f64 x (neg.f64 z)) (*.f64 x (neg.f64 z))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 z (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 z (+.f64 (+.f64 z (*.f64 z x)) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 z (+.f64 (*.f64 z (+.f64 x (+.f64 x -2))) (+.f64 z (-.f64 z (*.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 1 (+.f64 (+.f64 (-.f64 1 x) (-.f64 (*.f64 z x) z)) x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 1 x) (+.f64 (-.f64 1 x) (-.f64 (*.f64 z x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 1 x) (+.f64 (*.f64 z x) (-.f64 1 (+.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 1 x) (+.f64 (+.f64 (-.f64 1 x) (-.f64 (*.f64 z x) z)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 1 x) (+.f64 (*.f64 z (+.f64 x (+.f64 x -2))) (+.f64 (-.f64 1 x) (-.f64 z (*.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 z (*.f64 z x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 z (*.f64 z x)) (-.f64 (-.f64 (*.f64 z x) z) (-.f64 (*.f64 z x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (*.f64 z x) z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (+.f64 (+.f64 z (*.f64 z x)) (*.f64 z -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (+.f64 (+.f64 (-.f64 1 x) (-.f64 (*.f64 z x) z)) (+.f64 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 z) (+.f64 (*.f64 z x) (*.f64 z -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 z) (-.f64 0 (+.f64 z (-.f64 z (*.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 z) (+.f64 (*.f64 z (+.f64 x (+.f64 x -2))) (*.f64 x (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 z x) (+.f64 (*.f64 z (+.f64 x (+.f64 x -2))) z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 z z) (+.f64 z (*.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 z z) (-.f64 (*.f64 z (+.f64 x x)) (-.f64 (*.f64 z x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 z z) (+.f64 (+.f64 z (*.f64 z x)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 z (+.f64 2 (*.f64 x -2))) (-.f64 z (*.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 z (+.f64 2 (*.f64 x -2))) (-.f64 (+.f64 (*.f64 x (neg.f64 z)) (*.f64 z x)) (-.f64 (*.f64 z x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 x) (+.f64 (+.f64 (-.f64 1 x) (-.f64 (*.f64 z x) z)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 z x) z) (*.f64 z (+.f64 x (+.f64 x -2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 z -2) (-.f64 (neg.f64 z) (+.f64 z (-.f64 z (*.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (neg.f64 z)) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1/2 (/.f64 x -2)) (+.f64 (+.f64 (-.f64 1 x) (-.f64 (*.f64 z x) z)) (-.f64 (*.f64 x 1/2) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 z 1/2) (-.f64 (*.f64 z x) (*.f64 z 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 z 1/2) (-.f64 (+.f64 z (*.f64 z 1/2)) (+.f64 z (-.f64 z (*.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 z 1/2) (+.f64 (*.f64 z x) (/.f64 z -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 z 1/2) (+.f64 (+.f64 z (*.f64 z x)) (-.f64 (/.f64 z -2) z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 z 1/2) (+.f64 (/.f64 (-.f64 z (*.f64 z x)) -2) (/.f64 (*.f64 z x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 1 x) (*.f64 z 1/2)) (/.f64 (-.f64 z (*.f64 z x)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 1 x) (*.f64 z 1/2)) (+.f64 (/.f64 (-.f64 z (*.f64 z x)) -2) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 1 x) (*.f64 z 1/2)) (-.f64 z (+.f64 z (*.f64 (-.f64 1 x) (*.f64 z 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 1 x) (*.f64 z 1/2)) (-.f64 (-.f64 1 x) (+.f64 (-.f64 1 x) (*.f64 (-.f64 1 x) (*.f64 z 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 z (-.f64 z (*.f64 z x))) z)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 z (-.f64 z (*.f64 z x))) (-.f64 (*.f64 z x) (-.f64 (*.f64 z x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 z (*.f64 z 1/2)) (+.f64 (+.f64 z (*.f64 z x)) (/.f64 z -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 z (*.f64 z 1/2)) (+.f64 (*.f64 z x) (*.f64 z 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (-.f64 1 x) (-.f64 (*.f64 z x) z)) (+.f64 (*.f64 z (+.f64 x (+.f64 x -2))) (-.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 (*.f64 z (+.f64 x x))) (-.f64 (neg.f64 z) (*.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 1 (+.f64 z x)) (-.f64 (-.f64 1 x) (+.f64 z (-.f64 z (*.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (-.f64 1 x) (-.f64 z (*.f64 z x))) (-.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 z x) (*.f64 z 1/2)) (+.f64 (*.f64 z (+.f64 x (+.f64 x -2))) (*.f64 z 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 1 (*.f64 x 1/2)) (+.f64 (+.f64 (-.f64 1 x) (-.f64 (*.f64 z x) z)) (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 z -2) (-.f64 (*.f64 z 1/2) (+.f64 z (-.f64 z (*.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (-.f64 z (*.f64 z x)) -2) (+.f64 (*.f64 z (+.f64 x (+.f64 x -2))) (*.f64 (-.f64 1 x) (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 z x) -2) (+.f64 (/.f64 (-.f64 z (*.f64 z x)) -2) (/.f64 z -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 z (*.f64 (-.f64 1 x) (*.f64 z 1/2))) (-.f64 z (*.f64 (-.f64 1 x) (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (-.f64 1 x) (*.f64 (-.f64 1 x) (*.f64 z 1/2))) (-.f64 (-.f64 1 x) (*.f64 (-.f64 1 x) (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (neg.f64 z) (*.f64 z x)) (*.f64 z -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 z (+.f64 (-.f64 1 x) (*.f64 z x))) (+.f64 x -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 z 1/2) (*.f64 z x)) (/.f64 z -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 z (*.f64 z x)) (*.f64 z (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (-.f64 (*.f64 z x) z) (-.f64 (*.f64 z x) z)) (-.f64 (*.f64 z x) z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 z 1/2) (+.f64 z (*.f64 z x))) (-.f64 (/.f64 z -2) z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (+.f64 z (*.f64 z 1/2)) (+.f64 z (*.f64 z x))) (/.f64 z -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (-.f64 1 x) (*.f64 z x)) (-.f64 1 (+.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (+.f64 z (*.f64 z 1/2)) (*.f64 z x)) (*.f64 z 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 1 (+.f64 (-.f64 1 x) (-.f64 (*.f64 z x) z))) x)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (neg.f64 x) (+.f64 (-.f64 1 x) (-.f64 (*.f64 z x) z))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (+.f64 1/2 (/.f64 x -2)) (+.f64 (-.f64 1 x) (-.f64 (*.f64 z x) z))) (-.f64 (*.f64 x 1/2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (-.f64 1 (*.f64 x 1/2)) (+.f64 (-.f64 1 x) (-.f64 (*.f64 z x) z))) (*.f64 x 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 z (*.f64 z (+.f64 x (+.f64 x -2)))) (+.f64 z (-.f64 z (*.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (-.f64 1 x) (*.f64 z (+.f64 x (+.f64 x -2)))) (+.f64 (-.f64 1 x) (-.f64 z (*.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (neg.f64 z) (*.f64 z (+.f64 x (+.f64 x -2)))) (*.f64 x (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 (-.f64 z (*.f64 z x)) -2) (*.f64 z (+.f64 x (+.f64 x -2)))) (*.f64 (-.f64 1 x) (*.f64 z 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (-.f64 (*.f64 z x) (*.f64 z 1/2)) (*.f64 z (+.f64 x (+.f64 x -2)))) (*.f64 z 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 z 1/2) (/.f64 (-.f64 z (*.f64 z x)) -2)) (/.f64 (*.f64 z x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 (*.f64 z x) -2) (/.f64 (-.f64 z (*.f64 z x)) -2)) (/.f64 z -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 z (*.f64 z (*.f64 x 1/2))) (*.f64 z (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 z (*.f64 x (*.f64 z 1/2))) (*.f64 x (*.f64 z 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 z (/.f64 (*.f64 z x) 2)) (/.f64 (*.f64 z x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (*.f64 (neg.f64 z) (+.f64 1/2 (/.f64 x -2)))) (*.f64 (neg.f64 z) (+.f64 1/2 (/.f64 x -2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (*.f64 (+.f64 x -1) (*.f64 z 1/2))) (*.f64 (+.f64 x -1) (*.f64 z 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (-.f64 (*.f64 z x) z) (-.f64 (*.f64 z (+.f64 x x)) z)) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (+.f64 z (-.f64 z (*.f64 z x))) (neg.f64 z)) (+.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (+.f64 z (-.f64 z (*.f64 z x))) (*.f64 z 1/2)) (*.f64 z 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (+.f64 z (-.f64 z (*.f64 z x))) (/.f64 z -2)) (+.f64 z (*.f64 z 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (+.f64 z (-.f64 z (*.f64 z x))) (-.f64 x (-.f64 1 (*.f64 z 1/2)))) (+.f64 (-.f64 1 x) (*.f64 z 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (+.f64 z (*.f64 z x)) (*.f64 z x)) (*.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (+.f64 z (*.f64 z x)) (*.f64 (+.f64 z z) (*.f64 x 1/2))) (*.f64 (+.f64 z z) (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (+.f64 z (*.f64 z x)) (*.f64 (+.f64 x x) (*.f64 z 1/2))) (*.f64 (+.f64 x x) (*.f64 z 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 z (*.f64 z x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (+.f64 2 (*.f64 x -2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 z x) z) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 z (+.f64 2 (*.f64 x -2)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (+.f64 x (+.f64 x -2))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 z (+.f64 2 (*.f64 x -2)))) (*.f64 2 (*.f64 z (+.f64 2 (*.f64 x -2))))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 z (+.f64 x (+.f64 x -2))) (*.f64 z (+.f64 x (+.f64 x -2)))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (*.f64 z (+.f64 2 (*.f64 x -2))))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (*.f64 2 (+.f64 2 (*.f64 x -2)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 x) (*.f64 2 (+.f64 z z))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (+.f64 (*.f64 2 (*.f64 z (+.f64 2 (*.f64 x -2)))) (*.f64 2 (*.f64 z (+.f64 2 (*.f64 x -2))))) (+.f64 (*.f64 2 (*.f64 z (+.f64 2 (*.f64 x -2)))) (*.f64 2 (*.f64 z (+.f64 2 (*.f64 x -2)))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (+.f64 (*.f64 z (+.f64 x (+.f64 x -2))) (*.f64 z (+.f64 x (+.f64 x -2)))) (+.f64 (*.f64 z (+.f64 x (+.f64 x -2))) (*.f64 z (+.f64 x (+.f64 x -2))))) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 z (*.f64 2 (+.f64 2 (*.f64 x -2)))) (*.f64 z (*.f64 2 (+.f64 2 (*.f64 x -2))))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (-.f64 1 x) (*.f64 2 (+.f64 z z))) (*.f64 (-.f64 1 x) (*.f64 2 (+.f64 z z)))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (+.f64 2 (*.f64 x -2)) (*.f64 z -2)) 2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (+.f64 2 (*.f64 x -2)) (*.f64 2 (+.f64 z z))) 2) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (+.f64 z z) (*.f64 2 (+.f64 2 (*.f64 x -2)))) 2) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (+.f64 z z) (+.f64 x (+.f64 x -2))) 2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (*.f64 2 (*.f64 z (+.f64 2 (*.f64 x -2))))) -1) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (neg.f64 z) (*.f64 2 (+.f64 2 (*.f64 x -2)))) -1) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (+.f64 x -1) (*.f64 2 (+.f64 z z))) -1) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 z (*.f64 z x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (*.f64 z x) z)))))) |
| 1× | egg-herbie |
| 1226× | rational_best-simplify-3 |
| 964× | rational_best-simplify-61 |
| 718× | rational_best-simplify-69 |
| 616× | rational_best-simplify-1 |
| 576× | rational_best-simplify-68 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 342 | 3039 |
| 1 | 1033 | 2411 |
| 2 | 3186 | 2317 |
| 1× | node limit |
| Inputs |
|---|
z |
(+.f64 (*.f64 -1 (*.f64 z x)) z) |
(+.f64 (*.f64 -1 (*.f64 z x)) z) |
(+.f64 (*.f64 -1 (*.f64 z x)) z) |
(*.f64 -1 (*.f64 z x)) |
(+.f64 z (*.f64 -1 (*.f64 z x))) |
(+.f64 z (*.f64 -1 (*.f64 z x))) |
(+.f64 z (*.f64 -1 (*.f64 z x))) |
(*.f64 -1 (*.f64 z x)) |
(+.f64 z (*.f64 -1 (*.f64 z x))) |
(+.f64 z (*.f64 -1 (*.f64 z x))) |
(+.f64 z (*.f64 -1 (*.f64 z x))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(+.f64 (-.f64 z (*.f64 z x)) 0) |
(+.f64 (-.f64 z (*.f64 z x)) (+.f64 (*.f64 z (+.f64 x (+.f64 x -2))) (*.f64 z (+.f64 2 (*.f64 x -2))))) |
(+.f64 0 (-.f64 z (*.f64 z x))) |
(+.f64 (neg.f64 z) (+.f64 (+.f64 z z) (*.f64 x (neg.f64 z)))) |
(+.f64 (neg.f64 z) (+.f64 (*.f64 z x) (*.f64 z (+.f64 2 (*.f64 x -2))))) |
(+.f64 (*.f64 z x) (+.f64 (neg.f64 z) (*.f64 z (+.f64 2 (*.f64 x -2))))) |
(+.f64 (+.f64 z z) (-.f64 (neg.f64 z) (*.f64 z x))) |
(+.f64 (*.f64 z (+.f64 2 (*.f64 x -2))) (-.f64 (*.f64 z x) z)) |
(+.f64 (-.f64 (*.f64 z x) z) (*.f64 z (+.f64 2 (*.f64 x -2)))) |
(+.f64 (*.f64 x (neg.f64 z)) z) |
(+.f64 (*.f64 z 1/2) (-.f64 (*.f64 z 1/2) (*.f64 z x))) |
(+.f64 (*.f64 z 1/2) (+.f64 (*.f64 x (neg.f64 z)) (*.f64 z 1/2))) |
(+.f64 (*.f64 z 1/2) (+.f64 (+.f64 (*.f64 x (neg.f64 z)) (*.f64 z 1/2)) 0)) |
(+.f64 (*.f64 z 1/2) (+.f64 (/.f64 (*.f64 z x) -2) (*.f64 (-.f64 1 x) (*.f64 z 1/2)))) |
(+.f64 (*.f64 (-.f64 1 x) (*.f64 z 1/2)) (*.f64 (-.f64 1 x) (*.f64 z 1/2))) |
(+.f64 (+.f64 (*.f64 x (neg.f64 z)) (*.f64 x (neg.f64 z))) (+.f64 z (*.f64 z x))) |
(+.f64 (/.f64 z -2) (+.f64 (-.f64 (*.f64 z x) (*.f64 z 1/2)) (*.f64 z (+.f64 2 (*.f64 x -2))))) |
(+.f64 (/.f64 z -2) (+.f64 (+.f64 z (*.f64 z 1/2)) (*.f64 x (neg.f64 z)))) |
(+.f64 (*.f64 (neg.f64 z) (+.f64 1/2 (/.f64 x -2))) (+.f64 (*.f64 (neg.f64 z) (+.f64 1/2 (/.f64 x -2))) (*.f64 z (+.f64 2 (*.f64 x -2))))) |
(+.f64 (*.f64 (+.f64 x -1) (*.f64 z 1/2)) (+.f64 (*.f64 (+.f64 x -1) (*.f64 z 1/2)) (*.f64 z (+.f64 2 (*.f64 x -2))))) |
(+.f64 (*.f64 (neg.f64 x) (*.f64 z 1/2)) (+.f64 (*.f64 (neg.f64 x) (*.f64 z 1/2)) z)) |
(+.f64 (*.f64 (neg.f64 z) (*.f64 x 1/2)) (+.f64 (*.f64 (neg.f64 z) (*.f64 x 1/2)) z)) |
(+.f64 (/.f64 (-.f64 z (*.f64 z x)) -2) (+.f64 (/.f64 (-.f64 z (*.f64 z x)) -2) (*.f64 z (+.f64 2 (*.f64 x -2))))) |
(+.f64 (/.f64 (*.f64 z x) -2) (+.f64 (*.f64 z 1/2) (*.f64 (-.f64 1 x) (*.f64 z 1/2)))) |
(+.f64 (/.f64 (-.f64 (*.f64 z x) z) -4) (+.f64 (/.f64 (-.f64 (*.f64 z x) z) -4) (*.f64 (-.f64 1 x) (*.f64 z 1/2)))) |
(+.f64 (/.f64 z 4) (+.f64 (/.f64 z 4) (+.f64 (*.f64 x (neg.f64 z)) (*.f64 z 1/2)))) |
(+.f64 (+.f64 z (*.f64 (-.f64 1 x) (*.f64 z 1/2))) (-.f64 (*.f64 (-.f64 1 x) (*.f64 z 1/2)) z)) |
(+.f64 (+.f64 (-.f64 1 x) (*.f64 (-.f64 1 x) (*.f64 z 1/2))) (-.f64 x (-.f64 1 (*.f64 (-.f64 1 x) (*.f64 z 1/2))))) |
(+.f64 (-.f64 (neg.f64 z) (*.f64 z x)) (+.f64 z z)) |
(+.f64 (-.f64 (neg.f64 z) (*.f64 z x)) (+.f64 (*.f64 z (+.f64 x x)) (*.f64 z (+.f64 2 (*.f64 x -2))))) |
(+.f64 (-.f64 x (-.f64 1 (*.f64 z 1/2))) (+.f64 (+.f64 (-.f64 1 x) (*.f64 z 1/2)) (*.f64 x (neg.f64 z)))) |
(+.f64 (-.f64 (*.f64 z 1/2) (*.f64 z x)) (*.f64 z 1/2)) |
(+.f64 (+.f64 (*.f64 x (neg.f64 z)) (*.f64 z 1/2)) (*.f64 z 1/2)) |
(+.f64 (-.f64 x (-.f64 1 (*.f64 (-.f64 1 x) (*.f64 z 1/2)))) (+.f64 (-.f64 1 x) (*.f64 (-.f64 1 x) (*.f64 z 1/2)))) |
(+.f64 (-.f64 x (-.f64 1 (*.f64 (-.f64 1 x) (*.f64 z 1/2)))) (+.f64 (+.f64 (-.f64 1 x) (*.f64 (-.f64 1 x) (*.f64 z 1/2))) 0)) |
(+.f64 (-.f64 (*.f64 (-.f64 1 x) (*.f64 z 1/2)) z) (+.f64 z (*.f64 (-.f64 1 x) (*.f64 z 1/2)))) |
(+.f64 (-.f64 (*.f64 (-.f64 1 x) (*.f64 z 1/2)) z) (+.f64 (+.f64 z (*.f64 (-.f64 1 x) (*.f64 z 1/2))) 0)) |
(+.f64 (+.f64 z (*.f64 z x)) (+.f64 (*.f64 x (neg.f64 z)) (*.f64 x (neg.f64 z)))) |
(+.f64 (+.f64 z (*.f64 z x)) (+.f64 (+.f64 (*.f64 x (neg.f64 z)) (*.f64 x (neg.f64 z))) 0)) |
(-.f64 z (*.f64 z x)) |
(-.f64 z (+.f64 (+.f64 z (*.f64 z x)) (neg.f64 z))) |
(-.f64 z (+.f64 (*.f64 z (+.f64 x (+.f64 x -2))) (+.f64 z (-.f64 z (*.f64 z x))))) |
(-.f64 1 (+.f64 (+.f64 (-.f64 1 x) (-.f64 (*.f64 z x) z)) x)) |
(-.f64 (-.f64 1 x) (+.f64 (-.f64 1 x) (-.f64 (*.f64 z x) z))) |
(-.f64 (-.f64 1 x) (+.f64 (*.f64 z x) (-.f64 1 (+.f64 z x)))) |
(-.f64 (-.f64 1 x) (+.f64 (+.f64 (-.f64 1 x) (-.f64 (*.f64 z x) z)) 0)) |
(-.f64 (-.f64 1 x) (+.f64 (*.f64 z (+.f64 x (+.f64 x -2))) (+.f64 (-.f64 1 x) (-.f64 z (*.f64 z x))))) |
(-.f64 (-.f64 z (*.f64 z x)) 0) |
(-.f64 (-.f64 z (*.f64 z x)) (-.f64 (-.f64 (*.f64 z x) z) (-.f64 (*.f64 z x) z))) |
(-.f64 0 (-.f64 (*.f64 z x) z)) |
(-.f64 0 (+.f64 (+.f64 z (*.f64 z x)) (*.f64 z -2))) |
(-.f64 0 (+.f64 (+.f64 (-.f64 1 x) (-.f64 (*.f64 z x) z)) (+.f64 x -1))) |
(-.f64 (neg.f64 z) (+.f64 (*.f64 z x) (*.f64 z -2))) |
(-.f64 (neg.f64 z) (-.f64 0 (+.f64 z (-.f64 z (*.f64 z x))))) |
(-.f64 (neg.f64 z) (+.f64 (*.f64 z (+.f64 x (+.f64 x -2))) (*.f64 x (neg.f64 z)))) |
(-.f64 (*.f64 z x) (+.f64 (*.f64 z (+.f64 x (+.f64 x -2))) z)) |
(-.f64 (+.f64 z z) (+.f64 z (*.f64 z x))) |
(-.f64 (+.f64 z z) (-.f64 (*.f64 z (+.f64 x x)) (-.f64 (*.f64 z x) z))) |
(-.f64 (+.f64 z z) (+.f64 (+.f64 z (*.f64 z x)) 0)) |
(-.f64 (*.f64 z (+.f64 2 (*.f64 x -2))) (-.f64 z (*.f64 z x))) |
(-.f64 (*.f64 z (+.f64 2 (*.f64 x -2))) (-.f64 (+.f64 (*.f64 x (neg.f64 z)) (*.f64 z x)) (-.f64 (*.f64 z x) z))) |
(-.f64 (neg.f64 x) (+.f64 (+.f64 (-.f64 1 x) (-.f64 (*.f64 z x) z)) -1)) |
(-.f64 (-.f64 (*.f64 z x) z) (*.f64 z (+.f64 x (+.f64 x -2)))) |
(-.f64 (*.f64 z -2) (-.f64 (neg.f64 z) (+.f64 z (-.f64 z (*.f64 z x))))) |
(-.f64 (*.f64 x (neg.f64 z)) (neg.f64 z)) |
(-.f64 (+.f64 1/2 (/.f64 x -2)) (+.f64 (+.f64 (-.f64 1 x) (-.f64 (*.f64 z x) z)) (-.f64 (*.f64 x 1/2) 1/2))) |
(-.f64 (*.f64 z 1/2) (-.f64 (*.f64 z x) (*.f64 z 1/2))) |
(-.f64 (*.f64 z 1/2) (-.f64 (+.f64 z (*.f64 z 1/2)) (+.f64 z (-.f64 z (*.f64 z x))))) |
(-.f64 (*.f64 z 1/2) (+.f64 (*.f64 z x) (/.f64 z -2))) |
(-.f64 (*.f64 z 1/2) (+.f64 (+.f64 z (*.f64 z x)) (-.f64 (/.f64 z -2) z))) |
(-.f64 (*.f64 z 1/2) (+.f64 (/.f64 (-.f64 z (*.f64 z x)) -2) (/.f64 (*.f64 z x) 2))) |
(-.f64 (*.f64 (-.f64 1 x) (*.f64 z 1/2)) (/.f64 (-.f64 z (*.f64 z x)) -2)) |
(-.f64 (*.f64 (-.f64 1 x) (*.f64 z 1/2)) (+.f64 (/.f64 (-.f64 z (*.f64 z x)) -2) 0)) |
(-.f64 (*.f64 (-.f64 1 x) (*.f64 z 1/2)) (-.f64 z (+.f64 z (*.f64 (-.f64 1 x) (*.f64 z 1/2))))) |
(-.f64 (*.f64 (-.f64 1 x) (*.f64 z 1/2)) (-.f64 (-.f64 1 x) (+.f64 (-.f64 1 x) (*.f64 (-.f64 1 x) (*.f64 z 1/2))))) |
(-.f64 (+.f64 z (-.f64 z (*.f64 z x))) z) |
(-.f64 (+.f64 z (-.f64 z (*.f64 z x))) (-.f64 (*.f64 z x) (-.f64 (*.f64 z x) z))) |
(-.f64 (+.f64 z (*.f64 z 1/2)) (+.f64 (+.f64 z (*.f64 z x)) (/.f64 z -2))) |
(-.f64 (+.f64 z (*.f64 z 1/2)) (+.f64 (*.f64 z x) (*.f64 z 1/2))) |
(-.f64 (+.f64 (-.f64 1 x) (-.f64 (*.f64 z x) z)) (+.f64 (*.f64 z (+.f64 x (+.f64 x -2))) (-.f64 1 x))) |
(-.f64 (neg.f64 (*.f64 z (+.f64 x x))) (-.f64 (neg.f64 z) (*.f64 z x))) |
(-.f64 (-.f64 1 (+.f64 z x)) (-.f64 (-.f64 1 x) (+.f64 z (-.f64 z (*.f64 z x))))) |
(-.f64 (+.f64 (-.f64 1 x) (-.f64 z (*.f64 z x))) (-.f64 1 x)) |
(-.f64 (-.f64 (*.f64 z x) (*.f64 z 1/2)) (+.f64 (*.f64 z (+.f64 x (+.f64 x -2))) (*.f64 z 1/2))) |
(-.f64 (-.f64 1 (*.f64 x 1/2)) (+.f64 (+.f64 (-.f64 1 x) (-.f64 (*.f64 z x) z)) (*.f64 x 1/2))) |
(-.f64 (/.f64 z -2) (-.f64 (*.f64 z 1/2) (+.f64 z (-.f64 z (*.f64 z x))))) |
(-.f64 (/.f64 (-.f64 z (*.f64 z x)) -2) (+.f64 (*.f64 z (+.f64 x (+.f64 x -2))) (*.f64 (-.f64 1 x) (*.f64 z 1/2)))) |
(-.f64 (/.f64 (*.f64 z x) -2) (+.f64 (/.f64 (-.f64 z (*.f64 z x)) -2) (/.f64 z -2))) |
(-.f64 (+.f64 z (*.f64 (-.f64 1 x) (*.f64 z 1/2))) (-.f64 z (*.f64 (-.f64 1 x) (*.f64 z 1/2)))) |
(-.f64 (+.f64 (-.f64 1 x) (*.f64 (-.f64 1 x) (*.f64 z 1/2))) (-.f64 (-.f64 1 x) (*.f64 (-.f64 1 x) (*.f64 z 1/2)))) |
(-.f64 (-.f64 (neg.f64 z) (*.f64 z x)) (*.f64 z -2)) |
(-.f64 (-.f64 z (+.f64 (-.f64 1 x) (*.f64 z x))) (+.f64 x -1)) |
(-.f64 (-.f64 (*.f64 z 1/2) (*.f64 z x)) (/.f64 z -2)) |
(-.f64 (+.f64 z (*.f64 z x)) (*.f64 z (+.f64 x x))) |
(-.f64 (-.f64 (-.f64 (*.f64 z x) z) (-.f64 (*.f64 z x) z)) (-.f64 (*.f64 z x) z)) |
(-.f64 (-.f64 (*.f64 z 1/2) (+.f64 z (*.f64 z x))) (-.f64 (/.f64 z -2) z)) |
(-.f64 (-.f64 (+.f64 z (*.f64 z 1/2)) (+.f64 z (*.f64 z x))) (/.f64 z -2)) |
(-.f64 (-.f64 (-.f64 1 x) (*.f64 z x)) (-.f64 1 (+.f64 z x))) |
(-.f64 (-.f64 (+.f64 z (*.f64 z 1/2)) (*.f64 z x)) (*.f64 z 1/2)) |
(-.f64 (-.f64 1 (+.f64 (-.f64 1 x) (-.f64 (*.f64 z x) z))) x) |
(-.f64 (-.f64 (neg.f64 x) (+.f64 (-.f64 1 x) (-.f64 (*.f64 z x) z))) -1) |
(-.f64 (-.f64 (+.f64 1/2 (/.f64 x -2)) (+.f64 (-.f64 1 x) (-.f64 (*.f64 z x) z))) (-.f64 (*.f64 x 1/2) 1/2)) |
(-.f64 (-.f64 (-.f64 1 (*.f64 x 1/2)) (+.f64 (-.f64 1 x) (-.f64 (*.f64 z x) z))) (*.f64 x 1/2)) |
(-.f64 (-.f64 z (*.f64 z (+.f64 x (+.f64 x -2)))) (+.f64 z (-.f64 z (*.f64 z x)))) |
(-.f64 (-.f64 (-.f64 1 x) (*.f64 z (+.f64 x (+.f64 x -2)))) (+.f64 (-.f64 1 x) (-.f64 z (*.f64 z x)))) |
(-.f64 (-.f64 (neg.f64 z) (*.f64 z (+.f64 x (+.f64 x -2)))) (*.f64 x (neg.f64 z))) |
(-.f64 (-.f64 (/.f64 (-.f64 z (*.f64 z x)) -2) (*.f64 z (+.f64 x (+.f64 x -2)))) (*.f64 (-.f64 1 x) (*.f64 z 1/2))) |
(-.f64 (-.f64 (-.f64 (*.f64 z x) (*.f64 z 1/2)) (*.f64 z (+.f64 x (+.f64 x -2)))) (*.f64 z 1/2)) |
(-.f64 (-.f64 (*.f64 z 1/2) (/.f64 (-.f64 z (*.f64 z x)) -2)) (/.f64 (*.f64 z x) 2)) |
(-.f64 (-.f64 (/.f64 (*.f64 z x) -2) (/.f64 (-.f64 z (*.f64 z x)) -2)) (/.f64 z -2)) |
(-.f64 (-.f64 z (*.f64 z (*.f64 x 1/2))) (*.f64 z (*.f64 x 1/2))) |
(-.f64 (-.f64 z (*.f64 x (*.f64 z 1/2))) (*.f64 x (*.f64 z 1/2))) |
(-.f64 (-.f64 z (/.f64 (*.f64 z x) 2)) (/.f64 (*.f64 z x) 2)) |
(-.f64 (-.f64 0 (*.f64 (neg.f64 z) (+.f64 1/2 (/.f64 x -2)))) (*.f64 (neg.f64 z) (+.f64 1/2 (/.f64 x -2)))) |
(-.f64 (-.f64 0 (*.f64 (+.f64 x -1) (*.f64 z 1/2))) (*.f64 (+.f64 x -1) (*.f64 z 1/2))) |
(-.f64 (-.f64 (-.f64 (*.f64 z x) z) (-.f64 (*.f64 z (+.f64 x x)) z)) (neg.f64 z)) |
(-.f64 (-.f64 (+.f64 z (-.f64 z (*.f64 z x))) (neg.f64 z)) (+.f64 z z)) |
(-.f64 (-.f64 (+.f64 z (-.f64 z (*.f64 z x))) (*.f64 z 1/2)) (*.f64 z 1/2)) |
(-.f64 (-.f64 (+.f64 z (-.f64 z (*.f64 z x))) (/.f64 z -2)) (+.f64 z (*.f64 z 1/2))) |
(-.f64 (-.f64 (+.f64 z (-.f64 z (*.f64 z x))) (-.f64 x (-.f64 1 (*.f64 z 1/2)))) (+.f64 (-.f64 1 x) (*.f64 z 1/2))) |
(-.f64 (-.f64 (+.f64 z (*.f64 z x)) (*.f64 z x)) (*.f64 z x)) |
(-.f64 (-.f64 (+.f64 z (*.f64 z x)) (*.f64 (+.f64 z z) (*.f64 x 1/2))) (*.f64 (+.f64 z z) (*.f64 x 1/2))) |
(-.f64 (-.f64 (+.f64 z (*.f64 z x)) (*.f64 (+.f64 x x) (*.f64 z 1/2))) (*.f64 (+.f64 x x) (*.f64 z 1/2))) |
(/.f64 (-.f64 z (*.f64 z x)) 1) |
(/.f64 (*.f64 z (+.f64 2 (*.f64 x -2))) 2) |
(/.f64 (-.f64 (*.f64 z x) z) -1) |
(/.f64 (*.f64 2 (*.f64 z (+.f64 2 (*.f64 x -2)))) 4) |
(/.f64 (*.f64 z (+.f64 x (+.f64 x -2))) -2) |
(/.f64 (+.f64 (*.f64 2 (*.f64 z (+.f64 2 (*.f64 x -2)))) (*.f64 2 (*.f64 z (+.f64 2 (*.f64 x -2))))) 8) |
(/.f64 (+.f64 (*.f64 z (+.f64 x (+.f64 x -2))) (*.f64 z (+.f64 x (+.f64 x -2)))) -4) |
(/.f64 (neg.f64 (*.f64 2 (*.f64 z (+.f64 2 (*.f64 x -2))))) -4) |
(/.f64 (*.f64 z (*.f64 2 (+.f64 2 (*.f64 x -2)))) 4) |
(/.f64 (*.f64 (-.f64 1 x) (*.f64 2 (+.f64 z z))) 4) |
(/.f64 (+.f64 (+.f64 (*.f64 2 (*.f64 z (+.f64 2 (*.f64 x -2)))) (*.f64 2 (*.f64 z (+.f64 2 (*.f64 x -2))))) (+.f64 (*.f64 2 (*.f64 z (+.f64 2 (*.f64 x -2)))) (*.f64 2 (*.f64 z (+.f64 2 (*.f64 x -2)))))) 16) |
(/.f64 (+.f64 (+.f64 (*.f64 z (+.f64 x (+.f64 x -2))) (*.f64 z (+.f64 x (+.f64 x -2)))) (+.f64 (*.f64 z (+.f64 x (+.f64 x -2))) (*.f64 z (+.f64 x (+.f64 x -2))))) -8) |
(/.f64 (+.f64 (*.f64 z (*.f64 2 (+.f64 2 (*.f64 x -2)))) (*.f64 z (*.f64 2 (+.f64 2 (*.f64 x -2))))) 8) |
(/.f64 (+.f64 (*.f64 (-.f64 1 x) (*.f64 2 (+.f64 z z))) (*.f64 (-.f64 1 x) (*.f64 2 (+.f64 z z)))) 8) |
(/.f64 (/.f64 (*.f64 (+.f64 2 (*.f64 x -2)) (*.f64 z -2)) 2) -2) |
(/.f64 (/.f64 (*.f64 (+.f64 2 (*.f64 x -2)) (*.f64 2 (+.f64 z z))) 2) 4) |
(/.f64 (/.f64 (*.f64 (+.f64 z z) (*.f64 2 (+.f64 2 (*.f64 x -2)))) 2) 4) |
(/.f64 (/.f64 (*.f64 (+.f64 z z) (+.f64 x (+.f64 x -2))) 2) -2) |
(/.f64 (/.f64 (neg.f64 (*.f64 2 (*.f64 z (+.f64 2 (*.f64 x -2))))) -1) 4) |
(/.f64 (/.f64 (*.f64 (neg.f64 z) (*.f64 2 (+.f64 2 (*.f64 x -2)))) -1) 4) |
(/.f64 (/.f64 (*.f64 (+.f64 x -1) (*.f64 2 (+.f64 z z))) -1) 4) |
(pow.f64 (-.f64 z (*.f64 z x)) 1) |
(neg.f64 (-.f64 (*.f64 z x) z)) |
| Outputs |
|---|
z |
(+.f64 (*.f64 -1 (*.f64 z x)) z) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 z x)) z) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 z x)) z) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(*.f64 -1 (*.f64 z x)) |
(*.f64 x (neg.f64 z)) |
(*.f64 z (neg.f64 x)) |
(+.f64 z (*.f64 -1 (*.f64 z x))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 z (*.f64 -1 (*.f64 z x))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 z (*.f64 -1 (*.f64 z x))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(*.f64 -1 (*.f64 z x)) |
(*.f64 x (neg.f64 z)) |
(*.f64 z (neg.f64 x)) |
(+.f64 z (*.f64 -1 (*.f64 z x))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 z (*.f64 -1 (*.f64 z x))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 z (*.f64 -1 (*.f64 z x))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (-.f64 z (*.f64 z x)) 0) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (-.f64 z (*.f64 z x)) (+.f64 (*.f64 z (+.f64 x (+.f64 x -2))) (*.f64 z (+.f64 2 (*.f64 x -2))))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 0 (-.f64 z (*.f64 z x))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (neg.f64 z) (+.f64 (+.f64 z z) (*.f64 x (neg.f64 z)))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (neg.f64 z) (+.f64 (*.f64 z x) (*.f64 z (+.f64 2 (*.f64 x -2))))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (*.f64 z x) (+.f64 (neg.f64 z) (*.f64 z (+.f64 2 (*.f64 x -2))))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (+.f64 z z) (-.f64 (neg.f64 z) (*.f64 z x))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (*.f64 z (+.f64 2 (*.f64 x -2))) (-.f64 (*.f64 z x) z)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (-.f64 (*.f64 z x) z) (*.f64 z (+.f64 2 (*.f64 x -2)))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (*.f64 x (neg.f64 z)) z) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (*.f64 z 1/2) (-.f64 (*.f64 z 1/2) (*.f64 z x))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (*.f64 z 1/2) (+.f64 (*.f64 x (neg.f64 z)) (*.f64 z 1/2))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (*.f64 z 1/2) (+.f64 (+.f64 (*.f64 x (neg.f64 z)) (*.f64 z 1/2)) 0)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (*.f64 z 1/2) (+.f64 (/.f64 (*.f64 z x) -2) (*.f64 (-.f64 1 x) (*.f64 z 1/2)))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (*.f64 (-.f64 1 x) (*.f64 z 1/2)) (*.f64 (-.f64 1 x) (*.f64 z 1/2))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (+.f64 (*.f64 x (neg.f64 z)) (*.f64 x (neg.f64 z))) (+.f64 z (*.f64 z x))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (/.f64 z -2) (+.f64 (-.f64 (*.f64 z x) (*.f64 z 1/2)) (*.f64 z (+.f64 2 (*.f64 x -2))))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (/.f64 z -2) (+.f64 (+.f64 z (*.f64 z 1/2)) (*.f64 x (neg.f64 z)))) |
(+.f64 (*.f64 x (neg.f64 z)) (+.f64 (+.f64 z (*.f64 z 1/2)) (/.f64 z -2))) |
(+.f64 (/.f64 z -2) (+.f64 (*.f64 z 1/2) (-.f64 z (*.f64 z x)))) |
(+.f64 (*.f64 z -1/2) (+.f64 z (*.f64 z (+.f64 (neg.f64 x) 1/2)))) |
(+.f64 (*.f64 (neg.f64 z) (+.f64 1/2 (/.f64 x -2))) (+.f64 (*.f64 (neg.f64 z) (+.f64 1/2 (/.f64 x -2))) (*.f64 z (+.f64 2 (*.f64 x -2))))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (*.f64 (+.f64 x -1) (*.f64 z 1/2)) (+.f64 (*.f64 (+.f64 x -1) (*.f64 z 1/2)) (*.f64 z (+.f64 2 (*.f64 x -2))))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (*.f64 (neg.f64 x) (*.f64 z 1/2)) (+.f64 (*.f64 (neg.f64 x) (*.f64 z 1/2)) z)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (*.f64 (neg.f64 z) (*.f64 x 1/2)) (+.f64 (*.f64 (neg.f64 z) (*.f64 x 1/2)) z)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (/.f64 (-.f64 z (*.f64 z x)) -2) (+.f64 (/.f64 (-.f64 z (*.f64 z x)) -2) (*.f64 z (+.f64 2 (*.f64 x -2))))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (/.f64 (*.f64 z x) -2) (+.f64 (*.f64 z 1/2) (*.f64 (-.f64 1 x) (*.f64 z 1/2)))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (/.f64 (-.f64 (*.f64 z x) z) -4) (+.f64 (/.f64 (-.f64 (*.f64 z x) z) -4) (*.f64 (-.f64 1 x) (*.f64 z 1/2)))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (/.f64 z 4) (+.f64 (/.f64 z 4) (+.f64 (*.f64 x (neg.f64 z)) (*.f64 z 1/2)))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (+.f64 z (*.f64 (-.f64 1 x) (*.f64 z 1/2))) (-.f64 (*.f64 (-.f64 1 x) (*.f64 z 1/2)) z)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (+.f64 (-.f64 1 x) (*.f64 (-.f64 1 x) (*.f64 z 1/2))) (-.f64 x (-.f64 1 (*.f64 (-.f64 1 x) (*.f64 z 1/2))))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (-.f64 (neg.f64 z) (*.f64 z x)) (+.f64 z z)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (-.f64 (neg.f64 z) (*.f64 z x)) (+.f64 (*.f64 z (+.f64 x x)) (*.f64 z (+.f64 2 (*.f64 x -2))))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (-.f64 x (-.f64 1 (*.f64 z 1/2))) (+.f64 (+.f64 (-.f64 1 x) (*.f64 z 1/2)) (*.f64 x (neg.f64 z)))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (-.f64 (*.f64 z 1/2) (*.f64 z x)) (*.f64 z 1/2)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (+.f64 (*.f64 x (neg.f64 z)) (*.f64 z 1/2)) (*.f64 z 1/2)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (-.f64 x (-.f64 1 (*.f64 (-.f64 1 x) (*.f64 z 1/2)))) (+.f64 (-.f64 1 x) (*.f64 (-.f64 1 x) (*.f64 z 1/2)))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (-.f64 x (-.f64 1 (*.f64 (-.f64 1 x) (*.f64 z 1/2)))) (+.f64 (+.f64 (-.f64 1 x) (*.f64 (-.f64 1 x) (*.f64 z 1/2))) 0)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (-.f64 (*.f64 (-.f64 1 x) (*.f64 z 1/2)) z) (+.f64 z (*.f64 (-.f64 1 x) (*.f64 z 1/2)))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (-.f64 (*.f64 (-.f64 1 x) (*.f64 z 1/2)) z) (+.f64 (+.f64 z (*.f64 (-.f64 1 x) (*.f64 z 1/2))) 0)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (+.f64 z (*.f64 z x)) (+.f64 (*.f64 x (neg.f64 z)) (*.f64 x (neg.f64 z)))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(+.f64 (+.f64 z (*.f64 z x)) (+.f64 (+.f64 (*.f64 x (neg.f64 z)) (*.f64 x (neg.f64 z))) 0)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 z (*.f64 z x)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (+.f64 (+.f64 z (*.f64 z x)) (neg.f64 z))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 z (+.f64 (*.f64 z (+.f64 x (+.f64 x -2))) (+.f64 z (-.f64 z (*.f64 z x))))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 1 (+.f64 (+.f64 (-.f64 1 x) (-.f64 (*.f64 z x) z)) x)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 1 x) (+.f64 (-.f64 1 x) (-.f64 (*.f64 z x) z))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 1 x) (+.f64 (*.f64 z x) (-.f64 1 (+.f64 z x)))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 1 x) (+.f64 (+.f64 (-.f64 1 x) (-.f64 (*.f64 z x) z)) 0)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 1 x) (+.f64 (*.f64 z (+.f64 x (+.f64 x -2))) (+.f64 (-.f64 1 x) (-.f64 z (*.f64 z x))))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 z (*.f64 z x)) 0) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 z (*.f64 z x)) (-.f64 (-.f64 (*.f64 z x) z) (-.f64 (*.f64 z x) z))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 0 (-.f64 (*.f64 z x) z)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 0 (+.f64 (+.f64 z (*.f64 z x)) (*.f64 z -2))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 0 (+.f64 (+.f64 (-.f64 1 x) (-.f64 (*.f64 z x) z)) (+.f64 x -1))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (neg.f64 z) (+.f64 (*.f64 z x) (*.f64 z -2))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (neg.f64 z) (-.f64 0 (+.f64 z (-.f64 z (*.f64 z x))))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (neg.f64 z) (+.f64 (*.f64 z (+.f64 x (+.f64 x -2))) (*.f64 x (neg.f64 z)))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (*.f64 z x) (+.f64 (*.f64 z (+.f64 x (+.f64 x -2))) z)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (+.f64 z z) (+.f64 z (*.f64 z x))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (+.f64 z z) (-.f64 (*.f64 z (+.f64 x x)) (-.f64 (*.f64 z x) z))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (+.f64 z z) (+.f64 (+.f64 z (*.f64 z x)) 0)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (*.f64 z (+.f64 2 (*.f64 x -2))) (-.f64 z (*.f64 z x))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (*.f64 z (+.f64 2 (*.f64 x -2))) (-.f64 (+.f64 (*.f64 x (neg.f64 z)) (*.f64 z x)) (-.f64 (*.f64 z x) z))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (neg.f64 x) (+.f64 (+.f64 (-.f64 1 x) (-.f64 (*.f64 z x) z)) -1)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 (*.f64 z x) z) (*.f64 z (+.f64 x (+.f64 x -2)))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (*.f64 z -2) (-.f64 (neg.f64 z) (+.f64 z (-.f64 z (*.f64 z x))))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (*.f64 x (neg.f64 z)) (neg.f64 z)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (+.f64 1/2 (/.f64 x -2)) (+.f64 (+.f64 (-.f64 1 x) (-.f64 (*.f64 z x) z)) (-.f64 (*.f64 x 1/2) 1/2))) |
(-.f64 1/2 (-.f64 (*.f64 x 1/2) (-.f64 (+.f64 1/2 (/.f64 x -2)) (+.f64 (-.f64 (*.f64 z x) z) (-.f64 1 x))))) |
(+.f64 (+.f64 1 (-.f64 (/.f64 x -2) (*.f64 x 1/2))) (-.f64 (-.f64 z (-.f64 1 x)) (*.f64 z x))) |
(+.f64 (-.f64 z (*.f64 z x)) (-.f64 (+.f64 1 (-.f64 (/.f64 x -2) (*.f64 x 1/2))) (-.f64 1 x))) |
(-.f64 (*.f64 z 1/2) (-.f64 (*.f64 z x) (*.f64 z 1/2))) |
(-.f64 (*.f64 z 1/2) (*.f64 z (-.f64 x 1/2))) |
(*.f64 z (-.f64 1/2 (-.f64 x 1/2))) |
(-.f64 (*.f64 z 1/2) (-.f64 (+.f64 z (*.f64 z 1/2)) (+.f64 z (-.f64 z (*.f64 z x))))) |
(-.f64 (+.f64 z (-.f64 z (*.f64 z x))) (-.f64 (+.f64 z (*.f64 z 1/2)) (*.f64 z 1/2))) |
(-.f64 (*.f64 z 1/2) (-.f64 (+.f64 (*.f64 z 1) (*.f64 z (-.f64 x 1/2))) z)) |
(-.f64 z (-.f64 (*.f64 z (+.f64 x 1/2)) (*.f64 z 1/2))) |
(-.f64 (*.f64 z 1/2) (+.f64 (*.f64 z x) (/.f64 z -2))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (*.f64 z 1/2) (+.f64 (+.f64 z (*.f64 z x)) (-.f64 (/.f64 z -2) z))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (*.f64 z 1/2) (+.f64 (/.f64 (-.f64 z (*.f64 z x)) -2) (/.f64 (*.f64 z x) 2))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (*.f64 (-.f64 1 x) (*.f64 z 1/2)) (/.f64 (-.f64 z (*.f64 z x)) -2)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (*.f64 (-.f64 1 x) (*.f64 z 1/2)) (+.f64 (/.f64 (-.f64 z (*.f64 z x)) -2) 0)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (*.f64 (-.f64 1 x) (*.f64 z 1/2)) (-.f64 z (+.f64 z (*.f64 (-.f64 1 x) (*.f64 z 1/2))))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (*.f64 (-.f64 1 x) (*.f64 z 1/2)) (-.f64 (-.f64 1 x) (+.f64 (-.f64 1 x) (*.f64 (-.f64 1 x) (*.f64 z 1/2))))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (+.f64 z (-.f64 z (*.f64 z x))) z) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (+.f64 z (-.f64 z (*.f64 z x))) (-.f64 (*.f64 z x) (-.f64 (*.f64 z x) z))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (+.f64 z (*.f64 z 1/2)) (+.f64 (+.f64 z (*.f64 z x)) (/.f64 z -2))) |
(-.f64 (-.f64 (+.f64 z (*.f64 z 1/2)) (*.f64 z x)) (+.f64 z (/.f64 z -2))) |
(-.f64 (+.f64 z (*.f64 z 1/2)) (*.f64 z (+.f64 x 1/2))) |
(-.f64 (+.f64 z (*.f64 z 1/2)) (+.f64 (*.f64 z x) (*.f64 z 1/2))) |
(-.f64 (+.f64 z (*.f64 z 1/2)) (+.f64 (+.f64 z (*.f64 z x)) (/.f64 z -2))) |
(-.f64 (-.f64 (+.f64 z (*.f64 z 1/2)) (*.f64 z x)) (+.f64 z (/.f64 z -2))) |
(-.f64 (+.f64 z (*.f64 z 1/2)) (*.f64 z (+.f64 x 1/2))) |
(-.f64 (+.f64 (-.f64 1 x) (-.f64 (*.f64 z x) z)) (+.f64 (*.f64 z (+.f64 x (+.f64 x -2))) (-.f64 1 x))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (neg.f64 (*.f64 z (+.f64 x x))) (-.f64 (neg.f64 z) (*.f64 z x))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 1 (+.f64 z x)) (-.f64 (-.f64 1 x) (+.f64 z (-.f64 z (*.f64 z x))))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (+.f64 (-.f64 1 x) (-.f64 z (*.f64 z x))) (-.f64 1 x)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 (*.f64 z x) (*.f64 z 1/2)) (+.f64 (*.f64 z (+.f64 x (+.f64 x -2))) (*.f64 z 1/2))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 1 (*.f64 x 1/2)) (+.f64 (+.f64 (-.f64 1 x) (-.f64 (*.f64 z x) z)) (*.f64 x 1/2))) |
(-.f64 (+.f64 (-.f64 (-.f64 1 (*.f64 x 1/2)) (-.f64 1 x)) (-.f64 z (*.f64 z x))) (*.f64 x 1/2)) |
(-.f64 (-.f64 x (-.f64 (*.f64 z x) z)) (+.f64 (*.f64 x 1/2) (*.f64 x 1/2))) |
(+.f64 (-.f64 z (*.f64 z x)) (-.f64 x (*.f64 x 1))) |
(-.f64 (/.f64 z -2) (-.f64 (*.f64 z 1/2) (+.f64 z (-.f64 z (*.f64 z x))))) |
(-.f64 (+.f64 z (-.f64 z (*.f64 z x))) (-.f64 (*.f64 z 1/2) (/.f64 z -2))) |
(-.f64 (/.f64 z -2) (+.f64 (-.f64 (*.f64 z x) z) (-.f64 (*.f64 z 1/2) z))) |
(-.f64 (*.f64 z -1/2) (-.f64 (*.f64 z 1/2) (neg.f64 (*.f64 z (+.f64 x -2))))) |
(-.f64 (/.f64 (-.f64 z (*.f64 z x)) -2) (+.f64 (*.f64 z (+.f64 x (+.f64 x -2))) (*.f64 (-.f64 1 x) (*.f64 z 1/2)))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (/.f64 (*.f64 z x) -2) (+.f64 (/.f64 (-.f64 z (*.f64 z x)) -2) (/.f64 z -2))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (+.f64 z (*.f64 (-.f64 1 x) (*.f64 z 1/2))) (-.f64 z (*.f64 (-.f64 1 x) (*.f64 z 1/2)))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (+.f64 (-.f64 1 x) (*.f64 (-.f64 1 x) (*.f64 z 1/2))) (-.f64 (-.f64 1 x) (*.f64 (-.f64 1 x) (*.f64 z 1/2)))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 (neg.f64 z) (*.f64 z x)) (*.f64 z -2)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 z (+.f64 (-.f64 1 x) (*.f64 z x))) (+.f64 x -1)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 (*.f64 z 1/2) (*.f64 z x)) (/.f64 z -2)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (+.f64 z (*.f64 z x)) (*.f64 z (+.f64 x x))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 (-.f64 (*.f64 z x) z) (-.f64 (*.f64 z x) z)) (-.f64 (*.f64 z x) z)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 (*.f64 z 1/2) (+.f64 z (*.f64 z x))) (-.f64 (/.f64 z -2) z)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 (+.f64 z (*.f64 z 1/2)) (+.f64 z (*.f64 z x))) (/.f64 z -2)) |
(-.f64 (+.f64 z (*.f64 z 1/2)) (+.f64 (+.f64 z (*.f64 z x)) (/.f64 z -2))) |
(-.f64 (-.f64 (+.f64 z (*.f64 z 1/2)) (*.f64 z x)) (+.f64 z (/.f64 z -2))) |
(-.f64 (+.f64 z (*.f64 z 1/2)) (*.f64 z (+.f64 x 1/2))) |
(-.f64 (-.f64 (-.f64 1 x) (*.f64 z x)) (-.f64 1 (+.f64 z x))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 (+.f64 z (*.f64 z 1/2)) (*.f64 z x)) (*.f64 z 1/2)) |
(-.f64 (+.f64 z (*.f64 z 1/2)) (+.f64 (+.f64 z (*.f64 z x)) (/.f64 z -2))) |
(-.f64 (-.f64 (+.f64 z (*.f64 z 1/2)) (*.f64 z x)) (+.f64 z (/.f64 z -2))) |
(-.f64 (+.f64 z (*.f64 z 1/2)) (*.f64 z (+.f64 x 1/2))) |
(-.f64 (-.f64 1 (+.f64 (-.f64 1 x) (-.f64 (*.f64 z x) z))) x) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 (neg.f64 x) (+.f64 (-.f64 1 x) (-.f64 (*.f64 z x) z))) -1) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 (+.f64 1/2 (/.f64 x -2)) (+.f64 (-.f64 1 x) (-.f64 (*.f64 z x) z))) (-.f64 (*.f64 x 1/2) 1/2)) |
(-.f64 1/2 (-.f64 (*.f64 x 1/2) (-.f64 (+.f64 1/2 (/.f64 x -2)) (+.f64 (-.f64 (*.f64 z x) z) (-.f64 1 x))))) |
(+.f64 (+.f64 1 (-.f64 (/.f64 x -2) (*.f64 x 1/2))) (-.f64 (-.f64 z (-.f64 1 x)) (*.f64 z x))) |
(+.f64 (-.f64 z (*.f64 z x)) (-.f64 (+.f64 1 (-.f64 (/.f64 x -2) (*.f64 x 1/2))) (-.f64 1 x))) |
(-.f64 (-.f64 (-.f64 1 (*.f64 x 1/2)) (+.f64 (-.f64 1 x) (-.f64 (*.f64 z x) z))) (*.f64 x 1/2)) |
(-.f64 (+.f64 (-.f64 (-.f64 1 (*.f64 x 1/2)) (-.f64 1 x)) (-.f64 z (*.f64 z x))) (*.f64 x 1/2)) |
(-.f64 (-.f64 x (-.f64 (*.f64 z x) z)) (+.f64 (*.f64 x 1/2) (*.f64 x 1/2))) |
(+.f64 (-.f64 z (*.f64 z x)) (-.f64 x (*.f64 x 1))) |
(-.f64 (-.f64 z (*.f64 z (+.f64 x (+.f64 x -2)))) (+.f64 z (-.f64 z (*.f64 z x)))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 (-.f64 1 x) (*.f64 z (+.f64 x (+.f64 x -2)))) (+.f64 (-.f64 1 x) (-.f64 z (*.f64 z x)))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 (neg.f64 z) (*.f64 z (+.f64 x (+.f64 x -2)))) (*.f64 x (neg.f64 z))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 (/.f64 (-.f64 z (*.f64 z x)) -2) (*.f64 z (+.f64 x (+.f64 x -2)))) (*.f64 (-.f64 1 x) (*.f64 z 1/2))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 (-.f64 (*.f64 z x) (*.f64 z 1/2)) (*.f64 z (+.f64 x (+.f64 x -2)))) (*.f64 z 1/2)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 (*.f64 z 1/2) (/.f64 (-.f64 z (*.f64 z x)) -2)) (/.f64 (*.f64 z x) 2)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 (/.f64 (*.f64 z x) -2) (/.f64 (-.f64 z (*.f64 z x)) -2)) (/.f64 z -2)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 z (*.f64 z (*.f64 x 1/2))) (*.f64 z (*.f64 x 1/2))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 z (*.f64 x (*.f64 z 1/2))) (*.f64 x (*.f64 z 1/2))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 z (/.f64 (*.f64 z x) 2)) (/.f64 (*.f64 z x) 2)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 0 (*.f64 (neg.f64 z) (+.f64 1/2 (/.f64 x -2)))) (*.f64 (neg.f64 z) (+.f64 1/2 (/.f64 x -2)))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 0 (*.f64 (+.f64 x -1) (*.f64 z 1/2))) (*.f64 (+.f64 x -1) (*.f64 z 1/2))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 (-.f64 (*.f64 z x) z) (-.f64 (*.f64 z (+.f64 x x)) z)) (neg.f64 z)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 (+.f64 z (-.f64 z (*.f64 z x))) (neg.f64 z)) (+.f64 z z)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 (+.f64 z (-.f64 z (*.f64 z x))) (*.f64 z 1/2)) (*.f64 z 1/2)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 (+.f64 z (-.f64 z (*.f64 z x))) (/.f64 z -2)) (+.f64 z (*.f64 z 1/2))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 (+.f64 z (-.f64 z (*.f64 z x))) (-.f64 x (-.f64 1 (*.f64 z 1/2)))) (+.f64 (-.f64 1 x) (*.f64 z 1/2))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 (+.f64 z (*.f64 z x)) (*.f64 z x)) (*.f64 z x)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 (+.f64 z (*.f64 z x)) (*.f64 (+.f64 z z) (*.f64 x 1/2))) (*.f64 (+.f64 z z) (*.f64 x 1/2))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(-.f64 (-.f64 (+.f64 z (*.f64 z x)) (*.f64 (+.f64 x x) (*.f64 z 1/2))) (*.f64 (+.f64 x x) (*.f64 z 1/2))) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(/.f64 (-.f64 z (*.f64 z x)) 1) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(/.f64 (*.f64 z (+.f64 2 (*.f64 x -2))) 2) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(/.f64 (-.f64 (*.f64 z x) z) -1) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(/.f64 (*.f64 2 (*.f64 z (+.f64 2 (*.f64 x -2)))) 4) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(/.f64 (*.f64 z (+.f64 x (+.f64 x -2))) -2) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 z (+.f64 2 (*.f64 x -2)))) (*.f64 2 (*.f64 z (+.f64 2 (*.f64 x -2))))) 8) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(/.f64 (+.f64 (*.f64 z (+.f64 x (+.f64 x -2))) (*.f64 z (+.f64 x (+.f64 x -2)))) -4) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(/.f64 (neg.f64 (*.f64 2 (*.f64 z (+.f64 2 (*.f64 x -2))))) -4) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(/.f64 (*.f64 z (*.f64 2 (+.f64 2 (*.f64 x -2)))) 4) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(/.f64 (*.f64 (-.f64 1 x) (*.f64 2 (+.f64 z z))) 4) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(/.f64 (+.f64 (+.f64 (*.f64 2 (*.f64 z (+.f64 2 (*.f64 x -2)))) (*.f64 2 (*.f64 z (+.f64 2 (*.f64 x -2))))) (+.f64 (*.f64 2 (*.f64 z (+.f64 2 (*.f64 x -2)))) (*.f64 2 (*.f64 z (+.f64 2 (*.f64 x -2)))))) 16) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(/.f64 (+.f64 (+.f64 (*.f64 z (+.f64 x (+.f64 x -2))) (*.f64 z (+.f64 x (+.f64 x -2)))) (+.f64 (*.f64 z (+.f64 x (+.f64 x -2))) (*.f64 z (+.f64 x (+.f64 x -2))))) -8) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(/.f64 (+.f64 (*.f64 z (*.f64 2 (+.f64 2 (*.f64 x -2)))) (*.f64 z (*.f64 2 (+.f64 2 (*.f64 x -2))))) 8) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(/.f64 (+.f64 (*.f64 (-.f64 1 x) (*.f64 2 (+.f64 z z))) (*.f64 (-.f64 1 x) (*.f64 2 (+.f64 z z)))) 8) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(/.f64 (/.f64 (*.f64 (+.f64 2 (*.f64 x -2)) (*.f64 z -2)) 2) -2) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(/.f64 (/.f64 (*.f64 (+.f64 2 (*.f64 x -2)) (*.f64 2 (+.f64 z z))) 2) 4) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(/.f64 (/.f64 (*.f64 (+.f64 z z) (*.f64 2 (+.f64 2 (*.f64 x -2)))) 2) 4) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(/.f64 (/.f64 (*.f64 (+.f64 z z) (+.f64 x (+.f64 x -2))) 2) -2) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(/.f64 (/.f64 (neg.f64 (*.f64 2 (*.f64 z (+.f64 2 (*.f64 x -2))))) -1) 4) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(/.f64 (/.f64 (*.f64 (neg.f64 z) (*.f64 2 (+.f64 2 (*.f64 x -2)))) -1) 4) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(/.f64 (/.f64 (*.f64 (+.f64 x -1) (*.f64 2 (+.f64 z z))) -1) 4) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(pow.f64 (-.f64 z (*.f64 z x)) 1) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
(neg.f64 (-.f64 (*.f64 z x) z)) |
(+.f64 z (*.f64 x (neg.f64 z))) |
(-.f64 z (*.f64 z x)) |
Compiled 14 to 5 computations (64.3% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (*.f64 x y) z) |
Compiled 14 to 5 computations (64.3% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | y | @ | inf | (+.f64 (*.f64 x y) z) |
| 0.0ms | x | @ | 0 | (+.f64 (*.f64 x y) z) |
| 0.0ms | x | @ | -inf | (+.f64 (*.f64 x y) z) |
| 0.0ms | y | @ | -inf | (+.f64 (*.f64 x y) z) |
| 0.0ms | y | @ | 0 | (+.f64 (*.f64 x y) z) |
| 1× | batch-egg-rewrite |
| 818× | rational_best-simplify-55 |
| 790× | rational_best-simplify-65 |
| 724× | rational_best-simplify-47 |
| 666× | rational_best-simplify-66 |
| 602× | rational_best-simplify-61 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 13 |
| 1 | 46 | 13 |
| 2 | 115 | 13 |
| 3 | 455 | 13 |
| 4 | 1680 | 13 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 x y) z) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 x (-.f64 (-.f64 x (*.f64 x y)) z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 x (+.f64 (neg.f64 z) (-.f64 x (*.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 x (+.f64 (*.f64 x (neg.f64 y)) (-.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 x (+.f64 (-.f64 x (*.f64 x y)) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 x (+.f64 (-.f64 x z) (*.f64 x (neg.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 y (-.f64 (-.f64 y (*.f64 x y)) z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 y (+.f64 (neg.f64 z) (-.f64 y (*.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 y (+.f64 (*.f64 x (neg.f64 y)) (-.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 y (+.f64 (-.f64 y (*.f64 x y)) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 y (+.f64 (-.f64 y z) (*.f64 x (neg.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x y) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x y) (-.f64 (*.f64 x (neg.f64 y)) (-.f64 z (*.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 z (*.f64 x (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 z (-.f64 (neg.f64 z) (-.f64 (*.f64 x y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 x y) z) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (neg.f64 z) (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 z z) (-.f64 z (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 z z) (-.f64 (-.f64 z z) (-.f64 (*.f64 x y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (+.f64 y y)) (-.f64 (*.f64 x y) z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (+.f64 y y)) (-.f64 (-.f64 (*.f64 x y) (*.f64 x y)) (-.f64 z (*.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (neg.f64 y)) (-.f64 (*.f64 x (*.f64 y -2)) z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (neg.f64 y)) (+.f64 (*.f64 x (*.f64 y -2)) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 z 1/2) (-.f64 (*.f64 z -1/2) (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (*.f64 y 1/2)) (-.f64 (*.f64 x (*.f64 y -1/2)) z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (*.f64 y 1/2)) (+.f64 (*.f64 x (*.f64 y -1/2)) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 (*.f64 x y) z) 1/2) (*.f64 (+.f64 (*.f64 x y) z) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 x y) (*.f64 z 1/2)) (*.f64 z -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 z (*.f64 x (*.f64 y 1/2))) (*.f64 x (*.f64 y -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (*.f64 x y)) (-.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 y (*.f64 x y)) (-.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (*.f64 x (*.f64 y 1/2))) (+.f64 (neg.f64 z) (-.f64 x (*.f64 x (*.f64 y 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (*.f64 x (*.f64 y 1/2))) (+.f64 (-.f64 x (*.f64 x (*.f64 y 1/2))) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 y (*.f64 x (*.f64 y 1/2))) (+.f64 (neg.f64 z) (-.f64 y (*.f64 x (*.f64 y 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 y (*.f64 x (*.f64 y 1/2))) (+.f64 (-.f64 y (*.f64 x (*.f64 y 1/2))) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 z (*.f64 x y)) (*.f64 x (*.f64 y -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 x y) z) (*.f64 z -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 z (-.f64 (*.f64 x y) (*.f64 x y))) (*.f64 x (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 x (neg.f64 z)) (-.f64 x (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 y (neg.f64 z)) (-.f64 y (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (-.f64 (*.f64 x y) z) (neg.f64 z)) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (+.f64 x (*.f64 x (*.f64 y 1/2))) (neg.f64 z)) (-.f64 x (*.f64 x (*.f64 y 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (+.f64 y (*.f64 x (*.f64 y 1/2))) (neg.f64 z)) (-.f64 y (*.f64 x (*.f64 y 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 (*.f64 z -1/2) (*.f64 x y))) (*.f64 z -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 (*.f64 x (*.f64 y -1/2)) z)) (*.f64 x (*.f64 y -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 z (*.f64 x (*.f64 y -1/2))) (*.f64 x (*.f64 y -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 x y) (*.f64 z -1/2)) (*.f64 z -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x y) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 x y) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 x y) z) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x y) z) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (neg.f64 z) (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (neg.f64 z) (*.f64 x y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x y) z) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x y) z) -2) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x y) z) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 x y) z) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x y) z) -1/2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 x y) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x y) z) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (neg.f64 z) (*.f64 x y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x y) z) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x y) z) -2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) z) 4) (*.f64 (+.f64 (*.f64 x y) z) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (+.f64 (*.f64 x y) z) 4)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) z) 4) (*.f64 (+.f64 (*.f64 x y) z) 4)) (+.f64 (*.f64 (+.f64 (*.f64 x y) z) 4) (*.f64 (+.f64 (*.f64 x y) z) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 (+.f64 (*.f64 x y) z) 4)) (neg.f64 (*.f64 (+.f64 (*.f64 x y) z) 4))) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (neg.f64 z) (*.f64 x y)) 2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (+.f64 (*.f64 x y) z) -2) 2) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (-.f64 (neg.f64 z) (*.f64 x y)) (+.f64 (*.f64 x y) (+.f64 z (*.f64 (+.f64 (*.f64 x y) z) 2)))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (*.f64 (+.f64 (*.f64 x y) z) 4)) -1) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (+.f64 (*.f64 x y) z) 4) 2) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (+.f64 (*.f64 x y) z) -1/2) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 0 (*.f64 (+.f64 (*.f64 x y) z) 4)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 x y) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (neg.f64 z) (*.f64 x y))))))) |
| 1× | egg-herbie |
| 840× | rational_best-simplify-58 |
| 788× | rational_best-simplify-66 |
| 628× | rational_best-simplify-63 |
| 616× | rational_best-simplify-79 |
| 608× | rational_best-simplify-47 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 181 | 1383 |
| 1 | 473 | 1383 |
| 2 | 1246 | 1383 |
| 1× | node limit |
| Inputs |
|---|
z |
(+.f64 (*.f64 y x) z) |
(+.f64 (*.f64 y x) z) |
(+.f64 (*.f64 y x) z) |
(*.f64 y x) |
(+.f64 (*.f64 y x) z) |
(+.f64 (*.f64 y x) z) |
(+.f64 (*.f64 y x) z) |
(*.f64 y x) |
(+.f64 (*.f64 y x) z) |
(+.f64 (*.f64 y x) z) |
(+.f64 (*.f64 y x) z) |
z |
(+.f64 (*.f64 y x) z) |
(+.f64 (*.f64 y x) z) |
(+.f64 (*.f64 y x) z) |
(*.f64 y x) |
(+.f64 (*.f64 y x) z) |
(+.f64 (*.f64 y x) z) |
(+.f64 (*.f64 y x) z) |
(*.f64 y x) |
(+.f64 (*.f64 y x) z) |
(+.f64 (*.f64 y x) z) |
(+.f64 (*.f64 y x) z) |
(*.f64 y x) |
(+.f64 (*.f64 y x) z) |
(+.f64 (*.f64 y x) z) |
(+.f64 (*.f64 y x) z) |
z |
(+.f64 (*.f64 y x) z) |
(+.f64 (*.f64 y x) z) |
(+.f64 (*.f64 y x) z) |
z |
(+.f64 (*.f64 y x) z) |
(+.f64 (*.f64 y x) z) |
(+.f64 (*.f64 y x) z) |
(-.f64 x (-.f64 (-.f64 x (*.f64 x y)) z)) |
(-.f64 x (+.f64 (neg.f64 z) (-.f64 x (*.f64 x y)))) |
(-.f64 x (+.f64 (*.f64 x (neg.f64 y)) (-.f64 x z))) |
(-.f64 x (+.f64 (-.f64 x (*.f64 x y)) (neg.f64 z))) |
(-.f64 x (+.f64 (-.f64 x z) (*.f64 x (neg.f64 y)))) |
(-.f64 y (-.f64 (-.f64 y (*.f64 x y)) z)) |
(-.f64 y (+.f64 (neg.f64 z) (-.f64 y (*.f64 x y)))) |
(-.f64 y (+.f64 (*.f64 x (neg.f64 y)) (-.f64 y z))) |
(-.f64 y (+.f64 (-.f64 y (*.f64 x y)) (neg.f64 z))) |
(-.f64 y (+.f64 (-.f64 y z) (*.f64 x (neg.f64 y)))) |
(-.f64 (*.f64 x y) (neg.f64 z)) |
(-.f64 (*.f64 x y) (-.f64 (*.f64 x (neg.f64 y)) (-.f64 z (*.f64 x y)))) |
(-.f64 z (*.f64 x (neg.f64 y))) |
(-.f64 z (-.f64 (neg.f64 z) (-.f64 (*.f64 x y) z))) |
(-.f64 (+.f64 (*.f64 x y) z) 0) |
(-.f64 0 (-.f64 (neg.f64 z) (*.f64 x y))) |
(-.f64 (+.f64 z z) (-.f64 z (*.f64 x y))) |
(-.f64 (+.f64 z z) (-.f64 (-.f64 z z) (-.f64 (*.f64 x y) z))) |
(-.f64 (*.f64 x (+.f64 y y)) (-.f64 (*.f64 x y) z)) |
(-.f64 (*.f64 x (+.f64 y y)) (-.f64 (-.f64 (*.f64 x y) (*.f64 x y)) (-.f64 z (*.f64 x y)))) |
(-.f64 (*.f64 x (neg.f64 y)) (-.f64 (*.f64 x (*.f64 y -2)) z)) |
(-.f64 (*.f64 x (neg.f64 y)) (+.f64 (*.f64 x (*.f64 y -2)) (neg.f64 z))) |
(-.f64 (*.f64 z 1/2) (-.f64 (*.f64 z -1/2) (*.f64 x y))) |
(-.f64 (*.f64 x (*.f64 y 1/2)) (-.f64 (*.f64 x (*.f64 y -1/2)) z)) |
(-.f64 (*.f64 x (*.f64 y 1/2)) (+.f64 (*.f64 x (*.f64 y -1/2)) (neg.f64 z))) |
(-.f64 (*.f64 (+.f64 (*.f64 x y) z) 1/2) (*.f64 (+.f64 (*.f64 x y) z) -1/2)) |
(-.f64 (+.f64 (*.f64 x y) (*.f64 z 1/2)) (*.f64 z -1/2)) |
(-.f64 (+.f64 z (*.f64 x (*.f64 y 1/2))) (*.f64 x (*.f64 y -1/2))) |
(-.f64 (+.f64 x (*.f64 x y)) (-.f64 x z)) |
(-.f64 (+.f64 y (*.f64 x y)) (-.f64 y z)) |
(-.f64 (+.f64 x (*.f64 x (*.f64 y 1/2))) (+.f64 (neg.f64 z) (-.f64 x (*.f64 x (*.f64 y 1/2))))) |
(-.f64 (+.f64 x (*.f64 x (*.f64 y 1/2))) (+.f64 (-.f64 x (*.f64 x (*.f64 y 1/2))) (neg.f64 z))) |
(-.f64 (+.f64 y (*.f64 x (*.f64 y 1/2))) (+.f64 (neg.f64 z) (-.f64 y (*.f64 x (*.f64 y 1/2))))) |
(-.f64 (+.f64 y (*.f64 x (*.f64 y 1/2))) (+.f64 (-.f64 y (*.f64 x (*.f64 y 1/2))) (neg.f64 z))) |
(-.f64 (-.f64 z (*.f64 x y)) (*.f64 x (*.f64 y -2))) |
(-.f64 (-.f64 (*.f64 x y) z) (*.f64 z -2)) |
(-.f64 (-.f64 z (-.f64 (*.f64 x y) (*.f64 x y))) (*.f64 x (neg.f64 y))) |
(-.f64 (-.f64 x (neg.f64 z)) (-.f64 x (*.f64 x y))) |
(-.f64 (-.f64 y (neg.f64 z)) (-.f64 y (*.f64 x y))) |
(-.f64 (-.f64 (-.f64 (*.f64 x y) z) (neg.f64 z)) (neg.f64 z)) |
(-.f64 (-.f64 (+.f64 x (*.f64 x (*.f64 y 1/2))) (neg.f64 z)) (-.f64 x (*.f64 x (*.f64 y 1/2)))) |
(-.f64 (-.f64 (+.f64 y (*.f64 x (*.f64 y 1/2))) (neg.f64 z)) (-.f64 y (*.f64 x (*.f64 y 1/2)))) |
(-.f64 (-.f64 0 (-.f64 (*.f64 z -1/2) (*.f64 x y))) (*.f64 z -1/2)) |
(-.f64 (-.f64 0 (-.f64 (*.f64 x (*.f64 y -1/2)) z)) (*.f64 x (*.f64 y -1/2))) |
(-.f64 (-.f64 z (*.f64 x (*.f64 y -1/2))) (*.f64 x (*.f64 y -1/2))) |
(-.f64 (-.f64 (*.f64 x y) (*.f64 z -1/2)) (*.f64 z -1/2)) |
(*.f64 (+.f64 (*.f64 x y) z) 1) |
(*.f64 1 (+.f64 (*.f64 x y) z)) |
(*.f64 2 (*.f64 (+.f64 (*.f64 x y) z) 1/2)) |
(*.f64 (*.f64 (+.f64 (*.f64 x y) z) 2) 1/2) |
(*.f64 -1 (-.f64 (neg.f64 z) (*.f64 x y))) |
(*.f64 (-.f64 (neg.f64 z) (*.f64 x y)) -1) |
(*.f64 (*.f64 (+.f64 (*.f64 x y) z) 4) 1/4) |
(*.f64 (*.f64 (+.f64 (*.f64 x y) z) -2) -1/2) |
(*.f64 (*.f64 (+.f64 (*.f64 x y) z) 1/2) 2) |
(*.f64 1/2 (*.f64 (+.f64 (*.f64 x y) z) 2)) |
(*.f64 (*.f64 (+.f64 (*.f64 x y) z) -1/2) -2) |
(/.f64 (+.f64 (*.f64 x y) z) 1) |
(/.f64 (*.f64 (+.f64 (*.f64 x y) z) 2) 2) |
(/.f64 (-.f64 (neg.f64 z) (*.f64 x y)) -1) |
(/.f64 (*.f64 (+.f64 (*.f64 x y) z) 4) 4) |
(/.f64 (*.f64 (+.f64 (*.f64 x y) z) -2) -2) |
(/.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) z) 4) (*.f64 (+.f64 (*.f64 x y) z) 4)) 8) |
(/.f64 (neg.f64 (*.f64 (+.f64 (*.f64 x y) z) 4)) -4) |
(/.f64 (+.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) z) 4) (*.f64 (+.f64 (*.f64 x y) z) 4)) (+.f64 (*.f64 (+.f64 (*.f64 x y) z) 4) (*.f64 (+.f64 (*.f64 x y) z) 4))) 16) |
(/.f64 (+.f64 (neg.f64 (*.f64 (+.f64 (*.f64 x y) z) 4)) (neg.f64 (*.f64 (+.f64 (*.f64 x y) z) 4))) -8) |
(/.f64 (*.f64 (-.f64 (neg.f64 z) (*.f64 x y)) 2) -2) |
(/.f64 (*.f64 (*.f64 (+.f64 (*.f64 x y) z) -2) 2) -4) |
(/.f64 (-.f64 (-.f64 (neg.f64 z) (*.f64 x y)) (+.f64 (*.f64 x y) (+.f64 z (*.f64 (+.f64 (*.f64 x y) z) 2)))) -4) |
(/.f64 (*.f64 (neg.f64 (*.f64 (+.f64 (*.f64 x y) z) 4)) -1) 4) |
(/.f64 (*.f64 (*.f64 (+.f64 (*.f64 x y) z) 4) 2) 8) |
(/.f64 (*.f64 (*.f64 (+.f64 (*.f64 x y) z) -1/2) 2) -1) |
(/.f64 (-.f64 0 (*.f64 (+.f64 (*.f64 x y) z) 4)) -4) |
(pow.f64 (+.f64 (*.f64 x y) z) 1) |
(neg.f64 (-.f64 (neg.f64 z) (*.f64 x y))) |
| Outputs |
|---|
z |
(+.f64 (*.f64 y x) z) |
(+.f64 z (*.f64 y x)) |
(+.f64 (*.f64 y x) z) |
(+.f64 z (*.f64 y x)) |
(+.f64 (*.f64 y x) z) |
(+.f64 z (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 y x) z) |
(+.f64 z (*.f64 y x)) |
(+.f64 (*.f64 y x) z) |
(+.f64 z (*.f64 y x)) |
(+.f64 (*.f64 y x) z) |
(+.f64 z (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 y x) z) |
(+.f64 z (*.f64 y x)) |
(+.f64 (*.f64 y x) z) |
(+.f64 z (*.f64 y x)) |
(+.f64 (*.f64 y x) z) |
(+.f64 z (*.f64 y x)) |
z |
(+.f64 (*.f64 y x) z) |
(+.f64 z (*.f64 y x)) |
(+.f64 (*.f64 y x) z) |
(+.f64 z (*.f64 y x)) |
(+.f64 (*.f64 y x) z) |
(+.f64 z (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 y x) z) |
(+.f64 z (*.f64 y x)) |
(+.f64 (*.f64 y x) z) |
(+.f64 z (*.f64 y x)) |
(+.f64 (*.f64 y x) z) |
(+.f64 z (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 y x) z) |
(+.f64 z (*.f64 y x)) |
(+.f64 (*.f64 y x) z) |
(+.f64 z (*.f64 y x)) |
(+.f64 (*.f64 y x) z) |
(+.f64 z (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 y x) z) |
(+.f64 z (*.f64 y x)) |
(+.f64 (*.f64 y x) z) |
(+.f64 z (*.f64 y x)) |
(+.f64 (*.f64 y x) z) |
(+.f64 z (*.f64 y x)) |
z |
(+.f64 (*.f64 y x) z) |
(+.f64 z (*.f64 y x)) |
(+.f64 (*.f64 y x) z) |
(+.f64 z (*.f64 y x)) |
(+.f64 (*.f64 y x) z) |
(+.f64 z (*.f64 y x)) |
z |
(+.f64 (*.f64 y x) z) |
(+.f64 z (*.f64 y x)) |
(+.f64 (*.f64 y x) z) |
(+.f64 z (*.f64 y x)) |
(+.f64 (*.f64 y x) z) |
(+.f64 z (*.f64 y x)) |
(-.f64 x (-.f64 (-.f64 x (*.f64 x y)) z)) |
(+.f64 z (*.f64 y x)) |
(-.f64 x (+.f64 (neg.f64 z) (-.f64 x (*.f64 x y)))) |
(+.f64 z (*.f64 y x)) |
(-.f64 x (+.f64 (*.f64 x (neg.f64 y)) (-.f64 x z))) |
(+.f64 z (*.f64 y x)) |
(-.f64 x (+.f64 (-.f64 x (*.f64 x y)) (neg.f64 z))) |
(+.f64 z (*.f64 y x)) |
(-.f64 x (+.f64 (-.f64 x z) (*.f64 x (neg.f64 y)))) |
(+.f64 z (*.f64 y x)) |
(-.f64 y (-.f64 (-.f64 y (*.f64 x y)) z)) |
(+.f64 z (*.f64 y x)) |
(-.f64 y (+.f64 (neg.f64 z) (-.f64 y (*.f64 x y)))) |
(+.f64 z (*.f64 y x)) |
(-.f64 y (+.f64 (*.f64 x (neg.f64 y)) (-.f64 y z))) |
(+.f64 z (*.f64 y x)) |
(-.f64 y (+.f64 (-.f64 y (*.f64 x y)) (neg.f64 z))) |
(+.f64 z (*.f64 y x)) |
(-.f64 y (+.f64 (-.f64 y z) (*.f64 x (neg.f64 y)))) |
(+.f64 z (*.f64 y x)) |
(-.f64 (*.f64 x y) (neg.f64 z)) |
(+.f64 z (*.f64 y x)) |
(-.f64 (*.f64 x y) (-.f64 (*.f64 x (neg.f64 y)) (-.f64 z (*.f64 x y)))) |
(+.f64 z (*.f64 y x)) |
(-.f64 z (*.f64 x (neg.f64 y))) |
(+.f64 z (*.f64 y x)) |
(-.f64 z (-.f64 (neg.f64 z) (-.f64 (*.f64 x y) z))) |
(+.f64 z (*.f64 y x)) |
(-.f64 (+.f64 (*.f64 x y) z) 0) |
(+.f64 z (*.f64 y x)) |
(-.f64 0 (-.f64 (neg.f64 z) (*.f64 x y))) |
(+.f64 z (*.f64 y x)) |
(-.f64 (+.f64 z z) (-.f64 z (*.f64 x y))) |
(+.f64 z (*.f64 y x)) |
(-.f64 (+.f64 z z) (-.f64 (-.f64 z z) (-.f64 (*.f64 x y) z))) |
(+.f64 z (*.f64 y x)) |
(-.f64 (*.f64 x (+.f64 y y)) (-.f64 (*.f64 x y) z)) |
(+.f64 z (*.f64 y x)) |
(-.f64 (*.f64 x (+.f64 y y)) (-.f64 (-.f64 (*.f64 x y) (*.f64 x y)) (-.f64 z (*.f64 x y)))) |
(+.f64 z (*.f64 y x)) |
(-.f64 (*.f64 x (neg.f64 y)) (-.f64 (*.f64 x (*.f64 y -2)) z)) |
(+.f64 z (*.f64 y x)) |
(-.f64 (*.f64 x (neg.f64 y)) (+.f64 (*.f64 x (*.f64 y -2)) (neg.f64 z))) |
(+.f64 z (*.f64 y x)) |
(-.f64 (*.f64 z 1/2) (-.f64 (*.f64 z -1/2) (*.f64 x y))) |
(+.f64 z (*.f64 y x)) |
(-.f64 (*.f64 x (*.f64 y 1/2)) (-.f64 (*.f64 x (*.f64 y -1/2)) z)) |
(+.f64 z (*.f64 y x)) |
(-.f64 (*.f64 x (*.f64 y 1/2)) (+.f64 (*.f64 x (*.f64 y -1/2)) (neg.f64 z))) |
(+.f64 z (*.f64 y x)) |
(-.f64 (*.f64 (+.f64 (*.f64 x y) z) 1/2) (*.f64 (+.f64 (*.f64 x y) z) -1/2)) |
(+.f64 z (*.f64 y x)) |
(-.f64 (+.f64 (*.f64 x y) (*.f64 z 1/2)) (*.f64 z -1/2)) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 z 1/2)) (*.f64 z -1/2)) |
(-.f64 (+.f64 z (*.f64 x (*.f64 y 1/2))) (*.f64 x (*.f64 y -1/2))) |
(+.f64 z (*.f64 y x)) |
(-.f64 (+.f64 x (*.f64 x y)) (-.f64 x z)) |
(+.f64 z (*.f64 y x)) |
(-.f64 (+.f64 y (*.f64 x y)) (-.f64 y z)) |
(+.f64 z (*.f64 y x)) |
(-.f64 (+.f64 x (*.f64 x (*.f64 y 1/2))) (+.f64 (neg.f64 z) (-.f64 x (*.f64 x (*.f64 y 1/2))))) |
(+.f64 z (*.f64 y x)) |
(-.f64 (+.f64 x (*.f64 x (*.f64 y 1/2))) (+.f64 (-.f64 x (*.f64 x (*.f64 y 1/2))) (neg.f64 z))) |
(+.f64 z (*.f64 y x)) |
(-.f64 (+.f64 y (*.f64 x (*.f64 y 1/2))) (+.f64 (neg.f64 z) (-.f64 y (*.f64 x (*.f64 y 1/2))))) |
(+.f64 z (*.f64 y x)) |
(-.f64 (+.f64 y (*.f64 x (*.f64 y 1/2))) (+.f64 (-.f64 y (*.f64 x (*.f64 y 1/2))) (neg.f64 z))) |
(+.f64 z (*.f64 y x)) |
(-.f64 (-.f64 z (*.f64 x y)) (*.f64 x (*.f64 y -2))) |
(+.f64 z (*.f64 y x)) |
(-.f64 (-.f64 (*.f64 x y) z) (*.f64 z -2)) |
(+.f64 z (*.f64 y x)) |
(-.f64 (-.f64 z (-.f64 (*.f64 x y) (*.f64 x y))) (*.f64 x (neg.f64 y))) |
(+.f64 z (*.f64 y x)) |
(-.f64 (-.f64 x (neg.f64 z)) (-.f64 x (*.f64 x y))) |
(+.f64 z (*.f64 y x)) |
(-.f64 (-.f64 y (neg.f64 z)) (-.f64 y (*.f64 x y))) |
(+.f64 z (*.f64 y x)) |
(-.f64 (-.f64 (-.f64 (*.f64 x y) z) (neg.f64 z)) (neg.f64 z)) |
(+.f64 z (*.f64 y x)) |
(-.f64 (-.f64 (+.f64 x (*.f64 x (*.f64 y 1/2))) (neg.f64 z)) (-.f64 x (*.f64 x (*.f64 y 1/2)))) |
(+.f64 z (*.f64 y x)) |
(-.f64 (-.f64 (+.f64 y (*.f64 x (*.f64 y 1/2))) (neg.f64 z)) (-.f64 y (*.f64 x (*.f64 y 1/2)))) |
(+.f64 z (*.f64 y x)) |
(-.f64 (-.f64 0 (-.f64 (*.f64 z -1/2) (*.f64 x y))) (*.f64 z -1/2)) |
(+.f64 z (*.f64 y x)) |
(-.f64 (-.f64 0 (-.f64 (*.f64 x (*.f64 y -1/2)) z)) (*.f64 x (*.f64 y -1/2))) |
(+.f64 z (*.f64 y x)) |
(-.f64 (-.f64 z (*.f64 x (*.f64 y -1/2))) (*.f64 x (*.f64 y -1/2))) |
(+.f64 z (*.f64 y x)) |
(-.f64 (-.f64 (*.f64 x y) (*.f64 z -1/2)) (*.f64 z -1/2)) |
(+.f64 z (*.f64 y x)) |
(*.f64 (+.f64 (*.f64 x y) z) 1) |
(+.f64 z (*.f64 y x)) |
(*.f64 1 (+.f64 (*.f64 x y) z)) |
(+.f64 z (*.f64 y x)) |
(*.f64 2 (*.f64 (+.f64 (*.f64 x y) z) 1/2)) |
(+.f64 z (*.f64 y x)) |
(*.f64 (*.f64 (+.f64 (*.f64 x y) z) 2) 1/2) |
(+.f64 z (*.f64 y x)) |
(*.f64 -1 (-.f64 (neg.f64 z) (*.f64 x y))) |
(+.f64 z (*.f64 y x)) |
(*.f64 (-.f64 (neg.f64 z) (*.f64 x y)) -1) |
(+.f64 z (*.f64 y x)) |
(*.f64 (*.f64 (+.f64 (*.f64 x y) z) 4) 1/4) |
(+.f64 z (*.f64 y x)) |
(*.f64 (*.f64 (+.f64 (*.f64 x y) z) -2) -1/2) |
(+.f64 z (*.f64 y x)) |
(*.f64 (*.f64 (+.f64 (*.f64 x y) z) 1/2) 2) |
(+.f64 z (*.f64 y x)) |
(*.f64 1/2 (*.f64 (+.f64 (*.f64 x y) z) 2)) |
(+.f64 z (*.f64 y x)) |
(*.f64 (*.f64 (+.f64 (*.f64 x y) z) -1/2) -2) |
(+.f64 z (*.f64 y x)) |
(/.f64 (+.f64 (*.f64 x y) z) 1) |
(+.f64 z (*.f64 y x)) |
(/.f64 (*.f64 (+.f64 (*.f64 x y) z) 2) 2) |
(+.f64 z (*.f64 y x)) |
(/.f64 (-.f64 (neg.f64 z) (*.f64 x y)) -1) |
(+.f64 z (*.f64 y x)) |
(/.f64 (*.f64 (+.f64 (*.f64 x y) z) 4) 4) |
(+.f64 z (*.f64 y x)) |
(/.f64 (*.f64 (+.f64 (*.f64 x y) z) -2) -2) |
(+.f64 z (*.f64 y x)) |
(/.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) z) 4) (*.f64 (+.f64 (*.f64 x y) z) 4)) 8) |
(+.f64 z (*.f64 y x)) |
(/.f64 (neg.f64 (*.f64 (+.f64 (*.f64 x y) z) 4)) -4) |
(+.f64 z (*.f64 y x)) |
(/.f64 (+.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) z) 4) (*.f64 (+.f64 (*.f64 x y) z) 4)) (+.f64 (*.f64 (+.f64 (*.f64 x y) z) 4) (*.f64 (+.f64 (*.f64 x y) z) 4))) 16) |
(+.f64 z (*.f64 y x)) |
(/.f64 (+.f64 (neg.f64 (*.f64 (+.f64 (*.f64 x y) z) 4)) (neg.f64 (*.f64 (+.f64 (*.f64 x y) z) 4))) -8) |
(+.f64 z (*.f64 y x)) |
(/.f64 (*.f64 (-.f64 (neg.f64 z) (*.f64 x y)) 2) -2) |
(+.f64 z (*.f64 y x)) |
(/.f64 (*.f64 (*.f64 (+.f64 (*.f64 x y) z) -2) 2) -4) |
(+.f64 z (*.f64 y x)) |
(/.f64 (-.f64 (-.f64 (neg.f64 z) (*.f64 x y)) (+.f64 (*.f64 x y) (+.f64 z (*.f64 (+.f64 (*.f64 x y) z) 2)))) -4) |
(+.f64 z (*.f64 y x)) |
(/.f64 (*.f64 (neg.f64 (*.f64 (+.f64 (*.f64 x y) z) 4)) -1) 4) |
(+.f64 z (*.f64 y x)) |
(/.f64 (*.f64 (*.f64 (+.f64 (*.f64 x y) z) 4) 2) 8) |
(+.f64 z (*.f64 y x)) |
(/.f64 (*.f64 (*.f64 (+.f64 (*.f64 x y) z) -1/2) 2) -1) |
(+.f64 z (*.f64 y x)) |
(/.f64 (-.f64 0 (*.f64 (+.f64 (*.f64 x y) z) 4)) -4) |
(+.f64 z (*.f64 y x)) |
(pow.f64 (+.f64 (*.f64 x y) z) 1) |
(+.f64 z (*.f64 y x)) |
(neg.f64 (-.f64 (neg.f64 z) (*.f64 x y))) |
(+.f64 z (*.f64 y x)) |
Compiled 4426 to 1994 computations (54.9% saved)
8 alts after pruning (3 fresh and 5 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 326 | 2 | 328 |
| Fresh | 1 | 1 | 2 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 4 | 4 |
| Total | 327 | 8 | 335 |
| Status | Error | Program |
|---|---|---|
| ▶ | 21.3b | (-.f64 z (*.f64 z x)) |
| ✓ | 0.0b | (-.f64 z (*.f64 x (-.f64 z y))) |
| ✓ | 16.2b | (+.f64 (*.f64 x y) z) |
| ✓ | 26.5b | (*.f64 (-.f64 y z) x) |
| ✓ | 21.3b | (*.f64 z (-.f64 1 x)) |
| ▶ | 47.1b | (*.f64 z (neg.f64 x)) |
| ✓ | 42.1b | (*.f64 y x) |
| 36.6b | z |
Compiled 59 to 39 computations (33.9% saved)
Compiled 11 to 5 computations (54.5% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (-.f64 z (*.f64 z x)) |
Compiled 13 to 5 computations (61.5% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | z | @ | -inf | (-.f64 z (*.f64 z x)) |
| 0.0ms | z | @ | inf | (-.f64 z (*.f64 z x)) |
| 0.0ms | z | @ | 0 | (-.f64 z (*.f64 z x)) |
| 0.0ms | x | @ | -inf | (-.f64 z (*.f64 z x)) |
| 0.0ms | x | @ | 0 | (-.f64 z (*.f64 z x)) |
| 1× | batch-egg-rewrite |
| 1160× | rational_best-simplify-55 |
| 1082× | rational_best-simplify-49 |
| 1006× | rational_best-simplify-57 |
| 946× | rational_best-simplify-47 |
| 770× | rational_best-simplify-58 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 6 | 13 |
| 1 | 39 | 13 |
| 2 | 107 | 13 |
| 3 | 470 | 13 |
| 4 | 1887 | 13 |
| 1× | node limit |
| Inputs |
|---|
(-.f64 z (*.f64 z x)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 z (*.f64 z (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 z (*.f64 z x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 z (*.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 z z) (-.f64 (neg.f64 z) (*.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 z) (-.f64 z (-.f64 (*.f64 z x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (neg.f64 x)) z)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 z -2)) (+.f64 z (*.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (*.f64 z x) z) -1/2) (*.f64 (-.f64 (*.f64 z x) z) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z 1/2) (+.f64 (*.f64 z (neg.f64 x)) (*.f64 z 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z 1/2) (-.f64 (*.f64 z 1/2) (*.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z 1/2) (+.f64 (+.f64 (*.f64 z (neg.f64 x)) (*.f64 z 1/2)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 z (neg.f64 x)) (*.f64 z 1/2)) (*.f64 z 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 z (*.f64 (-.f64 (*.f64 z x) z) -1/2)) (-.f64 (*.f64 z -1/2) (*.f64 x (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 z (*.f64 z x)) (*.f64 x (*.f64 z -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 z (*.f64 x (*.f64 z 1/2))) (*.f64 z (*.f64 x -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z -1/2) (+.f64 (+.f64 z (*.f64 z 1/2)) (*.f64 z (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (*.f64 x -1/2)) (-.f64 z (*.f64 x (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (*.f64 x -1/2)) (*.f64 (-.f64 z (-.f64 (*.f64 z x) z)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (*.f64 x -1/2)) (+.f64 (*.f64 z 1/2) (*.f64 (-.f64 (*.f64 z x) z) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (*.f64 x -1/2)) (+.f64 (*.f64 z (*.f64 x -1/2)) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (*.f64 x -1/2)) (+.f64 (-.f64 z (*.f64 x (*.f64 z 1/2))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (-.f64 z (*.f64 z x)) 4) (+.f64 (/.f64 (-.f64 z (*.f64 z x)) 4) (*.f64 (-.f64 (*.f64 z x) z) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 z 4) (+.f64 (/.f64 z 4) (+.f64 (*.f64 z (neg.f64 x)) (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 z (-.f64 (*.f64 z x) z)) 1/2) (*.f64 z (*.f64 x -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 z (-.f64 (*.f64 z x) z)) 1/2) (+.f64 (*.f64 z (*.f64 x -1/2)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (neg.f64 z) (*.f64 z x)) (+.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 z 1/2) x) (+.f64 (+.f64 x (*.f64 z 1/2)) (*.f64 z (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 z 1/2) (*.f64 z x)) (*.f64 z 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 z -1/2) (*.f64 x (*.f64 z 1/2))) (+.f64 z (*.f64 (-.f64 (*.f64 z x) z) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 z -1/2) (*.f64 x (*.f64 z 1/2))) (+.f64 (+.f64 z (*.f64 (-.f64 (*.f64 z x) z) -1/2)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x (*.f64 (-.f64 (*.f64 z x) z) -1/2)) (-.f64 (*.f64 (-.f64 (*.f64 z x) z) -1/2) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 (-.f64 (*.f64 z x) z) -1/2) x) (+.f64 x (*.f64 (-.f64 (*.f64 z x) z) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 (-.f64 (*.f64 z x) z) -1/2) x) (+.f64 (+.f64 x (*.f64 (-.f64 (*.f64 z x) z) -1/2)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (-.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (*.f64 (+.f64 x -1) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (*.f64 -1 (+.f64 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (/.f64 (+.f64 x -1) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 z (*.f64 z x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 z (*.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (-.f64 (*.f64 z x) z) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 z z) (-.f64 1 x)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 z z) (/.f64 (-.f64 1 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 z z) (/.f64 (+.f64 x -1) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 z x) z) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (*.f64 z x) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 z) (+.f64 x -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 z) (*.f64 (-.f64 1 x) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 z) (*.f64 -1 (-.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 z) (/.f64 (-.f64 1 x) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (*.f64 (-.f64 (*.f64 z x) z) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 z (*.f64 z x)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (-.f64 (*.f64 z x) z)) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x -1) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 x) z)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (*.f64 z x) z) -1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 z 1/2) (*.f64 (-.f64 1 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 z 1/2) (*.f64 2 (-.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 z z) (-.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (*.f64 z x) z) 1/2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 z (*.f64 z x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 z z) (-.f64 1 x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 z x) z) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 z (*.f64 z x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 (*.f64 z x) z)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (-.f64 z (*.f64 z x)) 4) (*.f64 (-.f64 z (*.f64 z x)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (-.f64 z (*.f64 z x)) 4)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 (-.f64 z (*.f64 z x)) 4)) (neg.f64 (*.f64 (-.f64 z (*.f64 z x)) 4))) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (+.f64 (*.f64 (-.f64 z (*.f64 z x)) 4) (*.f64 (-.f64 z (*.f64 z x)) 4)) (+.f64 (*.f64 (-.f64 z (*.f64 z x)) 4) (*.f64 (-.f64 z (*.f64 z x)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 z (*.f64 z x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (*.f64 z x) z)))))) |
| 1× | egg-herbie |
| 1448× | rational_best-simplify-1 |
| 1084× | rational_best-simplify-44 |
| 904× | rational_best-simplify-3 |
| 652× | rational_best-simplify-53 |
| 542× | rational_best-simplify-61 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 156 | 1278 |
| 1 | 372 | 1278 |
| 2 | 957 | 1278 |
| 3 | 5125 | 1278 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 z (-.f64 1 x)) |
(*.f64 z (-.f64 1 x)) |
(*.f64 z (-.f64 1 x)) |
(*.f64 z (-.f64 1 x)) |
(*.f64 z (-.f64 1 x)) |
(*.f64 z (-.f64 1 x)) |
(*.f64 z (-.f64 1 x)) |
(*.f64 z (-.f64 1 x)) |
(*.f64 (+.f64 1 (*.f64 -1 x)) z) |
(*.f64 (+.f64 1 (*.f64 -1 x)) z) |
(*.f64 (+.f64 1 (*.f64 -1 x)) z) |
(*.f64 (+.f64 1 (*.f64 -1 x)) z) |
z |
(+.f64 (*.f64 -1 (*.f64 z x)) z) |
(+.f64 (*.f64 -1 (*.f64 z x)) z) |
(+.f64 (*.f64 -1 (*.f64 z x)) z) |
(*.f64 -1 (*.f64 z x)) |
(+.f64 z (*.f64 -1 (*.f64 z x))) |
(+.f64 z (*.f64 -1 (*.f64 z x))) |
(+.f64 z (*.f64 -1 (*.f64 z x))) |
(*.f64 -1 (*.f64 z x)) |
(+.f64 z (*.f64 -1 (*.f64 z x))) |
(+.f64 z (*.f64 -1 (*.f64 z x))) |
(+.f64 z (*.f64 -1 (*.f64 z x))) |
(+.f64 z (*.f64 z (neg.f64 x))) |
(+.f64 (-.f64 z (*.f64 z x)) 0) |
(+.f64 0 (-.f64 z (*.f64 z x))) |
(+.f64 (+.f64 z z) (-.f64 (neg.f64 z) (*.f64 z x))) |
(+.f64 (neg.f64 z) (-.f64 z (-.f64 (*.f64 z x) z))) |
(+.f64 (*.f64 z (neg.f64 x)) z) |
(+.f64 (*.f64 x (*.f64 z -2)) (+.f64 z (*.f64 z x))) |
(+.f64 (*.f64 (-.f64 (*.f64 z x) z) -1/2) (*.f64 (-.f64 (*.f64 z x) z) -1/2)) |
(+.f64 (*.f64 z 1/2) (+.f64 (*.f64 z (neg.f64 x)) (*.f64 z 1/2))) |
(+.f64 (*.f64 z 1/2) (-.f64 (*.f64 z 1/2) (*.f64 z x))) |
(+.f64 (*.f64 z 1/2) (+.f64 (+.f64 (*.f64 z (neg.f64 x)) (*.f64 z 1/2)) 0)) |
(+.f64 (+.f64 (*.f64 z (neg.f64 x)) (*.f64 z 1/2)) (*.f64 z 1/2)) |
(+.f64 (+.f64 z (*.f64 (-.f64 (*.f64 z x) z) -1/2)) (-.f64 (*.f64 z -1/2) (*.f64 x (*.f64 z 1/2)))) |
(+.f64 (+.f64 z (*.f64 z x)) (*.f64 x (*.f64 z -2))) |
(+.f64 (-.f64 z (*.f64 x (*.f64 z 1/2))) (*.f64 z (*.f64 x -1/2))) |
(+.f64 (*.f64 z -1/2) (+.f64 (+.f64 z (*.f64 z 1/2)) (*.f64 z (neg.f64 x)))) |
(+.f64 (*.f64 z (*.f64 x -1/2)) (-.f64 z (*.f64 x (*.f64 z 1/2)))) |
(+.f64 (*.f64 z (*.f64 x -1/2)) (*.f64 (-.f64 z (-.f64 (*.f64 z x) z)) 1/2)) |
(+.f64 (*.f64 z (*.f64 x -1/2)) (+.f64 (*.f64 z 1/2) (*.f64 (-.f64 (*.f64 z x) z) -1/2))) |
(+.f64 (*.f64 z (*.f64 x -1/2)) (+.f64 (*.f64 z (*.f64 x -1/2)) z)) |
(+.f64 (*.f64 z (*.f64 x -1/2)) (+.f64 (-.f64 z (*.f64 x (*.f64 z 1/2))) 0)) |
(+.f64 (/.f64 (-.f64 z (*.f64 z x)) 4) (+.f64 (/.f64 (-.f64 z (*.f64 z x)) 4) (*.f64 (-.f64 (*.f64 z x) z) -1/2))) |
(+.f64 (/.f64 z 4) (+.f64 (/.f64 z 4) (+.f64 (*.f64 z (neg.f64 x)) (*.f64 z 1/2)))) |
(+.f64 (*.f64 (-.f64 z (-.f64 (*.f64 z x) z)) 1/2) (*.f64 z (*.f64 x -1/2))) |
(+.f64 (*.f64 (-.f64 z (-.f64 (*.f64 z x) z)) 1/2) (+.f64 (*.f64 z (*.f64 x -1/2)) 0)) |
(+.f64 (-.f64 (neg.f64 z) (*.f64 z x)) (+.f64 z z)) |
(+.f64 (-.f64 (*.f64 z 1/2) x) (+.f64 (+.f64 x (*.f64 z 1/2)) (*.f64 z (neg.f64 x)))) |
(+.f64 (-.f64 (*.f64 z 1/2) (*.f64 z x)) (*.f64 z 1/2)) |
(+.f64 (-.f64 (*.f64 z -1/2) (*.f64 x (*.f64 z 1/2))) (+.f64 z (*.f64 (-.f64 (*.f64 z x) z) -1/2))) |
(+.f64 (-.f64 (*.f64 z -1/2) (*.f64 x (*.f64 z 1/2))) (+.f64 (+.f64 z (*.f64 (-.f64 (*.f64 z x) z) -1/2)) 0)) |
(+.f64 (+.f64 x (*.f64 (-.f64 (*.f64 z x) z) -1/2)) (-.f64 (*.f64 (-.f64 (*.f64 z x) z) -1/2) x)) |
(+.f64 (-.f64 (*.f64 (-.f64 (*.f64 z x) z) -1/2) x) (+.f64 x (*.f64 (-.f64 (*.f64 z x) z) -1/2))) |
(+.f64 (-.f64 (*.f64 (-.f64 (*.f64 z x) z) -1/2) x) (+.f64 (+.f64 x (*.f64 (-.f64 (*.f64 z x) z) -1/2)) 0)) |
(*.f64 z (-.f64 1 x)) |
(*.f64 z (*.f64 (+.f64 x -1) -1)) |
(*.f64 z (*.f64 -1 (+.f64 x -1))) |
(*.f64 z (/.f64 (+.f64 x -1) -1)) |
(*.f64 (-.f64 z (*.f64 z x)) 1) |
(*.f64 1 (-.f64 z (*.f64 z x))) |
(*.f64 2 (*.f64 (-.f64 (*.f64 z x) z) -1/2)) |
(*.f64 (*.f64 (+.f64 z z) (-.f64 1 x)) 1/2) |
(*.f64 (+.f64 z z) (/.f64 (-.f64 1 x) 2)) |
(*.f64 (+.f64 z z) (/.f64 (+.f64 x -1) -2)) |
(*.f64 (-.f64 (*.f64 z x) z) -1) |
(*.f64 -1 (-.f64 (*.f64 z x) z)) |
(*.f64 (neg.f64 z) (+.f64 x -1)) |
(*.f64 (neg.f64 z) (*.f64 (-.f64 1 x) -1)) |
(*.f64 (neg.f64 z) (*.f64 -1 (-.f64 1 x))) |
(*.f64 (neg.f64 z) (/.f64 (-.f64 1 x) -1)) |
(*.f64 -2 (*.f64 (-.f64 (*.f64 z x) z) 1/2)) |
(*.f64 (*.f64 (-.f64 z (*.f64 z x)) 4) 1/4) |
(*.f64 (*.f64 2 (-.f64 (*.f64 z x) z)) -1/2) |
(*.f64 (+.f64 x -1) (neg.f64 z)) |
(*.f64 (-.f64 1 x) z) |
(*.f64 (*.f64 (-.f64 (*.f64 z x) z) -1/2) 2) |
(*.f64 (*.f64 z 1/2) (*.f64 (-.f64 1 x) 2)) |
(*.f64 (*.f64 z 1/2) (*.f64 2 (-.f64 1 x))) |
(*.f64 1/2 (*.f64 (+.f64 z z) (-.f64 1 x))) |
(*.f64 (*.f64 (-.f64 (*.f64 z x) z) 1/2) -2) |
(/.f64 (-.f64 z (*.f64 z x)) 1) |
(/.f64 (*.f64 (+.f64 z z) (-.f64 1 x)) 2) |
(/.f64 (-.f64 (*.f64 z x) z) -1) |
(/.f64 (*.f64 (-.f64 z (*.f64 z x)) 4) 4) |
(/.f64 (*.f64 2 (-.f64 (*.f64 z x) z)) -2) |
(/.f64 (+.f64 (*.f64 (-.f64 z (*.f64 z x)) 4) (*.f64 (-.f64 z (*.f64 z x)) 4)) 8) |
(/.f64 (neg.f64 (*.f64 (-.f64 z (*.f64 z x)) 4)) -4) |
(/.f64 (+.f64 (neg.f64 (*.f64 (-.f64 z (*.f64 z x)) 4)) (neg.f64 (*.f64 (-.f64 z (*.f64 z x)) 4))) -8) |
(/.f64 (+.f64 (+.f64 (*.f64 (-.f64 z (*.f64 z x)) 4) (*.f64 (-.f64 z (*.f64 z x)) 4)) (+.f64 (*.f64 (-.f64 z (*.f64 z x)) 4) (*.f64 (-.f64 z (*.f64 z x)) 4))) 16) |
(pow.f64 (-.f64 z (*.f64 z x)) 1) |
(neg.f64 (-.f64 (*.f64 z x) z)) |
| Outputs |
|---|
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(*.f64 (+.f64 1 (*.f64 -1 x)) z) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(*.f64 (+.f64 1 (*.f64 -1 x)) z) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(*.f64 (+.f64 1 (*.f64 -1 x)) z) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(*.f64 (+.f64 1 (*.f64 -1 x)) z) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
z |
(+.f64 (*.f64 -1 (*.f64 z x)) z) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 z x)) z) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(+.f64 (*.f64 -1 (*.f64 z x)) z) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(*.f64 -1 (*.f64 z x)) |
(*.f64 x (neg.f64 z)) |
(*.f64 z (neg.f64 x)) |
(+.f64 z (*.f64 -1 (*.f64 z x))) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(+.f64 z (*.f64 -1 (*.f64 z x))) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(+.f64 z (*.f64 -1 (*.f64 z x))) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(*.f64 -1 (*.f64 z x)) |
(*.f64 x (neg.f64 z)) |
(*.f64 z (neg.f64 x)) |
(+.f64 z (*.f64 -1 (*.f64 z x))) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(+.f64 z (*.f64 -1 (*.f64 z x))) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(+.f64 z (*.f64 -1 (*.f64 z x))) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(+.f64 z (*.f64 z (neg.f64 x))) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(+.f64 (-.f64 z (*.f64 z x)) 0) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(+.f64 0 (-.f64 z (*.f64 z x))) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(+.f64 (+.f64 z z) (-.f64 (neg.f64 z) (*.f64 z x))) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(+.f64 (neg.f64 z) (-.f64 z (-.f64 (*.f64 z x) z))) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(+.f64 (*.f64 z (neg.f64 x)) z) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(+.f64 (*.f64 x (*.f64 z -2)) (+.f64 z (*.f64 z x))) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(+.f64 (*.f64 (-.f64 (*.f64 z x) z) -1/2) (*.f64 (-.f64 (*.f64 z x) z) -1/2)) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(+.f64 (*.f64 z 1/2) (+.f64 (*.f64 z (neg.f64 x)) (*.f64 z 1/2))) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(+.f64 (*.f64 z 1/2) (-.f64 (*.f64 z 1/2) (*.f64 z x))) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(+.f64 (*.f64 z 1/2) (+.f64 (+.f64 (*.f64 z (neg.f64 x)) (*.f64 z 1/2)) 0)) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(+.f64 (+.f64 (*.f64 z (neg.f64 x)) (*.f64 z 1/2)) (*.f64 z 1/2)) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(+.f64 (+.f64 z (*.f64 (-.f64 (*.f64 z x) z) -1/2)) (-.f64 (*.f64 z -1/2) (*.f64 x (*.f64 z 1/2)))) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(+.f64 (+.f64 z (*.f64 z x)) (*.f64 x (*.f64 z -2))) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(+.f64 (-.f64 z (*.f64 x (*.f64 z 1/2))) (*.f64 z (*.f64 x -1/2))) |
(+.f64 (-.f64 z (*.f64 z (*.f64 1/2 x))) (*.f64 z (*.f64 x -1/2))) |
(+.f64 (*.f64 z -1/2) (+.f64 (+.f64 z (*.f64 z 1/2)) (*.f64 z (neg.f64 x)))) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(+.f64 (*.f64 z (*.f64 x -1/2)) (-.f64 z (*.f64 x (*.f64 z 1/2)))) |
(+.f64 (-.f64 z (*.f64 x (*.f64 z 1/2))) (*.f64 z (*.f64 x -1/2))) |
(+.f64 (-.f64 z (*.f64 z (*.f64 1/2 x))) (*.f64 z (*.f64 x -1/2))) |
(+.f64 (*.f64 z (*.f64 x -1/2)) (*.f64 (-.f64 z (-.f64 (*.f64 z x) z)) 1/2)) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(+.f64 (*.f64 z (*.f64 x -1/2)) (+.f64 (*.f64 z 1/2) (*.f64 (-.f64 (*.f64 z x) z) -1/2))) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(+.f64 (*.f64 z (*.f64 x -1/2)) (+.f64 (*.f64 z (*.f64 x -1/2)) z)) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(+.f64 (*.f64 z (*.f64 x -1/2)) (+.f64 (-.f64 z (*.f64 x (*.f64 z 1/2))) 0)) |
(+.f64 (-.f64 z (*.f64 x (*.f64 z 1/2))) (*.f64 z (*.f64 x -1/2))) |
(+.f64 (-.f64 z (*.f64 z (*.f64 1/2 x))) (*.f64 z (*.f64 x -1/2))) |
(+.f64 (/.f64 (-.f64 z (*.f64 z x)) 4) (+.f64 (/.f64 (-.f64 z (*.f64 z x)) 4) (*.f64 (-.f64 (*.f64 z x) z) -1/2))) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(+.f64 (/.f64 z 4) (+.f64 (/.f64 z 4) (+.f64 (*.f64 z (neg.f64 x)) (*.f64 z 1/2)))) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(+.f64 (*.f64 (-.f64 z (-.f64 (*.f64 z x) z)) 1/2) (*.f64 z (*.f64 x -1/2))) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(+.f64 (*.f64 (-.f64 z (-.f64 (*.f64 z x) z)) 1/2) (+.f64 (*.f64 z (*.f64 x -1/2)) 0)) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(+.f64 (-.f64 (neg.f64 z) (*.f64 z x)) (+.f64 z z)) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(+.f64 (-.f64 (*.f64 z 1/2) x) (+.f64 (+.f64 x (*.f64 z 1/2)) (*.f64 z (neg.f64 x)))) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(+.f64 (-.f64 (*.f64 z 1/2) (*.f64 z x)) (*.f64 z 1/2)) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(+.f64 (-.f64 (*.f64 z -1/2) (*.f64 x (*.f64 z 1/2))) (+.f64 z (*.f64 (-.f64 (*.f64 z x) z) -1/2))) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(+.f64 (-.f64 (*.f64 z -1/2) (*.f64 x (*.f64 z 1/2))) (+.f64 (+.f64 z (*.f64 (-.f64 (*.f64 z x) z) -1/2)) 0)) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(+.f64 (+.f64 x (*.f64 (-.f64 (*.f64 z x) z) -1/2)) (-.f64 (*.f64 (-.f64 (*.f64 z x) z) -1/2) x)) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(+.f64 (-.f64 (*.f64 (-.f64 (*.f64 z x) z) -1/2) x) (+.f64 x (*.f64 (-.f64 (*.f64 z x) z) -1/2))) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(+.f64 (-.f64 (*.f64 (-.f64 (*.f64 z x) z) -1/2) x) (+.f64 (+.f64 x (*.f64 (-.f64 (*.f64 z x) z) -1/2)) 0)) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(*.f64 z (*.f64 (+.f64 x -1) -1)) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(*.f64 z (*.f64 -1 (+.f64 x -1))) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(*.f64 z (/.f64 (+.f64 x -1) -1)) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(*.f64 (-.f64 z (*.f64 z x)) 1) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(*.f64 1 (-.f64 z (*.f64 z x))) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(*.f64 2 (*.f64 (-.f64 (*.f64 z x) z) -1/2)) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(*.f64 (*.f64 (+.f64 z z) (-.f64 1 x)) 1/2) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(*.f64 (+.f64 z z) (/.f64 (-.f64 1 x) 2)) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(*.f64 (+.f64 z z) (/.f64 (+.f64 x -1) -2)) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(*.f64 (-.f64 (*.f64 z x) z) -1) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(*.f64 -1 (-.f64 (*.f64 z x) z)) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(*.f64 (neg.f64 z) (+.f64 x -1)) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(*.f64 (neg.f64 z) (*.f64 (-.f64 1 x) -1)) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(*.f64 (neg.f64 z) (*.f64 -1 (-.f64 1 x))) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(*.f64 (neg.f64 z) (/.f64 (-.f64 1 x) -1)) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(*.f64 -2 (*.f64 (-.f64 (*.f64 z x) z) 1/2)) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(*.f64 (*.f64 (-.f64 z (*.f64 z x)) 4) 1/4) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(*.f64 (*.f64 2 (-.f64 (*.f64 z x) z)) -1/2) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(*.f64 (+.f64 x -1) (neg.f64 z)) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(*.f64 (-.f64 1 x) z) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(*.f64 (*.f64 (-.f64 (*.f64 z x) z) -1/2) 2) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(*.f64 (*.f64 z 1/2) (*.f64 (-.f64 1 x) 2)) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(*.f64 (*.f64 z 1/2) (*.f64 2 (-.f64 1 x))) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(*.f64 1/2 (*.f64 (+.f64 z z) (-.f64 1 x))) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(*.f64 (*.f64 (-.f64 (*.f64 z x) z) 1/2) -2) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(/.f64 (-.f64 z (*.f64 z x)) 1) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(/.f64 (*.f64 (+.f64 z z) (-.f64 1 x)) 2) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(/.f64 (-.f64 (*.f64 z x) z) -1) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(/.f64 (*.f64 (-.f64 z (*.f64 z x)) 4) 4) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(/.f64 (*.f64 2 (-.f64 (*.f64 z x) z)) -2) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(/.f64 (+.f64 (*.f64 (-.f64 z (*.f64 z x)) 4) (*.f64 (-.f64 z (*.f64 z x)) 4)) 8) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(/.f64 (neg.f64 (*.f64 (-.f64 z (*.f64 z x)) 4)) -4) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(/.f64 (+.f64 (neg.f64 (*.f64 (-.f64 z (*.f64 z x)) 4)) (neg.f64 (*.f64 (-.f64 z (*.f64 z x)) 4))) -8) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(/.f64 (+.f64 (+.f64 (*.f64 (-.f64 z (*.f64 z x)) 4) (*.f64 (-.f64 z (*.f64 z x)) 4)) (+.f64 (*.f64 (-.f64 z (*.f64 z x)) 4) (*.f64 (-.f64 z (*.f64 z x)) 4))) 16) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(pow.f64 (-.f64 z (*.f64 z x)) 1) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
(neg.f64 (-.f64 (*.f64 z x) z)) |
(*.f64 z (-.f64 1 x)) |
(-.f64 z (*.f64 z x)) |
Compiled 850 to 401 computations (52.8% saved)
8 alts after pruning (1 fresh and 7 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 79 | 0 | 79 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 6 | 6 |
| Total | 79 | 8 | 87 |
| Status | Error | Program |
|---|---|---|
| ✓ | 21.3b | (-.f64 z (*.f64 z x)) |
| ✓ | 0.0b | (-.f64 z (*.f64 x (-.f64 z y))) |
| ✓ | 16.2b | (+.f64 (*.f64 x y) z) |
| ✓ | 26.5b | (*.f64 (-.f64 y z) x) |
| ✓ | 21.3b | (*.f64 z (-.f64 1 x)) |
| ✓ | 47.1b | (*.f64 z (neg.f64 x)) |
| ✓ | 42.1b | (*.f64 y x) |
| 36.6b | z |
Compiled 59 to 39 computations (33.9% saved)
Compiled 3 to 3 computations (0% saved)
8 alts after pruning (1 fresh and 7 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 0 | 0 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 7 | 7 |
| Total | 0 | 8 | 8 |
| Status | Error | Program |
|---|---|---|
| ✓ | 21.3b | (-.f64 z (*.f64 z x)) |
| ✓ | 0.0b | (-.f64 z (*.f64 x (-.f64 z y))) |
| ✓ | 16.2b | (+.f64 (*.f64 x y) z) |
| ✓ | 26.5b | (*.f64 (-.f64 y z) x) |
| ✓ | 21.3b | (*.f64 z (-.f64 1 x)) |
| ✓ | 47.1b | (*.f64 z (neg.f64 x)) |
| ✓ | 42.1b | (*.f64 y x) |
| 36.6b | z |
Compiled 59 to 39 computations (33.9% saved)
| Inputs |
|---|
z |
(*.f64 y x) |
(*.f64 z (neg.f64 x)) |
(*.f64 z (-.f64 1 x)) |
(*.f64 (-.f64 y z) x) |
(+.f64 (*.f64 x y) z) |
(-.f64 z (*.f64 x z)) |
(-.f64 z (*.f64 z x)) |
(-.f64 z (*.f64 x (-.f64 z y))) |
(+.f64 z (*.f64 x (+.f64 (neg.f64 z) y))) |
(+.f64 (*.f64 x y) (*.f64 (-.f64 1 x) z)) |
| Outputs |
|---|
(-.f64 z (*.f64 x (-.f64 z y))) |
4 calls:
| 8.0ms | y |
| 7.0ms | (+.f64 (*.f64 x y) (*.f64 (-.f64 1 x) z)) |
| 6.0ms | x |
| 6.0ms | z |
| Error | Segments | Branch |
|---|---|---|
| 0.0b | 1 | x |
| 0.0b | 1 | y |
| 0.0b | 1 | z |
| 0.0b | 1 | (+.f64 (*.f64 x y) (*.f64 (-.f64 1 x) z)) |
Compiled 84 to 45 computations (46.4% saved)
| Inputs |
|---|
z |
(*.f64 y x) |
(*.f64 z (neg.f64 x)) |
(*.f64 z (-.f64 1 x)) |
(*.f64 (-.f64 y z) x) |
(+.f64 (*.f64 x y) z) |
(-.f64 z (*.f64 x z)) |
(-.f64 z (*.f64 z x)) |
| Outputs |
|---|
(*.f64 (-.f64 y z) x) |
(+.f64 (*.f64 x y) z) |
(*.f64 (-.f64 y z) x) |
3 calls:
| 152.0ms | z |
| 23.0ms | y |
| 14.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 1.0b | 3 | x |
| 5.5b | 4 | y |
| 6.8b | 4 | z |
Compiled 48 to 26 computations (45.8% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 16.0ms | 0.006561216093076076 | 595030894581.0042 |
| 47.0ms | -70003197291823.05 | -58108281520236.82 |
| 61.0ms | 208× | body | 256 | valid |
| 0.0ms | 2× | body | 256 | infinite |
Compiled 252 to 169 computations (32.9% saved)
| Inputs |
|---|
z |
(*.f64 y x) |
(*.f64 z (neg.f64 x)) |
(*.f64 z (-.f64 1 x)) |
(*.f64 (-.f64 y z) x) |
| Outputs |
|---|
(*.f64 (-.f64 y z) x) |
(*.f64 z (-.f64 1 x)) |
(*.f64 (-.f64 y z) x) |
(*.f64 z (-.f64 1 x)) |
(*.f64 (-.f64 y z) x) |
3 calls:
| 169.0ms | x |
| 20.0ms | y |
| 14.0ms | z |
| Error | Segments | Branch |
|---|---|---|
| 8.2b | 5 | x |
| 13.0b | 5 | y |
| 9.6b | 3 | z |
Compiled 33 to 20 computations (39.4% saved)
| 4× | binary-search |
| Time | Left | Right |
|---|---|---|
| 14.0ms | 2.9103468192425647e-50 | 6.2158481955895854e-43 |
| 51.0ms | -1.9676629467733047e-73 | -1.5807741128679084e-77 |
| 14.0ms | -5.989958043631666e-23 | -2.747828032949428e-28 |
| 15.0ms | -777.8785974147299 | -0.1850330837285619 |
| 89.0ms | 544× | body | 256 | valid |
Compiled 630 to 455 computations (27.8% saved)
| Inputs |
|---|
z |
(*.f64 y x) |
(*.f64 z (neg.f64 x)) |
(*.f64 z (-.f64 1 x)) |
| Outputs |
|---|
(*.f64 z (-.f64 1 x)) |
(*.f64 y x) |
(*.f64 z (-.f64 1 x)) |
3 calls:
| 142.0ms | x |
| 22.0ms | y |
| 16.0ms | z |
| Error | Segments | Branch |
|---|---|---|
| 17.7b | 5 | x |
| 15.8b | 5 | y |
| 13.1b | 3 | z |
Compiled 28 to 18 computations (35.7% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 13.0ms | 1.7836273519619816e-129 | 1.7089311521454272e-125 |
| 52.0ms | -4.90710963493503e-113 | -8.386363581943544e-116 |
| 61.0ms | 256× | body | 256 | valid |
Compiled 274 to 205 computations (25.2% saved)
| Inputs |
|---|
z |
(*.f64 y x) |
(*.f64 z (neg.f64 x)) |
| Outputs |
|---|
(*.f64 z (neg.f64 x)) |
(*.f64 y x) |
z |
(*.f64 y x) |
(*.f64 z (neg.f64 x)) |
3 calls:
| 53.0ms | z |
| 22.0ms | y |
| 18.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 18.3b | 5 | x |
| 25.9b | 7 | y |
| 25.1b | 3 | z |
Compiled 23 to 15 computations (34.8% saved)
| 4× | binary-search |
| Time | Left | Right |
|---|---|---|
| 24.0ms | 1.893001510898545e+176 | 6.764390382138506e+182 |
| 17.0ms | 2.9103468192425647e-50 | 6.2158481955895854e-43 |
| 57.0ms | -3.383956174420251e-53 | -1.5645542190441196e-54 |
| 5.0ms | -70003197291823.05 | -58108281520236.82 |
| 87.0ms | 448× | body | 256 | valid |
| 10.0ms | 70× | body | 256 | infinite |
Compiled 390 to 289 computations (25.9% saved)
Total -37.1b remaining (-149.2%)
Threshold costs -37.1b (-149.2%)
| Inputs |
|---|
z |
(*.f64 y x) |
| Outputs |
|---|
(*.f64 y x) |
z |
(*.f64 y x) |
3 calls:
| 94.0ms | x |
| 15.0ms | y |
| 8.0ms | z |
| Error | Segments | Branch |
|---|---|---|
| 24.9b | 3 | x |
| 28.5b | 5 | y |
| 25.1b | 3 | z |
Compiled 19 to 13 computations (31.6% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 20.0ms | 2.9103468192425647e-50 | 6.2158481955895854e-43 |
| 13.0ms | -3.383956174420251e-53 | -1.5645542190441196e-54 |
| 30.0ms | 256× | body | 256 | valid |
Compiled 210 to 157 computations (25.2% saved)
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 63 | 335 |
| 1× | fuel |
| 1× | saturated |
| Inputs |
|---|
(-.f64 z (*.f64 x (-.f64 z y))) |
(if (<=.f64 x -59000000000000) (*.f64 (-.f64 y z) x) (if (<=.f64 x 1) (+.f64 (*.f64 x y) z) (*.f64 (-.f64 y z) x))) |
(if (<=.f64 x -3422735716801577/9007199254740992) (*.f64 (-.f64 y z) x) (if (<=.f64 x -1742245718635205/10889035741470030830827987437816582766592) (*.f64 z (-.f64 1 x)) (if (<=.f64 x -7129625917170701/4074071952668972172536891376818756322102936787331872501272280898708762599526673412366794752) (*.f64 (-.f64 y z) x) (if (<=.f64 x 2259756624739205/25108406941546723055343157692830665664409421777856138051584) (*.f64 z (-.f64 1 x)) (*.f64 (-.f64 y z) x))))) |
(if (<=.f64 z -1663601816472489/11090678776483259438313656736572334813745748301503266300681918322458485231222502492159897624416558312389564843845614287315896631296) (*.f64 z (-.f64 1 x)) (if (<=.f64 z 8584808513368979/390218568789499028922699653724145788218574767833121393857394619953171467352470702515038262882936496394978366390175827861930996959911035663286272) (*.f64 y x) (*.f64 z (-.f64 1 x)))) |
(if (<=.f64 x -65000000000000) (*.f64 z (neg.f64 x)) (if (<=.f64 x -6039028053441743/215679573337205118357336120696157045389097155380324579848828881993728) (*.f64 y x) (if (<=.f64 x 3640719006524275/6277101735386680763835789423207666416102355444464034512896) z (if (<=.f64 x 519999999999999981378900888362664429497144829633330719278528529972989557779486540277946432356992318777198682833993730317932672425456606439165765727908945750247624322301609115648) (*.f64 y x) (*.f64 z (neg.f64 x)))))) |
(if (<=.f64 x -4529271040081307/215679573337205118357336120696157045389097155380324579848828881993728) (*.f64 y x) (if (<=.f64 x 100272933961761/51422017416287688817342786954917203280710495801049370729644032) z (*.f64 y x))) |
z |
| Outputs |
|---|
(-.f64 z (*.f64 x (-.f64 z y))) |
(if (<=.f64 x -59000000000000) (*.f64 (-.f64 y z) x) (if (<=.f64 x 1) (+.f64 (*.f64 x y) z) (*.f64 (-.f64 y z) x))) |
(if (<=.f64 x -3422735716801577/9007199254740992) (*.f64 (-.f64 y z) x) (if (<=.f64 x -1742245718635205/10889035741470030830827987437816582766592) (*.f64 z (-.f64 1 x)) (if (<=.f64 x -7129625917170701/4074071952668972172536891376818756322102936787331872501272280898708762599526673412366794752) (*.f64 (-.f64 y z) x) (if (<=.f64 x 2259756624739205/25108406941546723055343157692830665664409421777856138051584) (*.f64 z (-.f64 1 x)) (*.f64 (-.f64 y z) x))))) |
(if (<=.f64 z -1663601816472489/11090678776483259438313656736572334813745748301503266300681918322458485231222502492159897624416558312389564843845614287315896631296) (*.f64 z (-.f64 1 x)) (if (<=.f64 z 8584808513368979/390218568789499028922699653724145788218574767833121393857394619953171467352470702515038262882936496394978366390175827861930996959911035663286272) (*.f64 y x) (*.f64 z (-.f64 1 x)))) |
(if (<=.f64 x -65000000000000) (*.f64 z (neg.f64 x)) (if (<=.f64 x -6039028053441743/215679573337205118357336120696157045389097155380324579848828881993728) (*.f64 y x) (if (<=.f64 x 3640719006524275/6277101735386680763835789423207666416102355444464034512896) z (if (<=.f64 x 519999999999999981378900888362664429497144829633330719278528529972989557779486540277946432356992318777198682833993730317932672425456606439165765727908945750247624322301609115648) (*.f64 y x) (*.f64 z (neg.f64 x)))))) |
(if (<=.f64 x -4529271040081307/215679573337205118357336120696157045389097155380324579848828881993728) (*.f64 y x) (if (<=.f64 x 100272933961761/51422017416287688817342786954917203280710495801049370729644032) z (*.f64 y x))) |
z |
Compiled 160 to 89 computations (44.4% saved)
| 1× | egg-herbie |
| 1000× | rational_best-simplify-49 |
| 1000× | rational_best-simplify-47 |
| 990× | rational_best-simplify-57 |
| 758× | rational_best-simplify-65 |
| 734× | rational_best-simplify-58 |
Useful iterations: 5 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 25 |
| 1 | 13 | 25 |
| 2 | 20 | 25 |
| 3 | 29 | 25 |
| 4 | 52 | 25 |
| 5 | 132 | 23 |
| 6 | 388 | 23 |
| 7 | 1799 | 23 |
| 1× | node limit |
Compiled 166 to 65 computations (60.8% saved)
Compiled 142 to 67 computations (52.8% saved)
Loading profile data...